» vux-doc-ftttricks ITA
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

vux-doc-ftttricks ITA

English

Trucchi per l'analisi FFT

Qui di seguito vengono spiegati e mostrati alcuni trucchi/fatti riguardanti l'analisi FFT (Fast Fourier Transform - trasformata di Fourier rapida).

Alcune proprietà utili della trasformata di Fourier

  • La massima frequenza ottenibile dalla trasformata di Fourier corrisponde alla metà del valore della frequenza di campionamento, questo valore è anche conosciuto come frequenza di Nyquist. Quindi con una frequenza di 44100 campioni al secondo, la massima frequenza analizzata corrisponde ai 22050Hz.
  • La funzione FFT è speculare, questo significa che la seconda metà del risultato dovrebbe corrispondere alla prima metà specchiata (quindi normalmente questa seconda parte è trascurabile).
  • Il primo elemento dello spread ottenuto dall'analisi è chiamato DC (Direct Current). Rappresenta la frequenza 0Hz che teoricamente non esiste. Questo numero è la media di tutti i campioni in ingresso (quindi dell'onda sonora analizzata e non dell'analisi effettuata).

Risoluzione della FFT e del buffer

la risoluzione della FFT è tanto più accurata tanto più questa è alta.

Per aumentare la risoluzione dell'analisi è necessario analizzare più campioni alla volta.

La formula è:
CampioniRichiesti = 1000 * DimensioneFFT / FrequenzaDiCampionamento

Quindi per calcolare uno spread di 1024 bins su un file campionato a 44100Hz si avrà bisogno di:
1000*1024/44100 = 23.21 millisecondi di dati (diciamo 24 :)

Prendere il Bin corrispondente a una frequenza

La formula per trovare il Bin corrispondente a una data frequenza è:
Risoluzione*Frequenza/FrequenzaDiCampionamento

Quindi se lo spread di FFT è lungo 512 bins, e la nostra frequenza di campionamento corrisponde a 44100Hz, il valore corrispondente ai 440Hz è:
512*440/44100 = 5.10

Questo significa che la maggior parte dell'energia per quella frequenza si trova nel valore del Bin 5 e una minima parte di essa è nel Bin 6.

Conoscere la frequenza di un Bin della FFT

All'opposto, la formula per trovare la frequenza di un bin è:
Bin*FrequenzaDiCampionamento/Risoluzione

Quindi il bin 35 di uno spread FFT di 512 (44100 campioni al secondo) corrisponde a:
35*44100/512 = 3014.64Hz

Trucchi per l'elaborazione dell'analisi FFT

Il più delle volte i valori delle alte frequenze sono molto bassi(armoniche).
Per visualizzarli meglio potete usare i seguenti nodi:

  • * (Value): Il più ovvio, ma con questo aumenterete il valore di tutte le frequenze e potreste anche uscire dall'intervallo 0..1.
  • Sqrt (Complex): Questo è il preferito dell'autore, i picchi più bassi verranno valorizzati mentre gli alti picchi quasi non subiranno cambiamenti(se l'input è nell'intervallo 0..1). Inoltre i valori in uscita resteranno nell'intervallo tra 0 e 1.
  • Log (Value): Questo converte i valori in scala logaritmica, utile per gli equalizzatori, di contro i picchi verranno smussati.
  • GetSpreads (Spreads) e Mean (Spectral): Con questa combinazione si possono isolare fasci di frequenze, la risoluzione diminuisce, ma si avranno meno dati da processare. Questa soluzione è buona per le patch che devono processare diversi pezzi musicali.

Per il momento questo è tutto.
Verranno aggiunte altre patch di esempio per spiegare i particolari e per spiegare nuove cose :)

by vux

translated by esnho

anonymous user login

Shoutbox

~17h ago

joreg: your 2017 numbers have landed: vvvv-in-numbers-2017 #vvvv #vl

~1d ago

joreg: final part of "vl for vvvv users" series of video tutorials is now up: https://discourse.vvvv.org/t/vl-for-vvvv-users-spread-of-spread-5-5/16028 #vvvv #vl

~3d ago

joreg: another one for the weekend: part 4/5 of: vvvv for vl users. all about loops: https://discourse.vvvv.org/t/vl-for-vvvv-users-spreads-vs-spreading-pt-2-4-5/16027 #vvvv #vl

~3d ago

joreg: one for the weekend: rc3 for beta36 is out: beta36-release-candidate #vvvv #vl

~4d ago

fibo: Wine v3 has Direct11 support https://www.winehq.org/news/2018011801

~4d ago

Lorenz: If anybody wants to see some interactivvvve Tap Dance in Düsseldorf this weekend: www.xenorama.com/resonance

~5d ago

joreg: sorry for the long delay, we're back to serious with a new release candidate: beta36-release-candidate #vvvv #vl