2013-03-19 1 views
3

Я хочу дать аудио-файл wav (instrumental - Violin и т. Д.) В качестве входных данных, и я хочу обнаружить все тона частот и обновиться в текстовых последовательностях, чтобы они были воспроизведены. Я думаю, что я должен регулярно использовать fft-спектр, чтобы получить значения их частот. Помогите мне, как действовать дальше.Преобразование музыки в wav-файл в текстовые символы

+1

Возможный дубликат http://stackoverflow.com/qu estions/11388053/how-to-get-a-list-of-notes-present-in-a-wav-file и многие, многие другие. – tom10

+1

Хорошим решением может стать многолетний выпускник-исследовательский проект, в зависимости от проблемных ограничений. Вы можете продолжить чтение сотен научных работ по автоматической транскрипции музыки (MIREX, et.al.) – hotpaw2

ответ

3

Это очень сложная проблема, и вам нужно хорошее знание обработки сигналов, чтобы получить какие-либо полезные результаты. Вы правы, что БПФ - хорошая отправная точка, но вы должны прочитать некоторые другие сообщения здесь и документы в Интернете. Найдите «оценку шага». «определение высоты тона» или «транскрипция музыки». Вам нужно понять, как сложный звук состоит из ряда синусоид на соответствующих частотах («гармоники») и как получение пика БПФ не обязательно даст вам высоту (некоторые инструменты имеют спектр, в котором основной частота (т.е. шаг) не самый большой пик.

страница на Википедии Pitch Detection дает хорошую отправную точку. Я хотел бы предложить, прочитав несколько статей по методу автокорреляции и гармонического Sum спектра.