0

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

在matlab中更改音频wav文件的音高?

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

 %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
4

0 回答 0