实时语音处理工具,关键字识别(与Python3.5及更早版本兼容)
pyrtstools的Python项目详细描述
Pyrtstools
简介
python实时语音工具是一个类集合,旨在为语音用户界面开发实时语音处理管道。
免责声明: 这是一个早期版本,旨在为linto提供语音命令检测管道。 但是,这些元素被设计为通用的,并且可以用于其他目的。
功能
Pyrtstools具有不同的功能块:
- 音频采集
- 语音活动检测
- 特征提取
- 关键字定位
所有元件的设计都易于使用和互连。
安装
要安装软件包,需要安装python3和pip/setuptools。
推荐的库是:
- Portaudio19 dev(用于PyAudio麦克风输入)
python依赖项是自动安装的。 (请注意,可能需要一些时间,因为其中一些(numpy、tensorflow)太大了)
Pypi
sudo pip3 install pyrtstools
来源
git clone https://github.com/linto-ai/pyrtstools.git
cd pyrtstools
sudo ./setup.py install
使用量
下面是一个简单的管道,用于从麦克风检测热词
importpyrtstoolsasrtsaudioParam=rts.listenner.AudioParams()# Hold signal parameterslistenner=rts.listenner.Listenner(audioParam)# Microphone inputvad=rts.vad.VADer()# Voice activity detectionbtn=rts.transform.ByteToNum(normalize=True)#Convert raw signal to numericalfeatParams=rts.features.MFCCParams()# Hold MFCC features parametersmfcc=rts.features.SonopyMFCC(featParams)# Extract MFCCkws=rts.kws.KWS("/path/to/your-model.pb",(30,13))# Hotword spotting pipeline=rts.Pipeline([listenner,vad,btn,mfcc,kws])# Holds elements and links thempipeline.start()# Start all the elementstry:listenner.join()# Wait for the microphone to finish (To block the execution)exceptKeyboardInterrupt:pipeline.close()
每个块都位于子包中:
- 音频采集:
pyrtstools.listenner
- 语音活动检测:
pyrtstools.vad
- 特征提取:
pyrtstools.features
- 关键词识别:
pyrtstools.kws
- 信号转换:
pyrtstools.transform
每个元素和类都有文档记录。
许可证
这个项目是在agplv3许可证下,请随意使用和修改这些条款下的代码。 参见许可证