parent
01cb7ba105
commit
60243a15a5
@ -0,0 +1,60 @@ |
||||
#include <Audio.h> |
||||
// the next line can be skipped if more perfomance is needed
|
||||
#define NOISEGATE_EXTENDEDINFO |
||||
#include <OpenAudio_ArduinoLibrary.h> |
||||
#include <Arduino.h> |
||||
|
||||
AudioInputI2S_F32 i2sAudioIn1; |
||||
AudioOutputI2S_F32 i2sAudioOut1; |
||||
AudioEffectNoiseGate_F32 noiseGate; |
||||
|
||||
AudioConnection_F32 patchCordL1(i2sAudioIn1, 0, noiseGate, 0); |
||||
AudioConnection_F32 patchCordL2(noiseGate, 0, i2sAudioOut1, 0); |
||||
AudioConnection_F32 patchCordR1(i2sAudioIn1, 1, i2sAudioOut1, 1); |
||||
|
||||
|
||||
|
||||
#define LED_RED 0 |
||||
#define LED_YELLOW 1 |
||||
#define LED_GREEN 2 |
||||
|
||||
//The setup function is called once when the system starts up
|
||||
void setup(void) |
||||
{ |
||||
//Start the USB serial link (to enable debugging)
|
||||
Serial.begin(115200); |
||||
delay(500); |
||||
Serial.println("Setup starting..."); |
||||
|
||||
//Allocate dynamically shuffled memory for the audio subsystem
|
||||
AudioMemory(20); |
||||
AudioMemory_F32(20); |
||||
|
||||
//Put your own setup code here
|
||||
pinMode(LED_RED, OUTPUT); |
||||
pinMode(LED_GREEN, OUTPUT); |
||||
pinMode(LED_YELLOW, OUTPUT); |
||||
|
||||
// setup the noise gate. it is probaly a good idea to filter the incoming signal @20 Hz, maybe this colud be added in the future
|
||||
noiseGate.setOpeningTime(0.02f); |
||||
noiseGate.setClosingTime(0.05f); |
||||
noiseGate.setHoldTime(0.1); |
||||
noiseGate.setThreshold(-40); |
||||
|
||||
//End of setup
|
||||
Serial.println("Setup complete."); |
||||
}; |
||||
|
||||
//After setup(), the loop function loops forever.
|
||||
//Note that the audio modules are called in the background.
|
||||
//They do not need to be serviced by the loop() function.
|
||||
float lastVal = 0; |
||||
void loop(void) |
||||
{ |
||||
|
||||
bool thresTrigger = noiseGate.infoIsOpen(); |
||||
digitalWrite(LED_RED, !thresTrigger); |
||||
digitalWrite(LED_GREEN, thresTrigger); |
||||
digitalWrite(LED_YELLOW, noiseGate.infoIsOpeningOrClosing()); |
||||
|
||||
}; |
Loading…
Reference in new issue