Domanda:
Perché il rilevamento automatico delle chiavi è difficile?
Tyler Durden
2018-04-23 06:13:40 UTC
view on stackexchange narkive permalink

Da quello che ho capito, è difficile per gli algoritmi automatici capire la tonalità di un brano musicale registrato. Ad esempio, in una recensione di una gamma di software "DJ" professionali con una funzione di rilevamento chiave, il software in genere ha ottenuto un punteggio di circa il 50%, indovinando la chiave corretta solo per la metà del tempo.

Credo di essere confuso da questo. Se possiamo avere software come Auto-Tune in grado di regolare la musica in modo che sia nella tonalità corretta, perché è così difficile rilevare la chiave in primo luogo?

Anche gli umani hanno difficoltà a rilevare le chiavi. Sembra un compito per cui sarebbe molto più difficile programmare un computer che farlo da soli, per quanto difficile sia per un essere umano farlo.
A quanto ho capito, l'Auto-Tune non "regola la musica per essere nella tonalità corretta", ma si limita a spostare le altezze al semitono più vicino. Questo è un problema molto più semplice del rilevamento delle chiavi.
@DavidBowling Autotune può fare una o entrambe le cose. Quando la sintonizzazione automatica corregge il tono con il tono più vicino nella tonalità, non viene eseguito rilevando la tonalità da altra musica, la chiave viene scelta dall'utente. Quello che Tyler Durden non capisce qui è che l'analisi richiesta per il software di correzione del tono è molto semplice: rilevare il tono. Una volta rilevato il tono, è molto semplice determinare il tono più vicino e quindi spostarlo su quello. Rilevare le piazzole è facile. Rilevare le chiavi è molto più complicato.
@Stinkfoot Le domande sono molto simili ma nessuna delle risposte del candidato imbroglione si avvicina neanche lontanamente a rispondere a questa domanda. Penso che una differenza importante sia che questa domanda chiede "perché?", Non "cosa?".
@ToddWilcox - Sono d'accordo. Ho ritirato il mio voto favorevole.
Questa domanda otterrebbe risposte molto migliori sul sito Software Engineering SE
Data una sequenza di note, potrebbero esserci più chiavi corrispondenti, anche se il compositore ne aveva in mente solo una. La stessa sequenza di note può corrispondere a due scale, ma funziona come gradi di scala diversi in ciascuna scala. Senza conoscere l'intento del compositore, la risposta può essere ambigua. A peggiorare le cose, i compositori infrangono regolarmente le regole e usano note al di fuori della tonalità in cui stanno componendo.
Qualcuno di questi rilevatori automatici di chiavi rileverà la politonalità o almeno la bitonalità? La politonalità non è limitata alla musica classica, ho scoperto: il tema di Giratina da Pokemon Platinum è bitonale in alcune parti (si maggiore in acuti, sol frigio / do minore in basso) e il tema di amministrazione del Team Galactic da Pokemon Diamond / Pearl / Platinum è anche bitonale in alcune parti (la bemolle minore negli acuti, fa minore in basso).
Quattro risposte:
endorph
2018-04-23 08:28:58 UTC
view on stackexchange narkive permalink

Ci sono alcuni fattori in gioco qui:


Supponiamo di avere un software magico, che può ascoltare l'audio e dirci esattamente quali note vengono suonate. Anche con questo software, determinare la chiave non è un problema banale. Certo, ci sono casi semplici, ma anche gli umani non sono d'accordo su molte canzoni. Un computer non ha possibilità.

Prendi Sweet Home Alabama. Gli accordi sono D C G . Molti elettroni sono stati sprecati a discutere se questo fosse un V IV I in sol maggiore o un I bVII IV in re maggiore. Personalmente penso che sia nella chiave "per favore, non suonarlo mai più", quindi evito di analizzare troppo da vicino la cosa infernale.

Oppure prendi Hey Jude. 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 un po '. Se trasponiamo un po ', anche gli accordi sono D C G . Ma questo è abbastanza chiaramente un I bVII IV in re maggiore. Il contesto è importante e la creazione di un algoritmo per determinare automaticamente tale contesto è un problema complesso.


Quindi, abbiamo stabilito che il 100% delle canzoni intervistate con un codice D > La progressione di C G è fastidiosa. La parte successiva del problema è in realtà ottenere un elenco di passi per eseguire questo riconoscimento chiave.

Noterai che ho usato la parola "magico" nella sezione precedente. La maggior parte dei software di riconoscimento del tono eseguirà una sorta di analisi della frequenza. Fondamentalmente, catturano una sezione dell'audio e determinano quali frequenze sono presenti. Conosciamo la frequenza di ogni nota, quindi possiamo mappare quell'elenco di frequenze a un elenco di altezze.

Non così in fretta. Sfortunatamente, quando uno strumento suona una nota, produce più di una frequenza. Ecco perché un pianoforte non suona come una chitarra. Alcune di queste frequenze saranno armoniche; cioè, multipli della frequenza radice. Altri no. Se lo strumento non è intonato (come percussioni non accordate o spazzamento del rumore), ci saranno molte di queste frequenze inarmoniche.

Se hai una traccia completa, separando tutte queste frequenze, determinando quali sono le altezze e che sono armoniche, non è banale. È un po 'come cercare di separare gli ingredienti di un milkshake una volta che sono stati mescolati. È certamente possibile ottenere una buona approssimazione, ma è difficile dire esattamente cosa si stesse riproducendo. L'orecchio umano (addestrato) è molto più bravo in questo compito rispetto ai computer.

Ora, per essere onesti, se stai solo cercando di determinare la chiave (piuttosto che trascrivere ogni nota), questo problema è più facile risolvere. Non mi interessa chi suona quale nota; solo la struttura armonica complessiva. Ma c'è ancora molto spazio per il tuo computer per commettere errori qui.


Un paio di commenti hanno osservato che anche se hai un elenco di passi, convertirli in nomi di note richiede qualche idea del chiave. Questo perché, nella stragrande maggioranza della musica occidentale, abbiamo il concetto di enarmonica. Fondamentalmente, A # e Bb hanno la stessa frequenza e scegliamo il nome in base alla tonalità.

Per molta musica, questo non è un grosso problema. Ad esempio, ecco una serie di passi:

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

È abbastanza ovvio che questo è B ♭ Major. Potresti chiamarlo A # Major, ma è un modo molto più complicato di scrivere la scala, quindi non lo facciamo. Allo stesso modo, C ♭♭ Major non è un buon nome. Questo tipo di euristica è abbastanza facile da aggiungere al software, quindi in questo semplice caso, non è davvero un problema.

Potrebbe essere più problematico quando ci sono due opzioni ugualmente corrette, come F # Major vs G ♭ major. Anche in questo caso, uno dei due è corretto, quindi sceglierne uno.

Se la chiave è più ambigua, questo potrebbe essere più un problema. Ma penso che gli altri problemi siano molto più significativi.


Infine, su Auto-Tune. Il lavoro di Auto-Tune è più semplice per un paio di motivi. In primo luogo, sta andando nella direzione opposta. Ha una serie di note "buone" (semitoni o una chiave specificata dall'utente) e sposta le note "cattive" di conseguenza. Non è necessario assegnare una chiave. In secondo luogo, generalmente si regola automaticamente un singolo strumento isolato. È molto più facile da gestire rispetto a un mix completo. Non so cosa farà Auto-Tune se lo esegui su tutto il mix in una volta, ma non credo che sarà carino.


In breve:

  • Anche dato un elenco di tutte le note / accordi, il rilevamento della tonalità non è banale
  • Ottenere automaticamente quell'elenco di note e accordi non è un processo affidabile

Di conseguenza, i computer possono certamente tentare il riconoscimento automatico delle chiavi e avvicinarsi in molti casi, ma è improbabile che siano accurati al 100%. Se qualcuno volesse dimostrare che ho torto, mi piacerebbe una copia gratuita del tuo software per verificare le tue affermazioni. Per scopi scientifici, ovviamente.

In realtà, il tuo software magico potrebbe esistere davvero. Penso che Celemony Melodyn possa riconoscere tutte le altezze di un brano musicale, se tutto va bene.
"* Una traccia completamente mixata è un problema molto più difficile. *" E penso che i peggiori trasgressori siano [strumenti a percussione non intonati] (https://en.wikipedia.org/wiki/Unpitched_percussion_instrument) perché i loro suoni sono considerati "rumore" per il software.
@AndrewT. Sì, il mio profano suppone che sia una combinazione del suono inarmonico generato dalle percussioni e il problema di distinguere "armonici generati da un singolo timbro" da "note distinte effettive". Detto questo, non ho usato Melodyne. E i miei tentativi con AudioScore risalgono a cinque o sei anni fa.
Se Sweet Home Alabama non è in Sol, deve essere permanentemente modulante. Quante canzoni lo fanno?
@Tim Nah, l'argomento è solitamente "V IV I" in sol maggiore vs. "I bVII IV" in re maggiore. Onestamente non ho passato molto tempo a pensarci, ma ho visto i thread del forum di 30 pagine che ne discutevano. Questo è Internet.
È [L'abito] (https://en.wikipedia.org/wiki/The_dress) del mondo della musica ... FWIW Sono un ragazzo "I bVII IV"!
@topomorto - quindi, una delle 12 battute che ho suonato la scorsa notte non era in realtà in LA, come pensavamo, ma era in E ... Divertente, perché sembrava che la A fosse la chiave migliore!
Accontentiamoci una volta per tutte con un compromesso: _Sweet Home Alabama è in si maggiore! _ Oh, o è si maggiore? No, dovremmo girarci intorno e chiamarlo Mi quartonote-diesis maggiore? Dannazione...
Su una nota più seria: mi chiedo perché Sweet Home Alabama suona più come ** Ⅴ ** ** Ⅳ ** ** Ⅰ ** (a me e apparentemente anche ad altri), mentre ad es. l'outro di Hey Jude è abbastanza chiaramente ** Ⅰ ** ** Ⅶ ♭ ** ** Ⅳ **.
@ToddWilcox Ho un software che è garantito per vincere il jackpot su qualsiasi lotteria, se tutto va bene.
@leftaroundabout Hey Jude si afferma fermamente come se fosse in F prima del finale. Anche in Sweet Home Alabama la V e la IV prendono mezza battuta ciascuna, il che rende la I un po 'più forte e più casalinga. Infine, la coda di Hey Jude inizia con un fa maggiore molto deciso supportato da una melodia che delinea molto chiaramente quell'accordo. Sweet Home Alabama è molto più ambiguo.
Per essere più chiari, i computer, come gli esseri umani, possono solo sentire le altezze: la * nota * è un concetto astratto. La tua "lista di tutte le note" presuppone già una chiave - quello che avrai è una lista di altezze e il compito del rilevamento della chiave è decidere quali nomi vuoi dare a quelle altezze; per decidere come trascriverli come note. Non puoi avere un elenco di note a meno che tu non abbia già deciso se un dato tono è LA♯ o SI ♭, e con questo hai deciso anche la tonalità. Anche un gruppo di umani probabilmente lo farebbe in modo diverso per molti pezzi senza spartiti e una registrazione da trascrivere.
https://youtu.be/DVPq_-oJV5U La recente interpretazione di Adam Neely di Sweet Home Alabama e la denominazione delle chiavi
Stinkfoot
2018-04-23 09:22:16 UTC
view on stackexchange narkive permalink

Credo di essere confuso da questo. Se possiamo avere un software come Auto-Tune in grado di regolare la musica in modo che sia nella tonalità corretta, perché è così difficile rilevare la chiave in primo luogo?

Senza entrare in nessuno dei i particolari del rilevamento automatico delle chiavi e le sue difficoltà, penso che la risposta a questa domanda sia abbastanza semplice:

Auto Detect ha bisogno di un quadro di riferimento - una linea di base - da cui lavorare. La musica in qualsiasi tonalità ha uno schema particolare riflesso nelle sue note. Quando trasponiamo in una tonalità diversa, duplichiamo quel modello, usando solo note diverse.

Un esempio molto semplice:

Lo schema per la scala maggiore è:

Tonic-> Whole Step-> Whole Step- > Half Step-> Whole Step-> Whole Step-> Whole Step-> Half Step == Octave.

Seguendo lo schema che inizia dalla nota C, otteniamo C-> D-> E-> F-> G-> A-> B-> C.

Ma possiamo applicare altrettanto facilmente quello schema che inizia con la nota RE, dandoci
D->E->F#->G->A->B->C#->D .

Replicare un pattern da diversi punti di partenza è un ottimo lavoro per un computer - è una delle cose che sanno fare meglio - un'operazione di calcolo fondamentale. Questo perché non richiede alcun pensiero o analisi originale: è un processo semplice, meccanico / matematico, quindi, una volta che abbiamo la musica in una chiave stabilita, possiamo facilmente dire a un programma per computer di trasporre quella musica in una chiave diversa - semplicemente replicare il pattern con un diverso insieme di note.

Ma rilevare la chiave originale senza un quadro di riferimento preesistente con cui lavorare e replicare è un lavoro molto diverso e molto più difficile per un computer. Richiede analisi, discernimento e giudizio. Non vi è alcun modello da replicare. Richiede una grande quantità di informazioni e conoscenze sulla musica per determinare la tonalità di un pezzo, ea volte è abbastanza ambigua. Affinché un programma possa determinare con precisione la tonalità di un brano musicale, deve avere a disposizione tutta questa conoscenza ed essere in grado di usarla per arrivare alla tonalità corretta. Come sviluppatore di software, posso dirti che è davvero un problema informatico difficile: farlo bene non è un'impresa da poco.

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

Anche le singole note hanno più nomi: ho appena suonato Sol diesis o La bemolle? Lo stesso gruppo di note può essere denominato come uno qualsiasi di diversi accordi. Se suono Do, Mi bemolle, Sol, Si bemolle, intendo Do m7 o Mi bemolle 6? Dipende dalla tonalità in cui si trova la composizione e quella "tonalità" dipende dal contesto generale (di solito di tutte) le altre note e accordi nella composizione. L'idea di una "chiave" è un modello mentale astratto che sovrapponiamo a un fenomeno acustico per comprenderne meglio la struttura. Quel "fenomeno acustico" (composizione musicale) può essere molto complesso e, indipendentemente dal fatto che sia matematicamente preciso e regolare o sciolto e di forma libera, il nostro modello sarà necessariamente un'approssimazione. In altre parole, la musica stessa è una realtà fisica (vibrazioni nel mondo reale), la "Chiave" esiste solo nella nostra mente. Il rilevamento automatico delle chiavi è una di quelle cose che gli scienziati chiamano un "problema difficile".

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

Il problema è difficile perché lo fanno i compositori.

Probabilmente, la definizione stessa di composizione musicale è oscurare e interpretare. La metà delle tecniche che apprendiamo hanno a che fare con il prolungamento, la sospensione, l'evasione, la ricerca di modi per far sembrare consonanti note dissonanti, ecc. Se ti iscrivi all ' Analisi Schenkeriana potresti persino credere che tutti i veri capolavori non siano niente più di un (molto complesso) abbellimento di I.

La musica interessante è progettata per sfidare il tuo orecchio a trovare la sua ragione interiore. E a volte non è nemmeno lì. Non c'è da meravigliarsi che i computer abbiano problemi con esso.

Questo non risponde davvero alla domanda, poiché la premessa della domanda è vera anche per la più semplice delle canzoni pop. Hai ragione in quanto è più difficile dedurre la chiave di "capolavori" come la dici tu, ma ciò non riduce la risposta alla domanda semplicemente "i compositori sono deliberatamente ottusi"
@MattTaylor - Devo non essere d'accordo; Penso che questa sia una risposta abbastanza buona. Questo in realtà non dice che "i compositori sono deliberatamente ottusi", ma è vero che la musica, anche la musica relativamente senza pretese, sviluppa interesse evitando la risoluzione, suggerendo altre tonalità e generalmente frustrando il senso della tonalità. Un sacco di semplice musica pop evita la semplice aderenza a una tonalità perché non conosce meglio, e anche il blues complica le cose usando accordi di settima ovunque.
"la definizione stessa di composizione musicale è oscurare e interpretare" Da dove nel mondo lo prendi? Che ne dici di "Crea suoni piacevoli" o "Esprimi emozioni"?
_La musica interessante è progettata per sfidare il tuo orecchio a trovare la sua ragione interiore_ Considereresti Mozart "interessante"?
@MattTaylor "i compositori sono deliberatamente ottusi" non sembra una giusta interpretazione di questa risposta. deliberatamente * opaco *, forse, ma poi c'è del vero in questo - ecco perché le persone fanno domande come [questa] (https://music.stackexchange.com/questions/70012/sources-of-harmonic-ambiguity-in -tonal-music)
@MattTaylor Dirti cosa, Matt. Pubblichi quella che consideri la canzone pop più "semplice" di oggi; Modificherò la mia risposta per spiegare alcune delle tecniche di composizione che utilizza che oscurano la chiave.
Sfida @JohnWu accettata. Canzone 1: Blink 182 - tutte le piccole cose. E non solo ciò che non è "in chiave", voglio che tu giustifichi il motivo per cui _deliberatamente_ inseriscono quegli elementi per allontanarti da 1, 4, 5, 6.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...