#define MIC_PIN 34
#define SPEAKER_PIN 25
const int задержкиSamples = 500;
const float reverbFactor = 0,3;
int audioBuffer[1024];
int reverbBuffer[1024];void setup() {
pinMode(MIC_PIN, INPUT);
pinMode(SPEAKER_PIN, OUTPUT);
voidloop() {
int micValue = AnalogRead(MIC_PIN); // Значение entre 0 y 4095
for (int i = 1023; i > 0; i--) {
Код: Выделить всё
audioBuffer[i] = audioBuffer[i - 1];
int outputValue = micValue; // Исходное значение
if (laySamples < 1024) {
Код: Выделить всё
int delayedValue = reverbBuffer[delaySamples];
outputValue += reverbFactor * delayedValue;
if (outputValue > 4095) outputValue = 4095;
if (outputValue < 0) outputValue = 0;
int columnsValue = map(outputValue, 0, 4095, 0, 255);
dacWrite(SPEAKER_PIN,peakerValue);
for (int i = 1023; i > 0; i--) {
Код: Выделить всё
reverbBuffer[i] = reverbBuffer[i - 1];
У меня уже есть код, который применяет к голосу эффект задержки. Я сделал это только для того, чтобы проверить, могу ли я изменить частоты, но мне не удалось заставить мой голос звучать глубже или иметь другой тон, например, тон ниже моего исходного голоса, из-за чего мой голос звучит глубоко.
Подробнее здесь: https://stackoverflow.com/questions/793 ... with-esp32
Мобильная версия