CN112866472B - 一种马达控制方法、控制系统、控制装置和芯片 - Google Patents

一种马达控制方法、控制系统、控制装置和芯片 Download PDF

Info

Publication number
CN112866472B
CN112866472B CN202011618084.7A CN202011618084A CN112866472B CN 112866472 B CN112866472 B CN 112866472B CN 202011618084 A CN202011618084 A CN 202011618084A CN 112866472 B CN112866472 B CN 112866472B
Authority
CN
China
Prior art keywords
motor
data
vibration
equal
value
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
Application number
CN202011618084.7A
Other languages
English (en)
Other versions
CN112866472A (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.)
Shanghai Awinic Technology Co Ltd
Original Assignee
Shanghai Awinic Technology 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 Shanghai Awinic Technology Co Ltd filed Critical Shanghai Awinic Technology Co Ltd
Priority to CN202011618084.7A priority Critical patent/CN112866472B/zh
Publication of CN112866472A publication Critical patent/CN112866472A/zh
Application granted granted Critical
Publication of CN112866472B publication Critical patent/CN112866472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P25/00Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
    • H02P25/02Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
    • H02P25/032Reciprocating, oscillating or vibrating motors
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P7/00Arrangements for regulating or controlling the speed or torque of electric DC motors
    • H02P7/02Arrangements for regulating or controlling the speed or torque of electric DC motors the DC motors being of the linear type

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种马达控制方法、控制系统和控制芯片,包括:获取当前运行游戏的音频数据,判断所述音频数据中是否包含特定语音,所述特定语音包括评价性提示音,若是,在所述特定语音被播放时,控制马达进行相应振感的振动,从而增加了游戏体验的触觉维度,增强了人机互动,提升了游戏玩家的体验。

Description

一种马达控制方法、控制系统、控制装置和芯片
技术领域
本发明涉及马达控制技术领域,更具体地说,涉及一种马达控制方法、控制系统、控制装置和芯片。
背景技术
随着手机功能的日益强大,各类游戏在手机端实现,用户可以通过手机体验到游戏带来的快感。消除类游戏作为一种休闲益智类游戏,得到了很多用户的喜爱。连续消除后的评价性语音,是对玩家消除的赞赏,但仅限于听觉,玩家无法获得额外维度的游戏交互。
发明内容
有鉴于此,本发明提供了一种马达控制方法、控制系统、控制装置和芯片,以在播放评价性语音时,通过控制马达振动来增加游戏体验的触觉维度。
为实现上述目的,本发明提供如下技术方案:
一种马达控制方法,包括:
获取当前运行游戏的音频数据;
判断所述音频数据中是否包含特定语音,所述特定语音包括评价性提示音;
若是,在所述特定语音被播放时,控制马达进行相应振感的振动。
可选地,判断所述音频数据中是否包含特定语音包括:
将所述音频数据分成多帧数据,其中,每N个数据为一帧数据,N为大于1的自然数;
判断连续的三帧数据中是否均包含特定语音,若是,则判定所述音频数据中包含特定语音。
可选地,判断连续的三帧数据中是否均包含特定语音包括:
对所述多帧数据依次进行判断,判断每一帧数据中是否包含特定语音;
若否,计数值等于0;
若是,计数值加1,并判断所述计数值是否大于2,若是,则判定连续的三帧数据中均包含特定语音。
可选地,判断每一帧数据中是否包含特定语音包括:
判断第一参数值等于第一预设值、第二参数值小于第二预设值和第三参数值大于第三预设值这三个条件是否同时成立;
若是,则判定所述一帧数据包含特定语音;
其中,当所述第一绝对值小于或等于第四预设值时,所述第一参数值等于第一预设值;所述第一绝对值为一帧数据中的左声道数据与右声道数据的差值的绝对值;
所述第二参数值为第二绝对值和第三绝对值的差值的绝对值;所述第二绝对值为带通滤波处理后的一帧数据中的左声道数据的平均值,所述第三绝对值为所述带通滤波处理后的一帧数据中的右声道数据的平均值,所述带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
所述第三参数值等于所述第二绝对值。
可选地,判定所述音频数据中包含特定语音之后,还包括:
根据所述第三参数值,获得马达的相应振感,以控制马达进行相应振感的振动。
可选地,根据所述第三参数值,获得马达的相应振感包括下面情形中的至少一种:
当第三参数值大于第五预设值时,令所述马达的振感大于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感小于预设最大振感且马达的振感尚未达到预设最大振感,则令所述马达的振感大于上一帧数据对应的马达振感且小于等于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感大于或等于预设最大振感,则令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感。
可选地,令所述马达的振感大于预设最大振感包括令所述马达的振感等于预设最大振感的5/4倍;
令所述马达的振感大于上一帧数据对应的马达振感且小于或等于预设最大振感包括:令所述马达的振感等于上一帧数据对应的马达振感和预设最大振感的四分之一之和,并判断所述马达的振感大于预设最大振感这一条件是否成立,若成立,令所述马达的振感等于预设最大振感;
令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感包括:判断上一帧数据对应的马达振感大于预设最大振感这一条件是否成立,若是,令所述马达的振感等于预设最大振感,若否,判断上一帧数据对应的马达振感大于预设最大振感的二分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的二分之一,若否,判断上一帧数据对应的马达振感大于预设最大振感的四分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的四分之一。
一种马达控制系统,包括:
音频获取模块,用于获取当前运行游戏的音频数据;
语音识别模块,用于判断所述音频数据中是否包含特定语音,所述特定语音包括评价性提示音,若是,输出控制指令至马达驱动芯片,以使所述马达驱动芯片在接收到所述控制指令后控制马达进行相应振感的振动;
音频功放模块,用于接收所述音频获取模块获取的音频数据,并控制扬声器播放所述音频数据。
可选地,所述语音识别模块包括数据处理单元和判断单元;
所述数据处理单元用于将所述音频数据分成多帧数据,其中,每N个数据为一帧数据,N为大于1的自然数;
所述第一判断单元用于判断连续的三帧数据中是否均包含特定语音,若是,则判定所述音频数据中包含特定语音。
可选地,所述第一判断单元对所述多帧数据依次进行判断,判断每一帧数据中是否包含特定语音,若否,计数值等于0,若是,计数值加1;判断所述计数值是否大于2,若是,则判定连续的三帧数据中均包含特定语音。
可选地,所述判断单元用于判断第一参数值等于第一预设值、第二参数值小于第二预设值和第三参数值大于第三预设值这三个条件是否同时成立,若是,则判定所述一帧数据包含特定语音;
其中,当所述第一绝对值小于或等于第四预设值时,所述第一参数值等于第一预设值;所述第一绝对值为一帧数据中的左声道数据与右声道数据的差值的绝对值;
所述第二参数值为第二绝对值和第三绝对值的差值的绝对值;所述第二绝对值为带通滤波处理后的一帧数据中的左声道数据的平均值,所述第三绝对值为所述带通滤波处理后的一帧数据中的右声道数据的平均值,所述带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
所述第三参数值等于所述第二绝对值。
可选地,所述语音识别模块还包括振感判定单元;
所述振感判定单元用于根据所述第三参数值,获得马达的相应振感,并生成相应的第二控制指令,以通过所述第二控制指令控制马达进行相应振感的振动。
可选地,当第三参数值大于第五预设值时,所述振感判定单元令所述马达的振感大于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感小于预设最大振感且马达的振感尚未达到预设最大振感,则所述振感判定单元令所述马达的振感大于上一帧数据对应的马达振感且小于等于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感大于或等于预设最大振感,则所述振感判定单元令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感。
可选地,令所述马达的振感大于预设最大振感包括令所述马达的振感等于预设最大振感的5/4倍;
令所述马达的振感大于上一帧数据对应的马达振感且小于或等于预设最大振感包括:令所述马达的振感等于上一帧数据对应的马达振感和预设最大振感的四分之一之和,并判断所述马达的振感大于预设最大振感这一条件是否成立,若成立,令所述马达的振感等于预设最大振感;
令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感包括:判断上一帧数据对应的马达振感大于预设最大振感这一条件是否成立,若是,令所述马达的振感等于预设最大振感,若否,判断上一帧数据对应的马达振感大于预设最大振感的二分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的二分之一,若否,判断上一帧数据对应的马达振感大于预设最大振感的四分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的四分之一。
一种马达控制装置,包括处理器和存储器;
所述存储器用于存储计算机执行指令;
当所述处理器执行所述计算机执行指令时,所述装置执行如上任一项所述的马达控制方法。
一种芯片,包括处理器,所述处理器用于读取和运行计算机指令,以使所述芯片执行如上任一项所述的马达控制方法。
与现有技术相比,本发明所提供的技术方案具有以下优点:
本发明所提供的马达控制方法、控制系统、控制装置和芯片,获取当前运行游戏的音频数据,判断所述音频数据中是否包含特定语音,所述特定语音包括评价性提示音,若是,在播放所述特定语音时,控制马达进行相应振感的振动,从而增加了游戏体验的触觉维度,增强了人机互动,提升了游戏玩家的体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一个实施例提供的马达控制方法的流程图;
图2为本发明一个实施例提供的马达控制系统的结构示意图。
具体实施方式
以上是本发明的核心思想,为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种马达控制方法,如图1所示,包括:
S101:获取当前运行游戏的音频数据;
以采用手机运行游戏为例,在游戏运行的过程中,随着玩家的操作,游戏会生成并播放不同的语音,如开心消消乐等消除类游戏的玩家连续消除时,游戏会生成并播放评价性语音,对玩家进行赞赏。基于此,本发明实施例中,可以从手机系统端获得当前运行游戏的音频数据例如立体音频信号,该音频数据可以是各种格式的音频文件经过解码后输出的立体音频数据流,之后将立体音频数据流处理为16bit的有符号整数,这里以开心消消乐游戏为例,从手机系统端获取到48k采样率,16bit采样深度的立体音频数据流。当然,在其他实施例中,可以根据实际情况设置采样率和采样深度,在此不再赘述。
S102:判断音频数据中是否包含特定语音,特定语音包括评价性提示音,若是,进入S103;
S103:在特定语音被播放时,控制马达进行相应振感的振动。
获取当前运行游戏的立体音频数据之后,可以从音频数据中获得当前运行游戏生成并待播放的语音,进而可以从语音中识别出是否包含所需的特定语音如评价性语音,如果是评价性语音,则在播放特定语音即评价性语音的同时,控制马达进行相应振感的振动,以增加游戏体验的触觉维度,提升游戏玩家的体验。需要说明的是,本发明实施例中,仅以特定语音为评价性语音为例进行说明,但是,并不仅限于此。
本发明一些实施例中,判断音频数据中是否包含特定语音包括:
将立体音频数据分成多帧数据,其中,每N个数据为一帧数据,不足N个的进行补0处理,N为大于1的自然数;为了方便计算,N可以取1024;
判断连续的三帧数据中是否均包含特定语音,若是,则判定立体音频数据中包含特定语音。
本发明一些实施例中,判断连续的三帧数据中是否均包含特定语音包括:
对多帧数据依次进行判断,判断每一帧数据中是否包含特定语音;若否,计数值等于0;
若是,计数值加1,并判断计数值是否大于2,若计数值大于2,则判定连续的三帧数据中均包含特定语音。
将音频数据分成多帧数据之后,依次对每一帧数据进行判断,若第一帧数据包含特定语音,则计数值加1,若第一帧数据不包含特定语音,则计数值等于0,并对第二帧数据进行判断,若第二帧数据包含特定语音,则计数值加1,若第二帧数据不包含特定语音,则计数值等于0,依次类推。
每次在计数值加1之后,都会判断计数值是否大于2,若是,说明连续三帧数据中包含特定语音,则判定当前获取的音频数据中包含特定语音,需要控制马达进行相应振感的振动,否则,即若计数值小于或等于2,则判定当前获取的音频数据中不包含特定语音,不需要控制马达进行振动或控制马达停止振动。
本发明一些实施例中,判断每一帧数据中是否包含特定语音包括:
判断第一参数值Diff_flag等于第一预设值、第二参数值ABS_AVE_DIFF小于第二预设值和第三参数值大于第三预设值这三个条件是否同时成立;
若是,则判定一帧数据包含特定语音;
其中,当第一绝对值DIFF_ABS大于第四预设值时,第一参数值Diff_flag等于第六预设值,当第一绝对值DIFF_ABS小于或等于第四预设值时,第一参数值Diff_flag等于第一预设值;第一绝对值DIFF_ABS为一帧数据中的左声道数据和右声道数据的差值的绝对值;
第二参数值ABS_AVE_DIFF为第二绝对值AVE_L和第三绝对值AVE_R的差值的绝对值;第二绝对值AVE_L为带通滤波处理后的一帧数据中的左声道数据的平均值,第三绝对值AVE_R为带通滤波处理后的一帧数据中的右声道数据的平均值,带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
第三参数值等于第二绝对值AVE_L。
本发明一些实施例中,以开心消消乐游戏为例,第一预设值等于0、第二预设值等于50、第三预设值等于900,第四预设值等于1100,第六预设值等于1。需要说明的是,在实际应用中,可以根据任意一款游戏的特定语音的特点设置上述预设值,本发明并不对此进行限定。
也就是说,在判断每一帧数据中是否包含特定语音之前,将音频数据分成多帧数据之后,还需根据每一帧数据中的左声道数据和右声道数据计算出第一绝对值DIFF_ABS,第一绝对值DIFF_ABS等于一帧数据中的左声道数据和右声道数据的差值的绝对值。
由于原始音源左右声道相减后无特定语音即不含评价性语音,因此,可以将左右声道立体音频数据的差值作为是否包含特定语音的一个判定依据。若一帧数据中左右声道数据的差值的绝对值即第一绝对值DIFF_ABS>1100,则认为该帧立体音频数据中无特定语音即评价性语音,此时,令左右声道数据的差值绝对值标志位即第一参数值Diff_flag为1,否则,令第一参数值Diff_flag为0,即左右声道数据的差值绝对值标志位清0。
此外,将立体音频数据分成多帧数据之后,还需对每一帧数据进行带通滤波处理,以保留一帧数据中特定语音所在频段的数据、滤除其他频段的数据。由于游戏中评价性语音的主要频点在300Hz-5000Hz,因此,本发明的一些实施例中,选取截止频率为300Hz—700Hz的带通滤波,滤除游戏中的绝大部分消除声和背景音。
对每一帧数据进行带通滤波处理之后,对每一帧数据中的左声道数据取绝对值之后求和得到SUM_L,对每一帧数据中的右声道数据取绝对值之后求和得到SUM_R,然后,计算出每一帧数据中的左声道数据的平均值即第二绝对值AVE_L和右声道数据的平均值即第三绝对值AVE_R,之后计算出第二参数值ABS_AVE_DIFF。其中,AVE_L=SUM_L/N,AVE_R=SUM_R/N,第二参数值ABS_AVE_DIFF为第二绝对值AVE_L和第三绝对值AVE_R的差值的绝对值,第三参数值等于第二绝对值AVE_L。
之后,判断第一参数值Diff_flag等于0、第二参数值ABS_AVE_DIFF小于50和第三参数值AVE_L大于900这三个条件是否同时成立,若否,则一帧数据不包含特定语音,计数值等于0,若是,则判定一帧数据包含特定语音,计数值加1,并判断计数值是否大于2,若是,判定立体音频数据中包含特定语音。
需要说明的是,根据第一参数值Diff_flag等于0、第二参数值ABS_AVE_DIFF小于50和第三参数值AVE_L大于900这三个条件判断一帧数据中是否包含特定语音时,第一参数值Diff_flag、第二参数值ABS_AVE_DIFF和第三参数值AVE_L都是根据同一帧数据获得的,即根据立体音频数据分成多帧数据之后的同一帧数据获得的。
需要说明的是,本发明实施例中,会不断获取当前运行游戏的音频数据,会不断地对音频数据进行分帧和滤波处理等,会按照时间顺序不断地对每帧数据进行判断,若判定其中一帧数据包含特定语音,则控制马达进行相应的振动。不论判断结果中,当前数据是否包含特定语音,都会对后续输出的音频数据进行判断,直到当前运行的游戏停止或关闭。
本发明一些实施例中,可以根据不同参数的特定语音,进行不同振感的马达振动,以提升游戏体验效果。基于此,判定音频数据中包含特定语音之后,还包括:根据第三参数值AVE_L,获得马达的相应振感,以控制马达进行相应振感的振动。当然,本发明并不仅限于此,在其他实施例中,可以使得所有的特定语音都对应相同的马达振感,在此不再赘述。
本发明一些实施例中,根据第三参数值AVE_L,获得马达的相应振感包括下面情形中的至少一种:
当第三参数值大于第五预设值时,令马达的振感大于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感小于预设最大振感且马达的振感尚未达到预设最大振感,则令马达的振感大于上一帧数据对应的马达振感且小于等于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感大于或等于预设最大振感,则令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感。
本发明一些实施例中,第三预设值等于900,第五预设值等于200。同样,在实际应用中,可以根据任意一款游戏的特定语音的特点设置上述预设值,本发明并不对此进行限定。
本发明一些实施例中,令马达的振感大于预设最大振感包括令马达的振感等于预设最大振感的5/4倍;
令马达的振感大于上一帧数据对应的马达振感且小于或等于预设最大振感包括:令马达的振感等于上一帧数据对应的马达振感和预设最大振感的四分之一之和,并判断马达的振感大于预设最大振感这一条件是否成立,若成立,令马达的振感等于预设最大振感;
令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感包括:判断上一帧数据对应的马达振感大于预设最大振感这一条件是否成立,若是,令马达的振感等于预设最大振感,若否,判断上一帧数据对应的马达振感大于预设最大振感的二分之一这一条件是否成立,若是,令马达的振感等于预设最大振感的二分之一,若否,判断上一帧数据对应的马达振感大于预设最大振感的四分之一这一条件是否成立,若是,令马达的振感等于预设最大振感的四分之一。
当然,本发明并不仅限于此,在另一些实施例中,可以根据实际需求对各个阶段的马达振感进行设定。
下面结合具体数据,对获得马达的相应振感的一个具体过程进行说明。
判断第三参数值AVE_L大于2000是否成立;
若大于2000,则令马达的振感等于预设最大振感的5/4倍,即令GAIN(n)=(5*GAIN_MAX)/4,并令最大振感标志Trig_flag为1;
若小于2000,判断第三参数值AVE_L大于900是否成立,若大于900,判断最大振感标志Trig_flag等于0以及上一帧数据对应的马达振感小于预设最大振感这两个条件是否同时成立,即判断Trig_flag=0以及GAIN(n-1)<GAIN_MAX(n≥1)这两个条件是否同时成立;
若同时成立,则令马达的振感GAIN(n)等于上一帧数据对应的马达振感GAIN(n-1)和预设最大振感GAIN_MAX的四分之一之和,即令GAIN(n)=GAIN(n-1)+GAIN_MAX/4;并判断马达的振感GAIN(n)大于预设最大振感GAIN_MAX这一条件是否成立,若大于预设最大振感GAIN_MAX,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX,并令最大振感标志Trig_flag为1;
若不同时成立,判断上一帧数据对应的马达振感GAIN(n-1)大于预设最大振感GAIN_MAX这一条件是否成立;若大于预设最大振感GAIN_MAX,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX,若小于或等于预设最大振感GAIN_MAX,判断上一帧数据对应的马达振感GAIN(n-1)大于预设最大振感GAIN_MAX的二分之一这一条件是否成立;若大于预设最大振感GAIN_MAX的二分之一,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX的二分之一,若小于或等于预设最大振感GAIN_MAX的二分之一,判断上一帧数据对应的马达振感GAIN(n-1)大于预设最大振感GAIN_MAX的四分之一这一条件是否成立;若大于预设最大振感GAIN_MAX的四分之一,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX的四分之一。
本发明实施例还提供了一种马达控制系统,如图2所示,包括:
音频获取模块20,用于获取当前运行游戏的音频数据;
语音识别模块21,用于判断音频数据中是否包含特定语音,特定语音包括评价性提示音,若是,输出控制指令至马达驱动芯片23,马达驱动芯片23在接收到控制指令后控制马达25进行相应振感的振动;
音频功放模块22,用于接收音频获取模块20获取的音频数据,并控制扬声器24播放音频数据。
需要说明的是,音频获取模块20获取当前运行游戏的音频数据之后,会将音频数据传输至音频功放模块22,音频功放模块22会控制扬声器24播放音频数据。音频获取模块20将音频数据传输至音频功放模块22的同时,会将音频数据传输至语音识别模块21,语音识别模块21判断音频数据中是否包含特定语音,若是,输出控制指令至马达驱动芯片23,马达驱动芯片23在接收到控制指令后控制马达25进行相应振感的振动。由于语音识别模块21的识别速度很快,因此,可以在扬声器24播放音频数据的同时,控制马达25进行相应振感的振动。
本发明一些实施例中,语音识别模块21包括数据处理单元和判断单元。
其中,数据处理单元用于将立体音频数据分成多帧数据,其中,每N个数据为一帧数据,N为大于1的自然数;判断单元用于判断连续的三帧数据中是否均包含特定语音,若是,则判定音频数据中包含特定语音。
本发明一些实施例中,判断单元对多帧数据依次进行判断,判断每一帧数据中是否包含特定语音,若否,计数值等于0,若是,计数值加1;判断计数值是否大于2,若是,则判定连续的三帧数据中是否均包含特定语音。
在此基础上,判断单元用于判断第一参数值Diff_flag等于第一预设值、第二参数值ABS_AVE_DIFF小于第二预设值和第三参数值大于第三预设值这三个条件是否同时成立;
若是,则判定一帧数据包含特定语音;
其中,当第一绝对值DIFF_ABS大于第四预设值时,第一参数值Diff_flag等于第六预设值,当第一绝对值DIFF_ABS小于或等于第四预设值时,第一参数值Diff_flag等于第一预设值;第一绝对值DIFF_ABS为一帧数据中的左声道数据和右声道数据的差值的绝对值;
第二参数值ABS_AVE_DIFF为第二绝对值AVE_L和第三绝对值AVE_R的差值的绝对值;第二绝对值AVE_L为带通滤波处理后的一帧数据中的左声道数据的平均值,第三绝对值AVE_R为带通滤波处理后的一帧数据中的右声道数据的平均值,带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
第三参数值等于第二绝对值AVE_L。
本发明一些实施例中,以开心消消乐游戏为例,第一预设值等于0、第二预设值等于50、第三预设值等于900,第四预设值等于1100,第六预设值等于1。需要说明的是,在实际应用中,可以根据任意一款游戏的特定语音的特点设置上述预设值,本发明并不对此进行限定。
在一些具体的实施例中,判断单元用于判断第一参数值Diff_flag等于0、第二参数值ABS_AVE_DIFF小于50和第三参数值大于900这三个条件是否同时成立;
若是,则判定一帧数据包含特定语音;
其中,当第一绝对值DIFF_ABS大于1100时,第一参数值Diff_flag等于1,当第一绝对值DIFF_ABS小于或等于1100时,第一参数值Diff_flag等于0;第一绝对值DIFF_ABS为一帧数据中的左声道数据和右声道数据的差值的绝对值;
第二参数值ABS_AVE_DIFF为第二绝对值AVE_L和第三绝对值AVE_R的差值的绝对值;第二绝对值AVE_L为带通滤波处理后的一帧数据中的左声道数据的平均值,第三绝对值AVE_R为带通滤波处理后的一帧数据中的右声道数据的平均值,带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
第三参数值等于第二绝对值AVE_L。
需要说明的是,根据第一参数值Diff_flag等于0、第二参数值ABS_AVE_DIFF小于50和第三参数值AVE_L大于900这三个条件判断一帧数据中是否包含特定语音时,第一参数值Diff_flag、第二参数值ABS_AVE_DIFF和第三参数值AVE_L都是根据同一帧数据获得的,即根据立体音频数据分成多帧数据之后的同一帧数据获得的。
本发明一些实施例中,语音识别模块21还包括振感判定单元;振感判定单元用于根据第三参数值AVE_L,获得马达的相应振感,并生成相应的第二控制指令,以通过第二控制指令控制马达25进行相应振感的振动。
本发明的一些实施例中,当第三参数值大于第五预设值时,振感判定单元令马达的振感大于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感小于预设最大振感且马达的振感尚未达到预设最大振感,则振感判定单元令马达的振感大于上一帧数据对应的马达振感且小于等于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感大于或等于预设最大振感,则振感判定单元令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感。
本发明一些实施例中,第三预设值等于900,第五预设值等于200。同样,在实际应用中,可以根据任意一款游戏的特定语音的特点设置上述预设值,本发明并不对此进行限定。
本发明一些实施例中,令马达的振感大于预设最大振感包括令马达的振感等于预设最大振感的5/4倍;
令马达的振感大于上一帧数据对应的马达振感且小于或等于预设最大振感包括:令马达的振感等于上一帧数据对应的马达振感和预设最大振感的四分之一之和,并判断马达的振感大于预设最大振感这一条件是否成立,若成立,令马达的振感等于预设最大振感;
令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感包括:判断上一帧数据对应的马达振感大于预设最大振感这一条件是否成立,若是,令马达的振感等于预设最大振感,若否,判断上一帧数据对应的马达振感大于预设最大振感的二分之一这一条件是否成立,若是,令马达的振感等于预设最大振感的二分之一,若否,判断上一帧数据对应的马达振感大于预设最大振感的四分之一这一条件是否成立,若是,令马达的振感等于预设最大振感的四分之一。
在一些具体实施例中,振感判定单元用于判断第三参数值AVE_L大于2000是否成立;
若是,则令马达的振感等于预设最大振感的5/4倍,即令GAIN(n)=(5*GAIN_MAX)/4,并令最大振感标志Trig_flag为1;
若否,判断第三参数值AVE_L大于900是否成立,若是,判断最大振感标志Trig_flag等于0以及上一帧数据对应的马达振感小于预设最大振感这两个条件是否同时成立,即判断Trig_flag=0以及GAIN(n-1)<GAIN_MAX(n≥1)这两个条件是否同时成立;
若同时成立,则令马达的振感GAIN(n)等于上一帧数据对应的马达振感GAIN(n-1)和预设最大振感GAIN_MAX的四分之一之和,即令GAIN(n)=GAIN(n-1)+GAIN_MAX/4;并判断马达的振感GAIN(n)大于预设最大振感GAIN_MAX这一条件是否成立,若成立,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX,并令最大振感标志Trig_flag为1;
若不同时成立,判断上一帧数据对应的马达振感GAIN(n-1)大于预设最大振感GAIN_MAX这一条件是否成立,若是,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX,若否,判断上一帧数据对应的马达振感GAIN(n-1)大于预设最大振感GAIN_MAX的二分之一这一条件是否成立,若是,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX的二分之一,若否,判断上一帧数据对应的马达振感GAIN(n-1)大于预设最大振感GAIN_MAX的四分之一这一条件是否成立,若是,令马达的振感GAIN(n)等于预设最大振感GAIN_MAX的四分之一。
本发明实施例还提供了一种马达控制装置,包括处理器和存储器;
存储器用于存储计算机执行指令;
当处理器执行计算机执行指令时,该马达控制装置执行如上任一实施例提供的马达控制方法。
本发明实施例还提供了一种芯片,包括处理器,所述处理器用于读取和运行计算机指令,以使所述芯片执行如上任一实施例提供的马达控制方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种马达控制方法,其特征在于,包括:
获取当前运行游戏的音频数据;
将所述音频数据分成多帧数据,其中,每N个数据为一帧数据,N为大于1的自然数;
对所述多帧数据依次进行判断,判断每一帧数据中是否包含特定语音;若否,计数值等于0;若是,计数值加1,并判断所述计数值是否大于2,若是,则判定连续的三帧数据中均包含特定语音;其中,当连续的三帧数据中均包含特定语音时,表征所述音频数据中包含特定语音,所述特定语音包括评价性提示音;
在所述特定语音被播放时,控制马达进行相应振感的振动;
判断每一帧数据中是否包含特定语音包括:
判断第一参数值等于第一预设值、第二参数值小于第二预设值和第三参数值大于第三预设值这三个条件是否同时成立;
若是,则判定所述一帧数据包含特定语音;
其中,当第一绝对值小于或等于第四预设值时,所述第一参数值等于第一预设值;所述第一绝对值为一帧数据中的左声道数据与右声道数据的差值的绝对值;
所述第二参数值为第二绝对值和第三绝对值的差值的绝对值;所述第二绝对值为带通滤波处理后的一帧数据中的左声道数据的平均值,所述第三绝对值为所述带通滤波处理后的一帧数据中的右声道数据的平均值,所述带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
所述第三参数值等于所述第二绝对值。
2.根据权利要求1所述的方法,其特征在于,判定所述音频数据中包含特定语音之后,还包括:
根据所述第三参数值,获得马达的相应振感,以控制马达进行相应振感的振动。
3.根据权利要求2所述的方法,其特征在于,根据所述第三参数值,获得马达的相应振感包括下面情形中的至少一种:
当第三参数值大于第五预设值时,令所述马达的振感大于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感小于预设最大振感且马达的振感尚未达到预设最大振感,则令所述马达的振感大于上一帧数据对应的马达振感且小于等于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感大于或等于预设最大振感,则令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感。
4.根据权利要求3所述的方法,其特征在于,令所述马达的振感大于预设最大振感包括令所述马达的振感等于预设最大振感的5/4倍;
令所述马达的振感大于上一帧数据对应的马达振感且小于或等于预设最大振感包括:令所述马达的振感等于上一帧数据对应的马达振感和预设最大振感的四分之一之和,并判断所述马达的振感大于预设最大振感这一条件是否成立,若成立,令所述马达的振感等于预设最大振感;
令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感包括:判断上一帧数据对应的马达振感大于预设最大振感这一条件是否成立,若是,令所述马达的振感等于预设最大振感,若否,判断上一帧数据对应的马达振感大于预设最大振感的二分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的二分之一,若否,判断上一帧数据对应的马达振感大于预设最大振感的四分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的四分之一。
5.一种马达控制系统,其特征在于,包括:
音频获取模块,用于获取当前运行游戏的音频数据;
语音识别模块,用于判断所述音频数据中是否包含特定语音,所述特定语音包括评价性提示音,若是,输出控制指令至马达驱动芯片,以使所述马达驱动芯片在接收到所述控制指令后控制马达进行相应振感的振动;
音频功放模块,用于接收所述音频获取模块获取的音频数据,并控制扬声器播放所述音频数据;
所述语音识别模块包括数据处理单元和判断单元;
所述数据处理单元用于将所述音频数据分成多帧数据,其中,每N个数据为一帧数据,N为大于1的自然数;
所述判断单元用于判断连续的三帧数据中是否均包含特定语音,若是,则判定所述音频数据中包含特定语音;
所述判断单元对所述多帧数据依次进行判断,判断每一帧数据中是否包含特定语音,若否,计数值等于0,若是,计数值加1;判断所述计数值是否大于2,若是,则判定连续的三帧数据中是否均包含特定语音;
所述判断单元用于判断第一参数值等于第一预设值、第二参数值小于第二预设值和第三参数值大于第三预设值这三个条件是否同时成立,若是,则判定所述一帧数据包含特定语音;
其中,当第一绝对值小于或等于第四预设值时,所述第一参数值等于第一预设值;所述第一绝对值为一帧数据中的左声道数据与右声道数据的差值的绝对值;
所述第二参数值为第二绝对值和第三绝对值的差值的绝对值;所述第二绝对值为带通滤波处理后的一帧数据中的左声道数据的平均值,所述第三绝对值为所述带通滤波处理后的一帧数据中的右声道数据的平均值,所述带通滤波处理后保留了一帧数据中特定语音所在频段的数据、滤除了其他频段的数据;
所述第三参数值等于所述第二绝对值。
6.根据权利要求5所述的系统,其特征在于,所述语音识别模块还包括振感判定单元;
所述振感判定单元用于根据所述第三参数值,获得马达的相应振感,并生成相应的第二控制指令,以通过所述第二控制指令控制马达进行相应振感的振动。
7.根据权利要求6所述的系统,其特征在于,当第三参数值大于第五预设值时,所述振感判定单元令所述马达的振感大于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感小于预设最大振感且马达的振感尚未达到预设最大振感,则所述振感判定单元令所述马达的振感大于上一帧数据对应的马达振感且小于等于预设最大振感;
当第三参数值大于第三预设值小于或等于第五预设值时,若上一帧数据对应的马达振感大于或等于预设最大振感,则所述振感判定单元令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感。
8.根据权利要求7所述的系统,其特征在于,令所述马达的振感大于预设最大振感包括令所述马达的振感等于预设最大振感的5/4倍;
令所述马达的振感大于上一帧数据对应的马达振感且小于或等于预设最大振感包括:令所述马达的振感等于上一帧数据对应的马达振感和预设最大振感的四分之一之和,并判断所述马达的振感大于预设最大振感这一条件是否成立,若成立,令所述马达的振感等于预设最大振感;
令马达的振感小于或等于预设最大振感且小于上一帧数据对应的马达振感包括:判断上一帧数据对应的马达振感大于预设最大振感这一条件是否成立,若是,令所述马达的振感等于预设最大振感,若否,判断上一帧数据对应的马达振感大于预设最大振感的二分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的二分之一,若否,判断上一帧数据对应的马达振感大于预设最大振感的四分之一这一条件是否成立,若是,令所述马达的振感等于预设最大振感的四分之一。
9.一种马达控制装置,其特征在于,包括处理器和存储器;
所述存储器用于存储计算机执行指令;
当所述处理器执行所述计算机执行指令时,所述装置执行如权利要求1~4任一项所述的马达控制方法。
10.一种芯片,其特征在于,包括处理器,所述处理器用于读取和运行计算机指令,以使所述芯片执行如权利要求1~4任一项所述的马达控制方法。
CN202011618084.7A 2020-12-31 2020-12-31 一种马达控制方法、控制系统、控制装置和芯片 Active CN112866472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011618084.7A CN112866472B (zh) 2020-12-31 2020-12-31 一种马达控制方法、控制系统、控制装置和芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011618084.7A CN112866472B (zh) 2020-12-31 2020-12-31 一种马达控制方法、控制系统、控制装置和芯片

Publications (2)

Publication Number Publication Date
CN112866472A CN112866472A (zh) 2021-05-28
CN112866472B true CN112866472B (zh) 2022-03-29

Family

ID=75998854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011618084.7A Active CN112866472B (zh) 2020-12-31 2020-12-31 一种马达控制方法、控制系统、控制装置和芯片

Country Status (1)

Country Link
CN (1) CN112866472B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113521722B (zh) * 2021-07-13 2023-09-12 上海艾为电子技术股份有限公司 马达控制方法和电路、控制游戏运行的方法、电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109821246A (zh) * 2019-02-15 2019-05-31 上海艾为电子技术股份有限公司 马达振动方法及装置、存储介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161843A1 (en) * 2013-12-10 2015-06-11 Spielo International Canada Ulc Gaming Machine Adapts Game Based on Attributes of Player's Voice
CN111603776B (zh) * 2020-05-21 2023-09-05 上海艾为电子技术股份有限公司 音频数据中枪声的识别方法、马达的驱动方法及相关装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109821246A (zh) * 2019-02-15 2019-05-31 上海艾为电子技术股份有限公司 马达振动方法及装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112866472A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN101609667B (zh) Pmp播放器中实现卡拉ok功能的方法
CN102024481B (zh) 从音频文件提取振动信息的方法、装置以及振动装置
JP3670562B2 (ja) ステレオ音響信号処理方法及び装置並びにステレオ音響信号処理プログラムを記録した記録媒体
EP2278707B1 (en) Dynamic enhancement of audio signals
US8436241B2 (en) Beat enhancement device, sound output device, electronic apparatus and method of outputting beats
CN102461207B (zh) 声音重放装置、声音重放方法和记录介质
EP1964438B1 (en) Device for and method of processing an audio data stream
KR101228630B1 (ko) 에너지 정형 장치 및 에너지 정형 방법
JP6098654B2 (ja) マスキング音データ生成装置およびプログラム
JP2007178675A (ja) オーディオ再生の効果付加方法およびその装置
CN112866472B (zh) 一种马达控制方法、控制系统、控制装置和芯片
CN107301030A (zh) 一种音量控制方法、装置以及一种终端
CN114067827A (zh) 一种音频处理方法、装置及存储介质
CN109771945B (zh) 终端设备的控制方法和装置
CN112657179A (zh) 一种马达控制方法、控制系统和控制芯片
KR101734578B1 (ko) 차량 소음 합성 및 재생 시스템
CN112803828B (zh) 一种马达控制方法、控制系统和控制芯片
CN112053669A (zh) 一种人声消除方法、装置、设备及介质
JP2002247699A (ja) ステレオ音響信号処理方法及び装置並びにプログラム及び記録媒体
CN113975809A (zh) 音频场景的识别、马达驱动方法和系统、电子设备
CN109905792A (zh) 一种具有去人声功能的无线k歌耳机
JPH0560100U (ja) 音響再生装置
JP4311541B2 (ja) オーディオ信号圧縮装置
CN111767022A (zh) 音频调节方法、装置、电子设备及计算机可读存储介质
JP4399440B2 (ja) 音楽ジャンル判別装置及びこれを備えたゲーム機

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
GR01 Patent grant
GR01 Patent grant