paInt32,paInt16,paInt24,paFloat32等之间的区别?

时间:2017-03-28 11:24:04

标签: python pyaudio

我正在尝试(学习)有关pyaudio模块的Ubuntu 16.04 LTS上使用Python 2.7.12。我必须提到我需要哪种格式来录制麦克风的音频。我想知道

之间的区别
papaInt32,paInt16,paInt24,paFloat32,paInt8,paUInt8

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

1 个答案:

答案 0 :(得分:2)

PortAudio支持各种样本格式的音频输入和输出:8,16,24和32位整数格式以及32位浮点,与本机音频API支持的格式无关。

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

Reference

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

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

paUInt8是一种无符号8位格式,其中128被认为是#34;地面"

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

Reference

如果您使用的是Float32,那么代码应该没问题。如果你 正在使用paInt32(或24/16/8),那么你需要确保回到 执行乘法后的int(或short,char等)