Re: Ардуино - запись звука
Добавлено: Сб янв 13, 2024 17:56:15
olegue писал(а):попробовал удалять паузы квадратичным методом. Если энергия буфера меньше Тресхолда, то не отправляют его.
ну ты извращенец))
обычно измеряют средний уровень звука или пиковое значение звука...
когда говорим в микрофон и средний уровень звука выше некого значения - автоматически включается передача. хотя в рациях используется пиковое значение...
я использую пиковое значение в своих индикаторах... т.к. только в момент максимальной громкости происходит искажение звука...
поэтому когда я говорю в микрофон... я смотрю по индикатору... чтоб пиковое значение уровня громкости не превышало максимально допустимое значение...
в простейшем случае будет так:
Код: Выделить всё
// Функция для определения пиковое значение в заданном буфере
int calculateEnergy(const uint8_t* buffer, int size) {
int energy = 0;
for (int i = 0; i < size; ++i) {
if (buffer[i] > energy) {energy = buffer[i];}
}
return energy; // пиковое значение в заданном буфере
}