豪猪唤醒词引擎演示

pvporcupinedemo的Python项目详细描述


豪猪唤醒词引擎演示

加拿大温哥华制造

此软件包包含用于处理实时音频(即麦克风)和音频文件的演示和命令行实用程序 使用豪猪唤醒词引擎。在

豪猪

豪猪是一个高度精确和轻量级的尾语引擎。它使建筑始终监听语音启用 应用。是的

  • 使用在现实环境中训练的深层神经网络。在
  • 紧凑且计算效率高,非常适合物联网。在
  • 可扩展。它可以检测多个始终监听的语音命令,而不需要增加CPU/内存占用。在
  • 自助服务。开发人员可以使用Picovoice Console训练自定义唤醒短语。在

兼容性

  • Python3
  • 可在Linux(x86_64)、Mac(x86_64)、Windows(x86_64)、Raspberry Pi(所有变体)和BeagleBone上运行。在

安装

麦克风演示使用PyAudio录制输入音频。咨询 安装指南位于PyAudio。在

sudo pip3 install pvporcupinedemo

使用

它打开麦克风的音频流,并检测给定唤醒词的声音。下面将打开默认值 麦克风并检测“皮科维奇”的出现。在

^{pr2}$

keywords是使用软件包附带的默认关键字文件的速记。默认关键字文件的列表 可以在用法字符串中看到

porcupine_demo_mic --help

若要同时检测多个短语,请将它们作为单独的参数提供

porcupine_demo_mic --keywords picovoice porcupine

检测非默认关键字(例如使用Picovoice Console创建的模型) 使用keyword_paths参数

porcupine_demo_mic --keyword_paths ${KEYWORD_PATH_ONE}${KEYWORD_PATH_TWO}

PyAudio识别的默认音频输入设备可能不是正在使用的设备。有一对 为了解决这个问题,在演示应用程序中加入了调试工具。首先,在控制台中输入以下内容

porcupine_demo_mic --show_audio_devices

它提供有关盒子上各种音频输入设备的信息。在Linux机器上,这是控制台输出

'index': '0', 'name': 'HDA Intel PCH: ALC892 Analog (hw:0,0)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '2'
'index': '1', 'name': 'HDA Intel PCH: ALC892 Alt Analog (hw:0,2)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '2'
'index': '2', 'name': 'HDA NVidia: HDMI 0 (hw:1,3)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '3', 'name': 'HDA NVidia: HDMI 1 (hw:1,7)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '4', 'name': 'HDA NVidia: HDMI 2 (hw:1,8)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '5', 'name': 'HDA NVidia: HDMI 3 (hw:1,9)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '6', 'name': 'HDA NVidia: HDMI 0 (hw:2,3)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '7', 'name': 'HDA NVidia: HDMI 1 (hw:2,7)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '8', 'name': 'HDA NVidia: HDMI 2 (hw:2,8)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '9', 'name': 'HDA NVidia: HDMI 3 (hw:2,9)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '10', 'name': 'Logitech USB Headset: Audio (hw:3,0)', 'defaultSampleRate': '44100.0', 'maxInputChannels': '1'
'index': '11', 'name': 'sysdefault', 'defaultSampleRate': '48000.0', 'maxInputChannels': '128'
'index': '12', 'name': 'front', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '13', 'name': 'surround21', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '14', 'name': 'surround40', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '15', 'name': 'surround41', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '16', 'name': 'surround50', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '17', 'name': 'surround51', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '18', 'name': 'surround71', 'defaultSampleRate': '44100.0', 'maxInputChannels': '0'
'index': '19', 'name': 'pulse', 'defaultSampleRate': '44100.0', 'maxInputChannels': '32'
'index': '20', 'name': 'dmix', 'defaultSampleRate': '48000.0', 'maxInputChannels': '0'
'index': '21', 'name': 'default', 'defaultSampleRate': '44100.0', 'maxInputChannels': '32'

可以看出,最后一个设备(索引21)被认为是默认的。但在这台机器上,耳机被用作 索引为10的输入设备。找到正确的索引后,可以按如下方式调用演示应用程序

porcupine_demo_mic --keywords picovoice --audio_device_index 10

如果问题仍然存在,我们建议将录制的音频存储到文件中以供检查。这可以通过

porcupine_demo_mic --keywords picovoice --audio_device_index 10 --output_path ~/test.wav

如果在收听存储的文件后没有检测到明显的问题,请打开问题。在

文件演示

它允许在音频文件的语料库上测试豪猪。演示主要用于量化性能 标杆管理。它接受16kHz的音频文件。如果立体声文件是 前提是它只处理第一个(左)通道。下面处理一个查找短语实例的文件 “皮科维奇”

porcupine_demo_file --input_audio_path ${AUDIO_PATH} --keywords picovoice

keywords是使用软件包附带的默认关键字文件的速记。默认关键字文件的列表 可以在用法字符串中看到

porcupine_demo_file --help

若要同时检测多个短语,请将它们作为单独的参数提供

porcupine_demo_file --input_audio_path ${AUDIO_PATH} --keywords grasshopper porcupine

检测非默认关键字(例如使用Picovoice Console创建的模型) 使用keyword_paths参数

porcupine_demo_file --input_audio_path ${AUDIO_PATH}\
--keyword_paths ${KEYWORD_PATH_ONE}${KEYWORD_PATH_TWO}

可以使用sensitivities输入参数为每个关键字调整引擎的灵敏度

porcupine_demo_file --input_audio_path ${AUDIO_PATH}\
--keywords grasshopper porcupine --sensitivities 0.3 0.6

敏感度是一个参数,它可以将未命中率与虚警率进行交易。它是一个浮点数 [0, 1]。更高的灵敏度以增加虚警率为代价降低了漏报率。在

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

推荐PyPI第三方库


热门话题
Java类/接口中的编码风格默认注释和元信息   java列表不为空,但poll方法返回null   java无法在安卓中设置视图   java在游戏中后台运行计数器线程   带有ForEach迭代问题的Java流   java OpenApi(Swagger 3.0)Codegen缺少验证   JAVAlang.RuntimeException:无法传递结果ResultInfo需要安卓。准许读取外部存储器或grantUriPermissio   新Java Spring启动项目应用程序引擎部署失败,错误代码为13   用户输入的java验证   如何使用java将连续的JSON对象转换为csv   java正则表达式以删除所有不可打印字符   如何告诉编译器在Android应用程序中使用Kotlin扩展函数而不是Java 8函数   java你能制作Tomcat 6标准吗。日志文件的行为是否像log4j DailRollingFileAppender?   当使用操作符重载时,在闭包中或甚至在方法中更新时,不会发生对我的列表的java更新   java错误解析jar上带有入口点创建的文件参数错误