You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.7 KiB
60 lines
1.7 KiB
#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());
|
|
|
|
}; |