精华内容
下载资源
问答
  • 语音助手

    2021-05-05 13:05:07
    语音助手 前言:相信大家都听过语音助手,虽然比较鸡肋,但确实有一部分人用过,比如苹果的Siri,微软的小娜。本次要做的业务也是跟这个功能类似,通过语音操作自己的软件中的部分功能。 1.项目简介 先讲一下项目...

    语音助手

    前言:相信大家都听过语音助手,虽然比较鸡肋,但确实有一部分人用过,比如苹果的Siri,微软的小娜。本次要做的业务也是跟这个功能类似,通过语音操作自己的软件中的部分功能。

    1.项目简介

    先讲一下项目的大体框架,这是一个基于electron实现的pc端应用程序,前端技术栈主要是node+vue+electron。一开始,这个语音助手功能是使用electron渲染进程实现的一个窗口,当时在这个窗口中处理语音交互,以及用户语音动作的执行。后来,考虑到助手功能以后会对接其他业务,所以选择将助手功能独立出来,改用c++实现。由于软件大部分功能基于electron实现的,所以用户指令的解析和处理还是放在了electron的主进程中。根据业务需要,功能做出如下调整:c++端负责助手UI界面、用户语音交互、服务器交互;js端负责语音指令解析处理和执行。js端代码主要放在electron的主进程中,之前的渲染进程窗口就没用了。

    该项目进程间通信使用较多,大体上有四类,主进程和渲染进程,主进程和非electron进程,渲染进程和非electron进程 ,不同渲染进程之间。由于内容可能过多,打算另写文章讲解,不过最终都是采用事件监听和事件触发的方式实现。

    我就是在这次改版中,分到这个项目的js端研发工作。刚接手的时候,对之前的业务没有了解,加上工期较紧。当时的想法就是,实现就行,没有考虑如何设计更具拓展性,代码文件如何划分更易维护。这些前期埋的雷,在经过几个版本的迭代过程后,逐渐暴露出来。当时光一个指令解析函数代码都几百,业务的代码文件上千行,而且很多打开窗口,函数代码明显重复。这些无疑对后续的功能拓展,缺陷问题定位,其他人接手,都极为不利。当时为了加一个新功能,都不知道代码该往哪里写。

    2.业务消息分层

    痛定思痛,开始梳理业务逻辑,发现了一些规律。所有的指令消息的处理都会经过如下图示的流程:

    消息

    根据语音消息的处理逻辑步骤,可以很清晰的把任务划分为3个不同的层次:1.消息接收层。2.语义解析层。3.业务处理层。

    2.1消息接收层

    使用的是内部mq服务,来实现不同进程间的通信。c++的语音识别进程,负责把用户的语音指令转化成json格式的消息,通过mq发送到主进程的mq接收端,这里除了语音消息,还有其他智能硬件的消息,比如智能笔登录消息。所以这里直接根据消息中携带的type,将消息转发给不同的消息处理类。该类每一个子类都一个handleMessage的方法。类设计如下:

      class MessageReceiver{
          
          async handleMessage(message){
              // 伪代码
              const {semantic,service} = message
              switch(service){
                  case ServiceType.STARTAPP:{
                      await startAppDirectiveHandler.parseSemantic(semantic)
                      break
                  }
                  ...
              }
          }
      }

    这些类都是无状态的类,无状态的类其实跟函数对比,在功能上基本没有区别。这里使用类的原因是为了后续的可拓展性考虑,而且类比函数更具封装性,看上去更像是一个整体。

    2.2语义解析层

    该层的作用是将用户复杂的语义,解析成固定的指令,然后转给下一层业务处理层处理。指令的构成就是和调用接口差不多。指令主要包括要操作的业务,以及操作该业务需要的参数。操作的业务对应了url,参数则对应了location.search的内容。

      class DirectiveHandler{
          async parseSemantic(semantic){
              const {slots, intent} = semantic
              switch (intent) {
                  case IntentType.timing: {
                      this.parseTiming(slots)
                      break
                  }
                      // 其他意图
              }
          }
          
          parseTiming(slots){
              //...解析slots,然后转给相关业务类处理
          }
      }

    每个指令处理类,会提供一个对应的parseSemantic方法,用于解析用户语义,先根据intent类型判断对应的业务,每种intent中的slots数据结构不同,所以这里针对每种slots,单独提供方法进行解析,再把解析出来的参数交给对应的业务类处理。

    2.3业务处理层

    这层就很简单了,就是提供方法,接受参数,然后处理相关业务,该打开窗口就打开窗口,该进行应用内跳转就跳转。需要注意的就是业务之间代码不能重复,尽可能复用之前的业务代码。因为很多业务都有打开窗口的操作,而这个逻辑都是相同的:

    1. 检查该窗口是否打开过

    2. 如果打开过,则找到窗口实例将其置顶

    3. 如果没有打开,就先实例化该窗口,拿到窗口实例

    4. 拿到窗口实例后,把指令通过webContent或者mq传给该(进程)窗口

    所以,这里可以提取出来,形成一个工厂函数,只要传入需要打开窗口的窗口名称和参数,就可以打开一个窗口。也不用在每个业务中检查对应窗口是否打开。

    根据这样的分层,代码目录划分为

    1. businesses:业务代码类,处理业务,并将业务执行结果返回给语音助手

    2. configs:该功能中使用到的一些配置

    3. utils:工具函数

    4. directives:将用户语义解析为指令,并分发业务

    5. receivers:接收mq消息,根据消息类型分发给语义解析类解析

    3.问题

    重构后的代码,无论是添加新的指令需求,还是新的业务,对原有代码的改动量都比原来少了很多。

    1. 维护性:通过目录设计,以及文件的命名规则,熟悉js编程的人都可以很快熟悉代码,上手业务

    2. 拓展性:这里如果需要添加新的业务,我们只需要添加一个business类,对于directive类,可以新加,也可以在原有的directive添加新的语义,来解决业务分发。也就是说每次新需求改动文件只有两个。

    3. bug定位:首先在只看到日志的情况下,我们可以直接根据语义,找到对应的业务类,甚至可以在不运行代码的前提下,发现bug的具体行数。

     

    展开全文
  • 语音助手-源码

    2021-03-02 03:13:06
    语音助手
  • jovi语音助手最新版为你提供方便快捷的语音助手,让你在使用之后可以更加方便的使用。软件上手简单,对于手机的适配还是比较适合vivo的手机。欢迎来当易网下载!简介:Jovi智能语音助手是vivo NEX手机搭载的一款AI...

    jovi语音助手最新版为你提供方便快捷的语音助手,让你在使用之后可以更加方便的使用。软件上手简单,对于手机的适配还是比较适合vivo的手机。欢迎来当易网下载!

    简介:

    Jovi智能语音助手是vivo NEX手机搭载的一款AI语音助手APP,软件由讯飞科技深度定制,支持Ai人工智能语音助手、Ai拍照识图、智慧识屏等功能,操作简单,界面清爽。

    jovi语音app功能:

    1、智能场景

    2、智能识屏

    3、语音助手

    4、智能拍照

    b3dbcb2a55912d16b56a84851847ed4d.png

    5、智能识图

    6、游戏模式

    7、驾驶模式

    软件功能:

    1、可以进行命令教学,针对不同的用户还有Jovi广场里用户分享的命令可供使用。

    2、智慧识图,利用NEX人工智能引擎AIE强大的神经网络运算能力,全局响应的智慧识图一键识万物。百科、购物、翻译、扫题、识屏等智慧功能应有尽有。

    3、深度覆盖系统功能和高频第三方应用,点触可实现的操作,语音均可实现。

    4、搭载了深度自然语言理解技术,能够准确地从自然语言中提取有用信息,理解复杂逻辑关系,轻松应对复杂语句。

    包名:com.vivo.agent

    MD5:5d0c0aa9ffeae6ce1f4963f70288f065

    展开全文
  • 手机语音助手

    2013-03-23 15:31:39
    语音助手
  • 华为语音助手

    2017-04-14 16:58:20
    官方语音助手APP
  • 车载语音助手

    2018-12-27 09:19:04
    t3车载语音助手,Android通用,包含设置及软件,激活词汇:你好,魔方
  • 开源语音助手 在上一篇文章中 ,我介绍了Mycroft,并分享了有关开源语音助手项目的一些信息。 本文将帮助您开始了解有关关键术语,安装以及将Mycroft与设备配对的详细信息。 我的目的是增加官方文件 ; 虽然这些文档...

    开源语音助手

    上一篇文章中 ,我介绍了Mycroft,并分享了有关开源语音助手项目的一些信息。 本文将帮助您开始了解有关关键术语,安装以及将Mycroft与设备配对的详细信息。 我的目的是增加官方文件 ; 虽然这些文档确实很棒,但是当我刚开始学习Mycroft时,我发现它们很难遵循,因此我希望能为您弥补其中的一些空白。

    这个怎么运作

    在进行安装和设置之前,我想介绍一些基础知识,以确保您在阅读文档时保持清晰。 Mycroft团队的这张图片在总结流程方面做得很好。

    How Mycroft works

    单击图像可缩放视图。 (©Mycroft AI,Inc.)

    关键术语

    以下是您在Mycroft生态系统中经常看到的一些术语。 其中一些信息来自Mycroft的白皮书“语音堆栈简介”

    唤醒词

    唤醒词是触发器,语音助理经过训练后会在您要发出命令时听到。 这也可以称为“热门词”。 唤醒词的常见示例是Hey SiriOK GoogleAlexa等。 语音助手一直在听其唤醒词。

    Mycroft对于唤醒单词侦听器有两个选项:

    • Pocket Sphinx目前仅接受英语语言培训。 它使用CMU Flite声音词典来了解唤醒词。 这意味着您的唤醒词应使用英语以达到最佳效率。 这种方法的好处是它灵活且易于使用。 您可以选择在词典中找到的单词和声音的任意组合。 以我的经验,不利的一面是使触发器无法正常工作太容易或非常困难。 您可以使用一些选项来调整阈值或灵敏度,这会有所帮助。
    • 另一方面, 精确度被描述为对音频数据进行训练的神经网络。 此方法仅针对声音进行训练。 此选项最适合非英语母语人士。 这可能会有点费力,因为您必须对自己(可能还有其他人)进行大量录音,说出所选的唤醒词。 您还应该建立大量环境噪声,这些噪声对于您的环境是常见的,并且其中没有唤醒声音(单词)。 这样,Precise引擎可以更准确地确定什么是唤醒声音,什么不是唤醒声音。

    发声

    一旦设备“收听”命令,用户就会说出话语 这可能类似于“天气预报是什么?” 或“今天的比特币价格是多少?” 语音助手会记录语音内容。

    语音到文本(STT)和文本到语音(TTS)

    语音助手记录了语音后,便通过语音到文本(STT)处理器运行语音,以将音频转换为单词。 您可以想象,这是最关键的部分之一。 如果Mycroft对您的理解不正确,它将不会选择正确的技能 ,因此对于最终用户而言,它似乎是“愚蠢的”。

    理想情况下,我希望能够在自己的网络上运行类似的操作,但是目前看来这是不切实际的。 尽管我可能会研究其他后端服务,例如来自IBM的那些后端服务,但现在代理我的数据已足够。

    最终,语音助手响应用户的语音。 该层称为文本语音转换(TTS) ,本质上是STT层的反面,它将文本转换为语音。 有一个称为Mimic的本地选项。 如果Mycroft遇到问题,它既是主要选择,也是后备选择。

    Mimic具有很强的机械感,但我在开发机器上使用它,因为它的响应速度比其他选项更快。 当我开发一项新技能时,速度对我而言比令人愉悦的声音更重要。

    意向解析器

    音频记录转换为文本后, 意图分析器将梳理文本以识别用户的意图,即用户希望语音助手执行什么命令。 Mycroft有两种不同类型的意图解析器:一种用于话语中标识的关键字,另一种基于神经网络对用户的意图进行“最佳猜测”。

    意图分析器的工作是尝试使用可用于传递那些结果的技能来排列用户想要的内容。 Mycroft使用的两个解析器是Adapt和Padatious。

    • Adapt解析器是一种轻量级的解析器,可轻松用于嵌入式设备或资源有限的设备中。 它尝试解析STT输出并创建JSON或机器可读的数据结构。 它适用于必须处理少量话语的应用程序。 如果互联网连接受到限制或不可用,这是一个很好的选择。
    • Padatious在其网站上的描述相当不错:

    Padatious是一种基于机器学习,基于神经网络的意图解析器。 与Adapt(使用少量独特词组)不同,Padatious在整个句子上受过训练。

    Padatious与其他意图解析技术相比,具有许多关键优势。

    • 使用Padatious,可以轻松创建意图。
    • Padatious中的机器学习模型需要相对少量的数据。
    • 机器学习模型需要训练。 Padatious使用的模型易于训练。
    • 意图彼此独立运行。 这样可以快速安装新技能,而无需重新培训所有其他技能意图。
    • 使用Padatious,您可以轻松提取实体,然后将其用于技能。 例如,“查找最近的加油站”-> { "place":"gas station"}

    技能专长

    在意图分析器尝试识别出用户正在尝试实现的目标之后,下一步就是在了解这一点的基础上做一些事情。 如果理解正确,则意图分析器将尝试使用特定技能来匹配用户想要的内容。 技能是执行以实现所需结果的代码的集合。 例如,如果我告诉Mycroft将面包“添加到我的杂货店清单”,则将执行OurGroceries技能中的相应代码来处理该任务(如果意图已正确解析)。 该技能获取关键字“ 面包杂货店列表” ,并将其用作函数的参数,这些函数将名为“ 面包”的条目添加到名为“ 杂货店列表”的列表中

    如果意图分析器找不到与话语匹配的技能,则语音助手通常会调用后备 当语音助手无法从发声中解释意图时,这是一项被称为“全面”的技能。 例如,它可以搜索互联网,而不是在本地运行代码。

    安装Mycroft

    很多方法可以启动和运行Mycroft。 Mycroft支持Docker和Linux,具有Raspberry Pi的映像(称为Picroft ),甚至还可以在Android上运行Mycroft。 对于开发,我发现遵循Linux安装路径是最容易的。 我目前正在多种设备上运行Mycroft:一台Raspberry Pi 4,一台拥有10年历史的Asus ROG笔记本电脑,原始的System76 Galago Pro和我的新款(戴尔)Dell Inspiron 5775(大约2017年)。 因此,如果您有硬件,Mycroft可能会在其上运行。

    您的系统将需要在CPU中支持Advanced Vector Extensions 您的处理器可能会支持它,但是如果要确保运行此命令,请运行grep avx /proc/cpuinfo

    为简单起见,我建议使用Ubuntu,Fedora或Arch Linux作为您的操作系统,因为它们是安装过程中最佳支持的版本。 首先,只需克隆Git存储库并启动dev_setup.sh脚本。 我将我的文件夹放在一个子文件夹中,其中存储了所有与Git相关的项目:

    mkdir ~ / git_projects
    cd ~ / git_projects
    git clone https: // github.com / MycroftAI / mycroft-core.git
    cd mycroft-core
    bash dev_setup.sh

    该脚本还将安装和配置virtualenv (用于创建隔离的Python环境的工具)。 这是将Mycroft与其他应用程序隔离的一种方法,有助于更好地管理依赖关系和安全性。 在此处此处了解有关虚拟环境的更多信息。

    下载和构建所有依赖项可能需要一些时间。 在此过程中, pip软件包管理器和某些构建过程将安装Mycroft起作用所需的依赖项。 它还会提示您构建Mimic。 这不是严格必要的,但我强烈建议您这样做。

    在设置过程中,请转到Mycroft帐户页面并注册一个帐户。 我知道你在想什么 我也注视着创建另一个帐户。 但是,我发现它很有用,特别是因为某些应用程序从此门户网站上从用户那里获取信息。 例如,在这里配置Home Assistant连接信息:

    Mycroft Home Assistant configuration

    (史蒂夫烤箱, CC BY-SA 4.0

    该过程完成后,可以使用start-mycroft.sh脚本启动Mycroft服务:

    ./start-mycroft. sh all
    Starting all mycroft-core services
    Initializing...
    Starting background service bus
    Starting background service skills
    Starting background service audio
    Starting background service voice

    日志文件位于/var/log/mycroft ,可用于调试。 Mycroft命令行界面(CLI)也非常有用,它可以进行一些实时调试以及键入输入而不是讲话。 要启动CLI,请运行mycroft-cli-client

    配对设备

    Mycroft完全启动后,您会听到读取配对代码的声音。 转到设备页面 并添加新设备。 在这里,您将能够输入配对代码,并选择设备的名称,设备在房屋中的位置,地理位置,要使用的语音以及内置的唤醒词之一:

    Mycroft device configuration

    (史蒂夫烤箱, CC BY-SA 4.0

    如果您听不到配对代码,只需说“ 嘿Mycroft”,将我的设备配对 ,然后您就会在mycroft-client-cli看到输出,并听到它说的代码。

    有很多高级的选项可以很好地处理代理和其他要求,但是我在这里不做介绍。

    结语

    现在,您可以使用可以运行其内置技能的Mycroft实例启动并运行。 乐于与Mycroft交谈,看看已有哪些技能以及默认情况下安装了哪些技能 探索生态系统是确定缺少什么并开始考虑如何解决它们的好方法。

    翻译自: https://opensource.com/article/20/6/mycroft

    开源语音助手

    展开全文
  • 华为语音助手 语音输入
  • #软件截图#软件简介vivoJovi语音助手apk,专为vivo手机打造,全新智能语音助手,操作简单,使用方便,帮助您操作您的手机。vivo手机用户必备的Jovi语音,流畅又智能,带您轻松玩转手机。软件介绍:语音助手,就是像...

    #软件截图

    2019524112647764760.jpg2019524112650541540.jpg2019524112653986080.jpg2019524112656875970.jpg2019524112645431530.jpg

    #软件简介

    vivoJovi语音助手apk,专为vivo手机打造,全新智能语音助手,操作简单,使用方便,帮助您操作您的手机。vivo手机用户必备的Jovi语音,流畅又智能,带您轻松玩转手机。

    软件介绍:

    语音助手,就是像苹果Siri,微软小娜一样。

    Jovi对传统的语音消息功能有着完整支持,准确率非常高,在说出全部语音后,Jovi会向你询问是否需要发送。

    通常进行到这一步,传统的语音助手就无法流畅的完成发送的功能了,需要用户手动确认发送,或者用户点击语音助手大喊“发送”后才能发送。

    Jovi在向你确认是否发送时不需要按下任何按键,直接说出“确认”即可,使用体验非常流畅,就好像Jovi能够和你进行对话。

    传统功能:

    语音操作、导航、电话短信等功能

    还有智慧识屏,智慧识图哦

    软件特色:

    1、Jovi已经深度覆盖系统功能和高频第三方应用,点触可实现的操作,语音均可实现。

    2、Jovi搭载了深度自然语言理解技术,能够准确地从自然语言中提取有用信息,理解复杂逻辑关系,轻松应对复杂语句。

    3、Jovi同时可以进行命令教学,针对不同的用户还有Jovi广场里用户分享的命令可供使用。

    4、Jovi还能智慧识图,利用NEX人工智能引擎AIE强大的神经网络运算能力,全局响应的智慧识图一键识万物。百科、购物、翻译、扫题、识屏等智慧功能应有尽有。

    展开全文
  • jovi语音助手包2016教您轻松聊天,告别尬聊。恋爱jovi语音助手包2016,这是一款让您与女神男神甜言蜜语的聊天神器。超20W+恋爱话术,搜一搜N+精彩回复任您选择;更有情感老师在线答疑,为您的恋爱情感保驾护航。每日...
  • 中游市 场主要由语音助手技术提供商组成,包括语音助手算法供应商、语音助手软件应用供应商以 及语音助手行业解决方案提供商,负责将语音助手技术转化为具体应用或解决方案,为下游 需求端提供服务。语音助手下游...
  • COVIDS语音助手-源码

    2021-02-19 03:50:42
    COVIDS语音助手 YouTube视频链接: :
  • 微信小程序 讯飞语音 实现个人语音助手
  • 那么很多使用过华为手机的小伙伴应该知道现在的华为手机都有一个“语音助手”这个功能吧。华为语音助手功能上和苹果的siri差不多,就是通过智能语音控制手机操作,让用户使用手机更加方便。那么华为语音助手怎么用呢...
  • 由于车载语音助手通常具有一套预先定义的声音选项,因此Cerence的语音克隆技术是一项突破性的创新。利用Cerence的新技术,人们可以快速、轻松地创建自己、家人或朋友的声音的副本,使其成为汽车语音助手的声音,用于...
  • 汽车车机第三方语音助手 百度语音 车助理小芳 高德语音助手 高德语音助手(第3方) 思必驰声控20170918 同行者语音助手 语音魔方
  • 据Voicebot.ai 2020年的报告显示,车载语音助手的用户数较智能音响多45%。福特汽车公司的智能数字产品助理负责人西娅玛拉·普拉雅加(ShyamalaPrayaga)和声航(SoundHound Inc.)产品管理总监米胡尔·帕特尔(Mehul ...
  • 很多年前,当乔布斯手里拿着iPhone 4S在发布会上介绍Siri时,现场响起一片热烈的掌声,许多人都对这个新鲜事物产生浓厚兴趣,并由此揭开了智能手机进入语音助手时代的序幕。很不幸的是Siri迭代了这么多年,一直没有...
  • 三星语音助手

    2013-11-01 13:57:41
    三星的语音助手,三星手机均可使用,无毒,可放心下载
  • 星期五 虚拟语音助手
  • 近年来,语音助手逐渐成为了手机中的主流应用,根据数据,在2018年出售的智能手机中,就有约5成的手机中带有语音助手。从数据中可以看出,语音助手在未来或将成为带动手机发展的大趋势。在大家熟悉的厂商中,基本都...
  • WinCC 报警语音助手

    2018-12-19 16:53:34
    WinCC报警语音助手是一款 报警语音助手是一款 WinCC的辅助软件,它可以将报警消息语音方式通知 的辅助软件,它可以将报警消息语音方式通知 操作员。该报警语音并未使用预先录制的频文件,而是自动朗读当前消息本它可...
  • 近日,网通社从本田汽车官方获悉,本田将与一家语音识别初创公司SoundHound(猎曲奇兵)达成合作,双方共同研发了一款人工智能(AI)车载语音助手,支持用户在车内通过语音进行指令操作,并获得舒适的移动体验。...
  • 文字转语音助手(文字转换语音软件) 5.2。 文字转语音助手,文字转换语音软件,语音合成软件,文字转mp3软件,接近真人发声。支持循环播音,手动播n秒或n轮,可设置每轮的间隔。也可以制作带背景音乐的语音广告(mp3...
  • 百度语音助手

    2013-01-23 20:47:17
    百度语音助手,搜索引擎的一次重大飞跃,即说即得、即说即用。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,975
精华内容 1,190
关键字:

语音助手