如何用C ++编写哇音效果?

时间:2010-12-21 15:03:16

标签: c++ audio

我正在努力学习写一个哇音效果。只是为了好玩,真的:)

到目前为止,我已经做了很多研究,这个页面解释得最好。 http://www.geofex.com/Article_Folders/wahpedl/voicewah.htm

基本上,我只是在寻找任何简单的C ++示例来生成Wah-wah(ooaaooaa)效果。

最终一旦完成,我希望能够创建一个“eeeoooeeeoo”效果,或“eeaaeeaa”效果:)元音合成,但音乐。

如果我找到任何好的例子,我会在这里链接到它们。

...

我在数学方面遇到了麻烦。

发出“E”声音需要产生什么波?我需要产生哪些波来发出“O”声?

我确实尝试根据该页面制作两个带有谐波的频率,并调整两个频率,但它仍然听起来像电子哔声,而不是元音。

...

http://www.acoustics.hut.fi/publications/files/theses/lemmetty_mst/chap3.html这似乎很好。我可以使用一些数字。希望它听起来像“愚蠢”。

编辑:我尝试在页面上提到的那些频率上发出一些声音(100hz,600hz,1000hz,2500hz)。它听起来并不“v”。可能非常轻微,但不恰当。

所以显然我需要做更多的频率来发出合适的“a”声。虽然我不确定什么频率。

我可以记录下自己的声音。然后可能下载一些其他人说元音。然后找一个频谱分析仪应用程序。但我尝试搜索频谱分析仪应用程序,我找到的第一个不会对声音文件只是麦克风输入。似乎在寻找能够满足我需要的频谱分析仪应用程序时会有更多工作要做。我可能需要自己编写。

羞耻我找不到一个带有重复列表的资源来生成某个元音...这样我就可以从中学习。然后利用这些知识,开发一种“元音滤波器”,其功能类似于wahwah,但带有“ioio”或“eaea”声音。

现在,我需要付出的努力:

  • 下载好的元音
  • 测试可能有4个应用,以查看它是否可以分析文件中的频谱
  • 从该频谱生成频率
  • 测试频率,看它是否听起来像“元音一样”

它不再那么“有趣”了。这是工作。耻辱。因为我还有其他(真正的)工作要做。我将停放这个,直到我找到足够的答案,这将使这个项目有趣的工作。

2 个答案:

答案 0 :(得分:3)

关于听起来像元音,你应该看看Formants。 他们非常善于合成声音。

通过Formant过滤器传递声音可能会精确地达到您想要的效果。

编辑:我坚持使用Formant过滤器不是一个哇哇效果。 Wah-wah效应只是一个简单的带通滤波器。共振峰滤波器更复杂。

答案 1 :(得分:1)

我看了Audacity上的积分,它的哇效果是由“Nasca Octavian Paul”实现的; Audacity本身就是开源的,所以你可以看一下,或者作者有他自己的合成器项目ZynAddSubFX,我认为它包含了Wah效果。

同一位作者在http://musicdsp.org/archive.php?classid=4#70

为他所谓的“alian wah”放置了代码