JPH07199930A - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JPH07199930A JPH07199930A JP5353288A JP35328893A JPH07199930A JP H07199930 A JPH07199930 A JP H07199930A JP 5353288 A JP5353288 A JP 5353288A JP 35328893 A JP35328893 A JP 35328893A JP H07199930 A JPH07199930 A JP H07199930A
- Authority
- JP
- Japan
- Prior art keywords
- performance information
- timing
- variable
- performance
- time
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
タイムに制御できる自動演奏装置を提供する。 【構成】 自動演奏メモリ2は、複数トラックの演奏情
報を記憶する。CPU6は、この演奏情報記憶手段から
演奏情報を読出し、各演奏情報の発音タイミングが基準
となるビートタイミングに収束するように、該発音タイ
ミングを演算する。そして、発音タイミングが演算され
た後、この発音タイミングに相当する時間が経過する
と、この発音タイミングに対応する演奏情報がトーンジ
ェネレータ3を介して再生される。
Description
自動演奏を行う自動演奏装置に関する。
においては、「クォンタイズ」という機能を有するもの
がある。この機能は、図11に示すように、入力された
演奏情報の発音タイミングを、クロックのジャストタイ
ミングに合せるものである。ところで、一般的な自動演
奏装置におけるクォンタイズ機能は、楽曲の最初から最
後に至るまで演奏情報を自動的に編集し、しかる後に楽
曲を再生するものであるから、楽曲を聞きながらリアル
タイムにクォンタイズの強さ等を調節することができな
かった。
れば、演奏情報を再生する際のクロック周期を、ビート
タイミング附近では短く、それ以外の場合は長く設定す
ることにより、クォンタイズをリアルタイムに実現する
技術が開示されている。すなわち、元々の演奏情報の発
音タイミングは図12の横軸に示すようになっている
が、上述したようにクロック周期を制御することによ
り、同図の縦軸に示すタイミングで各発音タイミングを
制御する。これにより、楽曲を聞きながらリアルタイム
にクォンタイズの強さ等を調節することが可能になって
いる。また、従来より、ジャズ演奏においては、「スイ
ング」という奏法が知られている。これは、図6に示す
ように、強拍における演奏タイミングを本来のタイミン
グに保持する一方、弱拍における演奏タイミングを若干
遅らせるものである。
一般的に複数のトラックから構成されており、これを再
生することによって多種多様な楽音によるアンサンブル
を行うことが可能になっている。その際、一部のトラッ
クに対してのみクォンタイズを施したい場合もある。し
かし、上記特開平3−282591号公報に開示された
技術によれば、クロック周期自体を変化させるため、一
部のトラックについてのみクォンタイズを施すことは不
可能であった。また、複数の全トラックに対して自動的
に同様にスイングを施す自動演奏装置はあったが、複数
トラックのそれぞれに独立してスイングを施すことはで
きなかった。この発明は上述した事情に鑑みてなされた
ものであり、楽音の発音タイミングを精密に、かつリア
ルタイムに制御できる自動演奏装置を提供することを目
的としている。
請求項1に記載の構成にあっては、各々が楽音発生タイ
ミングデータを含む複数トラックの演奏情報を記憶する
演奏情報記憶手段と、この演奏情報記憶手段から演奏情
報を読出す読出し手段と、この読出し手段によって読出
された演奏情報の発音タイミングが、対応する楽音発生
タイミングデータと比較して、対応するトラックの基準
となるビートタイミングに収束するように、該発音タイ
ミングを演算する演算手段と、前記発音タイミングが演
算された後、この発音タイミングに相当する時間が経過
すると、この発音タイミングに対応する演奏情報を再生
する再生手段とを具備することを特徴としている。
各々が楽音発生タイミングデータを含む複数トラックの
演奏情報を記憶する演奏情報記憶手段と、この演奏情報
記憶手段から演奏情報を読出す読出し手段と、この読出
し手段によって読出された演奏情報の楽音発生タイミン
グデータが所定のトラックの所定の時間範囲に属する場
合は、再生時刻が遅れるように発音タイミングを演算す
る演算手段と、前記発音タイミングが演算された後、こ
の発音タイミングに相当する時間が経過すると、この発
音タイミングに対応する演奏情報を再生する再生手段と
を具備することを特徴としている。
が演奏情報記憶手段から演奏情報を読出すと、発音タイ
ミングがビートタイミングに収束するように演算手段は
発音タイミングを演算する。そして、再生手段は、この
発音タイミングに相当する時間が経過すると、この発音
タイミングに対応する演奏情報を再生するから、リアル
タイムに楽音にクォンタイズが施される。
読出し手段が演奏情報記憶手段から演奏情報を読出す
と、この演奏情報の楽音発生タイミングデータが所定の
トラックの所定の時間範囲に属する場合には、演算手段
は再生時刻が遅れるように発音タイミングを演算する。
そして、再生手段は、この発音タイミングに相当する時
間が経過すると、この発音タイミングに対応する演奏情
報を再生するから、リアルタイムに楽音にスイングが施
される。
器の構成を説明する。図において1は操作子群であり、
演奏者によって操作される鍵盤や音色操作子、表示器等
が設けられ、これら各種の操作子に対する操作情報をバ
ス9を介して出力するとともに、バス9を介して供給さ
れた情報を表示器に表示する。また、操作子群1におい
ては、(a)クォンタイズ値(クォンタイズを行うビート
タイミングの長さ)の設定を指定するクォンタイズ値設
定スイッチと、(b)クォンタイズ強さ(発音タイミング
がビートタイミングに収束する度合い)の設定を指示す
るクォンタイズ強さ設定スイッチと、(c)スイング率
(スイングの強さ)の設定を指示するスイング率設定ス
イッチと、(d)演奏情報の記憶を指定する記憶スイッチ
と、(e)自動演奏の開始/終了を指示するRUNスイッ
チとが設けられている。なお、上述した各スイッチのう
ち、記憶スイッチはロック式のスイッチであり、他のス
イッチはアンロック式のスイッチである。
いられる演奏情報が記憶される。3はトーンジェネレー
タであり、バス9を介して供給された演奏情報に基づい
て楽音信号を合成する。合成された楽音信号は、サウン
ドシステム4を介して発音される。6はCPUであり、
プログラムメモリ7内に格納された制御プログラムに基
づいて他の構成要素を制御する。5はタイマであり、C
PU6に対して所定時間毎にタイマ割込を発生させる。
8はワーキングメモリであり、CPU6における各種の
処理に用いられる。
の電子楽器の電源が投入されると、図3,図4に示すメ
インルーチンが起動される。これらの図において処理が
開始されると、まず、ステップSP1において所定の初
期設定が行われる。次に、ステップSP2〜SP19の
処理が繰り返し実行されるが、ステップSP2,5,
8,11,13においては、操作子群1内の所定の各ス
イッチ(クォンタイズ値設定スイッチ、クォンタイズ強
さ設定スイッチ、スイング率設定スイッチ、記憶スイッ
チ、およびRUNスイッチ)の操作状態が判定される。
すなわち、これらのステップが実行された際に対応する
スイッチのオンイベントが有ると、これらのステップに
おいて「YES」と判定され対応する処理が実行され
る。一方、オンイベントが無ければ「NO」と判定され
当該処理が実行されなくなる。なお、操作子群1の操作
状態にかかわらず行うべきその他の処理はステップSP
19において実行される。以下、各スイッチのオンイベ
ントが有った場合の処理を各々説明する。
理 本実施例においては、自動演奏メモリ2に記憶された演
奏情報に対してクォンタイズあるいはスイングを施すの
であるが、その前提として、自動演奏メモリ2に処理対
象となる演奏情報を記憶させる必要がある。この演奏情
報はMIDI信号等により外部から入力しても良く、操
作子群1に設けられた鍵盤の演奏によっても入力しても
よい。後者の場合、演奏者は操作子群1に設けられた記
憶スイッチをオン状態に設定する。記憶スイッチがオン
状態に設定されると、ステップSP11が実行された場
合に「YES」と判定され、処理がステップSP12に
進み、演奏情報記憶処理が行われる。すなわち、ステッ
プSP12においては、操作子群1における新たな演奏
イベント(鍵盤、音色設定操作子等のイベント)が随時
検出され、これらイベントに基づいて、演奏情報が生成
され、自動演奏メモリ2に記憶される。演奏者は演奏情
報の入力が終了すると、記憶スイッチをオフ状態にす
る。これにより、以後ステップSP11が実行された場
合は「NO」と判定され、処理がステップSP13に進
む。
ントに対する処理 演奏者は自動演奏メモリ2に記憶された演奏情報を適宜
再生することができる(詳細は後述する)が、その際、
楽音にクォンタイズを施す場合には、クォンタイズ値設
定スイッチを押下する。クォンタイズ値設定スイッチに
オンイベントが発生すると、次に処理がステップSP2
に進んだ際に「YES」と判定され、処理はステップS
P3に進む。ステップSP3においては、演奏者によっ
て、クォンタイズ値を設定すべきトラックナンバが指定
され、指定された値が変数 TRKに記憶される。なお、本
実施例にあっては演奏情報に最大「16」のトラックを
設けることが可能であり、各トラックは「0」〜「1
5」のトラックナンバに対応している。
奏者によってクォンタイズ値が設定される。ここで設定
されるクォンタイズ値は、下表1の左欄に示す何れかで
ある。また、ステップSP4においては、設定されたク
ォンタイズ値に応じて、下表1右欄のクロック値が変数
QVCL(TRK) に代入される。すなわち、「4分音符」の
クロック数を「96」とした場合に、クォンタイズ値に
係る音符の長さに応じたクロック値が設定されることに
なる。
ベントに対する処理 次に、クォンタイズ強さ設定スイッチにオンイベントが
発生すると、次にステップSP5が実行された際に「Y
ES」と判定され、処理はステップSP6に進む。ステ
ップSP6においては、演奏者によって、クォンタイズ
強さを設定すべきトラックナンバが指定され、指定され
た値が変数 TRK に記憶される。次に、処理がステップ
SP7に進むと、演奏者によって「0」〜「1.0」の
範囲内でクォンタイズ強さ QSTR(TRK) が設定される。
図5においては、クォンタイズ強さ QSTR(TRK) に応じ
て、演奏情報の発音タイミングがビートタイミングに収
束する様子が示されている。同図(a)は、クォンタイズ
値が「4分音符」である場合のビートタイミングである
(なお、図中の8分音符は発音タイミングを示す)。同
図(c)はクォンタイズを施す前の演奏情報の発音タイミ
ングの一例である。
さ QSTR(TRK) を「0」に設定すると、クォンタイズが
全く施されない状態になる。また、クォンタイズ強さQS
TR(TRK) を「1.0」に設定すると、同図(e)に示すよ
うに、各演奏情報の発音タイミングは最も近接するビー
トタイミングに一致する。また、クォンタイズ強さ QST
R(TRK) を「0.5」に設定すると、各演奏情報の発音
タイミングは、「ビートタイミング±0.25T(但し
Tはビートタイミングの周期)」の範囲に収束する。こ
のように、所望のクォンタイズ強さ QSTR(TRK) が設定
されると、処理はステップSP8に進み、ステップSP
2〜SP19のループが繰り返される。
に対する処理 演奏者は、演奏情報にスイングを施す場合には、操作子
群1においてスイング率設定スイッチを押下する。スイ
ング率設定スイッチのオンイベントが検出されると、次
に処理がステップSP8に進んだ際に「YES」と判定
され、処理がステップSP9に進む。ステップSP9に
おいては、演奏者によって、スイング率を設定すべきト
ラックナンバが指定され、指定された値が変数 TRK に
記憶される。次に、処理がステップSP10に進むと、
演奏者によって「0.5」〜「0.75」の範囲内でス
イング率 SFLVL(TRK) が設定される。
5」である場合は全くスイングを行わない場合に等し
く、その値が大となるとともに弱拍における発音タイミ
ングが遅れ、「0.75」の場合はビート周期の半周期
相当だけ弱拍における発音タイミングが遅れる。なお、
その処理の詳細については後述する。このように、所望
のスイング率 SFLVL(TRK) が設定されると、処理はステ
ップSP11に進み、ステップSP2〜SP19のルー
プが繰り返される。
処理 演奏者は、自動演奏を開始または停止する場合は、操作
子群1においてRUNスイッチを押下する。RUNスイ
ッチのオンイベントが検出されると、次に処理がステッ
プSP13に進んだ際に「YES」と判定され、処理が
ステップSP14に進む。ステップSP14において
は、フラグRUNの値が反転される。ここで、フラグR
UNは“1”または“0”の値をとるフラグであり、
“1”の場合は自動演奏が実行中であることを示し、
“0”の場合は自動演奏が停止中であることを示す。な
お、フラグRUNはステップSP1の初期設定において
は“0”に設定されている。次に、処理がステップSP
15に進むと、フラグRUNは“1”であるか否かが判
定される。
チのオンイベントが発生すると、ステップSP14にお
いてフラグRUNが“1”から“0”に変更されるか
ら、ステップSP15においては「NO」と判定され
る。この場合、処理はステップSP18に進み、自動演
奏音消音処理が行われる。すなわち、トーンジェネレー
タ3の各チャンネルに対してノートオフ信号が供給され
る。
Nスイッチにオンイベントが発生すると、ステップSP
14においてフラグRUNが“0”から“1”に変更さ
れるから、ステップSP15においては「YES」と判
定され、処理がステップSP16に進む。ステップSP
16においては、タイマ割込ルーチン(図7,図8)で
用いられる各種の変数に対して初期設定が行われる。な
お、その詳細については後述する。ところで、本実施例
においては各トラックに対して各々ポインタ変数を設定
し、このポインタ変数によって自動演奏メモリ2内の読
出しアドレスが決定される。次に、処理がステップSP
17に進むと、全てのトラックのポインタが、各トラッ
クの先頭アドレスに設定される。以上の処理が終了する
と、処理はステップSP19に進み、ステップSP2〜
SP19のループが繰り返される。
に、CPU6にタイマ割込が発生し、これによって自動
演奏が行われる。その詳細を図7,図8を参照し説明す
る。タイマ割込が発生すると、図7において処理はステ
ップSPA1に進み、フラグRUNが“1”であるか否
かが判定される。フラグRUNが“0”であれば、自動
演奏を行っていない状態であるため、なんら処理を行わ
ずメインルーチン(図3,図4)に処理が戻る。フラグ
RUNが“1”であれば「YES」と判定され処理がス
テップSPA2に進む。ステップSPA2においては、
変数 TR が「0」に設定される。なお、変数 TR は処理
対象となるトラックナンバを示すものであり、以下「ト
ラックナンバ TR」という。
変数 PTM(TR) (この時点ではPTM(0))が「0」以下で
あるか否かが判定される。ところで、ステップSPA3
は、先にステップSP14(図4参照)においてフラグ
RUNが“1”に設定された場合にのみ実行されるが、
フラグRUNが“1”になった場合にはステップSP1
6において変数 PTM(i) (但し、i= 0 〜 15)が
「0」に設定される。従って、その後最初にステップS
PA3が実行されると「YES」と判定され処理はステ
ップSPA4に進む。
ンバ TR のポインタで指定されるデータが、自動演奏メ
モリ2から読出される。ここで、先にステップSP17
が実行された際に、各トラックナンバについてポインタ
が先頭に設定されたから、ここではトラックナンバ
「0」の最初の演奏情報が自動演奏メモリ2から読出さ
れることになる。次に、処理がステップSPA5に進む
と、当該ポインタが、次の演奏情報を指すようにインク
リメントされる。
ーマットを図2を参照し説明する。演奏情報は、発音デ
ータ20と、時間データ30と、エンドデータ40とに
大別される。発音データ20は、識別コード21とキー
コード22と発音時間23とから構成されている。識別
コード21は、この演奏情報(発音データ20)が発音
データであることを示すものであり、キーコード22は
発音すべき音高を示すものであり、発音時間23は、こ
の音高に対して発音を行うべき時間を示すものである。
とデュレーション32とから構成されている。識別コー
ド31は、この演奏情報(時間データ30)が時間デー
タであることを示すものであり、デュレーション32は
前回の発音イベントから次の発音イベントが生ずるまで
の時間を指定するものである。また、エンドデータ40
は、対応するトラックについて、演奏情報が終了したこ
とを示すものである。以下の処理においては、演奏情報
の種類に応じて処理が分岐するため、場合を分けて動作
を説明する。
おいて読出された演奏情報がエンドデータであるか否か
が判定される。読出された演奏情報が発音データである
と仮定すると、ここで「NO」と判定され、処理はステ
ップSPA7に進む。ステップSPA7では、読出され
た演奏情報が時間データであるか否かが判定される。こ
こにおいても「NO」と判定され処理はステップSPA
16に進む。ステップSPA16においては、図9に示
す発音処理サブルーチンが呼出される。
プSPA51において、キーコード22の内容が変数 K
C に代入される。次に、ステップSPA52において
は、発音時間23の内容が変数 GT(TR) に代入される。
次に、処理がステップSPA53に進むと、キーオン信
号、変数 KC(キーコード)およびトラックナンバ TRが
トーンジェネレータ3に供給される。トーンジェネレー
タ3においては、これらのデータに基づいて楽音信号が
合成され、合成された楽音信号はサウンドシステム4を
介して発音される。
チン(図7,図8)のステップSPA3に処理が戻る。
ここで変数 PTM(TR) は依然として「0」であるから処
理はステップSPA4に進み、次の演奏情報が読出され
る。そして、ステップSPA5を介して、トラックナン
バ TR に係るポインタがインクリメントされる。図2に
示す例にあっては、発音データ20の後に直ちに時間デ
ータ30が設けられているが、和音を発音する場合等に
おいては、複数の発音データの後に時間データが設けら
れることもある。この場合には、これら複数の発音デー
タに対して発音処理(ステップSPA16)が繰り返さ
れることになる。
あれば、処理はステップSPA6、SPA7を介してス
テップSPA8に進み、デュレーション32の内容が変
数 TM に代入される。次に処理がステップSPA9に進
むと、クロック値 QVCL(TR) が「0」以上であるか否か
が判定される。すなわち、クォンタイズを行う場合はク
ロック値 QVCL(TR) が「1」以上の値になる(表1参
照)から、ステップSPA9においてはクォンタイズを
行うか否かが判定される。ここで、ステップSPA9の
判定内容に応じた処理を各々説明する。
て「NO」と判定され、処理はステップSPA17に進
む。ステップSPA17においては、変数PTM(TR) に対
して、変数 TM の内容(すなわちデュレーション32の
内容)が加算される。これにより、変数 PTM(TR) の内
容は「1」以上になる。従って、次に処理がステップS
PA3に進むと、ここで「NO」と判定されるから処理
はステップSPA13に進み、図10に示すカウントサ
ブルーチンが呼出される。
ップSPA61において、変数 PTM(TR)が「1」だけデ
クリメントされる。従って、変数 PTM(TR)の内容は、
「TM-1」になる。次に処理がステップSPA62に進む
と、変数 GT(TR) が「0」以下であるか否かが判定され
る。変数 GT(TR) には、先にステップSPA52が実行
された際に発音時間23の内容が代入されている。従っ
て、この時点では変数GT(TR) は「1」以上であるから
「YES」と判定され、処理はステップSPA64に進
む。ステップSPA64においては、変数 GT(TR) の内
容が「1」だけデクリメントされ、処理がタイマ割込ル
ーチン(図7,図8)に戻る。
ナンバ TR が「1」だけインクリメントされる。トラッ
クナンバ TR は、「0」であったから、ここで「1」に
設定される。次にステップSPA15を介して処理がス
テップSPA3に進むと、トラックナンバ「1」のトラ
ックに対して、上述したのと同様の処理が行われる。こ
のように、ステップSPA14を介してトラックナンバ
TR がインクリメントされ、トラックナンバ 「1」〜
「15」の各トラックに対する処理が行われる。ステッ
プSPA15においては、トラックナンバ TR が「1
6」になったか否かが判定され、ここで「YES」と判
定されると処理がメインルーチン(図3,図4)に戻
る。
が、上述したようにステップSPA17およびSPA1
4が実行されたことにより、トラックナンバ TR =
「0」に対して、変数 PTM(TR) は「TM −1」に設定さ
れている。従って、トラックナンバ TR =「0」の時に
ステップSPA3が実行されると「NO」と判定され、
ステップSPA13を介して、変数 PTM(TR) が「TM −
2」に設定される。このように、タイマ割込が発生する
毎に変数 PTM(TR) が「1」づつデクリメントされる。
そして、タイマ割込が「TM 」回繰り返され、変数 PTM
(TR) が「0」になると、ステップSPA3において
「YES」と判定され、ステップSPA4を介して次の
演奏情報が読出される。すなわち、変数 PTM(TR) は、
トラックナンバ TRについて次の演奏情報を読出すまで
の時間(タイマ割込回数)に対応している。そこで、以
下変数 PTM(TR) を「残余デュレーション」といい、変
数 TM を「デュレーション」という。
いて「YES」判定され、処理はステップSPA10に
進む。ステップSPA10においては、変数QCNT1(TR)
に対してデュレーション TM が加算される。ここで、変
数 QCNT1(i)(但し、i= 0 〜 15)には、ステップS
P16(図4参照)において、各々クロック値 QVCL(i)
の半値に初期設定されている。一例として、クォンタ
イズ値が「4分音符」であれば、クロック値 QVCL(TR)
は「96」であるから、変数 QCNT1(TR) は「48」に
初期設定される。また、デュレーション TM が「16分
音符」に相当する「24」(=96/4)であったとす
ると、ステップSPA10においては、変数 QCNT1(TR)
に「72」が代入される。
余デュレーション PTM(TR) に「TM× ( 1-QSTR(TR) )」
が加算される。上述したように、残余デュレーションPT
M(i) (但し、i= 0 〜 15)はステップSP16にお
いて「0」に初期設定されているから、この時点では残
余デュレーション PTM(TR) に「 TM × ( 1-QSTR(TR)
)」が代入されることになる。なお、ここでクォンタイ
ズ強さQSTR(TR)が「0」である場合には、かかる処理
は、上述のステップSPA17のものと同様になる。こ
のステップSPA10においては、クォンタイズ強さ Q
STR(TR)の値に応じて残余デュレーション PTM(TR) の値
が変更される。上述の例(クロック値 QVCL(TR)=9
6,デュレーション TM =24)において、さらにクォ
ンタイズ強さ QSTR(TR) が「0.5」であったと仮定す
ると、残余デュレーションPTM(TR) は「12」に設定さ
れる。
数 QCNT2(TR) にクォンタイズ強さQSTR(TR) が加算され
る。変数 QCNT2(i) (但し、i= 0 〜 15)には、ステ
ップSP16において、クロック値 QVCL(i) とクォン
タイズ強さ QSTR(i) との乗算結果が代入されている。
上述の例( クロック値 QVCL(TR)=96,デュレーショ
ン TM =24,クォンタイズ強さ QSTR(TR) =0.5)
においては、ステップSPA10が実行される前の変数
QCNT2(TR) の初期値は「48」(=96×0.5)で
あって、ステップSPA10が実行された後の 変数QCN
T2(TR) は「60」(=48+24×0.5)になる。
と、変数 QCNT1(TR) がクロック値QVCL(TR) によって整
数レベルで除算され、その商が変数 QTT に代入される
とともに、余りが変数 SRP に代入される。上記例にあ
っては、クロック値 QVCL(TR)は「96」であり、変数
QCNT1(TR) は「72」であったから、変数 QTT は
「0」になり、変数 SRP は「72」になる。次に、処
理がステップSPA12に進むと、変数 QTT は「0」
より大きいか否かが判定される。上記例によれば、変数
QTT は「0」であるから「NO」と判定され、ステッ
プSPA3を介して処理がステップSPA13に進む。
ックナンバ TR に対しては、ステップSPA3を介して
処理がステップSPA13に進み、残余デュレーション
PTM(TR) が、デクリメントされつつカウント動作が実
行される。残余デュレーション PTM(TR) が「0」にな
った後、ステップSPA4において発音データが読出さ
れると、ステップSPA6,7を介して処理がステップ
SPA16に進み、新たに読出された発音データに対す
る発音処理が行われる。上述の例( クロック値 QVCL(T
R)=96,デュレーション TM =24,クォンタイズ強
さ QSTR(TR) =0.5)においては、デュレーション T
M が「24」であるにもかかわらず残余デュレーション
PTM(TR) は「12」に設定された。図5(c),(d)を
参照して説明すると、原演奏情報において時刻t2 (時
刻t0 から「24」クロック経過後した時刻)に発音さ
れるようにデュレーションが設定されている発音データ
は、かかるクォンタイズが施されることにより、時刻t
1(時刻t0 から「12」クロック経過後した時刻)に
発音されることになる。すなわち、かかる楽音の発音タ
イミングは、ビートタイミングである時刻t0 に向かっ
て収束したことになる。
われた後、ステップSPA3〜7を介して処理がステッ
プSPA8に進むと、次のデュレーション TM が自動演
奏メモリ2から読出される。図5(c)の例によれば、次
の発音タイミングは時刻t2から「48」クロック経過
した時刻t6 である。すなわち、読出されたデュレーシ
ョン TM は「48」である。次に、ステップSPA9を
介して処理がステップSPA10に進むと、変数 QCNT1
(TR) にデュレーション TM が加算される。変数 QCNT1
(TR) は、先にステップSPA18において「72」に
設定されたから、ここで「120」に設定される。ま
た、残余デュレーション PTM(TR) は、これまでステッ
プSPA14が複数回実行されたことにより「0」にな
っているから、今回は「24」(0+48×0.5)に
設定される。また、変数 QCNT2(TR)は、前回ステップS
PA10が実行された際に「60」に設定されたから、
今回は「84」(=60+48×0.5)に設定され
る。
と、変数 QCNT1(TR)がクロック値QVCL(TR) で除算さ
れ、商が変数 QTT に、余りが変数 SRP に代入される。
上記例では変数 QCNT1(TR)は「120」、クロック値 Q
VCL(TR) は「96」であるから、変数 QTT は「1」
に、変数 SRP は「24」に、それぞれ設定される。次
に、処理がステップSPA12に進むと、変数 QTT は
「1」であるから「YES」と判定され、処理がステッ
プSPA18に進む。このように、ステップSPA12
において「YES」と判定される場合は、原演奏情報の
ビートが強拍から弱拍へ、または弱拍から強拍へと少な
くとも1回変化した場合である。
T1(TR) に変数 SRP (上記例では「24」)が代入され
る。次に、処理がステップSPA24に進むと、変数 Q
TTが奇数であるか否かが判定される。変数 QTT は、前
回このステップの処理が行われた後に何回強拍から弱拍
へ、または弱拍から強拍へ変化したかを示す。従って、
変数 QTT が奇数でない(すなわち偶数である)という
ことは、前回このステップの処理が行われた時と同じ
強,弱の拍である、ということになり、この場合は処理
がステップSPA23に進む。一方、変数 QTT が奇数
のときは、前回のこのステップの処理が行われた時と異
なる強,弱の拍であることであり、この場合は処理はス
テップSPA19に進む。
グ FSFL(TR) の内容が反転される。なお、フラグ FSFL
(i) (但し、i= 0 〜 15)は、ステップSP16にお
いて、“0”に設定されている。従って、今回はフラグ
FSFL(TR) は“1”に設定される。ここで、ステップS
PA19が実行される条件は、ステップSPA24にお
いて「YES」と判定されること、すなわち「ビートの
強拍/弱拍が切り替わること」である。従って、フラグ
FSFL(TR) が“0”の場合は次の発音は強拍であり、
“1”の場合は次の発音は弱拍になることが判る。
と、フラグ FSFL(TR) が“1”であるか否か、すなわち
演奏情報が弱拍のものであるか否かが判定される。上記
例では「YES」と判定され、処理がステップSPA2
1に進む。ステップSPA21においては、残余デュレ
ーション PTM(TR) に対して変数 SFLTM(TR) が加算され
る。ところで、変数 SFLTM(i) (但し、i= 0 〜 15)
は、ステップSP16において、「QVCL(i)×2×(SFLV
L(i)-0.5)」に初期設定されている。上記例においては
クロック値 QVCL(TR) は「96」であったが、さらにス
テップSP10(図3参照)において、スイング率 SFL
VL(TR) が「0.5」に設定されたと仮定すると、遅延
クロック数 SFLTM(TR) は「0」に初期設定されること
になる。
A21において実質的な処理が行われず、処理がステッ
プSPA23に進む。ステップSPA23にあっては、
残余デュレーション PTM(TR) に対して、クロック値 QV
CL(TR) とクォンタイズ強さQSTR(TR) の乗算結果が加算
される。すなわち、残余デュレーション PTM(TR) は、
「72」(24+96×0.5)に設定される。そし
て、以上の処理が終了すると、処理がステップSPA3
に戻る。図5(c),(d)を参照して説明すると、原演奏
情報において時刻t6 (時刻t2 から「48」クロック
経過後した時刻)に発音されるようにデュレーションが
設定されている発音データは、かかるクォンタイズが施
されることにより、時刻t7 (時刻t1 から「72」ク
ロック経過後した時刻)に発音されることになる。すな
わち、かかる楽音の発音タイミングは、最も近接するビ
ートタイミングである時刻t10 に向かって収束したこ
とになる。
5」であることとしたため、ステップSPA20〜22
において実質的に処理は行われなかったが、ステップS
P10において、「0.5」を越え「0.75」以下の
スイング率SFLVL(i) (但し、i= 0 〜 15)が設定さ
れた場合には、ここで演奏情報にスイング効果が施され
る。その詳細を以下説明する。
た後、ステップSP16が実行されると、変数 SFLTM
(i) (但し、i= 0 〜 15)は、「QVCL(i)×2×(SFLV
L(i)-0.5)」に設定される。例えば、スイング率 SFLVL
(TR) が「0.6」に設定されたと仮定すると、「QVCL
(i)×2×(SFLVL(i)-0.5)」は「19.2」(96×2
×(0.6−0.5))になる。但し、ステップSP1
6においては、遅延クロック数 SFLTM(TR) の小数部は
四捨五入され、その結果、遅延クロック数 SFLTM(TR)
は「19」に設定されることになる。
において処理がステップSPA20に進むと、フラグ F
SFL(TR) に基づいて、次の発音は強拍であるのか弱拍で
あるのかが判定される。ところで、楽曲の最初のビート
は強拍であるから、最初に発生するビートの変化は、強
拍から弱拍への変化である。従って、ステップSPA2
0において「YES」と判定され、処理はステップSP
A21に進む。ステップSPA21においては、残余デ
ュレーション PTM(TR) に対して、遅延クロック数 SFLT
M(TR) が加算される。これにより、以後、弱拍における
発音タイミングは、遅延クロック数 SFLTM(TR) に相当
する時間だけ遅延する。
合は、再びステップSPA12において「YES」と判
定され、ステップSPA19を介して、フラグ FSFL(T
R) が“0”に設定される。従って、処理はステップS
PA20を介してステップSPA22に進む。ステップ
SPA22においては、残余デュレーション PTM(TR)か
ら遅延クロック数 SFLTM(TR) が減算される。すなわ
ち、先にステップSPA21が実行された際に残余デュ
レーション PTM(TR) に遅延クロック数 SFLTM(TR) が加
算されていたのに対し、今回は減算されるから、楽音の
発音タイミングは本来のものに戻ることが判る。このよ
うに、ステップSPA20〜22の処理により、強拍に
おいては本来の発音タイミングで、弱拍においては遅延
クロック数 SFLTM(TR) 相当だけ遅れたタイミングで、
発音処理が行われる。
ンタイズ」または「スイング」効果を楽音に適宜施すこ
とが可能であり、両者を併用することにより、一層興味
深い自動演奏を行うことができる。ところで、演奏者は
最初にクォンタイズ強さ、スイング率等のパラメータを
設定して自動演奏を行うことが一般的であるが、演奏の
途中において、これらパラメータが不適当であるため演
奏が不自然になる場合も考えられる。かかる場合は、操
作子群1内の対応する操作子を適宜操作することによ
り、各種パラメータを変更すると良い。パラメータが変
更されると、次にタイマ割込が発生した際に、変更後の
パラメータに基づいて各種の処理が行われるから、演奏
者は変更後のパラメータの是非について迅速に判断する
ことが可能である。さらに、本実施例においては、「ク
ォンタイズ」および「スイング」に関する各種パラメー
タを演奏情報のトラック毎に設定することが可能である
から、きわめて精密な楽音制御を行うことが可能であ
る。
えば以下のように種々の変形が可能である。 上記実施例ではデュレーション式の演奏情報(図2の
ように、発音データ、時間データ等から成る情報)を用
いたが、イベント式の演奏情報(ノートオン・データ、
時間データ、ノートオフ・データ等から成る情報)を用
いてもよい。 上記実施例においては、ステップSPA20〜22の
処理を行った後にステップSPA23の処理を行ってい
た。すなわち、「クォンタイズ」と「スイング」とを併
用した場合は、「スイング」を行った後に「クォンタイ
ズ」を行っていた。しかし、ステップSPA23をステ
ップSPA19の直後に実行し、「クォンタイズ」を行
った後に「スイング」を行ってもよい。
動演奏装置によればリアルタイムに楽音にクォンタイズ
を施すことができ、請求項2に係る自動演奏装置によれ
ばリアルタイムに楽音にスイングを施すことが可能であ
る。さらに、何れの場合も演算手段はトラックに応じて
発音タイミングを演算するから、楽音の発音タイミング
を精密に、かつリアルタイムに制御することが可能であ
る。
示す図である。
である。
である。
ートである。
ートである。
トである。
チャートである。
Claims (2)
- 【請求項1】 各々が楽音発生タイミングデータを含む
複数トラックの演奏情報を記憶する演奏情報記憶手段
と、 この演奏情報記憶手段から演奏情報を読出す読出し手段
と、 この読出し手段によって読出された演奏情報の発音タイ
ミングが、対応する楽音発生タイミングデータと比較し
て、対応するトラックの基準となるビートタイミングに
収束するように、該発音タイミングを演算する演算手段
と、 前記発音タイミングが演算された後、この発音タイミン
グに相当する時間が経過すると、この発音タイミングに
対応する演奏情報を再生する再生手段とを具備すること
を特徴とする自動演奏装置。 - 【請求項2】 各々が楽音発生タイミングデータを含む
複数トラックの演奏情報を記憶する演奏情報記憶手段
と、 この演奏情報記憶手段から演奏情報を読出す読出し手段
と、 この読出し手段によって読出された演奏情報の楽音発生
タイミングデータが所定のトラックの所定の時間範囲に
属する場合は、再生時刻が遅れるように発音タイミング
を演算する演算手段と、 前記発音タイミングが演算された後、この発音タイミン
グに相当する時間が経過すると、この発音タイミングに
対応する演奏情報を再生する再生手段とを具備すること
を特徴とする自動演奏装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05353288A JP3119061B2 (ja) | 1993-12-28 | 1993-12-28 | 自動演奏装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05353288A JP3119061B2 (ja) | 1993-12-28 | 1993-12-28 | 自動演奏装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07199930A true JPH07199930A (ja) | 1995-08-04 |
| JP3119061B2 JP3119061B2 (ja) | 2000-12-18 |
Family
ID=18429826
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP05353288A Expired - Fee Related JP3119061B2 (ja) | 1993-12-28 | 1993-12-28 | 自動演奏装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3119061B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002215151A (ja) * | 2001-01-22 | 2002-07-31 | Sega Corp | 音響信号出力方法及びbgm生成方法 |
| JP2009192619A (ja) * | 2008-02-12 | 2009-08-27 | Nintendo Co Ltd | 楽曲修正プログラムおよび楽曲修正装置 |
| JP2025033407A (ja) * | 2023-08-29 | 2025-03-13 | カシオ計算機株式会社 | 電子楽器、方法およびプログラム |
-
1993
- 1993-12-28 JP JP05353288A patent/JP3119061B2/ja not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002215151A (ja) * | 2001-01-22 | 2002-07-31 | Sega Corp | 音響信号出力方法及びbgm生成方法 |
| JP2009192619A (ja) * | 2008-02-12 | 2009-08-27 | Nintendo Co Ltd | 楽曲修正プログラムおよび楽曲修正装置 |
| JP2025033407A (ja) * | 2023-08-29 | 2025-03-13 | カシオ計算機株式会社 | 電子楽器、方法およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3119061B2 (ja) | 2000-12-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6687674B2 (en) | Waveform forming device and method | |
| US7259315B2 (en) | Waveform production method and apparatus | |
| US7432435B2 (en) | Tone synthesis apparatus and method | |
| US4785707A (en) | Tone signal generation device of sampling type | |
| US7557288B2 (en) | Tone synthesis apparatus and method | |
| US7750230B2 (en) | Automatic rendition style determining apparatus and method | |
| US7816599B2 (en) | Tone synthesis apparatus and method | |
| JP2007011217A (ja) | 楽音合成装置及びプログラム | |
| JP3625880B2 (ja) | 音源装置 | |
| JP3119061B2 (ja) | 自動演奏装置 | |
| JP4407473B2 (ja) | 奏法決定装置及びプログラム | |
| JP2862062B2 (ja) | カラオケ装置 | |
| JP3316866B2 (ja) | 楽音処理装置 | |
| JP2674452B2 (ja) | 楽曲再生装置 | |
| JP3261982B2 (ja) | カラオケ装置 | |
| JP3459016B2 (ja) | オーディオ信号処理方法および装置 | |
| JP4685298B2 (ja) | 波形発生装置 | |
| JPH05289662A (ja) | エフェクト自動選択装置 | |
| JP4278733B2 (ja) | 波形データの演奏制御装置 | |
| JP2008058796A (ja) | 奏法決定装置及びプログラム | |
| JPH09244645A (ja) | 自動伴奏装置 | |
| JPH07110689A (ja) | 電子楽器 | |
| JPH1091182A (ja) | カラオケ装置 | |
| JPH08160958A (ja) | 音源装置 | |
| JPH08160957A (ja) | 音源制御情報の記憶方法及び音源制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 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: 20071013 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081013 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |