CN105161111B - 基于蓝牙连接的语音识别方法和装置 - Google Patents
基于蓝牙连接的语音识别方法和装置 Download PDFInfo
- Publication number
- CN105161111B CN105161111B CN201510528322.8A CN201510528322A CN105161111B CN 105161111 B CN105161111 B CN 105161111B CN 201510528322 A CN201510528322 A CN 201510528322A CN 105161111 B CN105161111 B CN 105161111B
- Authority
- CN
- China
- Prior art keywords
- voice
- bluetooth equipment
- link
- service program
- speech recognition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提出一种基于蓝牙连接的语音识别方法和装置,该基于蓝牙连接的语音识别方法包括:当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音;采集用户在听到所述提示音后产生的要进行语音识别的语音数据;通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的。该方法能够加快语音识别速度,提升用户体验。
Description
技术领域
本发明涉及语音识别技术领域,尤其涉及一种基于蓝牙连接的语音识别方法和装置。
背景技术
市面上已有大量的提供语音服务的应用程序,也逐渐获得了人们的广泛使用,这些应用程序大多支持用户通过蓝牙设备输入语音。基于蓝牙连接的语音识别时,用户可以通过应用程序或者蓝牙设备触发语音识别。当用户通过蓝牙设备触发语音识别时,需要用户获知何时进行讲话,以避免过早讲话导致的应用程序不能识别用户输入的前几个字,或者过晚讲话导致的等待时间过长的问题。现有技术中,通常是提供语音识别服务的应用程序在被激活后,向蓝牙设备发送提示音,用户在听到提示音后可以进行讲话。
但是,现有技术中,从用户触发语音识别到听到提示音,这个过程延时较大,或出现提示音消失的随机错误,无法为用户提供及时有效的反馈,降低语音识别速度,影响了用户体验。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于蓝牙连接的语音识别方法,该方法可以加快语音识别速度,提升用户体验。
本发明的另一个目的在于提出一种基于蓝牙连接的语音识别装置。
为达到上述目的,本发明第一方面实施例提出的基于蓝牙连接的语音识别方法,包括:当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音;采集用户在听到所述提示音后产生的要进行语音识别的语音数据;通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的。
本发明第一方面实施例提出的基于蓝牙连接的语音识别方法,通过在蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。
为达到上述目的,本发明第二方面实施例提出的基于蓝牙连接的语音识别装置,包括:播放模块,用于当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音;采集模块,用于采集用户在听到所述提示音后产生的要进行语音识别的语音数据;识别模块,用于通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的。
本发明第二方面实施例提出的基于蓝牙连接的语音识别装置,通过在蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的基于蓝牙连接的语音识别方法的流程示意图;
图2是本发明另一实施例提出的基于蓝牙连接的语音识别方法的流程示意图;
图3是本发明另一实施例提出的基于蓝牙连接的语音识别方法的流程示意图;
图4是本发明另一实施例提出的基于蓝牙连接的语音识别装置的结构示意图;
图5是本发明另一实施例提出的基于蓝牙连接的语音识别装置的结构示意图;
图6是本发明另一实施例提出的基于蓝牙连接的语音识别装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本发明一实施例提出的基于蓝牙连接的语音识别方法的流程示意图,该方法包括:
S11:当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音。
可选的,所述预设指令包括:
用户在蓝牙设备上触发语音识别时生成的触发指令;或者,
接收的语音服务程序发送的反馈指令,所述反馈指令是蓝牙设备与语音服务程序在建立音频链路之前或者在建立所述音频链路过程中,交互的指令。
以网关设备是手机为例,现有技术中,处理蓝牙反馈提示音的方法,都是把蓝牙设备当成一个播放设备,从手机中播放提示音到蓝牙设备,再从蓝牙设备上的扬声器/耳机输出。具体而言,手机上的用于语音识别的应用程序(简称为语音服务程序)首先要在手机与蓝牙设备建立一条音频链路,该链路可以是播放音乐的蓝牙音频传输模型协定(AdvancedAudio Distribution Profile,A2DP)链路,也可以是主要用于通话场景,提供电话音质的面向同步连接(Synchronous Connection Oriented,SCO)链路。链路建立后,蓝牙设备上的扬声器/耳机即可成为手机上可被调用的一条音频通路。语音服务程序调用相应的通路,播放提示音,提示音即会在蓝牙侧播出。
很容易理解,当语音服务程序试图指定使用蓝牙音频通路来播放提示音时,若这条通路不存在(音频链路的建立尚未完成),提示音会使用系统默认通路(往往是手机自身的扬声器)来播放,或提示播放失败。这将导致提示音无法在蓝牙设备端播出。因此,语音服务程序在播放提示音之前,必须确认音频链路已经存在。
然而,由于操作系统的复杂性和非实时性,确认音频链路是否存在并不容易。语音服务程序可能得不到状态提示(或状态提示不及时),此时,为了确保播放时存在蓝牙音频链路,语音服务程序可能需要等待足够长的时间再启动播放,这便造成了提示音播放的延迟。
如果提示音是通过A2DP链路播放的,还会有更糟糕的后果:由于当前方案中语音识别是通过SCO链路来传输要进行语音识别的语音数据的,而A2DP链路和SCO不能同时存在。因此,若语音服务程序使用A2DP链路播放提示音,则需要在播放结束后断开A2DP链接,再建立SCO链接来传输要进行语音识别的语音数据,而这些链路的断开和建立同样需要时间。表现在用户体验上,就是若用户在听到提示音后马上开始说话,仍然可能出现语音识别结果丢字的情况,导致识别错误。
而本实施例中,通过在蓝牙设备本地播放提示音,可以降低从用户触发语音识别到听到提示音的延时。具体的,当预设指令是用户在蓝牙设备上触发语音识别时生成的触发指令时,可以在用户触发语音识别后就可以在蓝牙设备上播放提示音,不需要与手机侧的语音服务程序建立链路,可以明显提高播放提示音的速度。或者,当预设指令是蓝牙设备与语音服务程序之间的交互指令时,该交互指令是音频链路之前或建立过程中的指令,而现有技术中提示音是SCO链路或A2DP链路建立之后才能传输的,本实施例提示音在链路建立之前或建立过程中传输,也可以提高提示音的播放速度。
S12:采集用户在听到所述提示音后产生的要进行语音识别的语音数据。
当用户听到蓝牙设备上播放的提示音后,可以说话,蓝牙设备对播放提示音后的用户的语音进行录制,得到要进行语音识别的语音数据。
S13:通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的。
可选的,本实施例中的音频链路可以包括:SCO链路,或者,私有无线链路。
蓝牙设备上采集到语音数据后,可以通过SCO链路或者通过私有无线链路发送给网关设备(如手机)上的语音服务程序,语音服务程序可以对接收的语音数据进行识别,以及根据识别的结果提供相应的服务,之后,语音服务程序可以通过SCO链路或私有无线链路将服务相关数据发送给蓝牙设备,使得蓝牙设备获取相应的服务。其中,语音服务程序在接收到语音数据后,可以先进行语音识别得到与语音数据对应的文字数据,之后再进行语义理解、从互联网上抓取数据、从第三方获取数据等处理后,将获取的数据作为服务相关数据返回给蓝牙设备。例如,用户通过蓝牙设备发送的语音数据是“北京天气”,则语音服务程序经过语音识别、语义理解以及数据抓取后,可以获取北京今天的天气情况,之后语音服务程序将北京今天的天气情况返回给蓝牙设备,蓝牙设备之后可以将该天气情况语音播放给用户,实现从语音服务程序获取天气播报服务。
对于当前的蓝牙方案,由于没有很好的交互方式来告知手机用户已完成语音输入,所以手机端通常需要进行语音端点检测,确认用户已说完,然后再进行语音识别。
语音服务程序在语音识别之前需要确认用户已说完,然后再进行语音识别。而标准的蓝牙协议通常是手机进行语音端点检测,通过语音端点检测确认用户是否已说完。但是,通过语音端口检测这一算法来判断语音是否已结束,会存在一定的延迟,因为程序必须在检测到语音消失一段时间后才可以下结论说“语音已结束”。
为此,本实施例中,还可以包括:
在蓝牙设备获知用户结束语音输入操作时,向所述语音服务程序发送用户语音结束指令,以使所述语音服务程序在接收到所述用户语音结束指令后,开始对所述语音数据进行语音识别。
例如,蓝牙设备采用对讲机模式的人机交互,用户在开始进行语音识别后,可以通过按下预设按钮后说话,蓝牙设备对用户的语音进行录音后传输给语音服务程序,当用户松开该预设按钮后,则表示用户结束语音输入,则当蓝牙设备检测到用户松开该预设按钮后可以获知用户结束语音输入操作,从而可以向语音服务程序发送用户语音结束指令,语音服务程序接收到蓝牙设备发送的用户语音结束指令后,开始对接收到的语音数据进行语音识别。
具体的,用户语音结束指令可以通过私有无线链路传输,或者采用特定形式的指令。
本实施例中,通过在蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。进一步的,通过蓝牙设备向语音服务程序发送用户语音结束指令,可以使得语音服务程序更快地开始进行语音识别,进一步加快语音识别速度。
图2是本发明另一实施例提出的基于蓝牙连接的语音识别方法的流程示意图,本实施例以要进行语音识别的语音数据通过私有无线链路传输为例。该方法包括:
S21:建立蓝牙设备与语音服务程序之间的私有无线链路,且保持所述私有无线链路处于常开状态。
可以理解的是,蓝牙设备与语音服务程序之间的私有无线链路可以包括一种,该一种的私有无线链路用于传输控制指令和语音数据,或者,私有无线链路可以分为两种,一种用于传输控制指令,另一种用于传输语音数据。本实施例中,将以分为两种为例,一种称为私有控制链路,另一种称为私有音频链路。当然,可以理解的是,私有控制链路可以为一条,用于传输多种控制指令,胡总,私有控制链路可以分为多条,分别用于传输不同的控制指令。本实施例中,以多种控制指令均在一条私有控制链路中传输为例。
本实施例中,语音服务程序可以是特定的语音服务程序。
例如,特定的语音服务程序向网关设备的操作系统注册并侦听无线链接的特征信息,如注册特定的UUID,另外,在蓝牙设备上也配置相同的UUID,则蓝牙设备可以使用该UUID发起私有无线链路的请求,由于只有特定的语音服务程序注册并侦听该UUID,则特定的语音服务程序可以与蓝牙设备建立私有无线链路。另外,在建立私有控制链路和私有音频链路时,可以采用两种不同的UUID。
例如,特定的语音服务程序用特定APP表示,与特定APP建立私有控制链路的蓝牙设备上的模块用CMD RFCOMM表示,与特定APP建立私有音频链路的蓝牙设备上的模块用AUDIO RFCOMM表示,则特定APP与CMD RFCOMM之间可以预先建立私有控制链路,特定APP与AUDIO RFCOMM之间可以预先建立私有音频链路。其中,预先是指在用户触发语音识别之前建立。
S22:蓝牙设备获知用户触发语音识别后,蓝牙设备在本地播放提示音,以及,蓝牙设备通过私有无线链路向语音服务程序发送语音识别请求。
例如,蓝牙设备上设置有触发语音识别的按键,当蓝牙设备接收到用户对该按键的按压指令后,获知用户触发语音识别。
之后,一方面,蓝牙设备可以在本地播放提示音。
另一方面,蓝牙设备可以向语音服务程序发送语音识别请求。例如,CMD RFCOMM通过私有控制链路将语音识别请求发送给特定APP。当语音识别请求被发送给特定APP后,可以激活该特定APP,从而特定APP能够用于语音识别。
S23:蓝牙设备采集用户在听到所述提示音后产生的要进行语音识别的语音数据。
用户在听到蓝牙设备播放的提示音后,可以说话,蓝牙设备对用户说的语音进行录制,从而采集得到要进行语音识别的语音数据。
可选的,当私有音频链路断开后,可以重新建立私有音频链路,以及该方法还可以包括:
S24:当私有无线链路断开后,通过在蓝牙设备本地设置的缓存对私有无线链路重建之前的语音数据进行缓存。
例如,私有音频链路因为种种原因被断开时,在蓝牙设备侧的底层(DSP处理层)加入缓存,使得用户在私有音频链路未建立前的语音数据被蓝牙设备本地保存,待私有音频链路建立后用异步传输快速将所有数据传到手机端。
另外,蓝牙设备与语音服务程序可以重新建立私有音频连接,之后执行S25。可以理解的是,如果私有音频链路未断开,则S23之后可以直接执行S25。
S25:蓝牙设备通过私有无线链路将语音数据发送给语音服务程序。
例如,蓝牙设备在获取语音数据后,AUDIO RFCOMM可以通过私有音频链路将语音数据发送给特定APP。
S26:蓝牙设备获知用户结束语音输入操作时,通过私有无线链路向语音识别程序发送用户语音结束指令。
例如,蓝牙设备采用对讲机模式的人机交互,用户在开始进行语音识别后,可以通过按下预设按钮后说话,蓝牙设备对用户的语音进行录音后传输给语音服务程序,当用户松开该预设按钮后,则表示用户结束语音输入,则当蓝牙设备检测到用户松开该预设按钮后可以获知用户结束语音输入操作。
蓝牙设备在获知用户结束语音输入操作时,CMD RFCOMM可以通过私有控制链路向特定APP发送用户语音结束指令。
S27:语音服务程序在接收到用户语音结束指令后,开始对语音数据进行语音识别,得到语音识别结果,并将语音识别结果通过私有音频链路发送给蓝牙设备。
相当于语音端点检测的方式,本实施例中的语音服务程序可以更快的获知开始进行语音识别,从而加快语音识别速度。
本实施例中,通过在蓝牙设备获知用户触发语音识别时,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。进一步的,通过蓝牙设备向语音服务程序发送用户语音结束指令,可以使得语音服务程序更快地开始进行语音识别,进一步加快语音识别速度。通过建立蓝牙设备与语音服务程序之间的私有无线链路,可以将语音数据发送给特定的APP,实现与特定的APP的绑定。
图3是本发明另一实施例提出的基于蓝牙连接的语音识别方法的流程示意图,本实施例以要进行语音识别的语音数据通过蓝牙标准的SCO链路传输为例。该方法包括:
S31:建立蓝牙设备与语音服务程序之间的私有控制链路。
本实施例中,以控制指令在私有控制链路中传输为例。
本实施例中,语音服务程序可以是特定的语音服务程序。
例如,特定的语音服务程序向网关设备的操作系统注册并侦听无线链接的特征信息,如注册特定的UUID,另外,在蓝牙设备上也配置相同的UUID,则蓝牙设备可以使用该UUID发起私有无线链路的请求,由于只有特定的语音服务程序注册并侦听该UUID,则特定的语音服务程序可以与蓝牙设备建立私有控制链路。
例如,特定的语音服务程序用特定APP表示,与特定APP建立私有控制链路的蓝牙设备上的模块用CMD RFCOMM表示,则特定APP与CMD RFCOMM之间可以预先建立私有控制链路。其中,预先是指在用户触发语音识别之前建立。
S32:蓝牙设备获知用户触发语音识别后,蓝牙设备在本地播放提示音,以及,蓝牙设备通过私有控制链路向语音服务程序发送语音识别请求,以及,加载蓝牙数字信号处理(Digital Signal Processor,DSP)程序。
例如,蓝牙设备上设置有触发语音识别的按键,当蓝牙设备接收到用户对该按键的按压指令后,获知用户触发语音识别。
之后,一方面,蓝牙设备可以在本地播放提示音。
另一方面,蓝牙设备可以向语音服务程序发送语音识别请求。例如,CMD RFCOMM通过私有控制链路将语音识别请求发送给特定APP。当语音识别请求被发送给特定APP后,可以激活该特定APP,从而特定APP能够用于语音识别。
另一方面,SCO通路建立时的延时之一,即是其底层数据处理(DSP处理层)的加载时间。当DSP处理层包含了众多语音信号预处理算法时(如降噪、去回声等),这个加载时间尤其明显。当用户触发语音识别时即加载蓝牙DSP程序,可以使原本串行的SCO通道建立和DSP加载过程同步进行,减少延迟。
S33:语音服务程序与蓝牙设备建立SCO链路。
其中,与特定APP建立标准音频链路的模块用HFP表示。特定APP在接收到语音识别请求后,可以发起与HFP建立蓝牙标准的SCO音频链路。具体的建立流程可以参见标准蓝牙协议流程。
另外,本实施例以用户触发语音识别后播放提示音为例,可以理解的是,也可以是在SCO链路建立之前或建立过程中的交互流程中,当蓝牙设备接收到特定APP的反馈指令后播放提示音。
S34:蓝牙设备采集用户在听到所述提示音后产生的要进行语音识别的语音数据。
用户在听到蓝牙设备播放的提示音后,可以说话,蓝牙设备对用户说的语音进行录制,从而采集得到要进行语音识别的语音数据。
S35:通过在蓝牙设备本地设置的缓存对SCO链路建立之前的语音数据进行缓存。
例如,在蓝牙设备侧的底层(DSP处理层)加入缓存,使得用户在SCO链路未建立前的语音数据被蓝牙设备本地保存,待SCO链路建立后用异步传输快速将所有数据传到手机端。
S36:蓝牙设备通过SCO链路将语音数据发送给语音服务程序。
例如,蓝牙设备在获取语音数据后,HFP可以通过SCO链路将语音数据发送给特定APP。
S37:蓝牙设备获知用户结束语音输入操作时,通过私有控制链路向语音识别程序发送用户语音结束指令。
例如,蓝牙设备采用对讲机模式的人机交互,用户在开始进行语音识别后,可以通过按下预设按钮后说话,蓝牙设备对用户的语音进行录音后传输给语音服务程序,当用户松开该预设按钮后,则表示用户结束语音输入,则当蓝牙设备检测到用户松开该预设按钮后可以获知用户结束语音输入操作。
蓝牙设备在获知用户结束语音输入操作时,CMD RFCOMM可以通过私有控制链路向特定APP发送用户语音结束指令。
S38:语音服务程序在接收到用户语音结束指令后,开始对语音数据进行语音识别,得到语音识别结果,并将语音识别结果通过SCO链路发送给蓝牙设备。
相当于语音端点检测的方式,本实施例中的语音服务程序可以更快的获知开始进行语音识别,从而加快语音识别速度。
本实施例中,通过在蓝牙设备获知用户触发语音识别时,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。进一步的,通过蓝牙设备向语音服务程序发送用户语音结束指令,可以使得语音服务程序更快地开始进行语音识别,进一步加快语音识别速度。通过建立蓝牙设备与语音服务程序之间的私有控制链路,通过私有控制链路可以将语音识别请求发送给特定的APP,实现与特定的APP的绑定。
图4是本发明另一实施例提出的基于蓝牙连接的语音识别装置的结构示意图,该装置可以位于蓝牙设备上。该装置40包括:
播放模块41,用于当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音;
可选的,所述预设指令包括:
用户在蓝牙设备上触发语音识别时生成的触发指令;或者,
接收的语音服务程序发送的反馈指令,所述反馈指令是蓝牙设备与语音服务程序在建立所述音频链路之前或者在建立所述音频链路过程中,交互的指令。
以网关设备是手机为例,现有技术中,处理蓝牙反馈提示音的方法,都是把蓝牙设备当成一个播放设备,从手机中播放提示音到蓝牙设备,再从蓝牙设备上的扬声器/耳机输出。具体而言,手机上的用于语音识别的应用程序(简称为语音服务程序)首先要在手机与蓝牙设备建立一条音频链路,该链路可以是播放音乐的蓝牙音频传输模型协定(AdvancedAudio Distribution Profile,A2DP)链路,也可以是主要用于通话场景,提供电话音质的同步面向连接(Synchronous Connection Oriented,SCO)链路。链路建立后,蓝牙设备上的扬声器/耳机即可成为手机上可被调用的一条音频通路。语音服务程序调用相应的通路,播放提示音,提示音即会在蓝牙侧播出。
很容易理解,当语音服务程序试图指定使用蓝牙音频通路来播放提示音时,若这条通路不存在(音频链路的建立尚未完成),提示音会使用系统默认通路(往往是手机自身的扬声器)来播放,或提示播放失败。这将导致提示音无法在蓝牙设备端播出。因此,语音服务程序在播放提示音之前,必须确认音频链路已经存在。
然而,由于操作系统的复杂性和非实时性,确认音频链路是否存在并不容易。语音服务程序可能得不到状态提示(或状态提示不及时),此时,为了确保播放时存在蓝牙音频链路,语音服务程序可能需要等待足够长的时间再启动播放,这便造成了提示音播放的延迟。
如果提示音是通过A2DP链路播放的,还会有更糟糕的后果:由于当前方案中语音识别是通过SCO链路来传输要进行语音识别的语音数据的,而A2DP链路和SCO不能同时存在。因此,若语音服务程序使用A2DP链路播放提示音,则需要在播放结束后断开A2DP链接,再建立SCO链接来传输要进行语音识别的语音数据,而这些链路的断开和建立同样需要时间。表现在用户体验上,就是若用户在听到提示音后马上开始说话,仍然可能出现语音识别结果丢字的情况,导致识别错误。
而本实施例中,通过在蓝牙设备本地播放提示音,可以降低从用户触发语音识别到听到提示音的延时。具体的,当预设指令是用户在蓝牙设备上触发语音识别时生成的触发指令时,可以在用户触发语音识别后就可以在蓝牙设备上播放提示音,不需要与手机侧的语音服务程序建立链路,可以明显提高播放提示音的速度。或者,当预设指令是蓝牙设备与语音服务程序之间的交互指令时,该交互指令是音频链路之前或建立过程中的指令,而现有技术中提示音是SCO链路或A2DP链路建立之后才能传输的,本实施例提示音在链路建立之前或建立过程中传输,也可以提高提示音的播放速度。
采集模块42,用于采集用户在听到所述提示音后产生的要进行语音识别的语音数据;
当用户听到蓝牙设备上播放的提示音后,可以说话,蓝牙设备对播放提示音后的用户的语音进行采集,得到要进行语音识别的语音数据。
识别模块43,用于通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的。
可选的,本实施例中的音频链路可以包括:SCO链路,或者,私有无线链路。
蓝牙设备上采集到语音数据后,可以通过SCO链路或者通过私有无线链路发送给网关设备(如手机)上的语音服务程序,语音服务程序可以对接收的语音数据进行识别,以及根据识别的结果提供相应的服务,之后,语音服务程序可以通过SCO链路或私有无线链路将服务相关数据发送给蓝牙设备,使得蓝牙设备获取相应的服务。其中,语音服务程序在接收到语音数据后,可以先进行语音识别得到与语音数据对应的文字数据,之后再进行语义理解、从互联网上抓取数据、从第三方获取数据等处理后,将获取的数据作为服务相关数据返回给蓝牙设备。例如,用户通过蓝牙设备发送的语音数据是“北京天气”,则语音服务程序经过语音识别、语义理解以及数据抓取后,可以获取北京今天的天气情况,之后语音服务程序将北京今天的天气情况返回给蓝牙设备,蓝牙设备之后可以将该天气情况语音播放给用户,实现从语音服务程序获取天气播报服务。
本实施例中,通过在蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。进一步的,通过蓝牙设备向语音服务程序发送用户语音结束指令,可以使得语音服务程序更快地开始进行语音识别,进一步加快语音识别速度。
图5是本发明另一实施例提出的基于蓝牙连接的语音识别装置的结构示意图,该装置50包括:播放模块51、采集模块52和识别模块53,具体功能可以参见上一实施例的相关描述。
本实施例中,当音频链路是私有无线链路时,该装置50还包括:
建立模块54,用于建立蓝牙设备与语音服务程序之间的私有无线链路,且保持所述私有无线链路处于常开状态。
可以理解的是,蓝牙设备与语音服务程序之间的私有无线链路可以包括一种,该一种的私有无线链路用于传输控制指令和语音数据,或者,私有无线链路可以分为两种,一种用于传输控制指令,另一种用于传输语音数据。本实施例中,将以分为两种为例,一种称为私有控制链路,另一种称为私有音频链路。当然,可以理解的是,私有控制链路可以为一条,用于传输多种控制指令,胡总,私有控制链路可以分为多条,分别用于传输不同的控制指令。本实施例中,以多种控制指令均在一条私有控制链路中传输为例。
本实施例中,语音服务程序可以是特定的语音服务程序。
例如,特定的语音服务程序向网关设备的操作系统注册并侦听无线链接的特征信息,如注册特定的UUID,另外,在蓝牙设备上也配置相同的UUID,则蓝牙设备可以使用该UUID发起私有无线链路的请求,由于只有特定的语音服务程序注册并侦听该UUID,则特定的语音服务程序可以与蓝牙设备建立私有无线链路。另外,在建立私有控制链路和私有音频链路时,可以采用两种不同的UUID。
例如,特定的语音服务程序用特定APP表示,与特定APP建立私有控制链路的蓝牙设备上的模块用CMD RFCOMM表示,与特定APP建立私有音频链路的蓝牙设备上的模块用AUDIO RFCOMM表示,则特定APP与CMD RFCOMM之间可以预先建立私有控制链路,特定APP与AUDIO RFCOMM之间可以预先建立私有音频链路。其中,预先是指在用户触发语音识别之前建立。
可选的,参见图5,该装置50还包括:缓存模块55,用于当所述私有无线链路断开后,通过在蓝牙设备本地设置的缓存对私有无线链路重建之前的语音数据进行缓存。
例如,私有音频链路因为种种原因被断开时,在蓝牙设备侧的底层(DSP处理层)加入缓存,使得用户在私有音频链路未建立前的语音数据被蓝牙设备本地保存,待私有音频链路建立后用异步传输快速将所有数据传到手机端。
一些实施例中,参见图5,该装置还可以包括:发送模块56,用于在蓝牙设备获知用户结束语音输入操作时,向所述语音服务程序发送用户语音结束指令,以使所述语音服务程序在接收到所述用户语音结束指令后,开始对所述语音数据进行语音识别。
例如,蓝牙设备采用对讲机模式的人机交互,用户在开始进行语音识别后,可以通过按下预设按钮后说话,蓝牙设备对用户的语音进行录音后传输给语音服务程序,当用户松开该预设按钮后,则表示用户结束语音输入,则当蓝牙设备检测到用户松开该预设按钮后可以获知用户结束语音输入操作。
蓝牙设备在获知用户结束语音输入操作时,CMD RFCOMM可以通过私有控制链路向特定APP发送用户语音结束指令。
语音服务程序在接收到用户语音结束指令后,开始对语音数据进行语音识别,得到语音识别结果,并将语音识别结果通过私有音频链路发送给蓝牙设备。
相当于语音端点检测的方式,本实施例中的语音服务程序可以更快的获知开始进行语音识别,从而加快语音识别速度。
本实施例中,通过在蓝牙设备获知用户触发语音识别时,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。进一步的,通过蓝牙设备向语音服务程序发送用户语音结束指令,可以使得语音服务程序更快地开始进行语音识别,进一步加快语音识别速度。通过建立蓝牙设备与语音服务程序之间的私有无线链路,可以将语音数据发送给特定的APP,实现与特定的APP的绑定。
图6是本发明另一实施例提出的基于蓝牙连接的语音识别装置的结构示意图,该装置60包括:播放模块61、采集模块62和识别模块63,具体功能可以参见图4所示实施例的相关描述。
本实施例中,当所述音频链路是SCO链路时,所述装置60还包括:
预处理模块64,用于在用户触发语音识别时,加载蓝牙DSP程序;和/或,通过在蓝牙设备本地设置的缓存对SCO链路建立之前的语音数据进行缓存。
SCO通路建立时的延时之一,即是其底层数据处理(DSP处理层)的加载时间。当DSP处理层包含了众多语音信号预处理算法时(如降噪、去回声等),这个加载时间尤其明显。当用户触发语音识别时即加载蓝牙DSP程序,可以使原本串行的SCO通道建立和DSP加载过程同步进行,减少延迟。
例如,在蓝牙设备侧的底层(DSP处理层)加入缓存,使得用户在SCO链路未建立前的语音数据被蓝牙设备本地保存,待SCO链路建立后用异步传输快速将所有数据传到手机端。
一些实施例中,参见图6,该装置还可以包括:发送模块65,用于在蓝牙设备获知用户结束语音输入操作时,向所述语音服务程序发送用户语音结束指令,以使所述语音服务程序在接收到所述用户语音结束指令后,开始对所述语音数据进行语音识别。
例如,蓝牙设备采用对讲机模式的人机交互,用户在开始进行语音识别后,可以通过按下预设按钮后说话,蓝牙设备对用户的语音进行录音后传输给语音服务程序,当用户松开该预设按钮后,则表示用户结束语音输入,则当蓝牙设备检测到用户松开该预设按钮后可以获知用户结束语音输入操作。
蓝牙设备在获知用户结束语音输入操作时,CMD RFCOMM可以通过私有控制链路向特定APP发送用户语音结束指令。
语音服务程序在接收到用户语音结束指令后,开始对语音数据进行语音识别,得到语音识别结果,并将语音识别结果通过私有音频链路发送给蓝牙设备。
相当于语音端点检测的方式,本实施例中的语音服务程序可以更快的获知开始进行语音识别,从而加快语音识别速度。
本实施例中,通过在蓝牙设备获知用户触发语音识别时,在蓝牙设备本地播放提示音,可以降低用户触发语音识别到听到提示音之间的延时,从而加快语音识别速度,提升用户体验。进一步的,通过蓝牙设备向语音服务程序发送用户语音结束指令,可以使得语音服务程序更快地开始进行语音识别,进一步加快语音识别速度。通过建立蓝牙设备与语音服务程序之间的私有控制链路,通过私有控制链路可以将语音识别请求发送给特定的APP,实现与特定的APP的绑定。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于蓝牙连接的语音识别方法,其特征在于,包括:
当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音;
采集用户在听到所述提示音后产生的要进行语音识别的语音数据;
通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的,其中所述音频链路包括:SCO链路,或者,私有无线链路;
在所述蓝牙设备获知所述用户结束语音输入操作时,向所述语音服务程序发送所述用户语音结束指令,以使所述语音服务程序在接收到所述用户语音结束指令后,开始对所述语音数据进行语音识别。
2.根据权利要求1所述的方法,其特征在于,所述预设指令包括:
用户在蓝牙设备上触发语音识别时生成的触发指令;或者,
接收的语音服务程序发送的反馈指令,所述反馈指令是蓝牙设备与语音服务程序在建立所述音频链路之前或者在建立所述音频链路过程中,交互的指令。
3.根据权利要求1或2所述的方法,其特征在于,当所述音频链路是私有无线链路时,所述方法还包括:
建立蓝牙设备与语音服务程序之间的私有无线链路,且保持所述私有无线链路处于常开状态。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述私有无线链路断开后,通过在蓝牙设备本地设置的缓存对私有无线链路重建之前的语音数据进行缓存。
5.根据权利要求1或2所述的方法,其特征在于,当所述音频链路是SCO链路时,所述方法还包括:
在用户触发语音识别时,加载蓝牙DSP程序;和/或,
通过在蓝牙设备本地设置的缓存对SCO链路建立之前的语音数据进行缓存。
6.一种基于蓝牙连接的语音识别装置,其特征在于,包括:
播放模块,用于当蓝牙设备接收到预设指令后,在蓝牙设备本地播放提示音;
采集模块,用于采集用户在听到所述提示音后产生的要进行语音识别的语音数据;
识别模块,用于通过音频链路将所述语音数据发送给网关设备上的语音服务程序,并获取所述语音服务程序提供的服务,所述服务是所述语音服务程序对所述语音数据进行语音识别后提供的,其中所述音频链路包括:SCO链路,或者,私有无线链路;
发送模块,用于在所述蓝牙设备获知所述用户结束语音输入操作时,向所述语音服务程序发送所述用户语音结束指令,以使所述语音服务程序在接收到所述用户语音结束指令后,开始对所述语音数据进行语音识别。
7.根据权利要求6所述的装置,其特征在于,所述预设指令包括:
用户在蓝牙设备上触发语音识别时生成的触发指令;或者,
接收的语音服务程序发送的反馈指令,所述反馈指令是蓝牙设备与语音服务程序在建立所述音频链路之前或者在建立所述音频链路过程中,交互的指令。
8.根据权利要求6或7所述的装置,其特征在于,当所述音频链路是私有无线链路时,所述装置还包括:
建立模块,用于建立蓝牙设备与语音服务程序之间的私有无线链路,且保持所述私有无线链路处于常开状态。
9.根据权利要求8所述的装置,其特征在于,还包括:
缓存模块,用于当所述私有无线链路断开后,通过在蓝牙设备本地设置的缓存对私有无线链路重建之前的语音数据进行缓存。
10.根据权利要求6或7所述的装置,其特征在于,当所述音频链路是SCO链路时,所述装置还包括:
预处理模块,用于在用户触发语音识别时,加载蓝牙DSP程序;和/或,通过在蓝牙设备本地设置的缓存对SCO链路建立之前的语音数据进行缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510528322.8A CN105161111B (zh) | 2015-08-25 | 2015-08-25 | 基于蓝牙连接的语音识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510528322.8A CN105161111B (zh) | 2015-08-25 | 2015-08-25 | 基于蓝牙连接的语音识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105161111A CN105161111A (zh) | 2015-12-16 |
CN105161111B true CN105161111B (zh) | 2017-09-26 |
Family
ID=54801944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510528322.8A Active CN105161111B (zh) | 2015-08-25 | 2015-08-25 | 基于蓝牙连接的语音识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105161111B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341532A (zh) * | 2016-08-30 | 2017-01-18 | 李达航 | 通过语音输入装置使手机各类应用实现语音输入的方法 |
CN107241689B (zh) * | 2017-06-21 | 2020-05-05 | 深圳市冠旭电子股份有限公司 | 一种耳机语音交互方法及其装置、终端设备 |
CN108364152A (zh) * | 2018-01-17 | 2018-08-03 | 拉扎斯网络科技(上海)有限公司 | 一种配送方法及装置 |
CN110971744B (zh) * | 2018-09-28 | 2022-09-23 | 深圳市冠旭电子股份有限公司 | 一种蓝牙音箱语音播放控制的方法及装置 |
CN111081238B (zh) * | 2018-10-22 | 2022-09-23 | 深圳市冠旭电子股份有限公司 | 一种蓝牙音箱语音交互控制方法、装置及系统 |
CN111292738A (zh) * | 2018-12-07 | 2020-06-16 | 北京京东尚科信息技术有限公司 | 语音交互的控制方法及系统 |
CN110098851A (zh) * | 2019-04-18 | 2019-08-06 | 努比亚技术有限公司 | 一种语音控制方法、可穿戴设备和计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801846A (zh) * | 2004-12-30 | 2006-07-12 | 中国科学院自动化研究所 | 耳机全语音手机拨号交互应用的方法 |
CN101282379A (zh) * | 2008-04-30 | 2008-10-08 | 飞图科技(北京)有限公司 | 一种用于手机的可以对特定词进行语音输入的方法 |
US8359020B2 (en) * | 2010-08-06 | 2013-01-22 | Google Inc. | Automatically monitoring for voice input based on context |
CN102111314B (zh) * | 2010-12-30 | 2014-03-26 | 广州市聚晖电子科技有限公司 | 一种基于蓝牙传输的智能家居语音控制系统及方法 |
CN104134442A (zh) * | 2014-08-15 | 2014-11-05 | 广东欧珀移动通信有限公司 | 一种启动语音服务的方法及装置 |
-
2015
- 2015-08-25 CN CN201510528322.8A patent/CN105161111B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105161111A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105161111B (zh) | 基于蓝牙连接的语音识别方法和装置 | |
CN105050034B (zh) | 基于蓝牙连接的语音服务实现方法和装置及系统 | |
CN102340599B (zh) | 终端通话时的处理方法、终端以及处理系统 | |
WO2020063047A1 (zh) | 音频播放方法、装置、电子设备及存储介质 | |
US7890147B2 (en) | Portable terminal device | |
CN109445741B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
EP3185520B1 (en) | Automatic prompt at call-end for disconnection of headset | |
US9214155B2 (en) | Handsfree device with countinuous keyword recognition | |
WO2020063046A1 (zh) | 音频播放方法、装置、电子设备及存储介质 | |
US8977202B2 (en) | Communication apparatus having a unit to determine whether a profile is operating | |
CN105828134B (zh) | 一种音视频播放系统中的播放控制方法及装置 | |
US20060178159A1 (en) | Voice activated push-to-talk device and method of use | |
JP2008516538A (ja) | ワイヤレス通信通話におけるプッシュ−トーク音声バッファリングシステムおよび方法 | |
CN109379490B (zh) | 音频播放方法、装置、电子设备及计算机可读介质 | |
KR20100011110A (ko) | 휴대단말의 통화품질 제어 방법 및 장치 | |
US20120021729A1 (en) | Application Audio Announcements Using Wireless Protocols | |
CN107666535A (zh) | 车载装置、车载装置音频输出控制方法以及音频输出控制系统 | |
CN109102816A (zh) | 编码控制方法、装置以及电子设备 | |
EP2099253B1 (en) | Method for voice activity detection controlling and controlling device thereof | |
WO2017185381A1 (zh) | 一种通话切换方法、终端设备及存储介质 | |
WO2018058875A1 (zh) | 一种终端的通话切换方法、系统及终端、计算机存储介质 | |
US8107596B1 (en) | Apparatus and method for providing on-hold information based on preference of user | |
CA3069023C (en) | Gateway function control via telephony/voice service | |
CN104717379A (zh) | 基于元数据的用于语音通信的协同语音处理的方法 | |
JP4559335B2 (ja) | 音声ガイドシステム及び音声ガイド方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |