如何使用playaudio()函数在Octave中播放A(第3个八度)?我使用的是Ubuntu Linux。它的频率是440赫兹。
答案 0 :(得分: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
尽管如此,我已经测试了声音()并获得了音调。 如果你有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不是我的专业领域。