2011-11-05 68 views

回答

4

有一段時間沒有碰過Octave,並記得OSX上的聲音有問題(顯然,audio包在linux中運行良好)。音頻包應該有一個sound()功能將使你的任務很簡單:

%sample rate - 22050 
sr = [0:1/22050:1]; 
% A - 440Hz using sine 
a = sin(2*pi*440*sr); 
%play 
sound(a) 

不幸的是playaudio()在我的機器不能正常工作:

octave-3.0.3:15> playaudio(x) 
sh: /dev/dsp: Permission denied 

儘管如此,我測試過的聲音( )並得到了一個音調。 如果你有聲音()函數的問題,你可以嘗試使用自定義聲音()函數:

function sound(x, fs) 
    if(nargin == 1 || isempty(fs)) 
    fs = 8000; 
    endif 
    if(rows(x) != length(x)) 
    x = x' 
    endif 
    if(playrec('isInitialised')) 
    playrec('reset'); 
    endif 

    playrec('init', fs, 3, 1); 

    playrec('play', x, 1:size(x,2)); 
endfunction 

HTH,因爲Octave是不是我的專業領域。