Программное «прослушивание» звука (обработка сигнала?)

StackOverflow https://stackoverflow.com/questions/1628071

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

Может быть Cubase ?

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

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

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

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

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

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

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

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

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

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

Это как кипятить фиск-танк.У вас получится рыбный суп.А вот добраться из ухи обратно в аквариум гораздо сложнее.

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

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

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

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

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

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

Другие советы

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

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

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

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

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

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

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

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

  

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

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

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

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

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

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

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

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

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

Как указывали другие ответы, это вообще не относится к MIDI.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top