カーソルの位置を取得して音声信号を出力するコードを書いています。しかし、ここに落とし穴があります: バックグラウンドで既に sin 関数が再生されており、マウス クリックはこのサウンドの x 値と y 値を変更するだけです。これが私がこれまでに思いついたものです:
clear all
clc
k = 1:1200;
k = k/5000;
x=1;
y=1;
while i<10;
[x,y]=ginput(1)
vib= 0.5*sin(2*pi*y*k);
note=sin(pi*x*k*440);
ses = note+vib;
sound (ses);
end
ご覧のとおり、私のコードは sin 関数を実行するだけですが、離散的です。誰か助けてくれませんか?ハンドルとコールバックを調べましたが、頭に浮かびません。ネットで見つけた説明は複雑すぎて理解できません。