I want to do an analysis and than synthesis of audio signal, which is audio of vowel 'a', using Matlab. For this I need to use filter bank(array of band-pass filters). I have drawn four different spectrograms for different length of Hamming window(64, 128, 256, 512). Here is the code that I'm using:
close all; clearvars; clc; [x, Fs] = audioread('a.wav'); len = length(x); figure,plot(x); figure,subplot(221); spectrogram(x, hamming(64), 33, 1024, Fs); title('Hamming 64'); subplot(222); spectrogram(x, hamming(128), 97, 1024, Fs); title('Hamming 128'); subplot(223); spectrogram(x, hamming(256), 225, 1024, Fs); title('Hamming 256'); subplot(224); spectrogram(x, hamming(512), 481, 1024, Fs); title('Hamming 512');
and as the output I got this figure:
My task is to determine proper number of filter bank(N), based on the obtained spectrograms, to do first analysis and then synthesis of signal using the same filter bank, without losing too much information and getting signal distortion. For realization of filter bank I will use Hamming window. I should draw conclusions only by observing spectrograms. So does anybody know what is that number, how many filters do I need to get perfect reconstruction?