134
tes pas · PPM your steps · PPM
90
musique · BPM music · BPM
Musique hors rythme
Music off the beat
Ça casse le rythme. Tes jambes fatiguent pendant l’effort.
It breaks your rhythm. Your legs pay for it.
BeatOnStep
Tu cours. L’app sent le rythme de tes pas et propose un morceau au même tempo. Pas de compte BeatOnStep, pas de pub. Tu pars avec la musique que tu as déjà : mix démo, fichiers, YouTube, Apple Music, Spotify, Amazon Music ou Deezer.
You run. The app feels your stride and picks a track at the same tempo. No BeatOnStep account, no ads. Use the music you already have: demo mix, files, YouTube, Apple Music, Spotify, Amazon Music or Deezer.
Disponible sur Google Play et l’App Store
Available on Google Play and the App Store
Le problème
The problem
134
tes pas · PPM your steps · PPM
90
musique · BPM music · BPM
Ça casse le rythme. Tes jambes fatiguent pendant l’effort.
It breaks your rhythm. Your legs pay for it.
134
tes pas · PPM your steps · PPM
134
musique · BPM music · BPM
Un titre au rythme de tes pas.
A track at the rhythm of your steps.
PPM = pas / minute · BPM = tempo du titre
PPM = steps / minute · BPM = track tempo
Rythme
Rhythm
Adaptatif
Adaptive
Par défaut, attend 15 s que ton nouveau rythme se confirme, puis bascule sur le bon tempo.
By default, waits 15 seconds for your new rhythm to settle, then switches to the right tempo.
Marche Walk Course rapide Fast run Sprint Sprint
Musique douce Soft music Musique rapide Fast music Musique très rapide Very fast music
Fixe
Fixed
134
tes pas · PPM your steps · PPM
134
musique · BPM music · BPM
PPM = pas / minute · BPM = tempo du titre
PPM = steps / minute · BPM = track tempo
Glisse la pastille jaune : la verte suit. Même rythme pour tes pas et la musique.
Drag the yellow pill: the green one follows. Same rhythm for your steps and the music.
Séance programmée
Planned workout
Échauffement, progression, intensité et retour au calme : BeatOnStep prépare une playlist selon le BPM cible de chaque étape, puis tu ajustes les titres à ton goût.
Warm-up, build-up, intensity and cool-down: BeatOnStep builds a playlist for each phase’s target BPM, and you can fine-tune the tracks.
Découvrir les séances programmées Explore planned workoutsTa musique
Your music
Choisis simplement les sources que tu veux utiliser pendant tes courses.
Simply choose the music sources you want to use on your runs.
| SourceSource | Pour commencerTo get started |
|---|---|
| Spotify | Connecte Spotify et choisis tes playlistsConnect Spotify and choose your playlists |
| Apple Music | Connecte Apple Music et importe tes playlists · abonnement requisConnect Apple Music and import your playlists · subscription required |
| YouTube Music | Connecte Google et importe tes playlists · Premium recommandé en arrière-planConnect Google and import your playlists · Premium recommended for background playback |
| Amazon Music | Connecte Amazon Music dans BeatOnStepConnect Amazon Music in BeatOnStep |
| Deezer | Connecte Deezer et choisis tes playlistsConnect Deezer and choose your playlists |
| Fichiers téléphonePhone files | Importe tes fichiersImport your files |
| Mix démo | Déjà prêt dans l’appReady in the app |
| QQ Music · Chine uniquementQQ Music · China only | Disponible uniquement en Chine continentale · bêtaAvailable only in mainland China · beta |
Clique une ligne pour le détail et les captures.
Click a row for details and screenshots.
Touche une source pour le détail.
Tap a source for details.
Déjà dans l’app, pour courir tout de suite.
Already in the app, so you can run right away.
Importe tes fichiers depuis Bibliothèque.
Import your files from Library.
Connecte ton compte Google dans Bibliothèque et importe tes playlists. YouTube Premium est recommandé pour la lecture en arrière-plan.
Connect your Google account in Library and import your playlists. YouTube Premium is recommended for background playback.
Connecte Apple Music dans Bibliothèque et importe tes playlists. Abonnement Apple Music requis.
Connect Apple Music in Library and import your playlists. Apple Music subscription required.
Active Amazon Music dans Réglages, puis connecte Amazon Music dans BeatOnStep.
Enable Amazon Music in Settings, then connect Amazon Music in BeatOnStep.
Connecte Spotify dans Bibliothèque, puis choisis les playlists que tu veux utiliser en course.
Connect Spotify in Library, then choose the playlists you want to use on your run.
Connecte Deezer dans Bibliothèque, puis choisis les playlists que tu veux utiliser en course.
Connect Deezer in Library, then choose the playlists you want to use on your run.
Disponible uniquement en Chine continentale. QQ Music est proposée en bêta dans BeatOnStep uniquement dans cette région. Elle ouvre l’application QQ Music ; l’import de playlists n’est pas encore disponible.
Available only in mainland China. QQ Music is offered as a beta in BeatOnStep exclusively in this region. It opens the QQ Music app; playlist import is not yet available.
Réglages
Settings
Détection, sources cochées, changement de titre.
Detection, ticked sources, when the track changes.
En course
On a run
Dans Réglages : quelques secondes (défaut 15 s) ou fin du morceau — seulement s’il existe un meilleur titre dans tes sources cochées.
In Settings: a few seconds (default 15 s) or end of track — only if a better match exists in your ticked sources.
15s
Par défaut 15 s. Tu accélères ? L’app attend que ça tienne, puis passe au titre le plus proche.
Default 15 s. You speed up? The app waits until it holds, then picks the closest track.
Fin End
Tu finis le morceau. Le suivant est déjà calé sur ton nouveau rythme.
You finish the track. The next one already matches your new rhythm.
Les questions d’un premier run.
First-run questions.
Cherche BeatOnStep sur Google Play ou l’App Store. Tu peux aussi utiliser les boutons de téléchargement de ce site.
Search for BeatOnStep on Google Play or the App Store. You can also use the download buttons on this site.
PPM = tes pas par minute. BPM = le tempo du titre. BeatOnStep choisit le morceau dont le BPM est le plus proche de ton PPM, parmi tes sources cochées.
PPM = your steps per minute. BPM = the track’s tempo. BeatOnStep picks the song whose BPM is closest to your PPM, from your ticked sources.
Non. Le mix démo suffit. Tes fichiers téléphone aussi. Le reste est optionnel.
No. The demo mix is enough. So are your phone files. Everything else is optional.
Le mix est déjà là. Le reste, dans Bibliothèque.
The mix is already there. Everything else, in Library.
YouTube, Apple Music, Spotify et Deezer — active la source, connecte ton compte dans Bibliothèque et choisis tes playlists.
YouTube, Apple Music, Spotify and Deezer — enable the source, connect your account in Library, and choose your playlists.
YouTube Premium est recommandé pour la lecture en arrière-plan.
YouTube Premium is recommended for background playback.
Adaptatif : la musique suit tes pas. Fixe : tu choisis le BPM cible. Séance programmée : le BPM cible évolue par phases, avec une playlist adaptée à chacune.
Adaptive: music follows your steps. Fixed: you set the target BPM. Planned workout: each phase has its own target BPM and tailored playlist.
Dans Réglages : quelques secondes ou fin du morceau. Seulement s’il existe un meilleur titre dans tes sources cochées.
In Settings: a few seconds or end of track. Only if a better match exists in your ticked sources.
Téléphone en poche. La détection avec le téléphone en mains est un peu moins précise.
Phone in your pocket. Detection with the phone in your hand is a bit less accurate.
− : si l’app compte trop de pas → la détection devient moins sensible.
+ : elle en rate → la détection devient plus sensible.
Reset revient à la sensibilité par défaut.
−: if the app counts too many steps → detection becomes less sensitive.
+: it misses some → detection becomes more sensitive.
Reset goes back to default sensitivity.
Ton rythme de pas reste sur ton téléphone. Pas de compte BeatOnStep. Détail : politique de confidentialité.
Your step rhythm stays on your phone. No BeatOnStep account. Details: privacy policy.
Les deux. Sur Android, Apple Music seulement si l’app est installée.
Both. On Android, Apple Music only if the app is installed.
Vue d’ensemble de l’architecture : ChatGPT, GitHub, la VM BeatOnStep, Expo, les appels API et les mises à jour. Appuie sur le schéma pour l’ouvrir en grand.
Architecture overview: ChatGPT, GitHub, the BeatOnStep VM, Expo, API calls and updates. Tap the diagram to open it full size.
Agrandir
Open full size
Accéléromètre du téléphone, ~50 Hz. On prend la magnitude \(\sqrt{x^{2}+y^{2}+z^{2}}\). Environ 1,25 s de calibration, puis un passe-haut (500 ms) et un lissage (100 ms). Les pas sont des pics : fenêtre 480 ms en marche, 360 ms en course. Le PPM est la moyenne tronquée des intervalles entre pas (interne 30–300). Sans pas pendant 3,5 s, le PPM retombe à 0.
Phone accelerometer, ~50 Hz. Magnitude \(\sqrt{x^{2}+y^{2}+z^{2}}\). About 1.25 s of calibration, then a 500 ms high-pass and 100 ms smoothing. Steps are peaks: 480 ms window walking, 360 ms running. PPM is a trimmed mean of inter-step intervals (internal 30–300). No step for 3.5 s → PPM drops to 0.
Marche → course est automatique (score toutes les 750 ms, après 5 s d’échauffement). En Adaptatif, la cible est encore lissée : moyenne des 10 derniers relevés, mise à jour si ça bouge de plus de 5 PPM. Il faut 8 pas avant le premier titre.
Walk → run is automatic (score every 750 ms, after a 5 s warmup). In Adaptive, the target is smoothed again: average of the last 10 readings, updated if it moves by more than 5 PPM. 8 steps before the first track.
Adaptatif : le capteur tourne, le matching est continu (sauf si le PPM n’a presque pas bougé). Fixe : capteur arrêté. Tu règles le PPM sur l’accueil (40–240). Le matching ne relance que quand tu changes la cible.
Adaptive: the sensor runs, matching is continuous (unless PPM barely moved). Fixed: sensor off. You set PPM on Home (40–240). Matching only reruns when you change the target.
Sans tempo, un titre importé n’entre pas dans le matching. Mix démo : déjà tagué, lecture dans BeatOnStep. Fichiers téléphone : analyse (~90 s / piste) ou saisie. YouTube, Apple Music, Spotify : saisis ou « Détecter BPM » ; lecture dans leur app. Deezer : le tempo est parfois fourni, souvent pas — même geste.
Without tempo, an imported track isn’t used for matching. Demo mix: already tagged, plays in BeatOnStep. Phone files: analysis (~90 s / track) or manual entry. YouTube, Apple Music, Spotify: enter it or “Detect BPM”; plays in their app. Deezer: tempo is sometimes provided, often not — same gesture.
Parmi les sources cochées, seulement les titres dont le tempo est connu. Pour le choix, l’app retient le tempo le plus proche de ton rythme — pas de seuil à franchir. On écarte les 20 titres les plus récents. Une fois lancé, un petit écart de rythme ne suffit pas à changer (hystérésis), pour éviter le yo-yo. Si tu forces un morceau, le matching reprend au suivant.
From ticked sources, only tracks with a known tempo. For the pick, the app takes whichever tempo is closest to your rhythm — no cutoff threshold. It skips the 20 most recent tracks. Once playing, a small rhythm wobble isn’t enough to switch (hysteresis), to avoid yo-yoing. If you force a song, matching resumes on the next one.
Pas de changement tant que le titre en cours reste le plus proche. Dès qu’un autre convient mieux : Attente = on attend que ton rythme se stabilise ; le candidat est figé (anti yo-yo). Si lecture dans BeatOnStep, crossfade 1 s. Fin = on attend la fin du morceau ; bannière dans les 5 dernières secondes s’il reste un meilleur choix.
No switch while the current track is still the closest match. Once another fits better: Wait = wait until your rhythm stabilizes; the candidate is frozen (anti yo-yo). In-app playback gets a 1 s crossfade. End = wait until the track finishes; banner in the last 5 seconds if a better pick remains.
Uniquement en Adaptatif, pendant la détection. Les boutons encadrent le compteur de pas. Chaque tap déplace le seuil de l’accéléromètre (échelle interne −999…+999, 0 = défaut). Badge Sensibilité + Reset. Appui long = plus vite. Persistent.
Adaptive only, while detecting. The buttons sit around the step count. Each tap moves the accelerometer threshold (internal scale −999…+999, 0 = default). Sensitivity badge + Reset. Long-press = faster. Persistent.
« Sous-estimée / Surestimée » : anciens libellés quand l’allure (min/km) était affichée — un facteur ±2 % (bornes 1/3–3) corrigeait l’allure, pas le compteur de pas. Plus dans l’UI.
“Too fast / too slow”: old labels from when pace (min/km) was shown — a ±2% factor (clamped 1/3–3) corrected pace, not the step count. No longer in the UI.
L’app n’affiche plus l’allure (min/km) : la conversion PPM + taille est trop approximative. La formule reste documentée ici pour transparence ; une calibration (ex. 100 m + GPS) pourra revenir plus tard.
The app no longer shows pace (min/km): converting PPM + height is too approximate. The formula stays documented here for transparency; a calibration (e.g. 100 m + GPS) may come back later.
Un bug, une idée d’évolution, un désaccord sur la formule ?
A bug, a feature idea, a disagreement on the formula?
Forum