reTONE
TéléchargerGratuit · Android 4.0+

L’application reTONE est pour l’instant disponible en anglais et en japonais. D’autres langues sont prévues.

09.2026 • DÉBUT

Les débuts

 Sommaire

C’est ici que reTONE a commencé : ce premier billet raconte donc un peu ses débuts, puis les premières choses qui ont mal tourné.

Les débuts

Depuis un moment, je bricolais l’AR-M20, un ancien baladeur numérique. J’adore son design, mais l’Android qu’il embarque est si ancien que je n’ai jamais vraiment su quoi en faire. Rien de précis en tête, juste le sentiment que ce genre d’objet méritait de resservir.

Puis je suis entré dans un magasin d’électronique d’occasion, j’ai vu d’anciens smartphones vendus pour presque rien, et j’en ai acheté une poignée sur un coup de tête, environ 1 000 yens (à peu près sept dollars) chacun : un Sharp AQUOS CRYSTAL 305SH, un Kyocera URBANO, un Nexus 6, un iPhone 5s et un iPod nano. reTONE ne peut rien pour l’iPhone ni l’iPod, mais c’est une autre histoire. En les essayant tout de suite, j’ai constaté que ceux sous Android n’étaient guère plus que des presse-papiers. La plupart des applications ne prennent plus en charge un Android aussi ancien : il n’y avait rien d’autre à faire que les regarder. Mais je les avais déjà payés. Alors j’ai commencé à créer quelque chose pour eux. Honnêtement, c’est toute l’histoire.

Photographiés dans la voiture juste après l’achat, et envoyés aussitôt à l’un des testeurs bénévoles : "Je les ai achetés."
Photographiés dans la voiture juste après l’achat, et envoyés aussitôt à l’un des testeurs bénévoles : "Je les ai achetés."
Essai du 305SH le jour même. Le Play Store : "Erreur du serveur."
Essai du 305SH le jour même. Le Play Store : "Erreur du serveur."

Je construis reTONE avec l’IA depuis le premier jour. J’ai commencé avec ChatGPT : je décrivais ce que je voulais, et une version sommaire a pris forme étonnamment vite : un écran d’accueil, un lecteur de musique, un écran de verrouillage. L’architecture d’ensemble a été construite pendant cette phase. Mais lorsqu’il s’est agi des détails, du design, des demandes du genre "demain, je veux que cette partie fonctionne comme ceci", une autre IA, Claude, s’en sortait tout simplement mieux, alors je suis passé à elle. Depuis, Claude fait l’essentiel du travail, ChatGPT donnant encore un coup de main de temps en temps.

Pour être clair sur qui fait quoi : l’IA écrit l’essentiel du code. Le reste, c’est moi. Décider de ce que reTONE doit être et de la façon dont il doit être construit, et des points sur lesquels être intransigeant côté son : aucun EQ ni effet ajouté par-dessus, afficher la fréquence de sortie que le téléphone signale réellement, ne jamais prétendre au bit-perfect quand une application ne peut pas le vérifier, et garder l’ensemble assez léger pour un téléphone de 2012. Ensuite, il y a les essais et les erreurs, qui représentent l’essentiel du travail. Chaque build est installé sur de vrais anciens téléphones, j’écoute, je remarque quand quelque chose ne va pas, et nous faisons des allers-retours jusqu’à ce que ce soit juste. Ces téléphones sont sur mon bureau, pas sur celui de l’IA.

Le lecteur qui existait en double (0.24.1)

Sur un téléphone sous Android 4.4, ouvrir reTONE depuis le bouton HOME et l’ouvrir depuis son icône donnait deux copies distinctes de reTONE. L’application était configurée pour que cela n’arrive pas et, sur ce téléphone, c’est arrivé quand même. Vous pouviez donc vous retrouver à piloter une copie alors que c’était l’autre qui jouait réellement.

reTONE garde désormais la trace de la seule copie active, et celle ouverte depuis HOME prend le relais de la lecture. Au passage, appuyer sur HOME vous ramène maintenant à l’écran de lecture, où que vous soyez.

Le volume par pas de 1 dB (0.31–0.32)

Android accorde 15 pas de volume à la musique, et chaque pas est un grand saut. Quand on écoute à faible volume, il n’y a souvent aucun pas tout à fait juste.

reTONE combine les deux réglages de volume auxquels il peut toucher sans root. Les 15 pas d’Android assurent le réglage grossier, et le volume propre à l’application comble l’écart entre eux, ce qui donne environ 1 dB par appui. Pour monter le volume, reTONE baisse d’abord son propre volume puis augmente celui d’Android, si bien que vous n’avez jamais de bref pic sonore. Zéro signifie toujours le silence.

Il y a un hic. Certains téléphones ignorent complètement le volume propre à l’application, et sur ceux-là, on revient à 15 pas. Par ailleurs, j’ai un temps essayé d’appliquer ce réglage fin même lorsque d’autres écrans étaient au premier plan. Android déplaçait d’abord son propre pas et affichait son propre curseur : le volume baissait donc de façon audible avant de se corriger. J’ai retiré cela dès le lendemain.

D’où vient la sortie directe (0.46.0)

Vers la fin du mois, sur l’Android One X5, j’ai vérifié quels morceaux la lecture standard d’Android convertit en sortie. Seuls les morceaux 16 bits à 48 kHz ou moins étaient convertis en 48 kHz, c’est-à-dire exactement l’audio CD. Les fichiers de plus haute résolution sortaient déjà intacts.

Nous avons donc essayé de décoder les morceaux 16 bits et de les rendre à Android en 24 bits, sans modifier le son lui-même. Ils sont sortis en 44.1 kHz, sans conversion. Android 10 a ajouté un moyen pour les applications de demander si un format donné peut sortir sans conversion, et ses réponses ont correspondu à chaque fois à ce que j’avais mesuré. reTONE pouvait donc décider d’après ce que le téléphone signale, et non d’après le modèle de téléphone.

C’est devenu la fonction de sortie directe de reTONE, pour les téléphones sous Android 10 ou version ultérieure. L’indication DIRECT qu’elle affiche repose sur ce que signale Android, car une application ne peut pas voir le chemin réellement emprunté par le son.

Autres modifications

  • Boutons du casque : un appui pour lire ou mettre en pause, deux pour passer au morceau suivant, trois pour revenir en arrière.
  • La barre de progression peut être glissée dès que vous la touchez, et ne se déplace dans le morceau qu’une fois que vous la relâchez.
  • La lecture se met toujours en pause lorsqu’un casque, un appareil Bluetooth ou un DAC est déconnecté.
  • Répétition et lecture aléatoire. (Jusque-là, le bouton de lecture aléatoire ne faisait rien.)
  • Lecture sans blanc (gapless).
  • Le bas de l’écran de lecture affiche la sortie et sa fréquence d’échantillonnage.
  • Prise en charge d’Android 4.1.
  • Tri et index A–Z dans la bibliothèque.
LE TÉLÉPHONE DU MOIS

AQUOS CRYSTAL 305SH

L’un des téléphones de cet achat impulsif, et secrètement celui dont je rêvais depuis des années. Quand l’AQUOS CRYSTAL est sorti en 2014, il m’a sidéré. L’écran était superbe, et il s’étendait presque jusqu’aux bords sur trois côtés, des années avant que les téléphones sans bordure ne deviennent la norme. J’en voulais un à tout prix, mais à l’époque il était un peu hors de ma portée, et je ne l’ai jamais eu.

Puis, des années plus tard, il était là, vendu pour presque rien. Alors je l’ai acheté. Depuis, c’est mon principal téléphone de test.

Il intègre les effets sonores de Harman, et le bouton Sound de reTONE les ouvre directement. Il a aussi ses bizarreries. Il fait tourner tout l’audio à 48 kHz, et il ne peut pas servir d’hôte aux périphériques USB : pas de DAC USB, donc. Au début, il ignorait le volume propre à l’application, si bien que les pas de volume fins ne servaient à rien. Dès que reTONE s’est mis à lire lui-même les FLAC et WAV, ils ont commencé à fonctionner. Les MP3 et formats similaires peuvent encore varier par pas irréguliers. Mais comme petit lecteur de musique élégant doté d’une prise casque, c’est un appareil à garder.

Le développement de reTONE est aussi soutenu par celles et ceux qui l’utilisent. Soutenir le développement ›