使用ActionScript 3降低MP3音高

DLi*_*iKS 2 flash audio actionscript-3

我发现了这个使用ActionScript 3提高MP3音高的例子.我如何降低音高而不是提高它?

bor*_*nev 8

您可以多次将相同的样本写入输出缓冲区.

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;
        }
Run Code Online (Sandbox Code Playgroud)

这种音高变换非常简单快速,适合在闪光灯中实时使用,但它确实改变了声音播放的速度.对于不改变持续时间的音高变换,您需要使用基于傅立叶变换的方法.喜欢这个人在这里做过.