JPH0259474B2 - - Google Patents
Info
- Publication number
- JPH0259474B2 JPH0259474B2 JP57094363A JP9436382A JPH0259474B2 JP H0259474 B2 JPH0259474 B2 JP H0259474B2 JP 57094363 A JP57094363 A JP 57094363A JP 9436382 A JP9436382 A JP 9436382A JP H0259474 B2 JPH0259474 B2 JP H0259474B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- register
- timing
- bar line
- value
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 description 46
- 230000033764 rhythmic process Effects 0.000 description 16
- 210000000056 organ Anatomy 0.000 description 8
- 238000003825 pressing Methods 0.000 description 6
- 230000003936 working memory Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 239000011295 pitch Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10G—REPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
- G10G3/00—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
- G10G3/04—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S84/00—Music
- Y10S84/12—Side; rhythm and percussion devices
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
- Printing Methods (AREA)
- Auxiliary Devices For Music (AREA)
Description
【発明の詳細な説明】
この発明は、生演奏から得られる楽譜データを
記憶しこの記憶した楽譜データに基づいて自動演
奏あるいは楽譜の印刷を行なう演奏記録装置にお
いて、小節線タイミングの前後における楽譜デー
タを正しい楽譜印刷が行なわれるように補正する
楽譜データの補正方法に関する。
記憶しこの記憶した楽譜データに基づいて自動演
奏あるいは楽譜の印刷を行なう演奏記録装置にお
いて、小節線タイミングの前後における楽譜デー
タを正しい楽譜印刷が行なわれるように補正する
楽譜データの補正方法に関する。
例えば電子オルガン、ピアノ等の鍵盤楽器にお
いて、演奏者による鍵操作状態から楽譜データを
生成して記憶し、この記憶した楽譜データを読み
出して楽音を再生し、これによつて演奏者が演奏
した楽曲を自動演奏するようにした自動演奏装置
等の演奏記録装置が知られている。このような装
置においては、通常前記楽譜データを、押下鍵を
示すキーコードと同押下鍵の押鍵長さを示す符長
データとによつて表わされた音符データと、押下
鍵がないことを示す零のキーコードとその押下鍵
がない期間を示す符長データとによつて表わされ
た休符データとを用いて楽曲の進行順に記憶す
る。そして従来このような装置においては、楽譜
データを記憶する場合、前記音符データおよび休
符データにおける各符長データを最小符長単位の
倍数となるようにまとめることによつて演奏者の
演奏タイミング(押鍵あるいは離鍵のタイミン
グ)の誤差を補正するようにしている。
いて、演奏者による鍵操作状態から楽譜データを
生成して記憶し、この記憶した楽譜データを読み
出して楽音を再生し、これによつて演奏者が演奏
した楽曲を自動演奏するようにした自動演奏装置
等の演奏記録装置が知られている。このような装
置においては、通常前記楽譜データを、押下鍵を
示すキーコードと同押下鍵の押鍵長さを示す符長
データとによつて表わされた音符データと、押下
鍵がないことを示す零のキーコードとその押下鍵
がない期間を示す符長データとによつて表わされ
た休符データとを用いて楽曲の進行順に記憶す
る。そして従来このような装置においては、楽譜
データを記憶する場合、前記音符データおよび休
符データにおける各符長データを最小符長単位の
倍数となるようにまとめることによつて演奏者の
演奏タイミング(押鍵あるいは離鍵のタイミン
グ)の誤差を補正するようにしている。
しかしながらこのような装置において、記憶し
た楽譜データを印刷して楽譜を作成しようとする
場合、前述したような方法で補正を行なつたとし
ても小節線タイミングの前後において演奏者の演
奏タイミングに誤差があると、この誤差が短かい
符長(例えば前記最小符長単位の符長)の音符ま
たは休符として小節線の前後に印刷されてしま
い、結果として演奏した楽曲の楽譜とは異なる楽
譜が印刷されてしまうことになつてしまう。
た楽譜データを印刷して楽譜を作成しようとする
場合、前述したような方法で補正を行なつたとし
ても小節線タイミングの前後において演奏者の演
奏タイミングに誤差があると、この誤差が短かい
符長(例えば前記最小符長単位の符長)の音符ま
たは休符として小節線の前後に印刷されてしま
い、結果として演奏した楽曲の楽譜とは異なる楽
譜が印刷されてしまうことになつてしまう。
この発明は以上の事情に鑑みてなされたもの
で、その目的とするところは演奏者による演奏か
ら楽譜データを生成して記憶し、この楽譜データ
を用いて楽譜を印刷する場合、小節線の前後の音
符または休符が正しく印刷されるように前記楽譜
データを補正する楽譜データの補正方法を提供す
るもので、小節線タイミングが音符に含まれかつ
この小節線タイミングと同小節線タイミングの直
前または直接にある音符変化タイミングとの時間
差が所定テンポ周期より短かい場合は前記音符変
化タイミングを小節線タイミングとみなす一方、
小節線タイミングが休符に含まれかつこの小節線
タイミングと同小節線タイミングの直後にある音
符開始タイミングとの時間差が前記所定テンポ周
期より短かい場合は前記音符開始タイミングを小
節線タイミングとみなすようにしたものである。
で、その目的とするところは演奏者による演奏か
ら楽譜データを生成して記憶し、この楽譜データ
を用いて楽譜を印刷する場合、小節線の前後の音
符または休符が正しく印刷されるように前記楽譜
データを補正する楽譜データの補正方法を提供す
るもので、小節線タイミングが音符に含まれかつ
この小節線タイミングと同小節線タイミングの直
前または直接にある音符変化タイミングとの時間
差が所定テンポ周期より短かい場合は前記音符変
化タイミングを小節線タイミングとみなす一方、
小節線タイミングが休符に含まれかつこの小節線
タイミングと同小節線タイミングの直後にある音
符開始タイミングとの時間差が前記所定テンポ周
期より短かい場合は前記音符開始タイミングを小
節線タイミングとみなすようにしたものである。
以下、この発明による楽譜データの補正方法を
電子オルガンの演奏記録装置に適用した場合の一
実施例について図面を参照しながら詳細に説明す
る。
電子オルガンの演奏記録装置に適用した場合の一
実施例について図面を参照しながら詳細に説明す
る。
まずこの実施例における電子オルガンの概略構
成を第1図を用いて説明する。この図に示す電子
オルガンはマイクロプロセツサ等の中央処理装置
(以下、CPUと略称する。)を用いて装置全体を
集中制御するように構成したものである。この図
において、符号1で示すものは前記CPUであり、
またプログラムメモリ2はこのCPU1が使用す
る各種プログラムが格納されたリードオンリメモ
リである。またワーキングメモリ3はCPU1が
その動作過程において使用するワーキングエリア
用のメモリであり、ランダムアクセスメモリから
構成されている。この場合、このワーキングメモ
リ3の一部の番地はCPU1の外部レジスタおよ
びポインタ等として使用されている。
成を第1図を用いて説明する。この図に示す電子
オルガンはマイクロプロセツサ等の中央処理装置
(以下、CPUと略称する。)を用いて装置全体を
集中制御するように構成したものである。この図
において、符号1で示すものは前記CPUであり、
またプログラムメモリ2はこのCPU1が使用す
る各種プログラムが格納されたリードオンリメモ
リである。またワーキングメモリ3はCPU1が
その動作過程において使用するワーキングエリア
用のメモリであり、ランダムアクセスメモリから
構成されている。この場合、このワーキングメモ
リ3の一部の番地はCPU1の外部レジスタおよ
びポインタ等として使用されている。
次にキースイツチ回路4はこの電子オルガンの
鍵盤の各鍵(キー)に1対1に対応して設けられ
たキースイツチからなる回路で、CPU1は信号
バス5を介してこれらキースイツチを走査するこ
とにより各鍵の操作状態を検出することができ
る。また操作子スイツチ回路6はこの電子オルガ
ンのパネル上にある音色選択スイツチ、リズム選
択スイツチあるいは楽譜印刷指令用のプリントス
タートスイツチ等の各操作子の接点信号を出力す
る回路であり、CPU1はこれら各操作子の接点
が開閉する時に発生する割り込みに応じてこれら
各操作子の操作状態を読み込み、前記ワーキング
メモリ3におけるこれら各操作子に対応したレジ
スタの内容を書き換える。これらレジスタとして
は、前記音色選択スイツチによつて選択された音
色コードTCを記憶するレジスタ、前記リズム選
択スイツチによつて選択されたリズムのリズムパ
ターン情報を記憶するレジスタ、あるいは前記プ
リントスタートスイツチをオンするとセツトされ
るプリントスタートレジスタ等がある。次にバツ
フアメモリ7は前記鍵盤の鍵操作状態から得られ
る楽譜データを記憶するためのランダムアクセス
メモリであり、このバツフアメモリ7は未補正の
楽譜データを記憶するためのメモリRAMと、
この発明によつて補正された楽譜データを記憶す
るためのメモリRAMとからなつている。また
テンポカウンタ8は図示せぬテンポ発振器が出力
するテンポクロツク(このテンポクロツクの周期
は演奏者が設定する。)を計数するカウンタで、
このテンポカウンタ8は前記テンポクロツクを、
零と、前記リズム選択スイツチによつて選択され
たリズム系の拍子によつて決まる1小節分のテン
ポクロツク数との間で連続的に繰り返し計数し、
1小節分のテンポクロツクを計数する毎にCPU
1に対して割り込みをかけて1小節が経過したこ
とを告げる。
鍵盤の各鍵(キー)に1対1に対応して設けられ
たキースイツチからなる回路で、CPU1は信号
バス5を介してこれらキースイツチを走査するこ
とにより各鍵の操作状態を検出することができ
る。また操作子スイツチ回路6はこの電子オルガ
ンのパネル上にある音色選択スイツチ、リズム選
択スイツチあるいは楽譜印刷指令用のプリントス
タートスイツチ等の各操作子の接点信号を出力す
る回路であり、CPU1はこれら各操作子の接点
が開閉する時に発生する割り込みに応じてこれら
各操作子の操作状態を読み込み、前記ワーキング
メモリ3におけるこれら各操作子に対応したレジ
スタの内容を書き換える。これらレジスタとして
は、前記音色選択スイツチによつて選択された音
色コードTCを記憶するレジスタ、前記リズム選
択スイツチによつて選択されたリズムのリズムパ
ターン情報を記憶するレジスタ、あるいは前記プ
リントスタートスイツチをオンするとセツトされ
るプリントスタートレジスタ等がある。次にバツ
フアメモリ7は前記鍵盤の鍵操作状態から得られ
る楽譜データを記憶するためのランダムアクセス
メモリであり、このバツフアメモリ7は未補正の
楽譜データを記憶するためのメモリRAMと、
この発明によつて補正された楽譜データを記憶す
るためのメモリRAMとからなつている。また
テンポカウンタ8は図示せぬテンポ発振器が出力
するテンポクロツク(このテンポクロツクの周期
は演奏者が設定する。)を計数するカウンタで、
このテンポカウンタ8は前記テンポクロツクを、
零と、前記リズム選択スイツチによつて選択され
たリズム系の拍子によつて決まる1小節分のテン
ポクロツク数との間で連続的に繰り返し計数し、
1小節分のテンポクロツクを計数する毎にCPU
1に対して割り込みをかけて1小節が経過したこ
とを告げる。
次に、楽音信号形成回路(TG)9は、前記
CPU1が供給するデータに基づき対応する楽音
信号を発生してスピーカ10に供給し、これによ
つて楽音を発生させる回路であり、またプリンタ
制御回路(PC)11はCPU1が供給するデータ
に基づき対応する楽譜の印刷データを生成してプ
リンタ12へ供給し、これによつてプリンタ12
の用紙上に楽譜を印刷させる回路である。
CPU1が供給するデータに基づき対応する楽音
信号を発生してスピーカ10に供給し、これによ
つて楽音を発生させる回路であり、またプリンタ
制御回路(PC)11はCPU1が供給するデータ
に基づき対応する楽譜の印刷データを生成してプ
リンタ12へ供給し、これによつてプリンタ12
の用紙上に楽譜を印刷させる回路である。
以上の構成において、楽譜印刷を行なわない通
常のモードにおいては、CPU1は演奏開始に先
立ちまず前記ワーキングメモリ3のレジスタから
音色コードTC等の操作子情報をTG9へ供給す
る。次いでCPU1は演奏者が演奏を開始すると、
前記キースイツチの開閉状態から鍵操作状態を検
出し、押鍵時には押下鍵を示すキーコードKCを
楽音信号形成回路9へ供給する。楽音信号形成回
路9は、このキーコードKCが示す鍵の音高に対
応する音源信号を発生し、この音源信号に前記音
色コードTCに応じた音色等を付与して楽音信号
を形成し、この楽音信号をスピーカ10へ供給す
る。
常のモードにおいては、CPU1は演奏開始に先
立ちまず前記ワーキングメモリ3のレジスタから
音色コードTC等の操作子情報をTG9へ供給す
る。次いでCPU1は演奏者が演奏を開始すると、
前記キースイツチの開閉状態から鍵操作状態を検
出し、押鍵時には押下鍵を示すキーコードKCを
楽音信号形成回路9へ供給する。楽音信号形成回
路9は、このキーコードKCが示す鍵の音高に対
応する音源信号を発生し、この音源信号に前記音
色コードTCに応じた音色等を付与して楽音信号
を形成し、この楽音信号をスピーカ10へ供給す
る。
したがつてこの通常のモードにおいては、スピ
ーカ10から押下鍵に対応する音高の楽音が演奏
順に順次発音される。
ーカ10から押下鍵に対応する音高の楽音が演奏
順に順次発音される。
次に、前記プリントスタートスイツチがオンさ
れて楽譜印刷モードが指定されている場合、すな
わちワーキングメモリ3におけるプリントスター
トレジスタがセツトされている場合、CPU1は
押鍵時(押鍵変更時も含む。)には押下鍵を示す
キーコードKCと、同鍵の押鍵開始時点における
テンポカウンタ8の出力(すなわちテンポカウン
タTCL)とからなるデータ(以下、このデータ
をイベントデータと称す。)を、また離鍵時には
「0」のキーコードと離鍵時点におけるテンポカ
ウントTCLとからなるイベントデータを、また
テンポカウントTCLが1小節分のテンポクロツ
ク数に到達した小節線タイミングには同タイミン
グにおけるキーコードKCとテンポカウントTCL
とからなるイベントデータを、前記メモリRAM
に順次書き込んでゆく。そしてCPU1は、1
小節分の楽譜データが記憶される毎にこの楽譜デ
ータの小節線タイミングの前後におけるデータを
補正して前記メモリRAMに記憶し、このメモ
リRAMの楽譜データをプリンタ制御回路11
へ供給する。プリンタ制御回路11はこの楽譜デ
ータを印刷データに変換してプリンタ12へ供給
する。
れて楽譜印刷モードが指定されている場合、すな
わちワーキングメモリ3におけるプリントスター
トレジスタがセツトされている場合、CPU1は
押鍵時(押鍵変更時も含む。)には押下鍵を示す
キーコードKCと、同鍵の押鍵開始時点における
テンポカウンタ8の出力(すなわちテンポカウン
タTCL)とからなるデータ(以下、このデータ
をイベントデータと称す。)を、また離鍵時には
「0」のキーコードと離鍵時点におけるテンポカ
ウントTCLとからなるイベントデータを、また
テンポカウントTCLが1小節分のテンポクロツ
ク数に到達した小節線タイミングには同タイミン
グにおけるキーコードKCとテンポカウントTCL
とからなるイベントデータを、前記メモリRAM
に順次書き込んでゆく。そしてCPU1は、1
小節分の楽譜データが記憶される毎にこの楽譜デ
ータの小節線タイミングの前後におけるデータを
補正して前記メモリRAMに記憶し、このメモ
リRAMの楽譜データをプリンタ制御回路11
へ供給する。プリンタ制御回路11はこの楽譜デ
ータを印刷データに変換してプリンタ12へ供給
する。
したがつて、この楽譜印刷モードにおいては、
スピーカ10から押下鍵に対応する音高の楽音が
演奏順に順次発音されると共に、プリンタ12の
用紙上には楽譜が印刷される。
スピーカ10から押下鍵に対応する音高の楽音が
演奏順に順次発音されると共に、プリンタ12の
用紙上には楽譜が印刷される。
次にこの発明による楽譜データの補正方法の基
本原理について説明する。
本原理について説明する。
第2図ないし第4図はこの発明の基本原理を説
明するためのタイムチヤートで、これらの図にお
いてMで示す期間は鍵盤上の任意の鍵Mが押鍵さ
れている期間、Nで示す期間は任意の鍵Nが押鍵
されている期間、斜線で示す期間は何れの鍵も押
鍵されていない期間すなわち休符期間、tsは演奏
される楽曲の各小節の区切りを示す小節線タイミ
ング(すなわち前記テンポカウントTCLが1小
節分のテンポクロツク数となつたタイミング)、
またlは最小符長単位(4/4拍子の楽曲において
は、例えば16分音符に対応する符長)に相当する
期間を各々示している。
明するためのタイムチヤートで、これらの図にお
いてMで示す期間は鍵盤上の任意の鍵Mが押鍵さ
れている期間、Nで示す期間は任意の鍵Nが押鍵
されている期間、斜線で示す期間は何れの鍵も押
鍵されていない期間すなわち休符期間、tsは演奏
される楽曲の各小節の区切りを示す小節線タイミ
ング(すなわち前記テンポカウントTCLが1小
節分のテンポクロツク数となつたタイミング)、
またlは最小符長単位(4/4拍子の楽曲において
は、例えば16分音符に対応する符長)に相当する
期間を各々示している。
ここで第2図イに示すように、鍵Mから鍵Nへ
の押鍵変更が、小節線タイミングtsの直前の期間
l内における時刻t1において行なわれた場合、す
なわち演奏者が現小節の最終音符と次小節の最初
の音符との間の押鍵変更を正しいタイミングより
僅かに早く行なつた場合、この発明においては同
図ロに示すように前記押鍵変更タイミングt1を小
節線タイミングtsであるとみなす。また第3図イ
に示すように鍵Mから鍵Nへの押鍵変更が、小節
線タイミングts直後の期間l内における時刻t1に
おいて行なわれた場合、すなわち演奏者が現小節
の最終音符と次小節の最初の音符との間の押鍵変
更を正しいタイミングより僅かに遅く行なつた場
合、この発明においては同図ロに示すように前記
押鍵タイミングt1を小節線タイミングtsであると
みなす。また第4図イに示すように鍵Mの離鍵が
小節線タイミングtsまたはそれ以前に行なわれ、
かつ鍵Nの押鍵が小節線タイミングts直後の期間
l内における時刻t1から開始された場合、すなわ
ち演奏者が現小節の最終音符と次小節の最初の音
符との間に短かい無押鍵期間を設けた場合、この
発明においては同図ロに示すように前記鍵Nの押
鍵開始タイミングt1を小節線タイミングtsとみな
す。
の押鍵変更が、小節線タイミングtsの直前の期間
l内における時刻t1において行なわれた場合、す
なわち演奏者が現小節の最終音符と次小節の最初
の音符との間の押鍵変更を正しいタイミングより
僅かに早く行なつた場合、この発明においては同
図ロに示すように前記押鍵変更タイミングt1を小
節線タイミングtsであるとみなす。また第3図イ
に示すように鍵Mから鍵Nへの押鍵変更が、小節
線タイミングts直後の期間l内における時刻t1に
おいて行なわれた場合、すなわち演奏者が現小節
の最終音符と次小節の最初の音符との間の押鍵変
更を正しいタイミングより僅かに遅く行なつた場
合、この発明においては同図ロに示すように前記
押鍵タイミングt1を小節線タイミングtsであると
みなす。また第4図イに示すように鍵Mの離鍵が
小節線タイミングtsまたはそれ以前に行なわれ、
かつ鍵Nの押鍵が小節線タイミングts直後の期間
l内における時刻t1から開始された場合、すなわ
ち演奏者が現小節の最終音符と次小節の最初の音
符との間に短かい無押鍵期間を設けた場合、この
発明においては同図ロに示すように前記鍵Nの押
鍵開始タイミングt1を小節線タイミングtsとみな
す。
しかして以上に述べた基本原理に従えば、例え
ば第5図イに示すようにC3音の鍵が小節線タイ
ミングts直前の期間l内における時刻t1において
離鍵され、D3音の鍵が小節線タイミングtsから期
間lを経過した以後の時刻t2において押鍵開始さ
れ、かつ時刻t1から時刻t2までの間が無押鍵状態
である場合は、同図ロに示すように小節線タイミ
ングtsの補正は行なわれない。また例えば第6図
イに示すようにC3音の鍵が小節線タイミングts直
前の期間l内における時刻t1において離鍵され、
D3音の鍵が小節線タイミングts直後の期間l内に
おいて押鍵開始され、かつ時刻t1から時刻t2まで
の間が無押鍵状態である場合は、同図ロで示すよ
うに小節線タイミングtsは時刻t2に補正される。
また例えば第7図イに示すようにC3鍵からD3へ
の押鍵変更が小節線タイミングtsから期間lだけ
前の時点以前に行なわれ、かつこのD3鍵からE3
鍵への押鍵変更が小節線タイミングtsから期間l
を経過した以後の時刻t2において行なわれた場合
は、同図ロに示すように小節線タイミングtsの補
正は行なわない。また例えば第8図イに示すよう
にC3鍵が小節線タイミングts直後の期間l内にお
ける時刻t1において離鍵され、D3鍵が小節線タイ
ミングtsから期間lを経過した以後の時刻t2にお
いて押鍵開始され、かつ時刻t1から時刻t2までの
間が無押鍵状態である場合は、同図ロに示すよう
に小節線タイミングtsは時刻t1に補正され、ここ
で時刻t1から時刻t2までの期間が期間lより短か
い場合は同図ハに示すように前記小節線タイミン
グtsは更に時刻t2に補正される。
ば第5図イに示すようにC3音の鍵が小節線タイ
ミングts直前の期間l内における時刻t1において
離鍵され、D3音の鍵が小節線タイミングtsから期
間lを経過した以後の時刻t2において押鍵開始さ
れ、かつ時刻t1から時刻t2までの間が無押鍵状態
である場合は、同図ロに示すように小節線タイミ
ングtsの補正は行なわれない。また例えば第6図
イに示すようにC3音の鍵が小節線タイミングts直
前の期間l内における時刻t1において離鍵され、
D3音の鍵が小節線タイミングts直後の期間l内に
おいて押鍵開始され、かつ時刻t1から時刻t2まで
の間が無押鍵状態である場合は、同図ロで示すよ
うに小節線タイミングtsは時刻t2に補正される。
また例えば第7図イに示すようにC3鍵からD3へ
の押鍵変更が小節線タイミングtsから期間lだけ
前の時点以前に行なわれ、かつこのD3鍵からE3
鍵への押鍵変更が小節線タイミングtsから期間l
を経過した以後の時刻t2において行なわれた場合
は、同図ロに示すように小節線タイミングtsの補
正は行なわない。また例えば第8図イに示すよう
にC3鍵が小節線タイミングts直後の期間l内にお
ける時刻t1において離鍵され、D3鍵が小節線タイ
ミングtsから期間lを経過した以後の時刻t2にお
いて押鍵開始され、かつ時刻t1から時刻t2までの
間が無押鍵状態である場合は、同図ロに示すよう
に小節線タイミングtsは時刻t1に補正され、ここ
で時刻t1から時刻t2までの期間が期間lより短か
い場合は同図ハに示すように前記小節線タイミン
グtsは更に時刻t2に補正される。
次に第1図に示した実施例の動作を、上述した
動作原理に基づく楽譜データの補正過程を含め
て、詳細に説明する。
動作原理に基づく楽譜データの補正過程を含め
て、詳細に説明する。
まずこの実施例の全体の動作を第9図に示すフ
ローチヤートを参照して説明する。この第9図に
示すフローチヤートは、CPU1が実行する主ル
ーチン(主プログラム)と、小節線タイミングに
おいて発生する割り込みに対して実行される割込
ルーチンとの各流れを示している。なお以下の各
フローチヤートにおいては、アルフアベツトを用
いて表わしたレジスタおよびポインタのうち、
( )で閉じていないものは対応するレジスタ
(またはポインタ)自体の内容を示し、また( )
で閉じたものは対応するレジスタ(またはポイン
タ)の内容が指す番地の内容を示す。
ローチヤートを参照して説明する。この第9図に
示すフローチヤートは、CPU1が実行する主ル
ーチン(主プログラム)と、小節線タイミングに
おいて発生する割り込みに対して実行される割込
ルーチンとの各流れを示している。なお以下の各
フローチヤートにおいては、アルフアベツトを用
いて表わしたレジスタおよびポインタのうち、
( )で閉じていないものは対応するレジスタ
(またはポインタ)自体の内容を示し、また( )
で閉じたものは対応するレジスタ(またはポイン
タ)の内容が指す番地の内容を示す。
第9図において、この電子オルガンの動作が開
始されると、CPU1はまず回路各部、各レジス
タ(後述する転送レジスタ、小節カウンタ、プリ
ントエンドレジスタ等)、各バツフアメモリ等を
初期化する(ステツプS1)。この初期化が済むと
CPU1はステツプS2に進み、各キースイツチ、
パネル上の各操作子に対応する操作子レジスタ
(音色コードTC等を記憶するレジスタ、プリント
スタートレジスタ等)、および後述する転送レジ
スタ等を走査する。この走査の結果、上述した各
部のいずれにおいても変化がなかつたと判断され
た場合は再びステツプS2に戻つて前記各部の走
査を続行し、一方変化があつた場合(すなわち鍵
操作状態の変化あるいは操作子の操作があつた場
合)は、ステツプS4に進み前記走査結果に応じ
た分岐が行なわれる。このステツプS4において、
そのステツプS4aに示すように前記走査時にキー
スイツチの開閉状態が変化していた場合は、ステ
ツプS5に進んでプログラムKEDWを実行し、こ
のプログラムKEDWの実行が終了するとステツ
プS2に戻る。このプログラムKEDWは押下鍵の
キーコードKCをTG9へ出力すると共に、楽譜
印刷モードにおいては更に鍵操作状態の変化に伴
うイベントデータをメモリRAMに書き込む。
またステツプS4において、そのステツプS4bに示
すように前記走査時にプリントスタートレジスタ
がセツト状態に変化していた場合、すなわち演奏
者がプリントスタートスイツチをオンした場合
は、ステツプS6に進み、楽譜印刷時に使用され
る各部の初期設定を行ない、しかる後ステツプ
S2へ戻る。このステツプS6においては、パネル
上の楽譜印刷態様を決める各スイツチの状態を読
み込んで対応するレジスタに設定し、メモリ
RAM、RAMの各先頭アドレスをポインタ
P1、P2に各々設定し、ポインタP1、P2の内容を
レジスタA,Cに各々設定し、さらに後述する転
送レジスタ、小節カウンタ、プリントエンドレジ
スタ等のレジスタを各々クリアして初期設定を行
なう。またステツプS4において、そのステツプ
S4cに示すように前記走査時にプリントスタート
レジスタがリセツト状態に変化していた場合、す
なわち演奏者はプリントスタートスイツチをオフ
した場合は、ステツプS7に進みプリントエンド
レジスタをセツトし、その後ステツプS2に戻る。
またステツプS4において、そのステツプS4dに示
すように前記走査時にプリントスタートレジスタ
を除く各操作子レジスタの内容が変化していた場
合、すなわち演奏者が音色選択スイツチ等の操作
子を操作した場合はステツプS8に進みこれら操
作子レジスタの内容を楽音信号形成回路9へ出力
し、その後ステツプS2に戻る。またステツプS4
において、そのステツプS4eに示すように前記走
査時に後述する転送レジスタがセツト状態に変化
していた場合は、ステツプS9に進んでプログラ
ムXFERを実行した後、ステツプS2へ戻る。こ
のプログラムXFERにおいては、メモリRAM
に記憶されているイベントデータの集合すなわち
楽譜データが、この発明による方法に従つて補正
された後プリンタ制御回路11へ出力される。
始されると、CPU1はまず回路各部、各レジス
タ(後述する転送レジスタ、小節カウンタ、プリ
ントエンドレジスタ等)、各バツフアメモリ等を
初期化する(ステツプS1)。この初期化が済むと
CPU1はステツプS2に進み、各キースイツチ、
パネル上の各操作子に対応する操作子レジスタ
(音色コードTC等を記憶するレジスタ、プリント
スタートレジスタ等)、および後述する転送レジ
スタ等を走査する。この走査の結果、上述した各
部のいずれにおいても変化がなかつたと判断され
た場合は再びステツプS2に戻つて前記各部の走
査を続行し、一方変化があつた場合(すなわち鍵
操作状態の変化あるいは操作子の操作があつた場
合)は、ステツプS4に進み前記走査結果に応じ
た分岐が行なわれる。このステツプS4において、
そのステツプS4aに示すように前記走査時にキー
スイツチの開閉状態が変化していた場合は、ステ
ツプS5に進んでプログラムKEDWを実行し、こ
のプログラムKEDWの実行が終了するとステツ
プS2に戻る。このプログラムKEDWは押下鍵の
キーコードKCをTG9へ出力すると共に、楽譜
印刷モードにおいては更に鍵操作状態の変化に伴
うイベントデータをメモリRAMに書き込む。
またステツプS4において、そのステツプS4bに示
すように前記走査時にプリントスタートレジスタ
がセツト状態に変化していた場合、すなわち演奏
者がプリントスタートスイツチをオンした場合
は、ステツプS6に進み、楽譜印刷時に使用され
る各部の初期設定を行ない、しかる後ステツプ
S2へ戻る。このステツプS6においては、パネル
上の楽譜印刷態様を決める各スイツチの状態を読
み込んで対応するレジスタに設定し、メモリ
RAM、RAMの各先頭アドレスをポインタ
P1、P2に各々設定し、ポインタP1、P2の内容を
レジスタA,Cに各々設定し、さらに後述する転
送レジスタ、小節カウンタ、プリントエンドレジ
スタ等のレジスタを各々クリアして初期設定を行
なう。またステツプS4において、そのステツプ
S4cに示すように前記走査時にプリントスタート
レジスタがリセツト状態に変化していた場合、す
なわち演奏者はプリントスタートスイツチをオフ
した場合は、ステツプS7に進みプリントエンド
レジスタをセツトし、その後ステツプS2に戻る。
またステツプS4において、そのステツプS4dに示
すように前記走査時にプリントスタートレジスタ
を除く各操作子レジスタの内容が変化していた場
合、すなわち演奏者が音色選択スイツチ等の操作
子を操作した場合はステツプS8に進みこれら操
作子レジスタの内容を楽音信号形成回路9へ出力
し、その後ステツプS2に戻る。またステツプS4
において、そのステツプS4eに示すように前記走
査時に後述する転送レジスタがセツト状態に変化
していた場合は、ステツプS9に進んでプログラ
ムXFERを実行した後、ステツプS2へ戻る。こ
のプログラムXFERにおいては、メモリRAM
に記憶されているイベントデータの集合すなわち
楽譜データが、この発明による方法に従つて補正
された後プリンタ制御回路11へ出力される。
一方、前記主ルーチンが実行されている過程に
おいてテンポカウントTCLが1小節分のテンポ
クロツク数に到達し(すなわち小節線タイミング
となり)、割り込みが発生すると、この割り込み
によつて割込ルーチンの実行が開始される。この
割込ルーチンが開始されると、ステツプS10にお
いてプログラムSEDWが実行され、この実行が
終了すると前記主ルーチンに復帰する。このプロ
グラムSEDWにおいては、楽譜印刷モードであ
ればこの小節線タイミングにおけるイベントデー
タをRAMへ書き込んだ後転送レジスタをセツ
トし、また楽譜印刷を行なわない通常のモードで
は何も行なわない。
おいてテンポカウントTCLが1小節分のテンポ
クロツク数に到達し(すなわち小節線タイミング
となり)、割り込みが発生すると、この割り込み
によつて割込ルーチンの実行が開始される。この
割込ルーチンが開始されると、ステツプS10にお
いてプログラムSEDWが実行され、この実行が
終了すると前記主ルーチンに復帰する。このプロ
グラムSEDWにおいては、楽譜印刷モードであ
ればこの小節線タイミングにおけるイベントデー
タをRAMへ書き込んだ後転送レジスタをセツ
トし、また楽譜印刷を行なわない通常のモードで
は何も行なわない。
次にこの第9図のフローチヤートおよび第10
図ないし第13図に示す各フローチヤートを用い
てこの実施例における詳細な動作を、1小節当り
のテンポクロツク数が3/4拍子に対応する「192」
であり、かつ最小符長単位当りのテンポクロツク
数(すなわち前記期間lにおけるテンポクロツク
数)が「12」である場合を例にして、各動作モー
ド別に順次説明する。
図ないし第13図に示す各フローチヤートを用い
てこの実施例における詳細な動作を、1小節当り
のテンポクロツク数が3/4拍子に対応する「192」
であり、かつ最小符長単位当りのテンポクロツク
数(すなわち前記期間lにおけるテンポクロツク
数)が「12」である場合を例にして、各動作モー
ド別に順次説明する。
まず楽譜印刷を行なわない通常のモードの場合
を説明する。この場合、演奏に先立ち演奏者が音
色選択スイツチ等の操作子を操作すると、主ルー
チンのステツプS2、S3において操作子レジスタ
の内容の変化が検出され、ステツプS4dを介して
ステツプS8が実行される結果、音色コードTC等
の操作子情報が楽音信号形成回路9へ出力され
る。次いで演奏者が鍵操作を開始すると、ステツ
プS2、S3においてキースイツチの状態変化が検
出され、この状態変化が検出される毎にステツプ
S4aを介してステツプS5のプログラムKEDWが
実行される。ここで第10図に示すプログラム
KEDWのフローチヤートを参照すると、このプ
ログラムKEDWにおいてはまずステツプS11にお
いて現在の押下鍵のキーコードKC(押下鍵がない
場合は零のキーコードKC)が楽音信号形成回路
9へ出力され、この結果押下鍵に対応する楽音の
発音が開始される。次いでステツプS12において
プリントスタートレジスタの状態が判定される
が、この場合同レジスタはリセツト状態であるか
らこのプログラムKEDWは直ちに終了し、コン
トロールは再び第9図のフローチヤートにおける
ステツプS2に戻る。したがつて以後、鍵操作状
態が変化する毎にステツプS5のプログラム
KEDWが実行されることになる。一方、前記テ
ンポカウントTCLが値「192」となつて割り込み
が発生すると、ステツプS10のプログラムSEDW
が実行される。ここで第11図に示すプログラム
SEDWのフローチヤートを参照すると、このプ
ログラムSEDWにおいて、まずステツプS17にお
いてプリントエンドレジスタの状態が判定され
る。この場合、同レジスタはリセツト状態である
から、ステツプS18に進んでプリントスタートレ
ジスタの状態が判定される。この場合、同レジス
タはリセツト状態であるから、このプログラム
SEDWは直ちに終了する。すなわちこのモード
においてはプログラムSEDWが実行されても何
のデータ処理も行なわれない。なお演奏中に演奏
者がパネル上の操作子を操作した場合は、その時
点で対応する操作子レジスタの内容が変化し、こ
れに応じて第9図のステツプS8が実行されるか
ら、演奏中であつても楽音の発音態様等を変化さ
せることができる。
を説明する。この場合、演奏に先立ち演奏者が音
色選択スイツチ等の操作子を操作すると、主ルー
チンのステツプS2、S3において操作子レジスタ
の内容の変化が検出され、ステツプS4dを介して
ステツプS8が実行される結果、音色コードTC等
の操作子情報が楽音信号形成回路9へ出力され
る。次いで演奏者が鍵操作を開始すると、ステツ
プS2、S3においてキースイツチの状態変化が検
出され、この状態変化が検出される毎にステツプ
S4aを介してステツプS5のプログラムKEDWが
実行される。ここで第10図に示すプログラム
KEDWのフローチヤートを参照すると、このプ
ログラムKEDWにおいてはまずステツプS11にお
いて現在の押下鍵のキーコードKC(押下鍵がない
場合は零のキーコードKC)が楽音信号形成回路
9へ出力され、この結果押下鍵に対応する楽音の
発音が開始される。次いでステツプS12において
プリントスタートレジスタの状態が判定される
が、この場合同レジスタはリセツト状態であるか
らこのプログラムKEDWは直ちに終了し、コン
トロールは再び第9図のフローチヤートにおける
ステツプS2に戻る。したがつて以後、鍵操作状
態が変化する毎にステツプS5のプログラム
KEDWが実行されることになる。一方、前記テ
ンポカウントTCLが値「192」となつて割り込み
が発生すると、ステツプS10のプログラムSEDW
が実行される。ここで第11図に示すプログラム
SEDWのフローチヤートを参照すると、このプ
ログラムSEDWにおいて、まずステツプS17にお
いてプリントエンドレジスタの状態が判定され
る。この場合、同レジスタはリセツト状態である
から、ステツプS18に進んでプリントスタートレ
ジスタの状態が判定される。この場合、同レジス
タはリセツト状態であるから、このプログラム
SEDWは直ちに終了する。すなわちこのモード
においてはプログラムSEDWが実行されても何
のデータ処理も行なわれない。なお演奏中に演奏
者がパネル上の操作子を操作した場合は、その時
点で対応する操作子レジスタの内容が変化し、こ
れに応じて第9図のステツプS8が実行されるか
ら、演奏中であつても楽音の発音態様等を変化さ
せることができる。
しかしてこの通常のモードにおいては、鍵盤を
操作して楽曲を演奏すると、同楽曲に対応する楽
音が、選択した発音態様において順次発音され
る。
操作して楽曲を演奏すると、同楽曲に対応する楽
音が、選択した発音態様において順次発音され
る。
次に、楽譜印刷モードについて説明する。この
場合、演奏に先立ち演奏者がパネル上の操作子を
操作した場合の動作は前記通常のモードにおける
動作と同様である。次いで演奏者がプリントスタ
ートスイツチをオンして楽譜印刷の開始を指令す
ると、プリントスタートレジスタがセツトされる
から、第9図のステツプS2、S3により同プリン
トスタートレジスタの内容の変化が検出され、こ
の結果ステツプS4bを介してステツプS6が実行さ
れる。このステツプS6においては前述したよう
に、楽譜印刷態様を決める各スイツチの状態が対
応する各レジスタに設定され、メモリRAMの
先頭番地のアドレスかポインタP1に設定され、
メモリRAMの先頭番地のアドレスがポインタ
P2に設定され、ポインタP1の内容がレジスタA
に設定され、ポインタP2の内容がレジスタCに
設定され、また転送レジスタ、小節数計数用の小
節カウンタ、プリントエンドレジスタが各々クリ
アされる。
場合、演奏に先立ち演奏者がパネル上の操作子を
操作した場合の動作は前記通常のモードにおける
動作と同様である。次いで演奏者がプリントスタ
ートスイツチをオンして楽譜印刷の開始を指令す
ると、プリントスタートレジスタがセツトされる
から、第9図のステツプS2、S3により同プリン
トスタートレジスタの内容の変化が検出され、こ
の結果ステツプS4bを介してステツプS6が実行さ
れる。このステツプS6においては前述したよう
に、楽譜印刷態様を決める各スイツチの状態が対
応する各レジスタに設定され、メモリRAMの
先頭番地のアドレスかポインタP1に設定され、
メモリRAMの先頭番地のアドレスがポインタ
P2に設定され、ポインタP1の内容がレジスタA
に設定され、ポインタP2の内容がレジスタCに
設定され、また転送レジスタ、小節数計数用の小
節カウンタ、プリントエンドレジスタが各々クリ
アされる。
次に演奏者が鍵操作を開始すると、鍵操作状態
が変化する毎にステツプS5のプログラムKEDW
が実行される。ここで、楽曲の最初の音符に対応
する鍵の押鍵が開始されたとする。この場合、プ
ログラムKEDWの実行が開始され、第10図の
ステツプS11において前記最初の鍵のキーコード
KCすなわち第1小節の最初のキーコードKC1-1
が楽音信号形成回路9へ出力される。次いでステ
ツプS12においてプリントスタートレジスタの状
態が判定される。この場合、プリントスタートレ
ジスタはセツト状態であるから、ステツプS13〜
S16が順次実行される。すなわちこの場合、まず
この時点のテンポカウントTCL、すなわち第1
小節の最初の鍵操作変化タイミングにおけるテン
ポカウントHCL1-1(このテンポカウントTCL1-1
は、演奏開始時の最初の押鍵開始タイミングにお
いてテンポカウンタ8がリセツトされてリズムの
同期がとられるようになつているから零である)
がポインタP1の指す番地すなわちメモリRAM
の先頭番地に記憶され(ステツプS13)、次いで
ポインタP1がインクリメントされ(ステツプ
S14)、次いで前記最初のキーコードKC1-1がポイ
ンタP1の指す番地、すなわちメモリRAMの2
番目の番地に記憶され(ステツプS15)、次いで
ポインタP1がインクリメントされる(ステツプ
S16)。このようにして最初の鍵操作状態変化に
関するイベントデータが記憶される。
が変化する毎にステツプS5のプログラムKEDW
が実行される。ここで、楽曲の最初の音符に対応
する鍵の押鍵が開始されたとする。この場合、プ
ログラムKEDWの実行が開始され、第10図の
ステツプS11において前記最初の鍵のキーコード
KCすなわち第1小節の最初のキーコードKC1-1
が楽音信号形成回路9へ出力される。次いでステ
ツプS12においてプリントスタートレジスタの状
態が判定される。この場合、プリントスタートレ
ジスタはセツト状態であるから、ステツプS13〜
S16が順次実行される。すなわちこの場合、まず
この時点のテンポカウントTCL、すなわち第1
小節の最初の鍵操作変化タイミングにおけるテン
ポカウントHCL1-1(このテンポカウントTCL1-1
は、演奏開始時の最初の押鍵開始タイミングにお
いてテンポカウンタ8がリセツトされてリズムの
同期がとられるようになつているから零である)
がポインタP1の指す番地すなわちメモリRAM
の先頭番地に記憶され(ステツプS13)、次いで
ポインタP1がインクリメントされ(ステツプ
S14)、次いで前記最初のキーコードKC1-1がポイ
ンタP1の指す番地、すなわちメモリRAMの2
番目の番地に記憶され(ステツプS15)、次いで
ポインタP1がインクリメントされる(ステツプ
S16)。このようにして最初の鍵操作状態変化に
関するイベントデータが記憶される。
次に、演奏者が前記最初の音符の鍵から2番目
の音符の鍵に押鍵変更を行なつたとすると、再び
プログラムKEDWが実行される。この場合は、
第10図のステツプS11においてこの2番目の音
符の鍵に対応するキーコードKC1-2が楽音信号形
成回路9へ出力され、またステツプS13において
この押鍵変更タイミングにおけるテンポカウント
TCL、すなわち2番目の鍵操作変化タイミング
におけるテンポカウントTCL1-2がメモリRAM
の3番目の番地に記憶され、またステツプS15
においては前記2番目のキーコードKC1-2がメモ
リRAMの4番目の番地に記憶される。
の音符の鍵に押鍵変更を行なつたとすると、再び
プログラムKEDWが実行される。この場合は、
第10図のステツプS11においてこの2番目の音
符の鍵に対応するキーコードKC1-2が楽音信号形
成回路9へ出力され、またステツプS13において
この押鍵変更タイミングにおけるテンポカウント
TCL、すなわち2番目の鍵操作変化タイミング
におけるテンポカウントTCL1-2がメモリRAM
の3番目の番地に記憶され、またステツプS15
においては前記2番目のキーコードKC1-2がメモ
リRAMの4番目の番地に記憶される。
以下同様にして鍵操作状態が変化する毎に、鍵
操作変化タイミングにおけるイベントデータがメ
モリRAMに順次書き込まれてゆく。したがつ
て鍵操作状態がn回変化した直後のメモリRAM
における各イベントデータの記憶状態は第14
図イのようになる。なおこの場合、図に示すよう
にレジスタAはメモリRAMの先頭番地を、ま
たポインタP1はキーコードKC1-nが記憶された番
地の次の番地を各々指している。
操作変化タイミングにおけるイベントデータがメ
モリRAMに順次書き込まれてゆく。したがつ
て鍵操作状態がn回変化した直後のメモリRAM
における各イベントデータの記憶状態は第14
図イのようになる。なおこの場合、図に示すよう
にレジスタAはメモリRAMの先頭番地を、ま
たポインタP1はキーコードKC1-nが記憶された番
地の次の番地を各々指している。
次に、前記n番目の鍵操作変化タイミングの後
でテンポカウントTCLが値「192」に到達し、こ
の結果割り込みが発生したとすると、第9図のス
テツプS10のプログラムSEDWが実行される。プ
ログラムSEDWの実行が開始されると、第11
図のステツプS17においてプリントエンドレジス
タの状態が判定される。この場合同レジスタはリ
セツト状態であるからステツプS18に進みプリン
トスタートレジスタの状態が判定される。この場
合同レジスタはセツト状態であるから、ステツプ
S19〜S27が順次実行される。すなわちこの場合
は、まずCPU1の各レジスタの内容が待避され
(ステツプS19)、次いでこの時点のテンポカウン
トTCL(このテンポカウントTCL(=192)は第1
小節の小節線タイミングに対応するからTCL1-s
とする。)、すなわち値「192」がポインタP1の指
す番地に記憶され(ステツプS20)、次にポイン
タP1がインクリメントされ(ステツプS21)、次
いでこの時点のキーコードKC(これをキーコード
KC1-sとする)がポインタP1の指す番地に記憶さ
れ(ステツプS22)、次にポインタP1の内容がレ
ジスタBに設定され(ステツプS23)、次いでポ
インタP1がインクリメントされ(ステツプS24)、
次いでテンポカウンタ8がクリアされ(ステツプ
S25)、次に転送レジスタがセツトされ(ステツ
プS26)、次いでCPU1の各レジスタの内容が復
旧される。したがつて、このプログラムSEDW
が実行された直後のメモリRAMにおける各イ
ベントデータの記憶状態は第14図ロのようにな
る。
でテンポカウントTCLが値「192」に到達し、こ
の結果割り込みが発生したとすると、第9図のス
テツプS10のプログラムSEDWが実行される。プ
ログラムSEDWの実行が開始されると、第11
図のステツプS17においてプリントエンドレジス
タの状態が判定される。この場合同レジスタはリ
セツト状態であるからステツプS18に進みプリン
トスタートレジスタの状態が判定される。この場
合同レジスタはセツト状態であるから、ステツプ
S19〜S27が順次実行される。すなわちこの場合
は、まずCPU1の各レジスタの内容が待避され
(ステツプS19)、次いでこの時点のテンポカウン
トTCL(このテンポカウントTCL(=192)は第1
小節の小節線タイミングに対応するからTCL1-s
とする。)、すなわち値「192」がポインタP1の指
す番地に記憶され(ステツプS20)、次にポイン
タP1がインクリメントされ(ステツプS21)、次
いでこの時点のキーコードKC(これをキーコード
KC1-sとする)がポインタP1の指す番地に記憶さ
れ(ステツプS22)、次にポインタP1の内容がレ
ジスタBに設定され(ステツプS23)、次いでポ
インタP1がインクリメントされ(ステツプS24)、
次いでテンポカウンタ8がクリアされ(ステツプ
S25)、次に転送レジスタがセツトされ(ステツ
プS26)、次いでCPU1の各レジスタの内容が復
旧される。したがつて、このプログラムSEDW
が実行された直後のメモリRAMにおける各イ
ベントデータの記憶状態は第14図ロのようにな
る。
ここでCPU1のコントロールが第9図のステ
ツプS2に戻ると、ステツプS2、S3において転送
レジスタがセツト状態に変化したことが検出さ
れ、この結果ステツプS4eを介してステツプS9の
プログラムXFERが実行される。プログラム
XFERの実行が開始されると、第12図のフロー
チヤートが示すようにまずステツプS28において
転送レジスタがリセツトされ、次いでステツプ
S29において小節カウンタがインクリメントされ
(この場合は「0」から「1」になる。)、次いで
ステツプS30において小節カウンタの値が「2」
以上であるか否か判定される。この場合、同小節
カウンタの値は「1」であるから、ステツプS31
に進み次のことが行なわれる。すなわち、まずレ
ジスタBの値とレジスタAの値との差と、レジス
タCの値との加算を行ない、この加算結果をレジ
スタDに設定し、次いでメモリRAMにおける
レジスタAの値が指す番地からレジスタBの値が
指す番地までの各番地の内容を、メモリRAM
におけるレジスタCの値が指す番地からレジスタ
Dの値が指す番地までの各番地へ転送する。この
結果メモリRAM、RAMの各イベントデー
タの記憶状態は第15図イのようになる。次に、
この第12図のフローチヤートにおけるステツプ
S32においてレジスタDがインクリメントされ、
次いでステツプS33においてレジスタBの値に
「1」を加えた値をレジスタAに設定し、次にス
テツプS34においてレジスタAの値をポインタP1
に設定する。この結果、レジスタA,B,C,D
およびポインタP1が各々指す番地は、第15図
のロのようになる。
ツプS2に戻ると、ステツプS2、S3において転送
レジスタがセツト状態に変化したことが検出さ
れ、この結果ステツプS4eを介してステツプS9の
プログラムXFERが実行される。プログラム
XFERの実行が開始されると、第12図のフロー
チヤートが示すようにまずステツプS28において
転送レジスタがリセツトされ、次いでステツプ
S29において小節カウンタがインクリメントされ
(この場合は「0」から「1」になる。)、次いで
ステツプS30において小節カウンタの値が「2」
以上であるか否か判定される。この場合、同小節
カウンタの値は「1」であるから、ステツプS31
に進み次のことが行なわれる。すなわち、まずレ
ジスタBの値とレジスタAの値との差と、レジス
タCの値との加算を行ない、この加算結果をレジ
スタDに設定し、次いでメモリRAMにおける
レジスタAの値が指す番地からレジスタBの値が
指す番地までの各番地の内容を、メモリRAM
におけるレジスタCの値が指す番地からレジスタ
Dの値が指す番地までの各番地へ転送する。この
結果メモリRAM、RAMの各イベントデー
タの記憶状態は第15図イのようになる。次に、
この第12図のフローチヤートにおけるステツプ
S32においてレジスタDがインクリメントされ、
次いでステツプS33においてレジスタBの値に
「1」を加えた値をレジスタAに設定し、次にス
テツプS34においてレジスタAの値をポインタP1
に設定する。この結果、レジスタA,B,C,D
およびポインタP1が各々指す番地は、第15図
のロのようになる。
さらに、演奏者が鍵操作を続けると上述した場
合と同様に鍵操作状態が変化する毎にプログラム
KEDWが実行され、メモリRAMにおけるポイ
ンタP1が指す各番地にイベントデータが順次記
憶されてゆく。そして2小節目に対応する期間に
おいてn回(この値nは1小節目の鍵操作変化数
nと等しいとは限らない。)の鍵操作変化があつ
た後テンポカウントTCLが再び192に到達し、こ
の結果プログラムSEDWが実行されたとすると、
この時点におけるメモリRAM、RAMの各
イベントデータの記憶状態およびレジスタA,
B,C,Dが指す番地は第15図ハのようにな
る。なおこの場合、前記プログラムSEDWが実
行された時に転送レジスタがセツトされている。
合と同様に鍵操作状態が変化する毎にプログラム
KEDWが実行され、メモリRAMにおけるポイ
ンタP1が指す各番地にイベントデータが順次記
憶されてゆく。そして2小節目に対応する期間に
おいてn回(この値nは1小節目の鍵操作変化数
nと等しいとは限らない。)の鍵操作変化があつ
た後テンポカウントTCLが再び192に到達し、こ
の結果プログラムSEDWが実行されたとすると、
この時点におけるメモリRAM、RAMの各
イベントデータの記憶状態およびレジスタA,
B,C,Dが指す番地は第15図ハのようにな
る。なおこの場合、前記プログラムSEDWが実
行された時に転送レジスタがセツトされている。
ここでCPU1のコントロールが第9図のステ
ツプS2に戻ると、前述した場合と同様にしてプ
ログラムXFERが実行される。プログラムXFER
が開始されると、転送レジスタがリセツトされ
(ステツプS28)、次いで小節カウンタがインクリ
メントされ(ステツプS29)、次いで小節カウン
タの値が「2」以上であるか否か判定される(ス
テツプS30)。この場合は、小節カウンタの値が
「2」となつているからステツプS35へ進み、次
のことが行なわれる。すなわち、まずレジスタB
の値とレジスタAの値との差と、レジスタDの値
との加算を行ない、この加算結果をレジスタEに
設定し、次いでメモリRAMにおけるレジスタ
Aの値が指す番地からレジスタBの値が指す番地
までの各番地の内容を、メモリRAMにおける
レジスタDの値が指す番地からレジスタEの値が
指す番地までの各番地へ転送する。この結果、メ
モリRAM、RAMの各イベントデータの記
憶状態、および各レジスタA,B,C,D,Eの
値が指す番地は第15図ニのようになる。次にこ
のステツプS35が終了すると、ステツプS36に進
みここでプログラムCORRが実行されてメモリ
RAMに記憶されている楽譜データ(前記各イ
ベントデータの集合)の補正が行なわれる。
ツプS2に戻ると、前述した場合と同様にしてプ
ログラムXFERが実行される。プログラムXFER
が開始されると、転送レジスタがリセツトされ
(ステツプS28)、次いで小節カウンタがインクリ
メントされ(ステツプS29)、次いで小節カウン
タの値が「2」以上であるか否か判定される(ス
テツプS30)。この場合は、小節カウンタの値が
「2」となつているからステツプS35へ進み、次
のことが行なわれる。すなわち、まずレジスタB
の値とレジスタAの値との差と、レジスタDの値
との加算を行ない、この加算結果をレジスタEに
設定し、次いでメモリRAMにおけるレジスタ
Aの値が指す番地からレジスタBの値が指す番地
までの各番地の内容を、メモリRAMにおける
レジスタDの値が指す番地からレジスタEの値が
指す番地までの各番地へ転送する。この結果、メ
モリRAM、RAMの各イベントデータの記
憶状態、および各レジスタA,B,C,D,Eの
値が指す番地は第15図ニのようになる。次にこ
のステツプS35が終了すると、ステツプS36に進
みここでプログラムCORRが実行されてメモリ
RAMに記憶されている楽譜データ(前記各イ
ベントデータの集合)の補正が行なわれる。
以下、このプログラムCORRの処理過程を、第
2図に示したような鍵操作態様(これを態様と
呼ぶ)と、第3図に示したような鍵操作態様(こ
れを態様と呼ぶ)と、第4図または第6図に示
したような鍵操作態様(これを態様と呼ぶ)
と、第8図に示したような鍵操作態様(これを態
様と呼ぶ)と、第5図または第7図に示したよ
うな鍵操作態様(これを態様と呼ぶ)とに各々
分けて説明する。
2図に示したような鍵操作態様(これを態様と
呼ぶ)と、第3図に示したような鍵操作態様(こ
れを態様と呼ぶ)と、第4図または第6図に示
したような鍵操作態様(これを態様と呼ぶ)
と、第8図に示したような鍵操作態様(これを態
様と呼ぶ)と、第5図または第7図に示したよ
うな鍵操作態様(これを態様と呼ぶ)とに各々
分けて説明する。
まず態様から説明する。この態様は第16
図イに鍵操作変化タイミングを示すように、例え
ば小節線タイミングts直前の期間l(この場合、
この期間lはテンポクロツクの12カウント分の時
間である)内における時刻t1において、C3鍵から
D3鍵へ押鍵変更が行なわれ、また前記タイミン
グtsから期間lを経過した以後の時刻t2において
このD3鍵からE3鍵への押鍵変更がなされたよう
な場合である。この場合時刻t1のイベントデータ
は同時刻t1におけるテンポカウントTCL1-nとD3
鍵に対応するキーコードKC1-nであり、またタイ
ミングtsのイベントデータは同タイミングtsにお
けるテンポカウントTCL1-s(=192)とD3鍵に対
応するキーコードKC1-sであり、また時刻t2のイ
ベントデータは同時刻t2におけるテンポカウント
TCL2-1とE3鍵に対応するキーコードKC2-1であ
る。そしてこの場合、メモリRAMにおける各
イベントデータの記憶状態および各レジスタC,
D,Eの指す番地は第15図ニにも示したように
第16図ロのようになつている。ここで第13図
に示すプログラムCORRの実行が開始されると、
まずステツプS50においてキーコードKC1-nとキ
ーコードKC1-sとが等しくかつテンポカウント
TCL1-sとテンポカウントTCL1-nとの差が期間l
すなわち値「12」以下であるという条件が成立し
ているか否かが判定される(ただし、このフロー
チヤートにおいてサフイツクスiを「1」とし、
サフイツクスjを「2」としている)。この場合
は上記条件が成立しているからステツプS15に進
み、ここでレジスタDの値が指す番地からレジス
タEの値が指す番地までの各番地のイベントデー
タが、レジスタDの値から「2」を減じた値が指
す番地からレジスタEの値から「2」を減じた値
が指す番地までの各番地に転送される(すなわち
2番地分シフトされる)。次いでステツプS52に
おいて、レジスタDの値から「4」を減じた値が
レジスタXに設定され、またレジスタEの値から
「2」を減じた値がレジスタYに設定される。こ
の結果、メモリRAMにおける各イベントデー
タの記憶状態およびレジスタC,X,Yが指す番
地は、第16図ハのようになる。ここでレジスタ
Cは現小節(これから印刷する小節)の楽譜デー
タが記憶されている領域の先頭アドレスを指すた
めのレジスタであり、またレジスタXは次小節の
楽譜データが記憶されている領域の先頭アドレス
を指すためのレジスタであるから、前記ステツプ
S50〜S52の処理によつて第16図イにおける小
節線タイミングtsが時刻t1に補正されたことにな
る。そしてこのプログラムCORRが終了すると、
第12図におけるステツプS37に進み、前記補正
によつて伸縮された現小節の時間長さが標準の時
間長さになるように調整される。すなわちこの場
合、現小節の長さは第16図イにおける時刻t1〜
時刻tsに相当する時間だけ短縮されたことになる
から、この現小節の長さが標準長さ(テンポクロ
ツクの192カウント分の長さ)となるように現小
節内の各音符、休符の符長を調整する。またこの
ステツプS37においては各音符、休符の符長のま
るめ、あるいは付点8分音符に16分音符が後続し
た場合はこれらをまとめて4分音符であるとみな
す等の処理が行なわれる。この調整が終了する
と、ステツプS38に進んでプリントエンドレジス
タの状態が判定される。この場合同レジスタはリ
セツト状態であるからステツプS39に進む。ステ
ツプS39においてはメモリRAMにおける前記
レジスタCの値が指す番地からレジスタXの値が
指す番地までの各番地のデータ、すなわち現小節
の楽譜データと次小節の最初のテンポカウントが
プリンタ制御回路11へ出力され、これによつて
現小節の楽譜が印刷される。なおこの場合次小節
の最初のテンポカウントをプリンタ制御回路11
へ出力する理由は、現小節の最後の音符または休
符の符長を決定するためにこのテンポカウントが
必要となるからである。次にこのステツプS39が
終了するとステツプS40に進み、レジスタCの内
容がレジスタXの値に更新され、またレジスタD
の内容がレジスタYの値に「1」を加算した値に
更新されて次小節の楽譜データの処理に対する準
備がなされる。なおこれらレジスタC,Dの値が
指す番地は第16図ハにおいてC′,D′として各々
示してある。
図イに鍵操作変化タイミングを示すように、例え
ば小節線タイミングts直前の期間l(この場合、
この期間lはテンポクロツクの12カウント分の時
間である)内における時刻t1において、C3鍵から
D3鍵へ押鍵変更が行なわれ、また前記タイミン
グtsから期間lを経過した以後の時刻t2において
このD3鍵からE3鍵への押鍵変更がなされたよう
な場合である。この場合時刻t1のイベントデータ
は同時刻t1におけるテンポカウントTCL1-nとD3
鍵に対応するキーコードKC1-nであり、またタイ
ミングtsのイベントデータは同タイミングtsにお
けるテンポカウントTCL1-s(=192)とD3鍵に対
応するキーコードKC1-sであり、また時刻t2のイ
ベントデータは同時刻t2におけるテンポカウント
TCL2-1とE3鍵に対応するキーコードKC2-1であ
る。そしてこの場合、メモリRAMにおける各
イベントデータの記憶状態および各レジスタC,
D,Eの指す番地は第15図ニにも示したように
第16図ロのようになつている。ここで第13図
に示すプログラムCORRの実行が開始されると、
まずステツプS50においてキーコードKC1-nとキ
ーコードKC1-sとが等しくかつテンポカウント
TCL1-sとテンポカウントTCL1-nとの差が期間l
すなわち値「12」以下であるという条件が成立し
ているか否かが判定される(ただし、このフロー
チヤートにおいてサフイツクスiを「1」とし、
サフイツクスjを「2」としている)。この場合
は上記条件が成立しているからステツプS15に進
み、ここでレジスタDの値が指す番地からレジス
タEの値が指す番地までの各番地のイベントデー
タが、レジスタDの値から「2」を減じた値が指
す番地からレジスタEの値から「2」を減じた値
が指す番地までの各番地に転送される(すなわち
2番地分シフトされる)。次いでステツプS52に
おいて、レジスタDの値から「4」を減じた値が
レジスタXに設定され、またレジスタEの値から
「2」を減じた値がレジスタYに設定される。こ
の結果、メモリRAMにおける各イベントデー
タの記憶状態およびレジスタC,X,Yが指す番
地は、第16図ハのようになる。ここでレジスタ
Cは現小節(これから印刷する小節)の楽譜デー
タが記憶されている領域の先頭アドレスを指すた
めのレジスタであり、またレジスタXは次小節の
楽譜データが記憶されている領域の先頭アドレス
を指すためのレジスタであるから、前記ステツプ
S50〜S52の処理によつて第16図イにおける小
節線タイミングtsが時刻t1に補正されたことにな
る。そしてこのプログラムCORRが終了すると、
第12図におけるステツプS37に進み、前記補正
によつて伸縮された現小節の時間長さが標準の時
間長さになるように調整される。すなわちこの場
合、現小節の長さは第16図イにおける時刻t1〜
時刻tsに相当する時間だけ短縮されたことになる
から、この現小節の長さが標準長さ(テンポクロ
ツクの192カウント分の長さ)となるように現小
節内の各音符、休符の符長を調整する。またこの
ステツプS37においては各音符、休符の符長のま
るめ、あるいは付点8分音符に16分音符が後続し
た場合はこれらをまとめて4分音符であるとみな
す等の処理が行なわれる。この調整が終了する
と、ステツプS38に進んでプリントエンドレジス
タの状態が判定される。この場合同レジスタはリ
セツト状態であるからステツプS39に進む。ステ
ツプS39においてはメモリRAMにおける前記
レジスタCの値が指す番地からレジスタXの値が
指す番地までの各番地のデータ、すなわち現小節
の楽譜データと次小節の最初のテンポカウントが
プリンタ制御回路11へ出力され、これによつて
現小節の楽譜が印刷される。なおこの場合次小節
の最初のテンポカウントをプリンタ制御回路11
へ出力する理由は、現小節の最後の音符または休
符の符長を決定するためにこのテンポカウントが
必要となるからである。次にこのステツプS39が
終了するとステツプS40に進み、レジスタCの内
容がレジスタXの値に更新され、またレジスタD
の内容がレジスタYの値に「1」を加算した値に
更新されて次小節の楽譜データの処理に対する準
備がなされる。なおこれらレジスタC,Dの値が
指す番地は第16図ハにおいてC′,D′として各々
示してある。
次に態様における楽譜データの補正について
説明する。この態様は第17図イにタイミング
を示すように、例えば時刻t1においてB3鍵からC3
鍵への押鍵変更が行なわれ、小節線タイミングts
直後の期間l内においてC3鍵からD3鍵への押鍵
変更がなされたような場合である。この場合時刻
t1のイベントデータは同時刻t1におけるテンポカ
ウントTCL1-nとC3鍵に対応するキーコード
KC1-oであり、またタイミングtsのイベントデー
タは同タイミングtsにおけるテンポカウンタ
TCL1-s(=192)とC3鍵に対応するキーコード
KC1-sであり、また時刻t2のイベントデータは同
時刻t2におけるテンポカウントTCL2-1とD3鍵に
対応するキーコードKC2-1である。またこの場
合、メモリRAMにおける各イベントデータの
記憶状および各レジスタC,D,Eの指す番地は
第16図ロのようになつている。ここで第13図
に示すプログラムCORRの実行が開始されると、
ステツプS50の判定が行なわれる。この場合はテ
ンポカウントTCL1-sとテンポカウントTCL1-oと
の差は期間lに相当する値「12」より大きいか
ら、ステツプS53に進む。このステツプS53にお
いては、キーコードKC1-oとキーコードKC1-sと
が等しくかつテンポカウントTCL2-1が期間lに
相当する値「12」以下であるという条件が成立し
ているか否かが判定される。この場合は、上記条
件が成立するから、ステツプS54に進む。ステツ
プS54においては、レジスタDの値が指す番地か
らレジスタEの値が指す番地までの各番地のイベ
ントデータが、レジスタDの値から「2」を減じ
た値が指す番地からレジスタEの値から「2」を
減じた値が指す番地までの各番地に転送される。
次いでステツプS55においてキーコードKC2-1が
「0」でありかつテンポカウントTCL2-2とテンポ
カウントTCL2-1との差が値「12」以下であると
いう条件が成立するか否かが判定される。この場
合は上記条件は成立しないからステツプS56に進
み、ここでレジスタDの値から「2」を減じた値
がレジスタXに設定され、またレジスタEの値か
ら「2」を減じた値がレジスタYに設定される。
以上の結果、この時点におけるメモリRAMの
各イベントデータの記憶状態およびレジスタC,
X,Yが指す番地は第17図ハのようになる。す
なわちこの場合は、小節線タイミングtsが時刻t2
に補正されたことになる。なお、この補正が行な
われた後の楽譜データの処理過程は前記態様の
場合と同様である。
説明する。この態様は第17図イにタイミング
を示すように、例えば時刻t1においてB3鍵からC3
鍵への押鍵変更が行なわれ、小節線タイミングts
直後の期間l内においてC3鍵からD3鍵への押鍵
変更がなされたような場合である。この場合時刻
t1のイベントデータは同時刻t1におけるテンポカ
ウントTCL1-nとC3鍵に対応するキーコード
KC1-oであり、またタイミングtsのイベントデー
タは同タイミングtsにおけるテンポカウンタ
TCL1-s(=192)とC3鍵に対応するキーコード
KC1-sであり、また時刻t2のイベントデータは同
時刻t2におけるテンポカウントTCL2-1とD3鍵に
対応するキーコードKC2-1である。またこの場
合、メモリRAMにおける各イベントデータの
記憶状および各レジスタC,D,Eの指す番地は
第16図ロのようになつている。ここで第13図
に示すプログラムCORRの実行が開始されると、
ステツプS50の判定が行なわれる。この場合はテ
ンポカウントTCL1-sとテンポカウントTCL1-oと
の差は期間lに相当する値「12」より大きいか
ら、ステツプS53に進む。このステツプS53にお
いては、キーコードKC1-oとキーコードKC1-sと
が等しくかつテンポカウントTCL2-1が期間lに
相当する値「12」以下であるという条件が成立し
ているか否かが判定される。この場合は、上記条
件が成立するから、ステツプS54に進む。ステツ
プS54においては、レジスタDの値が指す番地か
らレジスタEの値が指す番地までの各番地のイベ
ントデータが、レジスタDの値から「2」を減じ
た値が指す番地からレジスタEの値から「2」を
減じた値が指す番地までの各番地に転送される。
次いでステツプS55においてキーコードKC2-1が
「0」でありかつテンポカウントTCL2-2とテンポ
カウントTCL2-1との差が値「12」以下であると
いう条件が成立するか否かが判定される。この場
合は上記条件は成立しないからステツプS56に進
み、ここでレジスタDの値から「2」を減じた値
がレジスタXに設定され、またレジスタEの値か
ら「2」を減じた値がレジスタYに設定される。
以上の結果、この時点におけるメモリRAMの
各イベントデータの記憶状態およびレジスタC,
X,Yが指す番地は第17図ハのようになる。す
なわちこの場合は、小節線タイミングtsが時刻t2
に補正されたことになる。なお、この補正が行な
われた後の楽譜データの処理過程は前記態様の
場合と同様である。
次に態様における楽譜データの補正について
説明する。この態様は、第18図イにタイミン
グを示すように、例えば時刻t1においてB3鍵から
C3鍵への押鍵変更が行なわれ、また小節線タイ
ミングtsにおいてC3鍵が離鍵されて無押鍵状態と
なり、またこのタイミングts直後の期間l内にお
ける時刻t2においてD3鍵の押鍵が開始されたよう
な場合である。この場合のメモリRAMのイベ
ントデータの記憶状態は第18図ロのようになつ
ている。ここで、第13図に示すプログラム
CORRの実行が開始されると、ステツプS50およ
びステツプS53において共に条件が成立しないた
めステツプS58に進み、ここでキーコードKC1-s
が「0」であり(すなわち休符のキーコードであ
り)かつテンポカウントTCL2-1が値「12」以下
であるという条件が成立しているか否かが判定さ
れる。この場合は、上記条件が成立するから、ス
テツプS59に進む。ステツプS59においては、レ
ジスタDの値がレジスタXに設定され、またレジ
スタEの値がレジスタYに設定される。以上の結
果、メモリRAMの各イベントデータの記憶状
態およびレジスタC,X,Yが指す番地は第18
図ハのようになる。すなわちこの場合は、小節線
タイミングtsが時刻t2に補正されることになる。
なおこの補正が行なわれた後の楽譜データの処理
過程は前記態様の場合と同様である。
説明する。この態様は、第18図イにタイミン
グを示すように、例えば時刻t1においてB3鍵から
C3鍵への押鍵変更が行なわれ、また小節線タイ
ミングtsにおいてC3鍵が離鍵されて無押鍵状態と
なり、またこのタイミングts直後の期間l内にお
ける時刻t2においてD3鍵の押鍵が開始されたよう
な場合である。この場合のメモリRAMのイベ
ントデータの記憶状態は第18図ロのようになつ
ている。ここで、第13図に示すプログラム
CORRの実行が開始されると、ステツプS50およ
びステツプS53において共に条件が成立しないた
めステツプS58に進み、ここでキーコードKC1-s
が「0」であり(すなわち休符のキーコードであ
り)かつテンポカウントTCL2-1が値「12」以下
であるという条件が成立しているか否かが判定さ
れる。この場合は、上記条件が成立するから、ス
テツプS59に進む。ステツプS59においては、レ
ジスタDの値がレジスタXに設定され、またレジ
スタEの値がレジスタYに設定される。以上の結
果、メモリRAMの各イベントデータの記憶状
態およびレジスタC,X,Yが指す番地は第18
図ハのようになる。すなわちこの場合は、小節線
タイミングtsが時刻t2に補正されることになる。
なおこの補正が行なわれた後の楽譜データの処理
過程は前記態様の場合と同様である。
次に態様について説明する。この態様は第
19図イにタイミングを示すように、例えば時刻
t1においてB3鍵からC3鍵への押鍵変更が行なわ
れ、また小節線タイミングts直後の期間l内にお
ける時刻t2においてC3鍵が離鍵されて無押状態と
なり、またこの時刻t2直後の期間l内における時
刻t3においてD3鍵の押鍵が開始されたような場合
である。この場合メモリRAMにおける各イベ
ントデータの記憶状態は第19図ロのようになつ
ている。ここで第13図に示すプログラムCORR
の実行が開始されると、前記態様の場合と同様
にステツプS50→ステツプS53→ステツプS54→ス
テツプS55と進み、このステツプS55においてキ
ーコードKC2-1が「0」であり(休符であり)か
つテンポカウントTCL2-2とテンポカウント
TCL2-1との差が値「12」以下であるという条件
が成立するか否か判定される。この場合同条件は
成立するからステツプS57へ進み、ここでレジス
タDの値がレジスタXに設定され、またレジスタ
Eの値から「2」を減じた値がレジスタYに設定
される。以上の結果、メモリRAMにおける各
イベントデータの記憶状態およびレジスタC,
X,Yが指す番地は第19図ハのようになる。す
なわちこの場合は、小節線タイミングtsが時刻t3
に補正されたことになる。なおこの補正が行なわ
れた後の楽譜データの処理過程は前記態様の場
合と同様である。
19図イにタイミングを示すように、例えば時刻
t1においてB3鍵からC3鍵への押鍵変更が行なわ
れ、また小節線タイミングts直後の期間l内にお
ける時刻t2においてC3鍵が離鍵されて無押状態と
なり、またこの時刻t2直後の期間l内における時
刻t3においてD3鍵の押鍵が開始されたような場合
である。この場合メモリRAMにおける各イベ
ントデータの記憶状態は第19図ロのようになつ
ている。ここで第13図に示すプログラムCORR
の実行が開始されると、前記態様の場合と同様
にステツプS50→ステツプS53→ステツプS54→ス
テツプS55と進み、このステツプS55においてキ
ーコードKC2-1が「0」であり(休符であり)か
つテンポカウントTCL2-2とテンポカウント
TCL2-1との差が値「12」以下であるという条件
が成立するか否か判定される。この場合同条件は
成立するからステツプS57へ進み、ここでレジス
タDの値がレジスタXに設定され、またレジスタ
Eの値から「2」を減じた値がレジスタYに設定
される。以上の結果、メモリRAMにおける各
イベントデータの記憶状態およびレジスタC,
X,Yが指す番地は第19図ハのようになる。す
なわちこの場合は、小節線タイミングtsが時刻t3
に補正されたことになる。なおこの補正が行なわ
れた後の楽譜データの処理過程は前記態様の場
合と同様である。
次に態様について説明する。この態様は第
20図イにタイミングを示すように、例えば時刻
t1においてB3鍵からC3鍵への押鍵の変更が行なわ
れ(または無押鍵状態となり)、また時刻t2にお
いてC3鍵からD3鍵への押鍵の変更が行なわれ
(または無押鍵状態からD3鍵の押鍵が開始され)、
かつ時刻t1は小節線タイミングtsより期間l以上
前にあり、また時刻t2は同小節線タイミングtsよ
り期間l以上後にあるような場合である。この場
合、メモリRAMにおける各イベントデータの
記憶状態は第20図ロのようになつている。ここ
で第13図に示すプログラムCORRの実行が開始
されると、ステツプS50およびステツプS53の条
件は共に成立しないためにステツプS58に進み、
ここでキーコードKC1-sが「0」でありかつテン
ポカウントTCL2-1が値「12」以下であるという
条件が成立するか否か判定される。この場合は同
条件は成立しないから、ステツプS60に進み、こ
こでレジスタDの値から「2」を減じた値がレジ
スタXに設定され、またレジスタEの値がレジス
タYに設定される。以上の結果、メモリRAM
における各イベントデータの記憶状態およびレジ
スタC,X,Yが指す番地は第20図ハのように
なる。すなわちこの場合は小節線タイミングtsの
補正は行なわれない。なおこのプログラムCORR
が終了した後の楽譜データの処理過程は前記態様
の場合と同様である。
20図イにタイミングを示すように、例えば時刻
t1においてB3鍵からC3鍵への押鍵の変更が行なわ
れ(または無押鍵状態となり)、また時刻t2にお
いてC3鍵からD3鍵への押鍵の変更が行なわれ
(または無押鍵状態からD3鍵の押鍵が開始され)、
かつ時刻t1は小節線タイミングtsより期間l以上
前にあり、また時刻t2は同小節線タイミングtsよ
り期間l以上後にあるような場合である。この場
合、メモリRAMにおける各イベントデータの
記憶状態は第20図ロのようになつている。ここ
で第13図に示すプログラムCORRの実行が開始
されると、ステツプS50およびステツプS53の条
件は共に成立しないためにステツプS58に進み、
ここでキーコードKC1-sが「0」でありかつテン
ポカウントTCL2-1が値「12」以下であるという
条件が成立するか否か判定される。この場合は同
条件は成立しないから、ステツプS60に進み、こ
こでレジスタDの値から「2」を減じた値がレジ
スタXに設定され、またレジスタEの値がレジス
タYに設定される。以上の結果、メモリRAM
における各イベントデータの記憶状態およびレジ
スタC,X,Yが指す番地は第20図ハのように
なる。すなわちこの場合は小節線タイミングtsの
補正は行なわれない。なおこのプログラムCORR
が終了した後の楽譜データの処理過程は前記態様
の場合と同様である。
以上が楽譜印刷モードにおける動作である。
次に楽譜印刷モードにおいて演奏者がプリント
スタートスイツチをオフして楽譜印刷を終了させ
る場合について説明する。
スタートスイツチをオフして楽譜印刷を終了させ
る場合について説明する。
この場合は、プリントスタートスイツチがオフ
されることによつてプリントスタートレジスタが
リセツト状態に変化するため第9図のステツプ
S7においてプリントエンドレジスタがセツトさ
れる。なおこのステツプS7は演奏者が予め決め
られた所定時間以上鍵操作を行なわなかつた場合
においても実行される。そしてこのプリントエン
ドレジスタがセツトされた後の最初の小節線タイ
ミングにおいてプログラムSEDWが実行される
と、第11図ののフローチヤートにおいてステツ
プS17→ステツプS19→ステツプS20→……→ステ
ツプS27の順に処理が行なわれ同小節線タイミン
グにおけるイベントデータが記憶されると共に転
送レジスタがセツトされる。この結果、第9図の
ステツプS9におけるプログラムXFERが実行さ
れる。このプログラムXFERが実行されると、第
12図においてステツプS28、S29、S30、S35、
S36、S37の順に進み、ステツプS38においてプリ
ントエンドレジスタの状態が判定される。この場
合同レジスタはセツト状態であるからステツプ
S41に進む。このステツプS41においては、レジ
スタCの値が指す番地からレジスタYの値が指す
番地までの各番地のイベントデータがプリンタ制
御回路11へ出力されて最終小節の楽譜が印刷さ
れ、次いでステツプS42においてプリントエンド
レジスタがリセツトされ、次いでステツプS43に
おいて楽譜印刷関係の全てのレジスタ、ポインタ
等が初期化される。
されることによつてプリントスタートレジスタが
リセツト状態に変化するため第9図のステツプ
S7においてプリントエンドレジスタがセツトさ
れる。なおこのステツプS7は演奏者が予め決め
られた所定時間以上鍵操作を行なわなかつた場合
においても実行される。そしてこのプリントエン
ドレジスタがセツトされた後の最初の小節線タイ
ミングにおいてプログラムSEDWが実行される
と、第11図ののフローチヤートにおいてステツ
プS17→ステツプS19→ステツプS20→……→ステ
ツプS27の順に処理が行なわれ同小節線タイミン
グにおけるイベントデータが記憶されると共に転
送レジスタがセツトされる。この結果、第9図の
ステツプS9におけるプログラムXFERが実行さ
れる。このプログラムXFERが実行されると、第
12図においてステツプS28、S29、S30、S35、
S36、S37の順に進み、ステツプS38においてプリ
ントエンドレジスタの状態が判定される。この場
合同レジスタはセツト状態であるからステツプ
S41に進む。このステツプS41においては、レジ
スタCの値が指す番地からレジスタYの値が指す
番地までの各番地のイベントデータがプリンタ制
御回路11へ出力されて最終小節の楽譜が印刷さ
れ、次いでステツプS42においてプリントエンド
レジスタがリセツトされ、次いでステツプS43に
おいて楽譜印刷関係の全てのレジスタ、ポインタ
等が初期化される。
以上がプリントスタートスイツチをオフした場
合の動作である。
合の動作である。
なお、この実施例において自動演奏を行なう場
合は、メモリRAMの各イベントデータを先頭
のものから順次読み出し、読み出されたキーコー
ドKCを、読み出されたテンポカウントTCLに応
じた時間だけ楽音信号形成回路9へ出力すればよ
い。
合は、メモリRAMの各イベントデータを先頭
のものから順次読み出し、読み出されたキーコー
ドKCを、読み出されたテンポカウントTCLに応
じた時間だけ楽音信号形成回路9へ出力すればよ
い。
以上の説明から明らかなようにこの発明による
楽譜データの補正方法によれば、小節線タイミン
グが音符に含まれかつこの小節線タイミングと同
小節線タイミングの直前または直後にある音符変
化タイミングとの時間差が所定テンポ周期より短
かい場合は前記音符変化タイミングを小節線タイ
ミングとみなす一方、小節線タイミングが休符に
含まれかつこの小節線タイミングと同小節線タイ
ミングの直後にある音符開始タイミングとの時間
差が前記所定テンポ周期より短かい場合は前記音
符開始タイミングを小節線タイミングとみなすよ
うにしたので、この方法によつて補正された楽譜
データを用いて楽譜を印刷すれば、演奏者が小節
線タイミングの前後において符長誤差のある(す
なわち未熟な)演奏を行なつたとしても正しい楽
譜を印刷することが可能になる。またこの方法に
より補正された楽譜データを用いて自動演奏を行
なうようにすればこの楽譜データはテンポクロツ
クに完全に同期しているから、自動リズム装置を
付加する場合、同装置のタイミング制御が簡単に
なり極めて好都合であり、また他の楽器と合奏す
る場合、同楽器の演奏テンポを合わせることが極
めて容易になる。
楽譜データの補正方法によれば、小節線タイミン
グが音符に含まれかつこの小節線タイミングと同
小節線タイミングの直前または直後にある音符変
化タイミングとの時間差が所定テンポ周期より短
かい場合は前記音符変化タイミングを小節線タイ
ミングとみなす一方、小節線タイミングが休符に
含まれかつこの小節線タイミングと同小節線タイ
ミングの直後にある音符開始タイミングとの時間
差が前記所定テンポ周期より短かい場合は前記音
符開始タイミングを小節線タイミングとみなすよ
うにしたので、この方法によつて補正された楽譜
データを用いて楽譜を印刷すれば、演奏者が小節
線タイミングの前後において符長誤差のある(す
なわち未熟な)演奏を行なつたとしても正しい楽
譜を印刷することが可能になる。またこの方法に
より補正された楽譜データを用いて自動演奏を行
なうようにすればこの楽譜データはテンポクロツ
クに完全に同期しているから、自動リズム装置を
付加する場合、同装置のタイミング制御が簡単に
なり極めて好都合であり、また他の楽器と合奏す
る場合、同楽器の演奏テンポを合わせることが極
めて容易になる。
第1図はこの発明を電子オルガンに適用した場
合の一実施例の構成を示すブロツク図、第2図な
いし第4図はこの発明による楽譜データの補正方
法の原理を説明するためのタイムチヤート、第5
図ないし第8図は同原理を適用して楽譜データを
補正した場合の他の例を示すタイムチヤート、第
9図は第1図に示した実施例におけるCPU1の
主ルーチンおよび割込ルーチンのフローチヤー
ト、第10図は前記主ルーチンにおけるプログラ
ムKEDWのフローチヤート、第11図は前記割
込ルーチンにおけるプログラムSEDWのフロー
チヤート、第12図は前記主ルーチンにおけるプ
ログラムXFERのフローチヤート、第13図は前
記プログラムXFERにおけるプログラムCORRの
フローチヤート、第14図は前記プログラム
KEDWの動作を説明するためのイベントデータ
の記憶状態を示す図、第15図は前記プログラム
XFERの動作を説明するためのイベントデータの
記憶状態を示す図、第16図ないし第20図は前
記プログラムCORRの態様ないし態様におけ
る各動作を説明するための図である。 1……中央処理装置(CPU)、2……プログラ
ムメモリ、3……ワーキングメモリ、4……キー
スイツチ回路、6……操作子スイツチ回路、7…
…バツフアメモリ、8……テンポカウンタ、9…
…楽音信号形成回路(TG)、11……プリンタ
制御回路(PC)。
合の一実施例の構成を示すブロツク図、第2図な
いし第4図はこの発明による楽譜データの補正方
法の原理を説明するためのタイムチヤート、第5
図ないし第8図は同原理を適用して楽譜データを
補正した場合の他の例を示すタイムチヤート、第
9図は第1図に示した実施例におけるCPU1の
主ルーチンおよび割込ルーチンのフローチヤー
ト、第10図は前記主ルーチンにおけるプログラ
ムKEDWのフローチヤート、第11図は前記割
込ルーチンにおけるプログラムSEDWのフロー
チヤート、第12図は前記主ルーチンにおけるプ
ログラムXFERのフローチヤート、第13図は前
記プログラムXFERにおけるプログラムCORRの
フローチヤート、第14図は前記プログラム
KEDWの動作を説明するためのイベントデータ
の記憶状態を示す図、第15図は前記プログラム
XFERの動作を説明するためのイベントデータの
記憶状態を示す図、第16図ないし第20図は前
記プログラムCORRの態様ないし態様におけ
る各動作を説明するための図である。 1……中央処理装置(CPU)、2……プログラ
ムメモリ、3……ワーキングメモリ、4……キー
スイツチ回路、6……操作子スイツチ回路、7…
…バツフアメモリ、8……テンポカウンタ、9…
…楽音信号形成回路(TG)、11……プリンタ
制御回路(PC)。
Claims (1)
- 1 小節線タイミングが音符に含まれかつこの小
節線タイミングと同小節線タイミングの直前また
は直後にある音符変化タイミングとの時間差が所
定テンポ周期より短かい場合は前記音符変化タイ
ミングを小節線タイミングとみなす一方、小節線
タイミングが休符に含まれかつこの小節線タイミ
ングと同小節線タイミングの直後にある音符開始
タイミングとの時間差が前記所定テンポ周期より
短かい場合は前記音符開始タイミングを小節線タ
イミングとみなすようにしたことを特徴とする楽
譜データの補正方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57094363A JPS58211485A (ja) | 1982-06-02 | 1982-06-02 | 楽譜デ−タの補正方法 |
| US06/498,780 US4485716A (en) | 1982-06-02 | 1983-05-27 | Method of processing performance data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57094363A JPS58211485A (ja) | 1982-06-02 | 1982-06-02 | 楽譜デ−タの補正方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58211485A JPS58211485A (ja) | 1983-12-08 |
| JPH0259474B2 true JPH0259474B2 (ja) | 1990-12-12 |
Family
ID=14108218
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57094363A Granted JPS58211485A (ja) | 1982-06-02 | 1982-06-02 | 楽譜デ−タの補正方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4485716A (ja) |
| JP (1) | JPS58211485A (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58211192A (ja) * | 1982-06-02 | 1983-12-08 | ヤマハ株式会社 | 演奏デ−タ処理装置 |
| US4745836A (en) * | 1985-10-18 | 1988-05-24 | Dannenberg Roger B | Method and apparatus for providing coordinated accompaniment for a performance |
| GB8726193D0 (en) * | 1987-11-09 | 1987-12-16 | Art Round Co Ltd | Keyboard & musical notation |
| US5403966A (en) * | 1989-01-04 | 1995-04-04 | Yamaha Corporation | Electronic musical instrument with tone generation control |
| US5129302A (en) * | 1989-08-19 | 1992-07-14 | Roland Corporation | Automatic data-prereading playing apparatus and sound generating unit in an automatic musical playing system |
| US5952597A (en) * | 1996-10-25 | 1999-09-14 | Timewarp Technologies, Ltd. | Method and apparatus for real-time correlation of a performance to a musical score |
| JP2001075565A (ja) | 1999-09-07 | 2001-03-23 | Roland Corp | 電子楽器 |
| JP2001125568A (ja) | 1999-10-28 | 2001-05-11 | Roland Corp | 電子楽器 |
| JP5092148B2 (ja) * | 2007-10-03 | 2012-12-05 | 株式会社河合楽器製作所 | 楽譜編集装置およびプログラム |
| CN113539214B (zh) * | 2020-12-29 | 2024-01-02 | 腾讯科技(深圳)有限公司 | 音频转换方法、音频转换装置及设备 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4402244A (en) * | 1980-06-11 | 1983-09-06 | Nippon Gakki Seizo Kabushiki Kaisha | Automatic performance device with tempo follow-up function |
| JPS57108895A (en) * | 1980-12-25 | 1982-07-07 | Casio Computer Co Ltd | Synchro-starting devide in electronic musical instrument |
| JPS587193A (ja) * | 1981-07-06 | 1983-01-14 | ヤマハ株式会社 | 電子楽器 |
-
1982
- 1982-06-02 JP JP57094363A patent/JPS58211485A/ja active Granted
-
1983
- 1983-05-27 US US06/498,780 patent/US4485716A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US4485716A (en) | 1984-12-04 |
| JPS58211485A (ja) | 1983-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| GB2148575A (en) | Electronic musical instrument | |
| JPH0259474B2 (ja) | ||
| JPH079586B2 (ja) | 電子楽器の自動伴奏装置 | |
| JPH06342290A (ja) | 自動伴奏装置 | |
| JPS61174599A (ja) | 和音進行記憶再生装置 | |
| JP2768233B2 (ja) | 電子楽器 | |
| JPH03242697A (ja) | 電子楽器 | |
| JP4172335B2 (ja) | 自動伴奏生成装置及びプログラム | |
| JP2570562B2 (ja) | 自動演奏装置及び自動伴奏装置 | |
| US5436404A (en) | Auto-play apparatus for generation of accompaniment tones with a controllable tone-up level | |
| JPS61256391A (ja) | 自動演奏装置 | |
| JP2692539B2 (ja) | 自動伴奏装置 | |
| JPH0464073B2 (ja) | ||
| JP2564811B2 (ja) | 演奏記録装置 | |
| JP3210582B2 (ja) | 自動演奏装置および該自動演奏装置を備えた電子楽器 | |
| JP2623175B2 (ja) | 自動演奏装置 | |
| JP2636393B2 (ja) | 自動演奏装置 | |
| JP2606501B2 (ja) | 自動演奏機能付電子楽器 | |
| JPH0320758B2 (ja) | ||
| JP2760398B2 (ja) | 自動演奏装置 | |
| JPH05143075A (ja) | 自動伴奏装置 | |
| JPH0588675A (ja) | 自動伴奏装置 | |
| JPS61289394A (ja) | 電子楽器 | |
| JPH0736450A (ja) | 自動編曲装置 | |
| JPH0151199B2 (ja) |