我正在编写一个程序,包括播放正弦波和正弦波组合......它必须在Mac上运行,我正在寻找一个可以使用的简单 API。我对ObjC,C,C ++,Ruby,Python等开放....我不关心什么语言,只要它只是几行代码。但Ruby会很好: - )
在Linux上,您可以写入/ dev / dsp,/ dev / sound等,但不能写入mac。我知道如何生成正弦波,但问题是将我创建的PCM样本传送到音频硬件。我知道/ Developer / Examples / CoreAudio / SimpleSDK / DefaultOutputUnit中的示例代码,但它有数百行荒谬的Core Audio / AudioUnit代码,我想要一些简单易用的东西。
答案 0 :(得分:5)
一种方法是使用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)
获得答案 1 :(得分:1)
您可以将PCM转储到磁盘上的wave文件中,并使用/ usr / bin / afplay,它是OSX上的标准二进制文件。
答案 2 :(得分:0)
修改: Bloopsaphone!
根据您的需要,CSound 可能需要查看,但可能并不完全是您的想法。