我希望能够运行除了通过扬声器/耳机输出正弦波外无能为力的代码,而且我需要将代码中的正弦波写成某种数学公式,以便于解决学习如何将其调整为不同或略微改变形状的公式。
我需要类似的东西。
Main()
play.this = 1 * 63(3/36)//或代表正弦波的任何公式
结束
这看起来很愚蠢,但是到目前为止,我只发现人们在演奏“哔哔”声或使用仅Windows窗口的函数在演奏“正弦”并输入幅度和频率。
我在Mac上。
答案 0 :(得分:1)
您想要的是使用框架或库进行音频输出。就个人而言,我会选择SDL,但您有很多选择。
此工具通常将提供代码回调,您需要在其中提供接下来的几个字节的输出。例如,它可能请求下一秒的十分之一。在44khz处,这是4400个值的缓冲区。您可以像下面这样循环填充该缓冲区
Buff[i] = (char)(127 * sin(x));
您做得足够快,可以为下一个要求更多数据的回调做好准备。