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.