我发现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;
        }

这种音调转换非常简单,快速,适合在闪光灯中实时使用,但确实会改变声音的播放速度。对于不改变持续时间的音高转换,您需要使用基于傅立叶变换的方法。 Like this guy did here.

关于flash - 使用ActionScript 3降低MP3音调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5524967/

10-09 09:14