Подтвердить что ты не робот

Отличительные инструменты в музыкальном файле

Учитывая музыкальный файл, можно ли разделить каждый инструмент, который воспроизводится? То есть скажем, у меня есть someSong.mp3, и в этой песне есть вокал, гитара, бас и барабаны. Я бы хотел получить 4 "дорожки" - по одному для каждого отдельного инструмента.

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

Однако есть библиотека, или алгоритм, или НЕКОТОРЫЙ способ сделать это, мне было бы интересно узнать, как это сделать.

4b9b3361

Ответ 1

В моем студенческом проекте речь шла о расшифровке заметок из WAV файла в файл MIDI. Мы обрабатывали только простой случай одного инструмента, возможно, играя более чем одну ноту за раз (например, фортепиано). Наше исследование предмета до того, как мы начали, показало, что даже этот (т.е. Только один инструмент) считается нетривиальным. В основном проблема заключается в следующем:

  • найдите, какие частоты играют в любой момент времени. Это можно сделать с помощью DFT/FFT небольших окон по одному.
  • Используйте некоторую эвристику, чтобы угадать, какие частоты являются гармониями одной и той же ноты и которые принадлежат разным нотам. Это может быть легко, если вы знаете, какой инструмент играет, но это сложно в общем случае, потому что величины каждой гармонии отличаются инструментом. Например, у вас может быть две Cs на одну октаву отдельно от одного инструмента, или у вас может быть один C, но из другого инструмента.
  • после того, как вы знаете, какие заметки играют в каждый момент времени, вы должны угадать, когда у вас есть перерывы в заметках. У вас может быть одна длинная заметка или серия коротких заметок. В зависимости от размера окон, которые вы использовали для начального DFT, здесь могут быть разные результаты.

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

Во всяком случае, это короткий список проблем для решения. Я не знаю ни одного алгоритма, который решает это в общем случае. Я не думаю, что эта проблема еще решена.

Изменить: Моя презентация проекта находится на http://www-sipl.technion.ac.il/new/Archive/Special_Events/sipl2004/Projects_PowerPoint/WAV-to-MIDI.pdf

Ответ 2

Я действительно столкнулся с очень интересным алгоритмом, называемым ICA (независимый компонентный анализ). Концепция этого алгоритма исходит не из мира обработки сигналов, а из вероятностных теорий. Мы использовали его для разделения двух песен, которые были смешаны в один mp3 файл. Здесь вы можете найти библиотеку реализации в Matlab\С++\Python под названием FastICA здесь. Дайте ему сделать это очень приятно.

Ответ 3

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

Ответ 4

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

Ответ 5

Короче говоря: вы не можете исключить, если ваши четыре инструмента - это синтезаторы, играющие чистые синусоидальные волны.

Ответ 6

mp3 - это формат с потерями. Он работает, моделируя акустический отклик человека и отбрасывая информацию, которую он считает, что человек не может слышать. В сущности, более громкие инструменты, которые затмевают мягкие инструменты, - более мягкий, сбитый. Это означает, что вы никогда не сможете извлечь то, что изначально зашло в mp3, и не разделять инструменты.

У меня есть друг, который звукорежиссёр, и он всегда должен сказать "нет" людям, которые просят его перестроить трек, записанный как mp3.

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