前提・実現したいこと
matlab上で音声を再生し、録音を同時に行うようにしたいです。
play,recordの同時実行
発生している問題・エラーメッセージ
今やっているのは正弦波をイヤホンで再生し、外付けマイクで録音を行うことです。イヤホンとマイクはほぼくっつけて行っていて、playで先に正弦波を再生してるにもかかわらず録音のほうが先に実行されノイズを取り入れてしまい実際に正弦波音声を観測するまでに約0.25秒かかってしまいます。コマンドの時間処理が問題であると思います。示したソースコードは遅れ時間を把握するため録音時間を0.6秒とっていますが、何か同時に実行できるコマンド等ありますでしょうか?
該当のソースコード
recnum=1;
T=0.2;
Fs=192000;
f=1000;
t=(0:1/fs:T-1/fs)';
T2=0.6;
fs=192000;
t2=(0:1/fs:T2-1/fs)';
recObj=audiorecorder(fs,16,1);
y=sin(2pif*t);
player=audioplayer(oto,Fs,16);
for i=1:1recnum
play(player);
record(recObj, T2);
pause(1)
rec = getaudiodata(recObj,'double');
time_plot(rec,fs);
end
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
matlabr2012aを使用。
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー