CN112331198A - 语音数据传输方法、物联网设备及存储介质 - Google Patents
语音数据传输方法、物联网设备及存储介质 Download PDFInfo
- Publication number
- CN112331198A CN112331198A CN202011169545.7A CN202011169545A CN112331198A CN 112331198 A CN112331198 A CN 112331198A CN 202011169545 A CN202011169545 A CN 202011169545A CN 112331198 A CN112331198 A CN 112331198A
- Authority
- CN
- China
- Prior art keywords
- voice
- voice data
- queue
- duration
- time
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 200
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000007781 pre-processing Methods 0.000 claims abstract description 47
- 230000003139 buffering effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种语音数据传输方法、物联网设备及存储介质,应用于物联网设备,所述方法包括以下步骤:在检测到用户的语音数据为静音时,对持续静音时长进行计时;在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据;在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器。本发明通过提前对语音识别指令的上传节点进行确定,能够在确定用户停止说话时避免传输指令等待的时间过长,降低语音数据的传输延时,提升服务器进行语音识别的响应速度。
Description
技术领域
本发明涉及语音识别领域,尤其涉及一种语音数据传输方法、物联网设备及存储介质。
背景技术
目前,随着语音识别技术的不断发展,物联网设备逐渐智能化。在物联网设备接收用户的语音指令时,需要判断用户是否已经停止说话,在确定用户停止说话时,向服务器发送语音识别指令以对用户的语音进行识别,并返回识别结果给物联网设备以执行相应指令。
现有的语音结束检测方式主要是在第一次检测到语音信号为静音,即用户停止说话时等待一段时长,在该时长内持续检测到静音才能确定用户停止说话。在确定用户停止说话时,可以将设备中缓存的语音数据全部上传给服务器并请求服务器进行语音识别。然而,在确定用户停止说话时,此时缓存队列可能仍然在上传前一次缓存的语音数据,则设备需要在前一次语音传输过程结束后才能进行最后一次语音数据的上传。即,物联网设备在用户停止说话后,将语音识别指令发送给服务器的响应时间为等待静音检测时长以及前一次传输过程的剩余时长之和,从而使得用户语音的响应时长大大增加,严重影响设备的语音响应速度,降低了用户的语音控制体验。
发明内容
本发明的主要目的在于提供一种语音数据传输方法、物联网设备及存储介质,旨在解决现有的语音响应速度较慢的问题。
为实现上述目的,本发明提供一种语音数据传输方法,应用于物联网设备,所述方法包括以下步骤:
在检测到用户的语音数据为静音时,对持续静音时长进行计时;
在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据;
在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器。
可选地,所述在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点的步骤包括:
在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
在缓存队列为待传输状态时,控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为持续静音时长达到语音停止时长,其中,所述语音停止时长大于所述预处理时长。
可选地,所述控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中的步骤之后还包括:
确定所述缓存队列中的语音数据是否达到预设缓存限值;
在所述缓存队列中的语音数据达到预设缓存限值时,将缓存队列中的语音数据上传至服务器。
可选地,所述在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点的步骤包括:
在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
在缓存队列为传输状态时,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为传输状态结束。
可选地,所述在缓存队列为传输状态时,确定语音识别指令的上传节点为传输状态结束的步骤包括:
在缓存队列为传输状态时,确定语音识别指令的上传节点为传输状态结束且所述持续静音时长达到语音停止时长;
相应地,所述在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器的步骤包括:
在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器。
可选地,所述在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器的步骤包括:
在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列中的语音数据长度大于语音停止时长,则将所述缓存队列中与所述持续静音时长对应的语音数据丢弃,并将所述缓存队列中的剩余语音数据和语音识别指令上传至服务器;
若所述缓存队列中的语音数据长度小于或等于语音停止时长,则将所述缓存队列中的所有语音数据丢弃,并将语音识别指令上传至服务器。
可选地,所述在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长的步骤包括:
在持续静音时长达到语音停止时长时,判断所述缓存队列传输状态是否结束;
若所述缓存队列传输状态已结束,则判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列传输状态未结束,则停止向所述缓存队列缓存语音数据,并判断所述缓存队列中的语音数据长度是否大于语音停止时长。
可选地,所述在检测到用户的语音数据为静音时,对持续静音时长进行计时的步骤之后,还包括:
在检测到用户语音不为静音且所述持续静音时长未达到语音停止时长时,将所述持续静音时长清零并停止计时。
此外,为实现上述目的,本发明还提供一种物联网设备,所述物联网设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音数据传输程序,其中:所述语音数据传输程序被所述处理器执行时实现如上所述的语音数据传输方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有语音数据传输程序,所述语音数据传输程序被处理器执行时实现如上所述的语音数据传输方法的步骤。
本发明实施例提出的一种语音数据传输方法、物联网设备及存储介质,通过对用户的语音数据进行检测,能够在检测到用户语音为静音时开始进行计时,并在计时时长达到预处理时长时根据缓存队列的传输状态提前确定语音识别指令的上传节点,并在到达上传节点时将缓存队列中的语音数据以及语音识别指令一并发送至服务器。在持续静音时长达到预处理时长这一节点提前对语音识别指令的上传节点进行确定,能够在确定用户停止说话时避免传输指令等待的时间过长,降低语音数据的传输延时,提升服务器进行语音识别的响应速度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明语音数据传输方法第一实施例的流程示意图;
图3为本发明语音数据传输方法第二实施例的流程示意图;
图4为本发明语音数据传输方法第三实施例的流程示意图;
图5为本发明语音数据传输方法第四实施例的流程示意图;
图6为本发明语音数据传输方法第五实施例的流程示意图;
图7为本发明语音数据传输方法第六实施例的流程示意图;
图8为本发明语音数据传输方法第七实施例的流程示意图;
图9为本发明语音数据传输方法第八实施例的流程示意图;
图10为本发明语音数据传输方法一实施例中的时间节点示意图;
图11为本发明语音数据传输方法的静音检测示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
本发明实施例终端可以为物联网设备,该物联网设备可以为空调、智能音箱、冰箱、智能灯具等智能设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在硬件设备移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别硬件设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,硬件设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语音数据传输程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的语音数据传输程序,并执行以下操作:
在检测到用户的语音数据为静音时,对持续静音时长进行计时;
在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据;
在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
在缓存队列为待传输状态时,控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为持续静音时长达到语音停止时长,其中,所述语音停止时长大于所述预处理时长。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
确定所述缓存队列中的语音数据是否达到预设缓存限值;
在所述缓存队列中的语音数据达到预设缓存限值时,将缓存队列中的语音数据上传至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
在缓存队列为传输状态时,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为传输状态结束。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
在缓存队列为传输状态时,确定语音识别指令的上传节点为传输状态结束且所述持续静音时长达到语音停止时长;
在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列中的语音数据长度大于语音停止时长,则将所述缓存队列中与所述持续静音时长对应的语音数据丢弃,并将所述缓存队列中的剩余语音数据和语音识别指令上传至服务器;
若所述缓存队列中的语音数据长度小于或等于语音停止时长,则将所述缓存队列中的所有语音数据丢弃,并将语音识别指令上传至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
在持续静音时长达到语音停止时长时,判断所述缓存队列传输状态是否结束;
若所述缓存队列传输状态已结束,则判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列传输状态未结束,则停止向所述缓存队列缓存语音数据,并判断所述缓存队列中的语音数据长度是否大于语音停止时长。
进一步地,处理器1001可以调用存储器1005中存储的语音数据传输程序,还执行以下操作:
在检测到用户语音不为静音且所述持续静音时长未达到语音停止时长时,将所述持续静音时长清零并停止计时。
本发明应用物联网设备的具体实施例与下述应用语音数据传输方法各实施例基本相同,在此不作赘述。
请参照图2,图2为本发明语音数据传输方法第一实施例的流程示意图,其中,所述语音数据传输方法应用于物联网设备,所述语音数据传输方法包括如下步骤:
步骤S10,在检测到用户的语音数据为静音时,对持续静音时长进行计时;
本实施例终端可以为物联网设备,物联网设备至少具有麦克风和通信模块,能够采集用户发出的语音并将用户的语音数据上传至服务器进行语音识别。在服务器将语音数据进行识别并返回识别结果后,物联网设备可以根据该识别结果执行对应的用户指令。
在用户正在发出语音时,物联网设备将会持续采集用户发出的语音,直至物联网设备判断用户停止说话后,才向服务器发送最后一次语音数据,并在最后一次发送语音数据的同时发送语音识别指令至服务器,以使服务器进行语音识别。判断用户停止说话的方式为在检测到用户语音数据为静音时,对持续静音时长进行计时,并确定用户语音连续静音的时长达到语音停止时长后,才确定用户停止说话。由于设备每次发送语音数据给服务器需要消耗一定的传输时长,通常该传输时长为500ms左右,且传输时长主要由硬件链路和WIFI速度决定,与每次传输的数据量关系不大。即,若在确定用户停止说话时准备发送最后一次语音数据以及语音识别指令时,设备刚好进入传输状态,则该语音识别指令将会需要等待约500ms的传输时长后才能进行传输,从而使得服务器接收语音识别指令的时间节点延后,造成语音识别的延迟。
步骤S20,在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据;
在物联网设备持续监测到用户的语音数据为静音时,可以对持续静音时长进行计时,在持续静音时长达到预处理时长时,可以根据缓存语音数据的缓存队列当前的传输状态确定语音识别指令的上传节点,从而在持续静音时长达到语音停止时长时能够快速将语音识别指令和语音数据上传至服务器。
可以理解的是预处理时长和语音停止时长为预先设置,其中预处理时长小于语音停止时长。例如,可以预先设置语音停止时长为600ms,预处理时长为300ms。在物联网设备持续监测到用户的语音数据为静音时对持续静音时长进行计时,在持续静音时长达到300ms时,可以根据当前缓存队列的传输状态确定语音识别指令的上传节点,并在持续静音时长到达600ms后根据语音识别指令的上传节点将语音识别指令进行上传,从而使得服务器能够在判断用户停止说话后快速接收到识别指令,降低语音识别的延迟。
步骤S30,在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器。
在持续静音时长达到预处理时长,并且用户的语音数据仍然为静音时,可以继续对持续静音时长进行计时,直至达到语音识别指令的上传节点时,即可将当前缓存队列中的剩余语音数据和语音识别指令一并上传至服务器。以使服务器根据上传的所有语音数据进行语音识别。其中,缓存队列中数据的上传方式可以为通过http请求将语音数据和语音识别指令上传至服务器。
需要说明的是,由于确认用户停止说话需要满足持续监测到静音的时长达到语音停止时长,因此,若在到达语音识别指令的上传节点时,持续静音时长已达到语音停止时长,即可立即将缓存队列中的语音数据和语音识别指令上传至服务器;若到达语音识别指令的上传节点时,持续静音时长还未达到语音停止时长,则物联网设备还需要等待至持续静音时长达到语音停止时长后,将缓存队列中的语音数据和语音识别指令上传至服务器。
在本实施例中,通过对用户的语音数据进行检测,能够在检测到用户语音为静音时开始进行计时,并在计时时长达到预处理时长时根据缓存队列的传输状态提前确定语音识别指令的上传节点,并在到达上传节点时将缓存队列中的语音数据以及语音识别指令一并发送至服务器。在持续静音时长达到预处理时长这一节点提前对语音识别指令的上传节点进行确定,能够在确定用户停止说话时避免传输指令等待的时间过长,降低语音数据的传输延时,提升服务器进行语音识别的响应速度。
进一步的,参照图3,图3为本发明语音数据传输方法第二实施例的流程示意图,基于上述图2所示的实施例,所述步骤S20,在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据的步骤包括:
步骤S21,在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
步骤S22,在缓存队列为待传输状态时,控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为持续静音时长达到语音停止时长,其中,所述语音停止时长大于所述预处理时长。
在本实施例中,缓存队列中可以不断接收到物联网设备采集到的用户语音数据,并在每次传输过程中将缓存队列中的语音数据上传至服务器。可以理解的是,在缓存队列中可以存储有108包数据,而物联网采集的用户语音数据每100ms大约为10包数据,即缓存队列可以存储大约1000ms左右的语音数据。物联网设备在传输每一次语音数据时大约需要消耗500ms。可以理解的是,在传输语音数据所消耗的时间区间内,缓存队列即为传输状态,而在一次语音数据的传输结束,且尚未开启下一次语音数据传输的时间区间内,缓存队列为待传输状态。当缓存队列为传输状态时,缓存队列能够将其存储的用户语音数据上传至服务器,同时还能够接收新的用户语音数据进行存储,以便在缓存队列进入下一次传输状态时将前一传输状态下接收的新的用户语音数据进行上传;而在缓存队列为待传输状态时,缓存队列能够接收新的用户语音数据,并在状态转换为传输状态时将用户语音数据上传至服务器。其中,在缓存队列为传输状态时,物联网设备仍在采集用户的语音数据并存储至缓存队列中,该存储至缓存队列中的语音数据即为新的语音数据。缓存队列在暂停将语音数据上传至服务器时,缓存队列不仅包括本应上传而暂停传输的语音数据,还包括物联网设备不断采集并存储的用户语音数据,该用户语音数据相比暂停传输的语音数据即为新的语音数据。新的语音数据也将会存储至缓存队列中,直至到达语音识别指令的上传节点时,缓存队列将暂停传输的语音数据和暂停传输期间所采集到的新的语音数据一并上传给服务器。
在物联网设备对持续静音时长计时达到预处理时长时,可以获取当前缓存队列的传输状态。若当前缓存队列刚好结束上一次传输过程,进入待传输状态时,可以控制缓存队列暂停上传语音数据,并将检测到的新的语音数据继续存储至缓存队列中,此时可以确定语音识别指令的上传节点为持续静音时长达到语音停止时长。在持续静音时长的计时时长达到预处理时长这一时间节点为起始节点,此后所采集到的用户语音数据即为新的语音数据。
可以理解的是,物联网设备在持续静音时长的计时到达预处理时长时进行上传节点的确定,而上传节点即为持续静音时长的计时到达语音停止时长,即持续静音时长应先到达预处理时长,再到达语音停止时长,语音停止时长大于预处理时长。
可以理解的是,在控制缓存队列暂停上传语音数据时,缓存队列内此时存储的语音数据为上一次传输过程中检测到的用户语音数据,在此基础上缓存队列中还可以继续存储新的语音数据,直至持续静音时长达到语音停止时长时,此时可以确定用户停止说话,并将缓存队列中的所有语音数据以及语音识别指令一并上传至服务器。例如,在持续静音时长达到300ms时,若缓存队列当前为待传输状态,且前一传输过程耗时约为500ms时,则缓存队列内当前存储有约500ms的语音数据,此时可以将新的语音数据继续存储至缓存队列中,直至持续静音时长达到600ms时,可以将缓存队列中原本存储的约500ms的语音数据以及预处理时长至语音停止时长这300ms内新存储的语音数据与语音识别指令一并上传给服务器。上述300ms即为预处理时长,600ms即为语音停止时长。通过设置缓存队列的缓存空间,能够使得缓存队列至少存储一次语音传输过程缓存的语音数据以及预处理时长至语音停止时长这段时间区间内的语音数据,从而在持续静音时长达到语音停止时长时立刻将语音识别指令以及剩余语音数据上传至服务器,充分降低语音识别指令的传输等待时长,降低语音识别的延迟。
请参照图11,在一实施例中,S为用户发出语音的时间节点,A点为用户停止说话的时间节点,在SA区间内能够采集到用户发出的语音数据,M点为持续静音时长到达预处理时长的时间节点,B点为持续静音时长到达语音停止时长的时间节点。在A点检测到用户静音时,不能直接确定要用户已经停止说话,需要从A点开始进行静音时长的计时,在M点时需要确定语音识别指令的上传节点,直至到达B点时,才能确定用户已经停止说话,并根据确定的语音识别指令上传节点向服务器发送语音识别指令。
在图10所示的一实施例中,缓存队列的实时状态在待传输状态和传输状态之间依次切换。本实施例中存在两种情形,在第(1)种情形中,ba段则为传输状态,ab'段为待传输状态,持续静音时长到达预处理时长,即处于M节点时,缓存队列处于ab'段,刚好准备发起一次数据上传,即此时缓存队列为待传输状态,此时可以暂缓语音数据的上传,即将b'进行后移,此后MB节点区间内缓存队列将会接收新的语音数据并进行缓存。在持续静音时长到达B节点时,可以确定在AB区间内持续检测到用户静音,则语音识别指令的上传节点为C节点,此时C节点与B节点重合,即C节点为C1节点。即,在M节点时缓存队列若为待传输状态,则到达B节点时可以立即上传语音识别指令。
在第(2)种情形中,ba段与b'a'段为传输状态,ab'段与a'b”段为待传输状态,持续静音时长到达预处理时长,即处于M节点时,缓存队列处于b'a'段,此时缓存队列为传输状态,正在等待传输状态结束。传输状态结束的时间节点可以为C2。可以理解的是,C2节点可以在B节点前或B节点后。在C2节点位于B节点前时,可以在到达C2节点时暂缓数据上传,并在到达B节点时将语音识别指令上传至服务器,此时语音识别指令的上传节点为B节点。而在C2节点位于B节点后时,即使到达B节点并确定用户停止说话,但由于此时缓存队列的数据上传过程还未结束,则还需要等到数据上传结束,即到达C2节点时才能够将语音识别指令上传至服务器。即,在M节点时缓存队列若为传输状态,则语音识别指令的上传节点为B节点与C2节点中的靠后节点。
需要说明的是,在上述实施例中,当缓存队列在上传语音识别指令时同时上传的语音数据均为A节点后的语音数据时,由于A节点后持续检测到用户静音,则待上传的所有语音数据均为静音数据,此时可以将所有语音数据丢弃,并直接上传语音识别指令至服务器。而在缓存队列中与语音识别指令同时上传的语音数据包含A节点前的语音数据时,则将A节点前的语音数据与语音识别指令一并上传至服务器,并将A节点后接收到的静音语音数据丢弃。
进一步的,参照图4,图4为本发明语音数据传输方法第三实施例的流程示意图,基于上述图3所示的实施例,所述步骤S22,在缓存队列为待传输状态时,控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为持续静音时长达到语音停止时长的步骤之后,还包括:
步骤S40,确定所述缓存队列中的语音数据是否达到预设缓存限值;
步骤S41,在所述缓存队列中的语音数据达到预设缓存限值时,将缓存队列中的语音数据上传至服务器。
在本实施例中,在控制缓存队列暂停传输语音数据,并将新的语音数据存储至缓存队列后,还需要监测缓存队列中存储的语音数据是否达到预设缓存限值。若缓存队列中的语音数据达到预设缓存限值,再将新的语音数据存储至缓存队列中将会导致用户的语音数据发生丢失,因此需要将当前缓存队列中的语音数据立即上传至服务器,从而避免用户语音数据的丢失。可以理解的是,此时语音识别指令的上传节点需要满足持续静音时长达到语音停止时长,且当前达到预设缓存限值的语音数据对应的传输过程结束。
需要说明的是,通常语音数据的一次传输过程约为500ms,但在发生网络堵塞等故障时将会使得传输过程延长,此时缓存队列在暂停传输语音数据的过程中存储的语音数据容易达到预设缓存限值,需要及时将语音数据上传至服务器,以避免语音数据发生丢失。其中,预设缓存限值可以设置为与缓存队列的缓存空间相关,例如可以设置为缓存空间的90%。
进一步的,参照图5,图5为本发明语音数据传输方法第四实施例的流程示意图,基于上述图2至图4所示的实施例,所述步骤S20,在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据的步骤包括:
步骤S21,在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
步骤S23,在缓存队列为传输状态时,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为传输状态结束。
在本实施例中,在物联网设备对持续静音时长计时并达到预处理时长时,可以获取当前缓存队列的传输状态。若当前缓存队列为传输状态,即正在将语音数据上传至服务器时,可以将检测到的新的语音数据继续存储至缓存队列中,此时可以确定语音识别指令的上传节点为传输状态结束。即,在持续静音时长达到预处理时长这一时间节点确定语音识别指令的上传节点为本次传输过程结束。
进一步的,参照图6,图6为本发明语音数据传输方法第五实施例的流程示意图,基于上述图5所示的实施例,所述步骤S23,在缓存队列为传输状态时,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为传输状态结束的步骤包括:
步骤S50,在缓存队列为传输状态时,将检测到的新的语音数据存储至所述缓存队列中,确定语音识别指令的上传节点为传输状态结束且所述持续静音时长达到语音停止时长;
所述步骤S30,在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器的步骤包括:
步骤S31,在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器。
在本实施例中,在确定当前缓存队列为传输状态,即正在将语音数据上传至服务器时,还可以确定语音识别指令的上传节点为传输状态结束且持续静音时长达到语音停止时长。即,在持续静音时长达到预处理时长时,缓存队列存在有两种状态,一种为待传输状态,即结束上一传输过程,准备进行下一传输过程;另一种为传输状态,即正在进行传输过程。在缓存队列为待传输状态时,可以确定语音识别指令以及最后一次语音数据上传的上传节点为持续静音时长达到语音停止时长。而在缓存队列为传输状态时,则可以确定语音识别指令以及最后一次语音数据上传的上传节点为传输状态结束且持续静音时长达到语音停止时长。
在当前传输过程结束时,若持续静音时长已达到语音停止时长,则可以确定用户停止说话,并在缓存队列传输状态结束后将语音识别指令以及缓存队列在传输过程中新存储的语音数据一并上传至服务器。而若持续静音时长未达到语音停止时长,则还需要等待至持续静音时长达到语音停止时长,即确定用户停止说话后才能将缓存队列中剩余的语音数据以及语音识别指令上传至服务器。
需要说明的是,在持续静音时长达到预处理时长时缓存队列的传输过程结束时,若持续静音时长未达到语音停止时长,此时虽然需要等待持续静音时长达到语音停止时长,但由于用户的语音数据为静音,可以将传输过程结束至持续静音时长未达到语音停止时长这段时间内检测到的用户语音数据进行丢弃,而不需要存储至缓存队列中。在持续静音时长未达到语音停止时长时,仅需要将缓存队列中存储的语音数据上传至服务器。
进一步的,参照图7,图7为本发明语音数据传输方法第六实施例的流程示意图,基于上述图6所示的实施例,所述步骤S31,在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器的步骤包括:
步骤S311,在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长;
步骤S312,若所述缓存队列中的语音数据长度大于语音停止时长,则将所述缓存队列中与所述持续静音时长对应的语音数据丢弃,并将所述缓存队列中的剩余语音数据和语音识别指令上传至服务器;
步骤S313,若所述缓存队列中的语音数据长度小于或等于语音停止时长,则将所述缓存队列中的所有语音数据丢弃,并将语音识别指令上传至服务器。
在本实施例中,在持续静音时长达到语音停止时长且缓存队列传输状态已结束时,可以确定当前时间节点为语音识别指令的上传节点。通过确定缓存队列中的语音数据长度即可判断缓存队列中存储的语音数据是否全部为静音数据。可以理解的是,缓存队列中的语音数据长度即为用户语音数据的时长,例如,缓存队列中的用户语音数据能够播放500毫秒时,则语音数据长度即为500毫秒。若缓存队列中的语音数据长度大于语音停止时长,由于用户的静音数据对应的时间长度即为语义停止时长,则缓存队列中的语音数据必然包含静音数据以外的用户语音数据,而静音数据无论是否上传给服务器均不影响服务器进行语音识别。例如,当语音停止时长为600ms,而缓存队列中的语音数据长度为650ms时,则表示缓存队列中的语音数据包含50ms的用户语音和600ms的静音数据。持续静音时长由0至语音停止时长的时间区间内,缓存队列中所缓存的语音数据为静音数据,则在确定缓存队列中存在非静音的用户语音数据时,可以将静音时长由0至语音停止时长的时间区间所对应的缓存队列中的语音数据进行丢弃,此时缓存队列中所剩余的语音数据即为检测到用户的语音数据为静音前所采集并缓存的用户语音。在到达语音识别指令的上传节点时,即可将该剩余的语音数据和语音识别指令一并上传至服务器。
同样地,若缓存队列中的语音数据长度小于等于语音停止时长,则表示该缓存队列中所存储的语音数据全部为静音数据,则此时可以将缓存队列中的所有语音数据进行丢弃,仅将语音识别指令上传至服务器。
进一步的,参照图8,图8为本发明语音数据传输方法第七实施例的流程示意图,基于上述图7所示的实施例,所述步骤S311,在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长的步骤包括:
步骤S3111,在持续静音时长达到语音停止时长时,判断所述缓存队列传输状态是否结束;
若所述缓存队列传输状态已结束,则执行步骤S3112,判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列传输状态未结束,则执行步骤S3113,停止向所述缓存队列缓存语音数据,并执行步骤S3112,判断所述缓存队列中的语音数据长度是否大于语音停止时长。
在本实施例中,持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,即为语音识别指令的上传节点。其中,存在持续静音时长先达到语音停止时长,以及缓存队列传输状态先进入结束状态两种情形。
若持续静音时长先到达语音停止时长,由于缓存队列传输状态还处于传输状态,并未结束,则语音识别指令的上传节点为缓存队列的传输状态结束。而若缓存队列的传输状态已结束时持续静音时长未达到语音停止时长,则语音识别指令的上传节点即为持续静音时长达到语音停止时长。
可以理解的是,在缓存队列传输状态先进入结束状态时,语音识别指令的上传节点即为持续静音时长达到语音停止时长,此时可以判断缓存队列中存储的语音数据长度是否大于语音停止时长,从而确定缓存队列中是否存储有非静音的用户语音数据,并将非静音的用户语音数据与语音识别指令一并上传。
而在持续静音时长先达到语音停止时长时,由于在持续静音时长内所采集到的用户语音数据均为静音数据,则可以确定在持续静音时长达到语音停止时长时用户已经停止说话,在到达语音停止时长后所采集到的语音数据可以直接丢弃,不再存储到缓存队列中。此时,缓存队列中存储的语音数据为缓存队列本次传输过程的起始节点至持续静音时长达到语音停止时长内的用户语音数据。即,持续静音时长达到语音停止时长时,无论此时缓存队列的传输状态是否结束,缓存队列均停止继续缓存语音数据,并对已经缓存的语音数据划分为静音数据和非静音数据,将静音数据进行丢弃,并在到达语音识别指令的上传节点时,将非静音数据与语音识别指令上传至服务器。
进一步的,参照图9,图9为本发明语音数据传输方法第八实施例的流程示意图,基于上述图2至图8所示的实施例,所述步骤S10,在检测到用户的语音数据为静音时,对持续静音时长进行计时的步骤之后,还包括:
步骤S60,在检测到用户语音不为静音且所述持续静音时长未达到语音停止时长时,将所述持续静音时长清零并停止计时。
在本实施例中,在检测到用户的语音数据为静音时,才会对持续静音时长进行计时。若计时过程中在持续静音时长未达到语音停止时长时检测到用户语音不为静音,则可以确定用户并未停止说话,此时可以将持续静音时长停止计时以及清零,并继续检测用户的语音数据,直至确定用户停止说话后将语音识别指令上传至服务器。
此外,本发明还提出一种计算机可读存储介质,其上存储有语音数据传输程序。所述计算机可读存储介质可以是图1的终端中的存储器20,也可以是如ROM(Read-OnlyMemory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的物联网设备执行本发明各个实施例所述的语音数据传输方法。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种语音数据传输方法,其特征在于,应用于物联网设备,所述方法包括以下步骤:
在检测到用户的语音数据为静音时,对持续静音时长进行计时;
在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点,所述缓存队列用于缓存语音数据;
在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器。
2.如权利要求1所述的语音数据传输方法,其特征在于,所述在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点的步骤包括:
在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
在缓存队列为待传输状态时,控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为持续静音时长达到语音停止时长,其中,所述语音停止时长大于所述预处理时长。
3.如权利要求2所述的语音数据传输方法,其特征在于,所述控制所述缓存队列暂停传输语音数据,将检测到的新的语音数据存储至所述缓存队列中的步骤之后还包括:
确定所述缓存队列中的语音数据是否达到预设缓存限值;
在所述缓存队列中的语音数据达到预设缓存限值时,将缓存队列中的语音数据上传至服务器。
4.如权利要求1所述的语音数据传输方法,其特征在于,所述在持续静音时长达到预处理时长时,根据缓存队列的传输状态确定语音识别指令的上传节点的步骤包括:
在持续静音时长达到预处理时长时,获取所述缓存队列的传输状态;
在缓存队列为传输状态时,将检测到的新的语音数据存储至所述缓存队列中,并确定语音识别指令的上传节点为传输状态结束。
5.如权利要求4所述的语音数据传输方法,其特征在于,所述在缓存队列为传输状态时,确定语音识别指令的上传节点为传输状态结束的步骤包括:
在缓存队列为传输状态时,确定语音识别指令的上传节点为传输状态结束且所述持续静音时长达到语音停止时长;
相应地,所述在到达语音识别指令的上传节点时,将所述缓存队列中的语音数据和语音识别指令上传至服务器的步骤包括:
在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器。
6.如权利要求5所述的语音数据传输方法,其特征在于,所述在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,将所述缓存队列中的所有语音数据和语音识别指令上传至服务器的步骤包括:
在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列中的语音数据长度大于语音停止时长,则将所述缓存队列中与所述持续静音时长对应的语音数据丢弃,并将所述缓存队列中的剩余语音数据和语音识别指令上传至服务器;
若所述缓存队列中的语音数据长度小于或等于语音停止时长,则将所述缓存队列中的所有语音数据丢弃,并将语音识别指令上传至服务器。
7.如权利要求6所述的语音数据传输方法,其特征在于,所述在持续静音时长达到语音停止时长且所述缓存队列传输状态结束时,判断所述缓存队列中的语音数据长度是否大于语音停止时长的步骤包括:
在持续静音时长达到语音停止时长时,判断所述缓存队列传输状态是否结束;
若所述缓存队列传输状态已结束,则判断所述缓存队列中的语音数据长度是否大于语音停止时长;
若所述缓存队列传输状态未结束,则停止向所述缓存队列缓存语音数据,并判断所述缓存队列中的语音数据长度是否大于语音停止时长。
8.如权利要求1~7中任一项所述的语音数据传输方法,其特征在于,所述在检测到用户的语音数据为静音时,对持续静音时长进行计时的步骤之后,还包括:
在检测到用户语音不为静音且所述持续静音时长未达到语音停止时长时,将所述持续静音时长清零并停止计时。
9.一种物联网设备,其特征在于,所述物联网设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音数据传输程序,其中:所述语音数据传输程序被所述处理器执行时实现如权利要求1至8中任一项所述的语音数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有语音数据传输程序,所述语音数据传输程序被处理器执行时实现如权利要求1至8中任一项所述的语音数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011169545.7A CN112331198A (zh) | 2020-10-27 | 2020-10-27 | 语音数据传输方法、物联网设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011169545.7A CN112331198A (zh) | 2020-10-27 | 2020-10-27 | 语音数据传输方法、物联网设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112331198A true CN112331198A (zh) | 2021-02-05 |
Family
ID=74296521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011169545.7A Pending CN112331198A (zh) | 2020-10-27 | 2020-10-27 | 语音数据传输方法、物联网设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112331198A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113270098A (zh) * | 2021-06-22 | 2021-08-17 | 广州小鹏汽车科技有限公司 | 语音控制方法、车辆、云端和存储介质 |
CN114898755A (zh) * | 2022-07-14 | 2022-08-12 | 科大讯飞股份有限公司 | 语音处理方法及相关装置、电子设备、存储介质 |
-
2020
- 2020-10-27 CN CN202011169545.7A patent/CN112331198A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113270098A (zh) * | 2021-06-22 | 2021-08-17 | 广州小鹏汽车科技有限公司 | 语音控制方法、车辆、云端和存储介质 |
CN114898755A (zh) * | 2022-07-14 | 2022-08-12 | 科大讯飞股份有限公司 | 语音处理方法及相关装置、电子设备、存储介质 |
CN114898755B (zh) * | 2022-07-14 | 2023-01-17 | 科大讯飞股份有限公司 | 语音处理方法及相关装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10848886B2 (en) | Always-on detection systems | |
US11676601B2 (en) | Voice assistant tracking and activation | |
CN112331198A (zh) | 语音数据传输方法、物联网设备及存储介质 | |
KR102158315B1 (ko) | 음성 제어를 수행하는 디스플레이 장치 및 그 음성 제어 방법 | |
CN108694947B (zh) | 语音控制方法、装置、存储介质及电子设备 | |
US20040117179A1 (en) | Method and apparatus for selective speech recognition | |
KR20180135817A (ko) | 보이스 에이젼트 포워딩 | |
CN110299137B (zh) | 语音交互方法和装置 | |
CN109451339B (zh) | 音频传输方法、装置、设备及可读存储介质 | |
US20070061147A1 (en) | Distributed speech recognition method | |
EP3769303B1 (en) | Modifying spoken commands | |
CN111131957A (zh) | 音量控制方法、终端及可读存储介质 | |
CN111371705A (zh) | 一种下载任务执行方法及电子设备 | |
CN111681675A (zh) | 数据动态传输方法、装置、设备和存储介质 | |
CN109120993B (zh) | 语音识别方法、智能终端、语音识别系统及可读存储介质 | |
CN113691668B (zh) | 设备控制方法、装置、芯片、电子设备及存储介质 | |
US10923122B1 (en) | Pausing automatic speech recognition | |
CN111556198B (zh) | 音效控制方法、终端设备及存储介质 | |
CN109413592B (zh) | 一种广播方法和移动终端 | |
CN110831114A (zh) | 与无线设备的连接方法、终端及可读存储介质 | |
CN112350958B (zh) | 语音数据动态上传方法、物联网设备及存储介质 | |
EP4201045B1 (en) | Real-time and file-based audio data processing | |
CN111277784A (zh) | 一种音量自动控制方法、装置、终端及可读存储介质 | |
CN111583925B (zh) | 设备控制方法、智能设备及存储介质 | |
CN114025387A (zh) | 处理方法、智能终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |