解决ubunut22.04操作麦克风

背景

查看系统麦克风

方式一:通过PulseAudio,可视化窗口查看

方式二:通过PulseAudio,命令行方式查看

pactl list sources short # 列出当前 PulseAudio 音频服务器中所有可用的音频源

 

  • 0代表源索引
  • auto_null.monitor 中的monitor代表是一个监听设备,表示是一个麦蛾啃过

  • s16le 表示 16 位小端(Signed 16-bit Little Endian)的音频采样格式。
  • 2ch 表示双声道。
  • 44100Hz 是采样率,表示每秒采样 44100 次
  • SUSPENDED 代表当前麦克风是挂起的

 方式三:通过ALSA(Advanced Linux Sound Architecture),命令行查看

 补充:ALSA 和 PulseAudio 的区别?

  • arecord -l 更侧重于硬件层面 ALSA 交互,显示的是实际的物理音频录入硬件
  • pactl list sources short 更侧重于软件层面,显示的是 PulseAudio 管理下的所有音频源

 

麦克风录音

方式一:使用ALSA进行录音

arecord -D hw:2,0 -r 16000 -f s16_LE -t wav 1.wav # 指定麦克风录音,,直接使用硬件设备通常提供更低的延迟,但它不提供自动的数据格式转换,所以必须确保录音的格式与硬件设备兼容。
arecord -D plughw:1,0 -c 1 -r 16000 -f S16_LE output.wav #指定声卡录音 #plughw 提供了自动的格式转换,可以在不同的数据格式和硬件之间进行桥接
  • -D 参数指定录音设备,hw:2,0 指定了具体的硬件设备。这里,2 代表声卡的编号,0 代表该声卡上的特定设备编号。(通过arecord -l 命令查看)
  • -r 参数用于设置采样率,16000 指定录音的采样率为 16000 Hz(赫兹),这是一种常见的采样率,特别是用于语音识别和电话质量的音频
  • -f 参数用于指定采样格式。s16_LE 表示 16 位有符号(Signed 16-bit)小端(Little Endian)格式。这是一种常见的音频数据格式
  • -t 用于指定录制的文件类型。wav 表示录制的音频将保存为 WAV 文件格式

Python中的Pyaudio库遇到的问题

当我们使用 PulseAudio 选中麦克风的时候,不可再被Pyaudio库选中了,这个时候,我们可以通过可视化窗口选中一个其他麦克风

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值