语音识别-准备工作-Python Pyaudio使用
(2018-01-08 15:11:55)分类: 编程经验 |
环境搭建
平台:windows 10 64bit
Python
一.下载
二.安装
PyAudio
由于Python相当轻量级,安装的Python只提供了最基本的一些功能。根据个人需求,下载相应的库。
本人打算做语音识别,故下载了PyAudio。
一.下载
二.安装
播放wave文件的实例
#引入库
import wave
import pyaudio
#定义数据流块
chunk = 1024
#只读方式打开wav文件
f = wave.open(r"F:\that.wav","rb")
p = pyaudio.PyAudio()
#打开数据流
stream = p.open(format =
p.get_format_from_width(f.getsampwidth()),
channels =
f.getnchannels(),
rate =
f.getframerate(),
output = True)
#读取数据
data = f.readframes(chunk)
#播放
while data !="":
stream.write(data)
data = f.readframes(chunk)
#停止数据流
stream.stop_stream()
stream.close()
#关闭 PyAudio
p.terminate()
录音实例
#引入库
import wave
import pyaudio
#参数定义
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "F:\output.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
前一篇:字符编码