🛠 Chaîne audio 44,1 kHz : Audio Library, Design Tool, I2S, S/PDIF et sortie MQS

Teensy 4.0 · avance · Schéma : IMG-teensy-40-avance-8-teensy40-audio-44k-design-tool.svg — Teensy 4.0 avec Audio Shield empilé (rappel : broches déplacées sur Rev B, résistance 100 Ω sur MCLK) ; en médaillon la fenêtre du Design Tool PJRC avec un graphe de flux (générateur → filtre → sortie) exporté en code Arduino ; à droite les broches I2S, S/PDIF et la sortie MQS.

Objectifs

Le Teensy est la plateforme de référence des pédales et synthés DIY grâce à la Teensy Audio Library et son Audio System Design Tool graphique (https://www.pjrc.com/teensy/gui/) : vous dessinez un graphe de flux de signaux par glisser-déposer et l'outil EXPORT le code Arduino fonctionnel. Le M7 à 600 MHz et ses instructions DSP font passer du 44,1 kHz stéréo réel. Côté matériel : 2 ports I2S/TDM (8 canaux I2S / 16 TDM), entrées/sorties S/PDIF indépendantes, et la sortie MQS « Medium Quality Sound » pour haut-parleur direct. Attention aux révisions de l'Audio Shield : c'est LE piège historique du passage 3.x → 4.0.

Matériel

Le piège des révisions de shield

Les signaux audio ont changé de broches entre Teensy 3.x et 4.0 : les shields Rev B d'origine ne fonctionnent PAS directement — il faut ajouter des fils ET une résistance 100 Ω en série sur MCLK ; la Rev C n'a ajouté que la résistance ; seule la Rev D route nativement le Teensy 4.0 (source : fil de sortie du forum, Paul Stoffregen).

Code complet (générable par le Design Tool)

// 440 Hz stéréo via l'Audio Shield — le graphe décrit ici est
// exactement ce que produit le Design Tool par glisser-déposer.
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>

AudioSynthWaveformSine sine;
AudioOutputI2S         sortie;
AudioConnection        patchDroite(sine, 0, sortie, 0);
AudioConnection        patchGauche(sine, 0, sortie, 1);
AudioControlSGTL5000   codec;

void setup {
  AudioMemory(10);            // pool de blocs audio — sans lui, rien ne sort
  codec.enable;
  codec.volume(0.5);
  sine.frequency(440.0);
  sine.amplitude(0.3);
}

void loop { }   // tout tourne dans les interruptions audio

Vérification attendue

Un 440 Hz propre sort dans le casque. Ouvrez le Design Tool : ajoutez un EffectReverb, un EffectFilterLowPass, un fichier WAV lu depuis la carte SD (les 8 pastilles SDIO du dos, SD.begin(BUILTIN_SDCARD)), exportez, comparez le code généré avec le vôtre — c'est tout l'intérêt de l'outil. Sous charge, vérifiez la place CPU restante (l'outil estime la charge du graphe) : le M7 avale réverbe + EQ + delay simultanés.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels