如何在MATLAB中调制声音

时间:2018-07-04 17:45:43

标签: matlab audio pitch pitch-shifting

我正在编写一个程序,该程序可以从用户输入的频率中产生纯净的音调(并且程序的这一部分起作用),并且能够在给定另一个频率的情况下基于采样的单簧管产生声音声音(仅使用该样本的基本成分和谐波)。 我本想使用表查找,但我不知道如何在MATLAB中应用它,也没有找到适用于声音的示例。 我知道这里有一个类似的问题

changing the pitch of an audio wav file in matlab?

但这不是我真正想做的。 谢谢您的帮助。

 %function 
 function y = analyse()
  prompt = 'Which frequency would you like to reproduce?';

 Freq = input(prompt)
 [audioIn,fs] = audioread('Si_lae.wav');
 [pitchValue,analyse] = pitch(audioIn,fs);


 amp=1;
 Fs=80000; % Fs=sampling frequency 
 duration=8;
 values=0:1/Fs:duration;
 a=amp*sin(2*pi*Freq*values);
 sound(a,Fs) 


  [Y,Fs]=audioread('Si_lae.wav'); 

 %Pitch shift
if pitchValue ~= 0
[N,D] = rat(8^(-0.4*pitchValue));
y = resample(y,N,D);    
 end

 end

0 个答案:

没有答案