我提出了一个问题来制作悲伤这个词的录音; 一个。删除直流内容并规范化录制内容 湾去除我记录的样本中的滞后和尾随零。
这是我的两个疑问? 1.删除滞后是否意味着,从录音中删除零 2,删除此方法实现的尾随零
new_signal_sad(52000:end)=[];
为什么我很不确定当我使用以下方式播放悲伤录音时
sound(sad, 44100);
播放得非常好。
当我使用以下方法删除滞后和尾随零后播放录音时:
sound(new_signal_sad, 44100);
我听到的只是一个简短的'shhhhhh'然后很伤心,虽然它比第一个快得多。
这是我的程序的代码!!!
%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