语音唤醒

article/2025/9/12 9:30:37

语音唤醒

  • 前言
  • 一、语音唤醒相关环境搭建
  • 二、使用步骤
    • 1.使用流程
    • 2.示例代码
  • 总结


前言

针对语音交互过程,提供了一种语音唤醒的方法供大家参考,语音交互采用snowboy离线语音唤醒引擎,snowboy已经被kitt.AI团队下架,但我们仍能够在github中找到该项目


获取相关工具开发包网址:
链接: link.

一、语音唤醒相关环境搭建

下载完成后,文件夹中文件如下图所示,在终端处打开swig文件夹进入python文件夹通过make指令编译生成python文件及二进制链接文件即可使用
在这里插入图片描述

二、使用步骤

1.使用流程

1.传入热词模型snowboy.umdl
2.使用snowboydecoder模块创建对象snowboydecoder.HotwordDetector(model,sensitivity=0.5)
3.开始热词检测,detector.start(detected_callback=function_name,interrupt_callback,sleep_time=0.03)

2.示例代码

代码如下(示例):

#_*_coding=UTF-8_*_#导入SDK包
import sys
sys.path.append('/home/pi/SnowBoy')
import my1audio
import snowboydecoder
import signalinterrupted = Falsedef signal_handler(signal,frame):global interruptedinterrupted = True
#play()为所传入的函数
def play():my1audio.play('snowboy_rouse.wav')return Truedef interrupt_callback():global interruptedreturn interrupteddef rouse(function):
#判断命令行指令是否传入唤醒词模型,无则退出程序if len(sys.argv)==1:print("Error:need to specify model name")print("Usage:python demo.py your.model")sys.exit(-1)#唤醒词模型为输入的参数,这里可以进行修改
#modle = sys.argv[1]modle = '/home/pi/SnowBoy/resources/snowboy.umdl'  #修改model,指定其文件名#capture Sigint signal ,e.g.,Ctrl+Csignal.signal(signal.SIGINT,signal_handler)#唤醒词检测函数,调整sensitivity参数可修改唤醒词检测的准确性detector = snowboydecoder.HotwordDetector(modle,sensitivity=0.5)print "Listening......Please Ctrl+C to exit"#main loop
#回调函数detected_callback=snowboydecoder.play_audio_file
#修改回调函数可实现我们的功能detector.start(detected_callback=function,interrupt_check=interrupt_callback,sleep_time=0.3)#资源释放detector.terminate()##实现自己的语音唤醒平台,我们只需要修改三个参数:
##1.修改model,model=‘resources/snowboy.umdl’   修改model,指定model的文件名
##2.修改热度检测灵敏度修改sensitivity
##3.修改回调函数 detected_callback=own_callbacks
if __name__=='__main__':rouse(play)print 'aaaa'

总结

通过采用离线语音唤醒引擎能够实现系统被唤醒后执行相应的功能


http://chatgpt.dhexx.cn/article/IicLcVud.shtml

相关文章

语音唤醒简单说明

随着 Echo 出现,all in one 音响类产品雏形开始显现,语音交互成为最直接的控制方式,Amazon Echo作为最佳代表,智能语音交互成为互联网入口的新价值所在。ABI Research 在 2017 年収布的预测报告指出,估计到 2022 年,支持语音控制的装置出货量将达到 7500万台,其中智能喇…

语音唤醒技术的原理是什么?

https://www.toutiao.com/a6644766450860950024/ 2019-01-10 15:27:29 “天猫精灵。”“哎,在的,你说” “小爱同学,定明天早上8点的闹钟。”“好的,已经帮你定好明天早上8点的闹钟” 不少同学家里都有AI智能音箱产品&#xff0…

android系统看片软件,真正的手机看片神器 和视界手机APP评测

播放界面支持丰富的手势操作,我们可以通过上下左右的滑动手指来调整影片进度以及音量大小。和视界还可以选择不同的输出设备——只要硬件设备支持,我们可以通过手机将和视界中的视频内容投射到电视上观看。 注重影片的口碑效应,支持用户打分与…

FreeRTOS时间片调度

一、FreeRTOS时间片调度概述 FreeRTOS支持多个任务同时拥有一个优先级,这些任务的调度就可以使用时间片来进行调度。在FreeRTOS中允许一个任务允许一个时间片(一个时钟节拍的长度)后让出CPU的使用权,让拥有同优先级的下个任务运行…

MongoDB 分片集群技术

在了解分片集群之前,务必要先了解复制集技术! 1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础。 1.1.1 复制集的…

片偏移怎么计算_计算机网络学习笔记(四)之网络层

点击蓝字关注我吧 越努力越幸运!!! 1 网络层的功能 1.1异构网络互联 网络的互联:指将两个以上的计算机网络,通过一定的方法, 用一种或多种通信处理设备(即中间设备)相互联接起来,以构成更大的网络系统。中间设备又称为中间系统或中继系统。根据中继系统所在…

IP分片浅析

一、IP分片原理 IP分片是网络上传输IP报文的一种技术手段。 IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。 不同的链路类型规定有不同最大长度的链路层数据帧,称为链路层MTU(最大传输单元&#…

硅钢片知识点

文章目录 一、电工钢为什么选硅钢二、为什么要用硅钢“片”三、为什么电机用无取向,变压器用有取向硅钢片四、其他关于硅钢片应该了解的4.1 热轧和冷轧4.2 厚度4.3 牌号4.4 叠片系数4.5 冲片性 一、电工钢为什么选硅钢 电机和变压器的内部主要组成是铜绕组&#xf…

wireshark捕获IP分片数据包实践

一 简介 如果一个数据包超过1500个字节,就需要将该包进行分片发送。通常情况下,是不会出现这种情况的。 下面通过使用ICMP包,来产生IP分片数据包。 使用ICMP包进行测试时,如果不指定包的大小,可能无法查看被分片的数据…

mongo分片

分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据…

IP分片报文的接收与重组

对于长度超过接口MTU的数据包,需要进行分片处理,IP报头中与分片相关的字段有如下几个: Identification - 用来确认不同的分片是否属于同一个IP报文; Flags - 其中IP_MF表示还有分片,此分片为…

数据 分片

背景 传统的将数据集中存储至单一节点的解决方案,在性能、可用性和运维成本这三方面已经难于满足海量数据的场景。 从性能方面来说,由于关系型数据库大多采用 B 树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使得磁…

MongoDB:海量存储基础-分片架构

文章目录 1.分片架构2.分片策略3.读写策略4.数据迁移 1.分片架构 分片是数据库中常用的提升存储容量的方式,它基于水平拓展的思想,将大量的数据按一定规则分配到不同的服务器中存储,比如MySQL集群可以借助Sharding-JDBC等外部框架对数据进行…

SpringBoot文件分片上传

背景 最近好几个项目在运行过程中客户都提出文件上传大小的限制能否设置的大一些,用户经常需要上传好几个G的资料文件,如图纸,视频等,并且需要在上传大文件过程中进行优化实时展现进度条,进行技术评估后针对框架文件上…

芯片的设计流程和流片成本

每天都在用,但你知道芯片的设计流程和流片成本吗? 2017-05-10 06:10 来源:半导行业观察 芯片,是无数设计工程师们烧死很多脑细胞后产生的作品,完全可以称得上是当代的艺术品。无论是电工们,还是科技小白…

华为防火墙分片缓存

分片缓存 分片缓存功能用来缓存先于首片分片报文到达的后续分片报文,避免分片报文被防火墙丢弃。 网络设备在传输报文时,如果设备上配置的MTU(Maximum Transfer Unit)小于报文长度,则会将报文分片后继续发送。 我们知道…

二三层报头及IP分片详解

一、报文数据格式 二、二层数据格式 二层以太帧格式 DMAC(6字节)SMAC(6字节)type(2字节)DATA(46-1500字节)CRC(4字节) 字段长度含义DMAC6字节目的MAC地址&am…

哈希分片总结

主要参考: 《大数据日知录》 https://zhuanlan.zhihu.com/p/34985026 什么是哈希分片 后台随着数据规约的越来越大,单机明显无法存储着庞大的数据量,只能依靠大规模集群在对数据进行存储和处理,所以系统的可扩展性也成为了很重要…

MongoDB 分片

分片 sharding 分片是指将数据拆分,将起分散到不同服务器的过程.,将数据分散到不同的服务器上,可以存储更多的数据,处理更大的负载 MongoDB分片机制允许你创建一个包含许多服务器(分片)的集群,将子数据分散在集群中.每个分片维护着一个数据集合的子集,相比单服务器和副本集&…

LaTeX制作幻灯片

LaTeX \LaTeX LATE​X幻灯片制作采用的是beamer类。beamer类默认使用sans serif family,和article不同,article默认是roman font family。所以如果我要实现幻灯片的标题和正文字体的设置可以通过下面的命令: \setsansfont{TeX Gyre Termes} …