第2部分。使用C ++和JUCE的基本声波

在本教程中,我们将创建一个具有4个不同振荡器的简单应用程序,该振荡器产生4种基本声波类型。 振荡器是函数发生器,用于产生具有定义属性的声波。 基本波形类型如下图所示。

我以前的教程中使用了正弦波。 该应用程序基于先前教程中的应用程序。 因此,您应该知道如何在JUCE中创建组件和处理音频输出。 我将克隆上一教程中的振荡器,并添加支持以生成不同的声波类型。 在本教程中,我们将生成其他3种波形并将它们混合在一起。

产生不同波型的算法

有几种产生声波的方法:

  • 公式 -数学公式
  • 查找表 -具有输入和输出值的预定义表。
  • 多项式近似 —这将使用预定义的数学表达式估算正弦函数。

在这个项目中,我将使用第一种方法,即公式。 以下是带有实现的代码示例。 笔记:

  • t —是当前时间值
  • 电平 -幅度(或信号量)
  • 频率 —用户设置的信号频率
  • 相位 -用户设置的信号相位
  • double_Pi —具有双精度的Pi编号

源代码托管在GitHub上。