树莓派基于pyaudio实现录音功能

本文探讨了使用arecord命令进行录音时遇到的资源被占用问题,并分享了解决方案。同时,详细介绍了如何利用pyaudio库在Python环境中实现录音功能,包括设置采样参数、读写wav文件、录音及播放过程。

因为在做一个语音识别机器人,需要用到录音模块,本来想直接用arecord命令:

os.system('arecord -d 4 -r 16000 -c 1 -t wav -f S16_LE -D plughw:1,0 record.wav')

但每次运行结束后再次运行就会出现“arecord”资源被占用,输入ps -aux|grep python查看进程发现我的robot.py虽然已停止,但必须得kill -9 PID才能再次运行。这个问题至今还没找到答案,如果有知道的伙伴麻烦告知一声,感激不尽。

基于以上原因,我决定用pyaudio录音,参考了一些博主的代码进行加工。

环境:python2.7

需要导入的包: wave 和 pyaudio

pyaudio怎么安装请自行百度,直接上代码

#_*_ coding:UTF-8 _*_

import wave
from pyaudio import PyAudio,paInt16

# 设置采样参数
NUM_SAMPLES = 2000
TIME = 2
chunk = 1024

# 读wav文件
def read_wave_file(filename):	
    fp = wave.open(filename,'rb')
    nf = fp.getnframes()     #获取采样点数量
    f_len = nf*2
    audio_data = fp
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值