Сравнение простых звуков - какая самая близкая частота - PullRequest
0 голосов
/ 04 марта 2011

У меня есть довольно интересная проблема, которую нужно решить.

Я хочу взять очень простой звук (одну ноту, сыгранную на фортепиано) и попытаться обработать его так, чтобы я мог распечатать какую нотускорее всего, воспроизводится.

После некоторого поиска и поиска я наткнулся на быстрое преобразование Фурье, но не совсем уверен, как использовать это для анализа данных из файла wav.

ДругойЯ думал, что нота должна быть более или менее одинаковой при каждом ее воспроизведении.Если это так, то может ли какой-либо процент совпадения в двух wav-файлах, превращенных в байтовые массивы, быть полезным?

Мысли и идеи будут высоко цениться.

Ответы [ 3 ]

2 голосов
/ 04 марта 2011

БПФ является гораздо лучшим вариантом, чем сравнение двух WAV.БПФ будет воспроизводить частотный спектр, и, поскольку пианино производит относительно чистый тон, вы будете наблюдать очень отчетливые пики при его построении.Положение каждого всплеска обозначает одну из составляющих частот сигнала, причем наибольшим всплеском является примечание.

0 голосов
/ 04 марта 2011

Я бы начал читать о цифровой обработке сигналов (DSP) и спектральном анализе. Похоже, вы пытаетесь найти основную частоту вашей фортепианной ноты.

Чтобы выполнить какую-либо значимую работу с WAV или другим форматом файла, вам необходимо извлечь и интерпретировать аудиосэмплы. Если вы не хотите делать это вручную, я бы посоветовал изучить множество существующих библиотек DSP. Я не уверен, какие хорошие библиотеки C # существуют.

Быстрое преобразование Фурье (БПФ) существенно преобразует вашу мощность во временной области в частотную область, по существу добавляя ось z к вашему аудио.

0 голосов
/ 04 марта 2011

Вы должны анализировать частоту проигрываемой ноты. Я немного ржавый, но БПФ, я думаю, должен сделать это, так как он разбивает форму волны на частотный спектр.

Вы не хотите сравнивать файл WAV с уже сохраненным файлом, поскольку амплитуда периода и т. Д. Могут отличаться. «Процентное совпадение» приведет к ошибочным результатам.

Как только вы получите частоту сигнала, вы сможете создать ноту для воспроизведения.

...