处理声音比原来慢

Processing sound is slower than the original

我的程序基本上是这样的:

import processing.sound.*;

void setup() {
    SoundFile file = new SoundFile(this, "E:/Coding/Tetris/data/Soundtrack.mp3");
    file.loop();
}

void draw() {}

当我执行它时,音频比原来的声音慢了大约1.08倍。

当然我可以只添加 file.rate(1.08); 但这只是一种解决方法,并不能真正“解决”问题。如何解释变慢的音频?

“如何解释变慢的音频?”

48000 / 44100 = 1.088435374

速度的变化可能是由于每秒帧数的不同。您的源声音可能是以 48000 录制的,播放 运行 44100 fps。

Using Files and Format Converters 上有一个教程可能对处理资产有帮助,但我不知道 48000 是受支持的格式。此外,无论您使用什么库来解码 .mp3,也可​​能会造成限制。

我会考虑使用 Audacity 之类的工具将资产转换为 44100,然后再将其作为资产引入 Java。或者,如果您正在与声音设计师合作,请让他们知道您需要他们提供的资产以 44100 fps 的速度进行编码。

但如果以 1.08 的价格回放资产很容易,也许这是阻力最小的可接受路径?