一、录制音频
1、定义
(1)定义数据流
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
(2)设置录音时间
RECORD_SECONDS = 10
(3)打开数据流
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
2、录音
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
二、处理音频
1、批量读取.wav文件名
import os
filepath = "./data/" #添加路径
filename= os.listdir(filepath) #得到文件夹下的所有文件名称
for file in filename:
print(filepath+file)
这里用到字符串路径:
- 通常意义字符串(str)
- 原始字符串,以大写R 或 小写r开始,r’’,不对特殊字符进行转义
- Unicode字符串,u’’ basestring子类
2、读取文件
wave.open(file,mode)
mode可以是:
‘rb’,读取文件;
‘wb’,写入文件;
不支持同时读/写操作。
Wave_read.getparams用法:
f = wave.open(file,'rb')
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
其中最后一行为常用的音频参数:
nchannels:声道数
sampwidth:量化位数(byte)
framerate:采样频率
nframes:采样点数