我一直在关注人们的Java合成器,但无法弄清楚如何制作他们程序的简单版本。我的目标是在java中创建一个简单的测试音,用户可以通过按某些键来改变它。例如,按“r”将提高幅度,或“f”将增加频率。我想知道:从哪里开始创建它?
答案 0 :(得分:2)
有关生成音调的示例,请参阅Beeper
。
答案 1 :(得分:1)
我有一个通过Java运行的Theremin:
http://www.adonax.com/blog/?p=187 http://www.hexara.com/VSL/JTheremin.htm
由于我使用波表来生成数据,因此音高由光标在表格中前进的速率决定。当光标落在表格元素之间时,我使用线性插值。因此,如果1024个元素表描述单个正弦波,那么一次一个元素就是一个速度,通过它在ta时间通过1.2个元素(使用线性插值来获得中间值)更快一些节距。
答案 2 :(得分:0)
嗯,这将是令人不快的,但最简单的方法是创建一个方波。
根据您是要创建具有有符号幅度还是无符号幅度的文件,您需要确定是否在0
和amplitude
之间,或-amplitude
和{{}之间振荡1}}。
频率将决定切换前每个值创建的样本数量。
如果没有更多有关您尝试创建的输出格式等详细信息,很难发布更多内容,但这可能会对您有所帮助。为相当好的音调创建一个正弦波:)