1
我有一個語音文件,我試圖到300赫茲增加頻率的正弦這個語音樣本,用下面的代碼:正弦波添加到語音文件在MATLAB
% Add sine wave to speech signal
clear all; close all;
load spf2.mat;
% sound(speech)
pxx= pwelch(speech);
plot(pxx);
xlim([0 500]);
F0 = 300; %hz
Fs = 8000; % samples per second
dt = 1/Fs; % seconds per sample
StopTime = 2.74775; % seconds
t = (0:dt:StopTime-dt)'; % seconds
y = sin(2*pi*F0*t);
newspeech = speech + y;
sound(newspeech)
pxx= pwelch(newspeech);
figure
plot(pxx);
xlim([0 500]);
然而,這並似乎沒有正確添加到我的信號中。
原始信號的功率譜和'newspeech'(應該包含原始語音和正弦曲線)的功率譜完全相同!
請讓我知道我出錯的地方。
冷後你兩個圖像? newspeach上應該有一個300Hz的欄。也許你需要增加正弦波的功率 – xvan
我打算這麼做,對不起!它被編輯。 – clewis
他們*完全相同嗎?繪製差異以查看......您顯示的語音頻譜中有很多功能,並且您只添加幅度爲1的正弦波。嘗試將正弦乘以某個較大的常數。 – tmpearce