Программное прослушивание звука (обработка сигнала?) - PullRequest
11 голосов
/ 27 октября 2009

Я знаком с Computer Vision ( Ну, знаю об этом ), одним из приложений которого может быть распознавание изображений, например Оптическое распознавание символов, Я верю. Однако то, что меня больше интересует, это «компьютерное прослушивание», которое я только что узнал, считается Цифровая обработка сигналов .

В обработке сигналов меня больше всего интересует потенциальное применение в музыке. Я помню, некоторое время назад я видел предварительный просмотр приложения ( Извините, забыл имя ), которое может прослушивать запись кого-то, играющего на гитаре, и автоматически отображать ее на временной шкале с фактическим ноты / аккорды, которые были сыграны. Используя программу, пользователь мог перемещать их и даже редактировать. Теперь, очевидно, это намного сложнее, но включает ли это то же самое? Обработка сигнала? Меня также интересуют возможные применения в музыкальных визуализаторах и интеллектуальных системах освещения.

Насколько я понимаю, выполнение этой обработки на сжатом аудиоформате, таком как MP3, не даст те же результаты, что и MIDI, который содержит отдельные дорожки (возможно, я неправильно понял). Будет ли несжатый формат, такой как PCM, лучше, чем MP3? Я ничего не знаю об обработке звука, это то, что я понял из того, что я прочитал до сих пор.

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

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

Ответы [ 4 ]

14 голосов
/ 27 октября 2009

То, что меня интересует больше всего Об обработке сигналов является потенциальное применение в музыке. я помню, некоторое время назад я видел предварительный просмотр приложения (Извините, забыл имя)

Может быть cubase ?

который мог бы прослушать запись кто-то играет на гитаре, и автоматически наметить это через график с актуальными нотами / аккордами которые были сыграны

Глубоко упрощено: когда вы играете ноту, вы создаете периодическую волну с заданной частотой. Есть математический трюк (преобразование Фурье DFT), который преобразует волну в спектр, который вместо представления интенсивности во времени показывает ее частоту волны. Например, идеальная нота от камертона будет генерировать колеблющуюся волну на частоте 440 Гц. Во временной области это будет выглядеть как синусоидальная волна. В частотной области он будет выглядеть как один узкий пик с центром в 440 Гц.

Теперь, когда вы играете на гитаре, вы не создаете идеальных синусоидальных волн. Удар по А произведет основную частоту, 440 Гц, но также и много дополнительных частот (например, 880, на октаву выше, но также и много других более высоких и более низких частот), из-за физики вибрирующей струны, материала и форма гитары и т. д. Эти дополнительные частоты называются гармониками, и они смешиваются с фундаментальными, чтобы произвести «звук гитары» (то, что в музыкальном жаргоне называется тембр ). Другой инструмент (скажем, пианино) будет по-разному смешивать гармоники с основным, создавая другой тембр.

Что делают программы DSP, так это выполняют DFT на входящем сигнале. С помощью дополнительных трюков они находят основные и гармонические составляющие, и в соответствии с тем, что они находят, выводят ноту, которую вы играли. Это должно произойти быстро, потому что вы можете найти ноту, играя вживую и вызывая специальные трюки. Например, вы можете нажать ноту A на гитаре, DSP понимает, что это A, и заменяет ее на A на пианино, поэтому из динамиков вы получаете звук пианино.

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

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

Насколько я понимаю, что делать это обработка сжатого аудио такой формат, как MP3, не даст такой же Результаты в виде MIDI, который содержит отдельные треки (возможно я непонятый).

Это две разные вещи. MP3 - это сжатый формат звуковой волны. В основном это берет то, что управляет спикерами, и сжимает это. Идея та же: DFT, затем удаление материала, который вряд ли будет слышен (например, высокая высота звука, которая появляется сразу после звука высокой интенсивности, менее вероятна, поэтому его удаляют).

С другой стороны, MIDI - это свиток событий (вы знаете, как те пианино на далеком западе, с прокручивающимся бумажным свитком). Файл не содержит музыки. Вместо этого он содержит указания для MIDI-плеера исполнять определенные ноты в определенное время с помощью определенных инструментов. Качество «банка инструментов» - это (среди прочего) то, что отличает плохого MIDI-проигрывателя (который звучит как детская игрушка) от хорошего MIDI-проигрывателя (который звучит реалистично, в частности, для фортепиано и скрипки, для духовых инструментов, который я до сих пор должен услышать реалистичный).

Проходит переход от MIDI к MP3, вы просто играете через MIDI-плеер. Как раз наоборот, это совсем другая история, гораздо более сложная, и вот тут DSP вступает в игру, как вы сказали.

Это все равно, что кипятить танк с рыбой. Вы получаете рыбный суп. Но попасть из рыбного супа обратно в аквариум намного сложнее.

Был бы несжатый формат, такой как PCM, лучше чем MP3?

PCM - это метод преобразования аналогового сигнала в цифровой. Таким образом, у вашего вопроса есть фундаментальное недопонимание, что не существует формата PCM (формат RAW - это близкий вызов, содержащий в основном только грубые данные). Если вы спросите, является ли несжатый WAV (который содержит данные PCM) лучше, чем MP3, тогда да, но иногда возникает вопрос: насколько это лучше для человеческого слуха и сколько постобработки вы должны выполнить для этих данных. 1043 *

знать, есть ли существующие библиотеки, которые могут облегчить это, или статьи, относящиеся к этой теме который ориентирован на компьютер Наука / Программирование, возможно пример кода. Даже с открытым исходным кодом визуализаторы звука / музыки или любые другие код обработки звука с открытым исходным кодом было бы здорово.

Если вам нравится python, посмотрите на эту страницу

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

Я тоже, но я немного поиграл с этим.

6 голосов
/ 27 октября 2009

Насколько я понимаю, выполнение этой обработки на сжатом аудиоформате, таком как MP3, не даст те же результаты, что и MIDI, который содержит отдельные дорожки (возможно, я неправильно понял).

MIDI хранит информацию об инструментах и ​​музыкальные ноты. Также другие эффекты (громкость, изменение высоты тона, вибрато, скорость атаки и т. Д.)

Не совсем цифровая обработка сигнала.

Будет ли несжатый формат, такой как PCM, работать лучше, чем MP3?

Может быть, немного; это зависит от приложения. MP3 снижает точность частот, к которым люди не чувствительны. Если вы хотите делать визуализации, то MP3, вероятно, хорошо.

Но если вы хотите, скажем, определить, какой инструмент играет в записи, тогда может быть полезная информация, скрытая на частотах, к которым люди не чувствительны.

Я думаю Руководство для ученых и инженеров по цифровой обработке сигналов является замечательным справочником для программистов. Глава 8 объясняет дискретное преобразование Фурье (используется в обработке MP3 и во многих других местах для разделения компонентных частот волны).

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

1 голос
/ 22 августа 2011

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

Вы также можете думать о Мелодине: http://www.celemony.com/cms/

Хотя аудио Vari в более новой версии Cubase очень похоже. :)

0 голосов
/ 27 октября 2009

Я думаю, вам нужно точно определить, что вы ищете и что вы пытаетесь сделать.

Если вы хотите узнать о DSP , MIDI или PCM , то в Википедии имеется много информации и ссылок.

Существует множество приложений для манипулирования звуком. Что вы описали в своем вопросе, так это то, что происходит в каждой цифровой студии звукозаписи (которая в наши дни будет охватывать почти все студии) каждый день.

Если вы намереваетесь сыграть некоторый DSP против, скажем, звука гитары, то в идеале у вас должна быть запись самой гитары (а не микшированный трек, содержащий барабаны или вокал). Должно быть совершенно очевидно, что вы получите лучшие результаты при анализе дискретного сигнала без дополнительного шума, чем при анализе сигнала, содержащего значительные уровни «шума». Так что да, многодорожечная запись предпочтительнее, чем «MP3».

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

Что же вы хотите делать со звуками?

Как уже отмечалось в других ответах, это вообще не относится к MIDI.

...