English | по-русски | 日本語     Печать

Обработка речи микроконтроллером Atmel AVR


Если кто-то говорит, что цифровая обработка звукового сигнала, в том числе, речи, требует специализированного DSP-процессора или мощного процессора обычного компьютера – это неправда.

Некоторые полезные операции можно выполнить при помощи микроконтроллера Atmel AVR. В частности, это убедительно доказал один из жителей Страны Восходящего Солнца. Статья Cheap DSP Experiments рассказывает о том, как на базе ATTiny26 создать простой звуковой процессор с эффектами «задержка», «эхо», «изменение тона».

Автор вышеупомянутой статьи подключает к микроконтроллеру микросхему внешнего ОЗУ, поскольку внутренней памяти контроллера не хватает для получения необходимой задержки сигнала. Однако для таких эффектов, как «изменение тона», вполне хватит внутренного ОЗУ контроллера ATMEGA32.

Что такое «изменение тона»? Это изменение частот составляющих звука (речи) без изменения темпа. Например, чтобы сделать из голоса взрослого человека голос ребенка. Или наоборот.

Эта функция встроена во множество компьютерных звуковых редакторов, например, в Audacity:




Слушать оригинал


Слушать обработанный сигнал


Алгоритм изменения (повышения или понижения) тона подробно описан в японской статье.

Схема подключения внешних цепей к микроконтроллеру приведена ниже:


При помощи двух джамперов задается усиление входного сигнала (x1, x10, x200), что позволяет использовать как микрофон, так и источник входного сигнала с большим уровнем. Третий джампер задает тип преобразования тона: повышение или понижение.

Степерь изменения тона можно задать внутри исходного текста программы. В качестве компилятора используется WinAVR. Запрограммировать контроллер можно, например, при помощи AVReAl.

Проверка схемы:


Денис Нечитайлов






 
Поделитесь этой страницей: