我找到了 this example使用 ActionScript 3 提高 MP3 的音高。我将如何降低音高而不是提高音高?
最佳答案
您多次将相同的样本写入输出缓冲区。
function downOctave(bytes:ByteArray):ByteArray
{
var returnBytes:ByteArray = new ByteArray();
bytes.position = 0;
while(bytes.bytesAvailable > 0)
{
returnBytes.writeFloat(bytes.readFloat());
returnBytes.writeFloat(bytes.readFloat());
bytes.position -= 8;
returnBytes.writeFloat(bytes.readFloat());
returnBytes.writeFloat(bytes.readFloat());
}
return returnBytes;
}
这种变调非常简单快速,适合在 flash 中实时使用,但它确实会改变播放声音的速度。对于不改变持续时间的变调,您需要使用基于傅里叶变换的方法。 Like this guy did here.
关于flash - 使用 ActionScript 3 降低 MP3 音高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524967/