#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// GUItool: begin automatically generated code
AudioInputAnalog adc1; //xy=244,142
AudioInputI2S i2s1; //xy=244,252
AudioMixer4 mixerLeftADC; //xy=468,161
AudioMixer4 mixerRightI2S; //xy=467,265
AudioOutputUSB usb1; //xy=700,206
AudioConnection patchCord1(adc1, 0, mixerLeftADC, 0);
AudioConnection patchCord2(i2s1, 0, mixerRightI2S, 0);
AudioConnection patchCord4(mixerLeftADC, 0, usb1, 0);
AudioConnection patchCord3(mixerRightI2S, 0, usb1, 1);
AudioControlSGTL5000 sgtl5000_1; //xy=254,198
// GUItool: end automatically generated code
#define AUDIO_VOLUME 0.7 // 0-1.0, typical 0.5 for easy listening. User volume control could adjust this.
#define MIC_GAIN 50 // 0-63 dB I2SInput-->USBOutout-->Audigy, and adjusting down to eliminate clipping.
void setup() {
Serial.begin(9600);
delay(500);
Serial.print("Setup...");
AudioMemory(20);
sgtl5000_1.enable();
sgtl5000_1.volume(AUDIO_VOLUME);
sgtl5000_1.inputSelect(AUDIO_INPUT_MIC);
sgtl5000_1.micGain(MIC_GAIN);
mixerLeftADC.gain(0, 1);
mixerRightI2S.gain(0, 3);
AudioMemoryUsageMaxReset();
Serial.println("...Finished");
}
unsigned long startTime = millis(),
loopCount = 0;
bool skipping = false;
void loop() {
unsigned long runTime = millis() - startTime;
if ((runTime % 1000) == 0) {
if (!skipping) {
Serial.printf("%d\t%d\n", loopCount, runTime/1000);
skipping = true;
}
} else {
skipping = false;
}
loopCount++;
}