【发布时间】:2012-12-03 17:40:11
【问题描述】:
我一直在研究人们的 Java 合成器,但不知道如何生成他们程序的简单版本。我的目标是在 java 中创建一个简单的测试音,用户可以通过按下某些键来改变它。例如,按“r”将提高幅度,或“f”将提高频率。我只想知道:从哪里开始创建这个?
【问题讨论】:
标签: java javasound synthesizer tone-generator
我一直在研究人们的 Java 合成器,但不知道如何生成他们程序的简单版本。我的目标是在 java 中创建一个简单的测试音,用户可以通过按下某些键来改变它。例如,按“r”将提高幅度,或“f”将提高频率。我只想知道:从哪里开始创建这个?
【问题讨论】:
标签: java javasound synthesizer tone-generator
有关生成音调的示例,请参阅Beeper。
【讨论】:
我有一个通过 Java 运行的 Theremin:
http://www.adonax.com/blog/?p=187 http://www.hexara.com/VSL/JTheremin.htm
由于我使用波表来生成数据,因此音高由光标在表中前进的速率决定。当光标落在表格元素之间时,我使用线性插值。因此,如果一个 1024 个元素的表描述了一个正弦波,一次通过一个元素是一种速度,一次通过 1.2 个元素(使用线性插值获得中间值)会更快一些音调。
【讨论】:
嗯,这会不愉快,但最简单的方法是创建一个方波。
根据您要创建的文件是有符号还是无符号幅度,您需要确定是在0 和amplitude 之间振荡,还是在-amplitude 和+amplitude 之间振荡。
频率将决定在切换之前在每个值处创建多少样本。
如果没有更多关于您尝试创建的输出格式等的详细信息,很难做出更多说明 - 但这可能会帮助您开始。创建一个正弦波以获得更好的音调:)
【讨论】: