Я хочу изменить тон голоса с помощью esp32.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Я хочу изменить тон голоса с помощью esp32.

Сообщение Anonymous »

Как сделать свой голос глубоким или тонким с помощью ESP32 в реальном времени? У меня уже есть код, который применяет к голосу эффект задержки. Я сделал это только для того, чтобы проверить, могу ли я изменить частоты, но мне не удалось сделать так, чтобы мой голос звучал глубоко или другим тоном, например, на тон ниже моего исходного голоса, из-за чего мой голос звучал глубоко.

Код: Выделить всё

#define MIC_PIN 34

#define SPEAKER_PIN 25

const int delaySamples = 500;

const float reverbFactor = 0.3;

int audioBuffer[1024];

int reverbBuffer[1024];

void setup() {

pinMode(MIC_PIN, INPUT);

pinMode(SPEAKER_PIN, OUTPUT);

}

void loop() {

int micValue = analogRead(MIC_PIN); // Valores entre 0 y 4095

for (int i = 1023; i > 0; i--) {
audioBuffer[i] = audioBuffer[i - 1];
}
audioBuffer[0] = micValue;  // Agregar el valor nuevo al principio del buffer

int outputValue = micValue;  // Valor original
if (delaySamples < 1024) {
int delayedValue = reverbBuffer[delaySamples];
outputValue += reverbFactor * delayedValue;
}

if (outputValue > 4095) outputValue = 4095;
if (outputValue < 0) outputValue = 0;

int speakerValue = map(outputValue, 0, 4095, 0, 255);
dacWrite(SPEAKER_PIN, speakerValue);

for (int i = 1023; i > 0; i--) {
reverbBuffer[i] = reverbBuffer[i - 1];
}
reverbBuffer[0] = outputValue;
}
У меня уже есть код, который применяет к голосу эффект задержки. Я сделал это только для того, чтобы проверить, могу ли я изменить частоты, но мне не удалось заставить мой голос звучать глубже или иметь другой тон, например, тон ниже моего исходного голоса, из-за чего мой голос звучит глубоко.

Подробнее здесь: https://stackoverflow.com/questions/793 ... with-esp32
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»