Визуализатор звука и поиск частоты.

Rem
Сообщения: 34
Зарегистрирован: 13 май 2014, 20:20

Визуализатор звука и поиск частоты.

Сообщение Rem »

Здравствуйте. Я сделал программу, которая визуально демонстрирует обработку сигнала. Звук захватывается с "устройства по умолчанию", микрофон в ноутбуке. К нему применяется простой фильтр - скользящее среднее. Затем накладывается оконная функция. И потом применяю преобразование Фурье. Из полученного спектра ищу самую сильную (громкую) частоту. По трём точкам нахожу вершину параболы и её принимаю за точное значение.
Код - https://github.com/Remeslennik/SoundVisualiser
Сборка - https://cloud.mail.ru/public/841bd9de83 ... Visualiser
Скриншоты
Синусоида 1000 Гц, звучит из колонок и сразу попадает на микрофон.
Изображение
Голос, буква А с основным тоном 220 Гц (указано курсором)
Изображение
Прошу специалистов оценить, правильно ли я всё делаю? Что изменить? Чего не хватает?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Визуализатор звука и поиск частоты.

Сообщение Бахурин Сергей »

ну с точки зрения оценки частоты вроде все вполне корректно. С точки зрения приложения данного метода к анализу звука то надо понимать задачу. Лично я к сожалению бесконечно далек от музыки :roll: и мне сложно судить как это должно правильно работать.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Визуализатор звука и поиск частоты.

Сообщение Santik »

Скриншоты не открываются, поэтому прокомментировать не могу...

На этом сайте можно посмотреть
http://dsplib.ru/forum/viewtopic.php?f=7&t=115&start=40
и
http://dsplib.ru/forum/viewtopic.php?f=7&t=168

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Визуализатор звука и поиск частоты.

Сообщение Santik »

"Визуализатор" звука. Голос. Гласные.
1-6.rar
(141.9 КБ) 512 скачиваний

Rem
Сообщения: 34
Зарегистрирован: 13 май 2014, 20:20

Re: Визуализатор звука и поиск частоты.

Сообщение Rem »

Пришлось обрезать скрин по требованию форума. Буква "а". Наглядно видно, что есть куча гармоник (самая громкая справа) а основная частота около 100 Гц (указана слева курсором).
Вложения
2015-01-29 10 17 38.png

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Визуализатор звука и поиск частоты.

Сообщение Santik »

Хотелось бы исходник (wav). Только его заархивировать придётся (по требованиям форума).

Rem
Сообщения: 34
Зарегистрирован: 13 май 2014, 20:20

Re: Визуализатор звука и поиск частоты.

Сообщение Rem »

Дак нет исходника. Всё через микрофон работает.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Визуализатор звука и поиск частоты.

Сообщение Santik »

cr1.jpg
Исходник:
cr1.rar
(25.6 КБ) 447 скачиваний

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Визуализатор звука и поиск частоты.

Сообщение Santik »

cr3.rar
(56.1 КБ) 452 скачивания
cr3.jpg
Замечание:
Обведены кругом ноты, сыгранные в этом такте (кроме нижнего D# - из предыдущего такта)

Rem
Сообщения: 34
Зарегистрирован: 13 май 2014, 20:20

Re: Визуализатор звука и поиск частоты.

Сообщение Rem »

Да. Хоть гитара и синтетическая, смысл сонограмма передаёт верно.
В первом варианте анализатора звук пятой струны (все басовые ноты) плохо распознавался. Получалось, что гармоника звучала громче основного тона. Сделал определение ноты по двум гармоникам. Стало лучше, но не распознавало самые две-три низкие ноты (шестая струна на 2 ладу). Из-за этого решил сделать визуализатор, чтоб видно было. (хотя ещё есть сайт подобный - http://ispectrometer.com/) С шестой струной совсем беда, основной частоты почти вообще нет, а есть целая куча гармоник. Ну а с голосом чуть ли не 10 гармоник появляется при одной ноте.
Ещё хочу нарисовать огибающую кривую по отсчётам. Как посоветуете просчитать промежуточные значения? Мне на ум приходит только использовать Фарроу из соседней темы.

Ответить