CN105679320A - 用于家用电器的语音控制装置和语音控制方法 - Google Patents

用于家用电器的语音控制装置和语音控制方法 Download PDF

Info

Publication number
CN105679320A
CN105679320A CN201410676971.8A CN201410676971A CN105679320A CN 105679320 A CN105679320 A CN 105679320A CN 201410676971 A CN201410676971 A CN 201410676971A CN 105679320 A CN105679320 A CN 105679320A
Authority
CN
China
Prior art keywords
voice data
voice
played
storage device
controller
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.)
Granted
Application number
CN201410676971.8A
Other languages
English (en)
Other versions
CN105679320B (zh
Inventor
李信合
麻百忠
房振
雷俊
王强
黄开平
袁宏斌
杨乐
钟石刚
杨立萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Midea Group Co Ltd
Foshan Shunde Midea Electrical Heating Appliances Manufacturing Co Ltd
Original Assignee
Midea Group Co Ltd
Foshan Shunde Midea Electrical Heating Appliances Manufacturing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Midea Group Co Ltd, Foshan Shunde Midea Electrical Heating Appliances Manufacturing Co Ltd filed Critical Midea Group Co Ltd
Priority to CN201410676971.8A priority Critical patent/CN105679320B/zh
Publication of CN105679320A publication Critical patent/CN105679320A/zh
Application granted granted Critical
Publication of CN105679320B publication Critical patent/CN105679320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

本发明公开了一种用于家用电器的语音控制装置,包括:喇叭和语音驱动器;语音存储器,语音存储器用于存储语音数据,其中,语音数据为喇叭播放语音时对应的脉冲宽度调制PWM控制信号;控制器,控制器与语音驱动器和语音存储器相连,控制器用于根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,并根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据并通过语音驱动器和喇叭播放。由此,本发明的语音控制装置在语音的内容或语音量变化时不需要设计新的电路,只需升级语音存储器,减少了开发周期及验证方案的难度,实现了快速可靠开发的目的,并且可移植性强。本发明还公开了一种用于家用电器的语音控制方法。

Description

用于家用电器的语音控制装置和语音控制方法
技术领域
本发明涉及家用电器技术领域,特别涉及以一种用于家用电器的语音控制装置和一种用于家用电器的语音控制方法。
背景技术
随着家用电器产品的配置的高端化,对语音的需求越来越高。相关技术中,通常通过一个专用的语音芯片来实现语音播放,但是,产品不同,语音的内容或语音量也随之不同,就需要匹配不同的语音芯片,并且需要设计新的电路来匹配产品的变更,增加了开发周期及验证方案的难度。因此,相关技术存在改进的需要。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种用于家用电器的语音控制装置,该语音控制装置在语音的内容或语音量变化时,不需要设计新的电路,减少了开发周期及验证方案的难度。
本发明另一个目的在于提出一种用于家用电器的语音控制方法。
根据本发明一方面实施例提出的用于家用电器的语音控制装置,包括:喇叭和语音驱动器;语音存储器,所述语音存储器用于存储语音数据,其中,所述语音数据为所述喇叭播放语音时对应的脉冲宽度调制PWM控制信号;控制器,所述控制器与所述语音驱动器和所述语音存储器相连,所述控制器用于根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,并根据所述地址信息和语音帧数信息从所述语音存储器中获取对应的待播放语音数据并通过所述语音驱动器和所述喇叭播放。
根据本发明实施例提出的用于家用电器的语音控制装置,通过语音存储器存储语音数据,控制器在根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息之后,根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据并通过语音驱动器和喇叭播放,从而,在语音的内容或语音量变化时不需要设计新的电路,只需升级语音存储器,减少了开发周期及验证方案的难度,实现了快速可靠开发的目的,并且可移植性强。
根据本发明的一个具体实施例,所述控制器具有第一寄存器和第二寄存器,其中,所述第一寄存器,用于存储计数值;所述第二寄存器,用于存储所述控制器从所述语音存储器中获取的待播放语音数据。
根据本发明的一个实施例,所述控制器在每次操作之后更新所述计数值,并在所述计数值小于第一预设数值时从所述语音存储器中获取待播放语音数据,同时将所述待播放语音数据的第一部分存储至所述第二寄存器,从而提高了抗干扰性,避免数据出现错位。
进一步地,根据本发明的一个实施例,在所述计数值大于或等于所述第一预设数值且小于或等于第二预设数值时,所述控制器将下一组待播放语音数据的地址写入所述语音存储器,同时将所述待播放语音数据的第二部分存储至所述第二寄存器,以及在所述计数值等于所述第二预设数值时,清空所述第一寄存器,从而提高了抗干扰性,避免数据出现错位。
根据本发明的一个实施例,所述控制器还用于在根据所述语音帧数信息判断待播放语音数据播放完毕之后,清空所述第二寄存器。
根据本发明的一个具体实施例,所述语音存储器为FLASH存储器。
根据本发明另一方面实施例提出的用于家用电器的语音控制方法,所述家用电器包括喇叭、语音驱动器和用于存储语音数据的语音存储器,所述语音控制方法包括以下步骤:根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,其中,所述语音数据为喇叭播放语音时对应的脉冲宽度调制PWM控制信号;根据所述地址信息和语音帧数信息从所述语音存储器中获取对应的待播放语音数据并通过所述语音驱动器和所述喇叭播放。
根据本发明实施例提出的用于家用电器的语音控制方法,在根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息之后,根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据并通过语音驱动器和喇叭播放,从而,在语音的内容或语音量变化时不需要设计新的电路,只需升级语音存储器,减少了开发周期及验证方案的难度,实现了快速可靠开发的目的,并且可移植性强。
根据本发明的一个实施例,所述家用电器包括用于存储计数值的第一寄存器和用于存储从所述语音存储器中获取的待播放语音数据的所述第二寄存器,所述根据所述地址信息和语音帧数信息从所述语音存储器中获取对应的待播放语音数据具体包括:在每次操作之后更新计数值;在所述计数值小于第一预设数值时从所述语音存储器中获取待播放语音数据,同时将所述待播放语音数据的第一部分存储至所述第二寄存器,从而提高了抗干扰性,避免数据出现错位。
进一步地,根据本发明的一个实施例,所述的用于家用电器的语音控制方法还包括:在所述计数值大于或等于所述第一预设数值且小于第二预设数值时,将下一组待播放语音数据的地址写入所述语音存储器,同时将所述待播放语音数据的第二部分存储至所述第二寄存器,以及在所述计数值等于所述第二预设数值时,清空所述第一寄存器,从而提高了抗干扰性,避免数据出现错位。
根据本发明的一个实施例,所述的用于家用电器的语音控制方法还包括:在根据所述语音帧数信息判断待播放语音数据播放完毕之后,清空所述第二寄存器。
根据本发明的一个具体实施例,所述语音存储器为FLASH存储器。
附图说明
图1是根据本发明实施例的用于家用电器的语音控制装置的方框示意图;
图2是根据本发明实施例的用于家用电器的语音控制方法的流程图;
图3是根据本发明一个优选实施例的用于家用电器的语音控制方法的流程图;
图4是根据本发明一个实施例的用于家用电器的语音控制方法中根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据的流程图;以及
图5是根据本发明一个具体实施例的用于家用电器的语音控制方法的流程图。
附图标记:
喇叭1、语音驱动器2、语音存储器3和控制器4。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面首先对相关技术中的语音播放过程进行简单描述。
相关技术中,在播放语音时,通常是一口气将待播放语音数据读完。即言,把待播放语音数据对应的地址信息发命令给语音存储器,之后就开始从该地址一直读取对应的待播放语音数据,且每读取一个数据对应地址会自动加一,直到当前语音的帧数播放完。但是,相关技术存在的缺点是,读取语音数据的过程比较长,如果在这个过程中受到干扰,例如时钟线CLK发生错位、或者有不正常的跳变,则会导致之后的数据都错位,全部出错,影响语音播放的可靠性。
基于上述技术缺陷,本发明提出了一种用于家用电器的语音控制装置和一种用于家用电器的语音控制方法。
下面参照附图来描述根据本发明实施例的用于家用电器的语音控制装置和用于家用电器的语音控制方法。
图1是根据本发明实施例的用于家用电器的语音控制装置的方框示意图。如图1所示,该用于家用电器的语音控制装置包括:喇叭1、语音驱动器2、语音存储器3和控制器4。
其中,语音存储器3用于存储语音数据,其中,语音数据为喇叭1播放语音时对应的脉冲宽度调制PWM控制信号,例如,每个语音数据可为对应的一个PWM控制信号的占空比;控制器4分别与语音驱动器2和语音存储器3相连,控制器4用于根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,并根据地址信息和语音帧数信息从语音存储器3中获取对应的待播放语音数据并通过语音驱动器2和喇叭1播放。
也就是说,控制器4例如MCU(MicroControlUnit,微控制单元)在接收到用户指令后,根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息以播放用户需要的语音内容例如“开始”,其中,每个地址可对应一个语音数据,多个语音数据可对应多个连续的地址,语音帧数可为待播放语音数据的总个数。由此,控制器4可根据地址信息确定用户需要的语音内容在语音存储器3中的存储地址,控制器4可从该地址读取存储在语音存储器3中的语音数据,并将语音数据发送至语音驱动器2,以通过语音驱动器2驱动喇叭1播放对应的语音内容。具体地,控制器4可根据语音数据通过调整PWM控制信号的占空比,从而还原出语音波形。
需要说明的是,控制器4在获取语音数据之后,可先对语音数据进行滤波处理,以滤除掉与用户需要的语音内容相差很大的语音数据。另外,如图1所示,控制器4可与语音驱动器2可进行双向通信,控制器4可包括I/O端口和PWM端口。当I/O端口输出低电平信号时,控制器4可控制语音驱动器2停止工作,喇叭1不进行播放;当I/O端口输出高电平信号时,控制器4可控制语音驱动器2工作,喇叭1播放。由此,控制器4在读取到存储在语音存储器3中的语音数据之后,可先对语音数据进行滤波处理,然后,控制器4将滤波后语音数据通过PWM端口输送至语音驱动器2,同时,控制器4还将高电平信号通过I/O端口输送至语音驱动器2以控制语音驱动器2工作。
根据本发明的一个实施例,控制器4可具有第一寄存器和第二寄存器,其中,第一寄存器用于存储计数值gBPWMInx;第二寄存器PWM0DL用于存储控制器4从语音存储器3中获取的待播放语音数据。其中,计数值gBPWMInx初始为0。
进一步地,根据本发明的一个实施例,控制器4在每次操作之后更新计数值gBPWMInx,并在计数值gBPWMInx小于第一预设数值时从语音存储器3中获取待播放语音数据,同时将待播放语音数据的第一部分存储至第二寄存器PWM0DL。
其中,需要说明的是,第一预设数值可为一组待播放语音数据的个数,该语音控制装置可根据语音PWM中断信号来控制控制器4的操作,即言,控制器4在接收到一个语音PWM中断信号后,进行一次操作。控制器4的操作具体可为:根据语音帧数信息判断待播放语音数据是否播放完毕,如果否,则进一步判断计数值gBPWMInx是否小于第一预设数值,如果是,则从语音存储器3中读取N个待播放语音数据存储至控制器4的缓存单元gBPWMBuf,同时,从缓存单元gBPWMBuf中读取i个待播放语音数据存储至第二寄存器PWM0DL。控制器4完成一次上述操作后,可将计数值gBPWMInx加N,其中,N和i均为正整数,i小于N。
下面以一个具体实施例来详细描述计数值gBPWMInx小于第一预设数值时,控制器4的操作过程,假设计数值gBPWMInx的初始值为0,第一预设数值为12,N为2,i为1。
当计数值gBPWMInx等于0时,控制器4接收到第一个语音PWM中断信号之后,可判断计数值gBPWMInx例如0小于第一预设数值例如12,控制器4从语音存储器3中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[0]和gBPWMBuf[1],同时从缓存单元gBPWMBuf中读取gBPWMBuf[0]存储的语音数据赋值到第二寄存器PWM0DL,控制器4完成上述操作后,可将计数值gBPWMInx加上2,即计数值gBPWMInx变为2。
这样,控制器4接收到第二个至第六个语音PWM中断信号之后,循环管完成类似的操作。即言,控制器4接收到第二个语音PWM中断信号之后,从语音存储器3中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[2]和gBPWMBuf[3],同时从缓存单元gBPWMBuf中读取gBPWMBuf[1]存储的语音数据赋值到第二寄存器PWM0DL,并且,将计数值gBPWMInx加上2,即计数值gBPWMInx变为4。
控制器4接收到第三个语音PWM中断信号之后,从语音存储器3中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[4]和gBPWMBuf[5],同时从缓存单元gBPWMBuf中读取gBPWMBuf[2]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为6。
控制器4接收到第四个语音PWM中断信号之后,从语音存储器3中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[6]和gBPWMBuf[7],同时从缓存单元gBPWMBuf中读取gBPWMBuf[3]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为8。
控制器4接收到第五个语音PWM中断信号之后,从语音存储器3中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[8]和gBPWMBuf[9],同时从缓存单元gBPWMBuf中读取gBPWMBuf[4]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为10。
控制器4接收到第六个语音PWM中断信号之后,从语音存储器3中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[10]和gBPWMBuf[11],同时从缓存单元gBPWMBuf中读取gBPWMBuf[5]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为12。
进一步地,根据本发明的一个实施例,在计数值gBPWMInx大于或等于第一预设数值且小于或等于第二预设数值时,控制器4将下一组待播放语音数据的地址写入语音存储器3,同时将待播放语音数据的第二部分存储至第二寄存器PWM0DL,以及在计数值gBPWMInx等于第二预设数值时,清空第一寄存器。
也就是说,当控制器4判断计数值gBPWMInx大于或等于第一预设数值时,控制语音存储器3进入睡眠模式,然后再重新启动,将下一组待播放语音数据的地址(例如当前组待播放语音数据的地址加上12)写入语音存储器3,同时,从缓存单元gBPWMBuf中读取i个待播放语音数据存储至第二寄存器PWM0DL,控制器4完成一次上述操作后,可将计数值gBPWMInx加上i。
下面以一个具体实施例来详细描述计数值gBPWMInx大于或等于第一预设数值且小于或等于第二预设数值时,控制器4的操作过程,假设第一预设数值为12,第二预设数值为17,i为1。
控制器4接收到第六个语音PWM中断信号之后,计数值gBPWMInx已经变为12。这样,控制器4接收到第七个语音PWM中断信号之后,可判断计数值gBPWMInx等于第一预设数值例如12且小于或等于第二预设数值例如17,控制器4控制语音存储器3进入睡眠模式,同时从缓存单元gBPWMBuf中读取gBPWMBuf[6]存储的语音数据赋值到第二寄存器PWM0DL,并且,将当前组待播放语音数据的地址加上12以获取下一组待播放语音数据的地址,控制器4完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为13。
控制器4接收到第八个语音PWM中断信号之后,控制器4控制语音存储器3重新启动,从缓存单元gBPWMBuf中读取gBPWMBuf[7]存储的语音数据赋值到第二寄存器PWM0DL,并发送写入命令例如0XBB给语音存储器3,控制器4完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为14。
控制器4接收到第九个语音PWM中断信号之后,控制器4从缓存单元gBPWMBuf中读取gBPWMBuf[8]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的高位给语音存储器3,控制器4完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为15。
控制器4接收到第十个语音PWM中断信号之后,控制器4从缓存单元gBPWMBuf中读取gBPWMBuf[9]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的中位给语音存储器3,控制器4完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为16。
控制器4接收到第十一个语音PWM中断信号之后,控制器4从缓存单元gBPWMBuf中读取gBPWMBuf[10]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的低位给语音存储器3,控制器4完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为17。
控制器4接收到第十二个语音PWM中断信号之后,控制器4从缓存单元gBPWMBuf中读取gBPWMBuf[11]存储的语音数据赋值到第二寄存器PWM0DL,控制器4完成上述操作后,可将第一寄存器清零,即计数值gBPWMInx变为0。
根据本发明的一个优选实施例,第一寄存器清零之后,控制器4可等待8个时钟clock再从语音存储器3读取下一组待播放语音数据。
总的来说,与相关技术中,一直读取语音存储器中存储的语音数据相比,本发明实施例采用间隔的方案,例如,以每12次PWM中断作为一个周期,在前6次PWM中断中,每次读取2个语音数据,共读取12个语音数据,以作为一组待播放语音数据,同时只将前6个语音数据(例如gBPWMBuF[0]至gBPWMBuF[5]存储的语音数据)发送到第二寄存器PWM0DL中;在后6次PWM中断中,开始让语音存储器3进入睡眠模式,然后再重新启动,把下一组待播放语音数据的地址写入语音存储器3,同时把剩余的6个语音数据(例如gBPWMBuF[6]至gBPWMBuF[11]存储的语音数据)发送到第二寄存器PWM0DL中,并准备读取下一组待播放语音数据,控制器4一直这样循环操作直到播放完当前语音。这样,每读完一组待播放语音数据(12个语音数据),让语音存储器3复位一次,再重新启动,从而提高了抗干扰性,避免数据出现错位。
根据本发明的另一个实施例,控制器4还用于在根据语音帧数信息判断待播放语音数据播放完毕之后,清空第二寄存器PWM0DL。
具体来说,控制器4在每次操作之前更新语音帧数,例如语音帧数减去1,之后,控制器4可判断待播放语音数据是否播放完毕,例如判断语音帧数是否小于0,如果是,即语音帧数小于0,则可将播放标志位置为0例如控制器4的I/O端口输出低电平,同时关闭语音PWM中断信号;如果否,即语音帧数大于或等于0,则控制器4进行一次操作。
另外,根据本发明的一个具体实施例,语音存储器3可为FLASH存储器。
综上,根据本发明实施例提出的用于家用电器的语音控制装置,通过语音存储器存储语音数据,控制器在根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息之后,根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据并通过语音驱动器和喇叭播放,从而,在语音的内容或语音量变化时不需要设计新的电路,只需升级语音存储器,减少了开发周期及验证方案的难度,实现了快速可靠开发的目的,并且可移植性强。另外,控制器在计数值小于第一预设数值时从语音存储器中获取待播放语音数据,同时将待播放语音数据的第一部分存储至第二寄存器,以及在计数值大于或等于第一预设数值且小于或等于第二预设数值时,将下一组待播放语音数据的地址写入语音存储器,同时将待播放语音数据的第二部分存储至第二寄存器,从而提高了抗干扰性,避免数据出现错位。
图2是根据本发明实施例的用于家用电器的语音控制方法的流程图。如图2所示,家用电器包括喇叭、语音驱动器和用于存储语音数据的语音存储器,其中,语音存储器为FLASH存储器。该语音控制方法包括以下步骤:
S1:根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,其中,语音数据为喇叭播放语音时对应的脉冲宽度调制PWM控制信号。
例如,每个语音数据可为对应的一个PWM控制信号的占空比
S2:根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据并通过语音驱动器和喇叭播放。
也就是说,在接收到用户指令后,根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息以播放用户需要的语音内容例如“开始”,其中,每个地址可对应一个语音数据,多个语音数据可对应多个连续的地址,语音帧数可为待播放语音数据的总个数。由此,可根据地址信息确定用户需要的语音内容在语音存储器中的存储地址,可从该地址读取存储在语音存储器中的语音数据,并将语音数据发送至语音驱动器,以通过语音驱动器驱动喇叭播放对应的语音内容。具体地,可根据语音数据通过调整PWM控制信号的占空比,从而还原出语音波形。
具体来说,根据本发明的一个实施例,在获取语音数据之后,可先对语音数据进行滤波处理,以滤除掉与用户需要的语音内容相差很大的语音数据。由此,在读取到存储在语音存储器中的语音数据之后,可先对语音数据进行滤波处理,然后,将滤波后语音数据至语音驱动器,同时,控制语音驱动器工作。根据本发明的一个优选实施例,如图3所示,该方法具体包括以下步骤:
S101:语音驱动器停止工作,喇叭处于静音状态。
S102:根据用户指令读取到存储在语音存储器中的语音数据。
S103:对语音数据进行滤波处理。
S104:将滤波后语音数据至语音驱动器,同时控制语音驱动器工作,喇叭处于播放状态。
根据本发明一个实施例,如图4所示,家用电器包括用于存储计数值gBPWMInx的第一寄存器和用于存储从语音存储器中获取的待播放语音数据的第二寄存器PWM0DL,根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据即步骤S2具体包括:
S21在每次操作之后更新计数值gBPWMInx。
S22:在计数值gBPWMInx小于第一预设数值时从语音存储器中获取待播放语音数据,同时将待播放语音数据的第一部分存储至第二寄存器PWM0DL。
其中,需要说明的是,第一预设数值可为一组待播放语音数据的个数,该语音控制方法可根据语音PWM中断信号来控制操作的执行,即言,在接收到一个语音PWM中断信号后,进行一次操作。操作的执行方法具体可为:根据语音帧数信息判断待播放语音数据是否播放完毕,如果否,则进一步判断计数值gBPWMInx是否小于第一预设数值,如果是,则从语音存储器中读取N个待播放语音数据存储至缓存单元gBPWMBuf,同时,从缓存单元gBPWMBuf中读取i个待播放语音数据存储至第二寄存器PWM0DL。完成一次上述操作后,可将计数值gBPWMInx加N,其中,N和i均为正整数,i小于N。
下面以一个具体实施例来详细描述计数值gBPWMInx小于第一预设数值时本实施例的操作过程,假设计数值gBPWMInx的初始值为0,第一预设数值为12,N为2,i为1。
当计数值gBPWMInx等于0时,在接收到第一个语音PWM中断信号之后,可判断计数值gBPWMInx例如0小于第一预设数值例如12,从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[0]和gBPWMBuf[1],同时从缓存单元gBPWMBuf中读取gBPWMBuf[0]存储的语音数据赋值到第二寄存器PWM0DL,完成上述操作后,可将计数值gBPWMInx加上2,即计数值gBPWMInx变为2。
这样,在接收到第二个至第六个语音PWM中断信号之后,循环管完成类似的操作。即言,到第二个语音PWM中断信号之后,从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[2]和gBPWMBuf[3],同时从缓存单元gBPWMBuf中读取gBPWMBuf[1]存储的语音数据赋值到第二寄存器PWM0DL,并且,将计数值gBPWMInx加上2,即计数值gBPWMInx变为4。
接收到第三个语音PWM中断信号之后,从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[4]和gBPWMBuf[5],同时从缓存单元gBPWMBuf中读取gBPWMBuf[2]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为6。
接收到第四个语音PWM中断信号之后,从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[6]和gBPWMBuf[7],同时从缓存单元gBPWMBuf中读取gBPWMBuf[3]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为8。
接收到第五个语音PWM中断信号之后,从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[8]和gBPWMBuf[9],同时从缓存单元gBPWMBuf中读取gBPWMBuf[4]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为10。
接收到第六个语音PWM中断信号之后,从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf中的gBPWMBuf[10]和gBPWMBuf[11],同时从缓存单元gBPWMBuf中读取gBPWMBuf[5]存储的语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,即计数值gBPWMInx变为12。
进一步地,根据本发明一个实施例,如图4所示,用于家用电器的语音控制方法还包括:
S23:在计数值gBPWMInx大于或等于第一预设数值且小于或等于第二预设数值时,将下一组待播放语音数据的地址写入语音存储器,同时将待播放语音数据的第二部分存储至第二寄存器PWM0DL,以及在计数值等于第二预设数值时,清空第一寄存器。
也就是说,当判断计数值gBPWMInx大于或等于第一预设数值时,控制语音存储器进入睡眠模式,然后再重新启动,将下一组待播放语音数据的地址(例如当前组待播放语音数据的地址加上12)写入语音存储器,同时,从缓存单元gBPWMBuf中读取i个待播放语音数据存储至第二寄存器PWM0DL,完成一次上述操作后,可将计数值gBPWMInx加上i。
下面以一个具体实施例来详细描述计数值gBPWMInx大于或等于第一预设数值且小于或等于第二预设数值时的操作过程,假设第一预设数值为12,第二预设数值为17,i为1。
接收到第六个语音PWM中断信号之后,计数值gBPWMInx已经变为12。这样,在接收到第七个语音PWM中断信号之后,可判断计数值gBPWMInx等于第一预设数值例如12且小于或等于第二预设数值例如17,控制语音存储器进入睡眠模式,同时从缓存单元gBPWMBuf中读取gBPWMBuf[6]存储的语音数据赋值到第二寄存器PWM0DL,并且,将当前组待播放语音数据的地址加上12以获取下一组待播放语音数据的地址,完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为13。
接收到第八个语音PWM中断信号之后,控制语音存储器重新启动,从缓存单元gBPWMBuf中读取gBPWMBuf[7]存储的语音数据赋值到第二寄存器PWM0DL,并发送写入命令例如0XBB给语音存储器,完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为14。
接收到第九个语音PWM中断信号之后,从缓存单元gBPWMBuf中读取gBPWMBuf[8]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的高位给语音存储器,完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为15。
接收到第十个语音PWM中断信号之后,从缓存单元gBPWMBuf中读取gBPWMBuf[9]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的中位给语音存储器,完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为16。
接收到第十一个语音PWM中断信号之后,从缓存单元gBPWMBuf中读取gBPWMBuf[10]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的低位给语音存储器,完成上述操作后,可将计数值gBPWMInx加上1,即计数值gBPWMInx变为17。
接收到第十二个语音PWM中断信号之后,从缓存单元gBPWMBuf中读取gBPWMBuf[11]存储的语音数据赋值到第二寄存器PWM0DL,完成上述操作后,可将第一寄存器清零,即计数值gBPWMInx变为0。
根据本发明的一个优选实施例,第一寄存器清零之后,可等待8个时钟clock再从语音存储器读取下一组待播放语音数据。
总的来说,与相关技术中一直读取语音存储器中存储的语音数据相比,本发明实施例采用间隔的方案,例如,以每12次PWM中断作为一个周期,在前6次PWM中断中,每次读取2个语音数据,共读取12个语音数据,以作为一组待播放语音数据,同时只将前6个语音数据(例如gBPWMBuF[0]至gBPWMBuF[5]存储的语音数据)发送到第二寄存器PWM0DL中;在后6次PWM中断中,开始让语音存储器进入睡眠模式,然后再重新启动,把下一组待播放语音数据的地址写入语音存储器,同时把剩余的6个语音数据(例如gBPWMBuF[6]至gBPWMBuF[11]存储的语音数据)发送到第二寄存器PWM0DL中,并准备读取下一组待播放语音数据,一直这样循环操作直到播放完当前语音。这样,每读完一组待播放语音数据(12个语音数据),让语音存储器复位一次,再重新启动,从而提高了抗干扰性,避免数据出现错位。
根据本发明的另一个实施例,用于家用电器的语音控制方法还包括:在根据语音帧数信息判断待播放语音数据播放完毕之后,清空第二寄存器。
具体来说,在每次操作之前更新语音帧数,例如语音帧数减去1,之后,可判断待播放语音数据是否播放完毕,例如判断语音帧数是否小于0,如果是,即语音帧数小于0,则可将播放标志位置为0,同时关闭语音PWM中断信号;如果否,即语音帧数大于或等于0,则进行一次对应的操作。
具体地,根据本发明的一个实施例,如图5所示,该用于家用电器的语音控制方法具体包括以下步骤:
S201:语音帧数减去1。
S202:判断待播放语音数据是否播放完毕,即判断语音帧数是否小于0。如果是,则执行步骤S216;如果是,则执行步骤S203。
S203:判断计数值gBPWMInx是否小于12。如果是,则执行步骤S204;如果否,则执行步骤S205。
S204:从语音存储器中读取2个待播放语音数据存储至缓存单元gBPWMBuf,同时从缓存单元gBPWMBuf读取对应的一个语音数据赋值到第二寄存器PWM0DL,并且将计数值gBPWMInx加上2,退出。
S205:判断计数值gBPWMInx是否等于12。如果是,则执行步骤S206;如果否,则执行步骤S207。
S206:控制语音存储器进入睡眠模式,同时从缓存单元gBPWMBuf中读取gBPWMBuf[6]存储的语音数据赋值到第二寄存器PWM0DL,并且,将当前组待播放语音数据的地址加上12以获取下一组待播放语音数据的地址,并将计数值gBPWMInx加上1,退出。
S207:判断计数值gBPWMInx是否等于13。如果是,则执行步骤S208;如果否,则执行步骤S209。
S208:控制语音存储器重新启动,从缓存单元gBPWMBuf中读取gBPWMBuf[7]存储的语音数据赋值到第二寄存器PWM0DL,并发送写入命令例如0XBB给语音存储器,并将计数值gBPWMInx加上1,退出。
S209:判断计数值gBPWMInx是否等于14。如果是,则执行步骤S210;如果否,则执行步骤S211。
S210:从缓存单元gBPWMBuf中读取gBPWMBuf[8]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的高位给语音存储器,并将计数值gBPWMInx加上1,退出。
S211:判断计数值gBPWMInx是否等于15。如果是,则执行步骤S212;如果否,则执行步骤S213。
S212:从缓存单元gBPWMBuf中读取gBPWMBuf[9]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的中位给语音存储器,并将计数值gBPWMInx加上1,退出。
S213:判断计数值gBPWMInx是否等于16。如果是,则执行步骤S214;如果否,则执行步骤S215。
S214:从缓存单元gBPWMBuf中读取gBPWMBuf[10]存储的语音数据赋值到第二寄存器PWM0DL,并发送写下一组待播放语音数据的地址的低位给语音存储器,并将计数值gBPWMInx加上1,退出。
S215:从缓存单元gBPWMBuf中读取gBPWMBuf[11]存储的语音数据赋值到第二寄存器PWM0DL,并将第一寄存器清零,即计数值gBPWMInx变为0,之后,等待8个时钟clock再从语音存储器读取下一组待播放语音数据,退出。
S216:可将播放标志位置为0,同时关闭语音PWM中断信号。
综上,根据本发明实施例提出的用于家用电器的语音控制方法,在根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息之后,根据地址信息和语音帧数信息从语音存储器中获取对应的待播放语音数据并通过语音驱动器和喇叭播放,从而,在语音的内容或语音量变化时不需要设计新的电路,只需升级语音存储器,减少了开发周期及验证方案的难度,实现了快速可靠开发的目的,并且可移植性强。另外,在计数值小于第一预设数值时从语音存储器中获取待播放语音数据,同时将待播放语音数据的第一部分存储至第二寄存器,以及在计数值大于或等于第一预设数值且小于或等于第二预设数值时,将下一组待播放语音数据的地址写入语音存储器,同时将待播放语音数据的第二部分存储至第二寄存器,从而提高了抗干扰性,避免数据出现错位。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (11)

1.一种用于家用电器的语音控制装置,其特征在于,包括:
喇叭和语音驱动器;
语音存储器,所述语音存储器用于存储语音数据,其中,所述语音数据为所述喇叭播放语音时对应的脉冲宽度调制PWM控制信号;以及
控制器,所述控制器与所述语音驱动器和所述语音存储器相连,所述控制器用于根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,并根据所述地址信息和语音帧数信息从所述语音存储器中获取对应的待播放语音数据并通过所述语音驱动器和所述喇叭播放。
2.如权利要求1所述的用于家用电器的语音控制装置,其特征在于,所述控制器具有第一寄存器和第二寄存器,其中,
所述第一寄存器,用于存储计数值;
所述第二寄存器,用于存储所述控制器从所述语音存储器中获取的待播放语音数据。
3.如权利要求2所述的用于家用电器的语音控制装置,其特征在于,其中,所述控制器在每次操作之后更新所述计数值,并在所述计数值小于第一预设数值时从所述语音存储器中获取待播放语音数据,同时将所述待播放语音数据的第一部分存储至所述第二寄存器。
4.如权利要求2所述的用于家用电器的语音控制装置,其特征在于,其中,在所述计数值大于或等于所述第一预设数值且小于或等于第二预设数值时,所述控制器将下一组待播放语音数据的地址写入所述语音存储器,同时将所述待播放语音数据的第二部分存储至所述第二寄存器,以及在所述计数值等于所述第二预设数值时,清空所述第一寄存器。
5.如权利要求2所述的用于家用电器的语音控制装置,其特征在于,所述控制器还用于在根据所述语音帧数信息判断待播放语音数据播放完毕之后,清空所述第二寄存器。
6.如权利要求1所述的用于家用电器的语音控制装置,其特征在于,所述语音存储器为FLASH存储器。
7.一种用于家用电器的语音控制方法,其特征在于,所述家用电器包括喇叭、语音驱动器和用于存储语音数据的语音存储器,所述语音控制方法包括以下步骤:
根据用户指令确定待播放语音数据对应的地址信息和语音帧数信息,其中,所述语音数据为喇叭播放语音时对应的脉冲宽度调制PWM控制信号;以及
根据所述地址信息和语音帧数信息从所述语音存储器中获取对应的待播放语音数据并通过所述语音驱动器和所述喇叭播放。
8.如权利要求7所述的用于家用电器的语音控制方法,其特征在于,所述家用电器包括用于存储计数值的第一寄存器和用于存储从所述语音存储器中获取的待播放语音数据的所述第二寄存器,所述根据所述地址信息和语音帧数信息从所述语音存储器中获取对应的待播放语音数据具体包括:
在每次操作之后更新计数值;
在所述计数值小于第一预设数值时从所述语音存储器中获取待播放语音数据,同时将所述待播放语音数据的第一部分存储至所述第二寄存器。
9.如权利要求8所述的用于家用电器的语音控制方法,其特征在于,还包括:
在所述计数值大于或等于所述第一预设数值且小于或等于第二预设数值时,将下一组待播放语音数据的地址写入所述语音存储器,同时将所述待播放语音数据的第二部分存储至所述第二寄存器,以及在所述计数值等于所述第二预设数值时,清空所述第一寄存器。
10.如权利要求8所述的用于家用电器的语音控制方法,其特征在于,还包括:
在根据所述语音帧数信息判断待播放语音数据播放完毕之后,清空所述第二寄存器。
11.如权利要求7所述的用于家用电器的语音控制方法,其特征在于,所述语音存储器为FLASH存储器。
CN201410676971.8A 2014-11-21 2014-11-21 用于家用电器的语音控制装置和语音控制方法 Active CN105679320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410676971.8A CN105679320B (zh) 2014-11-21 2014-11-21 用于家用电器的语音控制装置和语音控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410676971.8A CN105679320B (zh) 2014-11-21 2014-11-21 用于家用电器的语音控制装置和语音控制方法

Publications (2)

Publication Number Publication Date
CN105679320A true CN105679320A (zh) 2016-06-15
CN105679320B CN105679320B (zh) 2019-09-27

Family

ID=56957590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410676971.8A Active CN105679320B (zh) 2014-11-21 2014-11-21 用于家用电器的语音控制装置和语音控制方法

Country Status (1)

Country Link
CN (1) CN105679320B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111128194A (zh) * 2019-12-31 2020-05-08 云知声智能科技股份有限公司 一种提高在线语音识别效果的系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488265A (zh) * 2008-01-14 2009-07-22 华为技术有限公司 语音告警系统及语音告警实现方法
CN201788697U (zh) * 2010-05-18 2011-04-06 东莞市步步高家用电器有限公司 语音播放电路
CN102323766A (zh) * 2011-05-24 2012-01-18 华润半导体(深圳)有限公司 一种智能玩具控制芯片
CN202563884U (zh) * 2011-11-18 2012-11-28 深圳市派高模业有限公司 语音识别处理器及智能设备
CN203032801U (zh) * 2012-10-24 2013-07-03 潘云峰 Mp3防盗器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488265A (zh) * 2008-01-14 2009-07-22 华为技术有限公司 语音告警系统及语音告警实现方法
CN201788697U (zh) * 2010-05-18 2011-04-06 东莞市步步高家用电器有限公司 语音播放电路
CN102323766A (zh) * 2011-05-24 2012-01-18 华润半导体(深圳)有限公司 一种智能玩具控制芯片
CN202563884U (zh) * 2011-11-18 2012-11-28 深圳市派高模业有限公司 语音识别处理器及智能设备
CN203032801U (zh) * 2012-10-24 2013-07-03 潘云峰 Mp3防盗器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111128194A (zh) * 2019-12-31 2020-05-08 云知声智能科技股份有限公司 一种提高在线语音识别效果的系统及方法

Also Published As

Publication number Publication date
CN105679320B (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN104704477B (zh) 针对外部存储器调谐序列的最佳使用的算法
CN109346122B (zh) 固态硬盘性能的测试方法及装置
CN100458977C (zh) 一种自适应控制闪存接口读写速度的装置和方法
US20140379104A1 (en) Electronic device and method for controlling baseboard management controllers
CN110271560B (zh) 一种车辆真人语音报警系统和方法
CN104268049B (zh) 判断存储设备异常的方法、装置及终端
CN104346202A (zh) 终端应用程序的设置方法、装置及终端
US7779174B2 (en) Method and apparatus for dynamically changing burst length using direct memory access control
CN105574769A (zh) 建立社交网络动态关系图的方法及装置
CN106484464A (zh) 调谐器芯片驱动方法和电子设备
CN103501327A (zh) 基于移动终端应用的下载方法和装置
CN105355197A (zh) 用于语音识别系统的增益处理方法及装置
US20070168196A1 (en) Audio source system and method
CN102436363B (zh) 自动设置显卡参数的方法及装置
CN104700902B (zh) 数据储存装置及其模式检测方法
CN104517306A (zh) 动画播放方法及装置
CN104267950A (zh) 终端应用程序的设置方法、装置和移动终端
CN105679320A (zh) 用于家用电器的语音控制装置和语音控制方法
CN113272785B (zh) 一种挂载文件系统的方法、终端设备及存储介质
CN105161096A (zh) 基于垃圾模型的语音识别处理方法及装置
CN102800319B (zh) 音频编解码组件、音频编解码器识别方法及系统
CN105511770A (zh) 移动终端的控制方法、装置及移动终端
CN110324549B (zh) 一种录像方法、装置和设备
CN106364428A (zh) 车辆控制方法及装置
CN106980513A (zh) 一种双引导文件的切换方法及装置

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