和弦音输出控制方法和系统与流程

文档序号:12678381阅读:316来源:国知局
和弦音输出控制方法和系统与流程

本发明涉及软件技术领域,特别是涉及一种和弦音输出控制方法和系统。



背景技术:

在对于蜂鸣器的应用中,可以控制蜂鸣器发出和弦音以达到不同的声音播放效果。在现有技术中,根据不同用户对于和弦音的不同需求,可以设计不同的控制程序来控制和弦音输出电路,从而使和弦音输出电路输出不同的和弦音。一种和弦音输出电路如图1所示,包括电阻R1、R2、R3三极管Q、电解电容EC和蜂鸣器,可通过控制程序控制该和弦音输出电路,使蜂鸣器输出不同的和弦音。充电控制端BUZ1通过单片机控制接地时电解电容EC4放电,此时蜂鸣器供电能量将提高至最大,BUZ1悬空时将对EC4骤步充电,此时蜂鸣器供电量将骤步减小,PWM(Pulse Width Modulation,脉冲宽度调制)控制端BUZ2提供频率信号,频率变化时音调将同时变化,再配合EC4电压变化时产生悦耳和弦音。

然而,现有技术中,当需要更改输出的和弦音时,需要相应地修改控制程序本身,这会带来以下几个问题:第一,大多数用户不是专业的程序员,修改程序时容易出错,严重时甚至会导致整个程序崩溃;第二,通过修改程序的方式来更改输出的和弦音效率较低,工作复杂度大。

综上所述,现有的和弦音控制方式控制过程复杂。



技术实现要素:

基于此,有必要针对现有的和弦音控制方式控制过程复杂的问题,提供一种和弦音输出控制方法和系统。

一种和弦音输出控制方法,包括以下步骤:

获取控制和弦音输出电路的函数模型以及存储和弦音数组的存储单元的地址;其中,所述函数模型中封装有与所述和弦音数组的数组元素相对应的控制参数;

根据所述地址从存储单元中调用对应的和弦音数组,将所述数组元素分别赋值给所述函数模型中对应的控制参数;

根据所述控制参数生成控制信号,并将所述控制信号输出至和弦音输出电路,控制所述和弦音输出电路输出相应的和弦音。

一种和弦音输出控制系统,包括:

获取模块,用于获取控制和弦音输出电路的函数模型以及存储和弦音数组的存储单元的地址;其中,所述函数模型中封装有与所述和弦音数组的数组元素相对应的控制参数;

赋值模块,用于根据所述地址从存储单元中调用对应的和弦音数组,将所述数组元素分别赋值给所述函数模型中对应的控制参数;

控制模块,用于根据所述控制参数生成控制信号,并将所述控制信号输出至和弦音输出电路,控制所述和弦音输出电路输出相应的和弦音。

上述和弦音输出控制方法和系统,通过从存储单元中调用和弦音数组,将和弦音数组的数组元素赋值给控制和弦音输出电路的函数模型的控制参数,并根据所述控制参数生成控制信号,控制和弦音输出电路输出相应的和弦音,当需要修改和弦音时,仅需要更改和弦音数组的地址,即可到其他地址中选择其他和弦音进行输出,或者仅需要到相应的存储单元中修改和弦音数组中数组元素的值,无需对程序本身进行改动,控制过程简单,复杂度低,操作简便,控制效率高。

附图说明

图1为一个实施例的和弦音输出电路的结构示意图;

图2为一个实施例的一个实施例的和弦音输出控制方法流程图;

图3(a)为一个实施例的随机控制方式的示意图;

图3(b)为一个实施例的顺序控制方式的示意图;

图4为一个实施例的和弦音输出控制系统的结构示意图。

具体实施方式

下面结合附图对本发明的技术方案进行说明。

如图2所示,本发明提供一种和弦音输出控制方法,可包括以下步骤:

S1,获取控制和弦音输出电路的函数模型以及存储和弦音数组的存储单元的地址;其中,所述函数模型中封装有与所述和弦音数组的数组元素相对应的控制参数;

本步骤以及本发明中其他部分所述的和弦音输出电路可以是如图1所示的和弦音输出电路,也可以是采用类似原理进行和弦音输出的其他类型的电路。

所述函数模型可以用于控制所述和弦音输出电路输出的和弦音的各个音符的音量、音调和/或持续时间。在一个实施例中,所述函数模型的控制参数可包括所述流过和弦音电路的电流值、所述和弦音电路的放电电压的频率和所述和弦音电路的充放电时间。其中,所述电流值用于控制所述音量,所述放电电压的频率用于控制所述音调,所述充放电时间用于控制所述音符的持续时间。因此,在一个实施例中,可以根据和弦音中各个音符的音量设置所述电流值;还可以根据和弦音中各个音符的音调设置所述放电电压的频率;还可以根据和弦音中各个音符的持续时间设置所述充放电时间。

在一个实施例中,所述和弦音数组的形式可以是如下形式:

{数组长度,频率1,充电时间1,放电时间1,频率2,充电时间2,放电时间2,……,频率n,充电时间n,放电时间n,……},其中,n为正整数。数组长度可以根据和弦音的音符数来设置,假设和弦音中包括m(m为正整数)个音符,则数组长度可以设为m,为了便于后续修改数组,例如,可能出现在数组中增加音符的情形,也可以将数组长度设为大于m的值。

所述函数模型中可以设置与所述和弦音数组的数组元素相应的控制参数,例如,当所述和弦音数组中包括频率、充电时间和放电时间时,所述控制参数相应地也包括频率、充电时间和放电时间。

S2,根据所述地址从存储单元中调用对应的和弦音数组,将所述数组元素分别赋值给所述函数模型中对应的控制参数;

存储和弦音数组的存储单元的地址可以存放在地址寄存器中,在读取地址时,可以通过一个指针*tabMusic1指向所述地址寄存器。该指针*tabMusic1在初始情况下可以指向0。可以在所述函数模型中设置另一个指针*tabMusic2,将指针*tabMusic1的值赋值给指针*tabMusic2。通过这种方式,所述函数模型和弦音数组的地址,并到所述地址对应的存储单元中调用所述和弦音数组。

赋值时,可将所述和弦音数组中的数组元素赋值给所述函数模型中对应的控制参数。例如,可将所述和弦音数组中的频率对应的数值赋值给所述控制参数中表示频率的参数;可将所述和弦音数组中的充电时间对应的数值赋值给所述控制参数中表示充电时间的参数;可将所述和弦音数组中的放电时间对应的数值赋值给所述控制参数中表示放电时间的参数;以此类推。

在一个实施例中,获取存储和弦音数组的存储单元的地址时,还可以获取和弦音数组的多个地址;其中,每个地址对应一个和弦音数组。在这种情况下,根据所述地址从存储单元中调用对应的和弦音数组时,可以从所述多个地址中随机选择一个地址;从选择的地址对应的存储单元中调用所述和弦音数组;或者根据所述多个地址的排列顺序从所述多个地址中顺次选择一个地址;从选择的地址对应的存储单元中调用所述和弦音数组。在第一种方式(随机控制方式)中,可以从多个和弦音数组中随机选择一个数组赋值给所述函数模型的控制参数,在第二种方式(顺序控制方式)中,可以从多个和弦音数组中顺次选择一个数组赋值给所述函数模型的控制参数。赋值后,可执行步骤S3。若本步骤中选择随机控制方式,在步骤S3中,在一组和弦音输出完毕之后,可返回从所述多个地址中随机选择一个地址的步骤,重新随机选择一个和弦音数组进行输出。若本步骤中选择顺序控制方式,在步骤S3中,在一组和弦音输出完毕之后,可选择当时和弦音数组的下一个和弦音数组进行输出。其中,当前和弦音数组是当前播放完毕的和弦音数组,下一个和弦音数组是当前和弦音数组对应的地址的下一个地址对应的和弦音数组。随机控制方式和顺序控制方式的示意图分别如图3(a)和图3(b)所示。通过上述两种方式,可以自动播放多首和弦音,无需用户控制,简化了用户操作。

在一个实施例中,若系统中存储的和弦音均不满足用户的需求,可以由用户自行设置和弦音。具体地,可以接收输入的参数设置指令;根据所述参数设置指令设置所述和弦音数组的数组元素。在将所述数组元素分别赋值给所述函数模型中对应的控制参数时,可以将设置后的和弦音数组的数组元素分别赋值给所述函数模型中对应的控制参数。

在一个实施例中,还可以预先设置若干个空数组,可以预先为所述空数组分配一定的存储空间,并为每个空数组分别分配一个地址。若系统中存储的和弦音均不满足用户的需求,用户可以在所述空数组中输入相应的值,并将所述地址的值修改为所述空数组的地址,则在赋值时,系统可直接将用户写入所述空数组中的数组元素赋值给所述函数模型的控制参数。

S3,根据所述控制参数生成控制信号,并将所述控制信号输出至和弦音输出电路,控制所述和弦音输出电路输出相应的和弦音。

在一个实施例中,控制所述和弦音输出电路输出相应的和弦音时,接收对所述和弦音输出电路的定时控制指令;其中,所述定时控制指令中包括所述和弦音的输出时间;将当前时间与所述输出时间进行比较,若当前时间与所述输出时间相同,控制所述和弦音输出电路输出相应的和弦音。所述输出时间可由用户输入,例如,可设置一人机交互界面,用户可直接在该人机交互界面中输入时间信息。通过这种方式,可以实现和弦音定时输出效果。

所述定时控制指令中还可以包括定时输出和弦音的重复频率和/或重复次数,可根据所述重复频率和/或重复次数控制所述和弦音输出电路输出相应的和弦音。所述重复频率包括不重复、每天一次、每个月一次等。所述重复次数可以设置为3次、5次、10次等。例如,当所述读取时间设置为2016年12月5日17时30分25秒,所述重复频率设置为不重复时,则可在最近一次到达2016年12月5日17时30分25秒时控制所述和弦音输出电路输出相应的和弦音,之后不再输出。当所述读取时间设置为2016年12月5日17时30分25秒,所述重复频率设置为每个月一次,则可在每个月5号17时30分25秒定时控制所述和弦音输出电路输出相应的和弦音。当所述读取时间设置为2016年12月5日17时30分25秒,所述重复频率设置为每天一次,所述重复时间设置为3次,则可以连续3天,在每天的17时30分25秒时控制所述和弦音输出电路输出相应的和弦音。

如图4所示,本发明提供一种和弦音输出控制系统,可包括:

获取模块10,用于获取控制和弦音输出电路的函数模型以及存储和弦音数组的存储单元的地址;其中,所述函数模型中封装有与所述和弦音数组的数组元素相对应的控制参数;

本模块以及本发明中其他部分所述的和弦音输出电路可以是如图1所示的和弦音输出电路,也可以是采用类似原理进行和弦音输出的其他类型的电路。

所述函数模型可以用于控制所述和弦音输出电路输出的和弦音的各个音符的音量、音调和/或持续时间。在一个实施例中,所述函数模型的控制参数可包括所述流过和弦音电路的电流值、所述和弦音电路的放电电压的频率和所述和弦音电路的充放电时间。其中,所述电流值用于控制所述音量,所述放电电压的频率用于控制所述音调,所述充放电时间用于控制所述音符的持续时间。因此,在一个实施例中,可以根据和弦音中各个音符的音量设置所述电流值;还可以根据和弦音中各个音符的音调设置所述放电电压的频率;还可以根据和弦音中各个音符的持续时间设置所述充放电时间。

在一个实施例中,所述和弦音数组的形式可以是如下形式:

{数组长度,频率1,充电时间1,放电时间1,频率2,充电时间2,放电时间2,……,频率n,充电时间n,放电时间n,……},其中,n为正整数。数组长度可以根据和弦音的音符数来设置,假设和弦音中包括m(m为正整数)个音符,则数组长度可以设为m,为了便于后续修改数组,例如,可能出现在数组中增加音符的情形,也可以将数组长度设为大于m的值。

所述函数模型中可以设置与所述和弦音数组的数组元素相应的控制参数,例如,当所述和弦音数组中包括频率、充电时间和放电时间时,所述控制参数相应地也包括频率、充电时间和放电时间。

赋值模块20,用于根据所述地址从存储单元中调用对应的和弦音数组,将所述数组元素分别赋值给所述函数模型中对应的控制参数;

存储和弦音数组的存储单元的地址可以存放在地址寄存器中,在读取地址时,可以通过一个指针*tabMusic1指向所述地址寄存器。该指针*tabMusic1在初始情况下可以指向0。可以在所述函数模型中设置另一个指针*tabMusic2,将指针*tabMusic1的值赋值给指针*tabMusic2。通过这种方式,所述函数模型和弦音数组的地址,并到所述地址对应的存储单元中调用所述和弦音数组。

赋值时,可将所述和弦音数组中的数组元素赋值给所述函数模型中对应的控制参数。例如,可将所述和弦音数组中的频率对应的数值赋值给所述控制参数中表示频率的参数;可将所述和弦音数组中的充电时间对应的数值赋值给所述控制参数中表示充电时间的参数;可将所述和弦音数组中的放电时间对应的数值赋值给所述控制参数中表示放电时间的参数;以此类推。

在一个实施例中,所述获取模块10可包括获取单元,用于获取和弦音数组的多个地址;其中,每个地址对应一个和弦音数组。在这种情况下,所述赋值模块20可包括:第一选择单元,用于从所述多个地址中随机选择一个地址;第一调用单元,用于从选择的地址对应的存储单元中调用所述和弦音数组;或者第二选择单元,用于根据所述多个地址的排列顺序从所述多个地址中顺次选择一个地址;第二调用单元,用于从选择的地址对应的存储单元中调用所述和弦音数组。在第一种方式(随机控制方式)中,可以从多个和弦音数组中随机选择一个数组赋值给所述函数模型的控制参数,在第二种方式(顺序控制方式)中,可以从多个和弦音数组中顺次选择一个数组赋值给所述函数模型的控制参数。赋值后,可执行控制模块30的功能。若本模块中选择随机控制方式,在控制模块30中,在一组和弦音输出完毕之后,可返回执行从所述多个地址中随机选择一个地址的功能,重新随机选择一个和弦音数组进行输出。若本模块中选择顺序控制方式,在控制模块30中,在一组和弦音输出完毕之后,可选择当时和弦音数组的下一个和弦音数组进行输出。其中,当前和弦音数组是当前播放完毕的和弦音数组,下一个和弦音数组是当前和弦音数组对应的地址的下一个地址对应的和弦音数组。随机控制方式和顺序控制方式的示意图分别如图3(a)和图3(b)所示。通过上述两种方式,可以自动播放多首和弦音,无需用户控制,简化了用户操作。

在一个实施例中,若系统中存储的和弦音均不满足用户的需求,可以由用户自行设置和弦音。具体地,所述和弦音输出控制系统还可以包括接收模块,用于接收输入的参数设置指令;设置模块,用于根据所述参数设置指令设置所述和弦音数组的数组元素。所述赋值模块20还可以包括赋值单元,用于将设置后的和弦音数组的数组元素分别赋值给所述函数模型中对应的控制参数。

在一个实施例中,还可以预先设置若干个空数组,可以预先为所述空数组分配一定的存储空间,并为每个空数组分别分配一个地址。若系统中存储的和弦音均不满足用户的需求,用户可以在所述空数组中输入相应的值,并将所述地址的值修改为所述空数组的地址,则在赋值时,系统可直接将用户写入所述空数组中的数组元素赋值给所述函数模型的控制参数。

控制模块30,用于根据所述控制参数生成控制信号,并将所述控制信号输出至和弦音输出电路,控制所述和弦音输出电路输出相应的和弦音。

在一个实施例中,控制模块30可包括接收单元和控制单元,接收单元用于接收对所述和弦音输出电路的定时控制指令;其中,所述定时控制指令中包括所述和弦音的输出时间;控制单元用于将当前时间与所述输出时间进行比较,若当前时间与所述输出时间相同,控制所述和弦音输出电路输出相应的和弦音。所述输出时间可由用户输入,例如,可设置一人机交互界面,用户可直接在该人机交互界面中输入时间信息。通过这种方式,可以实现和弦音定时输出效果。

所述定时控制指令中还可以包括定时输出和弦音的重复频率和/或重复次数,可根据所述重复频率和/或重复次数控制所述和弦音输出电路输出相应的和弦音。所述重复频率包括不重复、每天一次、每个月一次等。所述重复次数可以设置为3次、5次、10次等。例如,当所述读取时间设置为2016年12月5日17时30分25秒,所述重复频率设置为不重复时,则可在最近一次到达2016年12月5日17时30分25秒时控制所述和弦音输出电路输出相应的和弦音,之后不再输出。当所述读取时间设置为2016年12月5日17时30分25秒,所述重复频率设置为每个月一次,则可在每个月5号17时30分25秒定时控制所述和弦音输出电路输出相应的和弦音。当所述读取时间设置为2016年12月5日17时30分25秒,所述重复频率设置为每天一次,所述重复时间设置为3次,则可以连续3天,在每天的17时30分25秒时控制所述和弦音输出电路输出相应的和弦音。

通过上述和弦音输出控制方法,当需要更改输出的和弦音时,无需修改程序本身,只需修改相应的地址参数或数组参数即可,大大简化了和弦音输出控制方式,提高了控制效率,减小了操作复杂度。

本发明的和弦音输出控制系统与本发明的和弦音输出控制方法一一对应,在上述和弦音输出控制方法的实施例阐述的技术特征及其有益效果均适用于和弦音输出控制系统的实施例中,特此声明。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1