Skip to content

Latest commit

 

History

History
20 lines (18 loc) · 1.78 KB

File metadata and controls

20 lines (18 loc) · 1.78 KB

ConsoleSoundAnalyzer

скомпиленная программа и библиотека portaudio в облаке https://cloud.mail.ru/public/e96c5a768ca5/ConsoleSoundAnalyzer

Программа захватывает звук с микрофона и выводит на консоль: *Значение мощности максимальной частоты *Основную частоту *Билайшую ноту, число из формат midi *Название ноты *Отклонение услышанной ноты от ближайшей идеальной

Принцип работы: *Звук захватывается с "устройства по умолчанию" 4096 семплов. *Применяется фильтр "скользящее среднее" для уменьшения высокочастотных составляющих. *Применяется "оконная функция" для ослабления сигнала по определенной огибающей. *Применяется FFT "быстрое преобразование фурье". Сигнал в спектр. *Ищем самое большое значение мощности в спектре частот. *При помощи параболы определяем более точное значение частоты. *По спектру определяется основная частота. (это самя проблемная часть программы, плохо работает на басовых нотах ниже 50) *При наличии достаточного звука частота преобразуется в число-ноту midi и параметры выводятся на консоль