Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierGénéralistes

Un disque ressuscite le CD+G, ce format graphique oublié des CD audio

26 juin 2026 à 08:28

Sur un disque audio classique, il restait depuis toujours quelques canaux de données inutilisés, glissés juste à côté des informations qui affichent le numéro de piste ou le temps écoulé, et c'est précisément dans ces recoins que Philips et Sony avaient logé en 1985 le CD+G, une extension capable d'afficher des images en 288 sur 192 pixels avec une maigre palette de 16 couleurs.

Vous l'avez forcément croisé sans le savoir, puisque ce format a surtout servi à faire défiler les paroles synchronisées sur les machines de karaoké pendant des décennies, avant de tomber dans l'oubli, à mesure que le CD physique déclinait.

Pour situer l'objet, le tout premier disque commercial à exploiter le CD+G remonte à 1985, avec l'album Eat or Be Eaten de la troupe américaine Firesign Theatre, et depuis, la feature n'a jamais vraiment dépassé le stade du gadget réservé aux bornes de karaoké et quelques rares appareils.

Sauf que voilà, deux artistes, Aizysse Baga et Adelaide, ont décidé de le déterrer pour de bon en pressant un mini-CD baptisé Divacore qui embarque de vraies illustrations à côté de la musique.

Et elles ne se sont pas contentées du strict minimum. Pour caser des visuels à peu près corrects dans seulement 16 couleurs, elles ont misé sur le tramage, cette vieille astuce qui mélange des points de teintes différentes pour donner l'illusion de couleurs qui n'existent pas vraiment dans la palette proposée.

Il faut dire que la marge de manœuvre était franchement limitée, avec à peine 28,8 kilobits par seconde réservés aux graphismes, de quoi peindre l'écran par petites tuiles de 6 sur 12 pixels et pas grand-chose d'autre.

Le plus intéressant dans l'histoire, c'est qu'elles ont poussé le délire jusqu'au CD+EG, une variante étendue qui grimpe à 256 couleurs tout en restant compatible avec les anciens lecteurs, un format tellement confidentiel à l'époque qu'il n'a quasiment jamais été gravé sur un disque commercial et que presque aucun appareil ne savait l'afficher.

Le tout a été fabriqué avec un encodeur maison écrit en Python, de quoi générer les deux versions des images et les glisser proprement dans les fameux sous-codes du disque.

Du coup, si vous lisez Divacore sur une Sega Saturn par exemple, ou sur les très obscurs lecteurs Victor VS-G2 et VS-G3, vous voyez les illustrations en 256 couleurs dans toute leur splendeur. Sur une simple machine de karaoké ou une Amiga CD32, vous récupérez la version en 16 couleurs, et c'est déjà pas mal

Bref, ressusciter un format que même son époque avait snobé, juste pour le plaisir de le voir tourner sur une Saturn. Inutile, et franchement cool non ?

Source : Hackaday

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

Par : Korben
29 janvier 2026 à 09: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 !

LibrePods - Le hack qui libère vos AirPods de la prison Apple

Par : Korben
18 décembre 2025 à 05:23

Vous avez des AirPods Pro que vous avez payés 300 balles et quand vous les branchez sur votre téléphone Android ou votre PC Linux, la moitié des fonctionnalités disparaissent. C'est pas parce que le matériel ne peut pas les faire mais juste parce qu'Apple a décidé que vous n'aviez pas le droit de les utiliser si vous n'êtes pas dans leur écosystème. Snif !

Et là, LibrePods débarque et règle ce problème. Ils s'agit d'un projet open source qui déverrouille toutes les fonctionnalités exclusives des AirPods sur les appareils non-Apple, et c'est compatible avec les AirPods Pro 2, AirPods Pro 3 (sauf le monitoring cardiaque), les AirPods 4, et même les AirPods Max en mode complet. Les autres modèles AirPods ont également un support basique (batterie et détection d'oreilles).

Mais alors qu'est-ce que vous récupérez avec LibrePods ?

Hé bien tout ce qu'Apple vous a vendu mais que vous ne pouviez pas utiliser ailleurs que sous iOS. Par exemple, le contrôle du bruit actif et la transparence adaptative, la détection d'oreille qui met en pause quand vous retirez un écouteur, les gestes de la tête pour répondre aux appels, le statut de batterie précis, les paramètres d'aide auditive complets, la connexion à deux appareils simultanés, et la reconnaissance de conversation qui baisse automatiquement le volume.

La dernière version (v0.2.0-alpha) a ajouté pas mal de trucs sympas comme la possibilité de voir la batterie de vos AirPods même quand ils ne sont pas connectés à votre téléphone, la connexion automatique quand vous recevez un appel ou lancez de la musique, et la personnalisation complète du mode transparence (amplification, balance, tonalité, réduction du bruit ambiant).

Techniquement, LibrePods fonctionne en utilisant un hook sur le Bluetooth Device Identification. Ce DID Bluetooth, c'est ce qui permet aux appareils de s'identifier entre eux et Apple utilise ce système pour vérifier si l'appareil connecté est un produit Apple. Si oui, les fonctionnalités se débloquent, si non, elles restent cachées. LibrePods se fait donc passer pour un appareil Apple à ce niveau, du coup, les AirPods croient qu'ils sont connectés à un iPhone ou un Mac. Et là, hop, tout se débloque ! Chouette non ?

Et c'est pas un hack compliqué... Ça consiste juste à enlever un filtre logiciel qu'Apple a mis volontairement pour vous forcer à rester dans leur écosystème.

LibrePods fonctionne sur Android et Linux. Notez que pour Android, vous devez avoir un appareil rooté avec Xposed installé à cause d'un bug dans la stack Bluetooth d'Android. Par contre, bonne nouvelle si vous êtes sur un OnePlus ou un Oppo avec ColorOS ou OxygenOS 16, vous pouvez utiliser l'app sans root pour les fonctions de base comme l'ANC, la reconnaissance de conversation et la détection d'oreilles !

Sur Linux, une nouvelle version est en développement actif et promet d'apporter encore plus de fonctionnalités mais en attendant, l'ancienne version permet déjà de contrôler les modes de bruit, les paramètres d'aide auditive, et d'autres fonctions.

D'autres applis existent pour gérer les AirPods sur Android comme CAPod, AirPodsDesktop, MagicPods, EarX mais elles ne proposent pas grand chose par rapport à LibrePods.

C'est vrai que l'Union Européenne force les fabricants à déverrouiller le firmware de certains appareils pour permettre la réparation et l'interopérabilité sauf que les écouteurs Bluetooth ne sont pas couverts par ces lois, ce qui fait qu'Apple peut continuer à brider des fonctionnalités matérielles avec du logiciel sans aucun problème légal.

LibrePods prouve donc qu'on n'a pas besoin d'attendre des lois. Faut juste des hackers qui en ont marre de se faire entuber et un peu de code !

Voilà, si vous avez des AirPods et que vous utilisez Android ou Linux, franchement, allez voir. Y'a tout sur le repo GitHub : le code source, les instructions d'installation, la doc technique...etc

Merci à Kiyoshi pour l'info !

Rooter une caméra de sécurité avec un MP3

Par : Korben
28 octobre 2025 à 12:27

L’histoire du jour est signée Luke M, un hacker qui a découvert comment rooter une caméra avec… du son !

L’appareil en question est une caméra chinoise de la marque Yi qui utilise une fonctionnalité appelée “Sonic Pairing” pour faciliter la configuration WiFi. Comme ça, au lieu de galérer à taper votre mot de passe WiFi sur une interface minuscule avec vos gros doigts boudinés, vous jouez simplement un petit son depuis votre téléphone et c’est ce son qui contient votre clé WiFi encodés en modulation de fréquence. La caméra écoute, décode, et se connecte.

Magique, non ?

Sauf que cette fonctionnalité marquée en “beta” dans l’app Yi IoT contient deux bugs magnifiques : une stack overflow local et un global overflow. En gros, en fabriquant un fichier audio malveillant avec les bons patterns, Luke a pu injecter du code arbitraire dans la caméra, ce qui lui permet d’obtenir un shell root qui se lance via la commande telnetd avec les identifiants par défaut. Tout ça, sans accès physique… juste la lecture d’un wav ou d’un MP3.

Pour arriver à ses fins, Luke a utilisé Frida , un framework de hooking que j’adore, capable d’intercepter les fonctions natives de l’app. Cela lui a permis de remplacer les données légitimes attendues par l’app par son propre payload.

Le premier bug (stack overflow) n’étant pas suffisant seul, Luke a dû utiliser un autre bug ( un out-of-bounds read via DOOM ) pour leaker un pointeur et contourner l’ ASLR . Mais le second bug (global overflow) est bien plus intéressant puisqu’il lui permet directement de faire une injection de commande via system() lors du pairing, sans avoir besoin d’autre chose.

Voici la waveform utilisée par le second exploit

Et comme la chaîne que vous pouvez envoyer via le son peut faire jusqu’à 128 bytes c’est largement suffisant pour un telnetd ou n’importe quelle commande shell. Notez que pour que l’exploit marche, le bind_key doit commencer par ‘CN’, ce qui force un path exploitable et, en bonus fait causer la caméra en chinois ^^.

Après faut savoir que ce hack amusant ne fonctionne que si la caméra n’est pas encore connectée au cloud. Donc c’est pas très utile pour attaquer des caméras déjà déployées mais ça illustre bien le problème de tout cet IoT pas cher avec des tas de features “pratiques” comme ce “Sonic Pairing” qui finissent par être catastrophique dans la pratique.

Voilà… si vous voulez les détails techniques complets avec les waveforms et le code d’exploit, foncez lire ça sur Paged Out! #7 .

Toutui - Écoutez vos livres audio et podcasts depuis votre terminal

Par : Korben
16 avril 2025 à 07:56

Si vous passez vos journées, le nez dans un terminal, ce serait-y pas trop cool de pouvoir également y écouter vos livres audio et vos podcasts ?

On évite ainsi les interfaces flashy, les notifs et autres animations inutiles et on se concentre sur l’essentiel, à savoir la simplicité monacale du terminal. Bref, si vous êtes de ceux qui pensent qu’une journée sans taper une commande est une journée perdue, il faut que je vous présente Toutui !

❌
❌