Снижение высоты звука MP3 с помощью ActionScript 3 - PullRequest
2 голосов
/ 02 апреля 2011

Я нашел в этом примере увеличения высоты звука MP3 с помощью ActionScript 3. Как бы я пошёл по поводу уменьшения высоты звука вместо ее увеличения?

1 Ответ

8 голосов
/ 02 апреля 2011

Вы записываете одни и те же сэмплы более одного раза в выходной буфер.

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;
        }

Это смещение высоты тона очень просто и быстро и подходит для использования в режиме реального времени во вспышке, но оно изменяет скорость воспроизведения звука. Для сдвига высоты тона, который не меняет длительности, вам нужно использовать подход, основанный на преобразовании Фурье. Как этот парень сделал здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...