如何使用C在Linux中播放音调?

hun*_*joe 6 c linux random audio

我正在尝试编写一个程序,根据一组简单的规则随机生成音乐.我希望程序能够生成自己的声音,而不是每个音符都有一个带音频的文件.有谁知道这样做的简单方法?将声音变成多声道会很好(但不是必不可少的),我想要一个使用C的Linux解决方案.

Nil*_*nck 5

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

它附带了一些小例子.其中一个播放单个正弦波,一个同时播放一串正弦波.由于这些示例已经完成了您所需要的90%,因此您应该在不到半小时的时间内启动并运行音频.

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


bkr*_*zer 0

您可以尝试找到一个 C MIDI 音序器(例如MIDI Sequencer)。还要研究构建 .au 格式的音频文件(即查看 .au 标头和声音数据格式的规范)。您将无法使用 .wav 格式,因为它需要在播放之前填写标题中的长度。