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

基于声音的灯光动态控制方法、设备、系统及存储介质与流程

2021-11-30 21:49:00 来源:中国专利 TAG:


1.本发明涉及灯光控制技术领域,尤其涉及一种基于声音的灯光动态控制方法、一种计算机设备、一种灯光动态控制系统及一种计算机可读存储介质。


背景技术:

2.随着生活水平的提高,人们对娱乐活动需求的日益增加,如音乐会、大型舞台剧、音乐展览馆、音乐喷泉广场等,舞台美术工作者多采用五彩缤纷的灯光效果来加强表演效果,增加艺术的感染力。
3.然而,现有的灯光效果均是通过具有固定效果的装饰灯具来营造灯光效果,这种方式展示出的灯光效果往往种类固定、颜色单一且变化方式固定,不能与外界的声音匹配,展现出的情境有限,娱乐性不强。
4.例如,专利cn104244529a公开了一种声音感应节拍灯光系统,该系统能针对特定音乐的节拍,为每首音乐单独设计的对应时间节点的特效标签,在播放音乐的同时,根据时间节点激活相应的特效标签,控制灯光显示单元的显示组合分布、亮度和颜色;当检测到特定的道具声音,可增加灯光特效的整体亮度;当检测到特定的人声后,还可根据预先设定激活一套灯光特效流程。但是,该系统只能针对预设音乐进行处理,且预设音乐需提前进行标签设置及特效设置,灯光特效的形式固定,不能针所有的声音进行实时灯光效果的调节,灵活性弱,效果单一。


技术实现要素:

5.本发明所要解决的技术问题在于,提供一种基于声音的灯光动态控制方法、计算机设备、系统及计算机可读存储介质,可将声音与颜色及亮度结合起来,形成灯光的颜色及亮度随声音同时变化的效果。
6.为了解决上述技术问题,本发明提供了一种基于声音的灯光动态控制方法,包括:获取声音数据;将所述声音数据转换为频谱信号,并对所述频谱信号分区域进行颜色处理以生成目标基色值;将所述声音数据转换为亮度值;根据所述亮度值及目标基色值生成色彩控制参数;将所述色彩控制参数按顺序输出至灯光组的各像素点中,以使所述灯光组的灯光呈流水式动态显示。
7.作为上述方案的改进,所述对所述频谱信号分区域进行颜色处理以生成目标基色值的步骤包括:将所述频谱信号划分为至少两个基色区域并计算每一基色区域的基色值,所述基色区域与基色值一一对应;对每一所述基色值分别进行颜色过渡处理;对经颜色过渡处理后的每一基色值分别进行颜色校正处理;对经颜色校正处理后的每一基色值分别进行颜色补偿处理。
8.作为上述方案的改进,当将所述频谱信号划分为至少三个基色区域时,所述对所述频谱信号分区域进行颜色处理以生成目标基色值的步骤还包括:对经颜色补偿处理后的每一基色值分别进行颜色凸显处理。
9.作为上述方案的改进,所述将所述频谱信号划分为至少两个基色区域并计算每一基色区域的基色值的步骤包括:根据频率值将所述频谱信号划分为至少两个基色区域;分别对每一基色区域中的频率对应值进行求和处理以生成基色值。
10.作为上述方案的改进,所述对每一所述基色值分别进行颜色过渡处理的步骤包括:提取当前基色值及对应的n个历史基色值,所述当前基色值为当前时刻计算得到的所述声音数据的基色值,所述n个历史基色值为当前时刻的前n次计算得到的所述声音数据的基色值,其中,一个所述当前基色值对应n个所述历史基色值,n为正整数;计算所述当前基色值与对应的n个历史基色值的平均值,并将所述平均值作为经颜色过渡处理后的基色值。
11.作为上述方案的改进,所述对经颜色过渡处理后的每一基色值分别进行颜色校正处理的步骤包括:将经颜色过渡处理后的基色值与对应的预设校正系数相乘以进行颜色校正,所述预设校正系数与经颜色过渡处理后的基色值一一对应。
12.作为上述方案的改进,所述对经颜色校正处理后的每一基色值分别进行颜色补偿处理的步骤包括:在预设时间内,检测经颜色校正处理后的基色值是否丢失;分别对检测次数及经颜色校正处理后的基色值的丢失次数进行计数;根据所述检测次数、丢失次数及经颜色校正处理后的基色值,计算获得经颜色补偿处理后的基色值。
13.作为上述方案的改进,所述在预设时间内,检测经颜色校正处理后的基色值是否丢失的步骤包括:在预设时间内,将经颜色校正处理后的基色值与预设补偿值进行比对,判断经颜色校正处理后的基色值是否小于预设补偿值,判断为是时,则表示经颜色校正处理后的基色值已丢失,判断为否时,则表示经颜色校正处理后的基色值未丢失;所述根据所述检测次数、丢失次数及经颜色校正处理后的基色值,计算获得经颜色补偿处理后的基色值的步骤包括:根据公式rgb
i
=rgb
j
·
rgb
c
进行颜色补偿,其中,rgb
i
为经颜色补偿处理后的基色值,rgb
j
为经颜色校正处理后的基色值,rgb
c
=1 (rgb
s
/s)
·
k,rgb
c
为补偿系数,rgb
s
为所述丢失次数,s为所述检测次数,k为预设比例。
14.作为上述方案的改进,所述对经颜色补偿处理后的每一基色值分别进行颜色凸显处理的步骤包括:在所有经颜色补偿处理后的基色值中提取最小的基色值;将经颜色补偿处理后的每一基色值减去最小的基色值以生成基准基色值,所述基准基色值与经颜色补偿处理后的基色值一一对应;在所有基准基色值中提取最大的基准基色值;当所述最大的基准基色值不为零时,根据公式rgb
o
=d
·
[(rgb
i

v
min
)/v
max
]8执行非线性运算以进行颜色凸显,其中,rgb
o
为经颜色凸显处理后的基色值,d为预设最大强度值,rgb
i
为经颜色补偿处理后的基色值,v
min
为最小的基色值,v
max
为最大的基准基色值,所述经颜色凸显处理后的基色值与经颜色补偿处理后的基色值一一对应;当所述最大的基准基色值为零时,根据公式rgb
o
=d进行颜色凸显处理。
[0015]
作为上述方案的改进,所述将声音数据转换为亮度值的步骤包括:计算所述声音数据的声音平均值;采用自动增益算法对所述声音平均值进行处理,获得当前时刻的基准平均值;根据所述声音平均值和所述当前时刻的基准平均值,生成亮度值。
[0016]
作为上述方案的改进,所述采用自动增益算法对所述声音平均值进行处理,获得当前时刻的基准平均值的步骤包括:根据所述声音平均值、上一个基准平均值及上一个计数值计算当前时刻的基准平均值,所述上一个基准平均值为当前时刻的前一次获取的声音数据的基准平均值,所述上一个计数值为当前时刻的前一次获取的声音数据的计数值,其
中,当所述声音平均值大于上一个基准平均值时,将所述声音平均值作为当前时刻的基准平均值及最大的基准声音值,并重置当前时刻的计数值,当所述声音平均值小于或等于上一个基准平均值且上一个基准平均值及上一个计数值均大于零时,根据公式a
agc_o
=v
base
·
(v
count_0
/t)计算当前时刻的基准平均值,其中,a
agc_o
为当前时刻的基准平均值,v
base
为最大的基准声音值,v
count_0
=v
count_i

1,v
count_0
为当前时刻的计数值,v
count_i
为上一个计数值,t为预设时间内声音数据的获取次数,否则,将当前时刻的基准平均值置为零;所述根据所述声音平均值和所述当前时刻的基准平均值,生成亮度值的步骤包括:当所述当前时刻的基准平均值不为零时,根据公式v
bright
=d
·
(a
avg
/a
agc_o
)8执行非线性运算以生成亮度值,其中,v
bright
为亮度值,a
avg
为声音平均值,d为预设最大强度值;当所述当前时刻的基准平均值为零时,根据公式v
bright
=0生成亮度值。
[0017]
作为上述方案的改进,所述根据亮度值及目标基色值生成色彩控制参数的步骤包括:根据公式rgb
k
=rgb
q
·
(v
bright
/d)分别计算每一目标基色值所对应的色彩控制因子,其中,rgb
k
为色彩控制因子,rgb
q
为目标基色值,v
bright
为亮度值,d为预设最大强度值,所述色彩控制因子与目标基色值一一对应;将所有色彩控制因子进行组合以构成色彩控制参数。
[0018]
相应地,本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现上述灯光动态控制方法的步骤。
[0019]
相应地,本发明还提供了一种灯光动态控制系统,包括照明设备以及上述的计算机设备,所述计算机设备与所述照明设备连接。
[0020]
相应地,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述灯光动态控制方法的步骤。
[0021]
实施本发明,具有如下有益效果:
[0022]
本发明根据声音频谱对声音进行分区域颜色转换处理,从而生成与声音相匹配的颜色;同时,本发明还根据声音进行亮度转换,从而生成与声音相匹配的亮度;从而将声音与颜色及亮度结合起来,形成颜色及亮度随声音同步变化的效果,可有效反映声音的特殊性,营造良好的氛围,提升用户的体验效果。
[0023]
进一步,本发明采用颜色过渡、颜色校正、颜色补偿及颜色凸显等处理方法对频谱信号进行处理,从而使得颜色的变化更为柔和、过渡更为丰富、更能匹配rgb颜色的变换。
[0024]
另外,本发明还加入了自动增益算法和非线性的算法,使灯光组中的点像素还可以根据声音有节奏地跑动,并且无论音乐的音量设为多少,灯光组都可以保持基本一致的跑动效果。
附图说明
[0025]
图1是本发明基于声音的灯光动态控制方法的第一实施例流程图;
[0026]
图2是本发明基于声音的灯光动态控制方法的第二实施例流程图;
[0027]
图3是本发明基于声音的灯光动态控制方法的第三实施例流程图。
具体实施方式
[0028]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一
步地详细描述。
[0029]
参见图1,图1显示了本发明基于声音的灯光动态控制方法的第一实施例,包括:
[0030]
s101,获取声音数据。
[0031]
采集设备定时采集点声音信息,再定时将预设时间段内采集的点声音信息组合为声音数据并发送至计算机设备,计算机设备获取到声音数据后对声音数据进行处理。也就是说,声音数据包括多个点声音信息,其中,所述点声音信息为模拟信号。
[0032]
为了使灯光组的灯光呈现良好的流水式动态显示效果,本发明可每隔92us获取一次点声音信息,每获取到256个点声音信息(a1、a2…
a
256
)则执行一次声音数据的输入(即,每隔23.5ms执行一次声音数据的输入),但不以此为限制,可根据实际情况进行调整。
[0033]
s102,将声音数据转换为频谱信号,并对频谱信号分区域进行颜色处理以生成目标基色值。
[0034]
具体地,可采用快速傅里叶变换算法将声音数据转换为频谱信号进行处理。在实际应用中,本发明将获取到的256个点声音信息输入快速傅里叶变换算法中,以输出128个频率点以构成频谱信号,所述频率点分别对应0~5.435khz的频率。
[0035]
同时,本发明针对频谱信号的频率特点,将频谱信号进行分区域处理,再分区域进行颜色转换,其中,每一区域可对应一种目标基色值。例如,当划分为三个区域时,可对应转换为红(r)、绿(g)、蓝(b)三基色;又如,当划分为两个区域时,可对应转换为红(r)、蓝(b)两基色。
[0036]
s103,将声音数据转换为亮度值。
[0037]
相应地,本发明针对声音数据的特点,将声音数据转换为亮度。具体地,将声音数据转换为亮度值的步骤包括:
[0038]
(1)计算声音数据的声音平均值。
[0039]
当声音数据包括256个点声音信息时,可根据公式a
avg
=(a1 a2

a
256
)/256计算声音数据的声音平均值a
avg
,从而为所述声音数据提供一个较为平均的声音参考值。
[0040]
(2)采用自动增益算法(agc,automatic gain control)对声音平均值进行处理,获得当前时刻的基准平均值。
[0041]
具体地,根据声音平均值、上一个基准平均值及上一个计数值计算当前时刻的基准平均值,上一个基准平均值为当前时刻的前一次获取的声音数据的基准平均值,上一个计数值为当前时刻的前一次获取的声音数据的计数值,其中:
[0042]
当声音平均值大于上一个基准平均值时,将声音平均值作为当前时刻的基准平均值及最大的基准声音值,并重置当前时刻的计数值;
[0043]
当声音平均值小于或等于上一个基准平均值且上一个基准平均值及上一个计数值均大于零时,根据公式a
agc_o
=v
base
·
(v
count_0
/t)计算当前时刻的基准平均值,其中,a
agc_o
为当前时刻的基准平均值,v
base
为最大的基准声音值,v
count_0
=v
count_i

1,v
count_0
为当前时刻的计数值,v
count_i
为上一个计数值,t为预设时间内声音数据的获取次数;
[0044]
否则,将当前时刻的基准平均值置为零。
[0045]
也就是说:当a
avg
>a
agc_i
时,设置a
agc_o
=a
avg
,并重置v
base
=a
avg
,重置v
count_0
=t;当a
avg
≤a
agc_i
,a
agc_i
>0且v
count_i
>0时,保持v
base
不变,并设置a
agc_o
=v
base
·
(v
count_i

1)/t;其它情况时,a
agc_o
=0。
[0046]
其中:
[0047]
a
avg
为声音平均值;
[0048]
a
agc_i
为上一个基准平均值,其初始值为0;
[0049]
a
agc_o
为当前时刻的基准平均值;
[0050]
v
base
为最大的基准声音值;
[0051]
v
count_i
为上一个计数值;
[0052]
t为预设时间内声音数据的获取次数,优选地,所述t的取值为200(大概为5s内声音数据的获取次数),但不以此为限制,可根据实际情况进行调整。
[0053]
(3)根据声音平均值和当前时刻的基准平均值,生成亮度值。
[0054]
具体地,当所述当前时刻的基准平均值不为零时,根据公式v
bright
=d
·
(a
avg
/a
agc_o
)8执行非线性运算以生成亮度值,其中,v
bright
为亮度值,a
avg
为声音平均值,d为预设最大强度值,相应地,当a
agc_o
=0时,v
bright
=0。
[0055]
步骤(3)对步骤(1)中的声音平均值a
avg
及步骤(2)中的基准平均值a
agc_o
进行非线性运算处理,以生成特定范围的亮度值。
[0056]
例如,当采用rgb三基色时,可将亮度范围设置为[0,255],此时d的值对应为255。相应地,当计算出的亮度值为0,则表示亮度值为0%,当计算出的亮度值为255,则表示亮度值为100%。
[0057]
因此,通过步骤s103可有效计算出声音数据所对应的亮度,形成符合声音特点的亮度值。
[0058]
s104,根据亮度值及目标基色值生成色彩控制参数。
[0059]
需要说明的是,一条声音数据可对应生成一组色彩控制参数,每组色彩控制参数包括至少两个色彩控制因子,所述色彩控制因子用于表示亮度及颜色,其中,所述色彩控制因子的数量与频谱信号的分区数量一致,一个分区对应一个色彩控制因子中的颜色,而同组色彩控制参数中色彩控制因子的亮度一致。
[0060]
例如,当划分为三个区域时,可对应转换为红(r)、绿(g)、蓝(b)三基色,此时,色彩控制参数包含三个色彩控制因子,分别为:r因子(亮度a 颜色r),g因子(亮度a 颜色g),b因子(亮度a 颜色b)。
[0061]
具体地,根据亮度值及目标基色值生成色彩控制参数的步骤包括:
[0062]
(1)根据公式rgb
k
=rgb
q
·
(v
bright
/d)分别计算每一目标基色值所对应的色彩控制因子。
[0063]
需要说明的是,rgb
k
为色彩控制因子,rgb
q
为目标基色值,v
bright
为亮度值,d为预设最大强度值,色彩控制因子与目标基色值一一对应。相应地,当采用rgb三基色时,可将预设最大强度值设置为255。
[0064]
(2)将所有色彩控制因子进行组合以构成色彩控制参数。
[0065]
例如,当划分为三个区域时,可对应转换为红(r)、绿(g)、蓝(b)三基色,此时,色彩控制参数包含三个色彩控制因子,分别为r
k
、g
k
及b
k
,其中,r
k
=r
q
·
(v
bright
/255),g
k
=g
q
·
(v
bright
/255),b
k
=b
q
·
(v
bright
/255);相应地,色彩控制参数为(r
k
,g
k
,b
k
)。
[0066]
因此,步骤s104将声音数据的颜色部分及亮度部分进行融合,以形成唯一的色彩控制参数。
[0067]
s105,将色彩控制参数按顺序输出至灯光组的各像素点中,以使灯光组的灯光呈流水式动态显示。
[0068]
例如,当灯光组为灯带时,每一灯带上按顺序(如:由左至右)地设置有多个像素点(led1
……
led100)。控制过程中,先将色彩控制参数输出至灯带的第1个像素点led1,然后再输出至第2个像素点led2,以此类推,最后输出至第100个像素点led100,最终形成灯光连续移动的流水效果。
[0069]
相应地,在不断获取声音数据的过程中,也不断向灯光组输出色彩控制参数,从而形成灯光组随声音不断变化的流水效果。
[0070]
因此,与现有技术不同的是,本发明将声音的频率与颜色及亮度结合起来,形成颜色及亮度与声音同时变化的效果,灵活性强,可有效反映声音的特殊性,营造良好的氛围,提升用户的体验效果。
[0071]
参见图2,图2显示了本发明基于声音的灯光动态控制方法的第二实施例,包括:
[0072]
s201,获取声音数据。
[0073]
所述声音数据包括多个点声音信息,其中,所述点声音信息为模拟信号。
[0074]
s202,将声音数据转换为频谱信号。
[0075]
具体地,可采用快速傅里叶变换算法将声音数据转换为频谱信号进行处理。
[0076]
s203,将频谱信号划分为至少两个基色区域并计算每一基色区域的基色值。
[0077]
本实施例中,将频谱信号划分为三个区域。
[0078]
需要说明的是,基色区域与基色值一一对应。具体地,将频谱信号划分为至少两个基色区域并计算每一基色区域的基色值的步骤包括:
[0079]
(1)根据频率值将频谱信号划分为至少两个基色区域。
[0080]
例如,当频谱信号的频率点范围为0~5.435khz,可将提取的频谱信号划分为3个基色区域(0~1khz,1k~2.5khz,2.5k~5.435khz),其中,基色区域0~1khz用于转换为三基色中的红(r),基色区域1k~2.5khz用于转换为三基色中的绿(g),基色区域2.5k~5.435khz用于转换为三基色中的蓝(b)。
[0081]
(2)分别对每一基色区域中的频率对应值进行求和处理以生成基色值。
[0082]
通过对每个基色区域中的频率对应值(即频谱图中横坐标的频率所对应的值)求和,可生成较为综合的数值以作为对应的基色值。相应地,通过对基色区域0~1khz中的频率的对应值进行求和可生成三基色中的红(r),通过对基色区域1k~2.5khz中的频率的对应值进行求和可生成三基色中的绿(g),通过对基色区域2.5k~5.435khz中的频率的对应值进行求和可生成三基色中的蓝(b),因此,通过本方法可实现颜色的初始提取。
[0083]
s204,对每一基色值分别进行颜色过渡处理。
[0084]
具体地,对每一基色值分别进行颜色过渡处理的步骤包括:
[0085]
(1)提取当前基色值及对应的n个历史基色值。
[0086]
需要说明的是,当前基色值为当前时刻计算得到的声音数据的基色值,n个历史基色值为当前时刻的前n次计算得到的声音数据的基色值,其中,一个当前基色值对应n个历史基色值,n为正整数。
[0087]
例如,针对三基色中的红色,需提取当前的红色基色值及对应的n个历史红色基色值;而针对三基色中的蓝色,需提取当前的蓝色基色值及对应的n个历史蓝色基色值。
[0088]
(2)计算当前基色值与对应的n个历史基色值的平均值,并将平均值作为经颜色过渡处理后的基色值。
[0089]
优选地,所述n=2,分别计算三个基色值与三个基色值对应的n个历史基色值的平均值后,可得到三个颜色过渡处理后的基色值:r
e
=(r
a
r
a
‑1 r
a
‑2)/3,g
e
=(g
a
g
a
‑1 g
a
‑2)/3,b
e
=(b
a
b
a
‑1 b
a
‑2)/3,其中,r
a
、g
a
、b
a
为当前基色值,r
a
‑1、r
a
‑2为r
a
对应的历史基色值,g
a
‑1、g
a
‑2为g
a
对应的历史基色值,b
a
‑1 b
a
‑2为b
a
对应的历史基色值。
[0090]
因此,通过对每一基色值分别进行滑动缓冲处理,可使灯光组中各像素点之间的变化更为柔和。
[0091]
s205,对经颜色过渡处理后的每一基色值分别进行颜色校正处理。
[0092]
具体地,对经颜色过渡处理后的每一基色值分别进行颜色校正处理的步骤包括:将经颜色过渡处理后的基色值与对应的预设校正系数相乘以进行颜色校正,预设校正系数与经颜色过渡处理后的基色值一一对应。
[0093]
例如,可将经颜色过渡处理后的r
e
、g
e
、b
e
的值分别乘以校正系数r
d
、g
d
、b
d
(即r
j
=r
e
·
r
d
,g
j
=g
e
·
g
d
、b
j
=b
e
·
b
d
),一般情况下r
d
>g
d
>b
d
。优选地,本发明所采用的校正系数为:r
d
=6,g
d
=5,b
d
=4,但不以此为限制,可根据实际情况进行调整。
[0094]
因此,通过将经颜色过渡处理后的每一基色值分别乘以一个校正系数,可使三个基色区域的数据更能指示rgb颜色。
[0095]
s206,对经颜色校正处理后的每一基色值分别进行颜色补偿处理。
[0096]
具体地,对经颜色校正处理后的每一基色值分别进行颜色补偿处理的步骤包括:
[0097]
(1)在预设时间内,检测经颜色校正处理后的基色值是否丢失。
[0098]
相应的检查方法如下:
[0099]
在预设时间内,将经颜色校正处理后的基色值与预设补偿值进行比对,判断经颜色校正处理后的基色值是否小于预设补偿值,
[0100]
判断为是时,则表示经颜色校正处理后的基色值已丢失,
[0101]
判断为否时,则表示经颜色校正处理后的基色值未丢失;
[0102]
(2)分别对检测次数及经颜色校正处理后的基色值的丢失次数进行计数。
[0103]
(3)根据检测次数、丢失次数及经颜色校正处理后的基色值,计算获得经颜色补偿处理后的基色值。
[0104]
具体地,根据公式rgb
i
=rgb
j
·
rgb
c
进行颜色补偿,其中,rgb
i
为经颜色补偿处理后的基色值,rgb
j
为经颜色校正处理后的基色值,rgb
c
=1 (rgb
s
/s)
·
k,rgb
c
为补偿系数,rgb
s
为丢失次数,s为检测次数,k为预设比例。
[0105]
例如,设所述预设时间为前m秒,m=8,k=20%,分别判断经颜色校正处理后的三个基色值r
j
、g
j
、b
j
是否小于预设补偿值;若是,判断为丢失;若否,判断为未丢失。然后,通过计算前8秒的丢失次数r
s
、g
s
、b
s
和前8秒的检测次数s,得出补偿系数r
c
=1 (r
s
/s)
·
20%、g
c
=1 (g
s
/s)
·
20%、b
c
=1 (b
s
/s)
·
20%,最后计算通过补偿后的颜色值r
i
=r
j
·
r
c
、g
i
=g
j
·
g
c
、b
i
=b
j
·
b
c

[0106]
优选地,补偿系数的范围为1~1.2,但不以此为限制,可根据实际情况进行调整。
[0107]
因此,本发明将经颜色校正处理后的每一基色值分别通过颜色丢失补偿算法进行颜色补偿处理,使r与g、g与b、r与b临界时颜色更加丰富。
[0108]
s207,对经颜色补偿处理后的每一基色值分别进行颜色凸显处理。
[0109]
具体地,对经颜色补偿处理后的每一基色值分别进行颜色凸显处理的步骤包括:
[0110]
(1)在所有经颜色补偿处理后的基色值中提取最小的基色值;
[0111]
(2)将经颜色补偿处理后的每一基色值减去最小的基色值以生成基准基色值,基准基色值与经颜色补偿处理后的基色值一一对应;
[0112]
(3)在所有基准基色值中提取最大的基准基色值;
[0113]
(4)当所述最大的基准基色值不为零时,根据公式rgb
o
=d
·
[(rgb
i

vmin)/vmax8执行非线性运算以进行颜色凸显,其中,rgbo为经颜色凸显处理后的基色值,d为预设最大强度值,rgb
i
为经颜色补偿处理后的基色值,v
min
为最小的基色值,v
max
为最大的基准基色值,经颜色凸显处理后的基色值与经颜色补偿处理后的一一对应。相应地,当v
max
=0时,rgb
o
=d。优选地,d的值为255,但不以此为限。
[0114]
本实施例中,将经颜色凸显处理后的基色值作为目标基色值。
[0115]
具体地,在步骤s206中生成的三个基色值r
i
、g
i
、b
i
中,选取最小的基色值为v
min
;使r
i
、g
i
、b
i
三个值分别减去v
min
后,选取最大的基准基色值为v
max
;然后执行非线性运算,最后将值转换为0~255的范围,即r
o
=255
·
[(r
i

vmin)/vmax8、go=255(gi

vmin)/vmax8、bo=255(bi

vmin)/vmax8。
[0116]
例如,步骤s206中生成的r
i
=150、g
i
=50、b
i
=145,则最小的基色值v
min
=g
i
=50,最大的基准基色值v
max
=r
i

v
min
=100,此时,可根据公式计算出r
o
=255,g
o
=0,b
o
=169。
[0117]
因此,本发明通过对每一基色值分别进行颜色凸显处理,可使颜色输出大部分为红绿蓝三色,颜色变化更明显。
[0118]
s208,将声音数据转换为亮度值。
[0119]
s209,根据亮度值及目标基色值生成色彩控制参数。
[0120]
s210,将色彩控制参数按顺序输出至灯光组的各像素点中,以使灯光组的灯光呈流水式动态显示。
[0121]
本实施例的步骤s208

s210的过程具体可参考第一实施例的步骤s103

s105,在此不做更多的赘述。
[0122]
由上可知,本发明将声音频率与颜色结合起来,实现低频时灯光亮红色,中频时灯光亮绿色,高频时灯光亮蓝色,同时,当颜色过渡/频率处于临界时将出现其它的颜色(不同亮度的rgb混出来的颜色),使得颜色更为丰富。
[0123]
另外,本发明还加入了自动增益算法和非线性的算法,使灯光组中的点像素还可以根据声音有节奏地跑动,并且无论音乐的音量设为多少,灯光组都可以保持基本一致的跑动效果。
[0124]
参见图3,图3显示了本发明基于声音的灯光动态控制方法的第三实施例,包括:
[0125]
s301,获取声音数据。
[0126]
s302,将声音数据转换为频谱信号。
[0127]
s303,将频谱信号划分为至少两个基色区域并计算每一基色区域的基色值。
[0128]
本实施例中,将频谱信号划分为两个基色区域。
[0129]
s304,对每一基色值分别进行颜色过渡处理。
[0130]
s305,对经颜色过渡处理后的每一基色值分别进行颜色校正处理。
[0131]
s306,对经颜色校正处理后的每一基色值分别进行颜色补偿处理。
[0132]
本实施例中,将经颜色补偿处理后的基色值作为目标基色值。
[0133]
s307,将声音数据转换为亮度值。
[0134]
s308,根据亮度值及目标基色值生成色彩控制参数。
[0135]
s309,将色彩控制参数按顺序输出至灯光组的各像素点中,以使灯光组的灯光呈流水式动态显示。
[0136]
与图2所述的第二实施例不同的是,本实施例中,无需进行对经颜色补偿处理后的每一基色值分别进行颜色凸显处理。
[0137]
需要说明的是,当将频谱信号划分为两个基色区域进行颜色处理时,可将经颜色补偿处理后的基色值作为目标基色值,不再需要进行颜色凸显处理。
[0138]
相应地,本发明还公开了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,其中,处理器执行计算机程序时实现上述灯光动态控制方法的步骤。同时,本发明还公开了一种灯光动态控制系统,包括照明设备以及上述的计算机设备,所述计算机设备与所述照明设备连接;需要说明的是,所述计算机设备与所述照明设备之间可以采用无线连接或有线连接的方式;优选地,本发明的照明设备为灯带,但不以此为限,所述照明设备的类型可以根据实际使用情况选择。此外,本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述灯光动态控制方法的步骤。
[0139]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献