一种随音乐变化振动效果的实现方法技术

技术编号:5269223 阅读:394 留言:0更新日期:2012-04-11 18:40
一种随音乐变化振动效果的实现方法,采用分析脉码调制PCM数据的方法,根据音量的大小、变化的强弱及频率来计算马达的强弱继而驱动马达振动。由于对声音变化起主要作用的音源相同,所以一个周期内大多数声音都是同一个频率,因此用一个周期内回到原轨的个数,以及每个波形跨过原轨所用的时间,来推算当前的音源频率;过滤掉幅度不高,频率很高的杂波;最后再根据微调得出音乐的变化节奏,对人耳的影响进行最终振幅增强或者衰减,对马达特性进行细节调试,根据某个区间内的幅度进行增强、衰减或者突变,输出电压驱动马达,使得带有音乐播放功能的电子产品根据音乐节奏变化有节奏的振动,带给人们愉快的体验。

【技术实现步骤摘要】

本专利技术涉及一种振动实现方法,特别是涉及。
技术介绍
目前带有播放音乐功能的电子产品,如手机、MP3、MP4等,此类电子产品的振动功 能应用越来越广泛,有些振动利用音箱实现,有些振动利用马达实现,而随着技术的发展, 越来越多的生产商选择采用马达代替音箱进行硬件电路的设计。但现在用马达来驱动振动的电子产品在实现振动方面只是单纯的重复节奏的振 动,并不能根据音频文件中的振动节奏驱动电子产品进行有节奏的振动,不能满足人们对 于不同音乐不同振动节奏的要求。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种随音乐变化振动效果的实现方 法,用于所有带有播放音乐功能的电子产品,在音频文件解码之后而未进行数字/模拟转 换之前对中断进行分析,采用分析脉码调制PCM(英文Pulse Code Modulation的缩写)数 据的方法,根据音量的大小,以及变化的强弱和各频率给人耳带来感觉体验的不同,来计算 马达的强弱继而驱动马达振动,使得电子产品根据音乐节奏变化有节奏的振动,带给人们 愉快的体验。为了达到上述目的,本专利技术采用的技术方案是,一种随音乐变化振动效果的实现 方法,有两种方案实现方案一为判断PCM_Level_L大于零计数,小于零中断后开始分析一 个周期的信息情况;方案二为判断PCM_Level_L小于零计数,大于零中断后开始分析一个 周期的信息情况。方案一的步骤如下该方法涉及以下数据,周期为T,从PCM缓冲器中读取的PCM数据用PCM_Level_ L来表示,一个周期内采样点的数量为SubCount,SubCount的最大值为MaxSubCount,一个 中断中幅度最大值MaxV_tmp,幅度参考值设置为常数VLowLimit,采样点参考值设置为常 数FLowLimit,一个采样周期内所有中断点幅度的最大值为MaxV,有效周期个数即频率为 ICoimt,设幅度最小参考值为MinV_T,采样周期的时间由实现着根据产品特性设定。步骤1、对音频文件解码后未在PCM数据转化成最终声音模拟波形前,截取PCM的 数据,从PCM缓冲器中读每个PCM_Level_L ;步骤2、判断PCM_Level_L是否大于零;步骤3、PCM_Level_L > 0,则执行步骤 3. 1,PCM_Level_L 彡 0,则执行步骤 3. 2 ;步骤3. U PCM_Level_L > 0,则开始计数,得到一个子周期内采样点的数量 SubCount,并记下此时的幅度最大值MaxV_tmp,跳至步骤5 ;步骤3. 2、PCM_Level_L< 0,则开始分析一个中断读取PCM缓冲器中正幅度的SubCount 和 MaxV_tmp,并执行步骤 4 ;步骤4、同时满足 SubCount < FLowLimit,MaxV_tmp < VLowLimit 的,则判断为高 频噪声并过滤掉,不进行统计,为无效周期,统计出SUbC0Unt、MaXV_tmp的最大值;步骤5、统计出一个采样周期MaxV_tmp的最大值MaxV,SubCount中的最大值 MaxSubCount,并统计出一个采样周期内的MaxV、MaxSubCount,并统计出有效周期ICount 的数量;步骤6、比较一个采样周期内前后两次采样得到的最大值MaxV,设差值为MaxV_L ;步骤7、判断MaxV_L是否小于_MinV_T ;步骤8、MaxV_L < -MinV_T,则执行步骤 8. 1,MaxV_L 彡-MinV_T,则执行步骤 8. 2 ;步骤8. 1、MaxV_L < -MinV_T,则直接设MaxV_L = 0,马达停止振动;步骤8. 2、MaxV_L 彡-MinV_T,则执行步骤 9 ;步骤9、程序结束,继续进行下一轮判断。上述步骤1中的音频文件指现有格式的音频文件,如mp3文件、wav文件、wma文 件、midi 文件、winamp 等。方案二的步骤如下该方法涉及以下数据,周期为T,从PCM缓冲器中读取的PCM数据用PCM_Level_L 来表示,每当一个采样点由正转负为一个采样子周期,子周期内采样点的数量为SubCoimt, SubCount的最大值为MaxSubCount,一个中断中幅度最大值MaxV_tmp,幅度参考值设置为 常数VLowLimit,采样点参考值设置为常数FLowLimit,一个周期内所有中断点幅度的最大 值为MaxV,有效周期即频率为ICount,设幅度最小参考值为MinV_T步骤1、对音频文件解码后未在PCM数据转化成最终声音模拟波形前,截取PCM的 数据,从PCM缓冲器中读每个PCM_Level_L ;步骤2、判断PCM_Leve 1_L是否小于零;步骤3、PCM_Level_L < 0,则执行步骤 3. 1,PCM_Level_L 彡 0,则执行步骤 3. 2 ;步骤3. 1、PCM_Level_L < 0,则开始计数,得到一个周期内采样点的数量 SubCount,并记下此时的幅度最大值MaxV_tmp,跳至步骤5 ;步骤3. 2、PCM_Level_L彡0,则开始分析一个中断读取PCM缓冲器中负幅度的 SubCount 和 MaxV_tmp,并执行步骤 4 ;步骤4、同时满足 SubCount < FLowLimit,MaxV_tmp < VLowLimit 的,则判断为高 频噪声并过滤掉,不进行统计,为无效周期,统计出SubCoimt、MaXV_tmp的最大值;步骤5、统计出一个采样周期内MaxV_tmp的最大值MaxV,SubCount中的最大值 MaxSubCount,并统计出一个周期内的MaxV、MaxSubCount,并统计出有效周期ICount的数 量;步骤6、比较一个采样周期内前后两次采样得到的最大值MaxV,设差值为MaxV_L ;步骤7、判断MaxV_L是否小于_MinV_T ;步骤8、MaxV_L < -MinV_T,则执行步骤 8. 1,MaxV_L 彡-MinV_T,则执行步骤 8. 2 ;步骤8. 1、MaxV_L < _MinV_T,则直接设MaxV_L = 0,马达停止振动;步骤8. 2、MaxV_L 彡-MinV_T,则执行步骤 9 ;步骤9、程序结束,进行下一轮判断。上述步骤1中的音频文件指现有格式的音频文件,如mp3文件、wav文件、wma文 件、midi 文件、winamp 等。以上方法用于所有带有播放音乐功能的电子产品,能同时分析左右声道,也能单 独分析左右声道、立体声。与现有技术相比,本专利技术的有益效果是采用PCM数据的方法,根据音量的大小, 以及变化的强弱和各频率给人耳带来感觉体验的不同,来计算马达的强弱继而驱动马达振 动,使得电子产品根据音乐节奏变化有节奏的振动,带给人们愉快的体验,另外本专利技术只是 针对PCM数据进行分析,不受电子产品中的平台的限制。附图说明图1为本专利技术的实施例1的程序流程图;图2为本专利技术的实施例2的程序流程图。具体实施例方式本专利技术的中心思想在于克服现有技术的不足,提供一种随音乐变化振动效果的实 现方法,采用分析脉码调制PCM数据的方法,根据音量的大小,以及变化的强弱和各频率给 人耳带来本文档来自技高网...

【技术保护点】
一种随音乐变化振动效果的实现方法,其步骤如下:该方法涉及以下数据,周期为T,从PCM缓冲器中读取的PCM数据用PCM_Level_L来表示,一个周期内采样点的数量为SubCount,SubCount的最大值为MaxSubCount,一个中断中幅度最大值MaxV_tmp,幅度参考值设置为常数VLowLimit,采样点参考值设置为常数FLowLimit,一个采样周期内所有中断点幅度的最大值为MaxV,有效周期个数即频率为ICount,设幅度最小参考值为MinV_T,采样周期的时间由实现着根据产品特性设定步骤1、对音频文件解码后未在PCM数据转化成最终声音模拟波形前,截取PCM的数据,从PCM缓冲器中读每个PCM_Level_L;步骤2、判断PCM_Level_L是否大于零;步骤3、PCM_Level_L>0,则执行步骤3.1,PCM_Level_L≤0,则执行步骤3.2;步骤3.1、PCM_Level_L>0,则开始计数,得到一个子周期内采样点的数量SubCount,并记下此时的幅度最大值MaxV_tmp,跳至步骤5;步骤3.2、PCM_Level_L≤0,则开始分析一个中断读取PCM缓冲器中正幅度的SubCount和MaxV_tmp,并执行步骤4;步骤4、同时满足SubCount<FLowLimit,MaxV_tmp<VLowLimit的,则判断为高频噪声并过滤掉,不进行统计,为无效周期,统计出SubCount、MaxV_tmp的最大值;步骤5、统计出一个采样周期MaxV_tmp的最大值MaxV,SubCount中的最大值MaxSubCount,并统计出一个采样周期内的MaxV、MaxSubCount,并统计出有效周期ICount的数量;步骤6、比较一个采样周期内前后两次采样得到的最大值MaxV,设差值为MaxV_L;步骤7、判断MaxV_L是否小于-MinV_T;步骤8、MaxV_L<-MinV_T,则执行步骤8.1,MaxV_L≥-MinV_T,则执行步骤8.2;步骤8.1、MaxV_L<-MinV_T,则直接设MaxV_L=0,马达停止振动;步骤8.2、MaxV_L≥-MinV_T,则执行步骤9;步骤9、程序结束,继续进行下一轮判断。...

【技术特征摘要】

【专利技术属性】
技术研发人员:苏豫杨晨鹏
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:44[中国|广东]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1