【发布时间】:2019-04-26 23:22:04
【问题描述】:
当使用带有paInt16 的pyaudio 录制音频时,它给了我16 位整数,表示为两个字节。经过一番研究,我得出结论,它必须在 -32768 到 32767 之间。
我将音频保存为 wav 文件并使用 librosa.core.load 将其加载回来。
我确实检索了浮点值 * 32767 并查看它是否生成原始的 16 位整数,但它根本不匹配。
我的问题是
- 这种不匹配是从哪里来的??
- 原来的16位整数数据代表频率吗?
- 加载函数返回
floating point time series的librosa doc状态。你如何从原来的 16 位整数中计算出这个值?
【问题讨论】:
-
你如何比较数据?默认情况下,librosa 重新采样为 22050Hz,因此如果您比较帧的原始值,它们将根本不匹配。
-
通过除以 32767 来缩放 int16 数据应该使其符合 librosa 的预期格式。但是注意samplerate,传入pyaudio给你的值