2017-07-15 236 views
0

我需要在Matlab中保存腳本的音頻輸出,但我不知道該怎麼做。這是一個複雜的聲音,有幾個不同持續時間的沉默,所以我不能簡單地使用audiowrite。可以記錄輸出嗎?我想在運行腳本後保存我聽到的內容。這是我第一次在Matlab中使用聲音,並且我沒有在網上找到任何東西。感謝您的幫助。保存Matlab音頻輸出

+0

當你說音頻輸出是什麼意思,錄製你的揚聲器的聲音?或保存一些光譜圖?爲什麼你必須使用matlab而不是任何記錄器?你怎麼產生聲音?一個最小的工作示例將幫助我們幫助您 – bla

+0

聲音在matlab中產生,我需要在揚聲器中錄製聲音。一個簡單的例子:對於ii = 1:length(cf) - 1 sound(s(ii,:),sf); %聲音呈現暫停(d + 0.025); %等待聲音結束+無聲期間結束,其中d是聲音持續時間,0.025是無聲持續時間。據我的理解,我需要一個單一的矩陣S來保存使用audiowrite(S,Fs)的文件。我正在考慮創建一個描述靜音期的矢量,但是因爲它對於聲音的持續時間不同,所以列的數目會不同。 @bla – Marta

+0

您在評論中給出的例子並不令人滿意。請編輯你的**問題**並添加一個最小的工作示例。通過「工作」我的意思是我可以複製和粘貼它逐字它將在我的電腦上工作。如果您需要幫助,請詢問。 – bla

回答

0

表示類似的聲音停頓以零:

signal1 = ...; 
pause1 = zeros(length1/fs,1); 
signal2 = ...; 
pause2 = zeros(length1/fs,1); 

,只是串聯所有信號在一個陣列:

longSignal = [signal1; pause1; signal2; pause2]; 

,並使用audiowrite保存您的長信號的wav文件。