Frage:
Warum ist die automatische Schlüsselerkennung schwierig?
Tyler Durden
2018-04-23 06:13:40 UTC
view on stackexchange narkive permalink

Soweit ich weiß, ist es für automatische Algorithmen schwierig, den Schlüssel eines aufgenommenen Musikstücks herauszufinden. Zum Beispiel erzielte die Software in einer Überprüfung einer Reihe professioneller "DJ" -Software mit einer Schlüsselerkennungsfunktion in der Regel etwa 50% und erriet nur die Hälfte der Zeit den richtigen Schlüssel.

Ich glaube, das verwirrt mich. Wenn wir Software wie Auto-Tune haben können, die Musik so einstellen kann, dass sie in der richtigen Tonart ist, warum ist es dann überhaupt so schwierig, die Tonart zu erkennen?

Sogar Menschen haben Schwierigkeiten, Schlüssel zu erkennen. Das scheint eine Aufgabe zu sein, für die es viel schwieriger wäre, einen Computer zu programmieren, als sich selbst zu erledigen, so schwer es für einen Menschen ist, dies zu tun.
So wie ich es verstehe, passt Auto-Tune die Musik nicht wirklich an die richtige Tonart an, sondern verschiebt lediglich die Tonhöhen auf den nächsten Halbton. Das ist ein viel einfacheres Problem als die Schlüsselerkennung.
@DavidBowling Autotune kann eines oder beide ausführen. Wenn Autotune die Tonhöhe auf die nächste Tonhöhe in der Taste korrigiert, erfolgt dies nicht durch Erkennen der Tonart aus anderer Musik, sondern durch die Auswahl der Taste durch den Benutzer. Was Tyler Durden hier nicht versteht, ist, dass die für die Tonhöhenkorrektur-Software erforderliche Analyse sehr einfach ist: Erkennen Sie die Tonhöhe. Sobald die Tonhöhe erkannt wurde, ist es sehr einfach, die nächstgelegene Tonhöhe zu bestimmen und die Tonhöhe dann darauf zu verschieben. Das Erkennen von Tonhöhen ist einfach. Das Erkennen von Schlüsseln ist viel komplizierter.
@Stinkfoot Die Fragen sind sehr ähnlich, aber keine der Antworten des Kandidaten betrügt die Beantwortung dieser Frage. Ich denke, ein wichtiger Unterschied ist, dass diese Frage "warum?" Und nicht "was?" Fragt.
@ToddWilcox - Ich stimme zu. Ich habe meine enge Abstimmung zurückgezogen.
Diese Frage würde auf der Website von Software Engineering SE viel bessere Antworten erhalten
Bei einer Folge von Noten kann es mehrere übereinstimmende Tasten geben, obwohl der Komponist nur eine im Sinn hatte. Dieselbe Notenfolge kann mit zwei Skalen übereinstimmen, fungiert jedoch in jeder Skala als unterschiedliche Skalengrade. Ohne die Absicht des Komponisten zu kennen, kann die Antwort mehrdeutig sein. Um die Sache noch schlimmer zu machen, brechen Komponisten regelmäßig die Regeln und verwenden Notizen außerhalb der Tonart, in der sie komponieren.
Würde einer dieser automatischen Schlüsseldetektoren Polytonalität oder zumindest Bitonalität erkennen? Ich habe festgestellt, dass Polytonalität nicht auf klassische Musik beschränkt ist: Giratinas Thema aus Pokemon Platinum ist teilweise bitonal (B-Dur in Höhen, G-Phrygisch / c-Moll in Bass) und das Team Galactic Admin-Thema aus Pokemon Diamond / Pearl / Platinum ist auch teilweise bitonal (a-Moll in Höhen, f-Moll in Bässen).
Vier antworten:
endorph
2018-04-23 08:28:58 UTC
view on stackexchange narkive permalink

Hier spielen einige Faktoren eine Rolle:


Nehmen wir an, wir haben eine magische Software, die Audio hören und uns genau sagen kann, welche Noten gespielt werden. Selbst mit dieser Software ist die Bestimmung des Schlüssels kein triviales Problem. Sicher, es gibt einfache Fälle, aber selbst Menschen sind sich über viele Songs nicht einig. Ein Computer hat keine Chance.

Nehmen Sie Sweet Home Alabama mit. Die Akkorde sind D C G . Viele Elektronen wurden verschwendet, um darüber zu streiten, ob dies ein V IV I in G-Dur oder ein I bVII IV in D-Dur. Ich persönlich denke, es liegt in der Tonart "Bitte spiele das nie wieder", also vermeide ich es, die höllische Sache zu genau zu analysieren.

Oder nimm Hey Jude. Die na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na na bisschen. Wenn wir ein wenig transponieren, sind die Akkorde auch D C G . Aber das ist ziemlich klar ein I bVII IV in D-Dur. Der Kontext ist wichtig, und die Erstellung eines Algorithmus zur automatischen Ermittlung dieses Kontexts ist ein komplexes Problem.


Wir haben also festgestellt, dass 100% der untersuchten Songs einen D code haben > C G Progression sind ärgerlich. Der nächste Teil des Problems besteht darin, eine Liste der Tonhöhen für diese Tastenerkennung zu erhalten.

Sie werden feststellen, dass ich im vorherigen Abschnitt das Wort "magisch" verwendet habe. Die meisten Tonhöhenerkennungssoftware führen eine Art Frequenzanalyse durch. Grundsätzlich greifen sie auf einen Audioabschnitt zu und bestimmen, welche Frequenzen vorhanden sind. Wir kennen die Frequenz jeder Note, daher können wir diese Liste der Frequenzen einer Liste der Tonhöhen zuordnen.

Nicht so schnell. Wenn ein Instrument eine Note spielt, erzeugt es leider mehr als eine Frequenz. Deshalb klingt ein Klavier nicht wie eine Gitarre. Einige dieser Frequenzen sind harmonisch; das heißt, Vielfache der Wurzelfrequenz. Andere werden nicht. Wenn das Instrument nicht gestimmt ist (z. B. nicht gestimmte Percussion oder Noise Sweep), gibt es viele dieser unharmonischen Frequenzen.

Wenn Sie eine vollständige Spur haben, trennen Sie alle diese Frequenzen und bestimmen Sie, welche Tonhöhen es sind. und welche harmonisch sind, ist nicht trivial. Es ist so, als würde man versuchen, die Zutaten eines Milchshakes zu trennen, sobald sie gemischt sind. Es ist sicherlich möglich, eine gute Annäherung zu erhalten, aber es ist schwierig, genau zu sagen, was gespielt wurde. Das (trainierte) menschliche Ohr ist bei dieser Aufgabe viel besser als Computer.

Um fair zu sein, wenn Sie nur versuchen, den Schlüssel zu bestimmen (anstatt jede Note zu transkribieren), ist dieses Problem einfacher lösen. Es ist mir egal, wer welche Note spielt; nur die gesamte harmonische Struktur. Aber es gibt immer noch viel Platz für Ihren Computer, um hier Fehler zu machen.


In einigen Kommentaren wurde festgestellt, dass selbst wenn Sie eine Liste von Tonhöhen haben, die Konvertierung in Notennamen eine Vorstellung von der erfordert Schlüssel. Dies liegt daran, dass wir in der überwiegenden Mehrheit der westlichen Musik das Konzept der Enharmonik haben. Grundsätzlich haben A # und Bb die gleiche Frequenz, und wir wählen den Namen basierend auf der Taste.

Für viele Musikstücke ist dies kein wirklich großes Problem. Hier ist beispielsweise eine Reihe von Tonhöhen:

A # / B ♭ / C ♭♭ B # / C / D ♭♭ C ## / D / E ♭♭ D # / E ♭ / F ♭♭ E # / F / G ♭♭ F ## / G / A ♭♭ G##/A/B♭♭

Es ist ziemlich offensichtlich, dass dies B-Dur ist. Man könnte es A # Major nennen, aber das ist eine viel kompliziertere Art, die Skala zu buchstabieren, also tun wir es nicht. Ebenso ist C ♭♭ Major kein guter Name. Diese Art von Heuristik lässt sich ganz einfach zur Software hinzufügen. In diesem einfachen Fall ist dies also kein wirkliches Problem.

Es könnte problematischer sein, wenn es zwei gleich richtige Optionen gibt, wie F # Dur gegen G ♭ Dur. Auch hier ist beides richtig, also wählen Sie einfach einen aus.

Wenn der Schlüssel mehrdeutig ist, kann dies ein größeres Problem sein. Aber ich denke, die anderen Probleme sind viel bedeutender.


Schließlich bei Auto-Tune. Die Arbeit von Auto-Tune ist aus mehreren Gründen einfacher. Erstens geht es in die andere Richtung. Es enthält eine Reihe von "guten" Noten (Halbtöne oder eine benutzerdefinierte Taste) und verschiebt alle "schlechten" Noten entsprechend. Es muss kein Schlüssel zugewiesen werden. Zweitens stimmen Sie im Allgemeinen ein einzelnes isoliertes Instrument automatisch ab. Das ist viel einfacher zu handhaben als eine komplette Mischung. Ich weiß nicht, was Auto-Tune tun wird, wenn Sie es über den gesamten Mix gleichzeitig ausführen, aber ich denke nicht, dass es hübsch sein wird.


Kurz gesagt:

  • Selbst bei einer Liste aller Noten / Akkorde ist die Tastenerkennung nicht trivial.
  • Das automatische Abrufen dieser Liste von Noten und Akkorden ist kein zuverlässiger Prozess.

Infolgedessen können Computer zwar eine automatische Schlüsselerkennung versuchen und sich in vielen Fällen nähern, aber es ist unwahrscheinlich, dass sie jemals 100% genau sind. Wenn jemand mir das Gegenteil beweisen möchte, würde ich gerne eine kostenlose Kopie Ihrer Software erhalten, um Ihre Behauptungen zu überprüfen. Natürlich für wissenschaftliche Zwecke.

Tatsächlich könnte Ihre magische Software tatsächlich existieren. Ich denke, Celemony Melodyn kann alle Tonhöhen in einem Musikstück erkennen, wenn alles richtig läuft.
"* Ein vollständig gemischter Track ist ein viel schwierigeres Problem. *" Und ich denke, die schlimmsten Straftäter sind [ungestimmte Schlaginstrumente] (https://en.wikipedia.org/wiki/Unpitched_percussion_instrument), weil ihre Klänge als "Lärm" angesehen werden die Software.
@AndrewT. Ja, mein Laie vermutet, dass es sich um eine Kombination aus dem durch Percussion erzeugten unharmonischen Klang und dem Problem der Unterscheidung zwischen "Obertönen, die von einem einzelnen Timbre erzeugt werden" und "tatsächlichen unterschiedlichen Noten" handelt. Trotzdem habe ich Melodyne nicht benutzt. Und meine Versuche mit AudioScore sind jetzt vor fünf oder sechs Jahren.
Wenn Sweet Home Alabama nicht in G ist, muss es permanent moduliert werden. Wie viele Songs machen das?
@Tim Nein, das Argument ist normalerweise "V IV I" in G-Dur gegen "I bVII IV" in D-Dur. Ich habe ehrlich gesagt keine Zeit damit verbracht, darüber nachzudenken, aber ich habe die 30-seitigen Forenthreads gesehen, die darüber gestritten haben. So ist das Internet.
Es ist [Das Kleid] (https://en.wikipedia.org/wiki/The_dress) der Musikwelt ... FWIW Ich bin ein "I bVII IV" Typ!
@topomorto - also war einer der 12 Takte, die ich letzte Nacht gespielt habe, nicht in A, wie wir dachten, sondern in E ... Komisch, denn es klang, als wäre A der beste Schlüssel!
Lassen Sie uns einfach ein für alle Mal einen Kompromiss eingehen: _Sweet Home Alabama ist in B-Dur! _ Oh, oder ist es B-Dur? Nein, sollten wir uns in die andere Richtung wickeln und es E-Quarternoten-scharfes Dur nennen? Verdammt...
Im Ernst: Ich frage mich, warum Sweet Home Alabama eher nach ** Ⅴ ** ** Ⅳ ** ** Ⅰ ** klingt (für mich und anscheinend auch für andere), während z. Das Outro von Hey Jude ist ganz klar ** Ⅰ ** ** Ⅶ ♭ ** ** Ⅳ **.
@ToddWilcox Ich habe eine Software, die garantiert den Jackpot bei jeder Lotterie gewinnt, wenn alles richtig läuft.
@leftaroundabout Hey Jude etabliert sich fest als in F vor dem Ende. Auch in Sweet Home Alabama nehmen V und IV jeweils einen halben Takt, wodurch das I etwas stärker und heimeliger klingt. Schließlich beginnt die Hey Jude-Coda mit einem sehr festen F-Dur, das von einer Melodie unterstützt wird, die diesen Akkord sehr klar umreißt. Sweet Home Alabama ist viel mehrdeutiger.
Um es klarer auszudrücken, Computer können wie Menschen nur Tonhöhen hören - die * Note * ist ein abstraktes Konzept. Ihre "Liste aller Noten" setzt bereits eine Tonart voraus. Sie haben eine Liste der Tonhöhen. Die Aufgabe der Tastenerkennung besteht darin, zu entscheiden, welche Namen Sie diesen Tonhöhen geben möchten. um zu entscheiden, wie Sie sie als Notizen transkribieren würden. Sie können keine Notenliste haben, es sei denn, Sie haben bereits entschieden, ob eine bestimmte Tonhöhe A♯ oder B is ist, und damit haben Sie auch die Tonart festgelegt. Sogar eine Gruppe von Menschen würde dies wahrscheinlich für viele Stücke anders machen, wenn sie keine Noten und eine Aufnahme zum Transkribieren hätten.
https://youtu.be/DVPq_-oJV5U Adam Neelys jüngste Version von Sweet Home Alabama und die Benennung von Schlüsseln
Stinkfoot
2018-04-23 09:22:16 UTC
view on stackexchange narkive permalink

Ich glaube, das verwirrt mich. Wenn wir Software wie Auto-Tune haben können, die Musik so einstellen kann, dass sie in der richtigen Tonart ist, warum ist es dann überhaupt so schwierig, die Tonart zu erkennen?

Ohne auf eine der Tasten einzugehen Angesichts der Einzelheiten der automatisierten Schlüsselerkennung und ihrer Schwierigkeiten ist die Antwort auf diese Frage meiner Meinung nach recht einfach:

Die automatische Erkennung benötigt einen Referenzrahmen - eine Basislinie -, von der aus gearbeitet werden kann. Musik in jeder Tonart hat ein bestimmtes Muster, das sich in den Noten widerspiegelt. Wenn wir auf eine andere Tonart transponieren, duplizieren wir dieses Muster nur mit unterschiedlichen Noten.

Ein sehr einfaches Beispiel:

Das Muster für die Hauptskala lautet:

Tonic-> Whole Step-> Whole Step- > Halber Schritt-> Ganzer Schritt-> Ganzer Schritt-> Ganzer Schritt-> Halber Schritt == Oktave.

Wenn wir diesem Muster ab Note C folgen, erhalten wir C-> D-> E-> F-> G-> A-> B-> C.

Aber wir können uns genauso einfach bewerben Dieses Muster beginnt mit der Note D und gibt uns
D-> E-> F#-> G-> A-> B-> C#-> D

Das Replizieren eines Musters von verschiedenen Startpunkten aus ist eine großartige Aufgabe für einen Computer - es ist eines der Dinge, die sie am besten können - eine grundlegende Rechenoperation. Dies liegt daran, dass keine originellen Gedanken oder Analysen erforderlich sind - es ist ein einfacher, mechanischer / mathematischer Prozess. Sobald wir also Musik in einer festgelegten Tonart haben, können wir einem Computerprogramm leicht anweisen, diese Musik auf eine andere Tonart zu übertragen - replizieren Sie einfach die Muster mit einem anderen Satz von Noten.

Das Erkennen des Originalschlüssels ohne bereits vorhandenen Referenzrahmen zum Arbeiten und Replizieren ist jedoch eine ganz andere und viel schwierigere Aufgabe für einen Computer. Es erfordert Analyse und Unterscheidung und Urteilsvermögen. Es ist kein Muster zu replizieren. Es erfordert eine Menge Informationen und Kenntnisse über Musik, um den Schlüssel eines Stücks zu bestimmen, und es ist manchmal ziemlich zweideutig. Damit ein Programm die Tonart eines Musikstücks genau bestimmen kann, muss es über all dieses Wissen verfügen und es verwenden können, um zur richtigen Tonart zu gelangen. Als Softwareentwickler kann ich Ihnen sagen, dass dies in der Tat ein schwieriges Computerproblem ist - es ist keine leichte Aufgabe, es richtig zu machen.

MickeyfAgain_BeforeExitOfSO
2018-04-23 17:10:27 UTC
view on stackexchange narkive permalink

Auch einzelne Noten haben mehrere Namen - habe ich gerade Gis oder A gespielt? Dieselbe Notengruppe kann als einer von mehreren Akkorden bezeichnet werden. Wenn ich C, Es, G, B spiele, meine ich C m7 oder Es 6? Dies hängt davon ab, in welcher Tonart sich die Komposition befindet, und diese "Tonart" hängt vom Gesamtkontext (normalerweise aller) der anderen Noten und Akkorde in der Komposition ab. Die Idee eines "Schlüssels" ist ein abstraktes mentales Modell, das wir einem akustischen Phänomen überlagern, um dessen Struktur besser zu verstehen. Dieses "akustische Phänomen" (musikalische Komposition) kann sehr komplex sein, und egal ob es mathematisch präzise und regelmäßig oder locker und frei ist, unser Modell davon wird notwendigerweise eine Annäherung sein. Anders ausgedrückt, die Musik selbst ist eine physische Realität (Schwingungen in der realen Welt), der "Schlüssel" existiert nur in unseren Gedanken. Die automatische Schlüsselerkennung ist eines der Dinge, die Wissenschaftler als "schweres Problem" bezeichnen.

John Wu
2018-04-23 14:44:42 UTC
view on stackexchange narkive permalink

Das Problem ist schwierig, weil Komponisten es so machen.

Die Definition von Musikkomposition besteht wohl darin, sie zu verschleiern und zu interpretieren. Die Hälfte der Techniken, die wir lernen, haben mit Verlängerung, Suspendierung, Ausweichen, dem Finden von Wegen zu tun, dissonante Noten als konsonant erscheinen zu lassen usw. Wenn Sie die Schenkerian-Analyse abonnieren, glauben Sie vielleicht sogar, dass alle wahren Meisterwerke nichts sind mehr als eine (sehr komplexe) Verschönerung von I.

Interessante Musik soll Ihr Ohr herausfordern, seinen inneren Grund zu finden. Und manchmal ist es gar nicht da. Kein Wunder, dass Computer Probleme damit haben.

Dies beantwortet die Frage nicht wirklich, da die Prämisse der Frage auch für die einfachsten Popsongs gilt. Sie haben insofern Recht, als es schwieriger ist, den Schlüssel von "Meisterwerken" abzuleiten, wie Sie es ausdrücken, aber das reduziert die Antwort auf die Frage nicht auf einfach "Komponisten sind absichtlich stumpf".
@MattTaylor - Ich muss nicht zustimmen. Ich denke, dass dies eine ziemlich gute Antwort ist. Dies bedeutet nicht wirklich, dass "Komponisten absichtlich stumpf sind", aber es ist wahr, dass Musik, selbst relativ bescheidene Musik, Interesse entwickelt, indem sie Auflösung vermeidet, andere Tonarten vorschlägt und im Allgemeinen den Sinn für Tonart frustriert. Viele einfache Popmusik vermeidet das einfache Festhalten an einer Tonart, weil sie es nicht besser weiß, und selbst der Blues erschwert die Sache, indem sie überall Septakkorde verwendet.
"Die eigentliche Definition von Musikkomposition ist, zu verdunkeln und zu interpretieren." Woher in aller Welt bekommen Sie das? Was ist mit "Erstellen Sie angenehme Klänge" oder "Emotionen ausdrücken"?
_Interessante Musik soll Ihr Ohr herausfordern, ihren inneren Grund zu finden_ Würden Sie Mozart als "interessant" betrachten?
@MattTaylor "Komponisten sind absichtlich stumpf" scheint keine faire Interpretation dieser Antwort zu sein. Vielleicht absichtlich * undurchsichtig *, aber dann stimmt etwas - weshalb Leute Fragen wie [diese] stellen (https://music.stackexchange.com/questions/70012/sources-of-harmonic-ambiguity-in -tonale-Musik)
@MattTaylor Sag dir was, Matt. Sie veröffentlichen das, was Sie für den "einfachsten" Popsong von heute halten. Ich werde meine Antwort bearbeiten, um einige der Kompositionstechniken zu erklären, die den Schlüssel verdecken.
@JohnWu Challenge angenommen. Song 1: Blink 182 - all die kleinen Dinge. Und nicht nur, was nicht "in Schlüssel" ist, ich möchte, dass Sie begründen, warum sie diese Elemente absichtlich einsetzen, um Sie von 1, 4, 5, 6 wegzulenken.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...