gpt4 book ai didi

algorithm - 改变声音文件的速度

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:44:40 25 4
gpt4 key购买 nike

我想改变声音文件的速度,但不知如何实现。我假设在减慢速度的情况下必须进行某种类型的插值,但我不确定如何实现加速——也许是几个样本的平均值?目前,是否改变节奏或音调并不重要,我想学习如何同时完成这两项,但我想至少先完成其中之一。

如果有人对这些类型的操作背后的数学有任何引用,他们将不胜感激!

谢谢,本

最佳答案

有两个选项可以加快声音文件的播放速度:

  • 提高采样率
  • 减少每单位时间的样本数量。

在这两种方法中,播放速度的增加都会使声音的音高发生相应的变化。

提高采样率

提高采样率会提高声音的播放速度。例如,从 22 KHz 采样率变为 44 KHz 将使播放声音的速度是原始速度的两倍。在这种方法中,原始采样数据没有改变——只需要改变音频播放设置。

减少每单位时间的样本数量

在这种方法中,播放采样率保持不变,但样本数量减少——一些样本被丢弃。

使声音的播放速度是原始速度的两倍的天真的方法是每隔一个样本删除一次,并以原始播放采样率播放。

但是,使用这种方法会丢失一些信息,而且我预计音频中会出现一些伪像,因此这不是最理想的方法。

虽然我自己还没有尝试过,但对样本进行平均以创建新样本的想法是一个很好的开始方法。这似乎意味着不仅可以丢弃音频信息,还可以通过平均过程在一定程度上“保留”它。

作为过程的大概思路,这里有一段伪代码可以将播放速度提高一倍:

original_samples = [0, 0.1, 0.2, 0.3, 0.4, 0.5]

def faster(samples):
new_samples = []
for i = 0 to samples.length:
if i is even:
new_samples.add(0.5 * (samples[i] + samples[i+1]))
return new_samples

faster_samples = faster(original_samples)

我还发布了对问题“Getting started with programmatic audio”的回答,我在其中详细介绍了一些可以执行的基本音频操作,因此也许您也可能对此感兴趣。

关于algorithm - 改变声音文件的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/939904/

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