gpt4 book ai didi

android - 使用Android MediaCodec编码时修改音频音调/速度

转载 作者:行者123 更新时间:2023-12-03 00:42:28 24 4
gpt4 key购买 nike

我正在使用AudioRecord从设备麦克风实时获取音频,并使用MediaCodecMediaMuxer类将其编码/保存到后台文件中。

在将音频流保存到文件之前,是否可以更改其音高和(或)速度?

最佳答案

用音调/速度,您是指频率本身,还是采样速度?如果是这样,则每个样本应在较短或较长的时间内投影:

例:

    private static byte[] ChangePitch(byte[] samples, float ratio) {

byte[] result = new byte[(int)(Math.Floor (samples.Length * ratio))];

for (int i = 0; i < result.Length; i++) {
var pointer = (int)((float)i / ratio);
result [i] = samples [pointer];
}

return result;
}

如果您只想更改音高而不影响速度,则需要阅读有关声码器的信息。这是一门可靠的科学,并且有很多项目可以实现这一目标。 https://en.wikipedia.org/wiki/Phase_vocoder

关于android - 使用Android MediaCodec编码时修改音频音调/速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com