0

Mein Freund Prasad Raghavendra und ich versucht, mit Machine Learning auf Audio zu experimentieren.Seperation von Audios Instrumenten aus einer einzigen Kanal Nicht-MIDI-Musikdatei

Wir machten es zu lernen und interessante Möglichkeiten bei jedem kommenden Treffen zu erkunden. Ich beschloss zu sehen, wie tiefes Lernen oder irgendein maschinelles Lernen mit bestimmten von Menschen bewerteten Audiosignalen gefüttert werden kann (Bewertung).

Zu unserer Bestürzung haben wir festgestellt, dass das Problem für die Dimensionalität des Eingangs zur Aufnahme aufgeteilt werden mußte. Also entschieden wir uns dafür, Vocals zu verwerfen und durch Begleitungen zu bewerten, mit der Annahme, dass Vocals und Instrumente immer korreliert sind.

Wir haben versucht, nach mp3/wav zum MIDI-Konverter zu suchen. Leider waren sie nur für einzelne Instrumente auf SourceForge und Github und andere Optionen sind Optionen bezahlt. (Ableton Live, Fruity Loops etc.) Wir haben uns entschieden, dies als Teilproblem zu betrachten.

Wir dachten an FFT, Bandpassfilter und bewegliches Fenster, um für diese zu passen.

Aber wir verstehen nicht, wie wir über Aufspaltung Instrumente gehen können, wenn Akkorde gespielt werden, und es gibt 5-6 Instrumente in der Datei.

  1. Nach welchen Algorithmen kann ich suchen?

  2. Mein Freund kann Keyboard spielen. Also, ich werde MIDI-Daten bekommen können. Aber, gibt es irgendwelche Datensätze dafür?

  3. Wie viele Instrumente können diese Algorithmen erkennen?

  4. Wie teilen wir das Audio? Wir haben nicht mehrere Audios oder die Mischmatrix

  5. Wir haben auch darüber nachgedacht, die Muster der Begleitungen herauszufinden und diese Begleitungen in Echtzeit zu benutzen, während wir mitsingen. Ich denke, wir in der Lage sein werden, darüber nachzudenken, wenn wir Antworten auf 1,2,3 erhalten und 4. (Wir denken über beiden Akkordfolgen und Markow Dynamik)

Vielen Dank für alle Hilfe!

P.S .: Wir haben auch versucht, FFT und wir sind in der Lage, einige Oberwellen zu sehen. Liegt es an Sinc() in fft, wenn Rechteckwelle im Zeitbereich eingegeben wird? Kann man damit das Timbre bestimmen? FFT of the signals considered

EDIT:

Wir waren in der Lage, das Problem grob zu formulieren. Aber wir finden es immer noch schwierig, das Problem zu formulieren. Wenn wir den Frequenzbereich für eine bestimmte Frequenz verwenden, sind die Instrumente nicht unterscheidbar. Eine Posaune, die mit 440 Hz spielt oder eine Gitarre, die mit 440 Hz spielt, würde dieselbe Frequenz haben, mit Ausnahme der Klangfarbe. Wir wissen immer noch nicht, wie wir das Timbre bestimmen können. Wir haben uns für den Zeitbereich entschieden, indem wir uns Notizen machen. Wenn eine Note eine bestimmte Oktave überschreitet, verwenden wir diese als separate Dimension +1 für die nächste Oktave, 0 für die aktuelle Oktave und -1 für die vorherige Oktave.

Wenn Noten von Buchstaben wie ‚A‘ dargestellt sind, ‚B‘, ‚C‘ etc, dann reduziert sich das Problem Matrizen Mischen.

O = MI während des Trainings. M ist die Mischmatrix, die mit dem bekannten O-Ausgang und I-Eingang der MIDI-Datei ermittelt werden muss.

Während der Vorhersage muss M jedoch durch eine Wahrscheinlichkeitsmatrix P ersetzt werden, die unter Verwendung von vorherigen M Matrizen erzeugt würde.

Das Problem reduziert ich vorhergesagt = P -1 O. Der Fehler würde dann auf LMSE von I reduziert werden. Wir können DNN verwenden, um P unter Verwendung von Rückausbreitung anzupassen.

Aber in diesem Ansatz nehmen wir an, dass die Noten "A", "B", "C" usw. bekannt sind. Wie erkennen wir sie augenblicklich oder in kurzer Zeit wie 0,1 Sekunden? Weil die Template-Anpassung aufgrund von Oberwellen möglicherweise nicht funktioniert. Irgendwelche Vorschläge würden sehr geschätzt.

+1

Polyphone Dekomposition scheint immer noch Forschungsthema zu sein. Auf dieser Konferenz wurden Hunderte von Forschungsartikeln zu diesem Thema vorgestellt: http://www.music-ir.org/mirex/wiki/MIREX_HOME – hotpaw2

+0

@ hotpaw2 Danke! Wie beginne ich? Kann ich mit mehreren Instrumenten variierendes Tempo annehmen? Das ist physikalisch unmöglich zu unterscheiden (gegebene Oberschwingungen). Aber wenn ich es trivialisiere, sagen wir, keines der Instrumente überschneidet sich mit Noten oder mit anderen Instrumenten, wird es keine Bedeutung haben. Wie baue ich Input und Output dafür? Ich habe gelesen über "Klassen von Instrumenten" manuell klassifiziert. Aber ich möchte den gesamten Prozess automatisieren - Es wird möglicherweise LMS in der Bewertungsfunktion verwenden. Irgendwelche Einblicke werden geschätzt! –

+0

Welche Annahmen für die ersten "Baby Steps" erforderlich sind, könnte selbst Ihr erstes Forschungsproblem sein. – hotpaw2

Antwort

0

Das Teilen der verschiedenen Teile ist ein maschinelles Lernproblem für sich. Leider können Sie dieses Problem nicht nur in Audio Land betrachten. Du musst die Musik in Betracht ziehen.

Sie müssen etwas trainieren, um musikalische Muster und Progressionen im Zusammenhang mit der Art der Musik, die Sie ihm geben, zu verstehen. Es muss verstehen, wie die verschiedenen Instrumente klingen, sowohl gemischt als auch nicht gemischt. Es muss verstehen, wie diese Instrumente oft zusammen gespielt werden, wenn sie überhaupt eine Chance haben, zu trennen, was passiert.

Dies ist ein sehr, sehr schwieriges Problem.

+0

Danke. Ja, ich weiß, dass es ein schweres Problem ist. Aber, wie bekomme ich einen Baby-Start (vielleicht mit zwei Instrumenten? Eine spielende Melodie und andere eine Gitarre, die Akkorde spielt?) Denn Menschen scheinen viele Instrumente zu erkennen und können Akkorde wie E7 bis E annähern. Wir sind wirklich interessiert als Wir werden viel über maschinelles Lernen lernen und auch die richtigen Freunde finden. Nochmals vielen Dank –

+0

@AkshayRathod Sie könnten überrascht sein, was Menschen können und was nicht, und wie viel musikalischer Kontext zählt. Ich könnte die obere Hälfte eines CMaj-Akkords spielen, aber wenn ich vorher ein A im Bass gespielt habe, wirst du das als Amin7 hören. Viel Glück, musikalischer Kontext aus FFT zu bekommen. :-) Es gibt sogar Situationen, in denen Menschen Dinge hören, die nicht existieren. Spielen Sie eine nach unten gerichtete Tonleiter auf einer Posaune bis zum tiefsten Punkt. Für die letzten 5 oder 6 Noten wird es keine fundamentalen geben! Der Mensch wird es aufgrund des musikalischen Kontexts wahrnehmen. – Brad

+0

@AkshayRathod Je nachdem, was Sie tun möchten, sind Sie wahrscheinlich besser dran, wenn Sie Stammdateien für Songs suchen, die Sie analysieren möchten. – Brad

Verwandte Themen