语音数据采集-实时语音数据可视化
Posted studyer_domi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语音数据采集-实时语音数据可视化相关的知识,希望对你有一定的参考价值。
1、安装依赖
pip install pyaudio
pip install pylab
2、语音数据展示
import pyaudio
import numpy as np
CHUNK = 4096 # 每次采集的数据点数
RATE = 44100 # 采样频率
p=pyaudio.PyAudio() # 启动类
stream=p.open(format=pyaudio.paInt16,channels=1,rate=RATE,input=True,
frames_per_buffer=CHUNK) #输入设备
# 创建一个numpy来保存每次采集的数据
for i in range(10): #
data = np.fromstring(stream.read(CHUNK),dtype=np.int16)
print(data)
# 关闭音频采集流
stream.stop_stream()
stream.close()
p.terminate()
3、声音波形可视化
首先采集数据,然后保存为图片,新建一个网页,在网页上展示波形图
import pyaudio
import numpy as np
import pylab
import time
RATE = 44100
CHUNK = int(RATE/20)
def soundplot(stream):
t1=time.time()
data = np.fromstring(stream.read(CHUNK),dtype=np.int16)
pylab.plot(data)
pylab.title(i)
pylab.grid()
pylab.axis([0,len(data),-2**16/2,2**16/2])
pylab.savefig("03.png",dpi=50)
pylab.close('all')
print("took %.02f ms"%((time.time()-t1)*1000))
if __name__=="__main__":
p=pyaudio.PyAudio()
stream=p.open(format=pyaudio.paInt16,channels=1,rate=RATE,input=True,
frames_per_buffer=CHUNK)
for i in range(int(20*RATE/CHUNK)): #持续10s
soundplot(stream)
stream.stop_stream()
stream.close()
p.terminate()
网页代码
<html>
<script language="javascript">
function RefreshImage()
document.pic0.src="03.png?a=" + String(Math.random()*99999999);
setTimeout('RefreshImage()',50);
</script>
<body onload="RefreshImage()">
<img name="pic0" src="03.png">
</body>
</html>
效果如图
以上是关于语音数据采集-实时语音数据可视化的主要内容,如果未能解决你的问题,请参考以下文章
个推漫话数据智能:《女心理师》中的智能语音识别系统如何实现?