Python音频信号分析

一、录制音频

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)

这里用到字符串路径:

  1. 通常意义字符串(str)
  2. 原始字符串,以大写R 或 小写r开始,r’’,不对特殊字符进行转义
  3. 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:采样点数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值