Oggi è possibile utilizzare diversi servizi e app completamente gratuiti per scoprire i titoli delle canzoni che non si conoscono. Non si tratta di una novità: la possibilità di riconoscere le canzoni è stata messa nelle mani degli utenti già da diversi anni ma da qualche tempo è possibile addirittura usare che consentono di sapere come si chiama una canzone semplicemente canticchiandola o fischiettandola.
Come funzionano le tecnologie per scoprire il titolo di una canzone in pochi secondi
Molti sistemi di riconoscimento musicale convertono un campione audio in uno spettrogramma prima di elaborarlo al fine di trovare una corrispondenza.
Registrare e trattare un segnale audio campionato è facile dato che i moderni dispositivi audio sono già dotati di convertitori analogico-digitali: basta scegliere un linguaggio di programmazione, trovare una libreria appropriata, impostare la frequenza di campionamento, il numero dei canali (tipicamente mono o stereo), la dimensione del singolo campione (i.e. 16 bit) e memorizzare il flusso in ingresso come un array di byte.
Quello che abbiamo in questo array di byte è un segnale registrato nel dominio del tempo che rappresenta i cambiamenti di ampiezza del segnale nel tempo.
Rappresentando il segnale nel dominio della frequenza (qualsiasi segnale nel dominio del tempo può essere espresso descrivendo l’insieme di frequenze, ampiezze e fasi corrispondenti a ciascuna sinusoide che compone il segnale stesso) ciò che si ottiene è una sorta di impronta digitale o firma. Essa restituisce una rappresentazione statica di un segnale dinamico.
Utilizzando la Trasformata di Fourier veloce (FFT) è possibile approssimare il segnale di partenza con un ridotto sforzo computazionale sacrificando però buona parte delle informazioni sui tempi.
Per una canzone di tre minuti, ad esempio, possiamo ottenere tutte le frequenze e le loro ampiezze ma non abbiamo idea di quando siano apparse nella canzone: questa è invece proprio l’informazione cruciale che deve essere conservata per identificare un brano musicale.
Introducendo una sorta di finestra scorrevole che prende in considerazione un limitato chunk di dati è possibile svolgere un’analisi puntuale sul brano musicale e identificare univocamente ciascun prezzo.
Ad esempio, se la musica viene registrata in stereo con campioni a 16 bit e a 44.100 Hz, un secondo della registrazione sarà formato 44.100 campioni x 2 byte x 2 canali = 176 KB. Impostando la dimensione dei singoli chunk su 4 KB avremo 44 frammenti da analizzare per ogni secondo della canzone.
Una volta raccolte le informazioni sulla composizione delle frequenze si può passare a generare l’impronta digitale della specifica canzone che si sta elaborando.
La sfida principale consiste nel distinguere in maniera efficace, nell'”oceano” di frequenze catturate, quali sono quelle frequenze più importanti. Una buona idea è cercare le frequenze con l’ampiezza più importante, comunemente dette “picchi”.
A grandi linee è un po’ questo il funzionamento dei servizi e delle app che consentono di stabilire come si chiama una canzone: i campionamenti effettuati in ingresso usando il dispositivo mobile dell’utente vengono confrontati con le impronte digitali delle varie canzoni contenute in un grande database al fine di individuarne le corrispondenze.
E per riconoscere le canzoni canticchiate o fischiettate?
Mettere a confronto una canzone canticchiata o fischiettata con le impronte digitali dei brani musicali acquisiti in uno studio di registrazione è invece una vera e propria sfida come spiega Google in questa pagina.
Quando l’utente canticchia una canzone i modelli di machine learning Google trasformano l’audio in una sequenza numerica. Gli algoritmi eliminano dettagli come gli strumenti di accompagnamento, il timbro e il tono della voce: ciò che rimane è la sequenza numerica della canzone o sua impronta digitale.
Il lavoro impressionante che è stato svolto da Google riguarda l’addestramento del modello. Sono state utilizzate dapprima utilizzate coppie di canzoni (registrate e cantate) e poi sono state aggiunti flussi ulteriori ottenuti ad esempio variando tonalità e tempo. Il modello è stato poi ulteriormente affinato simulando la generazione di pezzi canticchiati.
Google – Che canzone è questa
A ottobre 2020 Google ha integrato nel suo assistente digitale un meccanismo che consente di risalire al titolo di qualunque brano musicale.
Per attivare il meccanismo basta toccare l’icona del microfono nella casella di ricerca sui dispositivi Android quindi utilizzare il pulsante Cerca un brano.
A questo punto si può lasciare che Google riconosca il brano musicale riprodotto dalla sorgente sonora. In alternativa, ed è questa “la magia”, è possibile canticchiare o fischiare personalmente un motivo: Google confronterà le informazioni raccolte con quelle conservate nei suoi database per poi offrire il responso finale.
La schermata dei risultati mostra i titoli delle canzoni che si avvicinano di più, secondo l’intelligenza artificiale di Google, al brano canticchiato o fischiettato dall’utente.
In alternativa è possibile pronunciare OK Google oppure Hey Google facendo seguire la frase al comando vocale Che canzone è questa?
Shazam, SoundHound, MusicID, MusixMatch e Genius
Tra le app più famose che aiutano a scoprire come si chiama una canzone c’è Shazam.
Disponibile per Android e iOS consente non soltanto di scoprire quali canzoni vengono riprodotte ma anche di scoprire nuovi brani musicali, soprattutto di quegli artisti che sono un po’ meno mainstream.
Shazam offre due modalità: la prima è quella più familiare. Basta toccare l’apposito pulsante per avviare l’identificazione della canzone. L’altra modalità si chiama Auto-Shazam ed è attivabile premendo a lungo sul pulsante.
Auto-Shazam ascolterà e identificherà automaticamente la musica, anche se l’app non è aperta. Non è ovviamente uno strumento da tenere attivo per tutto il tempo ma può essere di grande utilità allorquando ci si trovasse in un luogo dove viene sempre riprodotta musica che ci piace: l’orecchio virtuale di Shazam sarà così sempre attivo e alla fine si avrà a disposizione una selezione completa di brani musicali d’interesse.
Anche SoundHound è disponibile nelle versioni per Android e iOS ed è un’app che rimane gratuita con il supporto degli annunci pubblicitari.
Include la possibilità di taggare le canzoni in modo da poterle acquistare in seguito, visualizzare i testi e usare un assistente vocale integrato che però non è all’altezza di Google Assistant, Alexa o Siri.
Buone alternative sono MusicID, Musixmatch (Android, iOS) e Genius (Android, iOS).
Le ultime due si concentrano soprattutto sulla condivisione dei testi dei brani musicali che talvolta vengono proposti anche in più lingue.