Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Footywhoops – Un synthé codé en Go qui génère des patterns musicaux à la volée

Par : Korben
29 janvier 2026 à 10:21

Faire du bruit avec du code, c'est un peu le graal pour tout dev qui aime la musique. On connaît tous les gros trucs en C++ ou les frameworks spécialisés, mais voir débarquer un synthé complet codé en Go, c'est toujours une petite surprise qui se déguste sans modération.

Son nom : Footywhoops .

C'est un couteau suisse sonore que vous pilotez directement depuis votre terminal et qui permet de générer des séquences de batterie, des lignes de basse (un mode "Acid Bass" bien gras avec sub-oscillateur et enveloppes ADSR est de la partie), des arpèges et des mélodies. Le tout peut être calé sur différentes gammes musicales (majeure, mineure, dorienne, blues, etc.) pour éviter de finir avec une cacophonie insupportable. On est un peu dans l'esprit du live coding musical comme ce que propose Strudel ou Dittytoy , mais version ligne de commande.

Sous le capot, c'est du sérieux niveau DSP (Digital Signal Processing) puisqu'on y trouve une réverbération de type Schroeder pour donner de l'espace, plusieurs algorithmes de distorsion (Tanh, Atan, hard clipping) pour salir le signal, et un filtre passe-bas pour sculpter la tonalité. Et pour ceux qui se demanderaient quel est le meilleur langage pour la programmation audio, le C++ reste le roi pour la performance pure, mais Go s'en sort étonnamment bien ici grâce à sa gestion efficace de la concurrence (coucou les goroutines) et l'utilisation de PortAudio pour l'I/O audio. On a d'ailleurs vu d'autres outils sympas en Go récemment, comme SSHM qui utilise le framework Bubble Tea pour son interface terminal.

Le truc est super léger et s'installe en deux minutes si vous avez l'environnement Go prêt sur votre machine. Vous pouvez même enregistrer vos expérimentations directement en WAV (dry ou wet) sans avoir besoin de passer par une DAW (Digital Audio Workstation). D'ailleurs, si vous cherchez des ressources pour faire de la musique sous pingouin, n'hésitez pas à consulter ce catalogue audio pour Linux .

Et si vous avez envie de tester ce petit monstre, voici comment vous lancer.

Pour commencer, vous aurez besoin de Go 1.19 ou plus et des bibliothèques de développement de PortAudio sur votre système.

1. Installation des dépendances

Sur macOS :

brew install portaudio

Sur Ubuntu/Debian :

sudo apt-get install portaudio19-dev

2. Compilation du projet

Récupérez le code et compilez l'exécutable :

git clone https://github.com/system32-ai/footywhoops
cd footywhoops
go build

3. Exemples d'utilisation

Pour lancer une génération automatique de mélodie et de batterie (le mode "standalone") :

./footywhoops -mode synth

Si vous voulez utiliser Footywhoops comme un processeur d'effets (par exemple pour traiter le son de votre micro ou d'une guitare branchée sur votre interface) :

./footywhoops -mode fx -dist 0.8 -reverb 0.5

Vous pouvez évidemment jouer avec plein de paramètres en CLI pour ajuster le son (fréquence du filtre, type de distorsion, taille de la réverb, etc.). Pour voir toutes les options disponibles, un petit ./footywhoops -help et voilà, vous avez la liste complète.

Je pense que j'ai fait le tour... si vous aimez le mélange entre code et synthèse sonore, Footywhoops est un super terrain de jeu. C'est brut, c'est sale, et c'est expérimental mais ça permet de s'amuser un peu !

Convertissez votre vieille manette filaire en Bluetooth avec un ESP32

Par : Korben
21 janvier 2026 à 14:26

Vous avez une vieille manette USB qui traîne dans un tiroir parce qu'elle est filaire ? Une de ces reliques naphtalinée de l'époque dans laquelle on se prenait encore les pieds quand le câbles trainait au milieu du salon...? Hé bien bonne nouvelle pour vous, et pour vos tiroirs qui vont enfin se vider un peu !

Avec une carte Seeed Studio XIAO ESP32S3 (la star du projet), un peu de patience et une dizaine d'euros, vous pouvez transformer pas mal de manettes USB HID filaires en une version Bluetooth Low Energy (BLE) tout à fait fréquentable. Le projet s'appelle bluetooth-gamepad et c'est signé Stavros Korokithakis (que je salue au passage).

Le projet bluetooth-gamepad sur GitHub ( Source )

Le XIAO ESP32S3 utilisé dans ce projet est un module tellement minuscule qu'on dirait un timbre-poste (ce qui est vraiment trop trop pratique pour le planquer n'importe où). Ce petit module magique fait office de pont USB Host vers Bluetooth.

En gros, vous branchez votre manette USB d'un côté via un adaptateur OTG, et de l'autre, votre smartphone, tablette ou PC la voit comme une manette sans fil standard.

Attention toutefois, il faudra alimenter le module séparément (via une batterie ou une source 5V externe) pour que l'USB Host fonctionne et fournisse du jus à la manette.

Et de son côté, le firmware que vous pouvez compiler avec PlatformIO, fera tout le boulot de traduction. Il lira les rapports HID bruts de votre manette USB et les convertira en périph BLE. C'est d'ailleurs généralement reconnu sans driver additionnel, même si la compatibilité totale dépendra forcément de votre OS et du jeu (le monde du HID BLE et de l'XInput étant parfois un peu capricieux).

Le truc cool, c'est que Stavros a aussi prévu une normalisation du mapping parce que bon, entre les manettes génériques chinoises et les vieux modèles de marque, le bouton "1" n'est jamais au même endroit. Le firmware propose donc une base identique pour remettre tout ça dans l'ordre. Et si votre manette a un mapping vraiment chelou, vous pouvez même modifier le code directement dans le fichier hid_parser.cpp pour affiner le truc avant de le compiler.

Après rassurez-vous, côté installation c'est du classique si vous avez déjà touché à un microcontrôleur. On branche le XIAO au PC, et on lance la petite commande bash suivante :

pio run -e seeed_xiao_esp32s3 -t upload

Et hop c'est flashé !

Une petite mise en garde technique quand même les amis. Sachez que si votre manette consomme énormément de courant (genre un modèle avec plein de machins qui vibrent et clignotent), le XIAO risque de faire la gueule et de rebooter dans la panique. Dans ce cas, il faudra passer par un petit hub USB alimenté pour que tout le monde soit content.

Et si après toutes ces aventures, vous cherchez encore d'autres projets pour recycler votre matos, je vous ai déjà parlé du recyclage d'oreillette bluetooth qui était pas mal dans le genre ou encore de ce petit tuto afin de connecter n'importe quelle manette sur un Switch .

Et voilà comment avec une quinzaine d'euros (en comptant la carte et l'adaptateur OTG), vous sauverez peut-être votre manette préférée de l'oubli !

Source

❌
❌