如何在八度音阶中演奏A.

时间:2011-11-05 18:44:41

标签: linux octave audio

如何使用playaudio()函数在Octave中播放A(第3个八度)?我使用的是Ubuntu Linux。它的频率是440赫兹。

1 个答案:

答案 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不是我的专业领域。