JP2000172258A - 電子楽器の音源制御方法 - Google Patents

電子楽器の音源制御方法

Info

Publication number
JP2000172258A
JP2000172258A JP10343738A JP34373898A JP2000172258A JP 2000172258 A JP2000172258 A JP 2000172258A JP 10343738 A JP10343738 A JP 10343738A JP 34373898 A JP34373898 A JP 34373898A JP 2000172258 A JP2000172258 A JP 2000172258A
Authority
JP
Japan
Prior art keywords
performance
event
timing
performance event
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.)
Granted
Application number
JP10343738A
Other languages
English (en)
Other versions
JP3849133B2 (ja
Inventor
Tetsuo Okamoto
徹夫 岡本
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 JP34373898A priority Critical patent/JP3849133B2/ja
Publication of JP2000172258A publication Critical patent/JP2000172258A/ja
Application granted granted Critical
Publication of JP3849133B2 publication Critical patent/JP3849133B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 (修正有) 【課題】多少演奏動作がずれても正確なタイミングで楽
音を発音可能で初心者でもタイミングの合った演奏可能
な体関節などの動きに基づき楽音発生を指示する電子楽
器の音源制御方法。 【解決手段】肩や肘に装着する角度センサに音色を割当
て、自動演奏用の曲データを用意し、該曲データ中に、
角度センサに割当てた音色のパートを用意し、該各パー
トは、正確な発音タイミングのデータを含む。例えば右
肘の曲げ動作を開始し、該ストップイベントが来たのち
所定時間経過後までの間に曲データ中の同音色のパート
の発音タイミングが来たら該時点で発音を行ない、右肘
の動作が開始され該ストップイベント時、曲データ中の
ハイハットのパートの発音タイミングが無いと、ストッ
プイベント時点で発音を行なう。右肘動作開始からスト
ップイベント時、曲データ中のハイハットのパートの発
音タイミングでの発音時、ストップイベントでは発音を
行なわない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、人体の腕や肘な
どの物理的な動きを検出して楽音発生を指示する電子楽
器の音源制御方法に関する。
【0002】
【従来の技術】従来より、人体の所定の部分の動きを検
出して楽音発生を指示する音源制御装置が知られてい
る。例えば、手で持つグリップ型の演奏操作子と肩、
肘、手首などの関節に装着する角度センサを備え、グリ
ップ型の演奏操作子が操作されたとき、あるいは各関節
の曲げ動作が停止したときや所定の設定位置を横切った
ときなどのタイミングで楽音を発生する装置が知られて
いる。これにより、演奏者の肩や肘などの動きに応じて
楽音を発生することができ、視覚的な効果がある。
【0003】
【発明が解決しようとする課題】ところが、このような
関節などの動きに応じて楽音を発生する電子楽器では、
通常の楽器のように演奏操作する対象物が存在しないた
め、リアクションに乏しく(発音時の視覚的、感覚的な
情報が乏しい)、発音タイミングを正確に合わせること
は非常に難しい。そのため、曲に合わせて演奏する場
合、どうしてもタイミングがずれてしまうという問題が
ある。
【0004】この発明は、人体の関節などの動きに基づ
いて楽音発生を指示する電子楽器の音源制御方法におい
て、多少演奏動作がずれても正確なタイミングで楽音を
発音することができ、初心者でもタイミングの合った演
奏ができるようにすることを目的とする。
【0005】
【課題を解決するための手段】この目的を達成するた
め、請求項1に係る楽音制御方法は、演奏者の操作を検
出し、該操作に係る物理量を取得するステップと、前記
物理量に応じて、前記操作が行なわれていることを判定
するステップと、あらかじめ記憶手段に記憶されている
曲データを再生し、演奏タイミングで演奏イベントを発
生する演奏イベント発生ステップと、前記演奏イベント
の発生時に、前記判定ステップにより前記操作が行なわ
れていると判定されたとき、前記演奏イベントに基づく
楽音制御を行なう制御ステップとを備えたことを特徴と
する。
【0006】請求項2に係る音源制御方法は、物理的な
動きを検出し、該動作に係る物理量を取得するステップ
と、前記物理量に応じて、前記物理的な動きが動作中で
あること、および停止したことを、判定する判定ステッ
プと、あらかじめ記憶手段に記憶されている曲データを
再生し、演奏タイミングで演奏イベントを発生する演奏
イベント発生ステップと、前記演奏イベントの発生時
に、前記判定ステップにより前記物理的な動きが動作中
であると判定されたとき、前記演奏イベントに基づく楽
音制御を行なう第1制御ステップと、前記判定ステップ
により前記物理的な動きが停止したと判定されたとき、
前記第1制御ステップによる楽音制御が行なわれたか否
かを判定し、行なわれていない場合に限り、前記物理的
な動きの停止に基づく楽音制御を行なう第2制御ステッ
プとを備えたことを特徴とする。
【0007】請求項3に係る音源制御方法は、検出対象
の物理的な動きを検出し、該動作に係る物理量を取得す
るステップと、前記物理量に応じて、前記検出対象が動
作中であることを判定する判定ステップと、あらかじめ
記憶手段に記憶されている、前記検出対象に対応する演
奏イベントおよび対応しない演奏イベント、並びにそれ
ら演奏イベントの演奏タイミングを含む曲データを、再
生し、前記演奏タイミングで前記演奏イベントを発生す
る演奏イベント発生ステップと、前記演奏イベントの発
生時に、前記判定ステップにより前記検出対象が動作中
であると判定されたとき、前記演奏イベントが前記検出
対象に対応したものである場合にのみ、前記演奏イベン
トに基づく楽音制御を行なう第1制御ステップと、前記
演奏イベント発生ステップで発生した演奏イベントのう
ち前記検出対象に対応しない演奏イベントに基づいて楽
音制御を行なう第3制御ステップとを備えたことを特徴
とする。
【0008】
【発明の実施の形態】以下、図面を用いてこの発明の実
施の形態を説明する。
【0009】図1は、この発明に係る音源制御方法を適
用した電子楽器の全体構成を示すブロック図である。こ
の電子楽器は、右側ショルダ(肩)センサ101R、右
側エルボ(肘)センサ102R、右側リスト(手首)セ
ンサ103R、右側グリップ操作子104R、左側ショ
ルダセンサ101L、左側エルボセンサ102L、左側
リストセンサ103L、左側グリップ操作子104L、
検出回路105R,105L、表示器106、パネルス
イッチ(SW)107、中央処理装置(CPU)10
8、リードオンリメモリ(ROM)109、ランダムア
クセスメモリ(RAM)110、タイマ111、および
入出力(I/O)処理部112を備えている。検出回路
105R,105L、表示器106、パネルSW10
7、CPU108、ROM109、RAM110、タイ
マ111、およびI/O処理部112は、バスライン1
13に接続されている。
【0010】右側ショルダセンサ101Rは、右肩に装
着され、右肩の関節の曲げ角度を検出する角度センサで
ある。同様に、右側エルボセンサ102R、右側リスト
センサ103R、左側ショルダセンサ101L、左側エ
ルボセンサ102L、および左側リストセンサ103L
は、それぞれ、右肘、右手首、左肩、左肘、および左手
首に装着され、それらの部分の関節の曲げ角度を検出す
る角度センサである。グリップ操作子104Rは、右手
で操作するための複数のスイッチなどを備えた操作子で
ある。左側グリップ操作子104Lは、左手で操作する
ための複数のスイッチなどを備えた操作子である。右側
センサ101R〜103Rおよび右側グリップ操作子1
04Rは、検出回路105Rに接続されている。検出回
路105Rは、各右側センサ101R〜103Rの出力
から角度値を検出し、またグリップ操作子104Rの各
スイッチの操作を検出して、それらの検出結果をバスラ
イン113を介してCPU108に出力する。左側につ
いても同様であり、検出回路105Lは、各左側センサ
101L〜103Lの出力から角度値を検出し、またグ
リップ操作子104Lの各スイッチの操作を検出して、
それらの検出結果をバスライン113を介してCPU1
08に出力する。
【0011】CPU108は、この電子楽器全体の動作
を制御する。ROM109は、CPU108が実行する
制御プログラムなどを格納する。RAM110は、CP
U108が使用するレジスタやバッファを確保するワー
ク用のメモリである。また、RAM110には、自動演
奏用の曲データが格納される。曲データは、不図示の任
意の方法によりRAM110に読み込まれる。タイマ1
11は時間をカウントするためのタイマであり、CPU
108から任意の時間をセットすることにより、タイマ
111からその時間間隔でタイマ割込イベントを発生さ
せることができる。表示器106は、各種の情報を表示
するための表示器である。
【0012】パネルスイッチ107は、ユーザが音色設
定など各種の設定を行なうためのスイッチ類である。特
に、パネルスイッチ107は、RAM110に格納され
ている曲データに基づく自動演奏を開始させるための自
動演奏スタートスイッチ、自動演奏を停止させるための
自動演奏ストップスイッチ、および曲データ中の所定の
パートのマイナスワンを指定するためのマイナスワンス
イッチを備えている。マイナスワンについては後述す
る。自動演奏スタートスイッチと自動演奏ストップスイ
ッチは、1つのスイッチでスタートとストップとがトグ
ルで切り替わるようなものでもよい。I/O処理部11
2は、外部にある音源との間で電波による通信を行なう
トランスミッタを含む入出力処理部である。CPU10
8は、発音すべきタイミングであると判断したとき、I
/O処理部112を介して外部音源にノートオンを出力
し、発音を行なわせる。
【0013】図1の各部のうち、センサ101R〜10
3R,101L〜103Lおよびグリップ操作子104
R,104L以外の部分は、ベルト部に設けられてい
る。ユーザは、ベルト部を腰に装着し、それぞれの角度
センサを左右の手首、肘、および肩に装着し、グリップ
操作子を手に持って演奏を行なう。特に、この電子楽器
では、角度センサが装着された部位の動作が開始された
のちその動作が停止(ストップイベントの検出)された
タイミングで楽音を発音するのが基本動作であるが、楽
音の発音タイミングが正確になるような制御を行なって
いる。具体的には、以下のようにしている。
【0014】あらかじめ肩や肘に装着する角度センサに
はそれぞれ音色を割り当てておく。ここでは、右肩にバ
スドラム、右肘にハイハットというように、ドラムの音
色を割り当てるものとする。一方、あらかじめ自動演奏
用の曲データを用意しておき、その曲データ中には、角
度センサに割り当てた音色のパートを、例えばバスドラ
ムのパートやハイハットのパートというように用意して
おく(完全に同じ音色でなく、同グループ同系統の音色
でもよい)。それらの各パートは、正確な発音タイミン
グのデータを含むものである。そして、例えば右肘を例
に説明すると、右肘の曲げ動作が開始されてからそのス
トップイベントが来たのち所定時間(本例では50mse
c)経過後までの間に曲データ中の同音色(ハイハッ
ト)のパートの発音タイミングが来たらその時点で発音
を行なう。また、右肘の動作が開始されそのストップイ
ベントが来たとき、その間に曲データ中のハイハットの
パートの発音タイミングが無ければ、ストップイベント
の時点で発音を行なう。右肘の動作が開始されてからス
トップイベントまでの間に曲データ中のハイハットのパ
ートの発音タイミングで発音がなされたときは、ストッ
プイベントでは発音を行なわない。また曲データ中のハ
イハットのパートの発音タイミングが来ても、その時点
で右肘が動作していないときは発音を行なわない。右肘
だけでなく他の部位の角度センサについても同様にする
ことにより、ユーザの動作タイミングが若干ずれても正
確なタイミングで発音される。なお、例えば右肘の動作
開始からそのストップイベントまでに曲データ中のハイ
ハットのパートの発音タイミングが無ければストップイ
ベントの時点で発音され、さらにそのストップイベント
から50msecまでの間に曲データ中のハイハットのパー
トの発音タイミングがあればそのタイミングでも発音さ
れることになる。
【0015】次に、この電子楽器で使用しているレジス
タなどの記憶領域やそこに記憶するデータについて説明
する。 (1)t:1ミリ秒(msec)間隔で発生するタイマ割込
イベントごとにカウントアップされるカウンタであり、
その値で現タイミングを示す。初期値は0である。 (2)ED(t):カウンタtの時点における角度セン
サの検出値(以下、角度センサ値と呼ぶ)を格納する配
列である。 (3)EV(t):角度センサ値の変化速度を格納する
配列である。カウンタtの時点における変化速度EV
(t)は、EV(t)=ED(t)−ED(t−14)
で求める。この速度EV(t)は、発音するのに必要な
最低速度に至ったか否かを判定するために用いる。な
お、ED(t)−ED(t−14)を、14[msec]微分
値と呼ぶ。同様に、14msec以外の時間間隔Tmsecで角
度センサ値EDの差分を取ったものはT[msec]微分値と
呼ぶ。これらの「速度」や「微分」の定義は、厳密には
一般的な数学・物理学での定義とは異なるが、それらと
同等の意味を持つものである。
【0016】(4)EMF:角度センサが装着された部
位が動作中か否かを示す動作中フラグである。初期値は
0であり、角度センサ値の変化速度の絶対値|EV
(t)|が所定値ε以上になったとき、角度センサが装
着された部位が動作開始したものとして、1がセットさ
れる。1がセットされた後は、ストップイベントが検出
されたとき、再び0にリセットされる。ストップイベン
トとは、角度センサが装着された部位が動作を停止した
こと(停止した後、折り返す動作に移った場合も含む)
を示すイベントである。 (5)ESE:角度センサが装着された部位が動作開始
したとき1がセットされ、ストップイベントが検出され
た後の所定時間(本例では50msec)の間はその1が保
持され、ストップイベント検出後に該所定時間が経過し
たとき0にリセットされるサウンドイネーブルフラグで
ある。このフラグが1のとき、自動演奏の曲データの発
音タイミングが来たら発音を行なう。
【0017】(6)ESF:角度センサが装着された部
位が動作開始してからそのストップイベントが来たのち
所定時間(本例では50msec)経過後までの間に、曲デ
ータに基づく発音タイミングでの発音がなされたか否か
を示す発音フラグである。角度センサが装着された部位
が動作開始したとき0にリセットされ、前記のような発
音がなされたとき1がセットされる。 (7)Emax:角度センサが装着された部位が動作開始
してからストップイベントが検出されるまでの速度EV
(t)の絶対値の最大値(以下、速度最大値と呼ぶ)を
格納するレジスタである。 (8)EMnow:現タイミングtにおけるストップイベ
ント判定用の4[msec]微分値ED(t)−ED(t−
4)を格納するレジスタである。
【0018】(9)EMold:上記EMnowを設定したと
き、それまでのEMnowを待避するためのレジスタであ
る。 (10)RUN:自動演奏が開始されているか否かを示
す自動演奏フラグである。その値は、自動演奏が開始さ
れているとき1、停止されているとき0をとる。 (11)曲データ:曲の先頭から順にノートイベントデ
ータとデュレーションデータを並べたデータである。ノ
ートイベントデータは発音する楽音の種類(音色など)
や強さ(ベロシティ)などを規定するデータであり、デ
ュレーションデータはノートイベントの間隔(次のノー
トイベント発生までの時間間隔)を規定するデータであ
る。
【0019】なお、上記各記憶領域を示す記号は、レジ
スタなどの記憶領域そのものを示すとともに、当該記憶
領域に格納されたデータをも示すものとする。例えば、
tというときは、カウンタであるレジスタそのものを示
すとともに、そのレジスタに格納されたカウント値(現
タイミング値)をも示すものとする。また、上記の各記
憶領域は、角度センサごとに別々に用意されているもの
とする。
【0020】次に、図2〜図6のフローチャートを参照
して、この電子楽器の動作を詳しく説明する。
【0021】図2は、メインルーチンを示す。電子楽器
の電源がオンされると、CPU108は、ステップ20
1で各種レジスタなどの初期設定を行なう。特に、カウ
ンタt、動作中フラグEMF、発音フラグESF、およ
び自動演奏フラグRUNは0に、それぞれ初期設定す
る。また、1msecごとにタイマ割込イベントが発生する
ようにタイマ111を設定する。
【0022】次に、ステップ202でイベント検出を行
ない、ステップ203でイベントがあるときはステップ
204に進む。イベントがないときはステップ202に
戻る。ステップ204では、検出したイベントに応じて
分岐する。パネルスイッチ107またはグリップ操作子
104R,104Lのスイッチの操作イベントが検出さ
れたときは、ステップ205に進み、イベントのあった
スイッチに対応する処理(音色の設定など)を行ない、
ステップ202に戻る。タイマ割込イベントが検出され
たときは、ステップ206に進み、そのタイマ割込が1
msecごとの割込であったときはセンサ処理(図4)を行
ない、そのタイマ割込がαmsecごとの割込であったとき
は自動演奏処理(図6)を行なう。なお、αmsecごとの
タイマ割込イベントは、自動演奏のための割込であり、
自動演奏の開始が指示されて後述の図3(a)のステッ
プ303が実行されるとαmsecごとに発生するようにな
る。ステップ206の後、ステップ202に戻る。その
他のイベントが発生したときは、ステップ207に進
み、その他の処理を行なった後、ステップ202に戻
る。
【0023】図3(a)は、図2のステップ205のS
W処理のうち、自動演奏スタートスイッチの操作があっ
たときに実行される自動演奏スタート処理ルーチンを示
す。まずステップ301で、演奏する曲データを指定す
る。次にステップ302で再生準備を行なう。再生準備
は、曲データ中の最初のデュレーションデータ(一番始
めのノートイベント発生までの時間を示すデータ)を読
み出してカウントダウンの対象に設定する処理などであ
る。次にステップ303で、再生開始する。再生開始
は、αmsecごとにタイマ割込イベントが発生するように
タイマ111を設定する処理である。これにより、αms
ecごとに後述する自動演奏処理(図6)が実行されるよ
うになる。αの値はユーザが自由に設定でき、この値に
より自動演奏の曲データの再生速度(曲のテンポ)が規
定される。次にステップ304で、自動演奏フラグRU
Nに1をセットして自動演奏開始状態とし、処理を終了
する。
【0024】図3(b)は、図2のステップ205のS
W処理のうち、自動演奏ストップスイッチの操作があっ
たときに実行される自動演奏ストップ処理ルーチンを示
す。ステップ311で再生停止し、ステップ312で自
動演奏フラグRUNを0にリセットして自動演奏停止状
態とし、処理を終了する。再生停止は、αmsecごとのタ
イマ割込イベントが発生しなくなるようにタイマ111
を設定する処理である。これにより、αmsecごとの自動
演奏処理(図6)の実行は停止する。
【0025】図3(c)は、図2のステップ205のS
W処理のうち、マイナスワンスイッチの操作があったと
きに実行されるマイナスワン処理ルーチンを示す。ステ
ップ321で、指定されている曲データ中の所定のパー
トのマイナスワンを指定し、処理を終了する。マイナス
ワンで指定されたパートは、ユーザの演奏動作により発
音されるパート(角度センサの出力に基づいて発音タイ
ミングを制御して発音されるパート)になる。マイナス
ワンで指定されたパートは、ユーザの演奏動作に応じ
て、かつ、楽音の発音タイミングが正確になるように制
御されて、発音される。マイナスワンで指定されたパー
ト以外のパートは通常通り自動演奏される。一方、マイ
ナスワンを指定しない場合は、曲データ中の全パートが
通常通り自動演奏され、角度センサに対してはストップ
イベントに基づく発音制御が行なわれる。
【0026】なお、ユーザは、肩や肘に装着する各角度
センサにそれぞれ音色を割当てることができる。割当て
た音色をセンサ音色と呼ぶ。各センサ音色を割当てる処
理は、ステップ205のSW処理の中で行なう。ユーザ
が指定するセンサ音色は、マイナスワンで指定されたパ
ートの音色と同グループの音色とする必要がある。同グ
ループにしないと発音がなされない。ここではセンサ音
色はバスドラム、スネア、ハイハットなどのドラムの音
色とする。曲データには、センサ音色と同グループの音
色のパートのほか、メロディパートやベースなどの伴奏
パートが含まれる。
【0027】図4は、図2のステップ206で1msecご
とに繰り返し実行されるセンサ処理ルーチンを示す。こ
こでは、右エルボセンサ102Rの処理について説明す
るが、他のセンサについても同様の処理を行なうものと
する。
【0028】まずステップ401で、カウンタtをイン
クリメントする。次にステップ402で、右エルボセン
サ102Rの角度センサ値を取込み、ED(t)に格納
する。ステップ403では、mod(t/4)が0であ
るか否か判定する。mod(t/4)はカウンタtを4
で割った余りを示す。mod(t/4)=0のときはス
テップ404に進み、それ以外のときは処理を終了す
る。結果として、4msecごとにステップ404に進むこ
とになる。ステップ404では、現タイミングtにおけ
る14[msec]微分値を求め、EV(t)に格納する。こ
れにより、EV(t)には、角度センサ値の変化速度が
設定されたことになる。
【0029】ステップ405では、EV(t)の絶対値
|EV(t)|が所定のしきい値ε以上になったか否
か、すなわち角度センサ値の変化速度の絶対値が所定値
ε以上になったか否かを判定する。ε以上になったとき
(動き始めが検出されたとき)はステップ406に進
み、そうでないときはステップ407に進む。ステップ
406では、動作中フラグEMFが0か否か判定する。
EMF=0なら、それまで動いていなかった右エルボの
動き始めを検出したということだから、ステップ408
で、動作中フラグEMFおよびサウンドイネーブルフラ
グESEに1をセットし、発音フラグESFを0にリセ
ットし、速度最大値Emaxに現タイミングの速度EV
(t)をセットし、4[msec]微分値をレジスタEMnow
とEMoldにセットし、処理を終了する。
【0030】ステップ406でEMF=1なら、現在右
エルボは動作中ということだから、ステップ409で、
ノートオン判定処理(図5(a))を行ない、処理を終
了する。ステップ405で|EV(t)|≧εでないと
きは、ステップ407で動作中フラグEMFが1か否か
判定する。EMF=1なら、右エルボは動作中であると
いうことだから、ステップ409に進む。EMF=0な
ら、右エルボは動作開始していないから、そのまま処理
を終了する。
【0031】図5(a)は、ステップ409のノートオ
ン判定処理ルーチンを示す。まず、ステップ501で角
度センサ値の変化速度の絶対値|EV(t)|の値に応
じて速度最大値Emaxを更新する。次にステップ502
で、4[msec]微分値を求めてレジスタEMnowにセット
する。次に、ステップ503でストップイベント発生の
条件判定を行なう。具体的には、現タイミングにおけ
る4[msec]微分値EMnowが0であるか、または、前
回の4[msec]微分値EMoldと今回の4[msec]微分値E
Mnowとの符号が異なるか、の2つの条件を判定する。
の条件は、右エルボの動作が停止して速度が0になっ
たか否かを判定するものである。の条件は、右エルボ
を動かし始めてから停止してさらに逆方向に戻した(腕
を素早く戻したとき)ことを判定するものである。サン
プリング間隔の関係からの条件だけでは不充分なた
め、の条件も判定している。
【0032】なお、動き始めを検出するときにはステッ
プ404で14[msec]微分値を用い、ストップイベント
を検出するときにはステップ502で4[msec]微分値を
用いているが、前者はある程度大きくしないと微分値の
精度が得られないという観点から決定し、後者は少しで
も早く条件成立をチェックするという観点から決定して
いるものである。
【0033】次に、ステップ504で、4[msec]微分値
EMnowをレジスタEMoldにセットする。ステップ50
5では、ステップ503における条件判定の結果、スト
ップイベントが発生したか否かを判定する。ストップイ
ベントが発生していたらステップ506に進み、発生し
ていなかったらそのまま処理を終了する。ステップ50
6で動作中フラグEMFを0に初期化し、ステップ50
7でオフタイマをスタートさせる。オフタイマのスター
トは、ストップイベント検出から50msec経過した時点
でオフタイマ割込がかかるようにタイマ111を設定す
る処理である。
【0034】次に、ステップ508で、発音フラグES
Fが0か否かを判定する。発音フラグESFが0でない
ときは(すなわちESF=1)、すでに後述する図6の
自動演奏処理ルーチンで発音がなされているということ
だから、発音は行なわず処理を終了する。発音フラグE
SFが0のときは、ステップ509で、I/O処理部1
12を介して外部音源に対し、右エルボセンサに割り当
てられたセンサ音色のノートオンを送出し(ベロシティ
としては速度最大値Emaxを送る)発音を行なわせ、処
理を終了する。
【0035】図5(b)は、ステップ507でスタート
したオフタイマによる割込がかかったとき(すなわち、
ストップイベント検出から50msec経過した時点)に実
行されるオフタイマ割込ルーチンを示す。ステップ51
1でサウンドイネーブルフラグESEを0にリセットし
て、処理を終了する。
【0036】なお、上記図4および図5の処理により、
マイナスワンが指定されていない場合でも、角度センサ
処理ではストップイベントに基づく発音制御が行なわれ
る。
【0037】図6は、自動演奏がスタートした後、図2
のステップ206でαmsecごとに繰り返し実行される自
動演奏処理ルーチンを示す。まずステップ601で、自
動演奏フラグRUNが1か否か、すなわち自動演奏開始
状態か否かを判定する。RUNが1でないなら、自動演
奏停止状態であるからそのまま処理を終了する。RUN
が1なら、ステップ602で、イベントタイミングであ
るか否かを判定する。イベントタイミングならステップ
603に進み、そうでなければそのまま処理を終了す
る。イベントタイミングであるか否かは、現在読み出さ
れてカウントダウンの対象になっているデュレーション
データをカウントダウンし、それが0になったか否かで
判別する。
【0038】ステップ603では、イベントタイミング
になったイベントデータがマイナスワンのパートのイベ
ントであるか否か判定する。マイナスワンのパートであ
るときはステップ605に進み、そうでないときはステ
ップ604に進む。なお、マイナスワンのパートが指定
されていない場合は、常にステップ604に進む。ステ
ップ604では、そのイベントデータを用いて通常のイ
ベント再生処理を実行し、I/O処理部112を介して
外部音源に対する発音制御を行なう。その後、ステップ
611で、曲データから次のデュレーションデータを読
み出してカウントダウンの対象に設定し、次イベントま
での時間を計測開始して、処理を終了する。
【0039】ステップ605では、当該イベントデータ
がノートオンイベントであるか否かを判別する。ノート
オンイベントであるときはステップ606に進み、そう
でないときはステップ604に進む。ステップ606で
は、サウンドイネーブルフラグESEが1であるか否か
判別する。ESE=1のときは、発音を行なうため、ス
テップ607で当該イベントデータから再生するイベン
トの音色を検出し、ステップ608に進む。ステップ6
08では、ステップ607で検出した音色がセンサ音色
(詳しくは、現時点でESE=1になっている角度セン
サ(動作中のもの)にユーザが割当てた音色)と同グル
ープの音色であるか否かを判別する。同グループの音色
であったときは、ステップ609で、外部音源に対し当
該イベントデータの音色のノートオンを送出して発音を
行なう。なお、ノートオンに付けるベロシティの値とし
ては、読み出されたイベントデータに含まれているベロ
シティ値VELを速度最大値Emaxの値でスケーリング
した値を用いる。例えば、VEL×Emax/Eo(ただし
Eoは所定の基準値)などである。次に、ステップ61
0で発音フラグESFを1としステップ611に進む。
ステップ606でESE=1でないとき、およびステッ
プ608で再生するイベントの音色がセンサ音色と同グ
ループの音色でないときは、ステップ611に進む。ス
テップ611では、曲データから次イベントまでの時間
(デュレーションデータ)を読み出して計測を開始し、
処理を終了する。
【0040】なお、同タイミングで同グループの音色の
楽音を複数発生する場合は、複数のイベントデータが連
続するが、それら複数のイベントデータについてはまと
めてステップ607や609の処理を行なうようにして
いる。
【0041】以上では右エルボに着目した処理を説明し
たが、同様の処理を、右ショルダ、右リスト、左ショル
ダ、左エルボ、および左リストのそれぞれに対しても行
なう。これにより、各関節の動きに応じて適正なタイミ
ングで楽音の発生が行なわれる。また、スネアの連打な
どは1音1音を別々の演奏動作で発音する場合は演奏が
難しくなるが、上記実施の形態によれば、あらかじめ曲
データ中に連打のデータを用意しておけば、例えば腕を
1振りする間に連打音を続けて発音でき演奏の動作も容
易になる。
【0042】なお、計算間隔や速度検出の際の微分時間
間隔などは上記実施の形態に限らず任意である。また上
記実施の形態では、ストップイベント検出時から50ms
ec経過した時点でサウンドイネーブルフラグESEを0
にリセットしているが、ストップイベント検出時に直ち
にESE=0にしてもよい。上記実施の形態で、ストッ
プイベントが検出された時点でオフタイマをスタートさ
せる代わりに、|EV(t)|≧εがNoと判定された
時点でオフタイマをスタートするようにしてもよい。ス
トップイベントの判定は、EMnow=0の代わりに、E
Mnowが微少値γより小になったときストップイベント
の発生としてもよい。
【0043】上記実施の形態では、曲データとまったく
同じタイミングで発音を行なうようにしているが、一定
の範囲内で曲データのタイミングを演奏者の動作タイミ
ングに基づいて変更し、変更後のタイミングで発音を行
なうようにしてもよい。また、上記実施の形態では、セ
ンサ音色と同グループの音色の曲データで発音するよう
にしたが、センサ音色と曲データの音色がまったく同じ
場合にのみ発音するようにしてもよいし、逆に音色は無
視して(ステップ608のチェックを行なわないでステ
ップ609に進む)処理してもよい。
【0044】上記実施の形態では、曲データのタイミン
グで発音するようにしているが、曲データを用いずに、
音源ユニットで作成されるクロックに合わせるなど、い
わゆるクオンタイズを行なうようにしてもよい。例え
ば、ユーザの腕の振りのストップのタイミングが小節中
の拍のタイミングの近くだったときにその拍のタイミン
グに合わせて発音するなどである。また、上記実施の形
態では、センサの動作中に、対応する演奏イベントが複
数発生すれば複数の発音制御を行なうようになっている
が、この部分を1回の動作で1発音だけというように変
更してもよい。
【0045】また、上記実施の形態では、人体の腕や肘
に取り付けた角度センサの出力を取得して楽音発生のタ
イミングを判定し楽音発生しているが、人体の他の部位
の動きを検出して用いてもよいし、人体でなく何らかの
物理的な動きを検出した物理量を取得して用いてもよ
い。また、本発明は、鍵盤の鍵の押下やレバーなどの動
きを検出して楽音を発生するものに適用することもでき
る。
【0046】なお、上記実施の形態は、演奏者の関節に
取り付けられたセンサの出力に基づいて楽音を制御する
電子楽器であったが、本発明は、その他の電子鍵盤楽
器、電子管楽器、電子弦楽器などの電子楽器においても
同様に実施できる。それぞれの電子楽器で、曲データに
基づいて発生した発音イベントのタイミング近傍で、対
応する演奏操作があったか無かったかを判定し、演奏操
作があった場合にその該イベントのタイミングで楽音を
発音指示するようにすれば良い。
【0047】
【発明の効果】以上説明したように、この発明によれ
ば、関節などの動きに基づいて楽音発生を指示する楽音
制御方法において、実際には弾けなくても、一見、弾け
ているような演技を行なうことができ、さらに演奏者の
操作に係る物理量に応じて楽音制御を行なえば、より本
当っぽい演技ができる。また、多少演奏動作がずれても
正確なタイミングで楽音を発音することができ、初心者
でもタイミングの合った演奏を行なうことができる。特
に、ダンサーが踊る振り付けが演奏動作になっているよ
うな場合は、踊りの完成度に集中できるため、視覚的に
もよい効果が得られる。また、連打などの演奏動作が難
しい曲でも、1振りの動作で連打できるなど、簡単に演
奏できるようになる。
【図面の簡単な説明】
【図1】この発明に係る音源制御方法を適用した電子楽
器の全体構成を示すブロック図
【図2】メインルーチンを示すフローチャート図
【図3】スイッチ処理中の各種イベント処理ルーチンの
フローチャート図
【図4】センサ処理ルーチンのフローチャート図
【図5】ノートオン判定処理ルーチンおよびオフタイマ
割込ルーチンのフローチャート図
【図6】自動演奏処理ルーチンのフローチャート図
【符号の説明】
101R…右側ショルダ(肩)センサ、102R…右側
エルボ(肘)センサ、103R…右側リスト(手首)セ
ンサ、104R…右側グリップ操作子、101L…左側
ショルダセンサ、102L…左側エルボセンサ、103
L…左側リストセンサ、104L…左側グリップ操作
子、105R,105L…検出回路、106…表示器、
107…パネルスイッチ(SW)、108…中央処理装
置(CPU)、109…リードオンリメモリ(RO
M)、110…ランダムアクセスメモリ(RAM)、1
11…タイマ、112…入出力(I/O)処理部、11
3…バスライン。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】演奏者の操作を検出し、該操作に係る物理
    量を取得するステップと、 前記物理量に応じて、前記操作が行なわれていることを
    判定するステップと、 あらかじめ記憶手段に記憶されている曲データを再生
    し、演奏タイミングで演奏イベントを発生する演奏イベ
    ント発生ステップと、 前記演奏イベントの発生時に、前記判定ステップにより
    前記操作が行なわれていると判定されたとき、前記演奏
    イベントに基づく楽音制御を行なう制御ステップとを備
    えたことを特徴とする楽音制御方法。
  2. 【請求項2】物理的な動きを検出し、該動作に係る物理
    量を取得するステップと、 前記物理量に応じて、前記物理的な動きが動作中である
    こと、および停止したことを、判定する判定ステップ
    と、 あらかじめ記憶手段に記憶されている曲データを再生
    し、演奏タイミングで演奏イベントを発生する演奏イベ
    ント発生ステップと、 前記演奏イベントの発生時に、前記判定ステップにより
    前記物理的な動きが動作中であると判定されたとき、前
    記演奏イベントに基づく楽音制御を行なう第1制御ステ
    ップと、 前記判定ステップにより前記物理的な動きが停止したと
    判定されたとき、前記第1制御ステップによる楽音制御
    が行なわれたか否かを判定し、行なわれていない場合に
    限り、前記物理的な動きの停止に基づく楽音制御を行な
    う第2制御ステップとを備えたことを特徴とする電子楽
    器の音源制御方法。
  3. 【請求項3】検出対象の物理的な動きを検出し、該動作
    に係る物理量を取得するステップと、 前記物理量に応じて、前記検出対象が動作中であること
    を判定する判定ステップと、 あらかじめ記憶手段に記憶されている、前記検出対象に
    対応する演奏イベントおよび対応しない演奏イベント、
    並びにそれら演奏イベントの演奏タイミングを含む曲デ
    ータを、再生し、前記演奏タイミングで前記演奏イベン
    トを発生する演奏イベント発生ステップと、 前記演奏イベントの発生時に、前記判定ステップにより
    前記検出対象が動作中であると判定されたとき、前記演
    奏イベントが前記検出対象に対応したものである場合に
    のみ、前記演奏イベントに基づく楽音制御を行なう第1
    制御ステップと、 前記演奏イベント発生ステップで発生した演奏イベント
    のうち前記検出対象に対応しない演奏イベントに基づい
    て楽音制御を行なう第3制御ステップとを備えたことを
    特徴とする電子楽器の音源制御方法。
JP34373898A 1998-12-03 1998-12-03 電子楽器の音源制御方法および音源制御装置 Expired - Fee Related JP3849133B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34373898A JP3849133B2 (ja) 1998-12-03 1998-12-03 電子楽器の音源制御方法および音源制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34373898A JP3849133B2 (ja) 1998-12-03 1998-12-03 電子楽器の音源制御方法および音源制御装置

Publications (2)

Publication Number Publication Date
JP2000172258A true JP2000172258A (ja) 2000-06-23
JP3849133B2 JP3849133B2 (ja) 2006-11-22

Family

ID=18363874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34373898A Expired - Fee Related JP3849133B2 (ja) 1998-12-03 1998-12-03 電子楽器の音源制御方法および音源制御装置

Country Status (1)

Country Link
JP (1) JP3849133B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467902A (zh) * 2010-11-05 2012-05-23 卡西欧计算机株式会社 电子打击乐器
CN104658528A (zh) * 2015-02-05 2015-05-27 得理电子(上海)有限公司 一种电声架子鼓底鼓的自动多踩实现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467902A (zh) * 2010-11-05 2012-05-23 卡西欧计算机株式会社 电子打击乐器
JP2012098637A (ja) * 2010-11-05 2012-05-24 Casio Comput Co Ltd 電子打楽器およびプログラム
US8664506B2 (en) 2010-11-05 2014-03-04 Casio Computer Co., Ltd. Electronic percussion instrument and recording medium with program recorded therein
CN104658528A (zh) * 2015-02-05 2015-05-27 得理电子(上海)有限公司 一种电声架子鼓底鼓的自动多踩实现方法
CN104658528B (zh) * 2015-02-05 2018-05-25 得理电子(上海)有限公司 一种电声架子鼓底鼓的自动多踩实现方法

Also Published As

Publication number Publication date
JP3849133B2 (ja) 2006-11-22

Similar Documents

Publication Publication Date Title
US6495747B2 (en) Apparatus and method for evaluating musical performance and client/server system therefor
JP2546017B2 (ja) 電子打楽器
US20110290097A1 (en) Performance apparatus and electronic musical instrument
JP3339217B2 (ja) 楽譜表示装置
JP3509545B2 (ja) 演奏情報評価装置、演奏情報評価方法及び記録媒体
JP2008241762A (ja) 演奏支援電子楽器、およびプログラム
JP3849133B2 (ja) 電子楽器の音源制御方法および音源制御装置
JP4808868B2 (ja) 自動演奏装置
JP4131279B2 (ja) 合奏パラメータ表示装置
US5880391A (en) Controller for use with a music sequencer in generating musical chords
JP2606037B2 (ja) 自動演奏機能を有する電子楽器
JP3259602B2 (ja) 自動演奏装置
JP2002244652A (ja) 電子楽器
JP3296202B2 (ja) 演奏操作指示装置
JP2560485B2 (ja) 電子楽器
JP3252914B2 (ja) 電子管楽器
JPH10161656A (ja) テンポ編集装置
JP2643581B2 (ja) 発音時間の実時間制御用コントローラ
JP2768348B2 (ja) 自動演奏装置
JP2621835B2 (ja) 自動演奏装置
JP3430490B2 (ja) 電子楽器
JP3785526B2 (ja) 電子楽器
JP2000035784A (ja) 電子楽器の音源制御装置
JPH0916169A (ja) 自動演奏装置
JP3438617B2 (ja) 自動リズム演奏装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060820

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees