0
$\begingroup$

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:

spectrograms for different length of hamming window

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?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.