[英]Can I do execute function during recording audio signal in MATLAB?
我想在記錄信號的過程中獲得音頻數據幀的音調。 (不停止記錄)首先,我執行了以下代碼。
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,以便連續獲取所有幀的音調。
有誰可以給我一些建議嗎? 我非常感謝您的所有評論。
通常,如果您正在使用Matlab,並且想要多線程,則唯一的希望就是並行計算工具箱。 您在這里擁有的是典型的consumer/producer scenario
-嘗試通過Google搜索。
但是,您的方法的問題不一定是缺少線程。 如果get_pitch命令足夠快,那么您將沒有問題。 您也可以保存所有樣本,然后進行分析(如果適合應用程序)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.