Présentation du FM‑1
Le M‑Vave FM‑1 est un synthétiseur FM portable commercialisé à 59,72 $ après frais. Il comporte 27 touches piano et un écran TFT de 1,54 pouce, ce qui le place dans la catégorie des «pocket studios». Dès sa sortie, le dispositif exécute le firmware d’origine, identifié comme version 15, et propose les fonctions de base annoncées par le fabricant.
Ouverture du firmware et SDK
Le 17 octobre, M‑Vave a publié FM1 Open, un paquet logiciel destiné à encourager les utilisateurs à créer des firmwares personnalisés. Le paquet inclut un SDK sous licence GPLv3, un environnement de travail accessible via navigateur et un émulateur permettant de tester le code avant le flash sur le matériel. Cette démarche contraste avec la pratique habituelle où le fabricant publie un correctif après le reverse‑engineering communautaire.
Architecture logicielle et limites du code source
Le projet open se limite à la couche applicative : le moteur de synthèse FM, qui génère le son, reste un binaire propriétaire non disponible en source. Ainsi, les développeurs peuvent modifier l’interface, les menus et les fonctions de contrôle, mais ils ne peuvent pas altérer l’algorithme de génération d’ondes FM. Cette séparation crée une frontière technique ; toute amélioration du timbre ou de la polyphonie nécessite d’accéder au code fermé, ce qui n’est pas possible sans autorisation de M‑Vave.
Impacts pour les développeurs et perspectives
Le timing du projet montre une adoption rapide : dès juillet, des membres de r/synthdiy ont commencé le reverse‑engineering du firmware d’origine, et en septembre plusieurs firmwares alternatifs étaient déjà distribués. Le fait que le SDK soit fourni sous GPLv3 garantit que les dérivés restent libres, mais la présence du binaire fermé introduit un risque de compatibilité : une mise à jour du moteur propriétaire pourrait rendre les extensions incompatibles. De plus, l’émulateur en ligne réduit le risque de «brickage» du dispositif, car les tests se font sans écrire sur la mémoire flash réelle. Cependant, l’accès au matériel reste limité par la capacité de la mémoire interne et la puissance du microcontrôleur, ce qui contraint la complexité des projets (par exemple, l’ajout de jeux comme Doom exploite uniquement les capacités graphiques de l’écran, pas le processeur audio).