python - paInt32、paInt16、paInt24、paFloat32 等之间的区别?

标签 python pyaudio

当我尝试(学习)pyaudio 模块时,我在 Ubuntu 16.04 LTS 上使用 Python 2.7.12。我必须提到从麦克风录制音频时需要哪种类型的格式。我想知道两者之间的区别

papaInt32,paInt16,paInt24,paFloat32,paInt8,paUInt8

以及何时使用每种格式。我正在尝试(学习)来自 Python pyaudio.PyAudio Examples 的 pyaudio

最佳答案

PortAudio 支持多种示例格式的音频输入和输出:8、16、24 和 32 位整数格式以及 32 位浮点,无论 native 音频 API 支持何种格式。

用于指定一种或多种示例格式的类型。每个值表示传入和传出流回调 Pa_ReadStream 和 Pa_WriteStream 的声音数据的可能格式。

Reference

标准格式 paFloat32、paInt16、paInt32、paInt24、paInt8 和 aUInt8 通常由所有实现实现。

浮点表示(paFloat32)分别使用+1.0和-1.0作为最大值和最小值。

paUInt8 是一种无符号 8 位格式,其中 128 被视为“地面”

paNonInterleaved 标志表示音频数据作为指针数组传递到单独的缓冲区,每个 channel 一个缓冲区。通常,当不使用此标志时,音频数据将作为所有 channel 交错的单个缓冲区传递。

Reference

如果您使用 Float32,那么代码应该没问题。如果你 正在使用 paInt32 (或 24/16/8),那么您需要确保转换回 执行乘法后的 int (或短整型、字符等)

关于python - paInt32、paInt16、paInt24、paFloat32 等之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43068268/

相关文章:

python - 将 Pandas DataFrame 转换为分层列/更改列层次结构

python - 简单的网络浏览器,通过 webkit python 自动刷新

python - 使用实时命令行输出触发脚本

python - PyAudio 工作,但每次都吐出错误消息

python - PyAudio——如何在单个流中捕获麦克风和系统声音?

python - 如何检测pyaudio输入的声音频率?

python - python 中 BPY 模块的导入错误

python - 使用pandas索引作为字典键,根据匹配键用值填充字典

python - 无法更改 Raspberry pi 上 PyAudio 中的卡索引

python - OSX 上的 Pyaudio 类型错误