#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// Audio Processing Nodes
AudioInputUSB audioInput; //xy=175,110
AudioSynthWaveformSine sinewave; //xy=155,230
AudioMixer4 mixer; //xy=490,190
AudioAnalyzeFFT1024 myFFT; //xy=685,215
AudioOutputPT8211_2 audioOutput; //xy=735,130
// Audio Connections (all connections (aka wires or links))
AudioConnection patchCord1(audioInput, 0, mixer, 0);
AudioConnection patchCord2(audioInput, 1, mixer, 1);
AudioConnection patchCord3(sinewave, 0, mixer, 2); // did not work before when having this line uncommented
AudioConnection patchCord4(mixer, 0, myFFT, 0);
AudioConnection patchCord5(mixer, 0, audioOutput, 0);
AudioConnection patchCord6(mixer, 0, audioOutput, 1);
void blinkLedTask(void); // forward declaration
void setup() {
// Audio connections require memory to work. For more
// detailed information, see the MemoryAndCpuUsage example
AudioMemory(90);
myFFT.windowFunction(AudioWindowHanning1024);
//myFFT.windowFunction(NULL);
mixer.gain(0, 1.0f);
mixer.gain(1, 1.0f);
mixer.gain(2, 1.0f);
// Create a synthetic sine wave, for testing
// To use this, edit the connections above
//audioMain.sinewave.amplitude(0.3f);
//audioMain.sinewave.frequency(1000.0f);
Serial.println("Hello World");
}
void loop() {
float n;
int i;
blinkLedTask();
if (myFFT.available()) {
// each time new FFT data is available
// print it all to the Arduino Serial Monitor
Serial.print("FFT: ");
for (i=0; i<40; i++) {
n = myFFT.read(i);
if (n >= 0.01) {
Serial.print(n);
Serial.print(" ");
} else {
Serial.print(" - "); // don't print "0.00"
}
}
Serial.println();
}
}
void blinkLedTask(void) // minimized led blinker (long off short on)
{
const int lp=13;
static int lds=0;//current ledState
static unsigned long pms=0,cms=0,civ=0;// prev Ms, current Ms, current intervall
static unsigned long boni=100,bofi=2000;// BlinkOnInterval,BlinkOffInterval
cms=millis();civ=cms-pms;
if(lds==0){if(civ>bofi){pms=cms;lds=1;digitalWrite(lp,1);}}
else{if(civ>boni){pms=cms;lds=0;digitalWrite(lp,0);}}
}