CN116134510A - 电子乐器、方法和程序 - Google Patents

电子乐器、方法和程序 Download PDF

Info

Publication number
CN116134510A
CN116134510A CN202180062215.4A CN202180062215A CN116134510A CN 116134510 A CN116134510 A CN 116134510A CN 202180062215 A CN202180062215 A CN 202180062215A CN 116134510 A CN116134510 A CN 116134510A
Authority
CN
China
Prior art keywords
key
resonance
pitch
tone
sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180062215.4A
Other languages
English (en)
Inventor
伊藤直明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of CN116134510A publication Critical patent/CN116134510A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/06Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
    • G10H1/08Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by combining tones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/06Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
    • G10H1/14Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour during execution
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • G10H1/185Channel-assigning means for polyphonic instruments associated with key multiplexing
    • G10H1/186Microprocessor-controlled keyboard and assigning means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/066Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/265Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
    • G10H2210/271Sympathetic resonance, i.e. adding harmonics simulating sympathetic resonance from other strings

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

与被按键的第1键对应的乐音是通过将与第1键的键编号直接对应的乐音、和音高与第1键的音高处于倍音关系的多个第2键的各键编号对应的各共鸣音进行合成而生成的。如图3的表数据所示,与第2键的键编号对应而生成的共鸣音,根据第2键处于阻尼状态还是处于非阻尼状态而生成不同的共鸣音。即,当判断为第2键是非阻尼状态时,至少以第1共鸣音高和第1音色中的某一个来生成第2键的共鸣音,当判断为第2键是阻尼状态时,至少以例如高于第1共鸣音高的第2共鸣音高和第2音色中的某一个来生成第2键的共鸣音。由此,能够再现实际的声学钢琴的各种特性。

Description

电子乐器、方法和程序
技术领域
本发明涉及能够发出共鸣音的电子乐器、方法和程序。
背景技术
在电子乐器中,已知有在踩踏制音踏板时或对多个键盘进行了按键时,发出琴弦彼此的共鸣效果的电子乐器(例如专利文献1所记载的技术)。
在上述现有技术中,仅对通过按键或踩踏制音踏板(Damper Pedal)使阻尼器解除而放开的琴弦、以及没有阻尼器结构的高域键或等分琴弦(Aliquat)等始终放开的琴弦等放开的琴弦,发出针对按键音的共鸣音。
在先技术文献
专利文献
专利文献1:日本专利第6690763号公报
发明内容
发明要解决的问题
在实际的声学钢琴中,在有阻尼器的某个琴弦处即使阻尼器处于未放开的状态(处于被阻尼的状态)也会发生琴弦的共鸣,从而构成钢琴丰富的声响。然而,由于现有技术中没有实现这种阻尼状态的效果的方法,因此难以再现声学钢琴中的基于阻尼状态的效果的共鸣效果。
本发明的目的在于发出良好的共鸣音。
解决问题的手段
在方式的一例的电子乐器中,执行以下处理:在第1键被按键的情况下,判断与第1键的音高处于倍音关系的音高的第2键是阻尼状态或者非阻尼状态中的哪一个状态;在判断为第2键处于非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成第2键的共鸣音;在判断为第2键处于阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成第2键的共鸣音。
发明的效果
根据本发明,能够发出良好的共鸣音。
附图说明
图1是表示电子乐器的实施方式的硬件结构例的图。
图2是表示音源LSI的结构例的框图。
图3是表示每个键共鸣音高计算表数据的结构例的图(其1)。
图4是表示每个键共鸣音高计算表数据的结构例的图(其2)。
图5是表示每个音高差共鸣强度表数据、按键对应共鸣音高候选表数据以及发音共鸣音信息表数据的各结构例的图。
图6是表示主处理的处理例的流程图。
图7是表示键盘处理的详细例的流程图。
图8是表示按键对应共鸣音高候选表制作处理的详细例的流程图。
图9是表示发音共鸣音信息表制作处理的详细例的流程图。
图10是表示共鸣音仲裁处理的第1实施方式的详细例的流程图。
图11是表示共鸣音仲裁处理的第2实施方式的详细例的流程图。
图12是表示共鸣音仲裁处理的第3实施方式的详细例的流程图。
具体实施方式
以下,参照附图对用于实施本发明的方式进行详细说明。图1是表示作为电子乐器的一例的电子键盘乐器的实施方式的硬件结构例的图。在图1中,电子键盘乐器100例如作为电子钢琴来实现,其结构为,具备CPU(中央运算处理装置)101、ROM(只读存储器)102、RAM(随机存取存储器)103、键盘部104、开关部105以及音源LSI106,它们通过系统总线108相互连接。此外,音源LSI106的输出被输入到声音系统107。
CPU101通过一边将RAM103作为作业用存储器来使用,一边将存储在ROM102中的控制程序加载到RAM103中来执行,从而执行图1的电子乐器100的控制动作。
键盘部104检测作为多个演奏操作件的各键的按键或离键操作,并通知给CPU101。
开关部105检测演奏者对各种开关的操作,并通知给CPU101。开关部105包括制音踏板。
音源LSI106基于从CPU101输入的发音指示数据,生成数字乐音波形数据,向声音系统107输出。声音系统107在将从音源LSI106输入的数字乐音波形数据变换为模拟乐音波形信号后,将该模拟乐音波形信号利用内置的放大器进行放大,从内置的扬声器放音。
音源LSI106是执行后述的乐音生成处理的专用的大规模集成电路。音源LSI106基于来自CPU101的命令,以与演奏中指定的键的音高对应的速度,从未特别图示的波形存储器中读出波形数据,对该读出的波形数据附加演奏中指定的力度的振幅包络,将作为其结果而得到的波形数据作为输出乐音波形数据输出。
图2是表示图1的音源LSI106的结构例的框图。该音源LSI106具备:波形发生器201,进一步具备能够同时振荡256个波形数据的#1至#256的波形发生装置210;DSP(Digital Signal Processor:数字信号处理器)202;混频器204;以及总线接口203,波形发生器201、DSP202和混频器204经由总线接口203与图1的系统总线108连接,进行向图1的RAM103的访问或与CPU101通信。
波形发生器201的#1至#256的波形发生装置210分别是通过例如分时处理进行动作,并从未特别图示的波形ROM读出波形数据而再现音色的波形的振荡器,DSP202是为声音信号带来音响效果的数字信号处理电路。混频器204通过混合来自各波形发生装置210的信号,或通过在与DSP202之间收发信号,控制全体声音信号的流动,并向外部输出。即,混频器204对根据演奏而由波形发生器201的各波形发生装置210从波形ROM读出的波形数据,附加基于DSP202的与从CPU101供给的乐音参数相应的包络,并作为输出乐音波形数据输出。混频器204的乐音输出数据被输出到图1的声音系统107,经由声音系统107内的未特别图示的D/A转换器以及放大器,作为规定的信号电平的模拟乐音信号,被输出到未特别图示的扬声器或耳机等。
图3及图4是表示每个键共鸣音高计算表数据的结构例的图。该每个键共鸣音高计算表数据是针对键盘部104的例如88键的各个键存储如下数据的表数据:键调,表示该键通过演奏被按键时的音高;第1共鸣音高,模拟该键为非阻尼(放开琴弦)状态时的该键的钢琴琴弦(以下简记为“琴弦”)的振动;以及第2共鸣音高,模拟该键为阻尼状态时的该键的琴弦的振动。该每个键共鸣音高计算表数据在电子键盘乐器100的例如电源接通时,从图1的ROM102加载到RAM103中。此外,图3及图4中的“补充”栏是用于说明实施方式的显示,不包含在每个键共鸣音高计算表数据中。
在实际的声学钢琴中,作为基本动作来说,通过按键或踩踏制音踏板而使阻尼器松开而放开的琴弦、及没有阻尼器结构的高域键或等分琴弦等始终放开的琴弦等放开的琴弦成为非阻尼状态,并与按键音所对应的琴弦的振动共鸣而振动,发出共鸣音。但是,不仅是该基本动作,在有阻尼器的琴弦未放开的阻尼状态的琴弦上,也会产生与被按键的琴弦的共鸣,由此产生钢琴的丰富的响声。在这种情况下,某个键调的琴弦处于阻尼状态时该琴弦作为共鸣音振动时的第2共鸣音高,与对应于该琴弦为非阻尼状态时该琴弦本来的振动频率的第1共鸣音高相比,如图3及图4的“补充”栏所示,在频率上成为三倍音或者成为二倍音。这除了可能根据键调的键域而变化,还可能根据声学钢琴的制造商或种类而变化。此外,在实际的声学钢琴中,例如图4的键编号54号到68号所例示的那样,也存在结构上设计为不共鸣的琴弦。此外,如从键编号69号到88号所例示的那样,在高音侧的键域,也存在结构上不具备阻尼器而总是处于非阻尼状态,以第1共鸣音高共鸣的琴弦。此外,虽然未图示,但在被称为等分架弦的方式中,例如在高音侧的3个八度音的各个键域中,被称为等分琴弦的追加(第4根)琴弦被架设在与其他3根琴弦相比不被音锤敲击的稍高的位置,在音锤敲击现有的3根琴弦时,等分琴弦总是处于非阻尼状态,从而也存在以第1共鸣音高进行共鸣的琴弦。等分架弦在乐器整体上增加振动能量,并且能够产生非常复杂和艳丽的音色。此外,分配给各键的键调、第1共鸣音高、以及第2共鸣音高也根据各琴弦的调律状态而微妙地变化,有时也根据调律而有意图地变化。
因此,在实施方式中,为了能够模拟实际的声学钢琴的上述那样的共鸣特性,例如使88键的键编号中的每一个能够分别具有键调、第1共鸣音高以及第2共鸣音高,作为例如图3及图4所例示的每个键共鸣音高计算表数据。实施方式的共鸣音的发音控制通过参照该每个键共鸣音高计算表数据来执行。由此,本实施方式能够再现实际的声学钢琴的各种特性。
即,根据一个实施方式,与被按键的第1键对应的乐音是通过将与第1键的键编号直接对应的乐音、和音高与第1键的音高处于倍音关系的多个第2键的各键编号对应的各共鸣音进行合成而生成的。图3及图4表示与第2键的键编号对应生成的共鸣音根据第2键是处于阻尼状态还是处于非阻尼状态而设定为不同的声音。在一个实施方式中,在判断为第2键为非阻尼状态时,使用第1音色的数据,在判断为第2键为阻尼状态时,使用第2音色的数据。在另一实施方式中,在判断为第2键为非阻尼状态时,以第1共鸣音高生成第2键的共鸣音,在判断为第2键为阻尼状态时,以例如高于第1共鸣音高的第2共鸣音高生成第2键的共鸣音。当然,这些实施方式能够任意地组合。
这里,第2键的阻尼状态相当于第2键未被按键且制音踏板未被踩踏的情况。第2键的非阻尼状态相当于第2键被按键的情况和制音踏板被踩踏的情况中的某一种。
此外,在图3及图4所例示的每个键共鸣音高计算表的键调中登记调律后的音高,在图1的键盘105的键的按键时,通过参照该键调来决定按键音,能够指定反映调律信息的按键音。
图5A是表示每个音高差共鸣强度表数据的结构例的图。在该每个音高差共鸣强度表中,将被按键的键的音高设为相对值0,设定针对该键的按键音可能产生的共鸣音的半音阶单位的音高差、以及各音高差(各倍音关系)中的共鸣音的共鸣强度比,该共鸣音的音高差是与相对于该按键音的倍音关系对应的相对的音高差。在电子键盘乐器100的例如接通电源时,该每个音高差共鸣强度表数据从图1的ROM102加载到RAM103中。另外,各共鸣强度比也能够由用户变更设定。另外,在图5A中,“补充(倍音)”栏是用于使音高差与倍音的关系容易理解的显示,不包含在每个音高差共鸣强度表数据中。
即,根据图5A所例示的一个实施方式,在第2键的音高与被按键的第1键的音高处于二倍音的倍音关系的情况下,与第2键的键编号对应的共鸣音以与第1键相同的强度(以1倍)和与第1键的键编号直接对应的乐音合成。另外,在第2键的音高与被按键的第1键的音高处于三倍音的倍音关系的情况下,与第2键的键编号对应的共鸣音以比二倍音时弱的强度(以0.8倍)和与第1键的键编号直接对应的乐音合成。进而,在第2键的音高与第1键的音高具有五倍音的倍音关系的情况下,与第2键的键编号对应的共鸣音以比三倍音时弱的强度(以0.6倍)和与第1键的键编号直接对应的乐音合成。
图5B是表示按键对应共鸣音高候选表数据的结构例的图。在该按键对应共鸣音高候选表数据中,将被按键的键的音高设为相对值0,以按键音高为基准向负方向和正方向分别存储有:针对有可能发音的各共鸣音的各音高差,该有可能发音的各共鸣音具有图5A所例示的每个音高差共鸣强度表数据中设定的所述各音高差的量(各倍音关系量)的音高;针对按键音高的实际的音高值的各共鸣音的各音高差量的音高候选即各共鸣音高候选;以及与各音高差对应地从图5A所例示的每个音高差共鸣强度表数据中取得的各共鸣强度比候选。CPU101在执行后述的键盘处理时每次检测出按键时,在RAM103中制作按键对应共鸣音高候选表数据。
图5C是表示发音共鸣音信息表数据的各结构例的图。在该发音共鸣音信息表数据中,计算与作为图5B所例示的按键对应共鸣音高候选表数据而计算出的各共鸣音高候选中与实际能够发音的共鸣音有关的信息。具体而言,在发音共鸣音信息表数据中存储有:发音共鸣键调,该发音共鸣键调是作为图5B所例示的按键对应共鸣音高候选表数据而计算出的各共鸣音高候选中的、以图1的键盘部104的88键中的某个键的琴弦作为共鸣音而实际能够发音的键调;该共鸣音的音色即发音共鸣音色;该共鸣音的音高即发音共鸣音高;以及发音共鸣强度,该发音共鸣强度表示该共鸣音的发音时的共鸣强度(力度)。CPU101在执行键盘处理时每次检测出按键时,在RAM103中制作了图5B所例示的按键对应共鸣音高候选表数据之后,按照该按键对应共鸣音高候选表数据的各条目,检索该条目的共鸣音高候选是否被登记为图3及图4所例示的每个键共鸣音高计算表数据的第1共鸣音高或者第2共鸣音高。在该情况下,CPU101在每个键共鸣音高计算表数据上,在判定为对应的键调为非阻尼状态时检索第1共鸣音高,在判定为对应的键调为阻尼状态时检索第2共鸣音高。然后,CPU101在对一个共鸣音高候选检索到第1共鸣音高时,在图5C所例示的发音共鸣音信息表数据的新的条目中,将与检索到的第1共鸣音高对应的键调作为发音共鸣键调进行登记,将作为第1音色的放开琴弦用的共鸣音色(以下记载为“放开琴弦共鸣音色”)作为发音共鸣音色进行登记,将检索到的第1共鸣音高作为发音共鸣音高进行登记,将对检测出的按键的力度乘以与共鸣音高候选对应地登记在图5B例示的按键对应共鸣音高候选表数据中的共鸣强度比候选而得到的值,作为表示发出的共鸣音的力度的值的发音共鸣强度进行登记。另一方面,CPU101在对一个共鸣音高候选检索到第2共鸣音高时,在图5C所例示的发音共鸣音信息表数据的新的条目中,将与检索到的第2共鸣音高对应的键调作为发音共鸣键调进行登记,将作为第2音色的非放开琴弦用的共鸣音色(以下记载为“非放开琴弦共鸣音色”)作为发音共鸣音色进行登记,将检索到的第2共鸣音高作为发音共鸣音高进行登记,将对检测出的按键的力度乘以与共鸣音高候选对应地登记在图5B所例示的按键对应共鸣音高候选表数据中的共鸣强度比候选而得到的值,作为表示发出的共鸣音的力度的值的发音共鸣强度进行登记。
在此,在图1的开关部105所包括的制音踏板被开启的情况下,CPU101判定为88键中的全部键调为非阻尼状态。另外,CPU101将在键盘部104中发生了按键的键调判定为非阻尼状态。并且,CPU101在每个键共鸣音高计算表数据中,如图4的键编号54号到88号所例示的那样,将没有登记第2共鸣音高、禁止指定阻尼状态或者设定为不共鸣的键调判定为是非阻尼状态。另一方面,在制音踏板被关闭的情况下,CPU101将在键盘部104中没有发生按键、且没有登记第2共鸣音高、禁止指定阻尼状态或者设定为不共鸣的键调以外的键调判定为是阻尼状态。CPU101基于该非阻尼状态或阻尼状态,控制各键的按键时的发音,从而能够模拟实际的声学钢琴等中的制音踏板的举动。
与通过按键产生的按键音一起,CPU101制作指示与在图5C中登记的发音共鸣音信息表数据的各条目对应的各共鸣音的发音的音符开启事件(note on event),并对图1的音源LSI106进行指示。
在电子乐器100的实施方式中,CPU101执行搭载了由以下说明的图6至图12的流程图等实现的功能的控制程序,从而实现电子键盘乐器100的控制。该控制程序例如可以记录在未特别图示的可移动记录介质中进行发布,或者可以通过未特别图示的通信接口从网络取得,存储在ROM102中。
图2是表示作为图1的CPU101将存储在ROM102中的控制程序加载到RAM103中并执行该控制程序的动作所实现的主处理的处理例的流程图。当图1的开关部105内的未特别图示的电源开关接通时,CPU101使图2的流程图中例示的主处理开始。
CPU101首先执行初始化处理,进行RAM103内的变量群的初始化。另外,CPU101将图3及图4所例示的每个键共鸣音高计算表数据和图5A所示的每个音高差共鸣强度表数据从ROM102加载到RAM103中(以上为步骤S601)。之后,CPU101可以随机访问RAM103上的各表数据。
接着,CPU101反复执行步骤S602的开关部处理、步骤S603的键盘处理以及步骤S604的其他处理。
在步骤S602的开关部处理中,CPU101检测图1的开关部105的各操作状态,将该信息设定为RAM103的对应的各变量。特别地,在开关部105内的制音踏板被操作的情况下,CPU101将制音踏板的开启或关闭的状态作为制音踏板变量存储在RAM103中。
关于步骤S603的键盘处理将后述。
在步骤S604的其他处理中,CPU101执行步骤S602的开关部处理以及步骤S603的键盘处理以外的与电子键盘乐器100的控制相关的处理。
图7是表示图6的步骤S603的键盘处理的详细例的流程图。首先,CPU101对图1的键盘104上的各键进行扫描(步骤S701)。
接着,CPU101判定键的按键状态是否有变化(步骤S702)。
如果键的按键状态没有变化,则CPU101直接结束图7的流程图所例示的图6的步骤S603的键盘处理。
CPU101在步骤S702中检测到按键的情况下,通过作为与按键时的键盘104上的键的键编号对应的键调(参照图3或图4的每个键共鸣音高计算表数据)而决定出的按键音高和力度,制作音符开启事件(步骤S703),将该音符开启事件向图1的音源LSI106发送(步骤S704)。当接收到该音符开启事件时,音源LSI106分配与图2所例示的波形发生器201内的#1至#256的波形发生装置210对应的某一个发音通道(CHi)(1≤i≤256)。接受了分配的波形发生装置210使用例如基于分时处理的该发音通道(CHi),以与上述键调对应的波形读出速度从未特别图示的波形ROM读出由开关部105预先指定的音色的波形数据,并将该波形数据在混频器204内放大由上述音符开启事件指定的力度量,生成乐音波形数据。
接着,CPU101在RAM103中制作表示发生了按键的键调被按键的按键标志(步骤S705)。
接着,CPU101执行按键对应共鸣音高候选表制作处理(步骤S706)。在此,CPU101执行在RAM103上制作前述的图5B所例示的按键对应共鸣音高候选表数据的处理。该处理的详细情况使用图8所例示的流程图后述。
接着,CPU101执行发音共鸣音信息表制作处理(步骤S707)。在此,CPU101执行在RAM103上制作前述的图5C所例示的发音共鸣音信息表数据的处理。该处理的详细情况使用图9所例示的流程图后述。
然后,CPU101制作作为在步骤S707中制作出的发音共鸣音信息表数据的各条目而计算出的各共鸣音的音符开启事件(步骤S708),将该音符开启事件向图1的音源LSI106发送(步骤S709)。当接收各共鸣音的音符开启事件时,音源LSI106分别分配图2所例示的波形发生器201内的#1至#256的波形发生装置210的某个发音通道(CHi)(1≤i≤256)。由此,使用各发音通道,从各波形发生装置210输出各共鸣音的波形数据。基于步骤S704使用一个波形发生装置210的发音通道生成的按键音和基于步骤S709使用一个以上的各波形发生装置210的各发音通道生成的各共鸣音在混频器204中混合,在由DSP202分别赋予振幅包络特性等之后,作为乐音输出数据输出到图1的声音系统107。然后,CPU101结束图7的流程图所例示的图6的步骤S603的键盘处理。
CPU101在步骤S702中检测到离键的情况下,通过与离键时的键盘104上的键的键编号对应的键调,制作音符关闭事件(note off event)(步骤S710),将该音符关闭事件向图1的音源LSI106发送(步骤S711)。当接收到该音符关闭事件时,音源LSI106执行消音处理,该消音处理使分配了音符关闭事件内的键调的发音通道中的来自波形发生装置210的按键音的波形数据的输出停止。
接着,CPU101删除与发生了离键的键调对应而在RAM103中制作出的按键标志(步骤S712)。
接着,CPU101根据与发生了离键的键调对应而在RAM103中制作出的图5C所例示的发音共鸣音信息表数据的各条目的发音共鸣音高,制作各共鸣音的音符关闭事件(步骤S713),将各音符关闭事件向音源LSI106发送(步骤S714)。当接收各音符关闭事件时,音源LSI106执行消音处理,该消音处理使分配了各音符关闭事件内的各发音共鸣音高的各发音通道中的来自各波形发生装置210的各共鸣音的波形数据的输出停止。
最后,CPU101将与发生了离键的键调对应而在RAM103中制作出的图5C所例示的发音共鸣音信息表数据从RAM103中删除(步骤S715)。然后,CPU101结束图7的流程图所例示的图6的步骤S603的键盘处理。
图8是表示在图7的步骤S706中执行的按键对应共鸣音高候选表制作处理的详细例的流程图。首先,CPU101将在图7的步骤S701取得的按键音的键编号(按键编号)存放在RAM103上的变量key_num_on中(步骤S801)。此外,在以下的说明中,有时将变量名表示为变量值。例如有时将存储在变量key_num_on的值记载为“变量值key_num_on”等。
接着,CPU101为了以按键音高为基准从音高差在负侧最大的方向开始到按键音高进行处理,对RAM103上的变量i设置值6(与图5A所例示的每个音高差共鸣强度表数据中的No.=6对应),对表示处理方向的RAM103上的变量flag设置表示负方向(在图5A所例示的每个音高差共鸣强度表数据中No.从值6向值0减少的方向)的值-1(步骤S802)。
然后,CPU101一边将变量i的值每次加上变量flag的值,即变量flag的值为-1,所以每次减1,一边反复执行以下的步骤S803至S807的一系列处理,直到在步骤S809的判定为“是”之后,判定为变量i的值从值6依次减少而达到值-1为止(步骤S810)。
在步骤S803至S807的一系列处理中,CPU101首先取得图5A所例示的每个音高差共鸣强度表数据的变量i所示的第i条目信息(步骤S803)。其结果,CPU101将从第i条目取得的音高差与变量flag的值-1相乘而得到的负方向的音高差的值设置为RAM103上的变量pitch_def,将同样得到的共鸣强度比的值设置为RAM103上的变量pitch_def_amp。
接着,CPU101通过将在步骤S801中对RAM103上的变量设置的按键编号值key_num_on与在步骤S803中对RAM103上的变量设置的音高差值pitch_def相加,作为其相加结果而计算出从按键音高偏离当前的音高差的位置的音高,将该值存放在RAM103上的变量key_num_c中(步骤S804)。
接着,CPU101判定上述变量值key_num_c是否落进入到与88键对应的1号到88号的范围(步骤S805)。
如果步骤S805的判定为“否”,则该音高超过88键的范围,不能作为共鸣音发音,因此CPU101转移到步骤S808,更新变量值i。
如果步骤S805的判定为“是”,则该音高可以成为共鸣音候选。因此,CPU101首先从图3或图4所例示的每个键共鸣音高计算表数据中取得键编号与在步骤S804中计算出的共鸣音高候选的键编号值key_num_c对应的条目的键调,设置为RAM103上的变量key_c(步骤S806)。
然后,CPU101在图5B所例示的按键对应共鸣音高候选表数据中追加一个条目,登记音高差=变量值pitch_def、共鸣音高候选=变量值key_c、共鸣强度比候选=变量值pitch_def_amp。
然后,CPU101前进到步骤S808,更新变量值i。
通过以上的步骤S803至S807的一系列处理,能够制作图5B所例示的按键对应共鸣音高候选表数据的各条目。当例如假定为按键音的键调是C3时,在步骤S801中,从图3所例示的每个键共鸣音高计算表数据中取得28号作为键调C3的按键编号,设置key_num_on=28。然后,首先,当设为变量值i=6并且变量值flag=-1时,在步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=6的条目,运算变量值pitch_def=音高差36×变量值flag=-36,得到变量值pitch_def_amp=0.2。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-36=-8。其结果,由于步骤S805的判定成为“否”,因此不制作按键对应共鸣音高候选表的条目,转移到步骤S808而成为i=6-1=5,成为步骤S809的判定为“是”,且步骤S810的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=5的条目,运算变量值pitch_def=音高差31×变量值flag=-31,得到变量值pitch_def_amp=0.4。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-31=-3。其结果,由于步骤S805的判定成为“否”,因此不制作按键对应共鸣音高候选表的条目,转移到步骤S808而成为i=6-1=4,成为步骤S809的判定为“是”,且步骤S810的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=4的条目,运算变量值pitch_def=音高差28×变量值flag=-28,得到变量值pitch_def_amp=0.6。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-28=0。其结果,由于步骤S805的判定成为“否”,因此不制作按键对应共鸣音高候选表的条目,转移到步骤S808而成为i=6-1=4,成为步骤S809的判定为“是”,且步骤S810的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=3的条目,运算变量值pitch_def=音高差24×变量值flag=-24,得到变量值pitch_def_amp=0.8。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-24=4。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图3所例示的每个键共鸣音高计算表数据中取得与键编号为变量值key_num_c=4对应的条目的键调=C1作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=-24、共鸣音高候选=key_c=C1、共鸣强度比候选=pitch_def_amp=0.8,制作图5B所例示的按键对应共鸣音高候选表数据的第1行的条目。然后,转移到步骤S808而成为i=3-1=2,成为步骤S809的判定为“是”,且步骤S810的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=2的条目,运算变量值pitch_def=音高差19×变量值flag=-19,得到变量值pitch_def_amp=0.8。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-19=9。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图3所例示的每个键共鸣音高计算表数据中取得与键编号为变量值key_num_c=9对应的条目的键调=F1作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=-19、共鸣音高候选=key_c=F1、共鸣强度比候选=pitch_def_amp=0.8,制作图5B所例示的按键对应共鸣音高候选表数据的第2行的条目。然后,转移到步骤S808而成为i=2-1=1,成为步骤S809的判定为“是”,且步骤S810的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=1的条目,运算变量值pitch_def=音高差12×变量值flag=-12,得到变量值pitch_def_amp=1。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-12=16。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图3所例示的每个键共鸣音高计算表数据中取得与键编号为变量值key_num_c=16对应的条目的键调=C2作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=-12、共鸣音高候选=key_c=C2、共鸣强度比候选=pitch_def_amp=1,制作图5B所例示的按键对应共鸣音高候选表数据的第3行的条目。然后,转移到步骤S808而成为i=2-1=1,成为步骤S809的判定为“是”,且步骤S810的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=0的条目,运算变量值pitch_def=音高差0×变量值flag=±0,得到变量值pitch_def_amp=1。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28-0=28。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图3所例示的每个键共鸣音高计算表数据中取得与键编号为变量值key_num_c=28对应的条目的键调=C3作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=±0、共鸣音高候选=key_c=C3、共鸣强度比候选=pitch_def_amp=1,制作图5B所例示的按键对应共鸣音高候选表数据的第4行的条目。然后,转移到步骤S808而成为i=0-1=-1。这里,成为步骤S809的判定为“是”,且步骤S810的判定为“是”。
这样,变量值i从值6变化到值0,制作与音高差为负的一侧的共鸣音候选对应的条目和与按键音对应的条目(音高差从-24到±0的最初的4行条目),作为图5B所例示的按键对应共鸣音高候选表数据。接着,为了以按键音高为基准从最接近正方向的按键音高的音高差到最远的音高差的音高进行处理,CPU101对RAM103上的变量i设置值1(与图5A所例示的每个音高差共鸣强度表数据中的No.=1对应),对表示处理方向的RAM103上的变量flag设置表示正方向(图5A所例示的每个音高差共鸣强度表数据中No.从值1向值6增加的方向)的值1(步骤S811)。
然后,CPU101一边将变量i的值每次加上变量flag的值,即由于变量flag的值为1因此每次加上值1,一边依次执行与前述的同样的步骤S803至S807的一系列处理,直到步骤S809的判定成为“否”之后,判定为变量i的值从值1依次增加而达到值7为止(步骤S812)。
具体地,首先,在步骤S811中设置变量值i=1和变量值flag=1之后,返回至步骤S803的处理。在步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=1的条目,运算变量值pitch_def=音高差12×变量值flag=+12,得到变量值pitch_def_amp=1。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28+12=40。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图3所例示的每个键共鸣音高计算表数据中取得与键编号为变量值key_num_c=40对应的条目的键调=C4作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=+12、共鸣音高候选=key_c=C4、共鸣强度比候选=pitch_def_amp=1,制作图5B所例示的按键对应共鸣音高候选表数据的第5行的条目。然后,转移到步骤S808,成为i=1+1=2,成为步骤S809的判定为“否”,且步骤S812的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=2的条目,运算变量值pitch_def=音高差19×变量值flag=+19,得到变量值pitch_def_amp=0.8。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28+19=47。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,根据图4所例示的每个键共鸣音高计算表数据,取得与键编号为变量值key_num_c=47对应的条目的键调=G4作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=+19、共鸣音高候选=key_c=G4、共鸣强度比候选=pitch_def_amp=0.8,制作图5B所例示的按键对应共鸣音高候选表数据的第6行的条目。然后,转移到步骤S808,成为i=2+1=3,成为步骤S809的判定为“否”,且步骤S812的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=3的条目,运算变量值pitch_def=音高差24×变量值flag=+24,得到变量值pitch_def_amp=0.8。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28+24=52。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,根据图4所例示的每个键共鸣音高计算表数据,取得与键编号为变量值key_num_c=52对应的条目的键调=C5作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=+24、共鸣音高候选=key_c=C5、共鸣强度比候选=pitch_def_amp=0.8,制作图5B所例示的按键对应共鸣音高候选表数据的第7行的条目。然后,转移到步骤S808,成为i=3+1=4,成为步骤S809的判定为“否”,且步骤S812的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=4的条目,运算变量值pitch_def=音高差28×变量值flag=+28,得到变量值pitch_def_amp=0.6。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28+28=56。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图4的每个键共鸣音高计算表数据,取得与键编号为变量值key_num_c=56对应的条目的键调=E5作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=+28、共鸣音高候选=key_c=E5、共鸣强度比候选=pitch_def_amp=0.6,制作图5B所例示的按键对应共鸣音高候选表数据的第8行的条目。然后,转移到步骤S808,成为i=4+1=5,成为步骤S809的判定为“否”,步骤S812的判定为“否”,返回到步骤S803的处理。
在随后的步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=5的条目,运算变量值pitch_def=音高差31×变量值flag=+31,得到变量值pitch_def_amp=0.4。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28+31=59。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,根据图4所例示的每个键共鸣音高计算表数据,取得与键编号为变量值key_num_c=59对应的条目的键调=G5作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=+31、共鸣音高候选=key_c=G5、共鸣强度比候选=pitch_def_amp=0.4,制作图5B所例示的按键对应共鸣音高候选表数据的第8行的条目。然后,转移到步骤S808,成为i=5+1=6,成为步骤S809的判定为“否”,且步骤S812的判定为“否”,返回到步骤S803的处理。
最后,在步骤S803中,根据图5A所例示的每个音高差共鸣强度表数据的No.=i=6的条目,运算变量值pitch_def=音高差36×变量值flag=+36,得到变量值pitch_def_amp=0.2。接着,在步骤S804中,计算变量值key_num_c=变量值key_num_on+变量值pitch_def=28+36=64。其结果,由于步骤S805的判定成为“是”,所以在步骤S806中,从图4的每个键共鸣音高计算表数据,取得与键编号为变量值key_num_c=64对应的条目的键调=C6作为变量key_c。然后,在步骤S807中,设为音高差=pitch_def=+36、共鸣音高候选=key_c=C6、共鸣强度比候选=pitch_def_amp=0.2,制作图5B所例示的按键对应共鸣音高候选表数据的最后一行的条目。然后,转移到步骤S808,成为i=6+1=7,在步骤S809的判定成为“否”后,步骤S812的判定成为“是”,结束全部的处理。
如上所述,在RAM103上制作图5B所例示的按键对应共鸣音高候选表数据。然后,CPU101结束图8的流程图所例示的图7的步骤S706的按键对应共鸣音高候选表制作处理。
图9是表示在图7的步骤S707中执行的发音共鸣音信息表制作处理的详细例的流程图。首先,CPU101从图5B所例示的按键对应共鸣音高候选表数据的上方开始依次取得每一个条目的信息,将从该条目取得的共鸣音高候选的值存放在RAM103上的变量res_pitch_c中,将相同的共鸣强度比候选的值存放在RAM103上的变量res_amp_c中(步骤S901)。
接着,CPU101对指定键编号的RAM103上的变量N设置值1(步骤S902)。
然后,CPU101使变量N的值每次加1递增(步骤S912),反复执行步骤S903至S911的一系列处理,直到判定为该值超过了与88键对应的值88(步骤S913)。
在从步骤S903至S911的一系列处理中,CPU101首先判定键编号变量值N是否与在图7的步骤S701中检测出的按键编号相等(步骤S903)。在该步骤S903的判定为“是”的情况下,由于不将被按键的键的琴弦看作共鸣琴弦,所以CPU101不制作发音共鸣音信息表的条目,转移到步骤S912,使键编号变量值N的值前进1。
如果步骤S903的判定为“否”,则CPU101根据图3及图4所例示的每个键共鸣音高计算表数据的变量值N所示的键编号的条目,取得键调、第1共鸣音高以及第2共鸣音高(步骤S904)。
接着,CPU101进行如下判定:通过图6的步骤S602的开关部处理而设置在RAM103中的制音踏板变量的值是否示出了开启,即制音踏板是否开启;是否与在步骤S904中取得的键调对应地在RAM103中制作有按键标志,并且该键调通过按键而成为非阻尼状态(参照图7的步骤S705);或者是否是仅在步骤S904中取得的第1共鸣音高具有值,在第2共鸣音高没有值的始终非阻尼状态的键调(是从图4的键编号69到键编号88的条目)(步骤S905)。
在步骤S905的判定为“是”的情况下,判定在步骤S904中取得的第1共鸣音高是否与在步骤S901中取得的变量值res_pitch_c(共鸣音高候选的值)相等(步骤S906)。
如果步骤S906的判定为“否”,则CPU101不进行发音共鸣音信息表的条目的制作,而转移到步骤S912,使键编号变量值N的值前进1。
如果在步骤S906中的判定成为“是”,则CPU101将RAM103上的变量即选择音色的值设置为“放开琴弦共鸣音色”(非阻尼状态的音色)(步骤S907)。
另一方面,在前述的步骤S905的判定为“否”的情况下,判定在步骤S904中取得的第2共鸣音高是否与在步骤S901中取得的变量值res_pitch_c(共鸣音高候选)相等(步骤S908)。
如果步骤S908的判定为“否”,则CPU101不进行发音共鸣音信息表的条目的制作,而是转移到步骤S912,使键编号变量值N的值前进1。
如果步骤S908的判定为“是”,则CPU101将RAM103上的变量即选择音色值设置为“非放开琴弦共鸣音色”(阻尼状态的音色)(步骤S909)。
在上述的步骤S907或S909的处理之后,CPU101执行后述的共鸣音仲裁处理,由此基于与已经发音的其他相同音高的共鸣音的关系,决定是否应该使当前的共鸣音高候选发出共鸣音(步骤S910)。
步骤S910中的共鸣音高仲裁处理的结果,在决定为使当前的共鸣音高候选的共鸣音发音的情况下,CPU101向图5C所例示的发音共鸣音信息表数据追加一个条目,登记发音共鸣键调=在步骤S904中取得的键调、发音共鸣音色=在步骤S907或S909中对RAM103上的变量设定的选择音色、发音共鸣音高=在步骤S901中取得的共鸣音高候选变量值res_pitch_c、发音共鸣强度=在图7的步骤S701中取得的按键力度×在步骤S901中取得的共鸣强度比候选变量值res_amp_c。即,发出的共鸣音以相对于按键音的力度减少了共鸣强度比候选的比例的力度(发音共鸣强度)发出。该共鸣强度比在图5A所例示的每个音高差共鸣强度表中定义,越是相对于按键音高的倍音的共鸣音,发音强度越弱。
然后,CPU101前进到步骤S912,更新键编号变量N的值。
对图5B所例示的按键对应共鸣音高候选表数据的一个条目(步骤S901)结束了步骤S902到S913的一系列处理,CPU101判定在按键对应共鸣音高候选表数据中是否有未处理的条目(步骤S914)。
如果步骤S914的判定为“是”,则CPU101返回到步骤S901的处理,转移到针对按键对应共鸣音高候选表数据的下一个条目的上述一系列处理的执行。
如果步骤S914的判定为“否”,则CPU101结束图9的流程图所例示的图7的步骤S707的发音共鸣音信息表制作处理。
通过以上的步骤S904至S911的一系列处理,能够制作图5C所例示的发音共鸣音信息表数据的各条目。作为具体例,对根据图5B所例示的按键对应共鸣音高候选表数据制作图5C所例示的发音共鸣音信息表数据的处理进行说明。此时,设为制音踏板关闭,与C4和G4这两个键调对应的两个键已经被按键,与C3的键调对应的键被新按键。图5B所例示的按键对应共鸣音高候选表数据是在与C3的键调对应的键被按键时制作的数据。根据该条件,由于是非阻尼状态的键,所以步骤S905的判定成为“是”,判定第1共鸣音高的只是图3所例示的键编号40号和图4所例示的键编号47号,之后由于全部是阻尼状态的键,所以步骤S905的判定成为“否”,判定第2共鸣音高。
首先,在步骤S901中,取得按键对应共鸣音高候选表数据的第1行条目的信息,设置变量值res_pitch_c=C1、变量值res_amp_c=0.8。
接着,CPU101对指定键编号的RAM103上的变量N设置值1(步骤S902)。然后,一边使变量N的值每次+1递增(步骤S912),一边反复进行从步骤S903至S911的一系列的处理,直到判定为该值超过与88键对应的值88(步骤S913)。由此,在键编号N为40号或47号时,在步骤S905的判定成为“是”之后,在步骤S906中判定为从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=C1是否与从图3或图4所例示的每个键共鸣音高计算表数据中取得的键编号N的第1共鸣音高一致。另外,在键编号N为40号以及47号以外时,在步骤S905的判定成为“否”之后,在步骤S908中判定从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=C1是否与从图3或图4所例示的每个键共鸣音高计算表数据中取得的键编号N的第2共鸣音高一致。其结果,由于共鸣音高候选值res_pitch_c=C1在图3及图4所例示的每个键共鸣音高计算表数据上与哪个键编号的第1共鸣音高和第2共鸣音高都不一致,所以共鸣音高候选值res_pitch_c=C1没有被登记为图5C所例示的发音共鸣音信息表数据。
然后,经过步骤S914,在步骤S901中,对于图5B所例示的按键对应共鸣音高候选表数据的第2行共鸣音高候选值res_pitch_c=F1以及第3行共鸣音高候选值res_pitch_c=C2也与上述同样,一边使键编号变量值N从1变化到88,一边反复执行从步骤S903至S911的一系列处理,但是,共鸣音高候选值res_pitch_c=F1及C2在图3及图4所例示的每个键共鸣音高计算表数据上,与哪个键编号的第1共鸣音高以及第2共鸣音高都不一致,所以,共鸣音高候选值res_pitch_c=F1及C2没有被登记为图5C所例示的发音共鸣音信息表数据。
然后,经过步骤S914,在步骤S901中,对于图5B所例示的按键对应共鸣音高候选表数据的第4行的共鸣音高候选值res_pitch_c=C3,与上述同样,一边使键编号变量值N从1变化到88,一边反复执行从步骤S904至S911的一系列处理。其结果,在键编号N=16时,在步骤S908中从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=C3与从图3所例示的每个键共鸣音高计算表数据中取得的键编号16号的第2共鸣音高一致,步骤S908的判定成为“是”。其结果,经过步骤S909及S910,在步骤S911中,作为图5C所例示的发音共鸣音信息表数据的第1行的条目,登记发音共鸣键调=C2(=图3所例示的每个键共鸣音高计算表数据的键编号16号的键调)、发音共鸣音色=“非放开琴弦共鸣音色”、发音共鸣音高=res_pitch_c=C3、发音共鸣强度=按键力度×共鸣强度比候选值(=1)。
然后,经过步骤S914,在步骤S901中,对于图5B所例示的按键对应共鸣音高候选表数据的第5行的共鸣音高候选值res_pitch_c=C4,与上述同样,一边使键编号变量值N从1变化到88,一边反复执行从步骤S904至S911的一系列处理。在图3所例示的每个键共鸣音高计算表数据中,作为键编号28号的第2共鸣音高登记有C4,但由于其与按键编号一致,所以在键编号N=28时步骤S903的判定成为“是”,不执行图5C所例示的向发音共鸣音信息表数据的条目的登记(步骤S911)。另外,在图3所例示的每个键共鸣音高计算表数据中,作为键编号40号的第1共鸣音高登记有C4,但是由于该键是阻尼状态,因此在键编号N=40时步骤S905的判定成为“否”,不执行步骤S907,不执行图5C所例示的向发音共鸣音信息表数据的条目的登记(步骤S911)。结果,由于共鸣音高候选值res_pitch_c=C4在图3及图4所例示的每个键共鸣音高计算表数据上与哪个键编号的第1共鸣音高和第2共鸣音高都不一致,所以共鸣音高候选值res_pitch_c=C4没有被登记为图5C所例示的发音共鸣音信息表数据。
然后,经过步骤S914,在步骤S901中,对于图5B所例示的按键对应共鸣音高候选表数据的第5行的共鸣音高候选值res_pitch_c=G4,与上述同样,一边使键编号变量值N从1变化到88,一边反复执行从步骤S904至S911的一系列处理。其结果,在键编号N=35时,在步骤S908中判定为从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=G4与从图3所例示的每个键共鸣音高计算表数据中取得的键编号35号的第2共鸣音高一致,步骤S908的判定成为“是”。其结果,经过步骤S909及S910,在步骤S911中,作为图5C所例示的发音共鸣音信息表数据的第2行的条目,登记发音共鸣键调=G3(=图3所例示的每个键共鸣音高计算表数据的键编号35号的键调)、发音共鸣音色=“非放开琴弦共鸣音色”、发音共鸣音高=res_pitch_c=G4、发音共鸣强度=按键力度×共鸣强度比候选(=0.8)。此外,在键编号N=47时,这次在步骤S906中判定为从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=G4与从图4所例示的每个键共鸣音高计算表数据中取得的键编号47号的第1共鸣音高一致,步骤S906的判定成为“是”。其结果,经过步骤S907及S910,在步骤S911中,作为图5C所例示的发音共鸣音信息表数据的第3行的条目,登记发音共鸣键调=G4(=图4所例示的每个键共鸣音高计算表数据的键编号47号的键调)、发音共鸣音色=“放开琴弦共鸣音色”、发音共鸣音高=res_pitch_c=G4、发音共鸣强度=按键力度×共鸣强度比候选(=0.8)。在该例中,对于发音共鸣音高=G4,处于阻尼状态的键编号35号的共鸣琴弦和先行被按键而处于非阻尼状态的键编号47号的共鸣琴弦这两组共鸣琴弦共鸣,从音源LSI106内的不同发音通道的不同波形发生装置210输出共鸣音的波形数据。
在该情况下,发音共鸣音高为相同的G4,但基于图5C所例示的发音共鸣音信息表数据的第2行及第3行的两个发音共鸣音信息,在图7的步骤S708及S709中,生成发音共鸣音色为“非放开琴弦共鸣音色”和“放开琴弦共鸣音色”这样的不同音色的两个音符开启事件,向音源LSI106发送。在该情况下,在后述的步骤S910的共鸣音仲裁处理中,为了抑制音源LSI106中的发音通道的消耗,可以仅使某一方的共鸣音发音,但在音色不同的情况下,也可以使双方都在不同的发音通道发音(参照图10或图11的步骤S1001)。由此,虽然发声通道产生消耗,但能够发出表现非常丰富的共鸣音。
然后,经过步骤S914,在步骤S901中,对于图5B所例示的按键对应共鸣音高候选表数据的第7行及第9行的共鸣音高候选值res_pitch_c=C5及G5,与上述同样,一边使键编号变量值N从1变化到88,一边反复执行从步骤S904至S911的一系列处理,但是,共鸣音高候选值res_pitch_c=C5及G5,并且,在图3及图4所例示的每个键共鸣音高计算表数据上与哪个键编号的第1共鸣音高以及第2共鸣音高都不一致,所以,共鸣音高候选值res_pitch_c=F1及C2没有被登记为图5C所例示的发音共鸣音信息表数据。
另一方面,经过步骤S914,在步骤S901中,对于图5B所例示的按键对应共鸣音高候选表数据的第8行及第10行的共鸣音高候选值res_pitch_c=E5及C6,与上述同样,一边使键编号变量值N从1变化到88,一边反复执行从步骤S904至S911的一系列处理。其结果,在键编号N=44时,在步骤S908中判定为从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=E5与从图3所例示的每个键共鸣音高计算表数据中取得的键编号44号的第2共鸣音高一致,步骤S908的判定成为“是”,另外,在键编号N=52时,在步骤S908中判定为从图5B所例示的按键对应共鸣音高候选表数据中取得的共鸣音高候选值res_pitch_c=C6与从图4所例示的每个键共鸣音高计算表数据中取得的键编号52号的第2共鸣音高一致,步骤S908的判定成为“是”。其结果,经过步骤S909及S910,在步骤S911中图5C所例示的发音共鸣音信息表数据的第4行及第5行的条目被登记。
图10是表示图9的步骤S910的共鸣音仲裁处理的第1实施方式的详细例的流程图。CPU101首先在已经在RAM103上先行制作的与其他按键对应的发音共鸣音信息表数据中,检索包含与在图9的步骤S907或S908的处理后要登记为发音共鸣音信息表数据的共鸣音高候选值res_pitch_c相同的发音共鸣音高、且发音共鸣音色相同的条目(步骤S1001)。
接着,CPU101判定在步骤S1001中的检索是否成功(步骤S1002)。
在步骤S1002的判定为“否”的情况下,不需要特别地进行共鸣音的仲裁,因此,直接结束图10的流程图所例示的图9的步骤S910的共鸣音仲裁处理。
在步骤S1002的判定为“是”的情况下,CPU101判定将在图7的步骤S701中检测到的按键力度与在图9的步骤S907或S908的处理之后要登记为发音共鸣音信息表数据的共鸣强度比候选值res_amp_c相乘所得的值是否大于在步骤S1001中检索到的全部条目的相同音高的全部共鸣强度(参照图5C)(步骤S1003)。
在步骤S1003的判定为“否”的情况下,CPU101不进行向本次的发音共鸣音信息表数据的登记,转移到图9的步骤S912,使键编号变量值N的值前进1。
如果步骤S1003的判定为“是”,则CPU101根据在步骤S1001中检索到的发音共鸣音信息表数据的条目的发音共鸣音高,制作与该发音共鸣音高对应的共鸣音的音符关闭事件(步骤S1004),将该音符关闭事件向音源LSI106发送(步骤S1005)。当接收到该音符关闭事件时,音源LSI106执行消音处理,该消音处理使与该音符关闭事件内的发音共鸣音高对应的发音通道中的来自波形发生装置210的共鸣音的波形数据的输出停止。
最后,CPU101将在步骤S1001中检索到的发音共鸣音信息表数据的条目从该发音共鸣音信息表数据中删除(步骤S1006)。由此,优先进行基于本次按键的共鸣音的发音。然后,CPU101结束图10的流程图所例示的图9的步骤S910的共鸣音仲裁处理,前进到图9的步骤S912的发音共鸣音信息表数据的登记处理。
图11是表示图9的步骤S910的共鸣音仲裁处理的第2实施方式的详细例的流程图。图11的步骤S1001、S1002和S1003与图10的第1实施方式的情况相同。
如果步骤S1003的判定为“是”,则CPU101制作使针对在步骤S1001中检索到的发音共鸣音信息表数据的条目的发音共鸣音高的发音通道的振幅包络放大的事件(步骤S1101),将该事件发送给音源LSI106(步骤S1102)。当接收该事件时,音源LSI106控制DSP202,执行使与该事件内的发音共鸣音高对应的发音通道的振幅包络放大的处理。
最后,CPU101将在步骤S1001中检索到的发音共鸣音信息表数据的条目的发音共鸣强度更新为在图7的步骤S701中检测出的按键力度与共鸣强度比候选值res_amp_c相乘所得的值。然后,CPU101不进行向本次的发音共鸣音信息表数据的登记,转移到图9的步骤S912,使键编号变量值N的值前进1。
图12是表示图9的步骤S910的共鸣音仲裁处理的第3实施方式的详细例的流程图。首先,CPU101对已经登记在RAM103上先行制作的全部的发音共鸣音信息表数据中的全部的发音共鸣音高数进行计数,将该计数结果存放在RAM103上的变量res_num中(步骤S1201)。
接着,CPU101判定在步骤S1201中的计数值res_num是否达到共鸣音的允许最大值,例如32(步骤S1202)。
在步骤S1202的判定为“否”的情况下,不需要特别地进行共鸣音的仲裁,因此直接结束图12的流程图所例示的图9的步骤S910中的共鸣音仲裁处理。
如果步骤S1202的判定为“是”,则CPU101制作与已经登记在RAM103上先行制作的发音共鸣音信息表数据中的发音共鸣强度中的值最小的发音共鸣强度对应的条目的发音共鸣音高对应的共鸣音的音符关闭事件(步骤S1203),将该音符关闭事件向音源LSI106发送(步骤S1204)。当接收到该音符关闭事件时,音源LSI106执行消音处理,该消音处理使与该音符关闭事件内的发音共鸣音高对应的发音通道中的来自波形发生装置210的共鸣音的波形数据的输出停止。
最后,CPU101将在步骤S1203中检索到的条目从包含该条目的RAM103上的发音共鸣音信息表数据中删除(步骤S1205)。由此,在共鸣音的最大发音数(例如32发音通道)的范围内,优先进行基于本次的按键的共鸣音的发音。然后,CPU101结束图10的流程图所例示的图9的步骤S910的共鸣音仲裁处理,前进到图9的步骤S912的发音共鸣音信息表数据的登记处理。
根据以上说明的实施方式,即使在琴弦被阻尼的状态下也进行共鸣音的发音,并且根据琴弦的放开状态,改变共鸣琴弦频率或共鸣音量、共鸣音色来进行共鸣发音,从而能够以更声学的方式得到共鸣。
以上说明的实施方式以电子钢琴为例进行了说明,但本发明能够应用于以电子弦乐器为代表的各种电子乐器。
以上,对公开的实施方式及其优点进行了详细说明,但本领域技术人员在不脱离请求保护范围中明确记载的本发明的范围内,能够进行各种变更、追加、省略。
此外,本发明不限于上述的实施方式,在实施阶段中在不脱离其主旨的范围内能够进行各种变形。此外,在上述的实施方式中执行的功能也可以尽可能地适当组合来实施。上述的实施方式中包含各种阶段,通过公开的多个构成要件的适当组合,能够提取出各种发明。例如,即使从实施方式所示的全部构成要件中删除几个构成要件,只要能够得到效果,则删除了该构成要件的结构也能够作为发明而提取。
关于以上的实施方式,还公开了以下的附注。
(附注1)
一种电子乐器,所述电子乐器执行如下处理:
在第1键被按键的情况下,判断与所述第1键的音高处于倍音关系的音高的第2键是阻尼状态或者非阻尼状态中的哪一个状态,
在判断为所述第2键是所述非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成所述第2键的共鸣音;
在判断为所述第2键是所述阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成所述第2键的共鸣音。
(附注2)
根据附注1所述的电子乐器,所述第2键包括多个键。
(附注3)
根据附注1或2所述的电子乐器,与所述第2键对应的所述第2共鸣音高高于所述第1共鸣音高。
(附注4)
根据附注1至3中任一项所述的电子乐器,所述第2键的共鸣音是基于对多个倍音关系分别设定的共鸣强度信息而生成的。
(附注5)
根据附注1至4中任一项所述的电子乐器,
所述非阻尼状态包括通过开启制音踏板来设定的情况和对被操作的演奏操作件设定的情况中的某一种情况,
所述阻尼状态包括在所述制音踏板关闭时设定为未被操作的演奏操作件的情况。
(附注6)
根据附注1至5中任一项所述的电子乐器,
在根据包含与所述第2键对应的共鸣音的乐音的发音中的新的按键而新生成与所述第2键对应的共鸣音的情况下,比较发音中的共鸣音的第1力度和根据所述新的按键而生成的共鸣音的第2力度,
根据比较结果来控制共鸣音的生成。
(附注7)
一种方法,由电子乐器的计算机执行,其中,所述方法包括:
在第1键被按键的情况下,判断与所述第1键的音高处于倍音关系的音高的第2键是阻尼状态或者非阻尼状态中的哪一个状态;
在判断为所述第2键是所述非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成所述第2键的共鸣音;
在判断为所述第2键是所述阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成所述第2键的共鸣音。
(附注8)
一种程序,使电子乐器的计算机执行:
在第1键被按键的情况下,判断与所述第1键的音高处于倍音关系的音高的第2键是阻尼状态或者非阻尼状态中的哪一个状态;
在判断为所述第2键是所述非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成所述第2键的共鸣音,
在判断为所述第2键是所述阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成所述第2键的共鸣音。
附图标记说明
100 电子乐器
101 CPU
102 ROM
103 RAM
104 键盘
105 开关部
106 音源LSI
107 声音系统
108 系统总线
201 波形发生器
202 DSP
203 总线接口
204 混频器
210 波形发生装置

Claims (8)

1.一种电子乐器,其中,所述电子乐器执行如下处理:
在第1键被按键的情况下,判断与所述第1键的音高处于倍音关系的音高的第2键是阻尼状态和非阻尼状态中的哪一个状态;
在判断为所述第2键是所述非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成所述第2键的共鸣音;
在判断为所述第2键是所述阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成所述第2键的共鸣音。
2.根据权利要求1所述的电子乐器,其中,
所述第2键包括多个键。
3.根据权利要求1或2所述的电子乐器,其中,
与所述第2键对应的所述第2共鸣音高高于所述第1共鸣音高。
4.根据权利要求1至3中任一项所述的电子乐器,其中,
所述第2键的共鸣音是基于对多个倍音关系分别设定的共鸣强度信息而生成的。
5.根据权利要求1至4中任一项所述的电子乐器,其中,
所述非阻尼状态包括通过开启制音踏板来设定所述非阻尼状态的情况和对被操作的演奏操作件设定所述非阻尼状态的情况中的某一种情况,
所述阻尼状态包括在所述制音踏板关闭时对未被操作的演奏操作件设定所述阻尼状态的情况。
6.根据权利要求1至5中任一项所述的电子乐器,其中,
在根据包含与所述第2键对应的共鸣音的乐音的发音中的新的按键而新生成与所述第2键对应的共鸣音的情况下,比较发音中的共鸣音的第1力度和根据所述新的按键而生成的共鸣音的第2力度,
根据比较结果控制共鸣音的生成。
7.一种方法,由电子乐器的计算机执行,其中,所述方法包括:
在第1键被按键的情况下,判断与所述第1键的音高处于倍音关系的音高的第2键是阻尼状态和非阻尼状态中的哪一个状态;
在判断为所述第2键是所述非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成所述第2键的共鸣音;
在判断为所述第2键是所述阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成所述第2键的共鸣音。
8.一种程序,使电子乐器的计算机执行:
在第1键被按键的情况下,判断与所述第1键的音高处于倍音关系的音高的第2键是阻尼状态或者非阻尼状态中的哪一个状态;
在判断为所述第2键是所述非阻尼状态的情况下,至少以第1共鸣音高以及第1音色中的某一个来生成所述第2键的共鸣音,
在判断为所述第2键是所述阻尼状态的情况下,至少以第2共鸣音高以及第2音色中的某一个来生成所述第2键的共鸣音。
CN202180062215.4A 2020-09-11 2021-08-18 电子乐器、方法和程序 Pending CN116134510A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020152924A JP7173107B2 (ja) 2020-09-11 2020-09-11 電子楽器、方法、プログラム
JP2020-152924 2020-09-11
PCT/JP2021/030256 WO2022054517A1 (ja) 2020-09-11 2021-08-18 電子楽器、方法、プログラム

Publications (1)

Publication Number Publication Date
CN116134510A true CN116134510A (zh) 2023-05-16

Family

ID=80630429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180062215.4A Pending CN116134510A (zh) 2020-09-11 2021-08-18 电子乐器、方法和程序

Country Status (5)

Country Link
US (1) US20230317037A1 (zh)
EP (1) EP4213142A1 (zh)
JP (3) JP7173107B2 (zh)
CN (1) CN116134510A (zh)
WO (1) WO2022054517A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330079A (ja) * 1996-06-10 1997-12-22 Kawai Musical Instr Mfg Co Ltd 楽音信号発生装置及び楽音信号発生方法
JP6554850B2 (ja) * 2015-03-23 2019-08-07 カシオ計算機株式会社 電子鍵盤楽器、共鳴音発生装置、方法、プログラムおよび電子楽器
JP6690763B2 (ja) 2019-07-09 2020-04-28 カシオ計算機株式会社 電子鍵盤楽器、電子楽器、方法、プログラム

Also Published As

Publication number Publication date
JP2023011837A (ja) 2023-01-24
JP7173107B2 (ja) 2022-11-16
EP4213142A1 (en) 2023-07-19
JP2022047165A (ja) 2022-03-24
WO2022054517A1 (ja) 2022-03-17
JP7400925B2 (ja) 2023-12-19
JP2024015217A (ja) 2024-02-01
US20230317037A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
CN108573690B (zh) 电子乐器、发音控制方法以及记录介质
JP3214013B2 (ja) 電子楽器
JPH10187157A (ja) 自動演奏装置
US7271330B2 (en) Rendition style determination apparatus and computer program therefor
CN116134510A (zh) 电子乐器、方法和程序
CN113140201A (zh) 伴奏音生成装置、电子乐器、伴奏音生成方法及伴奏音生成程序
JP3252177B2 (ja) 電子楽器
US8759660B2 (en) Electronic musical instrument
JPH06259064A (ja) 電子楽器
WO2005066928A1 (ja) 電子楽器の共鳴音発生装置、電子楽器の共鳴音発生方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP2001356769A (ja) 電子楽器
JP7243116B2 (ja) 共鳴音信号発生装置、共鳴音信号発生方法、共鳴音信号発生プログラムおよび電子音楽装置
JPH08278781A (ja) 音源モジュール
JPH0527762A (ja) 電子楽器
JPH06242781A (ja) 電子楽器
JPH07210157A (ja) 電子楽器
JPH10171475A (ja) カラオケ装置
JPH10319949A (ja) 電子楽器
JP3476863B2 (ja) 電子楽器の自動伴奏装置
JP5816245B2 (ja) 共鳴音発生装置
JP2002073025A (ja) 演奏装置、演奏方法および情報記録媒体
JPH08137473A (ja) 電子楽器のエクスプレッションペダル装置
JP2019168515A (ja) 電子楽器、方法及びプログラム
JPH0736456A (ja) 電子楽器
JP2002311954A (ja) 楽音信号処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination