悲しいという言葉を録音するようにという質問がありました。を。dcコンテンツを除去し、記録を正規化する b.記録したサンプルの遅れと末尾のゼロを削除します。
これらは私の2つのクエリですか?1.遅延平均を削除し、オーディオ録音内からゼロを削除します 2、このメソッドによって実装された末尾のゼロを削除します
new_signal_sad(52000:end)=[];
なぜ私がとても不確かなのかというと、悲しい録音を次のように再生するときです。
sound(sad, 44100);
それは完璧にうまく機能します。
これを使用して遅れと末尾のゼロを削除した後、録音を再生すると:
sound(new_signal_sad, 44100);
私が聞くのは、短い「shhhhhhh」とその後の悲しい声だけですが、最初の声よりははるかに速いです。
これは私のプログラムのコードです!!!
%Removing dc offset from sad signal
ip1=wavread('N:\Arutu Peter\sad.wav');
for channelNo = 1:size(ip1,2)
ip1(:, channelNo) = ip1(:, channelNo) - mean(ip1(:, channelNo));
end
%Normalizing the sad signal
sad=ip1/max(ip1);
%Now to remove trailing zeros and lagging from sad
frame_duration=0.1;
frame_len=fs*frame_duration;
N=length(sad);
num_frames=floor(N/frame_len);
new_signal_sad=zeros(N,1);
count=0;
%step1: Break the sound signal into frames
for k=1:num_frames
frame=sad( (k-1)*frame_len+1 :frame_len*k);
%step 2: Identifying the silent frames with maximum amplitude less than 0.02
max_val=max(frame);
if (max_val>0.02)
%signal with no zeros
count=count+1;
%step3: construct a new signal with no zeros
new_signal_sad( (count-1)*frame_len+1:frame_len*count)=frame;
%%Removing trailing zeros from the new_signal love
new_signal_sad(52000:end)=[];
subplot(4,2,1);
plot(new_signal_sad);
grid;
title('sad');
end
end