谁能说采样率和帧大小是如何相关的?

Posted

技术标签:

【中文标题】谁能说采样率和帧大小是如何相关的?【英文标题】:can anyone say how sampling rate and framesize is realted? 【发布时间】:2011-02-01 10:15:53 【问题描述】:

谁能说出采样率和帧大小的关系?

我将一个 spx 文件解码为 wav,采样率为 10 kHz 和 16 位。在解码过程中应用的帧大小为 640。 解码后的文件可在 vlc 中播放。但我想在 Flex 中播放那个文件。

Flex 仅支持 44.1 kHz、22.5 kHz 和 11.2 kHz 的速率。我想在解码过程中提高采样率。我知道如何在代码中做到这一点,但我想帧大小也应该增加。我不知道这两者之间的依赖关系。有人可以帮忙吗?

【问题讨论】:

根据tools.ietf.org/html/rfc5574,Speex 编解码器不支持 10 kHz。 【参考方案1】:

帧大小和采样率通常是正交的概念。除非特定格式需要,否则它们不需要相互影响。

对于 PCM .wav,帧大小将始终为位/通道 * 通道。在您的情况下,单声道为 16 位,立体声为 32 位。

此外,无需更改解码帧大小,因为您稍后会应用重采样。

【讨论】:

bits/channels * channels 不等于位吗? 认为他的意思是 bits/channel * numchannels 你的意思是bitsPerChannel * numChannels【参考方案2】:

您混合了两个独立的任务:spex 解码和重采样。所提到的帧大小应仅被视为包含 PCM 样本的缓冲区。您应该将这些 PCM 样本传递给重采样器(例如 s-s-rC:http://shibatch.sourceforge.net/)。

【讨论】:

【参考方案3】:

帧大小取决于用于压缩原始数据的编解码器。它将包含整数个样本(在本例中为 320 个)。

如果我认为原始音频的帧大小等于样本大小是正确的。然而,一些编解码器对一系列样本执行压缩。通常帧大小越大,压缩数据所需的内存就越多,但您可以实现的压缩效果可能更好。

您无法在解码期间提高采样率,但是您可以对解码后的音频进行重新采样。大概您实际上是在重新编码数据以将其发送到 Flex?您需要查看用于重新编码的编解码器。您使用的是哪种编解码器?

【讨论】:

【参考方案4】:

无论使用多少通道,帧速率和采样率都是相同的。 因为这就是 TDM 的目的。 在两个连续样本之间留下的间隙中引入了新通道。 随着通道数量的增加,分配给每个通道的时间会减少每个位花费的时间。 但是任何通道的连续样本之间的驯服间隙将保持不变,它将等于总帧时间。 即样本之间的时间间隔=帧时间,因此帧速率等于采样率。

【讨论】:

以上是关于谁能说采样率和帧大小是如何相关的?的主要内容,如果未能解决你的问题,请参考以下文章

采样间隔和采样点大小的关系

采样率和可变长度输入样本与固定大小的 FFT 输入有何关系?

libfdk_aac音频采样率和编码字节数注意

视频帧速率影响清晰度吗

信号频率、采样频率、采样点数

更改 wav 文件的采样率和比特率而不会遇到打开文件的问题?