环境需要有包pudub,ffmpeg,pyaudio
并下载ffmpeg 放在文件目录中,url:https://ffmpeg.zeranoe.com/builds
import wave
import math
import pyaudio
import numpy
import pandas as pd
import os
from pydub import AudioSegment
#求数组平均值
def mean(a):
return numpy.longlong(sum(a)) / len(a)
#把mp3格式转化为.wav模式
def trans_mp3_2_wav(filename):
name = os.path.splitext(filename)[0]
audio=AudioSegment.from_mp3(filename)
audio.export(name + ".wav",format="wav")
#绝对值函数
def abslist(a):
return list(map(abs,a))
def recvoice(filename):
#取文件名
name = os.path.splitext(filename)[0]
#打开WAV文档,文件路径根据需要做修改
wf = wave.open(name + ".wav", "rb")
#创建PyAudio对象
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=wf.getnchannels(),rate=wf.getframerate(),output=True)
nframes = wf.getnframes()
framerate = wf.getframerate()
#读取完整的帧数据到str_data中,这是一个string类型的数据
str_data = wf.readframes(nframes)
wf.close()