|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 95
|
[c++] Programma analizzare segnale audio
allora ragazzi premetto che io non ne so molto di programmazione e so che quello che sto per proporvi è un programma abbastanza complicato ma non vi preoccupate verrò aiutato da una persona + esperta di me. Sono qua per chiedervi se avete delle idee da darmi... il programma che vorrei realizzare è un programma in grado di analizzare un segnale audio in uscita dalla scheda audio (per intenderci una canzone) e dirmi che genere di canzone sia se:
rock/metal , pop , classica , colonna sonora , country. La mia prof mi ha suggerito di fare un programma in grado di riconoscere determinati attributi di un segnale audio e a seconda degli attributi della canzone sapermi dire il genere. Cosa ne dite? avete idee, suggerimenti? anche il + piccolo comemnto è di vitale importanza. Grazie in anticipo a tutti |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Puoi cercare di farlo dopo aver classificato i generi in base alle componenti in frequenza tipiche di ogni genere, ma non è una cosa banalissima da implementare (anche per un programmatore non propriamente alle prime armi) e soprattutto non è facile avere un buon livello di affidabilità.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Imho è impossibile ottenere un successo al 100%. Mi spiego: non esiste una catalogazione assoluta dei generi nemmeno per un ascoltatore qualunque, quindi non può esistere per un computer.
Fra le categorie metti tra l'altro "colonna sonora", che non è una categoria possibile in quanto una colonna sonora può essere una canzone di uno qualsiasi degli altri generi. L'unica possibilità è quella di isolare gli strumenti musicali in modo da classificarne il tipo, ma anche qui non c'è una classificazione assoluta, una chitarra distorta ci può essere anche nelle canzoni pop. Poi ci sta che la classificazione possa essere anche fatta per caratteristiche collaterali del mixeraggio o del tipo di musica: saturazione molto alta nelle canzoni metal, spiccata polifonia per la musica classica, voce che risalta più sul resto degli strumenti per il pop...insomma ci sarebbe da analizzare molti brani per trovare caretteristiche in comune. Però mi piacerebbe dare in pasto ad una bella rete neurale una completa libreria musicale e poi vedere cosa succede |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 95
|
in parole semplici semplici secondo voi quale sarebbe l' idea + semplice ed affidabile da realizzare?
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
|
Fai la trasformata di fourier di un certo numero (alto) di periodi temporali (piccoli) del segnale.
Per ogni periodo conoscerai la distribuzione delle varie frequenze. Fai al pari di come fanno i software antispam una specie di apprendimento manuale su un certo numero di canzoni. A quel punti utilizzi un filtro di bayes per valutare la probabilità che in un certo genere musicale si trovi la combinazione di certe frequenze a certe ampiezze. Credo che comunque sia un po' complicato. Di certo un minimo di esperienza di programmazione la devi avere. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 122
|
Ho cercato un po' in giro e ho trovato questo software: Tunatic.
Se ho capito bene, secondo quanto dice il sito, basta dargli in pasto un brano audio qualunque(anche preso dal microfono, ma non cantato dall'utente), e lui ti restituisce i tag ID3 se avviene il riconoscimento. http://www.wildbits.com/tunatic/ Spero di esserti stato utile, almeno nel farti sapere che è possibile (sarebbe bello capire come si fa Offtopic: Mi sembra che sta prof. sia un po' schizzata (spero che tu sia all'università come minimo, se si permette di fare queste domande )
__________________
Ci sono 10 tipi di persone al mondo: chi conosce il codice binario e chi no. |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 95
|
ok grazie mille a tutti per le risposte... comunque non ho bisogno proprio che distingua esattamente i generi, mi basta che distingua le canzoni dove non c' è il cantante da quelle con un ritmo un po' + acceso come rock/ metal a quelle con un ritmo + rilassato come pop, classica ok?
su mi accontentassi di questo sarebbe + facile da fare il programma? grazie in anticipo |
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 122
|
Si ma in un certo senso mi pare di aver capito che analizza il segnale audio della canzone, e poi lo confronta con le impronte che ha nel db, ricavando i tag.
__________________
Ci sono 10 tipi di persone al mondo: chi conosce il codice binario e chi no. |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Conoscenze matematiche coinvolte tante, perfino troppe. I parametri base sono quelli energetici (che non servono a niente), poi c'è il cepstrum in tutte le sue varianti, poi gli HMM, filtri adattativi... Devi implementarti come minimo anche un algoritmo di beat tracking. |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Per quanto riguarda il ritmo, gli algoritmi di beat tracking non sono proprio facilissimi da implementare, inoltre possono essere computazionalmente assai onerosi |
|
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Nov 2001
Messaggi: 206
|
Come te la cavi con l'inglese?
Male? Allora imparalo che è fondamentale in questo lavoro. Altrimenti vedi qui. http://www.dspguide.com Ottima guida, con codice di esempio. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:17.












ho concluso con: kvegeta, doctordb, Leland Gaunt.
)








