有人向我提出了一个问题,要对“悲伤”这个词进行录音;一个。删除 dc 内容并使记录标准化 b. 删除我记录的样本中的滞后和尾随零。
这是我的两个疑问?1. 是否删除滞后均值,从录音中删除零 2,是否删除此方法实现的尾随零
new_signal_sad(52000:end)=[];
为什么我如此不确定是当我播放悲伤的录音时使用:
sound(sad, 44100);
它玩得很好。
当我使用此删除滞后和尾随零后播放录音时:
sound(new_signal_sad, 44100);
我听到的只是一个简短的“嘘”,然后很伤心,尽管它比第一个要快得多。
这是我程序的代码!!!
%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