2009-07-31 2 views
3

Я новичок в мире аудио, и мне назначена задача, я не уверен, как с этим бороться. Мне нужно отобразить график, представляющий высоту файла WAV. WAV-файл может быть полифоническим, а затем мне нужно отобразить график основного тона (чтение: с помощью самого мощного) инструмента (или голосовое пение человека). Я хорошо знаком с .NET и почти ничего не знаю в C, C++, Java.Отображать шаг WAV-файла

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

Мои вопросы:

  1. Где я должен начать для изучения теории позади этой задачи? Есть ли для этого рекомендуемые книги?

  2. Есть ли API/инструмент, который может это сделать?

Спасибо,

ML

ответ

2

Вы можете использовать анализ Фурье для извлечения составляющие частоты волны. Вот связанный вопрос SO: Fast Fourier Transform in C#

+1

Меня беспокоит полифоническая природа файла WAV. Может ли FFT помочь мне изолировать наиболее доминирующий интрумент/голос? – 2009-07-31 16:16:47

+0

Хорошо FFT даст вам доминирующую частоту в фрагменте волны - так что если у вас есть три инструмента, все из которых производят средний C (будь то их основная частота или гармоники), FFT не скажет вам, какой инструмент является самым громким, но он скажет вам что средний C является самой громкой частотой в выборке. –

+0

Я предполагаю, что вы видели «анализатор спектра» - FFT даст вам это. –

0

Я работаю над несколько связанным проектом. Вы захотите исследовать быстрые преобразования Фурье. Я могу порекомендовать этот project written in C# - он написан как гитарный тюнер, но его можно легко модифицировать в соответствии с вашими потребностями.

Это, однако, не будет выполнять многопоточность. Существует продукт под названием «celemony», который утверждает, что имеет эту способность, используя «Direct Note Access (DNA)». Их технология понятна и закрыта, но вы можете лицензировать ее по правильной цене.

1

Я начал обработку сигнала с Digital Signal Processing. Вы можете купить книгу, напечатанную около 30 долларов США, или скачать бесплатно. Он написан для не-ученых и содержит много информации, чтобы вы могли работать с различными технологиями обработки сигналов.

FFT (быстрое преобразование Фурье) преобразует время по амплитудному сигналу в частоту (бит) по отношению к интенсивности (энергии). Вы можете перейти от частоты к заметке через standard charts, найденную на многих сайтах.