audio - 混音时间

标签 audio mixing

我已经阅读了很多关于堆栈溢出的问题,这些问题指出要混合音频,您只需要将字节帧加在一起(并确保在必要时进行裁剪)即可。但是,如果我想说将音频与具有一定偏移量的另一种音频混合,该怎么办。例如,当第一个音频达到第5秒时,我想将第二个音频混入第一个音频中。

任何帮助,将不胜感激!

最佳答案

通常,在计算机上使用音频时,您将使用PCM样本格式的时域中的音频。即,每秒多次测量该时间点的压力水平,并将其量化为数字。如果您使用CD品质的音频,则每秒441000个样本是采样率。该数字通常量化为16位整数。 (-32,767至32,768)。 (其他采样率,位深度和量化在那里并经常使用,这只是一个例子。)

如果要混合两个具有相同采样率的音频流,可以简单地将每个采样的值加在一起。如果您考虑一下,如果您要从两个来源听到声音,它们的压力水平将以几乎相同的方式相互影响。有时他们会互相抵消,有时会互相增加。您提到剪裁...您可以执行此操作,但是您将在混合中引入失真。如果声音太大而无法量化,则会将其限制在可量化范围的最大值和最小值,从而导致咔嗒声,爆裂声和音质差。如果要避免此问题,可以将每个流的级别减半,以确保即使两个流都达到最大级别,它们也将在适当的范围内。

现在,您的问题是关于将音频与偏移混合。绝对没什么不同。如果要开始混入5秒钟,则使用5 * 44,100 = 220500,这意味着将一个流的样本零对齐到另一流的样本220500并进行混合。

关于audio - 混音时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600345/

相关文章:

c# - 从视频文件中提取wav文件

java - 在 Java 中捕获扬声器输出

audio - 混合多个声音片段

audio - 将WAV文件与libsndfile混合时的工件

python : how to change audio volume?

ios - 应用程序运行时无法将蓝牙耳机与AVAudioSessionCategoryPlayAndRecord连接

javascript - 用于播放连续 mp3 文件的 HTML 按钮

c# - 如何使用 C# 混合颜色 "naturally"?

c++ - 软件混音