图像引导手术的语音接口服务。

scikit-surgeryspeech的Python项目详细描述


LogoGitLab-CI test statusTest coverage

作者:Kim Celine Kahl

scikit手术演讲是SNAPPY软件项目的一部分,在Wellcome EPSRC Centre for Interventional and Surgical Sciences开发,是University College London (UCL)的一部分。

Scikit SurgerySpeech支持Python3.6。

scikit手术演讲是一个在后台运行Python Speech Recognition API的项目 对于特定的命令。在说出关键字之后,您可以说出不同的命令, 转换成qt信号。

语音识别是由Google Cloud API完成的,您必须获得凭据才能使用它或更改识别服务。

关键字检测由Porcupine API完成,您必须在环境变量中设置不同的路径才能使其运行,如下所述。

请探索项目结构,并实现自己的功能。

示例用法

要运行示例,只需启动

sksurgeryspeech.py

确保google cloud api的设置正确,如下一节所述。

此外,还必须设置豪猪关键字检测的所有参数,如下所述。

然后,根据您选择的豪猪关键字文件和随后的命令,可以说出关键字。命令“退出”退出应用程序。

注意:每次你已经输入了一个命令,你需要再次说出关键字来触发监听命令。

开发

克隆

您可以使用以下命令克隆存储库:

git clone https://weisslab.cs.ucl.ac.uk/WEISS/SoftwareRepositories/SNAPPY/scikit-surgeryspeech

如果在运行应用程序时遇到问题,可能需要安装portaudio

brew install portaudio

设置豪猪关键字检测

如果正在运行关键字示例,则需要克隆豪猪API

git clone https://github.com/Picovoice/Porcupine.git

然后,您必须设置以下环境变量(这里的路径只是相对于porcupine文件夹,设置完整路径):

PYTHONPATH=Porcupine\binding\python
PORCUPINE_DYNAMIC_LIBRARY=Porcupine\lib\<your os>\<your processor type>\<dynamic-library-file>
PORCUPINE_PARAMS=Porcupine\lib\common\porcupine_params.pv
PORCUPINE_KEYWORD=Porcupine\resources\keyword_files\<your os>\<keyword file of your choice>

你也可以generate your own keyword files

如果在自己的应用程序中使用语音识别服务,则必须启动一个后台线程,该线程调用该方法来一遍又一遍地侦听关键字。

您可以在sksurgeryspech_demo.py中找到如何创建这样一个线程的示例

使用谷歌云语音识别服务

要使用google云语音识别服务,您需要首先get the credentials。注册后,你 应该会得到一个json文件和您的凭据。下载此文件并设置环境变量

GOOGLE_APPLICATION_CREDENTIALS

到json文件的路径。然后您应该能够运行应用程序。

更改语音识别服务

如果不想使用google cloud api,要更改语音识别服务,只需更改命令

words = recognizer.recognize_google_cloud(audio, credentials_json=self.credentials)

(文件“voice_recognition_service.py”,方法“listen_to_command(self)”) 为您选择的识别服务。当前可用的服务有:

recognizer.recognize_sphinx(audio)
recognizer.recognize_google(audio)
recognizer.recognize_google_cloud(audio, credentials_json=GOOGLE_CLOUD_SPEECH_CREDENTIALS)
recognizer.recognize_wit(audio, key=WIT_AI_KEY)
recognizer.recognize_bing(audio, key=BING_KEY)
recognizer.recognize_azure(audio, key=AZURE_SPEECH_KEY)
recognizer.recognize_houndify(audio, client_id=HOUNDIFY_CLIENT_ID, client_key=HOUNDIFY_CLIENT_KEY)
recognizer.recognize_ibm(audio, username=IBM_USERNAME, password=IBM_PASSWORD)

python开发

这个项目使用毒素。从干净的python环境开始,然后执行以下操作:

pip install tox
tox

运行的命令可以在tox.ini中找到。

安装

您可以直接从存储库进行pip安装,如下所示:

pip install git+https://weisslab.cs.ucl.ac.uk/WEISS/SoftwareRepositories/SNAPPY/scikit-surgeryspeech

致谢

WellcomeEPSRC支持。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
orm如何在Java中实现规范化映射?   java以编程方式修改Xtext生成的Mwe2工作流   java正在覆盖外部文件中的现有数据,如何停止?   java在ANTLR BNF语法符号中epsilon的等价物是什么?   java如何使用Hibernate@Anyrelated注释?   代码生成生成java类并在运行时加载它   java Maven无法在本地jar文件中收集依赖项   java NetBeans IDE 8.2不显示错误消息   java Selenium web驱动程序找不到元素   java如何修复“拒绝访问属性”invoke“”的权限?   JavaApacheJClouds,从比日期更早的blob中删除blob的最佳方法   java如何比较和排序树集中的项目?   使用JavaSpring和无头/解耦CMS   java使用swagercodegen在不同的类中生成端点   Java外部Keylistener没有响应