Come ho commentato in un post precedente, il metodo di analisi frequenza-tempo noto come "trasformata di Fourier a breve termine" equivale a un banco di filtri, analizzando il segnale x . Per una data finestra di analisi w n , di dimensione N , il filtro alla frequenza k / N è:
h n = w - n e j 2 π n kXXwnNk / N
hn= w- nej 2 πn kN
Per le normali finestre di analisi (Hann, Hamming o persino rettangolo), ciò corrisponde a un filtro passa-basso, con frequenza di taglio intorno a , che viene "spostato" nel contenitore di frequenza k1 / NK (grazie alla complessa modulazione esponenziale) , portando quindi a un filtro passa-banda.
A questo punto, al fine di rispondere direttamente alla tua preoccupazione riguardo al riflettere la percezione umana, alcune persone hanno derivato la ["trasformazione costante-Q" (CQT)] [Brown91]. Si basa sullo stesso principio di FT, nella sua interpretazione della banca filtro. Tuttavia, i centri non sono spaziati linearmente come per un FT "normale", ma piuttosto log2-spaziati. La bilancia è quindi strettamente legato ad una scala musicale occidentale: se si sceglie F k + 1 = 2 1 / 12 f k , allora otteniamo 12 frequenze per ottava (suona un campanello :-)?), E la larghezza di banda è impostato su , dire, 2 1 / 12fKfk + 1= 21 / 12fK. Puoi anche scegliere altri centri, in base alle tue esigenze.21 / 12- 12fK
È possibile trovare implementazioni della CQT qua e là, un recente dal prof Klapuri, arrivando con un'inversa piuttosto decente può essere trovato qui . Anche il gruppo Audio di Telecom ParisTech ha un'implementazione del Prof. Prado, ma non l'ho ancora provato.
[Brown91] J. Brown, "Calcolo di una costante trasformazione spettrale Q", Journal of Acoustical Society of America, 1991, 89, 425-434
EDIT 20121014: alcune risposte e commenti alle tue domande (di Bryhoyt).
Solo idee generali sui tuoi commenti alla domanda principale: sembri essere interessato a molte applicazioni che, per me, non sono problemi banali da affrontare. La "modellazione timbrica" mi sembra più correlata al riconoscimento vocale o simili, per cui la risoluzione o la precisione del tono o della frequenza non rappresentano un grosso problema (si consideri il modo in cui vengono generalmente calcolati gli MFCC).
Considera anche quanti importanti ricercatori ( F. Pachet e il team di repmus dell'IRCAM, Francia , per citarne alcuni) stanno lavorando sul tema dell'improvvisazione e dell'accompagnamento automatici: il compito non è impossibile, ma richiede esperienza in molti settori. Riassumendo, un sistema tipico deve imitare (almeno) il sistema uditivo umano, implementare la percezione del suono / musica / intonazione / ritmo, conoscere la teoria musicale e prendere decisioni basate sulle stime di tutti i passaggi precedenti. La trasformata di Fourier, o qualsiasi rappresentazione del segnale, è solo un (piccolo) passo verso l'obiettivo finale - e potenzialmente, secondo me, il meglio compreso finora.
Detto questo, c'è ancora la possibilità che tutti stiano guardando ben oltre ciò che accade realmente, e che potresti abbatterlo in una soluzione semplice, quindi elegante! Non dimenticare di pubblicarlo una volta finito! :-)
un campione di 0,1 s a 44 kHz è sufficiente per contenere una vasta gamma di frequenze
FS/ N= 44100 / 4410 = 10 Hz
La FFT non è in grado di rilevare questo per le frequenze basse e alte, ma dici che altri algoritmi possono: qual è il compromesso?
Risposta breve: leggi la mia tesi sulla stima della melodia!
Per elaborare un po 'di più: molti algoritmi di stima dell'intonazione vanno oltre i limiti dell'FT, grazie alle ipotesi sui suoni da elaborare. Ci aspettiamo che le note dai suoni naturali (voce umana, oboe, sax, piano ...) siano più complesse dei singoli sinusoidi. La maggior parte dei suoni acuti sono più o meno armonici, il che significa che possono essere modellati come somme di sinusoidi la cui frequenza è un multiplo della frequenza fondamentale.
È quindi utile tenere conto di queste armoniche nella stima del tono, con metodi che utilizzano funzioni di rilevamento come somme spettrali, prodotti spettrali o funzioni di auto-correlazione. Qualcuno ha iniziato un argomento correlato di recente.
Quali sono i compromessi? Più specificamente, quale livello di precisione della frequenza posso aspettarmi per una finestra ragionevolmente breve? (Capisco che la dimensione della finestra in CQT è variabile - quanto?) Ancora più specificamente, quanto vicino sarò in grado di arrivare al mio ca. obiettivo della differenza di frequenza dello 0,5% con una finestra di 0,005 s?
Come precedentemente detto, con una finestra di 0.005s, ci si può aspettare qualcosa come 200Hz di "perdita di frequenza". Questo è davvero un problema solo quando hai 2 sinusoidi con frequenze più vicine di 200Hz, in modo tale che FT non sarà in grado di mostrare che sono 2 diversi sinusoidi. Bene, siamo lontani dal tuo 0,5% (a proposito, un semitono è al 6% della frequenza!) E 0.005s è davvero un po 'piccolo per il tuo scopo. Tuttavia, se si desidera fornire una stima ogni 0,005 secondi, è comunque possibile elaborare fotogrammi sovrapposti più lunghi, come avviene normalmente nell'elaborazione vocale / musicale. È quello che vuoi veramente?
NK= FSfK( 21 / B- 1 )
BB = 48fK= 100 Hzrichiedono finestre lunghe circa 0,7 secondi. Non c'è nulla da dire che perdiamo un po 'la risoluzione temporale ... Ma come detto in precedenza, questo è un problema solo se dimentichiamo la struttura del suono. Inoltre, la psicoacustica ritiene che al di sotto di 500Hz, gli umani non distinguano davvero così bene i sinusoidi: anche gli umani sono sfidati lì. Certo, possiamo sperare che i nostri computer possano fare meglio di noi, ma qui affrontiamo un problema difficile!
Infine, si noti che esistono altri modi per calcolare una rappresentazione in frequenza temporale di un suono, ad esempio prendere in considerazione i banchi di filtri gammatone. Il vantaggio del CQT che ho citato in precedenza è che esiste un software sia per la trasformazione che per il suo invertito. Personalmente, mi attengo ancora allo STFT, per la sua semplicità e perché, finora, non ho mai avuto bisogno di una migliore risoluzione a basse frequenze, anche per la separazione delle sorgenti.
[Schoerkhuber2010] Schoerkhuber, C. e Klapuri, A., "Cassetta degli attrezzi per la trasformazione di Constant-Q per l'elaborazione della musica", 7ª Conferenza di audio e musica, Barcellona, Spagna, 2010.