CN116543792A - 识别音乐场景的方法、电子设备、系统和存储介质 - Google Patents
识别音乐场景的方法、电子设备、系统和存储介质 Download PDFInfo
- Publication number
- CN116543792A CN116543792A CN202310487831.5A CN202310487831A CN116543792A CN 116543792 A CN116543792 A CN 116543792A CN 202310487831 A CN202310487831 A CN 202310487831A CN 116543792 A CN116543792 A CN 116543792A
- Authority
- CN
- China
- Prior art keywords
- data
- audio data
- determining
- target
- music scene
- 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
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000003860 storage Methods 0.000 title abstract description 28
- 238000001914 filtration Methods 0.000 claims abstract description 109
- 238000013507 mapping Methods 0.000 claims abstract description 76
- 238000009826 distribution Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims description 62
- 238000009499 grossing Methods 0.000 claims description 19
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000004377 microelectronic Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 5
- 230000015654 memory Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 18
- 230000003993 interaction Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 230000033764 rhythmic process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002238 attenuated effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000000342 Monte Carlo simulation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本申请提供一种识别音乐场景的方法、电子设备、系统和存储介质,应用于电子设备,通过控制芯片检测到播放模块播放音频,获取音频对应的音频数据;控制芯片对音频数据进行预设滤波处理,确定第一音频数据;控制芯片根据第一音频数据确定第一音频数据的峰值分布状况,其中,峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值;控制芯片基于第一音频数据的峰值分布状况以及峰值分布状况和音乐场景的映射关系,确定音频数据对应的目标音乐场景。从而基于单一控制芯片即可确定音乐场景,无需增添其他终端、其他外接元器件或其他控制装置即可完成音乐场景的判断处理,进而有效降低了开发成本。
Description
技术领域
本申请涉及技术领域,特别涉及一种识别音乐场景的方法、电子设备、系统和存储介质。
背景技术
振动马达可以应用于包含触觉反馈装置的电子产品,如手机、手柄、耳机及各种VR设备等。如果在播放声音的同时,驱动振动马达随着声音的节奏产生振动,则可使用户获得更好的沉浸式体验。
为了配合音乐为用户提供触觉反馈沉浸式体验,需要判断不同音乐场景,并基于不同的音乐场景相应地应用不同的振动效果。为了实现上述触觉反馈,需要为振动马达增加上位机或其他外接元器件,才能实现不同模式的随音振动效果,在此,上位机可以为包含至少一个处理器的终端,或者使用包含至少一个处理器的外接元器件,以便于识别出扬声器播放的音乐场景。在此,上位机可以为手机、游戏主机、电脑等,其他外接元器件可以为电脑、包含处理器的游戏手柄等。
然而,一方面,大量元器件增加了上述触觉反馈产品的制造成本,比如,增加上位机或外接元器件相当于增加至少两个处理器才可以完成对音乐场景的判断处理,增加了电子产品的成本;另一方面,依赖于外部上位机或外接元器件才能实现对音乐场景的识别和不同模式的马达驱动,导致实现振动反馈所需要的多个模块间耦合度太高,每换一种电子产品均需要重新进行设置和适应性修改配置,致使装置中的模块复杂度高、实现难度大。
发明内容
本申请实施例提供了一种识别音乐场景的方法、电子设备、系统和存储介质,解决了现有技术中判断音乐场景依赖外接元器件导致成本高、实现困难的问题。
第一方面,本申请的一些实施例提供了一种识别音乐场景的方法,应用于电子设备,该电子设备包括播放模块和控制芯片,该方法包括:该控制芯片检测到播放模块播放音频,获取该音频对应的音频数据;该控制芯片对该音频数据进行预设滤波处理,确定第一音频数据;该控制芯片根据该第一音频数据确定该第一音频数据的峰值分布状况,其中,该峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值;该控制芯片基于该第一音频数据的峰值分布状况以及该峰值分布状况和音乐场景的映射关系,确定该音频数据对应的目标音乐场景。
即通过检测到播放模块播放音频,获取播放模块播放的音频所对应的音频数据存储入控制芯片中,基于音频数据(即下文中的原始音频数据)的峰值点分布规则确定当前的音乐场景。从而基于单一控制芯片即可确定音乐场景,无需增添其他终端、其他外接元器件或其他控制装置即可完成音乐场景的判断处理,进而有效降低了开发成本。
在上述第一方面的一些实施方式中,该根据所述第一音频数据确定所述第一音频数据的峰值分布状况,包括:根据该第一音频数据中的每一帧音频的能量值确定该第一音频数据中的多个波形单元,其中,该能量值用于指示该每一帧音频的幅值的绝对值;根据该多个波形单元确定多个波形单元对应的目标峰值点,以确定该峰值分布状况。
在上述第一方面的一些实施方式中,该基于该第一音频数据的峰值分布状况以及该峰值分布状况和音乐场景的映射关系,确定该音频数据对应的目标音乐场景,包括:获取峰值点和音乐场景的映射关系,根据该目标峰值点和该映射关系确定相应的目标音乐场景。
在上述第一方面的一些实施方式中,该预设滤波处理(即下文中的一级滤波处理)包括第一滤波处理和第二滤波处理,并且,该对该音频数据进行预设滤波处理,确定第一音频数据,包括:对该音频数据进行第一滤波处理,得到第二音频数据;对该第二音频数据进行第二滤波处理,得到第一音频数据,其中,该第二滤波处理包括低通滤波处理。
在上述第一方面的一些实施方式中,该第一滤波处理包括非线性滤波处理,并且,该对该音频数据进行第一滤波处理,得到第二音频数据,包括:根据预设数据数量确定该音频数据中待滤波的第一数据组和第二数据组,其中,该第二数据组为该第一数据组在时序上相邻的音频数据;确定该第一数据组对应的平均数,并存储该平均数为该第一数据组对应的滤波数据;获取第二数据组中的最大值数据和最小值数据;比较该第一数据组对应的滤波数据和该第二数据组中的最大值数据和最小值数据,得到比较结果,并根据该比较结果确定该第二数据组对应的滤波数据。
在上述第一方面的一些实施方式中,该比较该第一数据组对应的滤波数据和该第二数据组中的最大值数据和最小值数据,得到比较结果,并根据该比较结果确定该第二数据组对应的滤波数据,包括:当该第一数据组的滤波数据大于该第二数据组的最大值数据时,则该第二数据组的滤波数据为该第二数据组的最大值数据;当该第一数据组的滤波数据小于该第二数据组的最小值数据时,则该第二数据组的滤波数据为该第二数据组的最小值数据;当该第一数据组的滤波数据大于等于该第二数据组的最小值数据且小于等于该第二数据组的最大值数据,则该第二数据组的滤波数据为该第一数据组的滤波数据。
在上述第一方面的一些实施方式中,根据该第一音频数据中的每一帧音频的能量值确定该第一音频数据中的多个波形单元,包括:确定该第一音频数据中能量值小于第一预设阈值的多个第一数据段;根据该多个第一数据段和第二预设阈值确定每个波形单元的起始点,得到第一音频数据中的多个波形单元。
在上述第一方面的一些实施方式中,该根据该多个第一数据段和第二预设阈值确定每个波形单元的起始点,包括:将该第一数据段后且能量值大于该第二预设阈值的第一个音频数据作为每个波形单元的起始点。
在上述第一方面的一些实施方式中,该根据该多个波形单元确定多个波形单元对应的目标峰值点,包括:根据该多个波形单元确定每个波形单元中的所有峰值点;对该所有峰值点进行第三滤波处理(即下文中的二级滤波处理),确定目标峰值点,其中,该第三滤波处理包括平滑处理。
在上述第一方面的一些实施方式中,该根据该目标峰值点和该映射关系确定相应的目标音乐场景,包括:根据该目标峰值点确定第一数量和第二数量,其中,该第一数量用于指示在当前波形单元中该目标峰值点的数量,该第二数量用于指示在当前波形单元中的满足预设条件的目标峰值点的数量,其中,该预设条件包括满足上升趋势的目标峰值点;根据历史波形单元对应的历史音乐场景、该第一数量与该目标音乐场景的映射关系和该第二数量与该目标音乐场景的映射关系确定目标音乐场景。
在上述第一方面的一些实施方式中,该根据历史波形单元对应的历史音乐场景、该第一数量与该目标音乐场景的映射关系和该第二数量与该目标音乐场景的映射关系确定目标音乐场景包括以下至少一项:根据历史波形单元对应的历史音乐场景、该第一数量与该目标音乐场景的映射关系确定目标音乐场景;根据历史波形单元对应的历史音乐场景、该第二数量与该目标音乐场景的映射关系确定目标音乐场景。
在上述第一方面的一些实施方式中,该根据历史波形单元对应的历史音乐场景、该第一数量与该目标音乐场景的映射关系确定目标音乐场景,包括:比较该第一数量与第一映射阈值和第二映射阈值,得到第二比较结果;根据该第二比较结果和该历史波形单元对应的历史音乐场景确定该目标音乐场景。
在上述第一方面的一些实施方式中,该目标音乐场景包括第一模式和第二模式,并且,该根据该第二比较结果和该历史波形单元对应的历史音乐场景确定该目标音乐场景,包括:确定该第二比较结果为该第一数量小于该第一映射阈值,则确定该目标音乐场景为该第一模式;确定该第二比较结果为该第一数量大于该第二映射阈值,则确定该目标音乐场景为该第二模式;确定该第二比较结果为该第一数量大于等于该第一映射阈值且小于等于该第二映射阈值,则将上一个波形单元的历史音乐场景确定为该目标音乐场景。
在上述第一方面的一些实施方式中,该根据历史波形单元对应的历史音乐场景、该第二数量与该目标音乐场景的映射关系确定目标音乐场景,包括:比较该第二数量与第三映射阈值和第四映射阈值,得到第三比较结果;根据该第三比较结果和该历史波形单元对应的历史音乐场景确定该目标音乐场景。
在上述第一方面的一些实施方式中,该目标音乐场景包括第一模式和第二模式,并且,该根据该第三比较结果和该历史波形单元对应的历史音乐场景确定该目标音乐场景,包括:确定该第三比较结果为该第二数量小于该第三映射阈值,则确定该目标音乐场景为该第一模式;确定该第三比较结果为该第二数量大于该第四映射阈值,则确定该目标音乐场景为该第二模式;确定该第三比较结果为该第二数量大于等于该第三映射阈值且小于等于该第四映射阈值,则将上一个波形单元的历史音乐场景确定为该目标音乐场景。
在上述第一方面的一些实施方式中,该确定该音频数据对应的目标音乐场景之后,该方法还包括:根据该目标音乐场景确定目标振动模式,基于该目标振动模式完成振动反馈。
第二方面,本申请还提供了一种识别音乐场景的电子设备,该电子设备包括控制芯片和播放模块,其中,该控制芯片包括微电子单元,用于检测到播放模块播放音频,获取该音频对应的音频数据;还用于对该音频数据进行预设滤波处理,确定第一音频数据;该控制芯片根据该第一音频数据确定该第一音频数据的峰值分布状况,其中,该峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值;以及用于基于该第一音频数据的峰值分布状况以及该峰值分布状况和音乐场景的映射关系,确定该音频数据对应的目标音乐场景。
在上述第二方面的一些实施方式中,该电子设备还包括马达模块,其中,该控制芯片还用于确定该音频数据对应的目标音乐场景之后,将该目标音乐场景发送至该马达模块;该马达模块用于根据该目标音乐场景确定目标振动模式,基于该目标振动模式完成振动反馈。
第三方面,本申请还提供了一种机器可读介质,该机器可读介质上存储有指令,该指令在机器上执行时使机器执行如上述第一方面中任一的识别音乐场景的方法。
第四方面,本申请还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令在计算机上执行时使计算机执行如上述第一方面中任一实施方式的识别音乐场景的方法。
附图说明
图1示出了一种振动反馈装置00的框架示意图;
图2根据本申请实施例提供一种应用于识别音乐场景的电子设备200的振动反馈模块的硬件框架结构示意图;
图3根据本申请一些实施例示出了应用于上述包括振动反馈模块的电子设备的识别音乐场景方法的流程示意图
图4a根据本申请提供的一些实施例示出了一种音乐播放模式的峰值点分布示意图;
图4b根据本申请提供的一些实施例示出了一种游戏互动模式的峰值点分布示意图;
图5根据本申请实施例示出了一种对原始音频数据进行滤波的实施流程示意图;
图6根据本申请实施例示出了一种对原始音频数据进行非线性平滑处理的实施流程示意图;
图7根据本申请实施例示出了一种确定目标峰值点的实施流程示意图;
图8a根据本申请实施例示出了一种音乐播放模式下的波形单元示意图;
图8b根据本申请实施例示出了一种游戏互动模式下的波形单元示意图;
图9根据本申请实施例示出了一种确定目标音乐场景的实施流程示意图;
图10根据本申请实施例示出了一种电子设备100的结构示意图。
具体实施方式
为了便于理解本申请实施例提供的技术方案,下面相对本申请实施例涉及的一些相关领域术语的含义进行释明。
(1)微控制单元(microcontroller unit,MCU),又称单片微型计算机(singlechip microcomputer,SCM)或者单片机,是把中央处理器(central process unit,CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、模数转换(A/D转换)、异步收发传输器(universal asynchronous receiver/transmitter,UART)、可编程控制器(programmable logic controller,PLC)、直接存储器访问(direct memory access,DMA)等周边接口,甚至液晶显示器(liquid crystal display,LCD)驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。
(2)模拟数字转换器(analog to digital converter,ADC),即A/D转换器。通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
(3)随机存取存储器(random access memory,RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失,可以用来暂时存储程序、数据和中间结果。
(4)中值滤波,常用于保护边缘信息,是经典的平滑噪声的方法。中值滤波的基本原理是把数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的音频值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将模板内音频按照音频值的大小进行排序,生成单调上升(或下降)的二维数据序列。
(5)粒子滤波,针对非线性非高斯分布情况下的滤波算法,它以贝叶斯估计理论为基础,以蒙特卡罗随机抽样算法为核心,通过抽样估计状态空间的后验概率密度分布,由时间更新与测量更新两个步骤来达到最优贝叶斯估计,可以应用的非线性非高斯分布情况包括自然界中的动态系统。粒子滤波以序贯重要性采样为核心算法(sequential importancesampling,SIS),它是一种蒙特卡罗方法,它通过蒙特卡罗模拟实现递推贝叶斯滤波,其核心思想是利用一系列随机样本的加权和表示所需的后验概率密度,得到状态的估计值。
(6)卡尔曼滤波(kalman filtering,KF),是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。数据滤波是去除噪声还原真实数据的一种数据处理技术,卡尔曼滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。由于它便于计算机编程实现,并能够对现场采集的数据进行实时的更新和处理,卡尔曼滤波是目前应用最为广泛的滤波方法,在通信,导航,制导与控制等多领域得到了较好的应用。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例提供的技术方案进行详细的说明。
图1示出了一种振动反馈装置00的框架示意图。
参考图1,在振动反馈装置00中包含终端01和终端03,终端01与终端03通过有线方式或无线方式建立通信连接,终端01与扬声器02通过有线或无线方式建立连接。
在振动反馈装置00进行振动反馈的实施过程中,终端01检测到用户的播放操作,播放音频数据,使用音频数据驱动扬声器02进行音乐的播放。终端01根据用户的播放操作将音频数据和音乐场景通过有线方式或无线方式输入至终端03中。接着,终端03将确定出的音乐场景发送至马达驱动芯片04中,马达驱动芯片04调用与上述确定出的音乐场景相匹配的振动模式,使用上述匹配出的振动模式来驱动振动马达05,完成与扬声器02播放出的音频数据相匹配的振动反馈。
可以理解,上述终端01例如为集成有扬声器02的手机,上述终端03例如游戏手柄,使得手机将扬声器02需要播放的音频数据及音乐场景传输给游戏手柄,然后借由游戏手柄将确定出的音乐场景发送至马达驱动芯片04。由于上述振动反馈实施过程中通过多个终端耦合才完成音乐场景的判断,因此该音乐场景判断的实施过程依赖于多个上位机,与多个上位机中的其他模块耦合度非常高,例如无线通信模块或有线通信模块,若缺失上述通信模块将致使音频数据及音乐场景无法完成传输,也就无法实现振动反馈。该方案中多个终端为完成振动反馈的不可或缺的实施因素,导致整个方案的实施成本较高。
为了解决目前振动反馈必须耦合至外界元器件实现判断不同音乐模式的问题,本申请实施例提供了一种识别音乐场景方法,应用于移动终端等电子设备,该电子设备包括播放模块和控制芯片。具体地,该方法通过检测到播放模块播放音频,获取播放模块播放的音频所对应的音频数据,对音频数据进行预设滤波处理,确定第一音频数据;并且控制芯片根据第一音频数据确定第一音频数据的峰值分布状况,其中,该峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值。进而,控制芯片基于上述第一音频数据的峰值分布状况以及峰值分布状况和音乐场景的映射关系,确定音频数据对应的目标音乐场景。从而基于单一控制芯片即可确定音乐场景,无需增添其他终端、其他外接元器件或其他控制装置即可完成音乐场景的判断处理,进而有效降低了开发成本。
进一步地,本申请基于音频数据的峰值点分布规则来确定当前的音乐场景,无需获取用户操作,即可精准地判断出不同的音乐场景。例如,可以判断出音乐场景为游戏互动模式或音乐播放模式,从而提升振动反馈与播放音频的适配性,例如在音乐播放模式下可以与音频匹配有节奏的轻柔振动反馈,在游戏互动模式下可以与音频匹配强劲的振动反馈。上述判断过程不仅省去了用户操作,还有效提升了用户的使用体验。
可以理解,上述播放模块包括但不限于扬声器。
示例性地,上述音乐场景可以包括音乐播放模式或游戏互动模式。可以理解,在音乐播放模式中,其音频流数据的波形分布为能量值的峰值依照周期从峰值点降至0值。而在游戏互动模式中,其音频流数据的波形分布为能量值的峰值连续重复出现,且音频数据分布杂乱,通常在结束时能量值才会衰减至0。因此,游戏互动模式与音乐播放模式的音频流数据具有较大的区别,可以基于音频流数据的分布规则确定不同的音乐场景,继而相应采用不同的振动模式,给用户更好的沉浸式体验。针对音乐场景的具体判断过程在下文中进行具体阐明,在此不做赘述。
下面结合图2对本申请识别音乐场景的电子设备的硬件框架结构进行详细说明。
图2根据本申请实施例提供一种应用于识别音乐场景的电子设备200的振动反馈模块的硬件框架结构示意图。可以理解的是,电子设备200可以包括比图示更多或更少的元器件或组件,图示结构仅为示例,在此不做限制。
参考图2,电子设备200包括扬声器201和振动反馈模块202。其中,振动反馈模块202包括控制芯片021和马达模块022。在电子设备200检测到用户播放音乐的指令时,将音频数据流传输至扬声器201中进行播放。控制芯片021检测到扬声器201被驱动播放时,采集驱动扬声器201的音频流的模拟信号,将音频流中的模拟信号进行预处理后,判断出该音频流的模拟信号对应的音乐场景,进而基于该音乐场景匹配出相应的振动模式,并基于该振动模式驱动马达模块022中的振动马达进行随音振动。针对音乐场景的具体判断过程在下文中进行具体阐明,在此不做赘述。
可以理解的是,上述控制芯片021中可以集成入马达驱动模块,通过控制芯片021即可直接完成对马达模块022中多个振动马达的驱动控制。进而,整个振动反馈模块202可以作为一个完整的独立模块,以便于设置于任意需要进行随着音乐播放进行振动反馈的电子设备。该振动反馈模块202与电子设备200中的其他模块无耦合,也不需要借助外界元器件或其他上位机来完成对音乐场景的判断和对振动模式的选择。
继续参考图2,马达模块022中可以包括至少一个振动马达,例如图中示出的振动马达1至振动马达n。可以理解,振动马达的数量可以基于需求进行自由配置,在此不做限制。
基于上述图2所示电子设备200的结构,使得通过控制芯片021检测到播放模块播放音频,获取播放模块播放的音频所对应的音频数据,对音频数据进行预设滤波处理,确定第一音频数据;并且控制芯片021根据第一音频数据确定第一音频数据的峰值分布状况,其中,该峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值。
进而,控制芯片021基于上述第一音频数据的峰值分布状况以及峰值分布状况和音乐场景的映射关系,确定音频数据对应的目标音乐场景。从而基于单一控制芯片即可确定音乐场景,无需增添其他终端、其他外接元器件或其他控制装置即可完成音乐场景的判断处理,进而有效降低了开发成本。
可以理解,上述预设滤波处理可以使得音频数据(下称原始音频数据)一级滤波为第一音频数据,通过一级滤波处理可以去除该原始音频数据中的噪声,以便于后续得到更准确的第一波形单元中的峰值点,并减少了后续确定音频峰值点的计算量。
可以理解,第一音频数据的目标峰值点的能量值可以为目标峰值点的幅值的绝对值。进而便于根据目标峰值点的绝对值确定声波能量,以此便于划分出单一波形单元。进而根据不同音乐场景中单一波形单元中的峰值分布状况,即可识别出当前播放的音频数据对应的目标音乐场景。
以下结合具体实施例以及相关附图对本申请提出的一种识别音乐场景方法的具体实现过程进行详细介绍。
下面先通过实施例1,介绍本申请实施例提供的一种识别音乐场景的具体实施过程。
实施例1
图3根据本申请一些实施例示出了应用于上述包括振动反馈模块的电子设备的识别音乐场景方法的流程示意图。可以理解,图3所示流程各步骤的执行主体可以是上述电子设备200,或者其他电子设备,对于单一步骤的执行主体不再进行赘述。
301:检测到扬声器播放原始音频数据,采集该原始音频数据并存储于指定存储位置。
示例性地,可以通过检测扬声器的工作电压来确定扬声器开始播放原始音频数据。在一些实施例中,若检测到扬声器的工作电压大于预设工作电压,则可以确定扬声器启动,并开始播放原始音频数据。此时可以采集该原始音频数据并存储于指定存储位置。
参考图2,可以通过控制芯片021采集驱动扬声器201的音频数据流,该音频数据流即为原始音频数据。示例性地,控制芯片021可以包括模拟数字转换器(analog to digitalconverter,ADC),该ADC可以用于采集原始音频数据,并可以将原始音频数据对应的模拟信号转换为数字信号,并将数字信号形式的原始音频数据存储于指定存储位置。
可以理解,控制芯片021可以为微控制单元(microcontroller unit,MCU),在该MCU中可以包括随机存取存储器(random access memory,RAM)。在一些实施例中,上述指定存储位置可以为MCU中的RAM。控制芯片MCU不断循环通过ADC采集驱动扬声器的音频数据,并把采集的原始音频数据循环存储到RAM中。在RAM中存储的原始音频数据包括当前采集的和以前采集的。
在此,上述RAM可以存储的原始音频数据的数据量具体根据控制芯片的容量决定。可以理解,上述RAM中的数据遵循先进先出(first input first output,FIFO)的存储规则。在一些实施例中,该RAM可以至少保存20Kb的原始音频数据。当原始音频数据的数据量大于20Kb,则可以根据FIFO存储规则,丢弃最前面存储的原始音频数据,以将新采集的原始音频数据存储到RAM中。以便于可以通过存储在RAM中的原始音频数据和预设音乐场景对应的规则,来确定当前音乐对应的目标音乐场景。可以根据相应的音乐场景驱动振动马达完成振动反馈。对于如何确定当前音乐对应的目标音乐场景的具体实施过程将在下文中进行阐述,在此不做赘述。
示例性地,上述目标音乐场景可以包括但不限于以下任意一种音乐场景:音乐播放模式、游戏互动模式、强劲模式和安静模式。用户可以根据不同的振动反馈需求对音乐场景进行自由细分设置,在此不做限制。
示例性地,上述用户可以包括电子设备200的使用者或开发者。可以理解,上述用户只要具有对电子设备200的管理能力和管理权即可,在此不做限制。
302:读取指定存储地址内的原始音频数据,对原始音频数据进行一级滤波处理,得到第一音频数据。
示例性地,可以对指定存储地址内的原始音频数据进行一级滤波处理,得到完成滤波处理后的第一音频数据,通过一级滤波处理可以去除原始音频数据中的噪声,以便于后续得到更准确的第一波形单元中的峰值点,并减少了后续确定音频峰值点的计算量。
在一些实施例中,可以使用电子设备200中控制芯片021内的ADC来采集原始音频数据。由于直接使用ADC采集原始音频数据,因此该原始音频数据中包含高频噪声。可以理解,该高频噪声可以为频率大于1000Hz的噪声。
示例性地,上述一级滤波处理可以包括第一滤波处理和第二滤波处理,上述第一滤波处理可以为非线性平滑处理,上述第二滤波处理可以为低通滤波处理。进而,可以对原始音频数据进行非线性平滑处理得到初步滤波后的音频数据,进一步地,可以对上述初步滤波后的音频数据进行低通滤波处理得到二次滤波后的第一音频数据。可以通过上述两次滤波得到去除噪声后的第一音频数据,从而便于后续准确确认第一波形单元,及上述第一波形单元对应的峰值点。
可以理解,上述非线性平滑处理包括但不限于中值滤波、双边滤波、粒子滤波和卡尔曼滤波。
可以理解的是,上述非线性平滑处理和低通滤波处理的具体实施过程将在下文中进行阐述,在此不作赘述。
303:根据第一音频数据中每一帧音频的能量值确定第一音频数据中的多个波形单元。其中,上述多个波形单元中的单个波形单元用于指示一个节奏对应的波形单元。
可以理解,每一帧音频数据的能量值可以为该帧音频数据的幅值的绝对值。
示例性地,可以根据第一音频数据中每一帧音频的能量值确定每一个节奏对应的波形单元。例如,可以确定第一音频数据中每一帧音频的能量值,以确定能量值接近于0的音频对应的时域范围将第一音频数据分割为多个波形单元。可以理解,声波能量值接近于0即为接近无声,利用无声的单元将第一音频数据分割为多个波形单元,进而使得每一个单元可以指示单个节奏。
304:从多个波形单元中确定所有峰值点,并对所有峰值点进行二级滤波处理,得到目标峰值点。
示例性地,从多个波形单元中可以通过每一帧音频的能量值确定所有峰值点。为了能够更容易判断峰值点的能量值变化趋势,可以对所有峰值点进行二级滤波处理,得到目标峰值点。
示例性地,上述二级滤波处理包括但不限于平滑滤波处理。
305:根据目标峰值点与目标音乐场景的映射关系,确定相应的目标音乐场景。
示例性地,可以基于目标峰值点确定对应的能量值变化趋势,将峰值点对应的能量值变化趋势与目标峰值点与目标音乐场景的映射关系进行匹配,可以确定相应的目标音乐场景。
下面结合图4a和图4b对目标峰值点与目标音乐场景的映射关系进行详细说明。
图4a根据本申请提供的一些实施例示出了一种音乐播放模式的峰值点分布示意图。图4b根据本申请提供的一些实施例示出了一种游戏互动模式的峰值点分布示意图。
参考图4a,图中示出的是典型的音乐播放模式下的音频数据对应的波形。在声音从0能量值刚起来时,音频数据中会出现一个能量值较大的峰值点,比如图中的A1、B1、C1、D1、E1和F1为能量值较大的音频数据,其中,能量值定义为幅值的绝对值大小。
可以理解,在音乐播放模式下,音频数据的峰值点对应的能量值可以按近似指数规律衰减到接近0的低能量值,进而可以将从低能量值后第一个较大能量值的峰值点确定为单个波形单元的起始点,将起始点后第一个出现的接近0的低能量值的峰值点确定为单个波形单元的终止点,进而确定出单个节奏对应的波形单元。比如,A1为低能量值后第一个较大能量值的峰值点,而A2为A1后第一个出现的接近0的低能量值的峰值点。由此可以将A1和A2中的波形单元A1-A2确定为一个节奏对应的单个波形单元。
继续参考图4a,待下一个节奏点来临时,例如A2至B1段的峰值能量值接近于0,而B1为A2至B1段后的第一个较大的能量值峰值点,则可以将B1作为A1-A2后的下一个节奏点。可以理解,在B1-B2的波形单元中,音频数据的峰值点对应的能量值也可以是按近似指数衰减到接近0的规律进行的。由此,A1-A2、B1-B2、C1-C2、E1-E2和F1-F2分别为五个节奏对应的五个波形单元,且具有单个节奏对应的波形单元中的峰值点对应的能量值按近似指数衰减到接近于0的规律,可以将此数据变化趋势量化为音乐播放模式下的目标峰值点与目标音乐场景的映射关系。
参考图4b,图中示出的是典型的游戏互动模式下的音频数据对应的波形,而游戏场景下的音频数据为如下分布:存在连续的能量值较高的音频数据峰值点重复出现,且音频数据的峰值点分布杂乱、无规律,直到结束时能量才会慢慢衰减到接近于0,可以将此数据变化趋势量化为游戏互动模式下的目标峰值点与目标音乐场景的映射关系。
可以理解,根据上述图4a和图4b示出的两种音乐场景下的音频数据分布方式,可以根据图4a确定出音乐播放模式下目标峰值点与目标音乐场景的映射关系,可以根据图4b确定出游戏互动模式下目标峰值点与目标音乐场景的映射关系。因此,在检测到峰值点的能量值接近于0后,当有高能量的音频数据出现时,可以检测音频数据的峰值点并存储在指定存储位置,然后判断峰值点的数量及峰值点的能量值变化趋势,如果峰值点的数量小于预设峰值点数量阈值且峰值点对应的能量值是呈下降趋势的,则可将当前音乐场景判断为音乐播放模式;如果峰值点数量大于等于预设峰值点数量阈值,且能量值反复跳变,峰值点的能量值降低趋势不明显,则可将当前音乐场景判断为游戏互动模式。从而精确为不同的音乐场景匹配不同的振动模式,提升马达振动波形与音频数据的匹配度,为用户带来更好的沉浸式体验。
306:根据目标音乐场景确定目标振动模式,基于目标振动模式完成振动反馈。
示例性地,可以根据目标音乐场景确定目标振动模式,基于该目标振动模式驱动对应的振动马达,进而完成振动反馈处理。例如,目标振动模式的选择过程可以根据用户设置的振动模式与目标音乐场景的映射关系确定。
可以理解,可以根据目标音乐场景匹配不同的目标振动模式,从而提升振动反馈与播放音乐的匹配度,为用户带来更好的沉浸式体验。
可以理解的是,通过上述步骤301至步骤306的实施流程,本申请实施例提供的识别音乐场景方法,在检测到扬声器播放原始音频数据时,采集该原始音频数据并进行多重滤波处理,得到第一音频数据,并基于第一音频数据中每一帧音频的能量值确定每个节奏对应的波形单元,并从每个节奏的波形单元中确定出目标峰值点,根据上述目标峰值点从预设峰值点分布规则中匹配得到目标音乐场景,进而可以基于目标音乐场景确定相应的目标振动模式。从而可以仅使用一个控制芯片完成对音乐场景的识别处理,降低振动反馈系统的开发成本,并有效提升振动反馈与播放音乐的匹配度,为用户带来更好的沉浸式体验。
关于上述步骤302中对原始音频数据进行一级滤波处理的具体实现过程,下面结合图5进行详细介绍。
图5根据本申请实施例示出了一种对原始音频数据进行滤波的实施流程示意图。可以理解,图5所示流程各步骤的执行主体可以是上述电子设备200,或者其他电子设备,对于单一步骤的执行主体不再进行赘述。
如图5所示,该流程可以包括以下步骤:
302a:读取指定存储位置内的原始音频数据。
示例性地,上述指定存储位置可以为RAM,可以读取RAM中以数字形式存储的原始音频数据。
302b:对原始音频数据进行非线性滤波处理,得到第二音频数据。
示例性地,可以使用ADC直接采集到以数字形式存储的原始音频数据,因此该原始音频数据包含一定的高频噪声。在此,非线性滤波处理可以为非线性平滑处理,这样可以去掉大部分的噪声数据,并且可以得到较好的能表达音频数据对应的能量值变化趋势的数据流。
302c:对第二音频数据进行低通滤波,得到第一音频数据。
示例性地,可以在经过非线性平滑处理后的第二音频数据使用下述公式对其进行低通滤波处理:
y[k]=1.8521×y[k-1]-0.8623×y[k-2]+0.0026×x[k]+0.0051×x[k-1]+0.0026×x[k-2]
其中,k为顺序值,y[k]为输出的第k个第一音频数据,y[k-1]为输出的第k-1个第一音频数据,y[k-2]为输出的第k-2个第一音频数据;x[k]为输入的第k个第二音频数据,x[k-1]为输入的第k-1个第二音频数据,x[k-2]为输入的第k-2个第二音频数据。而式中的1.8521、0.8623、0.0026、0.0051和0.0026均为系数,可以根据具体的滤波精度获得。可以理解,上述系数可以根据实际应用场景进行调整,在此不做限制。
关于上述步骤302b中对原始音频数据进行非线性滤波处理,以获取第二音频数据的具体实现过程,下面结合图6进行详细介绍。
图6根据本申请实施例示出了一种对原始音频数据进行非线性平滑处理的实施流程示意图。可以理解,图6所示流程各步骤的执行主体可以是上述电子设备200,或者其他电子设备,对于单一步骤的执行主体不再进行赘述。
如图6所示,该流程可以包括以下步骤:
601:根据预设数据数量确定原始音频数据中的当前数据组,计算出当前数据组的平均数,并存储该平均数为当前数据组的滤波数据。
可以理解,上述原始音频数据可以包括时序,因此可以根据时序和预设数据数量来确定原始音频数据中的数据组。
示例性地,根据预设数据数量来确定原始音频数据中的当前数据组,例如可以设置16个数据为一个数据组。此时取原始音频数据中前16个数据作为当前数据组,计算出当前数据组的平均数,并将该平均数存储为当前数据组的滤波数据。
可以理解,上述滤波数据可以存储于预设存储位置,例如可以存储于RAM。
602:获取下一个数据组中的最大值数据和最小值数据。
示例性地,可以根据时序和预设数据数量来确定下一个数据组。可以理解,下一个数据组与当前数据组为相邻时序的数据组,进而可以确认下一个数据组中的最大值数据和最小值数据。
在一些实施例中,若设置16个数据为一个数据组,则当前数据组可以为n时刻至n+15时刻采集的16个音频数据,而下一个数据组中的数据可以为n+16时刻至n+31时刻采集的16个音频数据,并以此类推。
603:当当前数据组的滤波数据大于下一个数据组的最大值数据时,则下一个数据组的滤波数据为该最大值数据;当当前数据组的滤波数据小于下一个数据组的最小值数据时,则下一个数据组的滤波数据为该最小值数据;当当前数据组的滤波数据大于等于下一个数据组的最小值数据且小于等于下一个数据组的最大值数据,则下一个数据组滤波数据为当前数据组的滤波数据。
可以理解,通过步骤603示出的比较方式,可以快速确定滤波后的下一个数据组的滤波数据,从而高效完成非线性平滑处理。
604:将每一个数据组得到的滤波数据存储于指定存储位置,得到第二音频数据。
示例性地,可以每得到一个数据组对应的滤波数据,就将该滤波数据存储于指定存储位置。从而可以实时得到经由非线性平滑处理原始音频数据后的第二音频数据,有效提升了滤波效率。
可以理解,上述指定存储位置可以为RAM。
可以理解,通过步骤601至步骤603的实施过程,通过对原始音频数据进行预设数量的数据分组,实现了在对原始音频数据进行非线性平滑处理的过程中来一个数据处理一个。相较于现有的非线性平滑算法中需要先为所有数据进行排序,然后再进行中值滤波的方式,本申请实施例中提供的非线性平滑方式无需对所有原始音频数据进行排序,只需要将采集到的原始音频数据分组进行滤波处理,就可以得到所有滤波数据。从而有效提升了滤波效率,可以更快得到滤波数据,便于减少振动反馈与扬声器播放音频之间的时间差,进一步提升了用户的沉浸式体验。
关于上述步骤303至步骤304中确定目标峰值点的具体实现过程,下面结合图7进行详细介绍。
图7根据本申请实施例示出了一种确定目标峰值点的实施流程示意图。可以理解,图7所示流程各步骤的执行主体可以是上述电子设备200,或者其他电子设备,对于单一步骤的执行主体不再进行赘述。
如图7所示,该流程可以包括以下步骤:
701:确定第一音频数据中第一个能量值小于第一预设阈值的静音音频数据段。
示例性地,可以在第一音频数据中检测出能量值小于第一预设阈值的第一音频数据段,其中,能量值为音频幅值的绝对值对应的数值。
在一些实施例中,能量值可以为音频数据的幅值的绝对值。可以在检测出连续k个音频数据幅值绝对值后,对连续k个音频数据幅值计算平均值,当该平均值小于第一预设阈值时,将该k个音频数据作为静音音频数据段。例如,k可以为50,第一预设阈值可以为3000。
需要说明的是,上述第一预设阈值和个数k均可以基于实际需求自由设置,在此不作限制。
702:将单个静音音频数据段后检测出的第一个能量值大于第二预设阈值的音频数据作为每个波形单元的起始点,根据多个起始点和静音音频数据段确定多个波形单元。
示例性地,可以将从每个静音音频数据段后检测出能量值大于第二预设阈值的第一个音频数据作为每个波形单元的起始点,可以以波形单元的起始点后检测出的静音音频数据段指示该波形单元的终止。进而可以确定多个波形单元,也就是第一音频数据中的多个节奏对应的波形单元。
可以理解,上述第一波形单元即为第一音频数据中的一个节奏对应的波形单元。可以将音频数据的能量值大于第二预设阈值的第一个音频数据点作为第一波形单元的起始点。在一些实施例中,第一预设阈值可以为3000,第二预设阈值可以为10000,则将上述静音音频数据段后第一个能量值大于10000的音频数据点作为第一波形单元的起始点,从该起始点后第一次出现连续50个音频数据能量值平均值小于3000的音频数据点作为第一波形单元的终止点。
在一些实施例中,参考图8a,在音乐播放模式的音乐场景下,Y1-Y2和Y5-Y6均为静音音频数据段,Y3对应的数据点为Y1-Y2静音音频数据段后第一个大于第二预设阈值的音频数据点。而Y4是从Y3开始第一个小于第一预设阈值的音频数据点,则将Y4近似为Y5数据点,得到Y5至Y6静音音频数据段。上述Y5-Y6静音音频数据段则指示了从Y3开始的波形单元的终止,因此Y3-Y5就是一个完整的波形单元,可以用于指示第一音频数据的一个节奏。可以理解,图中示出的X1、X2和X3为第一音频数据的该节奏内的前三个峰值点。
参考图8b,在游戏互动模式的音乐场景下,Y7-Y8和Y9-Y10均为静音音频数据段,Y8对应的数据点为Y7-Y8静音音频数据段后第一个大于第二预设阈值的音频数据点,而Y9-Y10静音音频数据段则指示了从Y8开始的波形单元的终止,因此Y8-Y9就是一个完整的波形单元,可以用于指示第一音频数据的一个节奏。可以理解,图中示出的X4为第一音频数据的该节奏内的第一个峰值点。
703:从多个波形单元中确定所有峰值点,并记录于指定存储位置。
示例性地,从多个波形判断中可以依序检测出所有的峰值点,上述指定存储位置包括RAM。
在一些实施例中,可以从波形单元的起始点开始逐帧识别音频数据是否为峰值点,当当前帧的音频数据对应的能量值大于前一帧的音频数据对应的能量值,且当前帧的音频数据对应的能量值也大于后一帧的音频数据对应的能量值,则当前帧的音频数据可以为峰值点,可以记录并保存至RAM中。
在另一些实施例中,该当前帧的音频数据对应的能量值大于前一帧的音频数据对应的能量值,当前帧的音频数据对应的能量值也大于后一帧的音频数据对应的能量值,且当前帧的音频数据还大于第一预设阈值,此时当前帧的音频数据可以为峰值点,可以记录并保存至RAM。
704:对所有峰值点进行二级滤波处理,得到目标峰值点。
示例性地,上述二级滤波处理包括平滑处理,通过平滑处理可以使得峰值点更易于进行后续峰值点的分布规则匹配。
在一些实施例中,可以使用y[k]=0.8×y[k-1]+0.2×x[k]来完成对峰值点数据的平滑处理。
其中,上式内的0.8和0.2为系数,可以根据实际需求进行修改。y[k]为本次输出的峰值点滤波值,y[k-1]为上一次输出的峰值点滤波值,x[k]为本次输入的峰值点能量值。
可以理解,通过步骤701至步骤704的实施过程,通过确定能量值小于第一预设阈值的静音音频数据段,并确定单个静音音频数据段后的第一个能量值大于第二预设阈值的音频数据作为每个波形单元的起始点,可以从第一音频数据中确定多个波形单元。继而确定每个波形单元中的所有峰值点,并对所有峰值点进行二级滤波处理,得到平滑的目标峰值点,便于后续使用目标峰值点确定对应的目标音乐场景。
关于上述步骤305中确定目标音乐场景的具体实现过程,下面结合图9进行详细介绍。
图9根据本申请实施例示出了一种确定目标音乐场景的实施流程示意图。可以理解,图9所示流程各步骤的执行主体可以是上述电子设备200,或者其他电子设备,对于单一步骤的执行主体不再进行赘述。
如图9所示,该流程可以包括以下步骤:
305a:确定当前波形单元中目标峰值点的第一数量。
可以理解,单一波形单元可以为第一音频数据的一个节奏的数据流,因此上述第一数量可以为当前节奏内目标峰值点的个数。
305b:确定当前波形单元中上升的目标峰值点的第二数量。
可以理解,单一波形单元可以为第一音频数据的一个节奏的数据流,因此上述第二数量可以为当前节奏内上升的目标峰值点个数。
示例性地,用于确定上升的峰值点,则需要判断当前峰值点是否大于第一音频数据时域内的前一个相邻峰值点,若是,则该当前峰值点为上升峰值点,并记入上升的目标峰值点个数。
305c:根据第一数量和第二数量与目标音乐场景的映射关系和历史存储的音乐场景,确定当前波形单元对应的目标音乐场景。
可以理解,上述第一数量和第二数量与目标音乐场景的映射关系可以为预设峰值点分布规则。
在一些实施例中,第一数量与目标音乐场景的映射关系如下:
(1)当第一数量小于第一映射阈值,例如第一数量小于30,则可以将目标音乐场景判断为音乐播放模式。
(2)当第一数量大于第二映射阈值,例如第一数量大于100,则可以将目标音乐场景判断为游戏互动模式。
(3)若当前波形单元内的第一数量大于等于第一映射阈值且小于等于第二映射阈值,则可以将上一个相邻波形单元的音乐场景作为当前波形单元的目标音乐场景。
在一些实施例中,第二数量与目标音乐场景的映射关系如下:
(1)当第二数量小于第三映射阈值,例如第二数量小于5,则可以将目标音乐场景判断为音乐播放模式。
(2)当第二数量大于第四映射阈值,例如第二数量大于20,则可以将目标音乐场景判断为游戏互动模式。
(3)若当前波形单元内的第二数量大于等于第三映射阈值且小于等于第四映射阈值,则可以将上一个相邻波形单元的音乐场景作为当前波形单元的目标音乐场景。
在另一些实施例中,如表1所示,可以结合第一数量、第二数量和历史存储的历史场景来判断当前波形单元对应的目标音乐场景。
表1
可以理解,通过步骤305a至305c的实施过程,确定当前波形单元中目标峰值点的第一数量,并确定当前波形单元中上升的目标峰值点的第二数量,然后可以根据第一数量和第二数量与目标音乐场景的映射关系结合历史存储的音乐场景,准确确定当前波形单元所对应的目标音乐场景。进而,可以确定第一音频数据中所有波形单元对应的目标音乐场景,便于后续将目标音乐场景输出给下一个模块使用,例如输出给马达驱动芯片,用于匹配与目标音乐场景相应的振动模式,从而有效提升振动反馈效果。
图10根据本申请实施例示出了一种电子设备100的结构示意图。如图10所示,电子设备100包括一个或多个处理器101、系统内存102、非易失性存储器(non-volatilememory,NVM)103、通信接口104、输入/输出(I/O)设备105、以及用于耦接处理器101、系统内存102、非易失性存储器103、通信接口104和输入/输出(I/O)设备105的系统控制逻辑106。其中:
处理器101可以包括一个或多个处理单元,例如,可以包括中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)、数字信号处理器(digital signal processor,DSP)、微处理器(micro-programmed control unit,MCU)、人工智能(artificial intelligence,AI)处理器或可编程逻辑器件(field programmablegate array,FPGA)、神经网络处理器(neural-network processing unit,NPU)等的数据处理单元或处理电路可以包括一个或多个单核或多核处理器。在一些实施例中,处理器101可以用于执行指令实现上述扬声器谐振频率检测方法。
系统内存102是易失性存储器,例如随机存取存储器(random-access memory,RAM),双倍数据率同步动态随机存取存储器(double data rate synchronous dynamicrandom access memory,DDR SDRAM)等。系统内存用于临时存储数据和/或指令,例如,在一些实施例中,系统内存102可以用于存储指令,也可以用于存储原始数据对象和变更数据对象。
非易失性存储器103可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,非易失性存储器103可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如硬盘驱动器(hard disk drive,HDD)、光盘(compact disc,CD)、数字通用光盘(digital versatile disc,DVD)、固态硬盘(solid-state drive,SSD)等。在一些实施例中,非易失性存储器103也可以是可移动存储介质,例如安全数字(secure digital,SD)存储卡等。在另一些实施例中,非易失性存储器103可以用于存储指令,也可以用于存储原始数据对象和变更数据对象。
特别地,系统内存102和非易失性存储器103可以分别包括:指令107的临时副本和永久副本。指令107可以包括:由处理器101中的至少一个执行时使电子设备100实现本申请各实施例提供的扬声器谐振频率检测方法。
通信接口104可以包括收发器,用于为电子设备100提供有线或无线通信接口,进而通过一个或多个网络与任意其他合适的设备进行通信。在一些实施例中,通信接口104可以集成于电子设备100的其他组件,例如通信接口104可以集成于处理器101中。在一些实施例中,电子设备100可以通过通信接口104和其他设备通信,例如,电子设备100可以通过通信接口104和电子设备200建立通信连接,以通过该通信连接向电子设备200发送数据变更请求、获取原始数据对象和发送变更数据对象。
输入/输出(I/O)设备105可以包括输入设备如键盘、鼠标等,输出设备如显示器等,用户可以通过输入/输出(I/O)设备105与电子设备100进行交互,例如业务人员可以通过输入/输出(I/O)设备105输入/选择进行数据变更的内容。
系统控制逻辑106可以包括任意合适的接口控制器,以电子设备100的其他模块提供任意合适的接口。例如在一些实施例中,系统控制逻辑106可以包括一个或多个存储器控制器,以提供连接到系统内存102和非易失性存储器103的接口。
在一些实施例中,处理器101中的至少一个可以与用于系统控制逻辑106的一个或多个控制器的逻辑封装在一起,以形成系统封装(system in package,SiP)。在另一些实施例中,处理器101中的至少一个还可以与用于系统控制逻辑106的一个或多个控制器的逻辑集成在同一芯片上,以形成片上系统(system-on-chip,SoC)。
可以理解,图10所示的电子设备100的结构只是一种示例,在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例还提供了一种程序产品,用于实现上述各实施例提供的扬声器谐振频率检测方法。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机模块或模块代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将模块代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,DSP)、微控制器、专用集成电路(application specific integrated circuit,ASIC)或微处理器之类的处理器的任何系统。
模块代码可以用高级模块化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现模块代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(read only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、可擦除可编程只读存储器(erasable programmable read onlymemory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmableread-only memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。
Claims (19)
1.一种识别音乐场景的方法,应用于电子设备,其特征在于,所述电子设备包括播放模块和控制芯片,所述方法包括:
所述控制芯片检测到播放模块播放音频,获取所述音频对应的音频数据;
所述控制芯片对所述音频数据进行预设滤波处理,确定第一音频数据;所述控制芯片根据所述第一音频数据确定所述第一音频数据的峰值分布状况,其中,所述峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值;
所述控制芯片基于所述第一音频数据的峰值分布状况以及所述峰值分布状况和音乐场景的映射关系,确定所述音频数据对应的目标音乐场景。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一音频数据确定所述第一音频数据的峰值分布状况,包括:
根据所述第一音频数据中的每一帧音频的能量值确定所述第一音频数据中的多个波形单元,其中,所述能量值用于指示所述每一帧音频的幅值的绝对值;
根据所述多个波形单元确定多个波形单元对应的目标峰值点,以确定所述峰值分布状况。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一音频数据的峰值分布状况以及所述峰值分布状况和音乐场景的映射关系,确定所述音频数据对应的目标音乐场景,包括:
获取峰值点和音乐场景的映射关系,根据所述目标峰值点和所述映射关系确定相应的目标音乐场景。
4.根据权利要求1所述的方法,其特征在于,所述预设滤波处理包括第一滤波处理和第二滤波处理,并且,
所述对所述音频数据进行预设滤波处理,确定第一音频数据,包括:
对所述音频数据进行第一滤波处理,得到第二音频数据;
对所述第二音频数据进行第二滤波处理,得到第一音频数据,其中,所述第二滤波处理包括低通滤波处理。
5.根据权利要求4所述的方法,其特征在于,所述第一滤波处理包括非线性滤波处理,并且,
所述对所述音频数据进行第一滤波处理,得到第二音频数据,包括:
根据预设数据数量确定所述音频数据中待滤波的第一数据组和第二数据组,其中,所述第二数据组为所述第一数据组在时序上相邻的音频数据;
确定所述第一数据组对应的平均数,并存储所述平均数为所述第一数据组对应的滤波数据;
获取第二数据组中的最大值数据和最小值数据;
比较所述第一数据组对应的滤波数据和所述第二数据组中的最大值数据和最小值数据,得到比较结果,并根据所述比较结果确定所述第二数据组对应的滤波数据。
6.根据权利要求5所述的方法,其特征在于,所述比较所述第一数据组对应的滤波数据和所述第二数据组中的最大值数据和最小值数据,得到比较结果,并根据所述比较结果确定所述第二数据组对应的滤波数据,包括:
当所述第一数据组的滤波数据大于所述第二数据组的最大值数据时,则所述第二数据组的滤波数据为所述第二数据组的最大值数据;
当所述第一数据组的滤波数据小于所述第二数据组的最小值数据时,则所述第二数据组的滤波数据为所述第二数据组的最小值数据;
当所述第一数据组的滤波数据大于等于所述第二数据组的最小值数据且小于等于所述第二数据组的最大值数据,则所述第二数据组的滤波数据为所述第一数据组的滤波数据。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一音频数据中的每一帧音频的能量值确定所述第一音频数据中的多个波形单元,包括:
确定所述第一音频数据中能量值小于第一预设阈值的多个第一数据段;
根据所述多个第一数据段和第二预设阈值确定每个波形单元的起始点,得到第一音频数据中的多个波形单元。
8.根据权利要求7所述的方法,其特征在于,所述根据所述多个第一数据段和第二预设阈值确定每个波形单元的起始点,包括:
将所述第一数据段后且能量值大于所述第二预设阈值的第一个音频数据作为每个波形单元的起始点。
9.根据权利要求2所述的方法,其特征在于,所述根据所述多个波形单元确定多个波形单元对应的目标峰值点,包括:
根据所述多个波形单元确定每个波形单元中的所有峰值点;
对所述所有峰值点进行第三滤波处理,确定目标峰值点,其中,所述第三滤波处理包括平滑处理。
10.根据权利要求3所述的方法,其特征在于,所述根据所述目标峰值点和所述映射关系确定相应的目标音乐场景,包括:
根据所述目标峰值点确定第一数量和第二数量,其中,所述第一数量用于指示在当前波形单元中所述目标峰值点的数量,所述第二数量用于指示在当前波形单元中的满足预设条件的目标峰值点的数量,其中,所述预设条件包括满足上升趋势的目标峰值点;
根据历史波形单元对应的历史音乐场景、所述第一数量与所述目标音乐场景的映射关系和所述第二数量与所述目标音乐场景的映射关系确定目标音乐场景。
11.根据权利要求10所述的方法,其特征在于,所述根据历史波形单元对应的历史音乐场景、所述第一数量与所述目标音乐场景的映射关系和所述第二数量与所述目标音乐场景的映射关系确定目标音乐场景包括以下至少一项:
根据历史波形单元对应的历史音乐场景、所述第一数量与所述目标音乐场景的映射关系确定目标音乐场景;
根据历史波形单元对应的历史音乐场景、所述第二数量与所述目标音乐场景的映射关系确定目标音乐场景。
12.根据权利要求11所述的方法,其特征在于,所述根据历史波形单元对应的历史音乐场景、所述第一数量与所述目标音乐场景的映射关系确定目标音乐场景,包括:
比较所述第一数量与第一映射阈值和第二映射阈值,得到第二比较结果;
根据所述第二比较结果和所述历史波形单元对应的历史音乐场景确定所述目标音乐场景。
13.根据权利要求12所述的方法,其特征在于,所述目标音乐场景包括第一模式和第二模式,并且,
所述根据所述第二比较结果和所述历史波形单元对应的历史音乐场景确定所述目标音乐场景,包括:
确定所述第二比较结果为所述第一数量小于所述第一映射阈值,则确定所述目标音乐场景为所述第一模式;
确定所述第二比较结果为所述第一数量大于所述第二映射阈值,则确定所述目标音乐场景为所述第二模式;
确定所述第二比较结果为所述第一数量大于等于所述第一映射阈值且小于等于所述第二映射阈值,则将上一个波形单元的历史音乐场景确定为所述目标音乐场景。
14.根据权利要求11所述的方法,其特征在于,所述根据历史波形单元对应的历史音乐场景、所述第二数量与所述目标音乐场景的映射关系确定目标音乐场景,包括:
比较所述第二数量与第三映射阈值和第四映射阈值,得到第三比较结果;
根据所述第三比较结果和所述历史波形单元对应的历史音乐场景确定所述目标音乐场景。
15.根据权利要求14所述的方法,其特征在于,所述目标音乐场景包括第一模式和第二模式,并且,
所述根据所述第三比较结果和所述历史波形单元对应的历史音乐场景确定所述目标音乐场景,包括:
确定所述第三比较结果为所述第二数量小于所述第三映射阈值,则确定所述目标音乐场景为所述第一模式;
确定所述第三比较结果为所述第二数量大于所述第四映射阈值,则确定所述目标音乐场景为所述第二模式;
确定所述第三比较结果为所述第二数量大于等于所述第三映射阈值且小于等于所述第四映射阈值,则将上一个波形单元的历史音乐场景确定为所述目标音乐场景。
16.根据权利要求1所述的方法,其特征在于,所述确定所述音频数据对应的目标音乐场景之后,所述方法还包括:
根据所述目标音乐场景确定目标振动模式,基于所述目标振动模式完成振动反馈。
17.一种识别音乐场景的电子设备,其特征在于,所述电子设备包括控制芯片和播放模块,其中,
所述控制芯片包括微电子单元,用于检测到播放模块播放音频,获取所述音频对应的音频数据;
还用于对所述音频数据进行预设滤波处理,确定第一音频数据;所述控制芯片根据所述第一音频数据确定所述第一音频数据的峰值分布状况,其中,所述峰值分布状况用于指示第一音频数据的所有目标峰值点在单一波形单元内的数量及能量值;
以及用于基于所述第一音频数据的峰值分布状况以及所述峰值分布状况和音乐场景的映射关系,确定所述音频数据对应的目标音乐场景。
18.根据权利要求17所述的电子设备,其特征在于,所述电子设备还包括马达模块,其中,
所述控制芯片还用于确定所述音频数据对应的目标音乐场景之后,将所述目标音乐场景发送至所述马达模块;
所述马达模块用于根据所述目标音乐场景确定目标振动模式,基于所述目标振动模式完成振动反馈。
19.一种机器可读介质,其特征在于,所述机器可读介质上存储有指令,该指令在机器上执行时使机器执行权利要求1至16中任一项所述的识别音乐场景的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310487831.5A CN116543792A (zh) | 2023-04-28 | 2023-04-28 | 识别音乐场景的方法、电子设备、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310487831.5A CN116543792A (zh) | 2023-04-28 | 2023-04-28 | 识别音乐场景的方法、电子设备、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116543792A true CN116543792A (zh) | 2023-08-04 |
Family
ID=87457095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310487831.5A Pending CN116543792A (zh) | 2023-04-28 | 2023-04-28 | 识别音乐场景的方法、电子设备、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116543792A (zh) |
-
2023
- 2023-04-28 CN CN202310487831.5A patent/CN116543792A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670074B (zh) | 一种节奏点识别方法、装置、电子设备及存储介质 | |
JP6017687B2 (ja) | オーディオ信号分析 | |
WO2017181772A1 (zh) | 语音检测方法、装置及存储介质 | |
US10902853B2 (en) | Electronic device and voice command identification method thereof | |
CN109979418B (zh) | 音频处理方法、装置、电子设备及存储介质 | |
JP2012027186A (ja) | 音声信号処理装置、音声信号処理方法及びプログラム | |
CN106469555B (zh) | 一种语音识别方法及终端 | |
US11133022B2 (en) | Method and device for audio recognition using sample audio and a voting matrix | |
CN111415653B (zh) | 用于识别语音的方法和装置 | |
EP3265903A1 (en) | Method of controlling a mobile device | |
WO2018120545A1 (zh) | 一种测试音频回路时延的方法及设备 | |
CN110111811A (zh) | 音频信号检测方法、装置和存储介质 | |
CN110136735A (zh) | 一种音频修复方法、设备及可读存储介质 | |
CN108597527A (zh) | 多声道音频处理方法、装置、计算机可读存储介质和终端 | |
CN106782601A (zh) | 一种多媒体数据处理方法及其装置 | |
CN110534110B (zh) | 一种机器人及提高其语音交互识别率的方法、装置和电路 | |
CN116543792A (zh) | 识别音乐场景的方法、电子设备、系统和存储介质 | |
WO2001089086A1 (en) | Spectrum modeling | |
CN104978974A (zh) | 一种音频处理方法及装置 | |
TWI663595B (zh) | 語音干擾濾除方法、語音干擾濾除裝置及電腦可讀存儲介質 | |
CN110321020B (zh) | 一种压电传感器信号噪声去除方法及装置 | |
Fedorishin et al. | Waveforms and Spectrograms: Enhancing Acoustic Scene Classification Using Multimodal Feature Fusion. | |
CN104091599A (zh) | 一种音频文件的处理方法及装置 | |
US20160148609A1 (en) | Detecting events from coupled sensors | |
JP4645866B2 (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 |