Страница 2 из 2

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

Добавлено: 30 янв 2015, 18:01
Santik
Rem писал(а):Ещё хочу нарисовать огибающую кривую по отсчётам. Как посоветуете просчитать промежуточные значения? Мне на ум приходит только использовать Фарроу из соседней темы.
Огибающую сигнала получают через преобразование Гильберта. Есть статья на этом сайте.
Насчёт промежуточных значений я не понял. Частота дискретизации и так очень большая - 44100 . Я думаю вполне 4000 Гц хватит.

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

Добавлено: 30 янв 2015, 19:55
Santik
"Красная Шапочка и мотоциклисты"
КШ.rar
(123.58 КБ) 556 скачиваний
КШ.jpg

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

Добавлено: 30 янв 2015, 23:44
Rem
Если захватывать по 2048 семпла, то 44100 / 2048 = 21.5 Гц
Расстояние между отсчётами фурье составляет 21 Герц. На скрине видно, что курсор стоит на пятом отсчёте, что составляет чуть больше чем 100Гц. Как заполнить между ними?

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

Добавлено: 31 янв 2015, 04:44
Santik
А заполнение не поможет, надо увеличивать количество отсчетов в окне.
http://dsplib.ru/forum/viewtopic.php?f=7&t=142
То есть чтобы добиться удовлетворительно точности на низких частотах надо увеличивать время наблюдения. Если взять Fd=2048 Гц, то 2048/2048= 1 Гц. На 6 струне Ми 82.41 от Фа (87.31) легко будет отличить. Но и ждать придется долго: время наблюдения будет 1 сек!
Можно и косвенным путём - Грубо определяем что это 6 струна - а точную частоту находим по 10-ой гармонике (и делим на 10). Точность будет 25/10=2.5 Гц

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

Добавлено: 01 фев 2015, 00:04
Rem
Это противоречит самой задаче. Нужно наоборот за минимально возможный отрезок времени определить играемую ноту.

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

Добавлено: 01 фев 2015, 00:39
Santik
Ну тогда грубо определить ноту и уточнить значение по гармонике.

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

Добавлено: 01 фев 2015, 07:00
Santik
Rem писал(а):Это противоречит самой задаче. Нужно наоборот за минимально возможный отрезок времени определить играемую ноту.
Но всё-таки более правильно бы было:
1. Значительно снизить Fd, оставив те же 2048 выборок.
2. Убедиться, что при понижении Fd точность определения частоты существенно возрастает.
3. Сделать вывод, что поставленная задача (нахождение частоты с заданной точностью на ограниченном временном интервале) противоречит законам физики.
4. Элегантно "выкрутиться" из создавшейся ситуации путём вычисления частоты 10 гармоники с последующим делением на 10.
5. Осознать, что такой "фокус" пройдёт только для сигнала, хорошо обогащённого высшими гармониками, например гитарная струна.
Вот как-то так :D