Rilevamento di parti di una canzone


9

Spero che questo non sia troppo soggettivo ...

Sto cercando una direzione negli sforzi per rilevare le diverse "parti" di una canzone, indipendentemente dallo stile musicale. Non ho idea di dove cercare, ma confidando nel potere degli altri siti StackOverflow, ho pensato che qualcuno qui potesse aiutare a indicare la direzione.

In termini più elementari, si potrebbero rilevare parti diverse di una canzone semplicemente raggruppando gli schemi consecutivi ripetuti e definendoli "parte". Forse non è così difficile - i computer sono abbastanza bravi a rilevare la ripetizione in un segnale, anche quando c'è qualche piccola variazione.

Ma è difficile quando le "parti" si sovrappongono, come fanno nella maggior parte della musica.

È difficile dire quale tipo di musica sarebbe più adatta a questo tipo di sistema. Immagino che la maggior parte della musica sinfonica in stile classico sarebbe più semplice da elaborare.

Qualche idea su dove cercare la ricerca in questo settore?


Penso che ci sia un'app per iPhone per riconoscere la canzone dalla registrazione dello snippet. E penso che ci sia stato un articolo che descrive questa app. Mi dispiace di non avere collegamenti, ma vorrei iniziare con quello.
mpiktas,

1
@mpiktas: probabilmente ti riferisci ad app come SoundHound o Shazam . C'è un white paper su come funziona Shazam, anche se non va troppo nei dettagli. Anche se non sono sicuro che sia ciò di cui l'OP ha bisogno, potrebbe essere un buon punto di partenza.
nico,

Per un buon post di blog su Shazam (basato, credo, sul libro bianco), puoi anche provare laplacian.wordpress.com/2009/01/10/how-shazam-works
raegtin

Risposte:


6

Non sono un esperto di elaborazione del segnale, ma conosco un bel po 'di teoria musicale. Direi che, al contrario, la musica classica sarebbe probabilmente la musica più difficile da analizzare con semplici metodi matematici. Faresti meglio a iniziare con qualcosa di più semplice e ripetitivo, come la musica pop o techno. Pop ha spesso un formato verso-coro-verso ... ecc. Che potrebbe favorire una versione semplicistica dei tuoi obiettivi.

Prova a utilizzare una trasformata di Fourier sui tuoi dati per suddividerla nelle sue frequenze costituenti più importanti, magari gerarchicamente tra le diverse sottosezioni. In particolare, puoi cercare diverse cose in base al modo in cui vuoi raggruppare le "parti" dei tuoi dati.

  1. Le oscillazioni più lente nella tua musica pop saranno probabilmente gli spostamenti tra verso e coro e viceversa (forse 0,75 oscillazioni al minuto?).

  2. Successivamente potresti trovare oscillazioni di frequenza più elevata tra le tue progressioni di accordi, cioè tra ogni misura completa della tua canzone (forse circa 6 oscillazioni al minuto?).

  3. La prossima frequenza più alta penso che sarebbe una barra all'interno di una misura (forse circa 24 oscillazioni al minuto?) All'interno della quale il pattern di strimpellatura e la sincope dei testi si ripetono spesso nella musica pop / folk.

  4. Scendendo nei dettagli cruenti, poi troverai i ritmi e i ritmi che si ripetono all'interno di ogni barra della tua musica. Scegliere e isolare uno di questi (forse 148 oscillazioni / battiti al minuto?) Produrrebbe probabilmente un calcio di grancassa, un colpo di campanaccio o qualcosa di simile in un ordine simile.

  5. A metà tra battiti e toni potresti trovare elementi stilistici rapidi della tua musica come la selezione di speed / sweep su una chitarra elettrica o un ritmo di rapping vocale veloce. (Non ho idea di quanto possano essere veloci, ma indovinerei da qualche parte nell'ordine di 1000 battiti al minuto o più).

  6. Infine, velocemente e probabilmente in modo più complesso, sono gli elementi di tono e timbro. So che la nota "middle A" è standardizzata a 440 Hz, ovvero 440 oscillazioni al SECONDO. Sono sicuro che ci sono tecniche per differenziare in base alla qualità tonale e al timbro che tipo di strumenti vengono utilizzati; ci sono persino algoritmi abbastanza buoni per rilevare la voce umana. Tuttavia, come ho detto, non sono un esperto di elaborazione del segnale.


6

La musica è di solito descritta usando descrittori MPEG7 con alcune cose aggiuntive come gli MFCC calcolati sui pezzi del pezzo realizzati con un approccio a finestra mobile (cioè hai delle dimensioni della finestra e hop, inizia con la finestra posizionata all'inizio del suono, calcola il descrittori sulla finestra, quindi spostalo a hop e ripeti fino a raggiungere la fine).
In questo modo un pezzo si trasforma in un tavolo; nel tuo caso può essere usato per applicare un po 'di clustering sui blocchi e quindi rilevare quelle "parti".


Ora è più simile! Buona risposta tecnica
desiderio di macchina il

5

Ci sono molti metodi diversi e una pletora di letteratura su questo argomento da una vasta gamma di prospettive. Ecco alcuni punti salienti che potrebbero essere buoni punti di partenza per la tua ricerca.

Se il tuo background è più musicale che matematico o computazionale, potresti essere interessato alle opere di David Cope, la maggior parte delle sue opere pubblicate si concentra sull'analisi di brani di musica classica, ma ha un'impresa privata chiamata ricombinante che sembra più generale. Gran parte del suo lavoro ha usato la musica come modelli di tipo linguistico, ma credo che almeno alcuni dei suoi lavori più recenti si siano spostati maggiormente verso l'intero genoma musicale come l'approccio. Ha molti software disponibili online , ma è generalmente scritto in Lisp e alcuni possono essere eseguiti solo in varie versioni del sistema operativo Apple, anche se alcuni dovrebbero funzionare su Linux o ovunque sia possibile eseguire lisp comuni .

L'analisi dei segnali e della musica in generale è stata un problema molto popolare nell'apprendimento automatico. C'è una buona copertura di partenza per il Vescovo Christopher testi reti neurali per Pattern Recognition e Pattern Recognition e Machine Learning . Ecco un esempio di un documento di Master che ha la parte di classificazione musicale, ma ha una buona copertura sull'estrazione di funzionalità, che l'autore cita almeno uno dei testi di Bishop e diverse altre fonti. Raccomanda inoltre diverse fonti per articoli più attuali sugli argomenti.

Libri che sono più matematici o statistici (almeno dalla loro paternità se non dal loro contenuto):

Da quando ho citato Bishop e la prospettiva computazionale dell'apprendimento automatico, avrei raccontato solo metà della storia se non avessi anche suggerito di dare un'occhiata ai più recenti Elements of Statistical Learning (che è disponibile per il download legale gratuito) di Hastie , Tibshirani e Friedman. Non ricordo che ci sia un esempio specifico di elaborazione audio in questo testo, ma un certo numero di metodi coperti potrebbe essere adattato a questo problema.

Un altro testo che vale la pena prendere in considerazione è Statistica di musicologia di Jan Beran . Ciò fornisce una serie di strumenti statistici specifici per l'analisi di opere musicali e ha anche numerosi riferimenti.

Ancora una volta ci sono molte altre fonti là fuori. Molto dipende da ciò che è il tuo background e da quale approccio al problema ti senti più a tuo agio. Spero che almeno in parte ti guidi un po 'nella ricerca di una risposta. Se ci dici di più sul tuo background, ulteriori dettagli sul problema o fai una domanda in risposta a questo post, sono sicuro che io o molti altri qui saremo felici di indirizzarti verso informazioni più specifiche. Buona fortuna!


4

Non è un'ottima risposta, ma due posti in cui cercare la ricerca sono:

International Society for Music Information Retrieval ha tonnellate di articoli pubblicati proprio su questo argomento, incredibile quante informazioni ci sono www.ismir.net

& Echo Nest (una startup con un'API per fare cose simili) echonest.com

AGGIORNAMENTO: hanno anche rilasciato un codice di fingerprinting open source. http://echoprint.me/


0

Ero interessato al problema simile. Ecco la soluzione Non è una proposta scientifica così vecchia che si chiama trama di scape . Vedi questo articolo per i dettagli (sembra carino).

Inoltre, ti consiglio di visitare anche il sito web dell'autore poiché ci sono molte applicazioni simili di statistiche nella musica. Quando cerco altre fonti simili, ti consiglio di usare il termine Recupero di informazioni musicali che include aree simili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.