2

我正在为一个音乐心理学项目编写一个小型网络应用程序,该应用程序将为一个主题播放一系列声音样本,并要求他们对每个样本进行评分。我需要使用一个或两个基本过滤器/效果(例如失真)生成一系列音调(可能是所有正弦波)。实际上,我需要一个简单的合成器库。

因为它是一个网络应用程序,所以我需要它能够吐出音频文件(通过 HTML5 音频播放),而不仅仅是实时播放声音。我将提前生成这些文件,而不是在应用程序运行时生成,因此性能不是问题。

我最喜欢 Python,但应用程序很简单,所以我愿意使用几乎任何语言。流行的 Python/Tcl Snack 库具有一些基本的合成工具,但除了共振峰之外,没有任何效果可言。

最自然的选择是像 Csound、Supercollider 或 ChuckK 这样的声音设计语言,但似乎它们的学习曲线非常陡峭,只是为了生成具有不同频率的正弦波,有时还会产生失真效果。

4

3 回答 3

2

我最终坚持吃零食。我怀疑不存在任何符合我标准的东西。我通过混合方波和一点噪音来创建我想要产生失真的“刺耳音色”条件,从而做出妥协。听起来不太好,但是对于我在项目中使用的“苛刻”没有具体的定义。

于 2010-12-05T22:32:04.970 回答
0

由于您事先已执行此操作,因此请使用Audacity。它能够生成正弦波/方波/锯齿波(生成 > 啁啾)并且有一些效果。然后,您可以保存为多种压缩格式。

如果您要创建大量文件,您可能不想坐下来手动生成每个文件。幸运的是,Audacity是可编写脚本的

于 2010-12-05T01:37:50.847 回答
0

我不确定您如何定义“简单”,但您应该查看Synthesis Toolkit库。它是用 C++ 编写的,其中一位作者还有一本好书“ Real Sound Synthesis for Interactive Applications ”,可能也值得花一些时间阅读。

于 2010-12-05T21:04:26.780 回答