【问题标题】:How to play a A in octave [closed]如何在八度音阶中演奏 A [关闭]
【发布时间】:2011-12-22 18:30:53
【问题描述】:

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

【问题讨论】:

    标签: linux octave audio


    【解决方案1】:

    有一段时间没有接触 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 不是我的专业领域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2014-01-14
      相关资源
      最近更新 更多