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

Сегодня я столкнулся с той же проблемой, и мне удалось заставить ее работать с этим кодом. Надеюсь, это поможет:

setTimeout(function(){ OpenSurvey(window,document,"script","smcx-sdk"); }, 60000);

function OpenSurvey(t,e,s,o){var n,a,c;t.SMCX=t.SMCX||[],e.getElementById(o)||(n=e.getElementsByTagName(s),a=n[n.length-1],c=e.createElement(s),c.type="text/javascript",c.async=!0,c.id=o,c.src=["https:"===location.protocol?"https://":"http://","widget.surveymonkey.com/collect/website/js/xxxxxxx.js"].join(""),a.parentNode.insertBefore(c,a))}
16
задан chaos 30 March 2009 в 17:47
поделиться

6 ответов

Мой студенческий проект имел дело с записью примечаний от файла 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

29
ответ дан 30 November 2019 в 16:25
поделиться

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

9
ответ дан 30 November 2019 в 16:25
поделиться

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

2
ответ дан 30 November 2019 в 16:25
поделиться

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

1
ответ дан 30 November 2019 в 16:25
поделиться

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

0
ответ дан 30 November 2019 в 16:25
поделиться

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

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

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

-1
ответ дан 30 November 2019 в 16:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: