🛠 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.

Objetivos

Teensy es la plataforma de referencia para pedales y sintetizadores DIY gracias a la Teensy Audio Library y su Audio System Design Tool gráfico (https://www.pjrc.com/teensy/gui/): dibujas un grafo de flujo de señales mediante arrastrar y soltar, y la herramienta EXPORTA el código Arduino funcional. El M7 a 600 MHz y sus instrucciones DSP permiten procesar audio estéreo real a 44,1 kHz. En cuanto al hardware: 2 puertos I2S/TDM (8 canales I2S / 16 TDM), entradas/salidas S/PDIF independientes, y la salida MQS «Medium Quality Sound» para altavoz directo. Atención a las revisiones del Audio Shield: es LA trampa histórica del paso de la versión 3.x a la 4.0.

Material

La trampa de las revisiones del shield

Las señales de audio cambiaron de pines entre Teensy 3.x y 4.0: los shields Rev B originales NO funcionan directamente — hay que añadir cables Y una resistencia de 100 Ω en serie con MCLK; la Rev C solo añadió la resistencia; solo la Rev D enruta nativamente el Teensy 4.0 (fuente: hilo del foro, Paul Stoffregen).

Código completo (generable por el 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

Verificación esperada

Un tono limpio de 440 Hz sale por los auriculares. Abre el Design Tool: añade un EffectReverb, un EffectFilterLowPass, un archivo WAV leído desde la tarjeta SD (los 8 pads SDIO en la parte trasera, SD.begin(BUILTIN_SDCARD)), exporta y compara el código generado con el tuyo — ese es todo el interés de la herramienta. Bajo carga, verifica el espacio de CPU restante (la herramienta estima la carga del grafo): el M7 procesa simultáneamente reverberación + EQ + delay.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales