信号の記録中にオーディオ データのフレームのピッチを取得したいと考えています。(記録を停止せずに) まず、次のコードを実行しました。
r = audiorecorder(fs,16,1);
while 1
recordblocking(r,T); % T is frame length [s] (A)
sample{k} = getaudiodata(r);
pitch{k} = get_pitch(sample{k}); % (B)
end
ただし、get_pitch 関数の実行中に録音手順が停止し、録音される音楽信号の一部が欠落する原因となります。
サンプル収録を止めずに実行したいのですが、長さ T[s] のデータを関数 get_pitch に送り、全フレームのピッチを連続して取得します。
アドバイスをくれる人はいますか?皆さんのコメントに本当に感謝しています。