future support: reading a single sample on 8266
audioreactive will still not work on 8266. This is just experimental code that allows to read a single sample from ADC every 20 millis.
This commit is contained in:
parent
8694e7a6bf
commit
86e8ee334f
@ -47,8 +47,9 @@
|
|||||||
|
|
||||||
constexpr i2s_port_t I2S_PORT = I2S_NUM_0;
|
constexpr i2s_port_t I2S_PORT = I2S_NUM_0;
|
||||||
constexpr int BLOCK_SIZE = 128;
|
constexpr int BLOCK_SIZE = 128;
|
||||||
constexpr int SAMPLE_RATE = 20480; // Base sample rate in Hz - 20Khz is experimental
|
//constexpr int SAMPLE_RATE = 22050; // Base sample rate in Hz - 22Khz is a standard rate. Physical sample time -> 23ms
|
||||||
//constexpr int SAMPLE_RATE = 10240; // Base sample rate in Hz - standard
|
constexpr int SAMPLE_RATE = 20480; // Base sample rate in Hz - 20Khz is experimental. Physical sample time -> 25ms
|
||||||
|
//constexpr int SAMPLE_RATE = 10240; // Base sample rate in Hz - standard. Physical sample time -> 50ms
|
||||||
|
|
||||||
// globals
|
// globals
|
||||||
static uint8_t inputLevel = 128; // UI slider value
|
static uint8_t inputLevel = 128; // UI slider value
|
||||||
@ -593,7 +594,19 @@ class AudioReactive : public Usermod {
|
|||||||
micIn = inoise8(millis(), millis()); // Simulated analog read
|
micIn = inoise8(millis(), millis()); // Simulated analog read
|
||||||
micDataReal = micIn;
|
micDataReal = micIn;
|
||||||
#else
|
#else
|
||||||
|
#ifdef ESP32
|
||||||
micIn = micDataSm; // micDataSm = ((micData * 3) + micData)/4;
|
micIn = micDataSm; // micDataSm = ((micData * 3) + micData)/4;
|
||||||
|
#else
|
||||||
|
// this is the minimal code for reading analog mic input on 8266.
|
||||||
|
// warning!! Absolutely experimental code. Audio on 8266 is still not working. Expects a million follow-on problems.
|
||||||
|
static unsigned long lastAnalogTime = 0;
|
||||||
|
if (millis() - lastAnalogTime > 20) {
|
||||||
|
micDataReal = analogRead(A0); // read one sample with 10bit resolution. This is a dirty hack, supporting volumereactive effects only.
|
||||||
|
lastAnalogTime = millis();
|
||||||
|
}
|
||||||
|
micDataSm = micDataReal;
|
||||||
|
micIn = micDataSm;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
micLev = ((micLev * 8191.0f) + micDataReal) / 8192.0f; // takes a few seconds to "catch up" with the Mic Input
|
micLev = ((micLev * 8191.0f) + micDataReal) / 8192.0f; // takes a few seconds to "catch up" with the Mic Input
|
||||||
|
Loading…
Reference in New Issue
Block a user