|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include <Audio.h>
- #include <SD.h>
-
- // Get the six WAV files this program needs on your SD card:
- // https://forum.pjrc.com/threads/64235?p=258095&viewfull=1#post258095
-
- // Reducing this delay will attempt to play the files simultaneously.
- // The clips are about 3.0 to 3.4 seconds, even though the voice is
- // heard only for the about the first half second.
- const int milliseconds = 3500;
-
- // GUItool: begin automatically generated code
- AudioPlaySdWav playSdWav4; //xy=259,267
- AudioPlaySdWav playSdWav3; //xy=260,218
- AudioPlaySdWav playSdWav5; //xy=260,317
- AudioPlaySdWav playSdWav6; //xy=261,369
- AudioPlaySdWav playSdWav2; //xy=262,169
- AudioPlaySdWav playSdWav1; //xy=263,118
- AudioMixer4 mixer1; //xy=460,176
- AudioMixer4 mixer2; //xy=571,271
- AudioOutputI2S i2s1; //xy=763,245
- AudioConnection patchCord1(playSdWav4, 0, mixer1, 3);
- AudioConnection patchCord2(playSdWav3, 0, mixer1, 2);
- AudioConnection patchCord3(playSdWav5, 0, mixer2, 1);
- AudioConnection patchCord4(playSdWav6, 0, mixer2, 2);
- AudioConnection patchCord5(playSdWav2, 0, mixer1, 1);
- AudioConnection patchCord6(playSdWav1, 0, mixer1, 0);
- AudioConnection patchCord7(mixer1, 0, mixer2, 0);
- AudioConnection patchCord8(mixer2, 0, i2s1, 0);
- AudioConnection patchCord9(mixer2, 0, i2s1, 1);
- AudioControlSGTL5000 sgtl5000_1; //xy=625,368
- // GUItool: end automatically generated code
-
- // SD card on Teensy 3.x Audio Shield (Rev C)
- #define SDCARD_CS_PIN 10
- #define SDCARD_MOSI_PIN 7
- #define SDCARD_SCK_PIN 14
-
- // Built in SD card on Teensy 3.5, 3.6 & 4.1
- //#define SDCARD_CS_PIN BUILTIN_SDCARD
- //#define SDCARD_MOSI_PIN 11 // not actually used
- //#define SDCARD_SCK_PIN 13 // not actually used
-
- // SD card on Teensy 4.x Audio Shield (Rev D)
- //#define SDCARD_CS_PIN 10
- //#define SDCARD_MOSI_PIN 11
- //#define SDCARD_SCK_PIN 13
-
- void setup() {
- AudioMemory(40);
- sgtl5000_1.enable();
- sgtl5000_1.volume(0.6);
- mixer1.gain(0, 0.167);
- mixer1.gain(1, 0.167);
- mixer1.gain(2, 0.167);
- mixer1.gain(3, 0.167);
- mixer2.gain(0, 1.0);
- mixer2.gain(1, 0.167);
- mixer2.gain(2, 0.167);
-
- SPI.setMOSI(SDCARD_MOSI_PIN);
- SPI.setSCK(SDCARD_SCK_PIN);
- if (!(SD.begin(SDCARD_CS_PIN))) {
- // stop here if no SD card, but print a message repetitively
- while (1) {
- Serial.println("Unable to access the SD card");
- delay(500);
- }
- }
- }
-
- AudioPlaySdWav * const playerlist[6] = {
- &playSdWav1, &playSdWav2, &playSdWav3, &playSdWav4, &playSdWav5, &playSdWav6
- };
-
- void playNumber(int n)
- {
- String filename = String("NUM") + n + ".WAV";
- Serial.print("Playing File: ");
- Serial.println(filename);
- Serial.flush();
- playerlist[n % 6]->play(filename.c_str());
- }
-
- void loop() {
- for (int i=1; i <= 6; i++) {
- playNumber(i);
- delay(milliseconds);
- }
- }
|