采样率可靠吗?
Is sample rate reliable?
在音频处理中,假设底层库(在我的例子中是 PortAudio)给我一个二进制文件,它代表从麦克风捕获的几秒钟音频,当它被捕获时,它使用的采样率为 sr
,底层库告诉我这个二进制文件包含 nf
个帧,我可以安全地假设二进制文件表示的音频持续时间是 nf / sr
秒吗?
换句话说,如果我使用 sr
的采样率,我可以安全地假设我将每秒获得 sr
个样本吗?硬件会不会因为某些因素(比如限制功耗等)导致掉一些sample?
您假设音频持续时间为 nf / sr
样本 是正确的。请注意,这假设您的 playback 的采样率也是 sr
。这可能不一定是这样。
大多数音频驱动程序支持一组有限的采样输出(44.1 kHZ、48 kHz、96kHz 等)。因此,如果说您的播放采样率为 psr
,那么实际持续时间将为 nf / (psr / sr)
秒。
请注意,大多数音频驱动程序通常不会丢弃会导致不希望的音频点击的样本,而只是具有更高的延迟以释放用于其他任务的计算。
请注意,PortAudio 并非用于播放或录制其 FAQ 中指定的文件。
在音频处理中,假设底层库(在我的例子中是 PortAudio)给我一个二进制文件,它代表从麦克风捕获的几秒钟音频,当它被捕获时,它使用的采样率为 sr
,底层库告诉我这个二进制文件包含 nf
个帧,我可以安全地假设二进制文件表示的音频持续时间是 nf / sr
秒吗?
换句话说,如果我使用 sr
的采样率,我可以安全地假设我将每秒获得 sr
个样本吗?硬件会不会因为某些因素(比如限制功耗等)导致掉一些sample?
您假设音频持续时间为 nf / sr
样本 是正确的。请注意,这假设您的 playback 的采样率也是 sr
。这可能不一定是这样。
大多数音频驱动程序支持一组有限的采样输出(44.1 kHZ、48 kHz、96kHz 等)。因此,如果说您的播放采样率为 psr
,那么实际持续时间将为 nf / (psr / sr)
秒。
请注意,大多数音频驱动程序通常不会丢弃会导致不希望的音频点击的样本,而只是具有更高的延迟以释放用于其他任务的计算。
请注意,PortAudio 并非用于播放或录制其 FAQ 中指定的文件。