#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
#include <Bounce.h>
// GUItool: begin automatically generated code
AudioPlayWAVstereo playRaw1; //xy=302,157
AudioPlayWAVstereo playRaw2; //xy=302,157
AudioPlayWAVstereo playRaw3;
AudioPlayWAVstereo playRaw4;
AudioMixer4 mixer1; //xy=679,151
AudioMixer4 mixer2; //xy=730,310
AudioOutputI2S i2s1; //xy=1311,193
AudioConnection patchCord1(playRaw2, 0, mixer1, 1);
AudioConnection patchCord2(playRaw2, 1, mixer2, 1);
AudioConnection patchCord3(playRaw3, 0, mixer1, 2);
AudioConnection patchCord4(playRaw3, 1, mixer2, 2);
AudioConnection patchCord5(playRaw1, 0, mixer1, 0);
AudioConnection patchCord6(playRaw1, 1, mixer2, 0);
AudioConnection patchCord7(playRaw4, 0, mixer1, 3);
AudioConnection patchCord8(playRaw4, 1, mixer2, 3);
AudioConnection patchCord9(mixer1, 0, i2s1, 0);
AudioConnection patchCord10(mixer2, 0, i2s1, 1);
AudioControlSGTL5000 sgtl5000_1; //xy=529,657
// GUItool: end automatically generated code
// Use these with the Teensy 3.5 & 3.6 & 4.1 SD card
#define SDCARD_CS_PIN BUILTIN_SDCARD
#define SDCARD_MOSI_PIN 11 // not actually used
#define SDCARD_SCK_PIN 13 // not actually used
void setup() {
Serial.begin(9600);
AudioMemory(200);
sgtl5000_1.enable();
sgtl5000_1.volume(0.8);
SPI.setMOSI(SDCARD_MOSI_PIN);
SPI.setSCK(SDCARD_SCK_PIN);
if (!(SD.begin(SDCARD_CS_PIN))) {
while (1) {
Serial.println("Unable to access the SD card");
delay(500);
playRaw1.createBuffer(2048,AudioBuffer::inHeap);
playRaw2.createBuffer(2048,AudioBuffer::inHeap);
playRaw3.createBuffer(2048,AudioBuffer::inHeap);
playRaw4.createBuffer(2048,AudioBuffer::inHeap);
}
mixer1.gain(0, 0.1);
mixer1.gain(1, 0.1);
mixer1.gain(2, 0.1);
mixer1.gain(3, 0.1);
mixer2.gain(0, 0.1);
mixer2.gain(1, 0.1);
mixer2.gain(2, 0.1);
mixer2.gain(3, 0.1);
delay(50);
float knob5 = 0.9;
}
}
void loop() {
if (playRaw1.isPlaying() == false) {
Serial.println("Start playing 1");
playRaw1.play("NUM1.WAV");
delay(10); // wait for library to parse WAV info
}
if (playRaw2.isPlaying() == false) {
Serial.println("Start playing 2");
playRaw2.play("NUM2.WAV");
delay(10); // wait for library to parse WAV info
}
if (playRaw3.isPlaying() == false) {
Serial.println("Start playing 3");
playRaw3.play("NUM3.WAV");
delay(10); // wait for library to parse WAV info
}
if (playRaw4.isPlaying() == false) {
Serial.println("Start playing 4");
playRaw4.play("NUM4.WAV");
delay(10); // wait for library to parse WAV info
}
int knob = analogRead(A10);
float gain1 = (float)knob / 1280.0;
mixer1.gain(0, gain1);
mixer2.gain(0, gain1);
int knob2 = analogRead(A11);
float gain2 = (float)knob2 / 1280.0;
mixer1.gain(1, gain2);
mixer2.gain(1, gain2);
int knob3 = analogRead(A12);
float gain3 = (float)knob3 / 1280.0;
mixer1.gain(2, gain3);
mixer2.gain(2, gain3);
int knob4 = analogRead(A13);
float gain4 = (float)knob4 / 1280.0;
mixer1.gain(3, gain4);
mixer2.gain(3, gain4);
}