Шаг отображения WAV-файла [закрыт]
-
06-07-2019 - |
Вопрос
Я новичок в мире аудио, и мне поручили задачу, с которой я не уверен, как справиться.Мне нужно отобразить график, представляющий высоту звука WAV-файла.Файл WAV может быть полифоническим, и тогда мне нужно отобразить график высоты тона доминирующего (читать:с самой сильной громкостью) инструмент (или пение человеческим голосом).Я довольно хорошо знаком с .NET и почти ничего не знаю в C, C ++, Java.
Я начал исследование в Интернете, и из того, что я понял, определение высоты тона полифонических WAV-файлов - нерешаемая проблема, но мне не нужна точная высота тона, просто чтобы знать, выше ли она по сравнению со следующей и какова ее длина.
Мои вопросы таковы:
С чего мне следует начать изучение теории, лежащей в основе этой задачи?Есть ли какие-нибудь рекомендуемые книги для этого?
Есть ли какой-нибудь API / инструмент, который может это сделать?
Спасибо,
МЛ
Решение
Вы можете использовать анализ Фурье для извлечения составляющих частот волны.Вот связанный с этим вопрос SO: Быстрое преобразование Фурье в C#
Другие советы
Я начал с обработки сигналов с Цифровая Обработка сигналов.Вы можете купить книгу в печатном виде примерно за 30 долларов или бесплатно загрузить PDF-файл.Он написан для неспециалистов и содержит много информации, которая поможет вам освоиться с различными методами обработки сигналов.
БПФ (быстрое преобразование Фурье) преобразует зависимость времени от амплитуды сигнала в зависимость частоты (бинов) от интенсивности (энергии).Вы можете перейти от частоты к заметке с помощью стандартные диаграммы найдено на множестве веб-сайтов.
Я работал над несколько связанным проектом.Вы захотите исследовать быстрые преобразования Фурье.Я могу порекомендовать это проект, написанный на C# - он написан как гитарный тюнер, но его можно легко модифицировать в соответствии с вашими целями.
Это, однако, не приведет к многопоточности.Есть продукт под названием "знаменитость" который утверждает, что обладает этой способностью, используя "Прямой доступ к заметкам (ДНК)".Понятно, что их технология имеет закрытый исходный код, но вы можете получить ее лицензию по выгодной цене.