【发布时间】:2011-12-22 18:30:53
【问题描述】:
如何使用 playaudio() 函数在 Octave 中播放 A(第三个八度)?我使用 Ubuntu Linux。它的频率是 440 Hz。
【问题讨论】:
如何使用 playaudio() 函数在 Octave 中播放 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 不是我的专业领域。
【讨论】: