#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "errrolyan"
# Date: 19-02-12
# Describe = "乐谱xml文件转化未为拼音”
import wave
import pyaudio
import numpy
import pylab
#打开WAV文档,文件路径根据需要做修改
wf = wave.open("./wav/1弦0品+2弦0品.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()
#将波形数据转换为数组
wave_data = numpy.fromstring(str_data, dtype=numpy.short)
print(wave_data)
#将wave_data数组改为2列,行数自动匹配。在修改shape的属性时,需使得数组的总长度不变。
wave_data.shape = -1,2
#将数组转置
wave_data = wave_data.T
N=44100
start=0 #开始采样位置
df = framerate/(N