语音数据采集-实时语音数据可视化

Posted studyer_domi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语音数据采集-实时语音数据可视化相关的知识,希望对你有一定的参考价值。

1、安装依赖

pip install pyaudiopip install pylab

2、语音数据展示

import pyaudioimport 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 pyaudioimport numpy as npimport pylabimport time
RATE = 44100CHUNK = 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>

效果如图

 

以上是关于语音数据采集-实时语音数据可视化的主要内容,如果未能解决你的问题,请参考以下文章

个推漫话数据智能:《女心理师》中的智能语音识别系统如何实现?

个推科普漫画,解读《女心理师》中的智能语音识别系统

个推科普漫画,解读《女心理师》中的智能语音识别系统

最长支持5小时,实时语音转写,直播也能同步字幕

如何将实时语音添加到 Microsoft bot 框架的文本数据(正是 google 语音所做的)

基于kaldi的iOS实时语音识别(本地)+03+音频采集传输