我正在为一个音乐心理学项目编写一个小型网络应用程序,该项目将为一个主题播放一系列声音样本,并要求他们对每个主题进行评分。我需要生成一系列音调(可能是所有正弦波),并应用一个或两个基本滤波器/效果,例如失真。实际上,我需要一个简单的合成器库。
因为它是一个网络应用程序,我需要它能够吐出音频文件(通过HTML5音频播放),而不仅仅是实时播放声音。我将提前生成这些文件,而不是在应用程序运行时,因此性能不是问题。
我最熟悉Python,但应用程序很简单,所以我愿意使用几乎任何语言。流行的Python / Tcl Snack库有一些基本的综合功能,除了共振峰之外没有任何影响。
最自然的选择是声音设计语言,如Csound,Supercollider或ChucK,但看起来他们的学习曲线非常陡峭,只是为了产生不同频率的正弦波,有时会产生失真效应。
答案 0 :(得分:2)
我最后坚持吃零食。我怀疑没有符合我标准的东西。我创造了“苛刻的音色”条件,我想通过混合方波和一点噪音产生失真。听起来不太好,但是我没有必要为项目使用“严厉”的具体定义。
答案 1 :(得分:0)
由于您事先这样做,只需使用Audacity即可。它能够产生正弦/方波/锯齿波(Generate> Chirp)并具有一些效果。然后,您可以保存为多种压缩格式。
如果您要创建大量文件,您可能不希望手动生成每个文件。幸运的是,Audacity is scriptable。
答案 2 :(得分:0)
我不确定你如何定义'简单',但你应该看看Synthesis Toolkit库。它是用C ++编写的,其中一位作者也有一本好书“Real Sound Synthesis for Interactive Applications”也值得花一些时间。