如何在Linux中使用C语言来发音?

我试图编写一个程序,根据一组简单的规则随机生成音乐。 我希望程序能够生成自己的声音,而不是每个音符都有一个带有audio的文件。 有没有人知道这样做的一个简单的方法? 这将是很好的(但不是必不可less的)的声音是polytonal,我想为Linux的解决scheme,使用C.

我建议你试试PortAudio库。 它是一个精简的跨平台库,可以抽象出音频输出功能。

它带有一些小例子。 其中一个发挥单一的正弦波,同时播放一串正弦波。 由于这些例子已经完成了你所需要的90%,所以你应该在不到半个小时的时间内使你的音频开始运行。

提示:PortAudio的最佳文档在头文件中!

您可以尝试找到一个C midi音序器(例如MIDI音序器 )。 也看看建立.au格式的音频文件(即看看.au头和声音数据格式的规格)。 您将无法使用.wav格式,因为播放前需要填充标题中的长度。

这是一个纯粹的正弦波音调的ALSA例子 。 意外的是,我想,这也说明了为什么你可能不想直接对ALSA库做这个。