#include #include #include #include #include AudioPlaySdWav playWav1; AudioOutputUSB audioOutput; // must set Tools > USB Type to Audio AudioOutputAnalog dac; AudioConnection patchCord1(playWav1, 0, audioOutput, 0); AudioConnection patchCord2(playWav1, 1, audioOutput, 1); AudioConnection patchCord3(playWav1, 0, dac, 0); // Use these with the Teensy Audio Shield #define SDCARD_CS_PIN 10 #define SDCARD_MOSI_PIN 7 #define SDCARD_SCK_PIN 14 // Use these with the Teensy 3.5 & 3.6 SD card //#define SDCARD_CS_PIN BUILTIN_SDCARD //#define SDCARD_MOSI_PIN 11 // not actually used //#define SDCARD_SCK_PIN 13 // not actually used // Use these for the SD+Wiz820 or other adaptors //#define SDCARD_CS_PIN 4 //#define SDCARD_MOSI_PIN 11 //#define SDCARD_SCK_PIN 13 void setup() { Serial.begin(9600); // Audio connections require memory to work. For more // detailed information, see the MemoryAndCpuUsage example AudioMemory(20); SPI.setMOSI(SDCARD_MOSI_PIN); SPI.setSCK(SDCARD_SCK_PIN); if (!(SD.begin(SDCARD_CS_PIN))) { // stop here, but print a message repetitively while (1) { Serial.println("Unable to access the SD card"); delay(500); } } } void playFile(const char *filename) { playWav1.play(filename); // A brief delay for the library read WAV info delay(5); // Simply wait for the file to finish playing. while (playWav1.isPlaying()) { } } void loop() { playFile("SDTEST1.WAV"); // filenames are always uppercase 8.3 format delay(500); playFile("SDTEST2.WAV"); delay(500); playFile("SDTEST3.WAV"); delay(500); playFile("SDTEST4.WAV"); delay(1500); } // A known problem occurs on Macintosh computers, where the Mac's driver // does not seem to be able to adapt and transmit horribly distorted // audio to Teensy after a matter of minutes. An imperfect workaround // can be enabled by editing usb_audio.cpp. Find and uncomment // "#define MACOSX_ADAPTIVE_LIMIT". More detailed info is available here: // https://forum.pjrc.com/threads/34855-Distorted-audio-when-using-USB-input-on-Teensy-3-1?p=110392&viewfull=1#post110392