我正在编写一个涉及回放正弦波和正弦波组合的程序...它必须在 Mac 上运行,我正在寻找可以使用的简单 API。我对 ObjC、C、C++、Ruby、Python 等持开放态度……我不在乎什么语言,只要它只是几行代码。但是 Ruby 会很好 :-)
在 Linux 上,您可以写入/dev/dsp、/dev/sound 等,但不能在 mac 上写入。我知道如何生成正弦波,但问题是将我创建的 PCM 样本获取到音频硬件。我知道/Developer/Examples/CoreAudio/SimpleSDK/DefaultOutputUnit 中的示例代码,但它有数百行荒谬的 Core Audio/AudioUnit 代码,我想要一些简单的代码来使用。
最佳答案
一种方法是使用 PyAudio
import pyaudio, array, math
p = pyaudio.PyAudio()
stream = p.open(rate=44100, channels=1, format=pyaudio.paFloat32, output=True)
stream.write(array.array('f',
(.25 * math.sin(i / 10.) for i in range(44100))).tostring())
stream.close()
p.terminate()
不是很干净的代码,但是可以用
PyAudio 不是标准的,但可以通过 easy_install 获得(我使用的是 python2.5)
关于ruby - 在 Mac 上生成音调/正弦波的简单方法? ( ruby 会很好),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587063/