Я пишу программу, которая генерирует чистый тон на частоте, введенной пользователем (и эта часть программы работает), и которая способна воспроизводить звук с другой частоты, основанный на сэмплированном кларнете. звук (только тот образец, используя его основы и его гармоники).
Я думал использовать поиск по таблице, но я не знаю, как применить его в MATLAB, и я не нашел примеров, примененных к звуку.
Я знаю, что здесь был похожий вопрос
изменение высоты звука в аудио-wav-файле в 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