点击数:692
(在苹果系统下,如果文章中的图片不能正常显示,请升级Safari浏览器到最新版本,或者使用Chrome、Firefox浏览器打开。)
我们在需要跟用户使用语音进行交互的场景中,经常需要使用到录音的功能,比如网络语音通话和语音助手等,而完整的从底层实现录音功能往往是相当困难的,通常通过调用相关API来实现。这里我们介绍一种使用Python(3.x)中的PyAudio软件包来实现录音的方法。
需要安装的python软件包
pyaudio
wave
步骤
首先,我们需要导入软件包,并指定需要用到的相关参数,比如采样率,采样通道数和采样位宽等。
import wave
from pyaudio import PyAudio,paInt16
framerate=16000
NUM_SAMPLES=2000
channels=1
sampwidth=2
TIME=10
然后,我们先写一个用于将已经录制好的wave音频保存到文件的函数,这里就用到了“wave”这个软件包,其中,每个成员函数的意思就是其字面意思,按照其方法调用即可。
def save_wave_file(filename,data):
'''save the data to the wavfile'''
wf=wave.open(filename,'wb')
wf.setnchannels(channels)
wf.setsampwi