ノイズの多い音声信号からメッセージをフィルタリングする
非常にノイズの多いオーディオファイル(.wav)に隠されたメッセージを解読しようとしています(低ドローンが追加されたホワイトノイズだと思います)。メッセージは6桁の数字です。騒音についてこれ以上詳しく知りません。 私はローパスフィルターを使用して、高周波数のほとんどを排除すると数字が聞こえるようになることを期待しましたが、低ドローンを十分に取り除くことができず、声を十分に聞くことができません。私の試みは次のとおりでした(採用された機能freq_space_low_pass_filterは最後に含まれています): [data, SampleRate, NbitsPerSample]=wavread('noisy_msg6.wav'); y=data(:,1); % we will work only with one channel in this demo N=length(y); %number of sample points t=( (1:N)*1/SampleRate ).'; % time spacing is 1/SampleRate and we want column vector Y=fft(y); spectrum_freq=fourier_frequencies(SampleRate, N); Freq3db=100; [spectrum_filtered,g_vs_freq]=freq_space_low_pass_filter(Y, SampleRate, Freq3db); y_filtered=ifft(spectrum_filtered); y_filtered=real(y_filtered); wavwrite(y_filtered/(0.1+max(y_filtered)), SampleRate, NbitsPerSample, 'noisy_msg6_filtered.wav'); %%%%%%%%down sampling%%%%%%%% …