0

悲しいという言葉を録音するようにという質問がありました。を。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
4

0 に答える 0