STFT può essere utilizzato con successo su dati audio (ad esempio con un file audio .wav) per apportare alcune modifiche al dominio della frequenza (esempio: rimozione del rumore).
Con N=441000(cioè 10 secondi alla frequenza di campionamento fs=44100), windowsize=4096, overlap=4, STFT produce approssimativamente un 430x4096array (prima coordinata: lasso di tempo, seconda coordinata: bin di frequenza). Le modifiche possono essere eseguite su questo array e la ricostruzione può essere effettuata con overlap-add (*).
Come è possibile fare una cosa simile con le wavelet ? (DWT), ovvero ottenere un array di forma simile a x b, con aintervalli di tempo e bbin di frequenza, apportare alcune modifiche a questo array e, alla fine, recuperare un segnale? Come ? Qual è l'equivalente wavelet di overlap-add ? Quali sarebbero le funzioni di Python coinvolte qui (non ho trovato un semplice esempio di modifica audio con pyWavelets...)?
(*): Ecco il framework STFT che può essere utilizzato:
signal = stft.Stft(x, 4096, 4) # x is the input
modified_signal = np.zeros(signal.shape, dtype=np.complex)
for i in xrange(signal.shape[0]): # Process each STFT frame
modified_signal[i, :] = signal[i, :] * ..... # here do something in order to
# modify the signal in frequency domain !
y = stft.OverlapAdd(modified_signal, 4) # y is the output
L'obiettivo è quello di trovare un quadro simile con wavelets.