我无法在不避免出现干扰噪音的情况下改变音乐文件的速度

时间:2016-03-17 17:53:52

标签: java performance audio web

我正在尝试更改音频文件的速度,如果我使用无符号值一切都可以,但是一旦我开始使用双值,事情会变得混乱,例如,我的代码适用于所有&#34 ; X.5"数字,但它没有任何其他带小数的数字,在我的情况下,我想将速度提高1.3点。但我得到的只是一个文件,除了令人讨厌的噪音之外,你几乎听不到任何声音。

以下是我正在使用的代码:

{{1}}

}

1 个答案:

答案 0 :(得分:1)

你的读数落在奇数障碍上:那是因为截断,读取字节从奇数位置开始。使用以下内容从偶数位置开始:

for (i=0; i<(b2.length/frameSize); i++) {
      int ind=(int)((i*frameSize*playBackSpeed));
      if((ind%2)==1) ind++;
    for (j=0; j<frameSize; j++) {
        b2[(i*frameSize)+j] = b1[ind+j];
    }
}

或者您可以将跳转更改为4:

    if((ind%4)>0) ind+=(4-(ind%4));