在过去,您曾经可以打开/dev/dsp
阅读和写作,现在,有了 PulseAudio,这不再适用了。
我以为您可以使用 来做到这一点padsp
,但是此代码无法运行:
import ossaudiodev
f = ossaudiodev.open("w")
fmt, channels, rate = dsp.setparameters(fmt, channels, rate)
(通过运行它padsp python script.py
)
我得到的错误是No such file or directory: '/dev/dsp'
.
我错过了什么?如何从声音设备读取和写入原始字节,以及如何选择要使用的设备?
该脚本是 PulseAudio 的 Simple API 的精简包装器。它允许您将样本写入默认输出:
速率 (44100) 定义了一秒内的实时样本数。它需要 0-255 范围内的字节,由 PA_SAMPLE_U8 定义(例如,相当于 Audacity 所示的“无符号 8 位”)。如果您有多个通道,则需要为每个通道交替采样。因此,一秒钟的噪声每个通道有 44100 个样本 = 88200 个样本,其中(模 2 = 0)的样本用于左通道。
请注意,此脚本仅在 Python 3 上运行