簡體   English   中英

在MATLAB中記錄音頻信號期間可以執行功能嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM