我正在为一个音乐心理学项目编写一个小型网络应用程序,该应用程序将为一个主题播放一系列声音样本,并要求他们对每个样本进行评分。我需要使用一个或两个基本过滤器/效果(例如失真)生成一系列音调(可能是所有正弦波)。实际上,我需要一个简单的合成器库。
因为它是一个网络应用程序,所以我需要它能够吐出音频文件(通过 HTML5 音频播放),而不仅仅是实时播放声音。我将提前生成这些文件,而不是在应用程序运行时生成,因此性能不是问题。
我最喜欢 Python,但应用程序很简单,所以我愿意使用几乎任何语言。流行的 Python/Tcl Snack 库具有一些基本的合成工具,但除了共振峰之外,没有任何效果可言。
最自然的选择是像 Csound、Supercollider 或 ChuckK 这样的声音设计语言,但似乎它们的学习曲线非常陡峭,只是为了生成具有不同频率的正弦波,有时还会产生失真效果。