当音高发生变化时声音发生器点击

时间:2012-11-06 16:56:56

标签: java audio wave

我有一个声音生成程序,目前有一个枚举类型,填充音高,从A0开始,音高为27.5 Hz。每次我循环抛出所有包含音高的半音音阶,直到G#5,无论音高持续多长时间,声音都会在音位之间发出咔嗒声。我用作模型的代码是https://stackoverflow.com/a/2065693/1777648,声波字节数组以相同的方式生成,但我不知道如何修复点击。我有一种感觉,可能是因为一个音高波的结束没有连接到下一个的开头。

1 个答案:

答案 0 :(得分:3)

你的假设是正确的。如果你不想点击,你必须确保生成正弦波,以便只在字节数组中写入完整的句点。否则你会切断波浪,这会导致咔哒声。

用于实现:你可以有一个变量“nextPitch”,一旦写入一个完整的句号就会变成当前的音高。