一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种利用电磁铁控制磁流体跟随音乐旋律运动的方法与流程

2022-11-16 13:50:13 来源:中国专利 TAG:


1.本发明涉及磁流体律动控制技术领域,特别涉及一种利用电磁铁控制磁流体跟随音乐旋律运动的方法。


背景技术:

2.随着人们生活水平的提高,音响类产品变得越来越流行,而在音响产品上除了核心的放音功能之外,如何让声音可视化也越来越重要。在90年代的音响设备上经常会使用数颗发光二极管来实现音量计(vu),音量计会根据放音的实时音量控制发光二极管的亮灭,以实现声音的可视化,后来在高端音响上出现了频谱展示功能,即根据放音的实时信号在音响的lcd屏幕上展示对应的频谱,带有频谱功能的音响比仅带有音量计的音响更受人们的欢迎。
3.随着科技的发展,人们已经不满足于过时的音量计和频谱,因此磁流体开始被广泛用于声音的可视化领域,但与音量计和频谱相比,虽然磁流体更具有科技感,但其控制和展示的难度也更高。音量计通常由数颗发光二极管组成,因此音量计的可视化效果可以适配音量小和音量大的各种声音,且在可视化上可以反映出声音音量的大小和节奏;频谱则在音量计的基础上又额外多了频率的属性,因此频谱可以适配各种声音,且在可视化上可以反映出声音的音量大小、声音的频率和节奏;而在磁流体上,当使用电磁铁来控制时,仅存在电磁铁的开或关,因此如何控制电磁铁来使磁流体运动成为了一大难题。
4.目前,在磁流体控制上主要有以下3种常用方法:
5.1、实时计算声音的音量计值(vu),当音量计值大于设定的阈值时,则开启电磁铁,当音量计值小于设定的阈值时,则关闭电磁铁。
6.2、使用频谱分析或多相滤波技术,将声音信号分为若干个频段并计算各个频段的振幅,根据各频段间的相对振幅,有策略的选择并使用某个频段的振幅,若达到一定条件时则开启电磁铁,否则关闭电磁铁。
7.3、计算音频信号的节奏(bpm,节拍数/分钟),在节拍上开启电磁铁,其他时候关闭电磁铁。
8.但上述三种方法均存在缺陷,方法1的缺陷为:无法通用的适配所有声音,若阈值过高则无法响应音量小的声音,若阈值过低则在音量大的声音上会导致电磁铁一直开启,最终磁流体展示效果不佳。方法2的缺陷为:当切换并使用不同频段的振幅时,会在磁流体的视觉上带来不连续性,比如起初时选择低音频段,则磁流体的展示为低音鼓点,当突然切换到高频段时,磁流体的运动会瞬间从有节奏的鼓点变为人声或高音乐器的旋律,这时会有明显的视觉断层。方法3的缺陷为:当音频信号为轻音乐或语音时,则不存在节奏属性,因此无法适配所有类型的声音。
9.基于上述现有技术方案在具体实施时其技术效果都不是太理想。发明人决定再研发一种新的控制方法,能够完美克服以上缺陷。


技术实现要素:

10.本发明的目的是:提出一种利用电磁铁控制磁流体跟随音乐旋律运动的方法,能够完全克服上述现有技术中存在的缺陷,使得磁流体的运动连续性更好,能够适用于各种音乐旋律的变化。
11.本发明解决其技术问题所采用的技术方案是:
12.一种利用电磁铁控制磁流体跟随音乐旋律运动的方法,其特征在于,包括如下步骤:
13.s1、音频信号的分帧处理:将输入的音频信号按预设的单帧采样长度进行等长分帧处理,并将分帧后的音频信号按采样时间先后顺序分别命名为:sig1、sig2、sig3、......、sign;
14.s2、计算每帧的平均音量计值:针对分帧后的若干个音频信号sig1、sig2、sig3、......、sign分别计算每个帧的平均音量计值,并命名为vu1、vu2、vu3、......、vun;
15.s3、获取平均音量计值数列:当采集到的vu值数量达到预设数量r时,将这些采集到的vu值归集为一个vu序列,即:seq=[vu1,vu2,vu3,......,vur];seq的长度为r;
[0016]
s4、利用经验模态分解算法对平均音量计值数列进行信号分解:对得到的vu序列seq按经验模态分解算法进行信号分解,得到首条本征模态函数imf1;
[0017]
s5、计算分解后得到的首条本征模态函数imf1中的所有局部极大值:根据经验模态分解算法的计算原理可知,imf1的长度与输入进行分解的所述seq的长度一致,即imf1的长度为r;遍历imf1中的r个数字,并计算其中存在的w个局部极大值;
[0018]
s6、计算imf1的长度值与最后一个局部极大值的位置值的差值:从w个局部极大值中提取最后一个局部极大值的位置m,并计算imf1的长度r与最后一个局部极大值的位置m的差值p,即:p=r-m;
[0019]
s7、根据得到的差值判断电磁铁的开启状态:若差值p≤开启预设值时,开启电磁铁,吸引处于密封容器中的磁流体运动;若差值p>开启预设值,关闭电磁铁,磁流体在自身张力和重力作用下自动去复原状态。
[0020]
进一步优选技术方案,所述单帧采样长度的预设值设定为50毫秒。
[0021]
进一步优选技术方案,所述平均音量计值的具体计算方法为:
[0022]
s21、根据预设的单帧采样长度和音频自带的pcm采样频率,计算获得单帧所包含的音频采样数量h,即:单帧所包含的音频采样量h=单帧采样长度*pcm采样频率;并将h个采样音频依次命名为sign[1]、sign[2]、sign[3]、......、sign[h];其中,n表示第n帧音频信号;
[0023]
s22、计算h个采样音频的平均绝对值kn,即:平均绝对值kn=(abs(sign[1]) abs(sign[2]) abs(sign[3]) ...... abs(sign[h]))/h,其中abs()为计算数值的绝对值,符号“ ”为标量加法,符号“/”为标量除法;该公式中的平均绝对值kn为第n帧音频信号的;
[0024]
s23、根据平均音量计值公式vun=20*lgkn,分别计算得到步骤s2中的vu1、vu2、vu3、......、vun;其中,20为vun的计算常量,lg表示10为底的对数。
[0025]
进一步优选技术方案,所述经验模态分解算法中单次最大筛选次数设定为10,筛选终止条件设定为标准差sd《0.000001
[0026]
进一步优选技术方案,所述局部极大值的定义为:若存在序列x[1~n],对于m,满
足x[m-1]《x[m]≥x[m 1],则e=x[m],称e为序列x的一个局部极大值,而m则为该局部极大值的位置值。
[0027]
进一步优选技术方案,所述开启预设值设定为4,即若差值p≤4时,开启电磁铁,若差值p>4,关闭电磁铁。
[0028]
本发明的有益效果是:本发明的方法基于音量计值,因此完美保留了声音信号中的所有旋律和节奏信息;其次,使用emd对音量计值序列进行分解,首条imf为权值最大,因此本方法选择了所有旋律和节奏中最关键的旋律和节奏序列;最后,本发明使用计算局部极大值的方法来确定在imf的尾部是否存在一个节奏点,如此又避免了依赖阈值的问题。
附图说明
[0029]
图1是磁流体控制过程中的音频处理流程图。
具体实施方式
[0030]
以下结合附图。对本发明做进一步说明。
[0031]
本实施例详细描述了一种利用电磁铁控制磁流体跟随音乐旋律运动的方法,其音频信号处理流程如图1所示,包括如下步骤:
[0032]
s1、音频信号的分帧处理:将输入的音频信号按预设的单帧采样长度进行等长分帧处理,并将分帧后的音频信号按采样时间先后顺序分别命名为:sig1、sig2、sig3、......、sign;
[0033]
在本实施例中预设的单帧采样长度为50毫秒,即sig1表示0时刻到50毫秒时刻的输入信号,sig2表示50毫秒时刻到100毫秒时刻的输入信号,......,以此类推。
[0034]
有关单帧采样长度,其他实施人在具体实施过程中还可根据音频信号和其他需求调整;
[0035]
s2、计算每帧的平均音量计值:针对分帧后的若干个音频信号sig1、sig2、sig3、......、sign分别计算每个帧的平均音量计值,并命名为vu1、vu2、vu3、......、vun;
[0036]
其中,平均音量计值的具体计算方法为:
[0037]
s21、根据预设的单帧采样长度和音频自带的pcm采样频率,计算获得单帧所包含的音频采样数量h,即:单帧所包含的音频采样量h=单帧采样长度*pcm采样频率;并将h个采样音频依次命名为sign[1]、sign[2]、sign[3]、......、sign[h];其中,n表示第n帧音频信号;假设输入音频自带的pcm采样频率为40000赫兹,则单帧所包含的音频采样数量h=0.05秒*40000赫兹=2000个;
[0038]
s22、计算h个采样音频的平均绝对值kn,即:平均绝对值kn=(abs(sign[1]) abs(sign[2]) abs(sign[3]) ...... abs(sign[h]))/h,其中abs()为计算数值的绝对值,符号“ ”为标量加法,符号“/”为标量除法;该公式中的平均绝对值kn为第n帧音频信号的;在本实施例中,h=2000个,即:
[0039]
kn=(abs(sign[1]) abs(sign[2]) abs(sign[3]) ...... abs(sign[2000]))/2000;
[0040]
s23、根据平均音量计值公式vun=20*lgkn,分别计算得到步骤s2中的vu1、vu2、vu3、......、vun;其中,20为vun的计算常量,lg表示10为底的对数。
[0041]
s3、获取平均音量计值数列:当采集到的vu值数量达到预设数量r时,将这些采集到的vu值归集为一个vu序列,即:seq=[vu1,vu2,vu3,......,vur];seq的长度为r;
[0042]
在本实施中,预设r为60,即可得到:seq=[vu1,vu2,vu3,......,vu
60
]。
[0043]
s4、利用经验模态分解算法对平均音量计值数列进行信号分解:对得到的vu序列seq按经验模态分解算法进行信号分解,得到首条本征模态函数imf1;
[0044]
经验模态分解(emd)是数字信号处理领域中的一种常用算法,所以在此处不做详细描述。在本实施例中,经验模态分解算法中需要预设的两个参数分别设置为:单次最大筛选次数设定为10,筛选终止条件设定为标准差sd≤0.000001。
[0045]
有关经验经验模态分解(emd)对输入信号x(t)的分解过程如下:
[0046]
(1)初始化:r(t)=x(t),i=0,k=1,筛选终止条件设定为标准差sd《0.000001,单次最大筛选次数设定为10;r(t)表示残余信号;
[0047]
(2)通过r(t)计算获取的局部极大值点和极小值点;使用三次样条曲线分别拟合极大值点和极小值点,得到信号的上、下包络线e
max
(t)和e
min
(t),由上、下包络线计算其局部平均值,得到平均包络m1(t);
[0048][0049]
(3)令i=i 1,从原始信号中减去均值包络,得到待鉴定分量:p
11
(t)=r(t)-m1(t)。此处,p
11
(t)一般不是一个平稳信号,不满足imf定义的两个条件,重复上述过程,假定经过k次之后,(本实施例中k取10,即单次最大筛选次数)p
1k
(t)满足imf的定义,则原信号x(t)的一阶imf分量为c1(t)=imf1(t)=p
1k
(t);用原信号x(t)减去c1(t),得到一个去掉高频成分的新信号r1(t):r1(t)=x(t)-c1(t);
[0050]
此时,原始信号经过emd分解,可以表示为:x(t)=imf1(t) r1(t)。
[0051]
在实际情况中,上下包络的均值无法为零,通常当满足下面的式子时,就认为包络的均值满足imf的均值为零的条件:
[0052][0053]
在本实施例中,当标准差sd≤0.000001时,停止筛选。
[0054]
s5、计算分解后得到的首条本征模态函数imf1中的所有局部极大值:根据经验模态分解算法的计算原理可知,imf1的长度与输入进行分解的所述seq的长度一致,即imf1的长度为r;遍历imf1中的r个数字,并计算其中存在的w个局部极大值;
[0055]
在本实施例中由于预设r为60,所以imf1的长度为60。
[0056]
s6、计算imf1的长度值与最后一个局部极大值的位置值的差值:从w个局部极大值中提取最后一个局部极大值的位置m,并计算imf1的长度r与最后一个局部极大值的位置m的差值p,即:p=r-m;
[0057]
其中,局部极大值的定义为:若存在序列x[1~n],对于m,满足x[m-1]《x[m]≥x[m 1],则e=x[m],称e为序列x的一个局部极大值,而m则为该局部极大值的位置值。
[0058]
在本实施例中,p=60-m。
[0059]
s7、根据得到的差值判断电磁铁的开启状态:若差值p≤开启预设值时,开启电磁铁,电磁铁吸引处于密封容器中的磁流体运动;若差值p>开启预设值,关闭电磁铁,处于密封容器中的磁流体在自身张力和重量作用下自动去复原状态。
[0060]
在本实施例中,开启预设值设定为4,即若差值p≤4时,开启电磁铁;若差值p>4,关闭电磁铁。
[0061]
本发明公开的磁流体运动控制方法,主要是基于以电磁铁为控制手段的一种控制方法,在本方案中并不像传统方案那样简单的直接采用输入音频的音量计值或各频段振幅或节拍数等手段,通过直接在这些参考因素的基础上设定电磁铁的开关阈值来控制电磁铁的开关。
[0062]
因为不同风格的音乐差异有时候会相差很大,现有技术利用上述手段来控制时,总会发生电磁铁长时间处于开启或关闭的状态,给用户的感受是音乐依然有旋律的进行,而磁流体却一直保持在某种状态没有运动。而采用本方案不仅能够保证在任意风格的音乐播放时,用户始终都能观察到磁流体在运动,且能够观察到的是与音乐旋律相匹配的规律运动。
[0063]
以上显示和描述了本方案的基本原理和主要特征和本方案的优点。本行业的技术人员应该了解,本方案不受上述实施例的限制,上述实施例和说明书中描述的只是说明本方案的原理,在不脱离本方案精神和范围的前提下,本方案还会有各种变化和改进,这些变化和改进都落入要求保护的本方案范围内。本方案要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献