JPH10293579A - 自動演奏装置のマーカー操作装置 - Google Patents

自動演奏装置のマーカー操作装置

Info

Publication number
JPH10293579A
JPH10293579A JP9100310A JP10031097A JPH10293579A JP H10293579 A JPH10293579 A JP H10293579A JP 9100310 A JP9100310 A JP 9100310A JP 10031097 A JP10031097 A JP 10031097A JP H10293579 A JPH10293579 A JP H10293579A
Authority
JP
Japan
Prior art keywords
marker
section
switch
repetition
performance
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
JP9100310A
Other languages
English (en)
Other versions
JP3796001B2 (ja
Inventor
Takao Watase
孝雄 渡瀬
Hiroyuki Yokoyama
浩之 横山
Shinji Asakawa
信二 浅川
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.)
Roland Corp
Original Assignee
Roland 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 Roland Corp filed Critical Roland Corp
Priority to JP10031097A priority Critical patent/JP3796001B2/ja
Publication of JPH10293579A publication Critical patent/JPH10293579A/ja
Application granted granted Critical
Publication of JP3796001B2 publication Critical patent/JP3796001B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】本発明は、自動演奏装置において、演奏教習な
どに適したマーカー移動を行えるようにしたマーカー操
作装置に関し、自動演奏装置において、少ない操作で、
所望の位置にマーカーを移動できるようにすることを目
的とする。 【解決手段】演奏データにおける繰返し演奏を行う繰返
し区間の前後にマーカーを設定するマーカー設定手段
と、該繰返し区間の拡大または縮小とその拡大または縮
小を演奏進行方向または逆方向のいずれに行うかを指示
する拡大縮小指示手段と、該拡大縮小指示手段で指示さ
れた拡大または縮小が該繰返し区間の前または後のマー
カーを該繰返し区間から外側に移動させるものであれ
ば、該マーカーを所定の拡大位置に移動させ、内側に移
動させるものであれば、該マーカーを所定の縮小位置に
移動させる制御手段とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、自動演奏装置にお
いて、演奏教習などに適したマーカー移動を行えるよう
にしたマーカー操作装置に関する。
【0002】
【従来の技術】一般に自動演奏装置においては、演奏デ
ータ中の任意の位置を指定することができ、指定された
指標を「マーカー」と称している。こうしたマーカーを
利用して、例えば特開平7−64547号公報に示され
るように、2箇所にマーカーを設定し、この間の部分を
繰り返し演奏するリピート機能が提供されている。そし
て、こうしたリピート機能は、演奏教習において、繰返
し練習を行う場合によく利用されている。
【0003】一般にある曲の練習を行う場合、曲を短い
区間に区切って、なんども繰り返して演奏することによ
って、より習得が容易に行える。この繰返し練習の仕方
としては、 1. 1小節目のみ練習 2. 2小節目のみ練習 3. 1小節目と2小節目を通して練習 4. 3小節目のみ練習 5. 4小節目のみ練習 6. 3小節目と4小節目を通して練習 7. 1小節目から4小節目まで通して練習 というように、小節の2のべき乗の単位で練習を行う方
法がよくとられる。また、曲の始めから2小節単位に区
切って順次に練習を行う方法もよくとられる。さらに、
1小節でも練習が難しい場合は、さらに半分あるいは拍
単位で繰り返し練習を行うこともある。
【0004】このような練習方法を自動演奏装置で採る
場合、1小節あるいは2小節単位でリピート区間を移動
させたり、リピート区間を前方あるいは後方に2倍に拡
大したり半分に縮小したりするという操作が必要にな
る。
【0005】しかしながら、従来のマーカー設定方法に
よれば、リピート区間を前方あるいは後方に2倍あるい
は半分の単位で変更する場合は、移動させる側のマーカ
ーを一旦消去し、新たな位置に移動し、そこにマーカー
を再設定するという煩雑な操作を必要としていた。
【0006】また、l小節あるいは2小節単位でリピー
ト区間を移動させる場合、リピート区間両端の2つのマ
ーカーを消して、新たなリピート区間の先頭の位置およ
び末尾の位置に移動して、マーカーを設定し直すという
操作をとらなければならず、非常に煩雑な操作を必要と
していた。さらに、いずれかのマーカーを拍あるいは小
節などの音楽的な区切りの意味のある単位で動かしたい
場合でも、移動させるマーカーを一旦消去して、新たな
位置に移動し、そこにマーカーを再度設定するという煩
雑な操作を必要としていた。
【0007】本発明はかかる問題点に鑑みてなされたも
のであり、自動演奏装置において、少ない操作で、所望
の位置にマーカーを移動できるようにすることを目的と
する。
【0008】
【課題を解決するための手段および作用】上述の課題を
解決するために、本発明に係る自動演奏装置のマーカー
操作装置は、一つの形態として、演奏データにおける繰
返し演奏を行う繰返し区間の前後にマーカーを設定する
マーカー設定手段と、該繰返し区間の拡大または縮小と
その拡大または縮小を演奏進行方向または逆方向のいず
れに行うかを指示する拡大縮小指示手段と、該拡大縮小
指示手段で指示された拡大または縮小が該繰返し区間の
前または後のマーカーを該繰返し区間から外側に移動さ
せるものであれば、該マーカーを所定の拡大位置に移動
させ、内側に移動させるものであれば、該マーカーを所
定の縮小位置に移動させる制御手段とを備える。このマ
ーカー操作装置によれば、拡大縮小指示手段で繰返し区
間の拡大または縮小とその方向を指示するだけで、リピ
ート区間が希望する方向に拡大または縮小されるので、
操作性が非常によい。
【0009】上記の拡大縮小手段は、該繰返し区間の前
または後のマーカーを指定するマーカー指定手段と、該
マーカー指定手段で指定されるマーカーを演奏進行方向
または逆方向に移動することを指示する移動方向指示手
段とで構成することができる。
【0010】また上記の拡大縮小手段は、該繰返し区間
の演奏進行方向への拡大のために該繰返し区間の後側の
マーカーの移動または逆方向への拡大のために該繰返し
区間の前側のマーカーの移動を指示する拡大指示手段
と、該繰返し区間の演奏進行方向への縮小のために該繰
返し区間の前側のマーカーの移動または逆方向への縮小
のために該繰返し区間の後側のマーカーの移動を指示す
る縮小指示手段とで構成することもできる。
【0011】また上記の拡大縮小手段は、該繰返し区間
の前側のマーカーを演奏進行方向または逆方向に移動さ
せることを指示する手段と、該繰返し区間の後側のマー
カーを演奏進行方向または逆方向に移動させることを指
示する手段とで構成することもできる。
【0012】上記の制御手段での該拡大位置は、該繰返
し区間の現在の区間長の整数倍だけマーカーを移動させ
た位置であり、該縮小位置は該繰返し区間の現在の区間
長の整数分の1だけマーカーを移動させた位置であるよ
うにすることができる。
【0013】また、本発明に係る自動演奏装置のマーカ
ー操作装置は、他の形態として、演奏データにおける繰
返し演奏を行う繰返し区間の前後にマーカーを設定する
マーカー設定手段と、該繰返し区間を演奏進行方向また
は逆方向のいずれかに移動することを指示するシフト指
示手段と、該シフト指示手段で指示された方向に該繰返
し区間の前後のマーカーをその区間長を保ったまま所定
のシフト位置まで移動させる制御手段とを備える。この
マーカー操作装置によれば、シフト指示手段で繰返し区
間のシフトとその方向を指示するだけで、リピート区間
が希望する方向にそのまま平行移動の形で移動されるの
で、操作性が非常によい。
【0014】上記の制御手段でのシフト位置は、該繰返
し区間の現在の区間長だけマーカーを移動させた位置で
あるようよすることできる。
【0015】また、本発明に係る自動演奏装置のマーカ
ー操作装置は、また他の形態として、演奏データにおけ
る繰返し演奏を行う繰返し区間の前後にマーカーを設定
するマーカー設定手段と、該繰返し区間の前または後の
マーカーを指定するマーカー指定手段と、該マーカー指
定手段で指定されるマーカーを演奏進行方向または逆方
向のいずれかに移動することを指示する移動指示手段
と、該移動指示手段で指示された方向に該マーカー指示
手段で指定されたマーカーを所定の移動量だけ移動させ
る制御手段とを備える。このマーカー操作装置によれ
ば、マーカー指示手段によりマーカーを指定し、移動指
示手段で移動方向を指示するだけで、希望するマーカー
希望する方向に移動されるので、リピート区間の長さを
所望する方向に容易に変えることができ、操作性が非常
によい。
【0016】上記のマーカー操作装置は、該マーカーの
移動量の単位を設定する移動単位設定手段を更に備え、
該制御手段は該移動単位設定手段で設定された単位の移
動量だけ該マーカーを移動させるよう構成できる。この
ように構成すれば、移動単位設定手段によりマーカーの
移動量を任意に設定できるので、リピート区間の長さを
所望する方向に所望の量だけ容易に変えることができ、
操作性が向上する。
【0017】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図2には本発明の一実施例としての
自動演奏装置のマーカー操作装置が示される。図2にお
いて、31はROM33に格納された制御プログラムに
基づき各種処理を行うCPU(中央処理装置)である。
32は演奏データ、楽譜データ、各種操作子データ、各
種フラグなどが格納されるRAM(ランダム・アクセス
・メモリ)、33は制御プログラム等を格納するROM
(リード・オンリー・メモリ)、34はユーザーが各種
状態を設定するスイッチなどの操作子群、35はLCD
とLCDの制御回路を含む表示器であって、楽譜やマー
カータイプなどが表示される。36はCPU1から指示
されたテンポで、CPU1に対してテンポクロック割込
を発生させるテンポクロック部であり、このテンポクロ
ックは自動演奏の基本クロックとなり、4分音符を96
等分したタイミング(clock)で割込が発生する。
37はCPU1からの指示により、指定された音高で発
音また消音する楽音信号を生成する音源であり、楽音信
号を増幅器38、スピーカ39を通して放音する。
【0018】この実施例のマーカー操作装置により実行
されるマーカーの移動の態様としては、マーカーシフ
ト、マーカージャンプ、マーカームーブの3つがある。
ここで、マーカーシフトは、2つのマーカー(A、B)
により示される区間を、その区間の長さを保ったまま楽
譜上で前後に移動する操作である。また、マーカージャ
ンプは、区間を示す2つのマーカー(A、B)のうちの
片方のマーカーを、現在区間の2倍あるいは半分の位置
にジャンプさせる操作である。また、マーカームーブ
は、指定したマーカーを小節あるいは拍の単位で移動さ
せる操作である。。
【0019】図5にはパネル上に設けられた操作子群3
4の詳細構成が示される。図5において、1〜4はマー
カースイッチ、5は表示器35の表示画面、6はプレイ
スイッチ、7はストップスイッチ、8はリピートスイッ
チ、11、12はマーカー左/右シフトスイッチ、13
〜18はモードスイッチ群、19、20はムーブ単位指
定スイッチ、21はタイプ番号指定スイッチ、22はE
XITスイッチである。以下、これらのスイッチについ
て詳説する。
【0020】マーカースイッチl〜4はそれぞれマーカ
ーA、B、C、Dを操作するためのスイッチである。こ
のマーカースイッチ1〜4を単独で押した場合、そのマ
ーカーの位置に演奏位置をジャンプさせる。またマーカ
ーC(またはD)の位置がまだ設定されていないときに
マーカースイッチ3(または4)を単独で押した場合
は、現在位置がそのマーカーに設定される。さらに、モ
ードスイッチ13〜18のいずれかを押した状態で、マ
ーカースイッチが押されると、そのマーカーの位置を変
更したり、タイプを変更したりすることができる。ま
た、マーカーA、Bは繰返し(リピート)演奏時には、
リピート区間の指定にも兼用される。
【0021】マーカーシフトスイッチ11、12は、マ
ーカーをその区間長を保ったまま楽譜上で左右にシフト
させるためのスイッチであり、マーカーシフトLスイッ
チ11は、マーカーA、Bを平行移動の形で楽譜上で左
にシフトし、マーカーシフトRスイッチ12は、マーカ
ーA、Bを平行移動の形で楽譜上で右にシフトする。
【0022】モードスイッチ群13〜18はマーカース
イッチ1〜4のモードを指定するもので、マーカージャ
ンプモードを指定するジャンプスイッチ13、14、マ
ーカームーブモードを指定するムーブスイッチ15、1
6、クリアスイッチ17、タイプスイッチ18からな
る。
【0023】ジャンプスイッチ13、14で指定される
マーカージャンブモードでは、マーカーAとBで指定さ
れる区間についてその長さを楽譜上で右または左に拡張
したり縮小したりする。マーカージャンプLスイッチ1
3が押されると、マーカースイッチ1または2で指定さ
れたマーカーAまたはBを、楽譜上の左にジャンプさせ
ることでマーカー区間を2倍に拡張または半分に縮小
し、マーカージャンプRスイッチ14が押されると、マ
ーカースイッチ1または2で指定されたマーカーAまた
はBを楽譜上の右にジャンプさせることでマーカー区間
を2倍に拡張または半分に縮小する。
【0024】ムーブスイッチ15、16で指定されるマ
ーカームーブモードでは、マーカーAまたはBをそれぞ
れ単独で楽譜上において左右に移動する。マーカームー
ブLスイッチ15が押されると、マーカースイッチ1ま
たは2で指定されたマーカーAまたはBを楽譜上で左に
移動し、マーカームーブRスイッチ16が押されると、
マーカースイッチ1または2で指定されたマーカーAま
たはBを楽譜上で右に移動する。
【0025】クリアスイッチ17で指定されるクリアモ
ードでは、マーカーが消去される。クリアスイッチ17
が押されると、マーカースイッチ3または4で指定され
たマーカーAまたはBを消去する。
【0026】タイプスイッチ18で指定されるタイプモ
ードでは、マーカーのタイブが指定される。タイプスイ
ッチ18が押されると、マーカースイッチ1〜4で指定
されたマーカーのタイプを、後述のタイプ番号指定スイ
ッチ21を用いて指定できる状態にする。
【0027】ムーブ単位指定スイッチ19、20はマー
カーを移動させるときの単位を指定するスイッチであ
り、メジャー(M)スイッチ19は小節単位、ビート
(B)スイッチ20は拍単位でのマーカーの移動を指定
する。なお、ムーブ単位指定スイッチ19、20は、い
ずれか一方が有効な択一的動作であり、一方が選択され
ると次の選択が行われるまでその状態を保持するスイッ
チである。
【0028】プレイスイッチ6は自動演奏を開始させる
スイッチ、ストップスイッチ7は自勤演奏を停止させる
スイッチであり、これらのスイッチ6、7はいずれか一
方が有効な択一的動作であり、選択された状態を保持す
るスイッチである。
【0029】リピートスイッチ8はマーカーA、Bによ
り指定された区間を繰り返して演奏する状態を設定する
スイッチである。このリピートスイッチ8は、押すたび
にリピートのON/OFF設定がトグル動作をする。
【0030】タイプ番号指定スイッチ21は、表示画面
5に表示された後述するマーカータイプのうちのいずれ
かを選択するためのものである。EXTスイッチ22
は、タイプ選択中に作業を中断する場合に押すスイッチ
である。
【0031】図3にはこの実施例装置で用いられる演奏
データのフォーマットが示される。図3において、0n
は発音のタイミングclockで示し、Note番号は
音高を示し、長さは音長をclockで示したものであ
る。音符種は、音長を量子化した長さに対応するように
演算生成した音符の種類である。
【0032】図4には本実施例装置で用いられる音楽記
号付きマーカーを説明するものである。例えば、図4
(1)のように、第1、第2小節を繰り返す譜面の場
合、実際の演奏データでは、繰返しの部分は2度演奏さ
れる。この演奏データから譜面を演算生成した場合、図
4(2)のように繰返しの記号などは表示されず、図4
(1)の譜例と異なってしまい、対応が取りにくいとい
う問題がある。この場合、演算生成した譜面に後から繰
返し記号などの目印を追加しておくことが考えれる。同
時に、こういった繰返しの位置などは、練習の区切りと
なるため、マーカーを設定することが多い。
【0033】そこで、図4(3)のように、マーカーに
音楽記号の印を入れておくことで、マーカーを入力する
と同時に音楽記号を目印として入力できる。このため、
譜面の視認性が向上する。音楽記号付きのマーカーは図
4(4)のように、音楽記号が5線譜上に描かれるよう
なデザインであってもよい。
【0034】図8には上述のようなマーカーの音楽記号
の種類とそれを示す変数が示される。この実施例では、
マーカーにセットされる音楽記号の種類には図8のよう
なデザインのものが用意されている。これは、タイプモ
ードにある時に、タイプ番号指定スイッチ21の番号に
よって指定され、後述するレジスタであるマーカータイ
プMktyに格納される。マーカータイプMktyの初
期値は「1」である。また、マーカー番号に対応するマ
ーカーA、B、C、Dの記号が、図中のAの位置に表示
される。
【0035】図6にはモードスイッチ13〜18に関す
る変数が示される。モードスイッチ13〜18はそのO
N/OFFの状態が、添字で区別されるレジスタMds
wに読み込まれる。また、押されているスイッチのモー
ドによって、モード番号Mdnumに「0」から「6」
の値がセットされる。モード番号Mdnumの初期値は
「0」である。
【0036】図7にはマーカースイッチ1〜4に関する
変数が示される。マーカースイッチ1〜4はそのON/
OFFの状態が、添字で区別されるレジスタMkSwに
読み込まれる。また、押されたスイッチによって、マー
カー番号Mknumに「l」から「4」の値がセットさ
れる。各マーカーA、B、C、Dに設定される位置は、
添字で区別されるマーカー位置Posに格納され、また
各マーカーA、B、C、Dに設定されるタイプは添字で
区別されるマーカータイプMktyに格納される。各マ
ーカー位置Posの値の初期値は、Pos(1)が
「0」(=曲の先頭位置=第1小節の先頭位置)、Po
s(2)が第2小節の先頭位置(=第1小節の末尾位
置)、Pos(3)とPos(4)は共に「−1」であ
る。なお、「−1」はマーカーが設定されていないこと
を意味する。
【0037】まず、この実施例装置におけるマーカー移
動操作の仕方を図1を参照して概略的に説明する。な
お、ここでの操作の仕方は最もオーソドックスなものを
説明しているものであるが、ここで説明する他にも、ス
イッチ群を他の態様で操作して同様のマーカー移動をさ
せることができる。
【0038】1.図1(1) ユーザーが練習を進める場合、まず、最初の第I小節を
繰り返し練習する。このため、マーカーA、Bをマーカ
ームーブ操作により第1小節の先頭と末尾に設定する。
なお、本装置が初期状態であれば、マーカーA、Bは第
1小節の先頭と末尾に設定されているので、この場合、
設定は不要である。
【0039】2.図1(2) 次に、マーカーシフト操作により、次の第2小節に移動
し練習する。このため、マーカーA、Bを次の第2小節
の先頭と末尾に移動させる。この操作の仕方は、マーカ
ーシフトRスイッチ12を押すことによる。
【0040】3.図1(3) 次に、マーカーAを前にジャンプさせ、第1、第2の2
小節を練習する。このため、マーカーAを第1小節の先
頭に移動させる。この操作の仕方は、マーカージャンプ
Lスイッチを押した状態で、マーカーAを指定するマー
カースイッチ1を押す。
【0041】4.図1(4)、図1(5) 次に、マーカーシフトより、次の2小節に移り、マーカ
ーBを前にジャンプさせ、3小節目を練習する。この操
作の仕方は、まず、マーカーシフトRスイッチ12を押
して、マーカーA、Bの区間長を保ったまま右側に移動
させる。すなわちマーカーAを第3小節の先頭、マーカ
ーBを第4小節の末尾に移動させる。次いで、マーカー
ジャンプLスイッチ13を押した状態で、マーカーBを
指定するマーカースイッチ2を押す。これによりマーカ
ーAは第3小節の先頭に移動する。
【0042】5.図1(6) 次に、マーカーシフト操作により、4小節目を練習す
る。この操作の仕方は、マーカーシフトRスイッチ12
を押すことで、マーカーA、Bをその区間長を保ったま
ま右側に移動させる。すなわち、マーカーAは第4小節
の先頭に、マーカーBは第4小節の末尾に移動する。
【0043】6.図1(7) 次に、マーカーAを前にジャンプさせ、3小節と4小節
を練習する。この操作の仕方は、マーカージャンプLス
イッチ13を押した状態で、マーカーAを指定するマー
カースイッチ1を押す。これによりマーカーAは第3小
節の先頭に移動する。
【0044】7.図1(8) 最後に、マーカーAを前にジャンプさせ、l小節から4
小節までを練習する。この操作の仕方は、マーカージャ
ンプLスイッチ13を押した状態で、マーカーAを指定
するマーカースイッチ1を押す。これによりマーカーA
は第1小節の先頭に移動する。
【0045】このように、従来ならマーカーA、Bをい
ちいちつけ直さなくてはならなかった操作が、1操作な
いし2操作で完了するため、操作性が著しく向上する。
【0046】以下、図9〜図16のフローチャートを参
照して本実施例装置の動作を説明する。これらのフロー
チャートで用いられている変数には、前述のモードスイ
ッチに関する変数〔レジスタMdsw(i)、モード番
号Mdnum〕、マーカースイッチに関する変数〔レジ
スタMksw(i)、マーカー番号Mksw、位置Po
s(i)、マーカータイプMkty(i)〕の他に、以
下のものがある。
【0047】その他の変数 TyMod :タイプモードにある場合「1」、初期
値は「0」 Dmp :現在の演奏中の音の消音処理を指示す
る場合「1」、初期値は「0」 Cur :現在の演奏位置(clock)、初期
値は「0」 Rep :リピート状態の場合「1」、初期値は
「0」 RepSt :リピート先頭位置(clock)、初
期値は「0」(=曲の先頭=第1小節の先頭) RepEnd :リピート末尾位置(clock)、初
期値はBase×Beat(=第2小節の先頭=第1小
節の末尾) DispSt :楽譜表示の先頭位置(Clock)、
初期値は「0」(=曲の先頭) DispEnd:楽譜表示の末尾位置(clock)、
初期値はMeasL(=楽譜表示範囲) MeasL :楽譜表示を行う範囲(clock) SongEnd:曲の末尾位置(clock) Base :曲の拍子記号の分母の音符に相当する
長さ(clock) Beat :曲の拍子の数 Move :マーカーを移動させる単位(cloc
k) rev :マーカーAがBより後ろに設定されて
いる場合「1」、初期値は「0」 dist :マーカーAとBの間隔(clock)
=区間長、初期値はBase×Beat
【0048】まず、図9を参照して本発明のメインルー
チンを説明する。装置電源がONになると、メインルー
チンが起動され、まず、初期化処理が行われる(ステッ
プA1)。この初期化処理においては、曲の演奏情報を
読み込み、曲の末尾位置SongEnd、ベースBas
e、ビートBeat、および、楽譜表示範囲MeasL
(4小節分のclockに相当する)をセットする。ま
た、音符種のデータを音長データから演算生成してお
く。その他の変数は、前述した初期値に設定する。さら
に、マーカーAの位置Pos(1)をRepStに設定
するとともに、マーカーBの位置Pos(2)をRep
Endに設定する。これによりマーカーA、Bは第1小
節の先頭と末尾を初期値として設定される。
【0049】初期化が終わったら、タイプモードTyM
odが「1」か否かを判定する(ステップA2)。
「1」であれば現在のモードはタイプモードであり、こ
の場合にはマーカーへタイプの設定を行う(ステップA
13〜A17)。この処理については、後述する。
【0050】タイプモードTyModが「0」の場合、
現在のモードはタイプモードではなく、この場合は表示
画面5上への楽譜表示処理を行う(ステップA3)。こ
の楽譜表示処理では、後述するように、表示画面5に5
線譜、小節線、音部記号、音符や休符を表示するととも
に、マーカーの表示を行う。
【0051】この後、プレイスイッチ6がONか否かを
判定し(ステップA4)、ONであれば、曲の自動演奏
を行うためにテンポクロック割込許可を行う(ステップ
A5)。このテンポクロック割込許可を行うと、後述の
テンポクロック割込処理が周期的に実行されて、曲の自
動演奏が開始状態になる。
【0052】次に、ストップスイッチ7がONか否かを
判定し(ステップA6)、ONであれば、曲の自動演奏
を停止するためにテンポクロック割込禁止を行う(ステ
ップA7)。このテンポクロック割込禁止を行うと、テ
ンポクロック割込処理が実行されず、発音中の音を消音
して、曲の自動演奏を停止する。
【0053】さらに、リピートスイッチ8がONか否か
を判定し(ステップA8)、「ON」であれば、ステッ
プA9〜A11を実行する。このステップA9〜A11
は、リピートスイッチ8のトグル動作を実現するもの
で、リピートRepが既に「1」すなわちリピート状態
にあるかどうか判定し(ステップA9)、リピート状態
であれば、リピートRepを「0」にしてリピート状態
を解除し(ステップA10)、「0」すなわちリピート
状態でなければ、リピートRepを「1」にしてリピー
ト状態を設定するとともに、消音Dmpを「1」にして
演奏音を中断するようにし、現在位置Curをリピート
の先頭RepSt−1にセットする(ステップA1
1)。この「−1」の演算は演算の整合性を図るための
操作である。これにより、演奏中にリピート状態になっ
た場合、一旦演奏音を消すとともに,リピートの先頭位
置RepStから新たに演奏が開始される。
【0054】次いで、マーカースイッチ処理を行う(ス
テップA12)。このマーカースイッチ処理は、マーカ
ースイッチ1〜4の設定に応じたマーカーの処理を行う
ルーチンであり、詳細は後述する。
【0055】一方、前述のステップA2の判定におい
て、タイプモードTyModが「1」すなわちマーカー
タイプの選択状態にある場合、表示画面5に図8のマー
カーの種類と番号を表示し、ユーザーに番号によるタイ
プ選択を促す(ステップA13)。また、マーカータイ
プの選択状態中にEXTスイッチ22が押されたかを判
定し(ステップA14)、押されたら、処理を中断する
ために、タイプモードTyModを「0」にし(ステッ
プA17)、タイプモードを抜け出る。EXTスイッチ
22が押されてなければ(ステップA14)、番号スイ
ッチ21がONか否か判定して(ステップA15)、い
ずれかの番号スイッチ21が押されるまで、ステップA
14の間をループして待機する。いずれかの番号スイッ
チ21が押された場合、後述するマーカースイッチ処理
ルーチンで設定されたマーカー番号Mknumを添字と
するマーカータイプMkty(Mknum)に、番号を
セットし(ステップA16)、タイプモードTyMod
を「0」にして(ステップA17)、タイプモードを抜
ける。
【0056】次に、上述の楽譜表示処理ルーチンを図1
0のフローチャートを参照して説明する。楽譜表示処理
ルーチンが起動されると、楽譜表示先頭位置DispS
tから、楽譜表示未尾位置DispEndまでの、5線
譜、小節線、音部記号などを表示する(ステップB1)
そして、表示クロックのループ変数i(clock)を
楽譜表示先頭位置DispStに初期化する(ステップ
B2)。この表示クロックのループ変数iは表示処理を
行っている現在位置をクロック数で示すものである。
【0057】ループ変数iが示す表示位置に演奏データ
が存在すれば、その位置に音符を表示する(ステップB
3)。前述した演奏データの音高を5線譜上の縦の位置
に対応させ、発音タイミングを横の位置に対応させるこ
とで、表示位置が特定され、その位置に音符種で指定さ
れた音符を表示する。また、前に表示した音符との関係
で、休符が必要な場合はこれも表示する。
【0058】次いで、マーカー番号に相当するループ変
数jを「1」に初期化する。このループ変数jは、
「1」がマーカーAを、「2」がマーカーBを、「3」
がマーカー「C」を、「4」がマーカーDをそれぞれ表
す。マーカー変数jで指定されるマーカーのマーカー位
置Pos(j)が、表示クロックのループ変数iに等し
い場合は、そのループ変数iが示す表示位置にマーカー
を表示する(ステップB6)。このマーカー表示処理
は、表示クロックの位置で、5線譜の上部の所定位置に
マーカー番号jのマーカーをマーカータイプMkty
(j)のタイプで表示する。
【0059】マーカーの位置Pos(i)がループ変数
iに等しくない場合、またはステップB6でマーカー表
示をしたら、マーカー番号のループ変数jを1つインク
リメントし(ステップB7)、その値が「4」に達した
か否かで4つのマーカーA、B、C、Dの表示の有無を
全部調べたかを判定する(ステップB8)。「4」に達
していなければ、4つのマーカーA、B、C、Dのうち
まだマーカー表示の有無を調べていないマーカーがある
ので、ステップB5以降の処理を繰り返す。一方、
「4」に達していれば(ステップB8)、マーカーA、
B、C、Dについてマーカー表示の有無を全部調べたこ
とになる。この場合には、ループ変数iを1つインクリ
メントし、そのインクリメントしたループ変数iが楽譜
表示先頭位置DispEndに達したか否かを判定し
(ステップB10)、達してないければ、新たにインク
リメントしたループ変数iで示される表示位置につい
て、上述のステップB3以降の処理を繰り返し、一方、
ループ変数iが楽譜表示先頭位置DisplEndに達
していれば、表示すべき区間のすべての演奏データとマ
ーカーの有無を全部調べたことになるので、リターンす
る。
【0060】次に、テンポクロック割込処理を図11の
フローチャートを参照して説明する。このテンポクロッ
ク割込処理ルーチンは、メインルーチンにてテンポクロ
ック割込許可がされると、テンポクロック部36で発生
したテンポクロック割込によって、テンポに応じた各ク
ロック毎のタイミングで起動される。例えば、4分音符
の場合、4分音符は96クロックに相当し、その各クロ
ック毎に本ルーチンが起動される。このテンポクロック
割込処理ルーチンでは、発音処埋とリピートの処理、お
よび自動演奏の進行に伴って楽譜表示の更新処理を行
う。
【0061】まず、現在の演奏位置Curを1つインク
リメントする(ステップC1)。次いで、リピートRe
p が「1」か否かを判定する(ステップC2)。「0」
すなわちリピート状態でなければ、現在の演奏位置Cu
rが曲の末尾位置SongEndに達しているかを判定
し(ステップC3)、達していれば、消音処理を行い、
テンポクロック割込禁止をして(ステップC4)、自動
演奏をストップさせる。曲の末尾位置SongEndに
達していなければ(ステップC3)、後述のステップC
7以降に進んで、自動演奏を続行する。
【0062】リピートRep が「1」すなわちリピート
状態であれば(ステップC2)、現在の演奏位置Cur
がリピート末尾位置RepEndに達しているか否かを
判定する(ステップC5)。達していれば、リピート区
間の先頭位置に戻ってリピート演奏を行うための更新処
理を行う(ステップC6)。具体的には、ステップC6
の処理では、現在の演奏位置Curをリピート先頭位置
RepStへ戻し、楽譜表示先頭位置DispStも同
様にリピート先頭位置RepStへ戻し、楽譜表示末尾
位置DispEndをリピート先頭位置RepStから
楽譜表示範囲MeasLだけ後に離れた位置、すなわち DispEnd←RepSt+MeasL とするとともに、リピート末尾位置RepEndで発音
されていた音の消音を指示するために消音Dmpを
「1」にする。
【0063】この更新処理が終わったら(ステップC
6)、あるいはリピート状態でなく、かつ曲の末尾位置
SondEndに達していないと判定されたら(ステッ
プC3)、ステップC7以降に進んで自動演奏を続行す
る。まず、消音Dmpが「1」か否かを判定する(ステ
ップC7)。この消音Dmpは、演奏位置Curがリピ
ート末尾位置RepEndに達した場合やマーカーで他
の位置にジャンプを指示した場合などに「1」にセット
され、現在位置での消音を指示するものである。「1」
であれば現在発音中の音を消音するとともに、消音Dm
p=0にして、消音完了の状態にする。
【0064】次いで、現在の演奏位置Curでの発音を
指示し(ステップC9)、その現在の演奏位置Curが
楽譜表示末尾位置DispEndを超えているか否か判
定し(ステップC10)、超えていなければ、リターン
して、今回のクロックサイクルでのテンポクロック割込
処理を終了する。超えていれば、楽譜表示の更新処理を
行う(ステップC11〜C13)。この更新処理では、
現在の楽譜表示先頭位置DispStに楽譜表示範囲M
easLを足したものを新たな楽譜表示先頭位置Dis
pStとし、現在の楽譜表示末尾位置DispEndに
楽譜表示範囲MeasLを足したものを新たな楽譜表示
末尾位置DispEndとする。さらに、更新した楽譜
表示末尾位置DispEndが曲の末尾位置SongE
ndに達しているか否かを判定し(ステップC12)、
達していれば、楽譜表示末尾位置DispEndは曲の
末尾位置SongEndとする(ステップC13)。こ
れらの処理の後、リターンして、今回のクロックサイク
ルでのテンポクロック割込を終了する。
【0065】次に、マーカースイッチ処理ルーチンを図
12〜図17のフローチャートを参照して以下に詳細に
説明する。このマーカースイッチ処理ルーチンでは、マ
ーカースイッチ群1〜4、11〜20のON/OFF状
態を調べて、それらの状態に応じたマーカー操作を行う
もので、マーカーA、Bにより指定される位置へのジャ
ンプ処理およびマーカーA、Bにより指定されるリピー
ト区間の変更操作や、マーカーC、Dのセットと演奏位
置のジャンプ処理などが行われる。
【0066】まず、図12のフローチャートにおいて
は、モードスイッチ13〜18とムーブ単位指定スイッ
チ19、20の状態が検出される。すなわち、マーカー
スイッチ処理が起動されると、メジャー(M)スイッチ
19がONか否か判定され(ステップD1)、ONであ
れば、マーカームーブの単位Moveを、ベースBas
e×ビートBeatに設定する(ステップD2)。これ
は1小節の長さに相当する。一方、メジャースイッチ1
9がOFFであれば(ステップD1)、ビート(B)ス
イッチ20がONか否か判定し(ステップD3)、ON
であれば、マーカームーブの単位MoveをベースBa
seに設定する(ステップD4)。これは1拍の長さに
相当する。
【0067】この後、モード番号Mdnumを「0」
に、モード番号のループ変数iを「1」に初期化してお
く(ステップD5)。次いで、i番目のモードレジスタ
Mdsw(i)がONか否かを判定し(ステップD
6)、OFFなら直ちに、あるいはONならモード番号
Mdnumにループ変数iをセットした後に(ステップ
D7)、ループ変数iを1つインクリメントし(ステッ
プD8)、このインクリメントしたループ変数iが
「6」を超えているか否か判定する(ステップD9)。
「6」を超えていれば、モードスイッチ13〜18の全
てについてON/OFF状態のチェックが終了したこと
になる。よって、「6」以下であれば、ステップD6に
戻って以降のステップを繰り返す。これにより、モード
番号Mdnumには、モードスイッチ13〜18のう
ち、ONのスイッチに相当する番号がセットされる。
【0068】すべてのモードスイッチのチェックを終え
たら、マーカースイッチ群の操作状態に応じて、以下の
ように処理を変える。まず、シフトスイッチ11、12
が操作された場合の処理を図13のフローチャートに従
って説明する。
【0069】図13において、シフトスイッチ11、1
2がONにされたか否かを判定し(ステップE0)、O
Nである場合は以下のシフト処理を行う。シフト処理で
は、マーカーA、Bで区切られるリピート区間を、その
区間長distを保ったまま、楽譜上で右側または左側
に平行移動の形で区間長distだけ移動させる。
【0070】まず、リバースrevが「1」か否かを判
定する(ステップE1)。リバースrevが「1」と
は、マーカーA、Bの前後が逆になっていてマーカーB
の方が楽譜上で左側(前側)にある場合である。マーカ
ーA、Bの前後状態に応じて以下のように、テンポラリ
位置Pos1、Pos2を設定する。このテンポラリ位
置Pos1、Pos2はシフト処理を行うために用いる
テンポラリなレジスタの名称である。リバースrevが
「0」の場合には、テンポラリ位置Pos1にマーカー
Aの位置Pos(1)を、またテンポラリ位置Pos2
にマーカーBの位置Pos(2)をそれぞれセットし
(ステップE2)、リバースrevが「1」の場合に
は、テンポラリ位置Pos1にマーカーBの位置Pos
(2)を、またテンポラリ位置Pos2にマーカーAの
位置Pos(1)をそれぞれセットする(ステップE
3)。この処理は、リピート区間のうち、前側のマーカ
ー位置をPos1,後側のマーカー位置をPos2とし
て扱うためである。
【0071】次いで、マーカーシフトスイッチ11、1
2のうち、いずれがONにされたかを判定する。すなわ
ち、右シフトするためのマーカーシフトRスイッチ12
がONか否かを判定する。ONすなわち右シフトである
場合には、リピート区間の後側マーカー位置Pos2が
曲の末尾位置SongEndを超えているか否か判定し
(ステップE9)、超えていなければ、前側マーカー位
置Pos1に後側マーカー位置Pos2をセットし、後
側マーカー位置Pos2に区間長distを加算する
(ステップE10)。これにより、リピート区間は区間
長distだけ全体に右側にシフトする。さらに、シフ
ト後の後側マーカー位置Pos2が曲の末尾位置Son
gEndを超えたか否か判定し(ステップE11)、超
えていれば、後側マーカー位置Pos2に曲の末尾位置
SongEndをセットする(ステップE12)。一
方、シフト前の後側マーカー位置Pos2が既に曲の末
尾位置SongEndを超えていれば(ステップE
9)、右シフトは不可能であるから、上記ステップE1
0〜E12は行わない。
【0072】一方、マーカーシフトRスイッチ12がO
FF(すなわちマーカーシフトlスイッチ11がON)
であれば(ステップE4)、これは左シフトである。こ
の場合、リピート区間の前側マーカー位置Pos1が曲
の先頭位置「0」より前か否か判定し(ステップE
5)、前でなければ、後側マーカー位置Pos2に前側
マーカー位置Pos1をセットし、前側マーカー位置P
os1から区間長distを減算する(ステップE
6)。これにより、リピート区間は区間長distだけ
全体に左側にシフトする。さらに、シフト後の前側マー
カー位置Pos1が曲の先頭位置「0」より前か否か判
定し(ステップE7)、前であれば、前側マーカー位置
Pos1に曲の先頭位置「0」をセットする(ステップ
E8)。一方、シフト前の前側マーカー位置Pos1が
既に曲の先頭位置「0」より前であれば(ステップE
5)、左シフトは不可能であるから、上記ステップE6
〜E8は行わない。
【0073】この後、リピート区間の先頭位置RepS
tに前側マーカー位置Pos1をセットし、リピート区
間の末尾位置RepEndに後側マーカー位置Pos2
をセットする(ステップE16)。そしてリバースre
vが「1」か否かを判定し(ステップE13)、その結
果に応じて、右シフトまたは左シフトにより更新したテ
ンポラリ位置Pos1、Pos2の内容を、マーカー位
置Pos(1)、Pos(2)に書き戻す。すなわち、
リバースrevが「0」であれば、マーカー位置Pos
(l)、Pos(2) にテンポラリ位置PoS1、P
os2をそれぞれ書き戻し(ステップE14)、リバー
スrevが「1」であれば、マーカー位置Pos
(1)、Pos(2) にテンポラリ位置Pos2、P
os1をそれぞれ書き戻して(ステップE15)、リタ
ーンする。
【0074】一方、操作されたスイッチがシフトスイッ
チ11、12でない場合には(ステップE0)、図14
〜図17に示すような、モードスイッチ13〜18と組
み合わせてマーカースイッチ1〜4を使用する場合の処
埋となる。ここで、図14は主としてマーカーC、Dに
関するセットとジャンプ処理を説明するフローチャー
ト、図15は主としてマーカーA、Bに関するジャンプ
処理、ムーブ処理を説明するフローチャート、図16、
図17は主としてマーカーA、Bに関するリピート区間
の拡大/縮小処理を説明するフローチャートである。
【0075】まず、図14において、マーカー番号のル
ープ変数jを「1」に初期化した後に(ステップF
0)、j番目のマーカースイッチMksw(j)がON
か否かを判定し(ステップF1)、ONでなければ、M
kon(j)を「0」にクリアする(ステップF2)。
このMkon(j)は、マーカースイッチがONになっ
た時の変化を検出するための変数である。マーカースイ
ッチMksw(j)がONであれば、Mkon(j)が
「1」か否かを判定し(ステップF3)、Mkon
(j)が既に「1」になっている場含は、マーカースイ
ッチが新たに押されたのではないので、次のマーカース
イッチの状態を調べるためにループ変数jを1つインク
リメントする(ステップF4)。Mkon(j)が
「1」でない場合には、新たにマーカースイッチが押さ
れたので、Mkon(j)に「1」をセットし(ステッ
プF4)、ステップF5以降に進む。このように、ステ
ップF1〜F3の処理は、ステップF5以降の処理を、
マーカースイッチのON操作に対して1回だけ実行する
ようにするためのものである。
【0076】ステップF3でマーカースイッチが新たに
押されたと判定された場合には、モード番号Mdnum
がマーカータイプモードを示す「6」か否かを調べて、
「6」すなわちマーカータイプモードが指定されている
場合は、マーカータイプモードに入るので、タイプモー
ドTyModに「1」をセットし、マーカー番号Mkn
umにループ変数jをセットして(ステップF6)、リ
ターンする。この処理により、前述のようにメインルー
チンでマーカータイプモードの処理が行われる。
【0077】モード番号Mdnumがマーカータイプモ
ードを示すものでなかった場合(ステップF5)、マー
カー番号のループ変数jが「1」または「2」かを判定
する(ステップF7)。これはマーカースイッチ1また
は2でマーカーAまたはBが指定されたかを判定するも
ので、マーカーAまたはBの場合には後述の図15のフ
ローチャートの処理に進む。マーカーAまたはBでない
場合には、マーカーCまたはDが指定されたものとな
る。この場合、マーカーCまたはDに関しての処理が実
行される。まず、モード番号Mdnumがマーカークリ
アモードを指定する「5」か否かを判定し(ステップF
8)、マーカークリアモードが指定されている場合は、
そのマーカーの位置Pos(j)にクリアを意味する
「−1」をセットして(ステップF9)、マーカーCま
たはDの設定を解除する。
【0078】一方、マーカークリアモードが指定されて
いない場合には(ステップF8)、モード番号Mdnu
mが、いずれのモードスイッチ13〜18も無操作であ
ることを示す「0」か否かを判定する(ステップF1
0)。「0」でない場合、すなわちいずれかのモードス
イッチ13〜18が操作されていたとしても、マーカー
C、Dについては、いずれのモードも機能しないので、
ループ変数jを更新するステップF14に抜ける。
【0079】モードスイッチ13〜18がいずれも無操
作の場合、前述したように、マーカーC、Dについて
は、マーカーCまたはDのマーカースイッチ3または4
が押されれば、まだマーカーCまたはDがセットされて
いなければ現在の演奏位置にマーカーCまたはDをセッ
トし、既にセットされていれば現在の演奏位置をそのセ
ット済のマーカー位置までジャンプさせる操作を行う。
よって、マーカーCまたはDの位置Pos(j)がクリ
アを意味する「−1」か否かを判定し(ステップF1
1)、クリアすなわちマーカー未設定であれば、その位
置Pos(j)に現在の演奏位置Curをセッシする
(ステップF13)。マーカー既設定であれば(ステッ
プF11)、現在の演奏位置Curに位置Pos(j)
をセットし、楽譜表示の先頭位置DispStに位置P
os(j)をセットし、楽譜表示の末尾位置DispS
tに位置Pos(j)と楽譜表示範囲MeasLを加算
したものをセットするとともに、消音Dmpに「1」を
セットして現在発音中の音の消音処理を指示する(ステ
ップF14)。これにより、既に設定されているマーカ
ーCまたはDの位置に、演奏位置、表示位置ともにジャ
ンブする。
【0080】この後、ループ変数jをインクリメントし
(ステップF14)、すべてのマーカースイッチの処理
を終えたかを判定し(ステップF15)、終わっていな
い場合は、ステップF1へ戻り、終わったらリターンす
る。この処理は、後述の図15、図16のフローが終了
した時にも行われる。
【0081】次に、ステップF7の判定で、マーカー
A、Bに対応するマーカースイッチ1、2が操作された
と判定された場合の処理を図15、図16のフローチャ
ートに従って説明する。まず、図15のフローチャート
について説明する。この図15の処理は、マーカーA、
Bについてモード番号Mdnumが「0」、「5」、
「4」、「3」すなわちモードスイッチが押されていな
い、クリアモードにある、あるいは移動モードにある場
合の処埋である。
【0082】まず、モード番号Mdnumが全モードス
イッチ13〜18の無操作を意味する「0」か否かを判
定する(ステップG1)。全モードスイッチ13〜18
が無操作であれば、マーカーA、Bは、現在の演奏位置
をそのセット済のマーカー位置までジャンプさせる操作
を行う。よって、現在の演奏位置Curに位置Pos
(j)をセットし、楽譜表示の先頭位置DispStに
位置Pos(j)をセットし、楽譜表示の末尾位置Di
spEndに位置Pos(j)と楽譜表示範囲Meas
Lを加算したものをセットするとともに、消音Dmpに
「1」をセットして現在発音中の音の消音処理を指示す
る(ステップG3)。これにより、既に設定されている
マーカーAまたはBの位置に、演奏位置、表示位置とも
にジャンプする。
【0083】モードスイッチ13〜18のいずれかが操
作されていると判定された場合(ステップG1)、モー
ド番号MdnumがマーカーAまたはBを右側に移動さ
せるマーカームーブRモードを指定する「4」であるか
否かを判定する(ステップG6)。マーカームーブRモ
ードであれば、マーカーAまたはBの現在の位置Pos
(j)に移動単位Moveを加算してマーカーAまたは
Bを楽譜の右(曲の後ろ方向)に移動させる(ステップ
G7)。そして、その移動の結果、マーカーAまたはB
の位置Pos(j)が曲の末尾位置SongEndを超
えたか否かを判定し(ステップG8)、超えてしまった
場合は、マーカーAまたはBの位置Pos(j)を曲の
末尾位置SongEndとする(ステップG9)。
【0084】一方、マーカームーブRモードでなければ
(ステップG6)、モード番号MdnumがマーカーA
またはBを左側に移動させるマーカームーブLモードを
指定する「3」であるか否かを判定する(ステップG1
0)。マーカームーブLモードであれば、マーカーAま
たはBの現在の位置Pos(j)から移動単位Move
を減算してマーカーAまたはBを楽譜の左(曲の前方
向)に移動させる(ステップG11)。そして、その移
動の結果、マーカーAまたはBの位置Pos(j)が曲
の先頭位置「0」より前になったかを判定し(ステップ
G12)、前になってしまった場合は、マーカーAまた
はBの位置Pos(j)を曲の先頭位置「0」とする
(ステップG13)。
【0085】以上のマーカーAまたはBのジャンプ処
理、移動処理が終わったら、マーカーAまたはBの位置
が変更されたので、関係する変数を更新する(ステップ
G3〜G5)。すなわち、マーカーAとBの位置Pos
(1)とPos(2)の大小を比較して(ステップG
3)、マーカーAとBのいずれが前にあるかを調べる。
マーカーがA、Bの順であれば、リバースrevを
「0」に設定し、リピートの区間長distを「Pos
(2)−Pos(1)」で求めてセットし、リピート区
間の先頭位置RepStにマーカーAの位置Pos
(1)をセットし、リピート区間の末尾位置RepEn
dにマーカーBの位置Pos(2)をセットする(ステ
ップG5)。一方、マーカーがB、Aの順であれば、リ
バースrevを「1」に設定し、リピートの区間長di
stを「Pos(1)−Pos(2)」で求めてセット
し、リピート区間の先頭位置RepStにマーカーBの
位置Pos(2)をセットし、リピート区間の末尾位置
RepEndにマーカーAの位置Pos(1)をセット
する(ステップG4)。
【0086】一方、モード番号Mdnumがムーブのモ
ードを指定していない場合には、図16、図17のフロ
ーチャートで示されるマーカージャンプモードの処理が
実行される。このジャンプ処理では、リピート区間のう
ちの前方にあるマーカーAまたはBが前方にジャンプす
るよう指示された場合は、そのマーカーAまたはBはマ
ーカー間の距離(区間長)が2倍になる位置にジャンブ
し、後方にジャンプするよう指示された場合は、マーカ
ー間の距離(区間長)が2分の1になる位置にジャンブ
する。一方、リピート区間の後方にあるマーカーBまた
はAが前方にジャンプするよう指示された場合は、その
マーカーはマーカー間の距離(区間長)が2分の1にな
る位置にジャンプし、後方にジャンプするよう指示され
た場合は、マーカー間の距離(区間長)が2倍になる位
置にジャンプする。
【0087】まず、モード番号Mdnumが、マーカー
AまたはBを右側にジャンプさせる,マーカージャンプ
Rモードを指定する「2」か否かを判定する(ステップ
H1)。「2」ならマーカージャンプRモード、「2」
でなければマーカーAまたはBを左側にジャンプさせる
マーカージャンプLモードである。
【0088】マーカージャンプRモードであれば、マー
カーAまたはBのジャンプの仕方には次の4通りがあ
る。 (1)リピート区間の前側のマーカーAを右ジャンプ、
後側のマーカーBを固定。すなわち、マーカーの順序が
A、Bの状態でリピート区間を縮小する。 (2)リピート区間の前側のマーカーBを固定、後側の
マーカーAを右ジャンプ。すなわち、マーカーの順序が
B、Aでリピート区間を拡張する。 (3)リピート区間の前側のマーカーAを固定、後側の
マーカーBを右ジャンプ。すなわち、マーカーの順序が
A、Bの状態でリピート区間を拡大する。 (4)リピート区間の前側のマーカーBを右ジャンプ、
後側のマーカーAを固定。すなわち、マーカーの順序が
B、Aの状態でリピート区間を縮小する。
【0089】一方、マーカージャンプLモードであれ
ば、マーカーAまたはBのジャンプの仕方には次の4通
りがある。 (5)リピート区間の前側のマーカーAを左ジャンプ、
後側のマーカーBを固定。すなわち、マーカーの順序が
A、Bの状態でリピート区間を拡張する。 (6)リピート区間の前側のマーカーBを固定、後側の
マーカーAを左ジャンプ。すなわち、マーカーの順序が
B、Aでリピート区間を縮小する。 (7)リピート区間の前側のマーカーAを固定、後側の
マーカーBを左ジャンプ。すなわち、マーカーの順序が
A、Bの状態でリピート区間を縮小する。 (8)リピート区間の前側のマーカーBを左ジャンプ、
後側のマーカーAを固定。すなわち、マーカーの順序が
B、Aの状態でリピート区間を拡大する。
【0090】図16、図17中において、上述の(1)
〜(8)に対応する処理のフロー経路には同じ(1)〜
(8)の符号を付して対応付けてある。以下、これらの
処理について詳細に説明する。
【0091】マーカージャンプRモードと判定されると
(ステップH1)、ループ変数jが「1」か否か、すな
わち処理対象がマーカーAかBかを判定し(ステップG
2)、マーカーAであれば、リバースrevが「1」か
否かでそのマーカーAがリピート区間の前側か後側かを
判定する(ステップH3)。リバースrev=0であれ
ば、前記(1)のリピート前側にあるマーカーAの処理
であり、マーカーAの位置Pos(1)を現在の間隔d
istの半分だけ右側の位置に進め(ステップH4)、
リピート区間を現在の半分にする。なお、除算は四捨五
入で整数にする。
【0092】リバースrev=1であれば、前記(2)
のリピート後側にあるマーカーAの処理であり、マーカ
ーAの位置Pos(1)を現在の間隔dist分だけ右
側の位置に進め(ステップH5)、リピート区間を現在
の2倍にする。マーカーAを右ジャンプさせた結果、そ
の位置Pos(1)が曲の末尾位置SongEndを超
えたかを判定し(ステップH6)、超えた場合には、位
置Pos(1)に曲の末尾位置SongEndをセット
する(ステップH7)。
【0093】一方、ステップH2の判定で、処理対象が
マーカーBと判定されると、リバースrevが「1」か
否かでそのマーカーBがリピート区間の前側か後側かを
判定する(ステップH8)。リバースrev=0であれ
ば、前記(3)のリピート後側にあるマーカーBの処理
であり、マーカーBの位置Pos(2)を現在の間隔d
ist分だけ右側の位置に進め(ステップH9)、リピ
ート区間を現在の2倍にする。マーカーBを右ジャンプ
させた結果、その位置Pos(2)が曲の末尾位置So
ngEndを超えたかを判定し(ステップH10)、超
えた場合には、位置Pos(2)に曲の末尾位置Son
gEndをセットする(ステップH11)。
【0094】一方、ステップH8でリバースrev=1
であれば、前記(4)のリピート前側にあるマーカーB
の処理であり、マーカーBの位置Pos(2)を現在の
間隔distの半分だけ右側の位置に進め(ステップH
12)、リピート区間を現在の半分にする。なお、除算
は四捨五入で整数にする。
【0095】一方、ステップH1においてマーカージャ
ンプLモードと判定されると、ループ変数jが「1」か
否か、すなわち処理対象がマーカーAかBかを判定し
(ステップG13)、マーカーAであれば、リバースr
evが「1」か否かでそのマーカーAがリピート区間の
前側か後側かを判定する(ステップH14)。リバース
rev=0であれば、前記(5)のリピート前側にある
マーカーAの処理であり、マーカーAの位置Pos
(1)を現在の間隔dist分だけ左側の位置に戻し
(ステップH5)、リピート区間を現在の2倍にする。
マーカーAを左ジャンプさせた結果、その位置Pos
(1)が曲の先頭位置「0」よりも前になったかを判定
し(ステップH16)、前になった場合には、位置Po
s(1)に曲の先頭位置「0」をセットする(ステップ
H17)。
【0096】ステップH14においてリバースrev=
1であれば、前記(6)のリピート後側にあるマーカー
Aの処理であり、マーカーAの位置Pos(1)を現在
の間隔distの半分だけ左側の位置に戻し(ステップ
H4)、リピート区間を現在の半分にする。なお、除算
は四捨五入で整数にする。
【0097】一方、ステップH13の判定で、処理対象
がマーカーBと判定されると、リバースrevが「1」
か否かでそのマーカーBがリピート区間の前側か後側か
を判定する(ステップH19)。リバースrev=0で
あれば、前記(7)のリピート後側にあるマーカーBの
処理であり、マーカーBの位置Pos(2)を現在の間
隔distの半分だけ左側の位置に戻し(ステップH2
0)、リピート区間を現在の半分にする。なお、除算は
四捨五入で整数にする。
【0098】一方、ステップH19においてリバースr
ev=1であれば、前記(8)のリピート前側にあるマ
ーカーBの処理であり、マーカーBの位置Pos(2)
を現在の間隔dist分だけ左側の位置に戻し(ステッ
プH21)、リピート区間を現在の2倍にする。マーカ
ーBを左ジャンプさせた結果、その位置Pos(2)が
曲の先頭位置「0」よりも前になったかを判定し(ステ
ップH22)、前になった場合には、位置Pos(2)
に曲の先頭位置「0」をセットする(ステップH2
3)。
【0099】これらステップH1〜H23の処理が終わ
ると、マーカーA、Bの位置が変更されるので、新たな
マーカー間隔distを計算するとともに、リピート区
間の先頭位置RepSt、末尾位置RepEndを設定
する(ステップH24〜H26)。すなわち、リバース
revが「1」か否かでマーカーA、Bの順序を判定し
(ステップH24)、マーカーAがBより後ろに設定さ
れている場合には、マーカー間隔distに「Pos
(1)−Pos(2)」をセットするとともに、リピー
ト区間の先頭位置RepSt、末尾位置RepEndに
それぞれPos(2)、Pos(1)を設定する(ステ
ップH26)。また、マーカーAがBより前に設定され
ている場合には、マーカー間隔distに「Pos
(2)−Pos(1)」をセットするとともに、リピー
ト区間の先頭位置RepSt、末尾位置RepEndに
それぞれPos(1)、Pos(2)を設定する(ステ
ップH25)。
【0100】本発明の実施にあたっては、上述したもの
の他にも種々の変形形態が可能である。例えば、上述の
実施例では、マーカーシフトは、前のリピート区間の前
または後に新たなリピート区間が来るようにリピート区
間を移動させているが、本発明はこれに限られるもので
はなく、小節単位、拍単位でリピート区間の前後のマー
カーA、Bを移動させるものでもよい。この場合、その
移動量を設定する設定手段を設けて、設定した移動量だ
け移動させるとよい。
【0101】また、上述の実施例では、マーカージャン
プモードでのリピート区間の拡大または縮小を、拡大の
場合には現リピート区間の2倍、縮小の場合には現リピ
ート区間の2分の1としたが、本発明はこれに限られる
ものではなく、この拡大量または縮小量は任意であり、
例えば拡大の場合には整数倍、縮小の場合には整数分の
1というように設定できるようにしてもよい。
【0102】また、上述の実施例装置では、マーカージ
ャンプモードでのリピート区間の拡大または縮小を、ジ
ャンプスイッチ13、14とマーカーA、Bを指定する
マーカースイッチ1、2を用いて指示するようにした
が、本発明はこのようなスイッチ配置に限られるもので
はなく、例えば、リピート区間を楽譜上で前側または後
側に拡大することを指示する拡大指示操作子と、リピー
ト区間を楽譜上で前側または後側に縮小することを指示
する縮小指示操作子を設け、拡大指示操作子で前側への
拡大が指示された場合にはリピート区間の前側のマーカ
ーを前側に、また後側への拡大が指示された場合にはリ
ピート区間の後側のマーカーを後側に移動とさせ、縮小
指示操作子で後側への縮小が指示された場合にはリピー
ト区間の前側のマーカーを後側に、また前側への縮小が
指示された場合にはリピート区間の後側のマーカーを前
側に移動とさせるようにしてもよい。
【0103】
【発明の効果】以上に説明したように、本発明によれ
ば、すくない操作回数でリピート区間のマーカーを演奏
教習などに適した位置に簡単に移動させることができ、
マーカー移動の操作性の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施例装置におけるマーカー移動の操
作態様を説明する図である。
【図2】本発明の一実施例としてのマーカー操作装置を
搭載した自動演奏装置を示す図である。
【図3】実施例装置における演奏データのフォーマット
を示す図である。
【図4】実施例装置で用いる音楽記号付きマーカーを説
明する図である。
【図5】実施例装置におけるパネル上の操作子を説明す
る図である。
【図6】実施例装置におけるモードスイッチに関する変
数を説明する図である。
【図7】実施例装置におけるマーカースイッチに関する
変数を説明する図である。
【図8】実施例装置で使用されるマーカーの音楽記号の
種類と変数を説明する図である。
【図9】実施例装置で実行されるメインルーチンを示す
フローチャートである。
【図10】実施例のメインルーチンにおける楽譜表示ル
ーチンを示すフローチャートである。
【図11】実施例装置で実行されるテンポクロック割込
処理ルーチンを示すフローチャートである。
【図12】実施例のメインルーチンにおけるマーカース
イッチ処理ルーチン(モードスイッチのスキャン処理部
分)を示すフローチャートである。
【図13】実施例のメインルーチンにおけるマーカース
イッチ処理ルーチン(マーカーA、Bのシフト操作処理
部分)を示すフローチャートである。
【図14】実施例のメインルーチンにおけるマーカース
イッチ処理ルーチン(マーカーC、Dのセット/ジャン
プ処理部分)を示すフローチャートである。
【図15】実施例のメインルーチンにおけるマーカース
イッチ処理ルーチン(マーカーA、Bのセット/ジャン
プ処理、クリア処理、ムーブ処理部分)を示すフローチ
ャートである。
【図16】実施例のメインルーチンにおけるマーカース
イッチ処理ルーチン(マーカーA、Bの拡大/縮小のジ
ャンプ処理部分)を示すフローチャートである。
【図17】実施例のメインルーチンにおけるマーカース
イッチ処理ルーチン(マーカーA、Bの拡大/縮小のジ
ャンプ処理部分)を示すフローチャートである。
【符号の説明】
1〜4 マーカースイッチ 5 表示画面 6 プレイスイッチ 7 ストップスイッチ 8 リピートスイッチ 11、12 シフトスイッチ 13、14 ジャンプスイッチ 15、16 ムーブスイッチ 17 クリアスイッチ 18 タイプスイッチ 19、20 移動単位指定スイッチ 21 タイプ番号指定スイッチ 22 EXTスイッチ 31 CPU(中央処理装置) 32 RAM(ランダム・アクセス・メモリ) 33 ROM(リード・オンリー・メモリ) 34 操作子群 35 表示装置 36 テンポクロック部 37 音源 38 増幅器 39 スピーカ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】演奏データにおける繰返し演奏を行う繰返
    し区間の前後にマーカーを設定するマーカー設定手段
    と、 該繰返し区間の拡大または縮小とその拡大または縮小を
    演奏進行方向または逆方向のいずれに行うかを指示する
    拡大縮小指示手段と、 該拡大縮小指示手段で指示された拡大または縮小が該繰
    返し区間の前または後のマーカーを該繰返し区間から外
    側に移動させるものであれば、該マーカーを所定の拡大
    位置に移動させ、内側に移動させるものであれば、該マ
    ーカーを所定の縮小位置に移動させる制御手段とを備え
    た自動演奏装置のマーカー操作装置。
  2. 【請求項2】該拡大縮小手段は、 該繰返し区間の前または後のマーカーを指定するマーカ
    ー指定手段と、 該マーカー指定手段で指定されるマーカーを演奏進行方
    向または逆方向に移動することを指示する移動方向指示
    手段とで構成される請求項1記載の自動演奏装置のマー
    カー操作装置。
  3. 【請求項3】該拡大縮小手段は、 該繰返し区間の演奏進行方向への拡大のために該繰返し
    区間の後側のマーカーの移動または逆方向への拡大のた
    めに該繰返し区間の前側のマーカーの移動を指示する拡
    大指示手段と、 該繰返し区間の演奏進行方向への縮小のために該繰返し
    区間の前側のマーカーの移動または逆方向への縮小のた
    めに該繰返し区間の後側のマーカーの移動を指示する縮
    小指示手段とで構成される請求項1記載の自動演奏装置
    のマーカー操作装置。
  4. 【請求項4】該拡大縮小手段は、 該繰返し区間の前側のマーカーを演奏進行方向または逆
    方向に移動させることを指示する手段と、 該繰返し区間の後側のマーカーを演奏進行方向または逆
    方向に移動させることを指示する手段とで構成される請
    求項1記載の自動演奏装置のマーカー操作装置。
  5. 【請求項5】該制御手段での該拡大位置は、該繰返し区
    間の現在の区間長の整数倍だけマーカーを移動させた位
    置であり、該縮小位置は該繰返し区間の現在の区間長の
    整数分の1だけマーカーを移動させた位置である請求項
    1〜4のいずれかに記載の自動演奏装置のマーカー操作
    装置。
  6. 【請求項6】演奏データにおける繰返し演奏を行う繰返
    し区間の前後にマーカーを設定するマーカー設定手段
    と、 該繰返し区間を演奏進行方向または逆方向のいずれかに
    移動することを指示するシフト指示手段と、 該シフト指示手段で指示された方向に該繰返し区間の前
    後のマーカーをその区間長を保ったまま所定のシフト位
    置まで移動させる制御手段とを備えた自動演奏装置のマ
    ーカー操作装置。
  7. 【請求項7】該制御手段でのシフト位置は、該繰返し区
    間の現在の区間長だけマーカーを移動させた位置である
    よう構成される請求項6記載の自動演奏装置のマーカー
    操作装置。
  8. 【請求項8】演奏データにおける繰返し演奏を行う繰返
    し区間の前後にマーカーを設定するマーカー設定手段
    と、 該繰返し区間の前または後のマーカーを指定するマーカ
    ー指定手段と、 該マーカー指定手段で指定されるマーカーを演奏進行方
    向または逆方向のいずれかに移動することを指示する移
    動指示手段と、 該移動指示手段で指示された方向に該マーカー指示手段
    で指定されたマーカーを所定の移動量だけ移動させる制
    御手段とを備えた自動演奏装置のマーカー操作装置。
  9. 【請求項9】該マーカーの移動量の単位を設定する移動
    単位設定手段を更に備え、該制御手段は該移動単位設定
    手段で設定された単位の移動量だけ該マーカーを移動さ
    せるよう構成された請求項8記載の自動演奏装置のマー
    カー操作装置。
JP10031097A 1997-04-17 1997-04-17 自動演奏装置のマーカー操作装置 Expired - Lifetime JP3796001B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10031097A JP3796001B2 (ja) 1997-04-17 1997-04-17 自動演奏装置のマーカー操作装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10031097A JP3796001B2 (ja) 1997-04-17 1997-04-17 自動演奏装置のマーカー操作装置

Publications (2)

Publication Number Publication Date
JPH10293579A true JPH10293579A (ja) 1998-11-04
JP3796001B2 JP3796001B2 (ja) 2006-07-12

Family

ID=14270609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10031097A Expired - Lifetime JP3796001B2 (ja) 1997-04-17 1997-04-17 自動演奏装置のマーカー操作装置

Country Status (1)

Country Link
JP (1) JP3796001B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015637A (ja) * 2001-07-03 2003-01-17 Yamaha Corp 楽譜表示装置
JP2007333836A (ja) * 2006-06-13 2007-12-27 Casio Comput Co Ltd 演奏練習装置および演奏練習処理のプログラム
WO2008035431A1 (en) * 2006-09-22 2008-03-27 Kowa Company, Ltd. Sound reproducing apparatus, recorder, and file transfer/reproducing system
JP2008282054A (ja) * 2008-08-25 2008-11-20 Yamaha Corp 演奏データ再生装置及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695667A (ja) * 1992-09-11 1994-04-08 Yamaha Corp 自動演奏装置
JPH06259072A (ja) * 1993-03-02 1994-09-16 Kawai Musical Instr Mfg Co Ltd 電子楽器のパラメータ設定装置
JPH07110681A (ja) * 1993-10-12 1995-04-25 Roland Corp 自動演奏装置
JPH07248772A (ja) * 1994-12-16 1995-09-26 Casio Comput Co Ltd 電子楽器
JPH08137468A (ja) * 1994-11-02 1996-05-31 Yamaha Corp 演奏情報処理装置
JPH0997059A (ja) * 1995-09-29 1997-04-08 Kawai Musical Instr Mfg Co Ltd 楽譜認識装置
JPH0997057A (ja) * 1995-09-28 1997-04-08 Kawai Musical Instr Mfg Co Ltd 譜面編集装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695667A (ja) * 1992-09-11 1994-04-08 Yamaha Corp 自動演奏装置
JPH06259072A (ja) * 1993-03-02 1994-09-16 Kawai Musical Instr Mfg Co Ltd 電子楽器のパラメータ設定装置
JPH07110681A (ja) * 1993-10-12 1995-04-25 Roland Corp 自動演奏装置
JPH08137468A (ja) * 1994-11-02 1996-05-31 Yamaha Corp 演奏情報処理装置
JPH07248772A (ja) * 1994-12-16 1995-09-26 Casio Comput Co Ltd 電子楽器
JPH0997057A (ja) * 1995-09-28 1997-04-08 Kawai Musical Instr Mfg Co Ltd 譜面編集装置
JPH0997059A (ja) * 1995-09-29 1997-04-08 Kawai Musical Instr Mfg Co Ltd 楽譜認識装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015637A (ja) * 2001-07-03 2003-01-17 Yamaha Corp 楽譜表示装置
JP4649785B2 (ja) * 2001-07-03 2011-03-16 ヤマハ株式会社 楽譜表示装置
JP2007333836A (ja) * 2006-06-13 2007-12-27 Casio Comput Co Ltd 演奏練習装置および演奏練習処理のプログラム
WO2008035431A1 (en) * 2006-09-22 2008-03-27 Kowa Company, Ltd. Sound reproducing apparatus, recorder, and file transfer/reproducing system
JPWO2008035431A1 (ja) * 2006-09-22 2010-01-28 興和株式会社 音再生装置、録音装置、及びファイル転送・再生システム
JP2008282054A (ja) * 2008-08-25 2008-11-20 Yamaha Corp 演奏データ再生装置及びプログラム
JP4687759B2 (ja) * 2008-08-25 2011-05-25 ヤマハ株式会社 演奏データ再生装置及びプログラム

Also Published As

Publication number Publication date
JP3796001B2 (ja) 2006-07-12

Similar Documents

Publication Publication Date Title
US8502057B2 (en) Electronic musical instrument
JP3339217B2 (ja) 楽譜表示装置
EP0980061B1 (en) Arrangement apparatus by modification of music data with arrangement data
JP3922224B2 (ja) 自動演奏装置及びプログラム
JPH10293579A (ja) 自動演奏装置のマーカー操作装置
US5239124A (en) Iteration control system for an automatic playing apparatus
JPH06301332A (ja) 電子楽器
JP2017125911A (ja) 鍵盤楽器の演奏支援装置及び方法
US5756915A (en) Electronic musical instrument having a search function and a replace function
JP4609359B2 (ja) 電子楽器
JP2756799B2 (ja) 自動リズム演奏装置
JP4241833B2 (ja) 自動演奏装置及びプログラム
JPH08179773A (ja) 自動リズム発生装置
JP4572980B2 (ja) 自動演奏装置及びプログラム
JP3873782B2 (ja) 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造
JPH0619388A (ja) 演奏練習装置
JP3543680B2 (ja) 演奏ガイド付き電子鍵盤楽器
JP2963074B2 (ja) 自動演奏装置
JP4471819B2 (ja) 自動演奏装置
JPH075875A (ja) 自動演奏装置
JP3883270B2 (ja) 自動演奏装置
JPH04186299A (ja) 電子楽器
JP3108494B2 (ja) 自動伴奏装置
JPH08137472A (ja) 電子楽器
JPH1097181A (ja) 演奏操作指示装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060315

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: 20060411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060414

R150 Certificate of patent 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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140421

Year of fee payment: 8

EXPY Cancellation because of completion of term