谁能说采样率和帧大小是如何相关的?
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 的目的。 在两个连续样本之间留下的间隙中引入了新通道。 随着通道数量的增加,分配给每个通道的时间会减少每个位花费的时间。 但是任何通道的连续样本之间的驯服间隙将保持不变,它将等于总帧时间。 即样本之间的时间间隔=帧时间,因此帧速率等于采样率。
【讨论】:
以上是关于谁能说采样率和帧大小是如何相关的?的主要内容,如果未能解决你的问题,请参考以下文章