如何使用playaudio()函数在八度音阶中播放A(第三个八度音阶)?我使用Ubuntu Linux.它的频率是440 Hz.
解决方法:
有一阵子没碰过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
不过,我已经测试了sound()并得到了提示音.
如果您在sound()函数方面遇到问题,可以尝试使用自定义sound()函数:
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不是我的专业领域.