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

乐音控制装置以及乐音控制方法与流程

2021-06-04 12:27:00 来源:中国专利 TAG:乐音 控制 装置 方法


1.本发明涉及一种乐音控制装置以及乐音控制方法。


背景技术:

2.先前,存在被称为步骤音序器(step sequencer)的自动演奏装置。步骤音序器是将多个音素片段分配至规定数量的步骤(step),重复进行按规定的播放顺序各播放规定长度时间的动作(例如,专利文献1)。有时也会对在各步骤所播放的乐音赋予效果。
3.[现有技术文献]
[0004]
[专利文献]
[0005]
[专利文献1]日本专利特开2002

23751号公报


技术实现要素:

[0006]
[发明所要解决的问题]
[0007]
在现有技术中,当针对最终步骤的动作结束时,只是从最早步骤起重复进行处理。而且,没有考虑在每个步骤中使效果的程度随时间发生变化。
[0008]
本发明的目的在于提供一种能够提供饶有趣味的乐音的乐音控制装置及乐音控制方法。
[0009]
[解决问题的技术手段]
[0010]
本发明的一个实施例是一种乐音控制装置,其包括:
[0011]
多个操作器;
[0012]
乐音处理部,重复进行如下的处理,即,按照通过所述多个操作器而设定的控制信息,控制多个步骤的各个中的乐音;以及
[0013]
控制部,当规定条件满足时,所述乐音处理部对针对所有所述多个步骤的乐音进行控制的处理已巡回一圈时,使所述乐音处理部的动作停止。
[0014]
在乐音控制装置中,也可以构成为:所述规定条件是设定使乐音处理部的动作巡回一圈就停止的值,并且设定了表示控制针对所有所述多个步骤的乐音的处理已巡回一圈的旗标。
[0015]
在乐音控制装置中,也可以构成为:所述控制部在所述多个步骤中分别设定变化样式,所述变化样式是选自表示所述控制信息所示的值的步骤内的随时间的变化的多个变化样式。
[0016]
在乐音控制装置中,也可以构成为:所述控制信息所示的值按照在所述多个步骤中分别设定的变化样式,在最小值至最大值之间变化。
[0017]
在乐音控制装置中,也可以构成为:所述控制信息所示的值包括对针对所述多个步骤分别生成的乐音的音高(pitch)进行控制的设定值。
[0018]
并且,在乐音控制装置中,也可以构成为:所述控制信息所示的值包括对针对所述多个步骤分别生成的乐音的截止频率(cutoff frequency)进行控制的设定值。
[0019]
并且,在乐音控制装置中,也可以构成为:所述控制信息包括对针对所述多个步骤分别生成的乐音的音量(volume)进行控制的设定值。
[0020]
在乐音控制装置中,也可以构成为:所述乐音处理部包括各别地设定所述控制信息,能够并联运行的第一乐音处理部及第二乐音处理部,
[0021]
所述控制部在已设定所述第一乐音处理部与所述第二乐音处理部的同步的状态下,接收到再触发(retrigger)指示时,使所述第一乐音处理部及所述第二乐音处理部中所分别设定的多个步骤的最早步骤的处理配合时序而开始。
[0022]
本发明的一个实施例是一种乐音控制装置,其包括:
[0023]
所述多个操作器;
[0024]
乐音处理部,重复进行如下的处理,即,按照通过所述多个操作器而设定的控制信息,控制多个步骤的各个中的乐音;以及
[0025]
控制部,在所述多个步骤中分别设定变化样式,所述变化样式是选自表示所述控制信息所示的值的步骤内的随时间的变化的多个变化样式。
[0026]
并且,本发明的一个实施例是一种乐音控制方法,其包括:
[0027]
乐音控制装置按照通过多个操作器而设定的控制信息,控制多个步骤的各个中的乐音;以及
[0028]
所述乐音控制装置在规定条件满足时,控制所述乐音的处理已巡回一圈时,使控制所述乐音的处理停止。
[0029]
并且,本发明的一个实施例是一种乐音控制方法,其包括:
[0030]
乐音控制装置按照通过多个操作器而设定的控制信息,控制多个步骤的各个中的乐音;以及
[0031]
所述乐音控制装置在所述多个步骤中分别设定变化样式,所述变化样式是选自表示所述控制信息所示的值的步骤内的随时间的变化的多个变化样式(曲线(curve))。
附图说明
[0032]
图1表示乐音控制装置的一例的整体结构。
[0033]
图2是表示乐音控制装置所包括的操作器的面板(panel)的图。
[0034]
图3(a)至图3(c)是表示乐音控制装置所包括的操作器的面板的图。
[0035]
图4(a)及图4(b)表示存储装置中所存储的信息。
[0036]
图5是数字信号处理器(digital signal processor,dsp)的处理的说明图。
[0037]
图6表示中央处理器(central processing unit,cpu)的周期处理的示例。
[0038]
图7表示音序器的信号生成处理的示例。
[0039]
图8表示音序器的信号生成处理的示例。
[0040]
图9表示信号生成处理中的变量phase的波形的示例。
[0041]
图10表示音序器的步骤步进处理的示例。
[0042]
图11表示基于curve(曲线)的设定值的波形加工处理的示例。
[0043]
图12表示信号生成处理中的变量wave的波形的示例。
[0044]
图13表示音高(pitch)控制的示例。
[0045]
图14表示参数最小值(minimum,min)、参数最大值(maximum,max)的作用。
[0046]
图15表示截止(cutoff)控制的示例。
[0047]
图16表示电平(level)控制的示例。
[0048]
图17表示音序器的导通(on)/断开(off)处理的示例。
[0049]
图18表示音序器的启动(start)处理的示例。
[0050]
图19表示再触发(retrigger)处理的示例。
[0051]
图20表示面向合成器(synthesizer)的应用例。
[0052]
[符号的说明]
[0053]
10:乐音控制装置
[0054]
11:cpu
[0055]
12:ram
[0056]
13:rom
[0057]
14:dsp
[0058]
15:操作器
[0059]
16:显示器
具体实施方式
[0060]
以下,参照附图,对实施方式进行说明。实施方式的结构是例示,并不限定于实施方式的结构。
[0061]
图1是表示实施方式的乐音控制装置10的结构例。乐音控制装置10具有对整个乐音控制装置10的动作进行控制的中央处理器(central processing unit,cpu)11。cpu 11经由总线(bus)1,与随机存取存储器(random access memory,ram)12、只读存储器(read only memory,rom)13、数字信号处理器(digital signal processor,dsp)14、操作器15及显示器16连接。
[0062]
ram 12用作cpu 11的操作区域、程序或数据的存储区域。rom 13用作程序或数据的存储区域。ram 12及rom 13是存储装置(存储介质)的一例。
[0063]
乐音控制装置10具有被输入通过演奏乐器而产生的乐音或借由播放而产生的乐音的声音输入端子。从声音输入端子输入的乐音信号经模拟到数字(analog to digital,a/d)转换器17转换成数字信号,输入至dsp 14。dsp 14对乐音信号赋予效果,输出经赋予效果的乐音信号。乐音信号经数字到模拟(digital to analog,d/a)d/a转换器18转换成模拟信号,从声音输出端子输出。经输出的乐音信号通过放大器放大而从扬声器(speaker)放出。
[0064]
操作器15是由乐音控制装置的用户(操作员)操作的旋钮、按钮(button)、开关等。显示器16是显示屏(display)、灯(发光二极管(light

emitting diode,led)等)等,用于显示信息。
[0065]
图2及图3(a)至图3(c)是表示乐音控制装置10所包括的操作器的面板的图。面板包括多个操作器15及显示器16。在本实施方式中,两个独立的步骤音序器(seq1、seq2)分别独立地(并联)运行。因此,面板包括seq1用的面板p1及seq2用的面板p2。图2中,面板p1及面板p2是示意性地表示为标签(tab)。两者具有相同结构。通过操作设置于标签部(tab portion)的音序器选择按钮(seq1、seq2),能够选择面板p1或面板p2,进行相对应的步骤音
序器的设定。
[0066]
图2中,在面板p1的上侧,表示了在seq1与seq2中共用的操作器。作为速度(tempo)设定用的操作器,例示了调整每分钟节拍数(beat per minute,bpm)的旋钮、表示经设定的bpm的显示器。在其右侧,设置有seq1及seq2的各自的导通/断开按钮。导通/断开按钮是自照明式按钮,在导通的情况下为点灯。在其右侧,设置有再触发(retrigger)按钮。若在同步(synchronization)(sync)为导通的状态下按下再触发按钮,则会与再触发按钮的操作同步地进行步骤音序器的提示(cue)。只要在seq1与seq2两者中同步(sync)为导通的状态,就会同时进行seq1与seq2的提示,结果使得seq1与seq2的提示同步。
[0067]
面板p1在中央,具有作为显示器16的液晶显示器(liquid crystal display,lcd)显示屏16a。在显示屏16a的上侧,设置有一排用于指定步骤的16个按钮(步骤选择按钮)。在本实施方式中,可以将16作为最大数来选择规定数量的步骤。通过按下各按钮,可以指定相对应的步骤,可以进行针对步骤的参数设定。
[0068]
并且,面板p1具有参数选择按钮,所述参数选择按钮用于针对每个步骤,选择七个参数(curve(曲线)、pitch(音高)(min)、pitch(音高)(max)、cutoff(截止)(min)、cutoff(截止)(max)、level(电平)(min)、level(电平)(max))。参数选择按钮分别是自照明式开关,一按下就点灯,表示已选择所述参数。
[0069]
具体地说,在面板p1的显示屏的左侧,设置有设定曲线(curve)的按钮。曲线表示在相对应的步骤中所赋予的效果的程度的随时间的变化(包络(envelope))的状态。并且,在曲线的按钮的下方,设置有选择音高(pitch)的最大值(max)及最小值(min)的按钮、选择表示截止频率的截止(cutoff)的最大值(max)及最小值(min)的按钮、选择表示音量的电平(level)的最大值(max)及最小值(min)的按钮。
[0070]
在显示屏16a的下侧,设置有设定步骤数(length(音长))的旋钮、以及显示所设定的步骤数的显示器。在其右侧,有用于选择规定一个步骤的行进速度的音符(note)的按钮、以及表示所设定的音符是四分音符、八分音符、十六音符中的哪个的三个led,对应于所选择的音符的led点灯。
[0071]
并且,设置有表示单发(one

shot)及同步(sync)的各自的导通/断开的自照明式按钮,当导通时按钮所包含的led点灯。同步(sync)的按钮通过导通/断开,来表示是与再触发按钮的操作同步(导通)还是不同步(断开)的状态。
[0072]
在显示屏16a的右侧,设置有对量(value)进行调整的旋钮。通过音序器选择按钮选择音序器,通过步骤选择按钮选择步骤,通过参数选择按钮选择参数。于是,旋钮作为使所选择的参数增减的旋钮而运行。用户能够利用value(量)的旋钮来规定各参数的设定值。
[0073]
在这里,单发是音序器的一个动作模式。在单发为断开的情况,当针对规定数量的步骤的最后步骤的处理结束时,处理返回到最早步骤。重复进行如上所述的循环(loop)。与此相对,在单发为导通的情况,当针对所有规定数量的步骤的处理已巡回一圈时音序器停止运行。这时,作为乐音控制装置10的动作,进行音序器的动作停止时的动作。当运行停止时,此前一直通过步骤音序器而执行的音高控制、截止控制、电平控制停止,按照手动的设定值进行控制。
[0074]
图3(a)表示用于从seq1、seq2、用户(手动)中选择音高的控制源的操作器。操作器包括分别选择seq1及seq2的自照明式按钮、以及变更音高的旋钮。当seq1或seq2的按钮设
为导通时,音高利用针对与被按下的按钮相对应的音序器而设定的音高的参数,对乐音(musical sound)(声音(sound))赋予效果。当seq1及seq2的按钮为断开时,可以通过旋钮的操作,来手动控制音高移位(pitch shift)量。利用所述旋钮,可以在 /

2八度音阶(octave)的范围内设定音高移位量( /

2八度音阶是 /

24半音)。
[0075]
图3(b)表示用于从seq1、seq2及手动中选择截止频率的控制源的操作器。操作器包括分别选择seq1及seq2的按钮、以及变更截止频率的旋钮。当按下seq1或seq2的按钮时,利用针对与所按下的按钮相对应的音序器而设定的截止频率的参数,对乐音(声音)赋予效果。与此相对,当seq1及seq2的按钮为断开时,可以通过旋钮的操作,来手动控制截止频率。
[0076]
图3(c)表示用于从seq1、seq2及用户中选择音量(电平)的控制源的操作器。操作器包括分别选择seq1及seq2的按钮、以及变更电平的旋钮。与音高或截止频率同样地,seq1或seq2的按钮为导通时,利用针对与所按下的按钮相对应的音序器而设定的电平的参数,对乐音(声音)赋予效果。当两者的按钮为断开时,可以通过旋钮的操作来手动控制音量(电平)。
[0077]
图4(a)及图4(b)表示存储装置(存储器:ram 12)中所存储的乐音控制装置10的控制信息。在图4(a)及图4(b)的各表中,用大写字母表示的项目表示通过面板操作而设定的值(参数),用小写字母表示的项目是cpu 11的处理中所使用的变量。在以后的流程图中也是同样。所述参数及变量(控制信息)根据利用面板而进行的设定,由cpu 11存储于ram 12。
[0078]
通过面板操作而设定的值是通过对图2及图3(a)至图3(c)所示的操作器进行操作而设定的值。作为cpu处理中所使用的变量,有以下的变量。
[0079]
变量“control.pitch”是通过乐音控制装置10而执行的音高控制的值。根据所述值设定与dsp 14的音高相关的效果。变量“control.cutoff”是通过乐音控制装置10而执行的截止控制的值。根据所述值设定与dsp 14的截止相关的效果。变量“control.level”是通过乐音控制装置10而执行的电平控制的值。根据所述值设定与dsp 14的电平相关的效果。
[0080]
变量“seq1.count”是表示步骤的位置的计数器(counter)。例如,若音长(length)=4,则如下所述进行计数。
[0081]
0、1、2、3、0、1、2、3、
……
[0082]
变量“seq1.phase”是在一个步骤的区间从0.0向1.0单调增加的相位值。变量“seq1.wave”是针对“seq1.phase”实施基于curve(曲线)的波形加工之后的值。变量“seq1.firstloop”是表示是否为初次循环的旗标,若是初次循环则显示1,若不是则显示0。在这里,所谓循环,是指使通过length(音长)而指定的一系列步骤巡回一圈。
[0083]
图5是dsp 14的处理的说明图。图5中,dsp 14作为音高移位器(pitch shift)141、滤波器(filter)142、放大器(amplifier)(amp)143,进行对从a/d转换器17输入的乐音的信号赋予效果的处理。
[0084]
音高移位器141进行根据所指定的值来改变声音信号的音高的处理(音高移位处理)。在音高移位器141中,参照通过cpu 11而设定的变量“control.pitch”,利用与所述值相应的特性来赋予效果。
[0085]
滤波器142例如是改变乐音信号的频率特性的低通滤波器(low

pass filter)。滤波器142进行如下的处理:基于与所指定的值(变量“control.cutoff”)相应的截止频率,使截止频率以下的频率的成分通过,由此对声音信号的音色赋予变化。也可以应用高通滤波
器(high

pass filter)、带通滤波器(band

pass filter)等来代替低通滤波器。amp 143进行根据所指定的值(变量“control.level”)改变乐音信号的振幅的处理。
[0086]
图6是表示通过cpu 11而执行的周期处理的示例的流程图。周期处理是通过定时器(timer)以1msec为周期而启动及执行。周期既可以长于1msec,也可以短于1msec。通过周期处理,来进行seq1及seq2的控制信号生成、以及dsp 14的控制值的设定。
[0087]
具体地说,在步骤s01中,cpu 11执行针对seq1的信号生成处理的子程序(subroutine)。在步骤s02中,cpu 11执行针对seq2的信号生成处理的子程序。在步骤s03中,cpu 11执行pitch(音高)控制的子程序。在步骤s04中,cpu 11执行cutoff(截止)控制的子程序。在步骤s05中,cpu 11执行level(电平)控制的子程序。
[0088]
图7及图8表示seq1的信号生成处理。seq2的信号生成处理与seq1的信号生成处理相同,因此代表性地对seq1的信号生成处理进行说明。信号生成处理是根据音序器(seq1、seq2)的参数的设定,生成伴随着时间经过而变化的控制信号(seqn.wave)的处理,且是从cpu 11的周期处理中调用的子程序。
[0089]
图9表示信号生成处理中的变量“相位(phase)”的波形。相位的波形是将值由0.0变至1.0的期间设为一个步骤的锯齿波(sawtooth wave),每当值达到1.0时,使计数值(count)递增(加1)。计数值的初始值为0,增加至1、2、3、4
……

[0090]
在图7所示的步骤s001中,cpu 11进行速率(rate)计算。rate(速率)计算是基于参数“bpm”及seq1的“note(音符)”的设定值而计算。rate(速率)计算是计算所述变量“phase”的cpu 11的一次周期处理的增量的处理。利用以下的式子来计算。
[0091]
rate=bpm/60*seq1.note/1000
[0092]
在这里,每分钟节拍数(beat per minute,bpm)表示速度,表示一分钟的拍数(四分音符的数量)。通过bpm/60的计算而计算每秒的拍数。除以1000的除法是基于进行每秒1000次的周期处理。关于rate(速率)计算,例如,若bpm=120,note(音符)=1.0(四分音符),则rate(速率)=0.002。另外,在本实施方式中,若信号生成处理的子程序被调用500次,则变量“phase”的值(相位值)从0.0增加至1.0。
[0093]
在步骤s002中,cpu 11将seq1的相位值,变更为对当前的相位值加上s001中所算出的rate(速率)的值(速率值)所得的数。因此,seq1的相位值仅增加速率值。
[0094]
在步骤s003中,cpu 11判定函数“floor(seq1.phase)”的值是否为1.0以上。此处,floor(x)是获得x以下的最大整数的函数,例如,floor(1.1)的值成为1.0。步骤s003的处理是判定相位值是否达到最大值1.0的处理。当floor(seq1.phase)的值是1.0以上时(s003的是(yes)),处理进入至s004,当不是时(s003的否(no)),处理进入至s005。
[0095]
在步骤s004中,cpu 11执行与seq1相关的step(步骤)步进处理的子程序。步进处理是推进step(步骤)的值(步骤值)的处理、以及根据音序器的步骤数(length(音长))的设定值重设步骤值的处理。
[0096]
图10是表示step(步骤)步进处理的一例的流程图。图10表示与seq1相关的步进处理,但关于seq2,也进行相同的处理。在步骤s101中,cpu 11使seq1的计数值“seq1.count”的值递增。因此,计数值成为加1后的值。
[0097]
在步骤s102中,cpu 11判定当前的计数值是否达到seq1的步骤数(length(音长))的设定值。当判定为计数值达到length(音长)的设定值时(s102的是(yes)),处理进入至步
骤s103,当判定为计数值没有达到length(音长)的设定值时(s102的否(no)),步进处理结束(返回)。
[0098]
在步骤s103中,cpu 11将当前的计数值设定为0。在步骤s104中,cpu 11将单发的控制用旗标即变量“seq1.firstloop”的值设定为0。变量“seq1.firstloop”是当length(音长)值的所有步骤巡回一圈后变为0的值。变量“seq1.firstloop”的值在实施了再触发时,音序器变为导通时设定为1。当步骤s104的处理结束时,步进处理结束。
[0099]
返回到图7,在步骤s005中,cpu 11将相位值设定为从当前的相位值减去floor(seq1.phase)的值所得的值。在步骤s006中,判定针对当前的步骤而设定的曲线(curve)的种类。
[0100]
图11表示曲线(包络:波形的随时间的变化样式)的种类及波形的随时间的变化。针对多种曲线,分配了curve(曲线)的值(曲线值)。在图11所示的示例中,针对五种曲线,分配了曲线值0~曲线值4。当曲线值=0时,在一个步骤期间,值不变而为1.0。当曲线值=1时,在一个步骤期间,值从0.0线性增加至1.0。当曲线值=2时,在一个步骤期间,值从1.0线性减少至0.0。当曲线值=3时,在一个步骤期间,值描绘出曲线(抛物线)而从0.0增加至1.0。当曲线值=4时,在一个步骤期间,值描绘出曲线(抛物线)而从1.0减少至0.0。变化样式的波形形状并不限定于图11的示例,种类数既可以是5以上,也可以少于5。
[0101]
在步骤s005中,cpu 11判定利用面板p1而设定的曲线值为0~4中的哪个。若曲线值为0,则cpu 11进行波形成为曲线值0的波形的处理(步骤s007)。若曲线值为1,则cpu 11进行波形成为曲线值1的波形的处理(步骤s008)。若曲线值为2,则cpu 11进行波形成为曲线值2的波形的处理(步骤s009)。若曲线值为3,则cpu 11进行波形成为曲线值3的波形的处理(步骤s010)。若曲线值为4,则cpu 11进行波形成为曲线值4的波形的处理(步骤s011)。
[0102]
图12表示信号生成处理中的变量wave的波形(控制信号波形)的示例。在图12的示例中,图示了针对在length(音长)中所设定的步骤0~4,分别将曲线值设定为0、1、1、2、4时的控制信号wave的波形。通过如上所述针对各步骤设置曲线的设定值,可以生成复杂的波形变化(包络)。
[0103]
图13是表示音高控制(步骤s03)的处理例的流程图。音高控制是利用通过信号生成处理而获得的控制信号和以下的参数及变量来进行。
[0104]

source.pitch
[0105]

manual.pitch
[0106]

seq1.step[count].pitch.min、seq1.step[count].pitch.max
[0107]

seq2.step[count].pitch.min、seq2.step[count].pitch.max
[0108]

seq1.onoff
[0109]

seq1.oneshot
[0110]

seq2.onoff
[0111]

seq2.oneshot
[0112]

seq1.firstloop
[0113]

seq2.firstloop
[0114]
在步骤s111中,判定表示音高控制的种类的“source.pitch”(源音高值)。源音高值在图3(a)所示的seq1、seq2的按钮都未被按下时为“off(断开)”,在按下seq1的按钮时为

seq1”,在按下seq2的按钮时为“seq2”。
[0115]
当将源音高值判定为“off(断开)”时,处理进入至步骤s112,当源音高值判定为“seq1”时,处理进入至步骤s113,当源音高值判定为“seq2”时,处理进入至步骤s116。
[0116]
在步骤s112中,cpu 11将变量“control.pitch”的值,设定为利用旋钮而设定的“手动音高(manual.pitch)”的值,结束音高控制处理。
[0117]
在步骤s113中,cpu 11进行seq1是否有效的判定。s113的判定在满足以下的条件时判定为有效,除此以外判定为无效。
[0118]
seq1.onoff==1&&(seq1.oneshot==0||seq1.firstloop==1)
[0119]
即,cpu 11判定变量“seq1.oneshot”的值是否为“0”,变量“seq1.firstloop”的值是否为“1”。在这里,变量“seq1.oneshot”是表示单发的导通/断开的变量,若值为0则单发为断开,若值为1则单发为导通。变量“seq1.firstloop”是如上所述,seq1的所有步骤已巡回一圈时变为“0”的变量(参照图10的s104)。
[0120]
在步骤s113中,当条件满足而判定为有效时,处理进入至s114,当条件不满足而判定为无效时,处理进入至s115。在步骤s115中,进行与步骤s112同样的处理。
[0121]
在步骤s114中,cpu 11将变量“control.pitch”的值设定为由以下的ip函数求出的值。
[0122]
ip(seq1.wave,seq1.step[count].pitch.min,seq1.step[count].pitch.max)
[0123]
在这里,ip(wave,min,max)函数是用于获得在从最小值min到最大值max之间以波形wave的值(0.0~1.0)内插所得的值的函数。
[0124]
ip(wave,min,max):=wave*max (1.0-wave)*min
[0125]
图14是说明参数min、参数max的作用的图。波形wave假设为表示如图14的上段所示的从0.0向1.0呈直线状增加的波形。这时,当将最小值min设定为20,将最大值max设定为80时,波形的最小值设定为0.0至20,最大值设定为1.0至80。最小值与最大值之间的波形因取决于wave而呈直线状。
[0126]
在步骤s114中,cpu 11求出seq1的控制信号wave的波形(seq1.wave)、针对当前的步骤而设定的音高的最小值(seq1.step[count].pitch.min)及音高的最大值(seq1.step[count].pitch.max)的ip函数,将其值设定为变量“control.pitch”的值。
[0127]
步骤s116、步骤s117、步骤s118的处理除了对象不是seq1而是seq2的方面以外,与步骤s113、步骤s114、步骤s115的处理相同,因此省略说明。s116的有效无效的条件与s113的有效无效的条件相同。
[0128]
cpu 11将通过音高控制而获得的变量“control.pitch”的值作为dsp 14的控制值存储于ram 12。在图5所示的音高移位器141中,dsp 14使用所存储的变量“control.pitch”的值。
[0129]
若变量“seq1.oneshot”为“0(断开)”,则音高控制按照seq1的设定值而进行。当变量“seq1.oneshot”为“1(导通)”时,若变量“seq1.firstloop”的值为“0”,则音高控制按照seq1的设定值而进行。当变量“seq1.oneshot”为“1(导通)”,并且变量“seq1.firstloop”的值为“0”时,音高控制是按照手动设定值。这意味着seq1的动作已停止。如上所述的操作就seq2而言也是同样。并且,在截止控制及电平控制中也采用同样的操作。
[0130]
图15是表示截止控制(步骤s04)的处理例的流程图。截止控制是使用通过信号生
成处理而获得的控制信号wave和以下的参数及变量等而进行。
[0131]

source.cutoff
[0132]

manual.cutoff
[0133]

seq1.step[count].cutoff.min、seq1.step[count].cutoff.max
[0134]

seq2.step[count].cutoff.min、seq2.step[count].cutoff.max
[0135]

seq1.onoff
[0136]

seq1.oneshot
[0137]

seq2.onoff
[0138]

seq2.oneshot
[0139]

seq1.firstloop
[0140]

seq2.firstloop
[0141]
在步骤s121中,判定表示截止控制的种类的“source.pitch”(源截止值)。源截止值在图3(b)所示的seq1、seq2的按钮均未经按下时为“断开(off)”,在seq1的按钮经按下时为“seq1”,在seq2的按钮经按下时为“seq2”。
[0142]
当将源截止值判定为“断开(off)”时,处理进入至步骤s122,当将源截止值判定为“seq1”时,处理进入至步骤s123,当将源截止值判定为“seq2”时,处理进入至步骤s126。
[0143]
在步骤s122中,cpu 11将变量“control.cutoff”的值,设为利用旋钮而设定的“手动截止(manual.cutoff)”的值,结束截止控制处理。
[0144]
在步骤s123中,cpu 11进行seq1是否有效的判定。s123的用于判定的条件与步骤s113中所使用的条件相同。当判定为有效时处理进入至s124,当判定为无效时处理进入至s125。在步骤s125中,cpu 11进行与步骤s122同样的处理。
[0145]
在步骤s124中,cpu 11将变量“control.cutoff”的值设定为由以下的ip函数求出的值。
[0146]
ip(seq1.wave,seq1.step[count].cutoff.min,seq1.step[count].cutoff.max)
[0147]
即,在步骤s124中,cpu 11求出seq1的控制信号wave的波形(seq1.wave)、针对当前的步骤而设定的音高的最小值(seq1.step[count].cutoff.min)及音高的最大值(seq1.step[count].cutoff.max)的ip函数,将其值设定为变量“control.cutoff”的值。
[0148]
步骤s126、步骤s127、步骤s128的处理除了对象不是seq1而是seq2的方面以外,与步骤s123、步骤s124、步骤s125的处理相同,因此省略说明。s126的有效无效的条件与s123的有效无效的条件相同。
[0149]
cpu 11将通过截止控制而获得的变量“control.cutoff”的值作为dsp 14的控制值存储于ram 12。在图5所示的滤波器142的处理中,dsp 14使用所存储的变量“control.cutoff”的值。例如,可以通过基于变量“control.cutoff”变更滤波器所包含的乘法器(multiplier)的系数,来变更滤波器142的截止频率。因此,能够将输入音(原音)变更为明亮音或深沉音等。
[0150]
图16是表示电平控制(步骤s06)的处理例的流程图。电平控制是使用通过信号生成处理而获得的控制信号wave和以下的参数及变量而进行。
[0151]

source.level
[0152]

manual.level
[0153]

seq1.step[count].level.min、seq1.step[count].level.max
[0154]

seq2.step[count].level.min、seq2.step[count].level.max
[0155]

seq1.onoff
[0156]

seq1.oneshot
[0157]

seq2.onoff
[0158]

seq2.oneshot
[0159]

seq1.firstloop
[0160]

seq2.firstloop
[0161]
在步骤s131中,判定表示电平控制的种类的“source.level”(源电平值)。关于源电平值,在图3(c)所示的seq1、seq2的按钮均未经按下时为“断开(off)”,在seq1的按钮经按下时为“seq1”,在seq2的按钮经按下时为“seq2”。
[0162]
当将源电平值判定为“断开(off)”时,处理进入至步骤s132,当将源电平值判定为“seq1”时,处理进入至步骤s133,当将源电平值判定为“seq2”时,处理进入至步骤s136。
[0163]
在步骤s132中,cpu 11将变量“control.level”的值设定为使用旋钮而设定的“手动电平(manual.level)”的值,结束电平控制处理。
[0164]
在步骤s133中,cpu 11进行seq1是否有效的判定。s133的用于判定的条件与步骤s113中使用的条件相同。当判定为有效时处理进入至s134,当判定为无效时处理进入至s135。在步骤s135中,cpu 11进行与步骤s132同样的处理。
[0165]
在步骤s134中,cpu 11将变量“control.level”的值设定为由以下的ip函数求出的值。
[0166]
ip(seq1.wave,seq1.step[count].level.min,seq1.step[count].level.max)
[0167]
即,在步骤s124中,cpu 11求出关于seq1的控制信号wave的波形(seq1.wave)、针对当前的步骤而设定的音高的最小值(seq1.step[count].level.min)及音高的最大值(seq1.step[count].level.max)的ip函数,将其值设定为变量“control.level”的值。
[0168]
步骤s136、步骤s137、步骤s138的处理除了对象不是seq1而是seq2的方面以外,与步骤s133、步骤s134、步骤s135的处理相同,因此省略说明。s136的有效无效的条件与s133的有效无效的条件相同。
[0169]
cpu 11将通过电平控制而获得的变量“control.level”的值作为dsp 14的控制值存储于ram 12。在图5所示的amp 143的处理中,dsp 14使用所存储的变量“control.cutoff”的值。因此,能够变更音量。
[0170]
图17是表示音序器的导通/断开处理的示例的流程图。导通/断开处理是根据操作器15中所含的音序器的导通/断开按钮(图2)的操作而开始。导通/断开处理在seq1与seq2中是相同的处理,在图17中,例示了关于seq1的处理。
[0171]
在步骤s161中,cpu 11根据seq1的导通/断开按钮(图2)的操作,进行掌管seq1的导通/断开的变量“seq1.onoff”的设定。变量“seq1(seq2).onoff”表示相对应的音序器的导通“1”与断开“0”中的一者。
[0172]
在步骤s162中,cpu 11判定表示变量“seq1(seq2).onoff”的值是否为表示导通的“1”。当判定为值是“0(断开)”时(s162的否(no)),导通/断开处理结束。与此相对,当判定为值是“1(导通)”时,处理进入至步骤s163。在步骤s163中,cpu进行seq1的启动处理。当启动
处理结束时,导通/断开处理结束。
[0173]
图18是表示seq1的启动处理的示例的流程图。启动处理在seq1与seq2中是相同的处理,在图18中,例示了关于seq1的处理。
[0174]
在步骤s141中,cpu 11将表示seq1的相位的变量“seq1.phase”的值设定为初始值0.0。在步骤s142中,cpu 11将表示seq1的步骤的级数的变量“seq1.count”的值设定为初始值0。在步骤s143中,cpu 11将变量“seq1.firstloop”的值设定为1。然后,启动处理结束。
[0175]
图19是表示再触发处理的示例的流程图。再触发处理是根据操作器15中所包括的再触发按钮(图2)的操作而开始。变量“seq1.sync”及“seq2.sync”的值在图2所示的同步(sync)按钮为导通时成为“1”,在同步按钮为断开时为“0”。
[0176]
在步骤s151中,cpu 11判定变量“seq1.sync”的值是否为“1(导通)”。当将值判定为“1(导通)”时,处理进入至步骤s152,当不是时,处理进入至步骤s153。
[0177]
在步骤s152中,cpu 11执行seq1的启动处理(图18),使处理进入至步骤s153。在步骤s153中,cpu 11判定变量“seq2.sync”的值是否为“1(导通)”。当将值判定为“1(导通)”时,处理进入至步骤s154,当不是时,再触发处理结束。在步骤s154中,执行seq2的启动处理,然后,再触发处理结束。
[0178]
另外,再触发处理也可以将变量“seq1.sync”及“seq2.sync”设为共同的变量,使得在“sync”导通的情况下,连续进行seq1及seq2的启动处理。
[0179]
在以上说明的乐音控制装置10中,音序器(seq1(第一乐音处理部)及seq2(第二乐音处理部)的各自)的dsp 14按照控制信息(“control.pitch”等),重复进行控制多个步骤的各个中的乐音的处理。但是,当规定条件(oneshot为“1”并且firstloop为“0”)满足时,对针对音序器中所设定的所有多个步骤的乐音进行控制的处理已巡回一圈时,cpu 11使音序器的动作停止。所述条件oneshot为“1”并且firstloop为“0”是“设定使乐音处理部的动作巡回一圈就停止的值,并且设定了表示对针对所有所述多个步骤的乐音进行控制的处理已巡回一圈的旗标”的一例。当音序器停止时,按照手动设定进行乐音的生成(音高、截止频率、音量的控制)。
[0180]
根据如上所述的乐音控制装置10,存在如下所述的优点。即,若将单发设为导通,则在音序器(seq1、seq2)中所设定的所有步骤的处理结束的时点,音序器停止运行而不使处理返回到最早步骤。因此,针对输入音(原音)的音高控制、截止控制及电平控制是按照手动的设定值而进行。因此,能够获得前所未有的音乐效果。
[0181]
并且,根据乐音控制装置10,作为多种曲线,准备一个步骤中的多种控制信号波形的变化样式(表示控制信息所示的值的步骤内的随时间的变化的多个变化样式),能够针对音序器中所设定的每个步骤,确定变化样式。因此,可以利用所有步骤的变化样式的组合生成控制信号wave,从而能够生成饶有趣味的音序器的自动演奏音。
[0182]
控制信息所示的值可以包括对针对多个步骤分别生成的乐音的音高进行控制的设定值(control.picth)、对针对多个步骤分别生成的乐音的截止频率进行控制的设定值(control.cutoff)、以及对针对多个步骤分别生成的乐音的音量进行控制的设定值(control.level)。因此,能够各别地控制音高、截止频率、音量在一个步骤内的随时间的变化。
[0183]
并且,在乐音控制装置10中,音序器(乐音处理部)包括各别地设定控制信息,能够
并联运行的seq1(第一乐音处理部)及seq2(第二乐音处理部)。而且,cpu 11(控制部)在已设定seq1与seq2的同步的状态(同步导通)下,按下再触发按钮,当接收到再触发指示时,使seq1及seq2中分别设定的多个步骤的最早步骤的处理配合时序而(同时)开始。因此,当步骤数不同的seq1与seq2并联运行时,能够以适当的时序,使运行从最初同时开始。
[0184]
图1所示的乐音控制装置10中的cpu 11的处理也能够应用于合成器。图20表示将cpu11所生成的变量“control.pitch”、“control.cutoff”、“control.level”应用于合成器20的示例。合成器20具有演奏操作器即键盘(keyboard)21,将表示键盘的各键(key)的音符导通(note on:按键)、音符断开(note off:离键)的信号输入至振荡器(oscillator)(osc)22。
[0185]
并且,从键盘21输出与经按下的键相应的音高信息(pitch)。音高信息是0~127的值,表示每一个半音的音高的值。加法器27对来自键盘21的音高信息加上变量“control.pitch”的值,并输入至osc 22。
[0186]
osc 22是乐音生成器,进行以下的动作。
[0187]

接收note on/off(音符导通/断开)事件(event)输入
[0188]

当收到note on(音符导通)事件时开始输出以规定的波形生成的乐音
[0189]

当收到note off(音符断开)事件时停止乐音的输出(不出音)
[0190]

输入pitch(音高)信息
[0191]

反映至乐音生成器所生成的信号的频率
[0192]
滤波器(filter)23、放大器(amp)24与滤波器142、放大器143同样,利用变量“control.cutoff”控制截止频率,并利用变量“control.level”控制音量。
[0193]
合成器20是例示具有与钢琴同样的键盘21的合成器,但是osc 22所生成的乐音并不限定于钢琴的模拟音,也可以是如吉他合成器的模拟吉他的演奏音的乐音。实施方式中所示的结构可以在不脱离目的的范围内进行适当组合。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜