JP3163706B2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JP3163706B2
JP3163706B2 JP35933091A JP35933091A JP3163706B2 JP 3163706 B2 JP3163706 B2 JP 3163706B2 JP 35933091 A JP35933091 A JP 35933091A JP 35933091 A JP35933091 A JP 35933091A JP 3163706 B2 JP3163706 B2 JP 3163706B2
Authority
JP
Japan
Prior art keywords
information
vibrato
performance
expression
key
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.)
Expired - Fee Related
Application number
JP35933091A
Other languages
English (en)
Other versions
JPH05181474A (ja
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP35933091A priority Critical patent/JP3163706B2/ja
Publication of JPH05181474A publication Critical patent/JPH05181474A/ja
Application granted granted Critical
Publication of JP3163706B2 publication Critical patent/JP3163706B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子楽器に関し、特に演
奏者の意志により音楽的表現を任意に付与した楽音を発
生して音楽表現や効果の範囲を拡大することのできる電
子楽器に関する。
【0002】
【従来の技術】電子楽器は、単一の楽器で、鍵盤やリー
ドあるいは弦を用いる種々の自然楽器の楽音を電子的に
合成して音として発生する。その際、演奏操作子を操作
することによって、自然楽器で演奏される場合と同様
に、また自然楽器で演奏可能な範囲を越えて演奏者の意
志に応じて多様な演奏表現を付加することができれば電
子楽器において音楽性豊かな演奏が可能となる。
【0003】電子楽器の演奏操作子としては、鍵盤、フ
ットペダル、ウインドコントローラ、ジョイスティッ
ク、スライドボリューム、タブレット等が知られてい
る。そのような演奏操作子によって、発音や演奏表現に
関する楽音情報が形成される。
【0004】たとえば、鍵盤の場合は、自然楽器の鍵盤
と同様な外観を有するが、発音に関する情報としてキー
オン信号、キーオフ信号、音高信号、タッチ信号等を発
生する。
【0005】従来、横揺れ鍵盤と称して、弦楽器におけ
るビブラート演奏を実現する演奏表現信号を発生できる
演奏操作子がある。これは、演奏者が鍵盤を押鍵し、そ
のまま押鍵しつつ指を左右に振動させてビブラート操作
をした際、鍵盤が横揺れを起こし、鍵盤の端部に設けた
鍵盤の位置情報(移動速度情報)を検出するセンサによ
りそのビブラート操作の周波数と振幅に関する情報を得
るものである。ビブラート操作の演奏表現情報は、音源
装置に与えられてビブラート音が発生される。
【0006】また、LFO(低周波数発振器)やディレ
イ付のLFOによりあらかじめ固定設定されたビブラー
ト値(周波数と振幅)を発生するものがあった。
【0007】
【発明が解決しようとする課題】上記した従来の横揺れ
鍵盤のようなビブラート演奏操作子は、押鍵操作に変化
を与えて演奏者の意図するある程度の範囲のビブラート
表現は可能であったが、以下のような問題があった。
【0008】押鍵後の指の移動によりビブラート信号を
得る構造であるため、押鍵する鍵を移動する場合には、
前の鍵から次の鍵に移った瞬間とその直後しばらくは、
ビブラートが途切れてしまうということがあった。これ
は鍵の移動が速ければ速い程、起こりやすい。つまり、
音の鳴り始めはビブラート表現が効かなかった。
【0009】また、LFOによるものはビブラート設定
値が固定であるため表現が画一的になり無機的な演奏と
なって、豊かな音楽表現が充分に実現できなかった。た
とえ、LFOを別に設けたピッチベンドホイール等によ
り可変できても、速弾き演奏では演奏者が対応できず、
演奏者が望む自由なビブラート表現を反映することが困
難であった。
【0010】さらに、演奏中に直前の演奏過程で行った
ビブラート表現を繰り返したい場合や、直前のビブラー
ト表現と実際のビブラート操作とを任意に選択して演奏
することができなかった。
【0011】本発明の目的は、ビブラートのような演奏
表現を演奏者がその意図に応じて任意に付与することの
できる電子楽器を提供することにある。
【0012】
【課題を解決するための手段】 本発明の一観点によれ
ば、演奏者の演奏動作が行われ、発音動作に応じて、所
定の演奏表現に係わる表現情報及び発音に係わる楽音発
生指示情報を含む演奏情報を発生することのできる演奏
情報発生手段と、前記発音動作に対応する所定の演奏表
現に係わる表現情報を別途保持、発生することのできる
表現情報発生手段と、前記演奏情報発生手段による新た
な演奏情報の発生に応じて、該演奏情報に含まれる楽音
発生指示情報と前記演奏情報に含まれる表現情報ないし
は前記保持された表現情報とに基づいて、楽音信号を形
成することのできる楽音信号形成手段とを有する楽音発
生装置が提供される。
【0013】
【作用】演奏情報発生手段と表現情報発生手段のいずれ
もが、所定の演奏表現に係わる表現情報を発生すること
ができるので、発音に係わるトリガ信号と同時に演奏表
現情報が付与された楽音信号が容易に形成される。
【0014】
【実施例】以下、本発明による電子楽器の実施例につい
て図面を参照して説明する。なお、実施例は演奏表現と
してビブラートの場合を例にとって説明する。
【0015】図1は、ビブラートを任意に付与した楽音
信号を形成するための回路構成のシステムブロック図で
ある。図1(A)において、5は演奏情報およびビブラ
ートの制御情報を発生する演奏操作子の部分であり、鍵
盤操作子の場合には、通常のキーオン信号、キーオフ信
号、音高信号、タッチ信号等の発音に関する信号を発生
すると同時に、ビブラート操作を行なった場合はその情
報すなわちビブラートの周波数と振幅を含む信号を発生
することのできる横揺れ情報発生部10を含む。
【0016】横揺れ情報発生部10を含む演奏操作子5
の構成例を図1(B)に示す。横揺れ鍵盤5aは、通常
の機能を有する鍵盤部13が弾性部材14により吊り下
げられた構造を有する。演奏者が押鍵しつつ指を左右に
揺らせると鍵盤部13は横揺れする。この横揺れは発光
体16a、受光体16bの間に挿入された窓部材15の
運動となる。
【0017】発光体16aは、所定光度で発光し、受光
体16bでその照度を検出する。照度は、窓部材15を
光が透過する位置によって値が変化する。受光体16b
で検出された照度は、電圧値として検出される。この電
圧値は、横揺れ鍵盤5が無操作状態で0、最大横揺れ振
幅で1あるいは−1となるように正規化される。
【0018】20は横揺れ情報発生部10からの横揺れ
情報を検出して、そこからビブラート周波数と振幅に関
する情報を抽出する横揺れ周波数・振幅検出部である。
図1(B)においては、窓部材15の振動が検出器16
の出力として検出される。
【0019】40は、マイクロコンピュータ、演奏者の
横揺れ操作の周波数、振幅を記憶するメモリ等を含むビ
ブラート制御部であり、演奏操作子5からの制御情報に
応じて実際の横揺れ周波数、振幅とメモリに記憶された
横揺れ周波数、振幅とを選択的にビブラート付加部30
に与える。30は、押鍵により指定された演奏情報に対
し、検出された周波数と振幅のビブラートを付加するた
とえばLFOを含む音源回路である。
【0020】すなわち、横揺れ信号とは別個に演奏者の
意図するビブラートの信号を生成せしめる。このビブラ
ート制御部については、フローチャートを参照して後で
さらに詳しく説明する。
【0021】この実施例においては、以下のようなビブ
ラート演奏を実現する。すなわち、 (1) 音の鳴り始めから演奏者の意志が反映されたビ
ブラートを発生する。 (2) 速弾き時に演奏者の意志が反映されたビブラー
トを発生する。 (3) 任意の時刻において、演奏者がその時点で演奏
したビブラート操作によるビブラート値と直前のまたは
別途設定したビブラートの一方を任意に選択する。
【0022】図1のビブラート信号形成システムの構成
をそなえた電子楽器の具体的なハードウエア構成を図2
に示す。演奏操作子11は、たとえば、横揺れ鍵盤であ
る。横揺れ鍵盤は、鍵盤の位置情報(移動速度情報)を
検出する検出器16によりそのビブラート操作の周波数
と振幅に関する情報を得る。演奏操作子11は、鍵を操
作することにより、発音の開始を指示するキーオン信
号、発音の終了を指示するキーオフ信号、音高を指示す
る音高信号、発音の立ち上がり強度を指示するタッチ信
号等の演奏操作に関する信号を発生する。
【0023】また、演奏操作子11には、図示しないパ
ネルスイッチが各種設けられ、これによって音色、効果
等の各種パラメータの設定および各種機能の切換えを行
なう。
【0024】検出器16は、横揺れ情報を検出してビブ
ラートを実行するためのものである。たとえば、図1
(B)に示すような検出器や、鍵盤の各鍵のアフタタッ
チ検出器等で実現できる。
【0025】フットペダル12は、演奏者が足で踏むこ
とにより特定の演奏表現の実行を指示する信号を発生す
ることができる。例えば、本実施例の場合には、フット
ペダル12に設けたスイッチにより所定のビブラート表
現の指定あるいはその指定の解除をするメッセージ信号
を発生する。
【0026】これら、ビブラート演奏の周波数と振幅に
関する情報と、発音に関する信号とビブラート表現の指
定に関するメッセージ信号等は、いずれもMIDI(M
usical Instrument Digital
Interface)規格の信号フォーマットにデジ
タル化されてMIDI信号として出力される。
【0027】本実施例においては、フットペダル12を
オンすることにより設定値のビブラート表現となり、フ
ットペダル12をオフした状態では、演奏者が鍵盤11
を押鍵しながらビブラート奏法を操作することにより、
その操作情報に応じたビブラート演奏を行うことができ
る。すなわち、フットペダル12により、設定値かある
いは実際の演奏値のいずれかのビブラート情報を選択す
ることができる。
【0028】次に、図2の点線で囲った部分は、図1の
ビブラート制御部40の機能を実現する部分に相当す
る。ビブラート制御部40は一般的なマイクロコンピュ
ータを含む。ただし、図2のビブラート制御部40はビ
ブラート処理以外の発音に関する処理も行うが、それに
ついては本願発明の直接の目的ではないのでその詳しい
説明は省略し、以下にビブラート制御を中心に詳細に説
明する。
【0029】横揺れ鍵盤11から出力されたMIDI信
号は、MIDI信号の受信機能を有するMIDI入力イ
ンターフェース41を介してバス42に供給される。こ
のバス42には、楽音信号形成プログラム、ビブラート
制御信号形成プログラム、各種プリセットデータ等を記
憶するROM43、プログラムでの演算処理の際に生ず
る中間情報等を一時的に記憶するRAM44、ROMに
記憶されたプログラムに基づき楽音信号形成およびビブ
ラート制御信号形成等の演算処理を実行するCPU4
5、プログラム中の処理タイミングの基準を与えるタイ
マ回路46とデータ出力インターフェース47が接続さ
れている。
【0030】CPU45は、タイマ回路46とMIDI
入力インターフェース41とそれぞれ割り込み信号線4
8、49で接続されており、その信号線からの割り込み
信号に応じてタイマ割り込みルーチンとMIDI割り込
みルーチンを実行する。
【0031】データ出力インターフェース47には音源
回路50が接続されており、これは図1のビブラート付
加部30の機能を含み、発音に関する信号とビブラート
演奏に関する信号に基づいて楽音形成信号を発生する。
音源回路50にはサウンドシステム51が接続してお
り、楽音形成信号を受けて可聴楽音を発生する。
【0032】図2に示すようなハードウエア構成を用
い、図1に示すような機能ブロックを実現して楽音信号
を発生させれば、上記した(1)〜(3)のビブラート
演奏が実現できる。
【0033】このようなビブラート演奏を実現するため
にCPU45によって処理するビブラート制御信号形成
プログラムの工程を、以下にフローチャートを参照して
説明する。
【0034】プログラムは、メインルーチン、MIDI
割り込みルーチン及び、タイマ割り込みルーチンからな
り、図3〜図6にそれぞれのルーチンのフローチャート
を示す。図7〜図14は、各処理ルーチンにおける特定
のステップのサブルーチンのフローチャートである。
【0035】まず、図3のメインルーチンMを説明す
る。ステップM1でRAM44内のレジスタ(図示せ
ず)やカウンタ(図示せず)あるいはタイマ46などの
初期化を行う。
【0036】次に、ステップM2でメインループを実行
する。メインループは電子楽器の電源がオフとなるまで
繰り返し実行される。メインループではRAM44内の
レジスタやフラグ(図示せず)が所定の順序で参照さ
れ、そのレジスタやフラグのデータに応じた処理が行わ
れる。
【0037】M2のメインループが実行されている間
に、横揺れ鍵盤11あるいはフットペダル12の操作が
あるとそれに基づくMIDI信号が発生するので、図4
のMIDI割り込みルーチンが実行される。MIDI割
り込みルーチンはそのメッセージの種類に応じた処理が
成される。
【0038】たとえば、鍵が押されたり離されたりした
場合には、キーオン信号あるいはキーオフ信号によるレ
ジスタの設定ならびに、キーオン信号のあった鍵のキー
コードをレジスタに書込んで音源回路50のチャンネル
にキーコードを送り、発音処理を行う。
【0039】演奏者が横揺れ鍵盤11を操作してビブラ
ート演奏操作を行うか、あるいはフットペダル12をオ
ンすると、MIDI割り込みメッセージがCPU45に
入力され図4のMIDI割り込みルーチンMDが実行さ
れる。
【0040】まず、ステップMD1でMIDIメッセー
ジが横揺れデータか否かを判定する。演奏者が横揺れ鍵
盤11を操作してビブラート演奏操作を行った場合は、
横揺れデータが発生しているのでyesの矢印に従って
ステップMD2に進み、RAM44の横揺れ振幅のデー
タを格納するレジスタ(図示せず)を現在の振幅データ
に更新する。なお、横揺れ振幅の時間変化を検出すれば
周波数データが得られる。
【0041】横揺れデータでない場合、あるいは横揺れ
データ用レジスタを更新した後、ステップMD3でMI
DIメッセージ処理ルーチンmidi( )を実行す
る。なお、MIDIメッセージ処理ルーチンmidi
( )の内容は、後で説明する二つの実施例がある。
【0042】さらに、設定された時間間隔毎(たとえば
10msec毎)にタイマ割り込みルーチンが起動され
る。図5と図6に2つの実施例によるタイマ割り込みル
ーチンのフローチャートを示す。いずれの実施例でも、
横揺れ鍵盤11からのMIDI信号の横揺れ振幅と周波
数とを決定した後、それぞれの特定ルーチンを実行す
る。
【0043】まず、第1の実施例による図5のタイマ割
り込みルーチンT1では、ステップT11でMIDI信
号から横揺れ振幅情報を決定する処理Amp dete
ct( )を実行する。次にステップT12でMIDI
信号から横揺れ周波数情報を決定する処理Freq
etect( )を実行する。そしてステップT13で
フットペダル処理foot( )が実行される。いずれ
のステップも後に図面を参照してさらに詳細に説明す
る。
【0044】また、第2の実施例による図6のタイマ割
り込みルーチンT2では、ステップT11とT12まで
は図5と同様で、ステップT23でキーオフ判別ルーチ
ンoldkoff( )が実行される。このステップも
後に図面を参照してさらに詳細に説明する。
【0045】次に、図4のステップMD3のMIDIメ
ッセージ処理ルーチンmidi()の第1の例の詳細フ
ローMD31を図7を参照して説明する。この第1の例
ではフットペダル12によりビブラート値の設定値を保
持するモードを行う。
【0046】まず、ステップMD311で、MIDI信
号にフットペダルメッセージがあるか否かを判定する。
フットペダルメッセージは演奏者がフットペダル12を
オンからオフに変化した場合と、その逆のオフからオン
に変化した場合とに発生する。フットペダルメッセージ
が有る場合には、ステップMD312でそのデータをレ
ジスタfootswに書き込む。たとえば、データの値
として、オフからオンの場合には“1”で、オンからオ
フの場合には“0”をレジスタfootswに書き込
む。フットペダルメセージがない場合にはステップMD
312はスキップする。
【0047】次に、ステップMD313で、MIDI信
号にキーオンメッセージが有るか否かを判定する。キー
オンメッセージがあれば、次のステップMD314でキ
ーオン処理を行う。キーオンメッセージがない場合には
ステップMD314をスキップする。キーオン処理はキ
ーオン信号のあった鍵のキーコードをレジスタに書込
み、音源回路50のチャンネルアサインを行ない、該チ
ャンネルにキーコードを送って発音処理を行う工程を含
む。
【0048】さらに、ステップMD315でMIDI信
号にキーオフメッセージがあるか否かを判定する。キー
オフメッセージがあれば、次のステップMD316でキ
ーオフ処理を行う。キーオフメッセージがない場合には
ステップMD316をスキップする。キーオフ処理はキ
ーオフ信号のあった鍵のキーコードをレジスタに書込
み、音源回路50の同一キーコードを有するチャンネル
を指定して消音処理を行う工程を含む。
【0049】次に、図5に示した第1の例におけるタイ
マ割り込みルーチンT1のフローチャートで行なう各サ
ブルーチンを図8〜図10を参照して詳細に説明する。
このタイマ割り込みルーチンT1は上述の図7のMID
Iメッセージ処理ルーチンmidi( )の第1の例の
フローMD31と協働する。
【0050】ステップT11のMIDI信号から横揺れ
振幅情報を決定する処理Amp detect( )の
ルーチンを図8に、ステップT12のMIDI信号から
横揺れ周波数情報を決定する処理Freq detec
t( )のルーチンを図9に、そしてステップT13の
フットペダル処理foot( )のルーチンを図10に
それぞれ示す。
【0051】まず、図8のMIDI信号から横揺れ振幅
情報を決定する処理Amp detect( )のルー
チンT11を説明する。処理がスタートすると、ステッ
プT111でMIDI信号から演奏された現在の横揺れ
振幅の絶対値データを取り込む。次に、ステップT11
2でそのデータのn次(例えば次数として64)の移動
平均値を、たとえば所定のフィルタを通してランダムな
ノイズ成分を取り除くことで演算する。ステップT11
3でフィルタ出力値を振幅値として設定する。このよう
にして得られた移動平均値をビブラートの横揺れ振幅値
とする。
【0052】次に、図9のMIDI信号から横揺れ周波
数情報を取り込む処理Freq detect( )の
ルーチンT12を説明する。ステップT121で周波数
測定カウンタ(図示せず)を1インクリメントする処理
freqcnt++を実行する。タイマ割り込みが一定
周期で発生しているので周波数測定カウンタは時間を測
定することになる。
【0053】次に、ステップT122で横揺れ振幅の符
号が変化したかどうか判定する。符号の変化があれば、
ステップT123で周波数測定カウンタのカウント値を
変数レジスタfreq(図示せず)に書き込み、周波数
測定カウンタfreqcntをリセットする。振幅の符
号変化がない場合にはステップT123はスキップされ
る。すなわち、変数freqにはゼロクロスからゼロク
ロスまでの時間(半周期)が書き込まれることになる。
【0054】さらに、ステップT124で変数レジスタ
freqのデータをn次(例えば次数として32)の移
動平均値フィルタの入力値とし、フィルタ処理を行な
う。そしてステップT125で周期に対応するフィルタ
出力値の逆数をビブラートの周波数とする。すなわち、
周期の逆数として周波数を得る。
【0055】次に、図10のフットペダル処理foot
( )のルーチンT13を説明する。まず、ステップT
131でフットペダルがオフからオンに変化したかどう
か判定する。これは図7中のステップMD312でフッ
トペダルのデータを書き込まれたレジスタfootsw
を参照して判定される。
【0056】フットペダルがオフからオンに変化してい
る場合には、yesの矢印に従ってステップT132に
進み、図8中のステップT113と図9中のステップT
125で決定されたビブラートの振幅値と周波数値とを
レジスタHOLDampとレジスタHOLDfreq
(いずれも図示せず)に登録して保持する。そして、ス
テップT133でホールドフラグholdflagに
“1”をセットする。
【0057】すなわち、フットペダルを踏むと、その時
点でのビブラート操作による振幅値と周波数がレジスタ
にラッチされ、後の利用に供されることになる。ホール
ドフラグはビブラートデータをホールド(保持)してい
ることを示す。
【0058】また、ステップT131でフットペダルが
オフからオンに変化してないと判定された場合には、n
oの矢印に従ってステップT135に進み、フットペダ
ルがオンからオフに変化したかどうか判定される。これ
も図7中のステップMD312でデータを書き込まれた
レジスタfootswを参照して判定される。フットペ
ダルがオンからオフに変化している場合には、ステップ
T136でホールドフラグholdflagを“0”に
リセットする。
【0059】ステップT133の次、あるいはステップ
T136の次にはステップT134に進み、ビブラート
周波数と振幅値を設定して発音させるためのルーチンv
ibset1( )あるいはvibset2( )のい
ずれかを実行する。その後、リターンする。なお、ステ
ップT135の判定がnoの時は、何らかの誤動作と判
定し、ホールドフラグは変化させず先に進む。
【0060】なお、RAM44またはROM43には、
一定のビブラート値を記憶したレジスタが設けられてい
る。RAM44に設ける場合には、演奏前等にビブラー
ト値を自由に設定できるようにしてもよい。ビブラー振
幅を記憶するレジスタをCONSTAMP、ビブラート
周波数を記憶するレジスタをCONSTFREQとす
る。
【0061】vibset1( )のルーチンは製造
時、あるいは演奏者が演奏前あるいは演奏中に設定した
ビブラート振幅と周波数の固定値か演奏中のビブラート
値を選択して用いる場合であり、vibset2( )
のルーチンはフットペダル踏込時にラッチしたビブラー
ト振幅と周波数か演奏中のビブラート値を選択して用い
る場合である。
【0062】vibset1( )とvibset2
( )のルーチンT2361とT2362の詳しいフロ
ーチャートを図11と図12にそれぞれ示す。まず、図
11のビブラート値設定ルーチンvibset1( )
の説明を行う。ステップT23611でホールドフラグ
holdflagの値が“1”かどうか判定する。この
場合は、ホールドフラグholdflagの値が“1”
の時は、フットペダル12が踏まれてオン状態であり、
演奏者はそれによって所定のビブラート設定値(固定
値)を使用する演奏を意図していることを示す。
【0063】そこで、ステップT23612でレジスタ
CONSTAMPとCONSTFREQ(いずれも図示
しない)に入力しておいた値をビブラート振幅と周波数
とする。
【0064】また、ホールドフラグholdflagの
値が“1”でない場合(“0”)は、フットペダル12
が踏まれてないオフ状態であり、その時はステップT2
3613で現在の演奏操作による横揺れ振幅と周波数の
値をビブラート設定用の振幅、周波数とする。横揺れに
よる現在のビブラート振幅と周波数の値は図8と図9の
ルーチンで決定される。
【0065】このようにして得たビブラート振幅と周波
数の値をステップT23614で音源回路50に転送す
る。音源回路50ではキーオンメッセージで指定された
キーコードの音高の信号にビブラート振幅と周波数を付
加した信号をLFOで発生して、サウンドシステム51
に与える。
【0066】このようにして、実際の演奏操作に基づく
ビブラートと設定しておいた固定データに基づくビブラ
ートを任意に選択的に実行することができる。次に、図
12に示す別のビブラート設定ルーチンvibset2
( )の説明を行う。ステップT23621でホールド
フラグholdflagの値が“1”かどうか判定す
る。この場合は、ホールドフラグholdflagの値
が“1”の時は、フットペダル12が踏まれてオン状態
であり、演奏者はそれによってフットペダル踏込時に保
持したビブラート設定値をそのまま使用する演奏を意図
していることを示す。
【0067】まず、holdflagの値が“1”の場
合は、図10のステップT132で取り込み、保持して
いたビブラート振幅と周波数をステップT23622で
レジスタHOLDampとHOLDfreqから読み出
し、楽音発生用の値とする。
【0068】また、ホールドフラグholdflagの
値が“1”でない場合(“0”)は、フットペダル12
が踏まれてないオフ状態であり、その時はステップT2
3623で現在の横揺れ振幅と周波数の値を楽音発生用
の設定値とする。現在のビブラート振幅と周波数の値は
図8のステップT113と図9のステップT125で決
定した値を採用する。
【0069】次に、ビブラート振幅と周波数の設定値を
ステップT23624で音源回路50に転送する。音源
回路50ではキーオンメッセージで指定されたキーコー
ドの音高の信号に設定値のビブラート振幅と周波数を付
加した信号をLFOで発生して、サウンドシステム51
に与える。
【0070】このようにして、実際の現在の演奏操作に
基づくビブラートと、フットペダル踏込時の演奏操作に
よるビブラートと同等のビブラートを任意に選択的に実
行することができる。
【0071】以上2つの形態によれば、現在横揺れ鍵盤
11で演奏操作中のビブラートの演奏情報か、あるいは
予め設定した固定値のビブラート情報あるいはフットス
イッチ操作時に保持したビブラート情報、どちらか一方
のビブラート情報を選択的に使用することができる。こ
の2つの形態は、パネルスイッチによって任意に切換え
て動作させる。
【0072】次に、図4のステップMD3のMIDIメ
ッセージ処理ルーチンmidi()の第2の例の詳細フ
ローMD32を図13を参照して説明する。この第2の
例では鍵盤のキーオフの際のビブラート情報を次のキー
オンの際のビブラート設定値として自動的に使用でき、
しかもビブラート演奏を行った場合には、ビブラート演
奏情報を設定値として使用できるものである。従って、
速弾き演奏の場合等に効果がある。
【0073】まず、ステップMD321で、MIDI信
号にキーオフメッセージがあるか否かを判定する。キー
オフメッセージが有る場合には、ステップMD322で
キーオフ処理ルーチンを実行する。キーオフ処理はキー
オフ信号のあった鍵のキーコードをレジスタに書込んで
音源回路50の同一キーコードを有する該当チャンネル
の消音処理を行う工程を含む。
【0074】次に、ステップMD323でカウンタko
ncnt(図示しない)を1デクリメントする処理ko
ncnt−−を実行する。このカウンタkoncntは
押鍵数を記憶し、鍵盤11のどれかの鍵がキーオンの時
は1インクリメントし、キーオフの時は1デクリメント
するカウンタである。
【0075】次に、ステップMD324でカウンタko
ncntの値が“0”かどうかを判定する。カウンタk
oncntの値が“0”の場合、すなわちキーオンがな
いか、過去に鍵盤11でキーオンされてもキーがすべて
キーオフされた状態の場合には、ステップMD325で
フラグoldkoffflag(図示せず)に“1”を
セットする。
【0076】すなわち、キーオンがなくなるときが通常
のキーオフを示しており、この時、キーオフ直前のビブ
ラート値を保持するため、フラグoldkofffla
gに“1”をセットする。
【0077】カウンタkoncntの値が“0”でない
場合、すなわち鍵盤11にキーオフされてない鍵が残っ
ている状態の場合には、演奏が続いているのでステップ
MD326でフラグoldkoffflagに“0”を
立てる。
【0078】次に、ステップMD327でMIDI信号
にキーオンメッセージが有るか否かを判定する。キーオ
ンメッセージがあれば、次のステップMD328でキー
オン処理を行う。なお、ステップMD321でキーオフ
がないときは、直接ステップMD327に進む。
【0079】さらに、ステップMD329でキーオンカ
ウンタkoncntを1インクリメントする処理kon
cnt++を実行する。なお、ステップMD327でキ
ーオンメッセージがない場合にはステップMD328と
329とをスキップする。キーオン処理はキーオン信号
のあった鍵のキーコードをレジスタに書込んで音源回路
50のチャンネルをアサインし、該当チャンネルにキー
コードを指定して発音処理を行う工程を含む。
【0080】次に、図6に示した第2の例におけるタイ
マ割り込みルーチンT2のフローチャートで行なう各サ
ブルーチンを図8、図9並びに図14を参照して詳細に
説明する。このタイマ割り込みルーチンT2は上述の図
13のMIDIメッセージ処理ルーチンmidi( )
のフローMD32と協働する。
【0081】図6中のステップT11のMIDI信号か
ら横揺れ振幅情報を取り込む処理Amp detect
( )のルーチンを図8に、ステップT12のMIDI
信号から横揺れ周波数情報を取り込む処理Freq
etect( )のルーチンを図9に示す。これらにつ
いてはすでに述べた第1の実施例の場合と同じであるの
で、説明は省略する。
【0082】次に、ステップT23のキーオフ判別ルー
チンoldkoff( )の説明を図14を参照して行
う。まず、ステップT231でoldkoffflag
が“1”かどうかを判定する。“1”の場合は、鍵がす
べてキーオフされた状態であるので次のステップT23
2で前のステップT113(図8)とステップT125
(図9)で決定された直前のビブラートの振幅と周波数
とをそれぞれレジスタHOLDampとレジスタHOL
Dfreqに登録して保持する。そして、ステップT2
33でホールドフラグholdflagを“1”にセッ
トしてビブラートデータ保持状態を表明する。
【0083】また、ステップT231でoldkoff
flagが“1”でないと判定された場合には、押鍵中
のキーが存在するのでステップT234でキーオンカウ
ンタの値が零より大きく(koncnt>0)、かつ横
揺れ振幅があるかどうかの判定が実行される。
【0084】koncnt>0でかつ横揺れ振幅が存在
する場合には、実際の演奏操作によるビブラートを発生
させるようステップT235でホールドフラグhold
flagを“0”にリセットする。いずれかの条件が成
立しないときは、何もせずに次のステップに進む。
【0085】ステップT233の次、あるいはステップ
T234の判定がnoの時、あるいはステップT235
の次に、ステップT236に進み、ビブラート周波数と
振幅値を発音のため設定するルーチンvibset1
( )あるいはvibset2( )のいずれかを実行
する。
【0086】vibset1( )あるいはvibse
t2( )のルーチンT236の処理についてはすでに
述べた第1の実施例における図11と図12の場合と基
本的には同様であるが、若干内容が異なるので、第2の
実施例の場合について再度説明を加える。
【0087】まず、図11のビブラート値設定ルーチン
vibset1( )の説明を行う。ステップT236
11でホールドフラグholdflagの値が“1”か
どうか判定する。ホールドフラグholdflagの値
が“1”の場合は、フットペダルがオンされている状態
に相当する。その場合、新しい鍵をキーオンしたときの
ビブラートは予めレジスタに設定してあるビブラート振
幅と周波数をステップT23612でレジスタCONS
TAMPとCONSTFREQ(いずれも図示しない)
から読み出し設定値とする。
【0088】また、ホールドフラグholdflagの
値が“1”でない場合(“0”)は、フットスイッチが
オフされている状態であり、その時のビブラートはステ
ップT23613で現在のビブラート振幅と周波数の値
を設定値とする。現在のビブラート振幅と周波数の値は
図8と図9のルーチンで決定した値を採用する。
【0089】次に、ビブラート振幅と周波数の設定値を
ステップT23614で音源回路50に転送する。音源
回路50ではキーオンメッセージで指定されたキーコー
ドの音高の信号に設定値のビブラート振幅と周波数を付
加した信号をLFOで発生して、サウンドシステム51
に与える。
【0090】次に、図12に示す別のビブラート設定ル
ーチンvibset2( )の第2の実施例における説
明を行う。ステップT23621でフラグholdfl
agの値が“1”かどうか判定する。フラグholdf
lagの値が“1”の場合は、フットペダルをオンして
いる状態に相当する。新しい鍵を押鍵したときのビブラ
ート値は自動的に演奏者が直前のキーオフ時に使用した
ビブラート設定値がそのまま使用される。
【0091】まず、holdflagの値が“1”の場
合は、図14のステップT232でセットして保持して
あるビブラート振幅と周波数をステップT23622で
レジスタHOLDampとHOLDfreqから読み出
し設定値とする。
【0092】また、フラグholdflagの値が
“1”でない場合(“0”)は、フットペダルがオフの
状態であり、その時のビブラートはステップT2362
3で現在のビブラート振幅と周波数の値を設定値とす
る。現在のビブラート振幅と周波数の値は図8と図9の
ルーチンで決定した値を採用する。
【0093】次に、ビブラート振幅と周波数の設定値を
ステップT23624で音源回路50に転送する。音源
回路50ではキーオンメッセージで指定されたキーコー
ドの音高の信号に設定値のビブラート振幅と周波数を付
加した信号をLFOで発生して、サウンドシステム51
に与える。
【0094】以上の第2の実施例によって、キーオフ
(離鍵)した後の次の押鍵の際のビブラートは、フット
ペダルの状態に応じて、予め設定したか直前のキーオフ
時のビブラート値が自動的に採用されるか、あるいは実
際の演奏値のいずれかが選択される。
【0095】上述した第1の実施例および第2の実施例
は、パネルスイッチによってその機能を切り換えて使わ
れる。以上、本発明の実施例を説明したが、本発明は上
記実施例に限るものではなく、特許請求の範囲に記載の
構成に基づき、様々な応用や変更が可能であることを断
っておく。
【0096】たとえば、ビブラート設定ルーチン(vi
bset1( )、vibset2( ))において、
holdflagが変化する際にビブラート周波数や振
幅が急激に変化しないように、ホールド値と実際の横揺
れ値との間の時間重み付けルーチンを両者の条件に応じ
て追加してもよい。また、その重み付けルーチンにも時
間に関するテーブルを追加してもよい。
【0097】また、割り込み間隔毎の横揺れビブラート
の情報を時間をパラメータに持つ配列にストアしておく
ことにより、データホールドを行う条件が成立するより
も過去の(例として2秒前など)ビブラート振幅や周波
数をビブラートのホールド値として使用することもでき
る。具体的には、Amp detect( )、Fre
detect( )で計算された振幅、周波数値を
リングバッファに記憶しておき、タイマ割り込みルーチ
ンでHold amp、Hold freqにセットす
る振幅、周波数値を所定時間前の値とすることができ
る。
【0098】さらには、説明した実施例においては、演
奏操作子として横揺れ鍵盤とフットペダルを使用してい
るが、これに限らず演奏者の演奏表現操作が電気信号の
形として生成できる操作子であれば何でもよい。たとえ
ば、アフタータッチ、ジョイスティック、あるいはベン
ドホイールなどがある。
【0099】またさらには、演奏表現としては本実施例
のようなビブラートのみならず、たとえばトレモロ、フ
ランジャー等のモジュレーション深さ、付加的なノイズ
音の音量、物理音源アルゴリズムにおける音源中の非線
形ゲインのような他の多様な音楽的演奏表現を楽音信号
に付与することも可能である。
【0100】なお、横揺れ周波数によってビブラートの
周波数と共に音色のためのローパスフィルタの中心周波
数を制御するようにしてもよい。そうすることによっ
て、自然楽器では得られないような演奏表現も実現でき
る。
【0101】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。たとえば、
種々の変更、改良、組み合わせ等が可能なことは当業者
に自明であろう。
【0102】
【発明の効果】以上述べたように、所定の演奏表現に係
わる表現情報を保持、発生可能な表現情報発生手段を設
けたことによって、音の鳴り始めから演奏表現を付与す
ることができ、演奏者が望む自由な演奏表現を任意に反
映することができる。
【0103】さらに、演奏中に指定時の演奏で行った演
奏表現や、直前の演奏で行なった演奏表現と現在の演奏
表現操作とを任意に切り換えて演奏することができ多様
なる演奏表現を演奏者が任意に付与することのできる電
子楽器を提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施例による電子楽器のビブラート
信号を形成するための回路構成のシステムブロック図で
ある。
【図2】 本発明の実施例による電子楽器のビブラート
信号の発生と制御をするためのハードウエアの構成を示
すブロック図である。
【図3】 図2に示す電子楽器の動作を実行するための
メインルーチンのフローチャートである。
【図4】 図2に示す電子楽器の動作を実行するための
MIDI割り込みルーチンの実施例のフローチャートで
ある。
【図5】 図2に示す電子楽器の動作を実行するための
タイマ割り込みルーチンの第1の実施例のフローチャー
トである。
【図6】 図2に示す電子楽器の動作を実行するための
タイマ割り込みルーチンの第2の実施例のフローチャー
トである。
【図7】 図4に示すMIDI割り込みルーチンにおけ
るMIDIメッセージ処理ルーチンのフローチャートで
ある。
【図8】 図5あるいは図6のフローチャトにおける横
揺れ振幅決定ルーチンのフローチャートである。
【図9】 図5あるいは図6のフローチャトにおける横
揺れ周波数決定ルーチンのフローチャートである。
【図10】 図5のフローチャートにおけるフットペダ
ル処理ルーチンのフローチャートである。
【図11】 図10あるいは図14のビブラート値設定
ルーチンの第1の形態のフローチャートである。
【図12】 図10あるいは図14のビブラート値設定
ルーチンの第2の形態のフローチャートである。
【図13】 図4に示すMIDI割り込みルーチンにお
けるMIDIメッセージ処理ルーチンの第2の実施例の
フローチャートである。
【図14】 図6のフローチャートにおけるキーオフ判
別ルーチンのフローチャートである。
【符号の説明】
5 演奏操作子、 10 横揺れ情報発生部、 5a
横揺れ鍵盤、 11 演奏操作子、 12 フットペダ
ル、 20 横揺れ周波数・振幅検出部、 30ビブラ
ート付加部、 40 ビブラート制御部、 41 MI
DI入力インターフェース、 42 バス、 43 R
OM、 44 RAM、 45 CPU、 46 タイ
マ、 47 データ出力インターフェース、 48 割
り込み信号線、 49 割り込み信号線、 50 音源
回路、 51 サウンドシステム
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭50−50034(JP,A) 特開 平1−101590(JP,A) 特開 平3−65992(JP,A) 実開 平2−131794(JP,U) 実開 平2−131799(JP,U) 実公 昭54−29779(JP,Y2)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 演奏者の演奏動作が行われ、発音動作に
    応じて、所定の演奏表現に係わる表現情報及び発音に係
    わる楽音発生指示情報を含む演奏情報を発生することの
    できる演奏情報発生手段と、 前記発音動作に対応する所定の演奏表現に係わる表現情
    報を別途保持、発生することのできる表現情報発生手段
    と、 前記演奏情報発生手段による新たな演奏情報の発生に応
    じて、該演奏情報に含まれる楽音発生指示情報と前記演
    奏情報に含まれる表現情報ないしは前記保持された表現
    情報とに基づいて、楽音信号を形成することのできる楽
    音信号形成手段とを有する楽音発生装置。
  2. 【請求項2】 さらに、前記演奏情報に含まれる表現情
    報若しくは前記表現情報保持手段によって保持された表
    現情報から任意の表現情報を選択する選択手段を有し、 前記楽音信号形成手段は、前記演奏情報発生手段による
    新たな演奏情報の発生に応じて、該演奏情報に含まれる
    楽音発生指示情報と前記選択手段によって選択された表
    現情報とに基づいて楽音信号を形成する請求項1記載の
    楽音発生装置。
  3. 【請求項3】 さらに、前記表現情報発生手段によって
    保持された表現情報若しくは予め設定された表現情報か
    ら任意の表現情報を選択する選択手段を有し、 前記楽音信号形成手段は、前記演奏情報発生手段による
    新たな演奏情報の発生に応じて、該演奏情報に含まれる
    楽音発生指示情報と前記選択手段によって選択された表
    現情報とに基づいて楽音信号を形成する請求項1記載の
    楽音発生装置。
JP35933091A 1991-12-27 1991-12-27 楽音発生装置 Expired - Fee Related JP3163706B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35933091A JP3163706B2 (ja) 1991-12-27 1991-12-27 楽音発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35933091A JP3163706B2 (ja) 1991-12-27 1991-12-27 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH05181474A JPH05181474A (ja) 1993-07-23
JP3163706B2 true JP3163706B2 (ja) 2001-05-08

Family

ID=18463962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35933091A Expired - Fee Related JP3163706B2 (ja) 1991-12-27 1991-12-27 楽音発生装置

Country Status (1)

Country Link
JP (1) JP3163706B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5050034A (ja) * 1973-09-03 1975-05-06
JPS5429779Y2 (ja) * 1973-09-25 1979-09-20
JPH01101590A (ja) * 1987-10-14 1989-04-19 Casio Comput Co Ltd 電子楽器
JPH0715034Y2 (ja) * 1989-03-31 1995-04-10 ヤマハ株式会社 電子鍵盤楽器
JPH02131794U (ja) * 1989-03-31 1990-11-01
JPH07111632B2 (ja) * 1989-08-04 1995-11-29 ヤマハ株式会社 電子楽器

Also Published As

Publication number Publication date
JPH05181474A (ja) 1993-07-23

Similar Documents

Publication Publication Date Title
US7112738B2 (en) Electronic musical instrument
CN115909999A (zh) 电子设备、电子设备的发音指示方法及存储介质
JPH1055174A (ja) 指揮棒および楽音再生装置
JP3163706B2 (ja) 楽音発生装置
JP3642130B2 (ja) 電子楽器
JP2629418B2 (ja) 楽音合成装置
JP3259602B2 (ja) 自動演奏装置
JP2012108295A (ja) 楽音生成装置及びプログラム
JPH0542475Y2 (ja)
JP2526032Y2 (ja) 電子楽器
JPH0926787A (ja) 音色制御装置
JP4186855B2 (ja) 楽音制御装置及びプログラム
JP2953217B2 (ja) 電子楽器
JP3226268B2 (ja) コンサートマジック自動演奏装置
JP2959416B2 (ja) 電子楽器の変調信号生成装置
JPH07191669A (ja) 電子楽器
JP3669065B2 (ja) 電子楽器の制御パラメータ変更装置
JPH06242781A (ja) 電子楽器
JP2616006B2 (ja) 電子楽器における楽音発生装置
JP4218566B2 (ja) 楽音制御装置及びプログラム
JP2595460Y2 (ja) 電子楽器の制御装置
JPS6243359Y2 (ja)
JPH08106285A (ja) 自動演奏装置
JP2522906Y2 (ja) 電子楽器
JP3392452B2 (ja) 楽音制御データ処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010130

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090302

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees