JP2001324980A - 音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法 - Google Patents

音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法

Info

Publication number
JP2001324980A
JP2001324980A JP2000145489A JP2000145489A JP2001324980A JP 2001324980 A JP2001324980 A JP 2001324980A JP 2000145489 A JP2000145489 A JP 2000145489A JP 2000145489 A JP2000145489 A JP 2000145489A JP 2001324980 A JP2001324980 A JP 2001324980A
Authority
JP
Japan
Prior art keywords
data
performance
sound
address
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.)
Pending
Application number
JP2000145489A
Other languages
English (en)
Inventor
Akira Yoshino
吉野  彰
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.)
Rhythm Watch Co Ltd
Original Assignee
Rhythm Watch Co Ltd
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 Rhythm Watch Co Ltd filed Critical Rhythm Watch Co Ltd
Priority to JP2000145489A priority Critical patent/JP2001324980A/ja
Publication of JP2001324980A publication Critical patent/JP2001324980A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 再生する音データと演奏を制御する演奏デー
タの変更が容易で、かつ安価な音同期演奏制御装置を提
供する。 【解決手段】 曲コードに対応する演奏指定データ領域
に記憶されたページ番号が演奏データメモリ2から制御
部1に読み出され、このページ番号に対応する演奏デー
タ領域に記憶されたメロディ番号が演奏データメモリ2
から制御部1に読み出されて音データ処理部4に出力さ
れ、このメロディ番号に対応した音データが音データメ
モリ3から音データ処理部4に読み出されて音信号に変
換され出力される。さらに、音データ処理部4で音信号
の変換が開始した時点からの経過時間を計時した時刻カ
ウンタの値が、演奏データ領域から所定の順番で読み出
される出力時刻データの値を越えることを条件として、
この出力時刻データに対応するMIDIデータが制御部
1から演奏部12へ出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記録された音デー
タの再生に同期して、演奏装置を制御する演奏制御デー
タを出力する音同期演奏制御装置、および音に同期して
演奏を行う音同期演奏装置、ならびに音に同期して演奏
装置を制御する音同期演奏制御方法に関する。
【0002】
【従来の技術】記録媒体に記録されている楽曲を再生し
ながら、そのメロディ音に合わせて電子楽器などを演奏
させる種々の演奏装置がある。例えばからくり時計にお
ける演奏装置では、所定の時刻を知らせる楽曲を再生し
ながら、そのメロディ音に合わせて人形などを駆動して
棒鈴を打ち鳴らす演奏を行わせることにより、演奏音に
よる聴覚的な装飾感と、人形の動作による視覚的な装飾
感を与えている。
【0003】図17は、CDプレーヤーおよびMIDI
デコーダを備える従来の演奏装置を示すブロック図であ
る。図17において、13はCDプレーヤーを、14は
MIDIデコーダを、15は演奏部を、16および17
は増幅回路を、18および19はスピーカをそれぞれ示
している。
【0004】CDプレーヤー13は、CDに記録された
楽曲などの音データを音信号S9およびS10に再生し
て、増幅回路16および17に出力する。また、CDの
サブコード領域に記録されたMIDIデータを再生した
信号S11をMIDIデコーダ14に出力する。MID
Iデコーダ14は、CDから再生されたMIDIデータ
の信号S11をMIDI規格の信号に変換して演奏部1
5に出力する。演奏部15は、MIDIデコーダ14か
ら入力されたMIDI規格の信号に応じた演奏を行う。
例えば上述のからくり時計においては、入力されたMI
DI規格の信号に応じて人形などの装飾体が駆動され
て、棒鈴などを打ち鳴らす動作が行われる。増幅回路1
6および17は、CDプレーヤー13から入力された音
信号S9およびS10を増幅してスピーカ18および1
9を駆動する。スピーカ18および19は、増幅回路1
6および17で増幅された音信号S9およびS10に駆
動されて、音信号に応じた音を発生する。
【0005】CDに記録された音データは、CDプレー
ヤー13において音信号S9およびS10に再生され、
増幅回路16および17において増幅され、スピーカ1
8および19において音に変換されて出力される。CD
に記録されたMIDIデータは、CDプレーヤー13に
おいてMIDI規格の信号に変換されて演奏部15に入
力され、この信号に応じた演奏動作が行われる。
【0006】MIDIデータは、演奏部15に再生音と
同期した演奏を行なわせるために、再生音に同期して演
奏音が実際に発生する時刻に対して時間を早めてCDに
記録されている。演奏部15にMIDI信号が入力され
てから演奏音を発生させるまでには演奏音や演奏動作に
応じた遅延時間があるので、音データの再生と同時に演
奏部15へMIDI信号を送ったのでは、再生された音
と演奏部15の発生する演奏音や演奏動作との間にずれ
が生じてしまう。再生音と演奏のこうしたずれを防止す
るために、MIDIデータは演奏部15の仕様に基づい
て、音データに対し時間を早めて記録されている。
【0007】
【発明が解決しようとする課題】したがって、例えば演
奏曲を新規に登録する場合や、演奏曲の変更・追加を行
う場合には、上述のように音データとMIDIデータを
記録したCDをその都度制作する必要がある。そのた
め、こうした演奏内容の変更に柔軟に対応できない問題
がある。また、CDの制作費用は高価であるため製品の
コストの上昇させる問題がある。特に、CDの制作にか
かる初期費用は高価であるため、様々な種類のCDを少
量枚数で制作することは製品コストに対して不利にな
り、独自性のある製品を制作する際の障害となる問題が
ある。また、CDプレーヤーやMIDIデコーダの部品
単価は高価であるため、これらによっても製品のコスト
を上昇させてしまう問題がある。
【0008】本発明はかかる事情に鑑みてなされたもの
であり、その目的は、再生する音データと演奏を制御す
る演奏データの変更が容易で、かつ安価な音同期演奏制
御装置およびこれを含む音同期演奏装置ならびに音同期
演奏制御方法を提供することにある。
【0009】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の音同期演奏制御装置では、音指定データを
受けて、当該音指定データに応じた音データを出力する
とともに、上記音データの出力を知らせるスタート信号
を出力する音データ出力手段と、上記演奏制御データと
当該演奏制御データの出力時刻を指定する出力時刻デー
タとを含む演奏データならびに上記音指定データを、所
定のページアドレスから始まる少なくとも1つの演奏デ
ータ領域に記憶し、上記演奏データ領域に対応するペー
ジ番号を、少なくとも1つの演奏指定データ領域に記憶
する演奏データ記憶手段と、演奏指定データおよび上記
スタート信号を受けて、当該演奏指定データに対応する
上記演奏指定データ領域に記憶された上記ページ番号を
読み出し、当該ページ番号に対応する上記演奏データ領
域に記憶された上記音指定データを読み出して上記音デ
ータ出力手段に出力し、上記音データの出力を知らせる
上記スタート信号が入力された時点からの経過時間に応
じて変化する音再生時間データを生成し、当該演奏デー
タ領域から所定の順番で読み出した上記演奏データの上
記出力時刻データが示す時間と上記音再生時間データが
示す時間とを比較し、上記音再生時間データの示す時間
が上記出力時刻データの示す時間を越えるかまたは一致
することを条件として、当該演奏データの上記演奏制御
データを出力する制御手段とを有している。
【0010】上記の構成を有する音同期演奏制御装置に
よれば、上記音データ出力手段において、当該音指定デ
ータに応じた上記音データが出力されるとともに、上記
音データの出力を知らせる上記スタート信号が上記音デ
ータ出力手段から出力される。また、上記演奏制御デー
タと当該演奏制御データの出力時刻を指定する上記出力
時刻データとからなる上記演奏データならびに上記音指
定データが、上記演奏データ記憶手段の所定のページア
ドレスから始まる少なくとも1つの演奏データ領域に記
憶されている。さらに、上記演奏データ領域に対応する
ページ番号も、上記演奏データ記憶手段の少なくとも1
つの演奏指定データ領域に記憶されている。上記制御手
段に上記演奏指定データが入力されると、当該演奏指定
データに対応する上記演奏指定データ領域に記憶された
上記ページ番号が、上記制御手段に読み出される。そし
て、当該ページ番号に対応する上記演奏データ領域に記
憶された上記音指定データが、上記制御手段に読み出さ
れて、上記音データ出力手段に出力される。上記音デー
タ出力手段から上記制御部に、上記音データの出力を知
らせる上記スタート信号が入力されると、当該スタート
信号が入力された時点からの経過時間が上記制御手段に
おいて計時され、当該経過時間に応じ変化する音再生時
間データが生成される。また、制御手段において、当該
ページ番号に対応する当該演奏データ領域から、上記演
奏データが所定の順番で読み出され、当該演奏データの
上記出力時刻データが示す時間と、上記音再生時間デー
タの示す時間とが比較される。そして、上記音再生時間
データの示す時間が上記出力時刻データの示す時間を越
えるかまたは一致することを条件として、当該演奏デー
タの上記演奏制御データが出力される。
【0011】また、本発明では、上記音データ出力手段
は、少なくとも1つの上記音データを記憶する音データ
記憶手段と、上記音データを指定する音指定データを受
けて、当該音指定データに応じた上記音データを上記音
データ記憶手段から読み出して出力するとともに、上記
音データの出力を知らせるスタート信号を出力する音デ
ータ処理手段とを含んでいる。
【0012】上記の構成を有する音同期演奏制御装置に
よれば、上記音データ記憶手段において、少なくとも1
つの上記音データが記憶されている。音データ処理手段
において、上記音指定データに応じた上記音データが上
記音データ記憶手段から読み出されて出力されるととも
に、上記音データの出力を知らせるスタート信号が出力
される。
【0013】また、本発明では、上記演奏データ記憶手
段は、上記演奏データを上記出力時刻データの値に応じ
た上記所定の順番で上記演奏データ領域に記憶し、上記
制御部は、所定数の上記演奏データを記憶可能なバッフ
ァを含み、上記演奏指定データおよび上記スタート信号
を受けて、当該演奏指定データに対応する上記演奏指定
データ領域に記憶された上記ページ番号を読み出し、当
該ページ番号に対応する上記演奏データ領域に記憶され
た多くとも上記所定数の上記演奏データを上記所定の順
番で読み出して上記バッファに記憶し、当該演奏データ
領域に記憶された上記音指定データを読み出して上記音
データ出力手段に出力し、上記音データの出力を知らせ
る上記スタート信号が入力された時点からの経過時間に
応じて変化する音再生時間データを生成し、上記バッフ
ァから上記所定の順番で読み出した上記演奏データの上
記出力時刻データが示す時間と上記音再生時間データが
示す時間とを比較し、上記音再生時間データの示す時間
が上記出力時刻データの示す時間を越えるかまたは一致
することを条件として、当該演奏データの上記演奏制御
データを出力するとともに、出力した演奏制御データが
記憶された上記バッファの記憶領域に、当該演奏データ
領域から前回読み出した上記演奏データの、上記所定の
順番において次の上記演奏データを読み出して記憶して
いる。
【0014】上記の構成を有する音同期演奏制御装置に
よれば、上記演奏データ記憶手段において、上記演奏デ
ータは上記出力時刻データの値に応じた上記所定の順番
で上記演奏データ領域に記憶されている。上記演奏指定
データが上記制御手段に入力されると、当該演奏指定デ
ータに対応する上記演奏指定データ領域に記憶された上
記ページ番号が上記演奏データ記憶手段から上記制御手
段に読み出される。そして、当該ページ番号に対応する
上記演奏データ領域に記憶された多くとも上記所定数の
上記演奏データが、上記所定の順番で上記演奏データ記
憶手段から上記制御手段に読み出されて、上記バッファ
に記憶される。次いで、当該ページ番号に対応する当該
演奏データ領域に記憶された上記音指定データが、上記
制御手段に読み出され、上記音データ出力手段に出力さ
れる。上記音データ出力手段から上記制御手段に上記音
データの出力を知らせる上記スタート信号が入力される
と、上記制御手段において、当該スタート信号が入力さ
れた時点からの経過時間に応じて変化する音再生時間デ
ータが生成される。上記制御手段において、上記バッフ
ァから上記所定の順番で上記演奏データが読み出され、
当該演奏データの上記出力時刻データが示す時間と、上
記音再生時間データの示す時間とが比較され、上記音再
生時間データの示す時間が上記出力時刻データの示す時
間を越えるかまたは一致することを条件として、当該演
奏データの上記演奏制御データが出力される。また、既
に出力された演奏制御データが記憶された上記バッファ
の記憶領域に、当該演奏データ領域から前回読み出した
上記演奏データの、上記所定の順番において次の上記演
奏データが上記演奏データ記憶手段から読み出されて記
憶される。
【0015】また、本発明では、上記演奏データ記憶手
段は、アドレスデータを受けて、上記アドレスデータの
指定するアドレスに記憶されたデータを出力し、上記制
御部は、上記演奏データ記憶手段のアドレスが最上位ビ
ットと最下位ビットの間で所定個数に分割された所定ビ
ット数の分割アドレスにそれぞれ対応する上記所定個数
のラッチ信号、および上記所定ビット数の入力アドレス
データを受けて、上記ラッチ信号に応じて、当該ラッチ
信号に対応する上記分割アドレスの値を当該入力アドレ
スデータに置き換えた上記アドレスデータを生成し、当
該アドレスデータを保持するとともに上記演奏データ記
憶手段へ出力するラッチ回路を含み、上記演奏データを
上記演奏データ記憶手段から読み出す操作において、上
記アドレスデータに所定のアドレス値を加えて生成した
読み出しアドレスデータにおいて桁上げまたは借りが生
ずる上記分割アドレスを検出し、当該読み出しアドレス
データのうちの、桁上げまたは借りが検出された上記分
割アドレスおよび下位の上記分割アドレスの値を、上記
入力アドレスデータとして上記ラッチ回路に順次入力す
るとともに、上記アドレスデータの当該分割アドレスの
値を当該入力アドレスデータに置き換える上記ラッチ信
号を上記ラッチ回路に入力している。
【0016】上記の構成を有する音同期演奏制御装置に
よれば、上記演奏データ記憶手段において、上記アドレ
スデータに指定されたアドレスに記憶されたデータが出
力される。また、上記ラッチ回路に上記ラッチ信号が入
力されると、当該ラッチ信号に対応する上記分割アドレ
スの値が当該入力アドレスデータに置き換えた上記アド
レスデータを生成され、当該アドレスデータが保持され
るとともに上記演奏データ記憶手段へ出力される。上記
演奏データを上記演奏データ記憶手段から読み出す操作
では、上記制御手段において、上記アドレスデータに所
定のアドレス値が加えられた上記読み出しアドレスデー
タが生成される。次いで、当該読み出しアドレスデータ
において桁上げまたは借りが生ずる上記分割アドレスが
上記制御手段に検出される。そして、当該読み出しアド
レスデータのうちの、桁上げまたは借りが検出された上
記分割アドレスおよび下位の上記分割アドレスの値が、
上記入力アドレスデータとして上記ラッチ回路に順次入
力されるとともに、上記アドレスデータの当該分割アド
レスの値を当該入力アドレスデータに置き換える上記ラ
ッチ信号が生成されて上記ラッチ回路に入力される。
【0017】また、本発明では、上記制御部は、上記演
奏制御データが出力される時間間隔を計時し、当該時間
間隔が所定の時間より長くなった時点の近傍で、所定値
を有する上記演奏制御信号を出力している。
【0018】上記の構成を有する音同期演奏制御装置に
よれば、上記制御部において、上記演奏制御データが出
力される時間間隔を計時され、当該時間間隔が所定の時
間より長くなった時点の近傍で、所定値を有する上記演
奏制御信号が出力される。
【0019】本発明の音同期演奏装置では、音指定デー
タを受けて、当該音指定データに応じた音データを音に
変換して出力するとともに、上記音の出力を知らせるス
タート信号を出力する音出力手段と、上記演奏制御デー
タと当該演奏制御データの出力時刻を指定する出力時刻
データとを含む演奏データならびに上記音指定データ
を、所定のページアドレスから始まる少なくとも1つの
演奏データ領域に記憶し、上記演奏データ領域に対応す
るページ番号を、少なくとも1つの演奏指定データ領域
に記憶する演奏データ記憶手段と、演奏指定データおよ
び上記スタート信号を受けて、当該演奏指定データに対
応する上記演奏指定データ領域に記憶された上記ページ
番号を読み出し、当該ページ番号に対応する上記演奏デ
ータ領域に記憶された上記音指定データを読み出して上
記音出力手段に出力し、上記音の出力を知らせる上記ス
タート信号が入力された時点からの経過時間に応じ変化
する音再生時間データを生成し、当該演奏データ領域か
ら所定の順番で読み出した上記演奏データの上記出力時
刻データが示す時間と上記音再生時間データが示す時間
とを比較し、上記音再生時間データの示す時間が上記出
力時刻データの示す時間を越えるかまたは一致すること
を条件として、当該演奏データの上記演奏制御データを
出力する制御手段と、当該演奏制御データを受けて、当
該演奏制御データに応じて演奏を行う演奏手段とを有し
ている。
【0020】上記の構成を有する音同期演奏装置によれ
ば、上記音出力手段において、当該音指定データに応じ
た上記音データが上記音に変換されて出力されるととも
に、上記音の出力を知らせる上記スタート信号が上記音
出力手段から出力される。また、上記演奏制御データと
当該演奏制御データの出力時刻を指定する上記出力時刻
データとを含む上記演奏データならびに上記音指定デー
タが、上記演奏データ記憶手段の所定のページアドレス
から始まる少なくとも1つの演奏データ領域に記憶され
ている。さらに、上記演奏データ領域に対応するページ
番号も、上記演奏データ記憶手段の少なくとも1つの演
奏指定データ領域に記憶されている。上記制御手段に上
記演奏指定データが入力されると、当該演奏指定データ
に対応する上記演奏指定データ領域に記憶された上記ペ
ージ番号が、上記制御手段に読み出される。そして、当
該ページ番号に対応する上記演奏データ領域に記憶され
た上記音指定データが、上記制御手段に読み出されて、
上記音出力手段に出力される。上記音出力手段から上記
制御部に、上記音の出力を知らせる上記スタート信号が
入力されると、当該スタート信号が入力された時点から
の経過時間が上記制御手段において計時され、当該経過
時間に応じ変化する音再生時間データが生成される。ま
た、制御手段において、当該ページ番号に対応する当該
演奏データ領域から、上記演奏データが所定の順番で読
み出され、当該演奏データの上記出力時刻データの値が
示す時間と上記音再生時間データの示す時間とが比較さ
れる。そして、上記音再生時間データの示す時間が上記
出力時刻データの値が示す時間を越えるかまたは一致す
ることを条件として、当該演奏データの上記演奏制御デ
ータが出力される。上記演奏手段においては、出力され
た当該演奏制御データに応じて演奏が行われる。
【0021】また、本発明では、上記音出力手段は、少
なくとも1つの上記音データを記憶する音データ記憶手
段と、上記音データを指定する音指定データを受けて、
当該音指定データに応じた上記音データを上記音データ
記憶手段から読み出し、当該音データに応じた上記音に
変換して出力するとともに、上記音の出力を知らせるス
タート信号を出力する音データ処理手段を含んでいる。
【0022】上記の構成を有する音同期演奏装置によれ
ば、上記音データ記憶手段において、少なくとも1つの
上記音データが記憶されている。音データ処理手段にお
いて、上記音指定データに応じた上記音データが上記音
データ記憶手段から読み出され、当該音データに応じた
上記音に変換されて出力されるとともに、上記音の出力
を知らせるスタート信号が出力される。
【0023】また、本発明では、上記演奏データ記憶手
段は、上記演奏データを上記出力時刻データの値に応じ
た上記所定の順番で上記演奏データ領域に記憶し、上記
制御部は、所定数の上記演奏データを記憶可能なバッフ
ァを含み、上記演奏指定データおよび上記スタート信号
を受けて、当該演奏指定データに対応する上記演奏指定
データ領域に記憶された上記ページ番号を読み出し、当
該ページ番号に対応する上記演奏データ領域に記憶され
た多くとも上記所定数の上記演奏データを上記所定の順
番で読み出して上記バッファに記憶し、当該演奏データ
領域に記憶された上記音指定データを読み出して上記音
出力手段に出力し、上記音の出力を知らせる上記スター
ト信号が入力された時点からの経過時間に応じて変化す
る音再生時間データを生成し、上記バッファから上記所
定の順番で読み出した上記演奏データの上記出力時刻デ
ータが示す時間と上記音再生時間データが示す時間とを
比較し、上記音再生時間データの示す時間が上記出力時
刻データの示す時間を越えるかまたは一致することを条
件として、当該演奏データの上記演奏制御データを出力
するとともに、出力した演奏制御データが記憶された上
記バッファの記憶領域に、当該演奏データ領域から前回
読み出した上記演奏データの、上記所定の順番において
次の上記演奏データを読み出して記憶している。
【0024】上記の構成を有する音同期演奏装置によれ
ば、上記演奏データ記憶手段において、上記演奏データ
は上記出力時刻データの値に応じた上記所定の順番で上
記演奏データ領域に記憶されている。上記演奏指定デー
タが上記制御手段に入力されると、当該演奏指定データ
に対応する上記演奏指定データ領域に記憶された上記ペ
ージ番号が上記演奏データ記憶手段から上記制御手段に
読み出される。そして、当該ページ番号に対応する上記
演奏データ領域に記憶された多くとも上記所定数の上記
演奏データが、上記所定の順番で上記演奏データ記憶手
段から上記制御手段に読み出されて、上記バッファに記
憶される。次いで、当該ページ番号に対応する当該演奏
データ領域に記憶された上記音指定データが、上記制御
手段に読み出され、上記音出力手段に出力される。上記
音出力手段から上記制御手段に上記音の出力を知らせる
上記スタート信号が入力されると、上記制御手段におい
て、当該スタート信号が入力された時点からの経過時間
に応じて変化する音再生時間データが生成される。上記
制御手段において、上記バッファから上記所定の順番で
上記演奏データが読み出され、当該演奏データの上記出
力時刻データが示す時間と上記音再生時間データの示す
時間とが比較される。そして、上記音再生時間データの
示す時間が上記出力時刻データの示す時間を越えるかま
たは一致することを条件として、当該演奏データの上記
演奏制御データが出力される。また、既に出力された演
奏制御データが記憶された上記バッファの記憶領域に、
当該演奏データ領域から前回読み出した上記演奏データ
の、上記所定の順番において次の上記演奏データが上記
演奏データ記憶手段から読み出されて記憶される。
【0025】また、本発明では、上記演奏データ記憶手
段は、アドレスデータを受けて、上記アドレスデータの
指定するアドレスに記憶されたデータを出力し、上記制
御部は、上記演奏データ記憶手段のアドレスが最上位ビ
ットと最下位ビットの間で所定個数に分割された所定ビ
ット数の分割アドレスにそれぞれ対応する上記所定個数
のラッチ信号、および上記所定ビット数の入力アドレス
データを受けて、上記ラッチ信号に応じて、当該ラッチ
信号に対応する上記分割アドレスの値を当該入力アドレ
スデータに置き換えた上記アドレスデータを生成し、当
該アドレスデータを保持するとともに上記演奏データ記
憶手段へ出力するラッチ回路を含み、上記演奏データを
上記演奏データ記憶手段から読み出す操作において、上
記アドレスデータに所定のアドレス値を加えて生成した
読み出しアドレスデータにおいて桁上げまたは借りが生
ずる上記分割アドレスを検出し、当該読み出しアドレス
データのうちの、桁上げまたは借りが検出された上記分
割アドレスおよび下位の上記分割アドレスの値を、上記
入力アドレスデータとして上記ラッチ回路に順次入力す
るとともに、上記アドレスデータの当該分割アドレスの
値を当該入力アドレスデータに置き換える上記ラッチ信
号を上記ラッチ回路に入力している。
【0026】上記の構成を有する音同期演奏装置によれ
ば、上記演奏データ記憶手段において、上記アドレスデ
ータに指定されたアドレスに記憶されたデータが出力さ
れる。また、上記ラッチ回路に上記ラッチ信号が入力さ
れると、当該ラッチ信号に対応する上記分割アドレスの
値が当該入力アドレスデータに置き換えた上記アドレス
データを生成され、当該アドレスデータが保持されると
ともに上記演奏データ記憶手段へ出力される。上記演奏
データを上記演奏データ記憶手段から読み出す操作で
は、上記制御手段において、上記アドレスデータに所定
のアドレス値が加えられた上記読み出しアドレスデータ
が生成される。次いで、当該読み出しアドレスデータに
おいて桁上げまたは借りが生ずる上記分割アドレスが上
記制御手段に検出される。そして、当該読み出しアドレ
スデータのうちの、桁上げまたは借りが検出された上記
分割アドレスおよび下位の上記分割アドレスの値が、上
記入力アドレスデータとして上記ラッチ回路に順次入力
されるとともに、上記アドレスデータの当該分割アドレ
スの値を当該入力アドレスデータに置き換える上記ラッ
チ信号が生成されて上記ラッチ回路に入力される。
【0027】また、本発明では、上記制御部は、上記演
奏制御データが出力される時間間隔を計時し、当該時間
間隔が所定の時間より長くなった時点の近傍で、所定値
を有する上記演奏制御信号を出力している。
【0028】上記の構成を有する音同期演奏装置によれ
ば、上記制御部において、上記演奏制御データが出力さ
れる時間間隔を計時され、当該時間間隔が所定の時間よ
り長くなった時点の近傍で、所定値を有する上記演奏制
御信号が出力される。
【0029】また、本発明の音同期演奏制御方法では、
演奏を指定する第1の手順と、指定された当該演奏に対
応する上記音データを取得する第2の手順と、取得され
た当該音データに応じた音を発生するとともに、当該音
の発生時点からの経過時間を計時する第3の手順と、指
定された当該演奏に対応する、上記演奏制御データと当
該演奏制御データの出力時刻を指定する出力時刻データ
とを含む演奏データを取得する第4の手順と、上記経過
時間が、取得された当該演奏データの上記出力時刻デー
タが示す時間を越えるかまたは一致することを条件とし
て、当該演奏データの上記演奏制御データを上記演奏手
段に出力する第5の手順とを有している。
【0030】上記の手順を有する音同期演奏方法によれ
ば、上記第1の手順において演奏が指定されると、上記
第2の手順において指定された当該演奏に対応する上記
音データが取得される。次いで、上記第3の手順におい
て、取得された当該音データに応じた音が発生されると
ともに、当該音の発生時点からの経過時間が計時される
と、上記第4の手順において、指定された当該演奏に対
応する、上記演奏制御データと当該演奏制御データの出
力時刻を指定する出力時刻データとからなる演奏データ
が取得され、上記第5の手順において、上記経過時間
が、取得された当該演奏データの上記出力時刻データが
示す時間を越えるかまたは一致することを条件として、
当該演奏データの上記演奏制御データが演奏手段に出力
される。
【0031】また、本発明では、上記第4の手順は、上
記演奏データが上記所定の順番で記憶された演奏データ
記憶手段に対して上記演奏データのアドレスを指定する
アドレスデータを保持するとともに、当該アドレスデー
タを上記演奏データ記憶手段に入力して上記演奏データ
を読み出す第6の手順と、上記演奏データ記憶手段のア
ドレスが最上位ビットと最下位ビットの間で所定個数に
分割された所定ビット数の分割アドレスのうち、上記ア
ドレスデータに所定のアドレス値を加えた読み出しアド
レスデータに桁上げまたは借りが生ずる上記分割アドレ
スを検出する第7の手順と、上記アドレスデータのうち
の、上記第7の手順で検出された上記分割アドレスおよ
び下位の上記分割アドレスの値を、上記読み出しアドレ
スデータの当該分割アドレスの値に置き換えて保持する
第8の手順とを含み、また上記第4の手順は、指定され
た当該演奏に対応する複数の上記演奏データの1つを所
定の順番で取得し、さらに上記第4手順および第5の手
順は、交互に反復している。
【0032】上記の手順を有する音同期演奏方法によれ
ば、上記第4の手順において、指定された当該演奏に対
応する複数の上記演奏データの1つが所定の順番で取得
される。この上記第4の手順は、第6の手順ないし第7
の手順を含んでおり、第6の手順において、上記演奏デ
ータが上記所定の順番で記憶された演奏データ記憶手段
に対して上記演奏データのアドレスを指定するアドレス
データが保持される。また、当該アドレスデータが上記
演奏データ記憶手段に入力されて、上記演奏データが読
み出される。次いで、上記第7の手順において、上記ア
ドレスデータに所定のアドレス値を加えた読み出しアド
レスデータに桁上げまたは借りが生ずる上記分割アドレ
スが検出される。上記第8の手順においては、上記アド
レスデータのうちの、上記第7の手順で検出された上記
分割アドレスおよび下位の上記分割アドレスの値を、上
記読み出しアドレスデータの当該分割アドレスの値に置
き換えて保持させる。上記第4手順および上記第5の手
順は交互に反復されて、上記演奏データ記憶手段に記憶
されている上記演奏データが上記所定の順番で上記演奏
手段に出力される。
【0033】
【発明の実施の形態】以下、本発明の実施形態を、図面
を参照しながら説明する。図1は、本発明に係る音同期
演奏装置の第1の実施形態を示す回路図である。図1に
おいて、1は制御部(制御手段)を、2は演奏データメ
モリ(演奏データ記憶手段)を、3は音データメモリ
(音データ記憶手段)を、4は音データ処理部(音デー
タ処理手段)を、5および6はD/Aコンバータを、7
はバッファ回路を、100は音同期演奏制御部(音同期
演奏制御装置)を、8および9は増幅回路を、10およ
び11はスピーカを、12は演奏部(演奏手段)をそれ
ぞれ示している。
【0034】制御部1は、演奏の開始を指示する信号S
2を受けて、入力された曲コードS1(演奏指定デー
タ)に対応する音データを音データ処理部4に再生させ
るとともに、曲コードS1に応じたMIDI信号を演奏
部12に出力して演奏動作を行わせる。この時、演奏中
を示す信号S2を図示しない表示回路等に出力して、演
奏中にあることを報知する。また、信号S3を通じて、
音データメモリに記憶された音データを指定するメロデ
ィ番号(音指定データ)やMIDIデータ(演奏制御デ
ータ)、MIDIデータの出力時刻を指定する出力時刻
データ、音データ処理部4の設定データ等を演奏データ
メモリ3から読み込む。また、信号S4を通じて、音デ
ータ処理部4に対するメロディ番号の通知と音データ再
生開始の制御を行うとともに、音声の再生中を知らせる
スタート信号を音データ処理部4から取得する。さら
に、信号S8を通じて、演奏データメモリ3から読み込
んだMIDIデータを出力時刻データに応じた時刻にバ
ッファ回路7を介し演奏部12に出力する。
【0035】音データメモリ3は、メロディ番号に対応
した複数の音データを記憶しており、信号S5を通じて
音データ処理部4に音データを出力する。この音データ
としては、例えばPCM(Pulse Code Modulation )デ
ータなどが記録される。
【0036】音データ処理部4は、制御部1による音声
再生の開始を指示する信号S4を受けて、音声の再生を
開始する。再生する音データは、制御部1の信号S4を
通じて通知されたメロディ番号に対応する、音データメ
モリ3のデータ領域から読み込む。読み込んだ音データ
を音信号S6およびS7に変換して、D/Aコンバータ
5および6に出力する。また、音信号S6およびS7の
出力期間中において、音信号が出力中であることを知ら
せるスタート信号S4を音信号の出力開始と同時に制御
部1へ出力する。音データ処理部4としては、例えば音
データメモリ3に記録された音データがPCMデータで
ある場合、PCM音源が用いられる。なお、図1のブロ
ック図では音データ処理部4より出力される音信号が2
つであるが、これは再生する音データと音データ処理部
4の仕様によって限定されるものであり本発明において
これを限定するものではないので、例えば音信号が1つ
であっても構わない。
【0037】D/Aコンバータ5および6は、音データ
処理部4から出力されたデジタルの音信号S6およびS
7をアナログの音信号に変換して、増幅回路8および9
にそれぞれ出力する。増幅回路8および9は、D/Aコ
ンバータ5および6から出力されたアナログの音信号を
増幅して、スピーカ10および11を駆動する。スピー
カ10および11は、増幅回路8および9で増幅された
アナログの音信号に駆動されて、音信号に応じた音を発
生する。
【0038】演奏部12は、バッファ回路7を介して入
力されたMIDI信号に応じて演奏動作を行う。例えば
からくり時計などにおける演奏部では、入力されたMI
DI信号に応じて人形等を駆動し、棒鈴を打ち鳴らす演
奏動作を行なう。
【0039】演奏データメモリ2は、メロディ番号やM
IDI信号、出力時刻信号、音データ処理部4の初期設
定データなどを記憶しており、制御部1の要求に応じて
これらのデータを制御部1に出力する。
【0040】ここで、演奏データメモリ2におけるデー
タの記憶方法と、記憶されている各データの内容につい
て説明する。図2は、演奏データメモリ2のメモリマッ
プを示す図である。図2においては、演奏データメモリ
2のアドレスのビット数が16の場合を例としてメモリ
マップを説明している。表における縦方向の欄は、アド
レスの上位12ビットの値を示し、横方向の欄はアドレ
スの下位4ビットの値を示している。なお、図に示した
アドレス値は16進数で表示した値である。
【0041】図2に示す演奏データメモリ2のアドレス
空間は、アドレス0H〜FFEFH(記号の末尾に付し
たHは16進数を示す。以降同じ。)の間で上位4ビッ
トの値に応じて分割された16個の演奏データ領域と、
アドレスFFF0H〜FFFFHの間で下位4ビットの
値に応じて分割された16個の演奏指定データ領域に分
かれている。
【0042】図3は、演奏データ領域のメモリマップを
示す図である。図3においては、図2のページ0の演奏
データ領域を例としてメモリマップを説明している。表
における縦方向の欄は、演奏データメモリ2のアドレス
を示している。他のページ番号における演奏データ領域
のメモリマップも図3に示すものと同様であり、最上位
4ビットのアドレス値を1〜Fに変えればよい。
【0043】図3のAで示すデータ領域(アドレス0H
〜0002H)には、音データ処理部4の初期化データ
やメロディ番号、メロディ再生方式など、音データの再
生に関する情報が記憶されている。音データ処理部4の
初期化データやメロディ再生方式データは、再生する音
データごとに最適な音を再生させるために音データ処理
部4に対して設定するデータであり、音データを再生さ
せる前に音データ処理部4へ出力される。音データ処理
部4に対して設定するこれらデータは音データ処理部4
の仕様に応じて異なるので、例えば前記2つのデータ以
外に設定が必要なデータがある場合は、図3のデータ領
域Aにその必要なデータを記憶させておく。メロディ番
号(音指定データ)は、各演奏毎にまとめられて音デー
タメモリ3に記憶されている複数の音データのうちの1
つを指定する番号である。音データが再生される場合、
演奏データメモリ2から制御部1に読み出されたメロデ
ィ番号が音データ処理部4に通知され、このメロディ番
号に対応する音データが音データメモリ3から音データ
処理部4に読み出されて再生される。
【0044】図3のBで示すデータ領域(アドレス00
03H〜)には、MIDIデータや出力時刻T0〜T2
など、演奏部12の演奏動作を制御するための情報が記
憶されている。MIDIデータ(演奏制御データ)は演
奏部12の演奏動作を制御するデータであり、演奏時に
は低位のアドレスにあるデータから順番に演奏部12へ
出力される。
【0045】出力時刻データT0〜T2は、MIDIデ
ータを出力させる時刻を指定するためのデータであり、
例えば図3に示すように、各MIDIデータに対してそ
れぞれ3つの出力時刻データが付属している。音データ
処理部4が音データの再生を開始してスタート信号S4
を制御部1に出力した時点から、制御部1内部の図示し
ないタイマーによって所定時間ごとに時刻カウンタの値
がインクリメントされる。出力時刻データT0〜T2
は、この時刻カウンタの値に相当するデータである。制
御部1においてこの時刻カウンタの値と出力時刻データ
の値を比較することにより、MIDIデータを出力させ
る時点を決めている。図3の例の場合3つの出力時刻デ
ータで1つの計数値を表しており、計数値の下位ビット
を出力時刻データT0、中位ビットを出力時刻データT
1、上位ビットを出力時刻データT2で表している。例
えばデータのビット数を8ビットとした場合、出力時刻
を指定する計数値のビット数はこれら3つの出力時刻デ
ータのビット数を合わせた24ビットになる。
【0046】MIDIデータおよび出力時刻データT0
〜T2からなる図3のデータ領域Bに示されたデータ
(以降、演奏データと呼ぶ)は、演奏データ領域の初期
アドレスから始まるデータ領域Aのデータに続けて、M
IDIデータを制御部1から出力させる順番で演奏デー
タ領域に記憶されている。したがって、通常の場合、出
力時刻データの値はアドレスが高位になるほど大きな値
に設定される。
【0047】また、1つの演奏データ領域に含まれる演
奏データは図2に示した各ページのデータ領域よりはみ
出しても良いが、演奏データ領域の開始アドレスは図2
のページ0からページ15で示した領域の先頭アドレス
でなくてはならない。したがって、図2に示したメモリ
マップを有する演奏データメモリ2には、最小で1個か
ら最大で16個までの演奏データ領域を作成することが
できる。なお、演奏データ領域の終了アドレスには演奏
データ領域の終了を示す所定のコード(例えば0FCH
など)が記憶されており、これにより、制御部1に演奏
データ領域の終了するアドレスを検出させている。
【0048】図2の演奏指定データ領域記憶(アドレス
FFF0H〜FFFFH)には、上述した16個の演奏
データ領域の初期アドレスを指定するデータ(ページ番
号)が任意に記憶されている。例えばデータサイズが1
バイトの演奏データメモリ2において、各演奏データ領
域の初期アドレスの上位8ビットにあたるデータ00H
〜F0H(ページ番号)を演奏指定データ領域に任意に
記憶させ、演奏を実行させない演奏指定データ領域には
データFFHを記憶させる。このようなデータを演奏指
定データ領域に任意に記憶させることによって、曲コー
ドS1(演奏指定データ)で指定された任意の演奏を実
行させることができる。すなわち、曲コードS1によっ
て選択された演奏指定データ領域に任意に記憶されたペ
ージ番号から演奏データ領域が特定され、この演奏デー
タ領域に記憶されたデータに基づいて演奏が実行され
る。
【0049】曲コードS1で直接演奏データ領域を指定
せず、演奏指定データ領域に記憶されたページ番号を参
照して間接的に演奏データ領域を指定しているので、例
えば曲コードS1が所定の順番で制御部1に入力される
場合において、演奏させる曲を容易に変更させることが
できる。
【0050】ここで、からくり時計のように所定の時刻
に演奏が行われる演奏装置において、曲コードS1が所
定の時刻に所定の順番で制御部1に入力される場合を例
に説明する。具体的には、12時、1時、2時、・・
・、10時、11時にそれぞれ演奏指定データ領域C0
、C1 、C2 、・・・、C10、C11を指定する曲コー
ドS1が制御部1に入力されるとする。ただし演奏指定
データ領域C0 〜C15はそれぞれアドレスFFF0H〜
FFFFHに対応する。例えば演奏指定データ領域C0
〜C15に、 C0 …10H C1 …20H C2 …30H C3 …10H C4 …40H C5 …50H C6 …10H C7 …60H C8 …70H C9 …10H C10…80H C11…90H C12…FFH C13…FFH C14…FFH C15…FFH 上記のようなページ番号のデータを記憶させた場合、1
2時、3時、6時、9時にはページ番号1の演奏データ
領域に記憶されたデータに基づく演奏が行われ、1時、
2時、4時、5時、7時、8時、10時、11時にはそ
れぞれページ番号2〜9の演奏データ領域に記憶された
データに基づく演奏が行われる。また、例えば演奏指定
データ領域C0 〜C15に、 C0 …10H C1 …FFH C2 …FFH C3 …20H C4 …FFH C5 …FFH C6 …30H C7 …FFH C8 …FFH C9 …40H C10…FFH C11…FFH C12…FFH C13…FFH C14…FFH C15…FFH 上記のようなページ番号のデータを記憶させた場合、1
2時、3時、6時、9時にはそれぞれページ番号1〜4
の演奏データ領域に記憶されたデータに基づく演奏が行
われ、1時、2時、4時、5時、7時、8時、10時、
11時には演奏が行われない。したがって、演奏曲を変
更する場合、演奏データメモリ1の演奏データ領域のデ
ータや音データメモリ3のデータを変更する必要がな
く、上述した演奏指定データ領域C0 〜C15に記憶させ
るデータを変更するだけで済むので、演奏曲を容易に変
更できる。
【0051】次に、図1に示した音同期演奏装置の具体
的な動作をフロチャート図を参照しながら説明する。図
4および図5は、本発明の音同期演奏装置のメインルー
チンを説明するフローチャート図である。
【0052】図4のステップP1において、音同期演奏
装置の各部が所定の初期状態に設定される。音同期演奏
装置の動作の制御に用いられる各変数は、このステップ
で全て初期状態に設定される。初期設定のあと、ステッ
プP2において、制御部1に入力されるスタート信号S
2の状態が検出され、演奏の開始を指示するスタート信
号S2が入力されていない場合はさらにスタート信号S
2の状態を検出するステップP2の処理が繰り返され
る。
【0053】ステップP2において演奏の開始を指示す
るスタート信号S2の入力が検出されると、ステップP
3に進んで制御部1に曲コードS1の取得に関する処理
が行われる。ステップP3の処理の詳細を図6のフロー
チャート図を用いて説明する。
【0054】図6は、曲コード取得の処理を示すフロー
チャート図である。図6のステップP101において、
曲コードS1が制御部1に読み込まれ、次いでステップ
P102において、取得した曲コードの値に応じた演奏
指定データ領域をアクセスするアドレスが生成される。
【0055】演奏データメモリ2が図2に示したメモリ
マップを有する場合、演奏指定データ領域のアドレスは
FFF0H〜FFFFHであるので、下位4ビットの値
を指定すればこれらの演奏指定データ領域にアクセスす
るアドレスを生成させることができる。したがって、例
えば曲コードS1として4ビットのデータ0H〜FHを
入力し、これにアドレス値FFF0H〜FFFFHを対
応させれば、曲コードの値に応じた演奏指定データ領域
へのアクセスアドレスを容易に生成させることができ
る。
【0056】ステップP102で生成された演奏指定デ
ータ領域のアドレスを、ステップP103において演奏
データメモリ2に設定する。演奏データメモリ2に対す
るアドレスの設定を行う回路、およびアドレスの設定手
順については後ほど具体的に説明する。
【0057】ステップP103において設定された演奏
指定データ領域のアドレスに格納されたページ番号のデ
ータがステップP104において制御部1に読み込まれ
ると、次にステップP105において、演奏データメモ
リ2からデータを読み込む際に発生するエラーの有無が
判定される。演奏データメモリ2からのデータの読み込
みにエラーが発生している場合は、ステップP107に
おいてエラーの発生を後の処理に知らせるエラーフラグ
がセットされる。
【0058】また、ステップP105においてエラーが
発生していないと判定された場合は、ステップP106
において、ステップP104で読み込んだページ番号に
対応する演奏データ領域の先頭にアクセスするアドレス
が生成される。例えば、演奏データメモリ2が図2に示
すメモリマップを有する場合に、ページ番号として各演
奏データ領域の初期アドレスの上位8ビットにあたるデ
ータ00H〜F0Hを演奏指定データ領域に記憶させて
おけば、このページ番号を用いて演奏データ領域の先頭
にアクセスするアドレスを容易に生成させることができ
る。
【0059】以上説明したステップP101〜P107
による曲コードの取得処理が終了すると、次に図4のス
テップP3へ処理が移行される。
【0060】ステップP3において、曲コードS1の選
択する演奏指定データ領域に記憶されたページ番号が演
奏データメモリ2から制御部1に読み込まれると、ステ
ップP4において、読み込まれたページ番号の値に応じ
て演奏曲の有無が判定される。演奏曲が無いことを示す
データ、例えば上述した例においてデータFFHが演奏
指定データ領域に記憶されている場合は、ステップP2
に処理が戻されて、再びスタート信号の入力が監視され
る。
【0061】ステップP4において、特定の演奏データ
領域を指定するページ番号が演奏指定データ領域に記憶
されている場合は、ステップP5において、このページ
番号の指定する演奏データ領域に記憶されたメロディ番
号および音データ処理部4の各設定データが制御部1に
読み込まれる。これらのデータは、図3の例においては
データ領域Aに記憶されているデータである。
【0062】またステップP5においては、後の処理で
利用するメロディ番号フラグおよび再生終了フラグの初
期設定が行われる。メロディ番号フラグは、取得された
メロディ番号に対応する音データの有無を判別するため
のフラグであり、取得されたメロディ番号に対応するデ
ータが音データメモリ2に記憶されていない場合”1”
に設定され、対応するデータが記憶されている場合”
0”に設定される。例えば、音データメモリ2に記憶さ
せる音データの最大個数を16個、各音データに対応す
るメロディ番号を0H〜FHとした場合においては、ス
テップ5で読み込まれたメロディ番号の値が0H〜FH
の範囲にある場合にメロディ番号フラグが”0”に設定
され、0H〜FHの範囲にない場合に”1”に設定され
る。再生終了フラグは、音データ処理部4における音デ
ータの再生が終了したことを判別するためのフラグであ
り、音データ処理部4において音データが再生されてい
る場合”0”に設定され、音データが再生されていない
場合”1”に設定される。音データの再生と非再生の判
別は、音データ処理部4から制御部1に入力されるスタ
ート信号S4に応じて判断される。
【0063】ステップP5において演奏データメモリ2
から読み込まれた音データ処理部の各設定データは、ス
テップP6において音データ処理部4に出力される。音
データ処理部4においては、制御部1から入力された各
設定データに基づいて、再生音の音量設定や帯域フィル
タの設定などといった音データの再生に関する各種の設
定が行われる。
【0064】ステップP6において音データ処理部4の
設定が行われたあと、ステップP7においてMIDI制
御コードが演奏データメモリ2から制御部1に読み込ま
れ、バッファ回路7を介して演奏部12に出力される。
MIDI制御コードは、音の出力などの演奏に関する制
御コード以外の、MIDI信号で制御されるMIDI機
器に対する各種設定に関するコードであり、演奏前にM
IDI機器へ出力される。
【0065】ステップP7においてMIDI制御コード
が出力されたあと、ステップP8において各種エラーの
有無が判断される。例えば、演奏データメモリ2のデー
タ読み込み処理において発生したエラーの有無などが判
断される。ステップP8においてエラーの発生が検出さ
れた場合は、ステップP9においてフラグ等の各変数値
が初期化されたあと、ステップP2に処理が戻されて、
再びスタート信号S2の入力が監視される。
【0066】ステップP8においてエラーが検出されな
かった場合は、ステップP10に処理が移行されて、リ
ングバッファに演奏データが最大数まで記憶される。図
7は、リングバッファの動作を説明するための図であ
る。図7においては、リングバッファに記憶できるデー
タの個数が15個である場合を例として示している。図
における0から15までの数字は、リングバッファのア
ドレスを示している。
【0067】演奏データメモリ2からデータを読み込む
ためには、先ず演奏データメモリ2のデータをアクセス
するアドレスを生成し、次いで、生成したアドレスをア
ドレスバスに出力するとともに演奏データメモリ2に対
する読み出し信号を出力し、演奏データメモリ2の読み
出しアクセス時間を経過した後、データバスに出力され
たデータを制御部1に読み込む処理が行われる。演奏デ
ータメモリ2からのデータの読み出しは、このような複
数の処理に要する時間が必要な上に、メモリの読み出し
アクセス時間がこれに加わるため、多くの処理時間を必
要とする。このため、演奏部12に出力するMIDIデ
ータをデータの出力前に1つずつ演奏データメモリ2か
ら読み出していたのでは、処理時間が不足してしまう場
合がある。
【0068】そこで、高速に読み書きを行うことが可能
な制御部1内部のRAMやレジスタによって構成された
図7に示すリングバッファを設け、出力させる複数個の
演奏データを演奏データメモリ2から制御部1に読み出
して一時的にこのリングバッファに溜めておき、制御部
1から演奏部12へ出力させるMIDIデータをこのリ
ングバッファから読み出して出力させている。処理時間
が不足して演奏データメモリ2からの読み出しを行うこ
とができない場合でも、リングバッファに演奏データが
溜まっている限りここから演奏データを得ることができ
るので、演奏部12に対するMIDIデータの出力が遅
延することを防止できる。
【0069】リングバッファのアドレスに対するアクセ
スは、例えば、データの読み出しアドレスを記憶させた
ポインタ変数Prと、データの書き込みアドレスを記憶
させたポインタ変数Pwを使って行うことができる。ポ
インタ変数Prには、次に演奏部12へ出力させるデー
タの記憶されたアドレスが記憶され、ポインタ変数Pw
には次に書き込みを行うためのアドレスが記憶される。
そして、後で述べるタイマ割り込み処理やMIDI出力
割り込み処理においてMIDIデータが演奏部12に出
力されたあと、ポインタ変数Prの値を所定のアドレス
数だけインクリメントさせる。例えば図3の例に示した
ように、演奏データにおけるデータの個数が4個である
場合は、ポインタ変数Prの値を4だけインクリメント
させる。また、ステップP10や後で説明するステップ
P14などでリングバッファに対するデータの書き込み
が行われた場合は、データが書き込まれる度にポインタ
変数Pw の値を1だけインクリメントさせる。このよう
にして、ポインタ変数Prおよびポインタ変数Pwには、
次に読み書きが行われるリングバッファのアドレスを記
憶させておく。
【0070】なお、前述のインクリメントによってアド
レス値がリングバッファの最大値を越える場合は、リン
グバッファに対して連続的に読み書きがなされるように
所定の値を引いたアドレス値をポインタ変数に記憶させ
る。例えば図7に示したリングバッファにおいて、ポイ
ンタ変数Pwがアドレス値15からインクリメントされ
てアドレス値16になる場合は、このアドレス値から1
6を引いた値、すなわちアドレス値0をポインタ変数P
wに記憶させる。また例えば、ポインタ変数Prがアドレ
ス値15からインクリメントされてアドレス値19にな
る場合も、このアドレス値から16を引いた値、すなわ
ちアドレス値3をポインタ変数Prに記憶させる。この
ようにして、限られた容量のデータ記憶領域に対し連続
的にデータを溜めさせることができる。
【0071】リングバッファに溜めたデータが出力によ
って空になってしまった状態は、ポインタ変数Prとポ
インタ変数Pwの関係から判定される。すなわち、ポイ
ンタ変数Prとポインタ変数Pwのアドレス値が等しい条
件をもって、リングバッファに溜めた演奏データが空に
なっていると判定される。例えば、まだ1度もリングバ
ッファに対してデータの書き込みがなされていない初期
の状態はこの条件を満たしている。また、同様にしてリ
ングバッファに溜めたデータが一杯になってしまった状
態も、ポインタ変数Prとポインタ変数Pwの関係から判
定される。すなわち、ポインタ変数Prのアドレス値が
ポインタ変数Pwのアドレス値に比べて1だけ進んでい
る条件をもって、リングバッファに溜めたデータが一杯
になっていると判定される。例えば、MIDIデータが
1度も出力されず、ポインタ変数Prのアドレス値が0
のままの状態で、リングバッファのアドレス14までデ
ータを書き込み、ポインタ変数Pwのアドレス値が15
になった場合がこの条件に相当する。この時、リングバ
ッファのアドレス15はまだデータが記憶されていない
空き領域であるが、もしこの条件でアドレス15にデー
タを書き込んでしまうと、ポインタ変数Prとポインタ
変数Pwのアドレス値が等しくなってしまい、リングバ
ッファに溜めたデータが出力により空になってしまった
状態と区別することができなくなってしまうので、アド
レス15にデータを記憶させることはできない。したが
って、図7に示したリングバッファに記憶できるデータ
の個数は最大15個になる。また図3の例では、演奏デ
ータにおけるデータの個数が4個なので、この場合図7
に示したリングバッファに記憶できる演奏データの個数
は最大3個になる。
【0072】ステップP10においてリングバッファに
演奏データが記憶されると、ステップP11において、
メロディデータの有無が検出される。メロディデータは
すなわちメロディ番号で指定される音データのことであ
り、このメロディデータの有無は、上述したメロディ番
号フラグを参照することによって判定される。メロディ
番号フラグの値が”1”である場合は、メロディデータ
が無いと判定されてステップP12によるメロディの再
生処理がパスされ、ステップP13に処理が移行され
る。また、メロディ番号フラグの値が”0”である場合
は、メロディデータが有ると判定されて、ステップ12
によるメロディの再生処理が行われる。
【0073】ステップP12において、制御部1から音
データ処理部4にメロディ番号が出力されるとともに音
データの再生を指示する信号S4が出力される。そし
て、制御部1から入力されたメロディ番号に対応する音
データは、音データ処理部4において音データメモリ3
から読み出されて所定の処理を施され、音声信号S5お
よびS6としてD/Aコンバータ5および6に出力さ
れ、さらに増幅回路8および9によって信号を増幅され
てスピーカ10および11を駆動し、音に変換される。
このとき、音データの再生開始と同時に、音データが再
生中であることを知らせるスタート信号S4が音データ
処理部4から制御部1に出力される。また、音データの
再生の終了を示す再生終了フラグは”0”にリセットさ
れる。
【0074】ステップP12において音データの再生が
始まり、音データの再生開始を知らせるスタート信号が
出力されて制御部1に検出されると、ステップP13に
おいて、このスタート信号の検出時点から制御部1内部
のタイマーにより所定時間ごとタイマー割り込み処理が
発生し、このタイマー割り込み処理の中で時刻カウンタ
の値がインクリメントされる。具体的には、例えば内部
のタイマーの出力するパルス信号の周期を100μsec
とした場合、このスタート信号の検出時点から100μ
sec ごとにタイマー割り込み処理が発生して、時刻カウ
ンタの値がインクリメントされる。このタイマー割り込
み処理については後ほど具体的に説明する。またステッ
プP10において、MIDI出力割り込み処理も開始さ
れる。MIDI出力割り込み処理は、リングバッファに
溜められたMIDIデータを演奏部12に出力させる処
理であり、これについても後ほど具体的に説明する。
【0075】ステップP13において開始された割り込
み処理によって、リングバッファに溜められたMIDI
データは出力時刻データの値に応じて次々に演奏部12
へ出力されると、リングバッファの記憶領域に空きが生
ずる。ステップP14においては、このようにして空き
の生じたリングバッファの記憶領域に、演奏データメモ
リ2の演奏中の演奏データ領域から読み出された演奏デ
ータが補充される。
【0076】次いで、ステップP8と同様のエラー検出
がステップP15において行われる。ステップP15に
おいてエラーの発生が検出されると、ステップP24に
処理が移行されて終了手続きが実行される。終了手続き
においては、ステップP13で開始された割り込み処理
が停止されるとともに、MIDIデータをシリアルデー
タに変換して演奏部12に出力させるMIDI出力ポー
トを初期化するための処理が実行される。次いでステッ
プP25においてステップP9と同様にフラグ等の各変
数値が初期化されたあと、ステップP2に処理が戻され
る。
【0077】ステップP15においてエラーの発生が検
出されなかった場合は、ステップP16に処理が移行さ
れて、音データ処理部4による音データの再生が終了し
ているか否かが判断される。この判断にはスタート信号
S4が参照される。音データが再生中であることを示す
スタート信号S4が検出された場合は、ステップP17
の処理が飛ばされてステップP18に処理が移行され
る。音データの再生中であることを示すスタート信号S
4が検出されなかった場合は、ステップP17におい
て、音データの再生が終了したことを示す再生終了フラ
グが”1”にセットされたのち、ステップP18に処理
が移行される。
【0078】ステップP18において、演奏データの終
了を示す終了コードの有無が判断される。演奏データメ
モリ2から演奏データを読み出す処理において、読み出
したデータが終了コードであるか否かが判別されてお
り、終了コードであった場合はメモリ読み込み終了フラ
グに”1”がセットされる。ステップP18ではこのメ
モリ読み込み終了フラグの値が参照され、この値が”
1”である場合はステップP19に処理が移行され、”
0”である場合はステップP19〜ステップP22の処
理が飛ばされてステップP23に処理が移行される。
【0079】ステップP19においては、リングバッフ
ァに溜まっているデータが空であるか否かが判断され
る。リングバッファのデータが空であると判断された場
合はステップP20においてリングバッファ空フラグ
が”1”にセットされ、データが空でないと判断された
場合はステップP21においてリングバッファ空フラグ
が”0”にリセットされた後に、ステップP22に処理
が移行される。
【0080】ステップP22においては、上述した各フ
ラグの状態が参照されて、演奏を終了させるか否かの判
断が行われる。すなわち、メモリ読み込み終了フラグ、
リングバッファ空フラグ、再生終了フラグおよびメロデ
ィ番号フラグが全て”1”にセットされた場合において
演奏を終了させる判断がなされて、ステップP24に処
理が移行される。上記のフラグの何れか1つでも値が”
1”でない場合は、演奏を続行させる判断がなされてス
テップP23に処理が移行される。
【0081】ステップP23においては、タイマー割り
込み処理でカウントされている時刻カウンタの値が所定
値を越えた場合に、ステップP24へ処理が移行されて
演奏が強制的に終了される。これは、例えば演奏データ
に不具合があった場合などにおいて演奏が何時までも終
わらなくなることを防ぐための処理である。時刻カウン
タの値が所定値よりも小さい場合は、再びステップP1
4に処理が戻されて、MIDIデータを演奏部12に出
力させる処理が続行される。
【0082】次に、演奏部12に出力される演奏データ
を演奏データメモリ2から読み出す具体的な処理につい
て説明する。図8は、演奏データメモリ2から演奏デー
タを読み出すメモリリード処理を説明するフローチャー
ト図である。このメモリリード処理は、演奏データメモ
リ2から演奏データをリングバッファに補充する上述し
たステップP14において用いられる処理である。
【0083】メモリリード処理においては、先ずステッ
プP201において、演奏データメモリ2からのデータ
の読み出しに関するエラーを知らせるエラーフラグの状
態が判断される。エラーが発生していると判断された場
合は、その後の処理は行われずメモリリード処理は終了
される。エラーが発生していないと判断された場合は、
ステップP202に処理が移行されて、現在演奏データ
メモリ2に設定されているアドレス値に記憶された演奏
データを制御部1に読み出す。現在演奏データメモリ2
に設定されているアドレス値は、以前の処理で既に生成
されて後述するラッチ回路に保持されているものであ
る。
【0084】ステップP202で演奏データが読みださ
れると、次いでステップP203に処理が移行される。
ステップP203以降の処理は、次に読み出す演奏デー
タのアドレスを設定するための処理である。ステップP
203以降の処理を説明する前に、先ず演奏データメモ
リ2のアドレス設定回路について説明する。図9は、演
奏データメモリ2のアドレス設定回路を示す回路図であ
る。図9において20〜23はラッチ回路を、2は演奏
データメモリをそれぞれ示している。また演奏データメ
モリ2におけるA0〜A15はそれぞれアドレスの最下
位ビットから最上位ビットの入力端子を示している。
【0085】制御部1から出力される4ビットのアドレ
ス線がラッチ回路20〜23の4ビットの入力端子にそ
れぞれ接続されており、ラッチ回路20〜23の4ビッ
トの出力線が演奏データメモリ2のそれぞれ異なるアド
レス入力端子に接続されている。すなわち、ラッチ回路
20の4ビットの出力線が演奏データメモリ2のアドレ
ス入力A15〜A12に接続され、ラッチ回路21の4
ビットの出力線が演奏データメモリ2のアドレス入力A
11〜A8に接続され、ラッチ回路22の4ビットの出
力線が演奏データメモリ2のアドレス入力A7〜A4に
接続され、ラッチ回路23の4ビットの出力線が演奏デ
ータメモリ2のアドレス入力A3〜A0に接続されてい
る。またラッチ回路20〜23には、入力に与えられた
データを保持して出力させるためのラッチ信号線がそれ
ぞれ接続されている。制御部1によってこのラッチ信号
線にラッチ回路の出力を保持させるラッチ信号が与えら
れると、このラッチ信号が入力された時点にラッチ回路
に入力されていた信号レベルがラッチ回路の出力に保持
される。
【0086】図9に示すアドレス設定回路において、演
奏データメモリ2のアドレスは、制御部1から4ビット
のアドレス線および4ビットのラッチ信号線に与えられ
るデータに応じて設定される。例えば、ラッチ回路23
から出力されているアドレスA0〜A3の値を変更する
場合は、4ビットのアドレス線にアドレスA0〜A3の
データ(入力アドレスデータ)が出力されるとともに、
ラッチ回路23の出力を保持させるラッチ信号が出力さ
れる。他のアドレス値を変更する場合も、同様の処理が
繰り返される。このようにして、既にラッチ回路に設定
されているアドレス値を4ビット単位のアドレス(分割
アドレス)で変更できるので、メモリに記憶されたデー
タをアドレスの順番で読み出す場合に、例えば1ビット
や2ビットしか変化していないデータに対して全てのビ
ットをラッチ回路に設定しなくても良く、変化の生じた
ビットを含むラッチ回路だけを設定すれば良いので、制
御部1で扱うデータのビット数が減り、処理に要する時
間を短くできる。また、16ビットのアドレスを設定す
るために必要な配線数が8本で済むので、通常に比べて
配線数を減らすことができる。なお、本発明において演
奏データメモリ2のアドレスのビット数は限定されない
ので、図9に示した例に限定されず、ラッチ回路の個数
やビット数を任意に設定できる。
【0087】図8のステップP203において、現在ラ
ッチ回路20〜23に保持されているアドレス値がFF
EFHであるか否かが判断される。図2のメモリマップ
に示されているように、演奏データが記憶されている最
も高位のアドレス値がFFEFHであり、これは演奏デ
ータ領域の最大アドレスとなっていて、これより大きい
アドレスはページ番号を記憶した演奏指定データ領域と
なっている。そこで、現在ラッチ回路20〜23に保持
されているアドレス値が演奏データ領域の最大アドレス
になっていると判断された場合は、ステップP204〜
ステップP217におけるアドレスの設定処理が飛ばさ
れてステップP218に処理が移行される。ステップP
218において、メモリの読み込みにエラーが発生した
ことを後の処理に知らせるエラーフラグがセットされた
後、メモリリード処理は終了される。
【0088】ステップP203において、現在ラッチ回
路20〜23に設定されているアドレス値がFFEFH
でないと判断された場合は、ステップP204に処理が
移行されて、現在ラッチ回路20〜23に保持されてい
るアドレス値の下位8ビットを1だけインクリメントし
た値が計算される。次いでステップP205において、
この下位8ビットの値が桁上げされたか否かが判断され
る。桁上げされたと判断された場合は、さらにステップ
P211に処理が移行されて、現在ラッチ回路20〜2
3に保持されているアドレス値の上位8ビットを1だけ
インクリメントした値が計算される。次いでステップP
212において、この上位8ビットの値が桁上げされた
か否かが判断される。桁上げされたと判断された場合
は、現在ラッチ回路20〜23に設定されているアドレ
ス値の次のアドレス値が10000Hになることが分か
るが、このアドレス値は図2のメモリマップで示した演
奏データメモリ2の最大アドレスを超えているので設定
できない。したがってステップP212で上位8ビット
の値が桁上げしていると判断された場合は、ステップP
218に処理が移行されて、メモリの読み込みにエラー
が発生したことを後の処理に知らせるエラーフラグがセ
ットされた後、メモリリード処理は終了される。
【0089】ステップP205において、下位8ビット
の値が桁上げされていないと判断された場合は、ステッ
プP206において下位8ビットの値が抽出され、ステ
ップP207においてこの下位8ビットのデータに対し
さらに半分の上位4ビットのデータをマスクした値が計
算される。すなわち、2進数で00001111(16
進数で0FH)という値の8ビットのデータと、ステッ
プP206で抽出された下位8ビットのデータの、同位
ビットどうしについて論理積を行った8ビットのデータ
が計算される。この計算により、下位4ビットのアドレ
ス値が抽出される。
【0090】ステップP208においては、ステップP
206において抽出された下位4ビットのアドレス値が
ゼロであるか否かが判断される。下位4ビットのアドレ
ス値がゼロでないと判断された場合は、演奏データメモ
リ2のアドレスA3〜A0にアドレス値を設定するステ
ップP209の処理A30に処理が移行される。下位4
ビットのアドレス値がゼロであると判断された場合は、
演奏データメモリ2のアドレスA7〜A0にアドレス値
を設定するステップP210の処理A74に処理が移行
される。
【0091】図10は、演奏データメモリ2のアドレス
A3〜A0にアドレス値を設定する処理A30を説明す
るフローチャート図である。図10のステップP301
においては、演奏データメモリ2に設定させるアドレス
値の下位8ビットの、さらに下位4ビットの値が抽出さ
れる。すなわち、次に設定させるアドレス値から、アド
レスA3〜A0の値が4ビットデータとして抽出され
る。次にステップP302において、この4ビットデー
タが図9に示した4ビットアドレス線に出力され、ステ
ップP303において、4ビットアドレス線に出力され
た4ビットデータがラッチ回路23に保持された状態で
出力される(ラッチされる)。このように、処理A30
においては、演奏データメモリ2のアドレスA3〜A0
の値だけが設定され、他のアドレス値は変化しない。
【0092】図11は、演奏データメモリ2のアドレス
A7〜A0にアドレス値を設定する処理A74を説明す
るフローチャート図である。図11のステップP401
においては、演奏データメモリ2に設定させるアドレス
値の下位8ビットの、さらに上位4ビットの値が抽出さ
れる。すなわち、次に設定させるアドレス値から、アド
レスA7〜A4の値が4ビットデータとして抽出され
る。次にステップP402において、この4ビットデー
タが4ビットアドレス線に出力され、ステップP403
において、この4ビットデータがラッチ回路22にラッ
チされる。続いて、ステップP404およびP405に
おいてゼロのデータが4ビットアドレス線に出力され、
ステップP406において、この4ビットデータがラッ
チ回路23にラッチされる。このように、処理A74に
おいては、演奏データメモリ2のアドレスA7〜A4の
値とアドレスA3〜A0の値が2回に分けて設定され、
他のアドレス値は変化しない。
【0093】以上のようにして、図8のステップP20
6〜P210においては、次に読み出しを行う演奏デー
タのアドレスのうち、下位8ビットのアドレス値がラッ
チ回路22および23にラッチされる。ステップP21
0またはステップP209の処理が終了したら、そのま
まメモリリード処理が終了され、上位8ビットのアドレ
ス値は変更されない。これは、ステップP205におい
て、下位8ビットからの桁上げがないことが判断されて
おり、上位8ビットのアドレス値を変更する必要がない
ためである。
【0094】ステップP212において、上位8ビット
の値が桁上げされていないと判断された場合は、ステッ
プP213において上位8ビットの値が抽出され、ステ
ップP214においてこの上位8ビットのデータに対し
さらに半分の上位4ビットのデータをマスクした値が計
算される。すなわち、2進数で00001111(16
進数で0FH)という値の8ビットのデータと、ステッ
プP213で抽出された上位8ビットのデータの、同位
ビットどうしについて論理積を行った8ビットのデータ
が計算される。この計算により、下位4ビットのアドレ
ス値が抽出される。
【0095】ステップP215においては、ステップP
214において抽出された下位4ビットのアドレス値が
ゼロであるか否かが判断される。下位4ビットのアドレ
ス値がゼロでないと判断された場合は、演奏データメモ
リ2のアドレスA11〜A0にアドレス値を設定するス
テップP216の処理A118に処理が移行される。下
位4ビットのアドレス値がゼロであると判断された場合
は、演奏データメモリ2のアドレスA15〜A0にアド
レス値を設定するステップP217の処理A1512に
処理が移行される。
【0096】図12は、演奏データメモリ2のアドレス
A11〜A0にアドレス値を設定する処理A118を説
明するフローチャート図である。図12のステップP5
01においては、演奏データメモリ2に設定させるアド
レス値の上位8ビットの、さらに下位4ビットの値が抽
出される。すなわち、次に設定させるアドレス値から、
アドレスA11〜A8の値が4ビットデータとして抽出
される。次にステップP502において、この4ビット
データが4ビットアドレス線に出力され、ステップP5
03において、この4ビットデータがラッチ回路21に
ラッチされる。続いて、ステップP504およびP50
5においてゼロのデータが4ビットアドレス線に出力さ
れ、ステップP506において、この4ビットデータが
ラッチ回路22および23にラッチされる。すなわち、
アドレスA7〜A0にゼロが設定される。これは、下位
8ビットのアドレス値を1だけインクリメントして桁上
げが生じた場合、下位8ビットの値は全てゼロになるた
めである。このように、処理A118においては、演奏
データメモリ2のアドレスA11〜A8の値とアドレス
A7〜A0の値が2回に分けて設定され、他のアドレス
値は変化しない。
【0097】図13は、演奏データメモリ2のアドレス
A15〜A0にアドレス値を設定する処理A1512を
説明するフローチャート図である。図13のステップP
601においては、演奏データメモリ2に設定させるア
ドレス値の上位8ビットの、さらに上位4ビットの値が
抽出される。すなわち、次に設定させるアドレス値か
ら、アドレスA15〜A12の値が4ビットデータとし
て抽出される。次にステップP602において、この4
ビットデータが4ビットアドレス線に出力され、ステッ
プP603において、この4ビットデータがラッチ回路
20にラッチされる。続いて、ステップP604および
P605においてゼロのデータが4ビットアドレス線に
出力され、ステップP606において、この4ビットデ
ータがラッチ回路21〜23にラッチされる。すなわ
ち、アドレスA11〜A0にゼロが設定される。これ
は、下位8ビットのアドレス値を1だけインクリメント
して桁上げが生じた場合、下位8ビットの値は全てゼロ
になるためである。このように、処理A1512におい
ては、演奏データメモリ2のアドレスA15〜A12の
値とアドレスA11〜A0の値が2回に分けて設定され
る。
【0098】以上のようにして、図8のステップP21
3〜P217においては、次に読み出しを行う演奏デー
タの上位8ビットのアドレス値が抽出されてラッチ回路
22および23にラッチされる。また、下位8ビットの
アドレス値にはゼロが設定される。ステップP216ま
たはステップP217の処理が終了したら、そのままメ
モリリード処理が終了される。
【0099】以上説明した図8に示すメモリリード処理
によれば、4つのラッチ回路20〜23に対して4回デ
ータを設定する必要はなく、1回または2回の設定で済
む。したがって、演奏データメモリ2からのデータの読
み込みに要する処理時間を短縮できる。
【0100】なお、上述した処理A30、A74、A1
18およびA1512を用いて、図6のステップP10
3における演奏指定データ領域へのアクセスアドレスを
演奏データメモリ2に設定させることもできる。図14
は、演奏指定データ領域へのアクセスアドレスを設定す
る処理を説明するフローチャート図である。図14のス
テップP701において、上述した処理A1512が実
行され、アドレスA15〜12にアドレス値FHが、ア
ドレスA11〜A0にはゼロが設定される。次いでステ
ップP702において、上述した処理A118が実行さ
れ、アドレスA11〜8にアドレス値FHが、アドレス
A7〜A0にはゼロが設定される。次いでステップP7
03において、処理A74が実行され、アドレスA7〜
4にアドレス値FHが、アドレスA3〜A0にはゼロが
設定される。最後にステップP704において処理A3
0が実行され、アドレスA3〜0に曲コードに応じたア
ドレス値が設定される。このように、メモリリード処理
で使う処理A30、A74、A118を曲コード取得処
理に流用することもできる。
【0101】次に、音声信号の出力と共に発生するタイ
マ割り込み処理およびMIDI出力割り込み処理につい
て説明する。
【0102】図15は、タイマ割り込み処理を説明する
フローチャート図である。タイマ割り込み処理は、制御
部1の内部タイマによって所定時間間隔、例えば100
μsec 毎に発生される処理である。この処理において、
上述した時刻カウンタの値がインクリメントされる。こ
の時刻カウンタの値と出力時刻データT0〜T2の値の
一致を判断して、MIDIデータを演奏部2に出力させ
る。また、リングバッファのポインタ変数Prをインク
リメントさせて、次に読み出す演奏データの記憶された
記憶領域をポインタ変数Prに指示させている。さら
に、MIDI機器へ出力されるMIDI信号の送出間隔
が所定時間を越えた場合に、後で述べるアクティブセン
シング信号を生成させて、これをMIDI機器へ出力さ
せる処理も行われる。
【0103】図15のステップP801において、時刻
カウンタの値がインクリメントされて、音信号の出力時
点からの時間が計時される。例えば、データサイズが8
ビットの場合に、3つのデータからなる時刻カウンタT
C0〜TC2を以下のようにインクリメントさせる。す
なわち、時刻カウンタTC0は、タイマ割り込み処理が
発生してステップP801に処理が移行する度に0から
1づつインクリメントされ、値が200以上になったと
ころで0にリセットされて再び1づつインクリメントさ
れる。時刻カウンタTC1は、時刻カウンタTC0が0
にリセットされる度に0から1づつインクリメントさ
れ、値が250以上になったところで0にリセットされ
て再び1づつインクリメントされる。時刻カウンタTC
2は、時刻カウンタTC1が0にリセットされる度に0
から1づつインクリメントされ、値が255以上になっ
たところで0にリセットされて再び1づつインクリメン
トされる。以上のように各時刻カウンタを計数させるこ
とにより、例えばタイマ割り込み処理の発生間隔を10
0μsec とすると、時刻カウンタTC0〜TC2の計数
値によって0秒から1275秒までの時刻を100μse
c の分解能で指定できる。
【0104】ステップP801で時刻カウンタがインク
リメントされた後、ステップP802において、MID
I出力空フラグが参照される。MIDI出力空フラグ
は、MIDI信号が演奏部12から出力中である状態に
おいて”0”にリセットされ、出力が終了した後”1”
にセットされるフラグである。MIDI出力空フラグ
が”0”であり、MIDI信号が演奏部12から出力中
であると判断された場合はステップP803〜ステップ
P814の全ての処理を行わずにタイマ割り込み処理を
終了させる。
【0105】ステップP802においてMIDI信号が
演奏部12から出力中でないと判断された場合は、ステ
ップP803に処理が移行されて、リングバッファのデ
ータが空になっているか否かが判断される。この判断
は、例えば上述したポインタ変数PrおよびPwの値を比
較することによってなされる。リングバッファのデータ
が空になっていると判断された場合は、ステップP80
4に処理が移行されてリングバッファ空フラグに”1”
がセットされ、その後ステップP812に処理が移行さ
れる。
【0106】ステップP803においてリングバッファ
のデータが空になっていないと判断された場合は、ステ
ップP805に処理が移行されて、リングバッファに所
定数以上のデータが記憶されているか否かが判断され
る。例えば図3のデータ領域Bに示す演奏データを有す
る場合、1つの演奏データは4つのデータとしてリング
バッファに記憶されるので、リングバッファに記憶され
ているデータ数が4個未満の場合、演奏データメモリ2
からリングバッファに演奏データを読み込んでいる途中
か、あるいはなんらかの不具合によって演奏データが欠
けていると考えられる。このような場合はステップP8
12に処理が移行されて、後で述べるMIDIデータの
出力処理は行われない。
【0107】ステップP805においてリングバッファ
に所定数以上のデータが記憶されていると判断された場
合は、ステップP806に処理が移行されて、出力時刻
データと時刻カウンタの値が一致しているか否かが判断
される。例えば、上述した時刻カウンタTC0〜TC2
の値と、それに対応したデータとして演奏データメモリ
2に記憶された出力時刻T0〜T2の値がそれぞれ比較
されて、全て一致していると判断された場合には、ステ
ップP808に処理が移行されてMIDIデータがMI
DI信号に変換されてバッファ回路7を介し演奏部12
へ出力される。
【0108】ステップP806において出力時刻データ
と時刻カウンタの値が一致していないと判断された場合
は、ステップP807に処理が移行されて、出力時刻デ
ータの示す時刻が時刻カウンタの示す時刻を越えている
か否かが判断される。越えていると判断された場合は、
ステップP808に処理が移行されてMIDIデータの
出力が実行される。この処理により、例えば制御部1の
処理時間によりMIDIデータの出力が出力時刻データ
の指定する時刻に間に合わなかった場合でも、少ない遅
れ時間でMIDIデータを出力させることができる。ま
た、もともと出力時刻データが同じ値で演奏データメモ
リ2に記憶されているような場合でも、メモリに記憶さ
れた順番でMIDIデータを出力させることができる。
【0109】ステップP808でMIDIデータが出力
された後、ステップP809においてポインタ変数Pr
の値がインクリメントされて、次に読み出す演奏データ
が記憶されたリングバッファの記憶領域がポインタ変数
に指示される。次いで、ステップP810において、M
IDIデータの出力される時間間隔に応じて計数される
出力間隔カウンタの計数値がリセットされ、ステップP
811においてMIDI出力空フラグが”0”にリセッ
トされた後、タイマ割り込み処理が終了される。出力間
隔カウンタについては次に述べる。
【0110】MIDI信号によって制御されるをMID
I機器は、MIDI信号の受信される時間間隔が所定時
間、例えば300msecを越えた場合に、MIDI信号を
伝送する信号経路に断線が発生したと判断する。したが
って、例えば演奏の時間間隔が長く300msecを越えて
しまう場合は、MIDI信号を送出する装置がアクティ
ブセンシング信号と呼ばれる所定値の信号を演奏の合間
にMIDI機器へ出力することによって、MIDI信号
の出力時間間隔を300msec以内にしなくてはならな
い。ステップP812〜P815は、このアクティブセ
ンシング信号を生成させる処理である。
【0111】ステップP812において、前回MIDI
信号を出力してからの時間が280msecを経過している
か否かが判断される。この判断は出力間隔カウンタの値
を参照することによってなされる。この出力間隔カウン
タは上述の時刻カウンタと同期してインクリメントされ
るカウンタであり、例えば20msecでインクリメントさ
れる時刻カウンタTC1と同期している場合は、出力間
隔カウンタの値が14に等しい場合、前回MIDI信号
を出力してからの時間が280msecを経過していると判
断される。出力間隔が280msecを経過していると判断
された場合は、ステップP813において上述したアク
ティブセンシング信号が演奏部12へ出力された後、ス
テップP814において出力間隔カウンタの値がリセッ
トされて、タイマ割り込み処理が終了される。また、出
力間隔が280msecを経過していないと判断された場合
は、ステップP815において出力間隔カウンタが時刻
カウンタTC1に同期してインクリメントされた後、タ
イマ割り込み処理が終了される。
【0112】図16は、MIDI出力割り込み処理を説
明するフローチャート図である。MIDI出力割り込み
処理は、MIDI信号の出力が完了した後に発生する割
り込み処理であり、MIDI信号が出力中の状態におい
ては発生しない。
【0113】図16のステップP901において、リン
グバッファのデータが空になっているか否かが判断され
る。リングバッファのデータが空になっていると判断さ
れた場合は、ステップP902に処理が移行されてリン
グバッファ空フラグに”1”がセットされ、その後ステ
ップP909に処理が移行され、MIDI出力空フラグ
が”1”にセットされた後、MIDI出力割り込み処理
が終了される。
【0114】ステップP901においてリングバッファ
のデータが空になっていないと判断された場合は、ステ
ップP903に処理が移行されて、リングバッファに所
定数以上のデータが記憶されているか否かが判断され
る。リングバッファに所定数以上のデータが記憶されて
いないと判断された場合は、ステップP909に処理が
移行されて、MIDI出力空フラグが”1”にセットさ
れた後、MIDI出力割り込み処理が終了される。
【0115】ステップP903においてリングバッファ
に所定数以上のデータが記憶されていると判断された場
合は、ステップP904に処理が移行されて、出力時刻
データと時刻カウンタの値が一致しているか否かが判断
される。例えば、上述した時刻カウンタTC0〜TC2
の値と、それに対応したデータとして演奏データメモリ
2に記憶された出力時刻T0〜T2の値がそれぞれ比較
されて、全て一致していると判断された場合には、ステ
ップP906に処理が移行されてMIDIデータがMI
DI信号に変換されてバッファ回路7を介し演奏部12
へ出力される。
【0116】ステップP904において出力時刻データ
と時刻カウンタの値が一致していないと判断された場合
は、ステップP905に処理が移行されて、出力時刻デ
ータの示す時刻が時刻カウンタの示す時刻を越えている
か否かが判断される。越えていると判断された場合は、
ステップP906に処理が移行されてMIDIデータの
出力が実行される。この処理により、例えば制御部1の
処理時間によりMIDIデータの出力が出力時刻データ
の指定する時刻に間に合わなかった場合でも、少ない遅
れ時間でMIDIデータを出力させることができる。ま
た、もともと出力時刻データが同じ値で演奏データメモ
リ2に記憶されているような場合でも、メモリに記憶さ
れた順番でMIDIデータを出力させることができる。
【0117】ステップP906でMIDIデータが出力
された後、ステップP907においてポインタ変数Pr
の値がインクリメントされて、次に読み出す演奏データ
が記憶されたリングバッファの記憶領域がポインタ変数
に指示される。次いで、ステップP908において、上
述した出力間隔カウンタの計数値がリセットされ後、M
IDI出力割り込み処理が終了される。
【0118】このように、MIDI出力割り込み処理の
ステップP901〜P908では、タイマ割り込み処理
のステップP803〜P810と同じ処理が行われる。
タイマ割り込み処理でMIDIデータが出力された後、
ステップP811においてMIDI出力空フラグがリセ
ットされると、MIDI出力割り込み処理のステップP
909においてこのMIDI出力空フラグがリセットさ
れるまで、タイマ割り込み処理のステップP802〜P
815の処理は実行されない。MIDI出力割り込み処
理はMIDI信号の出力が完了するまで発生しない処理
なので、ステップP802〜P815の処理はMIDI
信号の出力が完了するまで実行されないことになる。つ
まり、MIDI出力割り込み処理を設けることによっ
て、MIDI信号の出力中に、タイマ割り込み処理のス
テップP802〜P815においてMIDI信号または
アクティブ信号を出力させる処理が実行されるのを防い
でいる。
【0119】以上説明したように、本発明によれば、曲
コードに対応する演奏指定データ領域に記憶されたペー
ジ番号が演奏データメモリ2から制御部1に読み出さ
れ、このページ番号に対応する演奏データ領域に記憶さ
れたメロディ番号が演奏データメモリ2から制御部1に
読み出されて音データ処理部4に出力され、このメロデ
ィ番号に対応した音データが音データメモリ3から音デ
ータ処理部4に読み出されて音信号に変換され出力され
るとともに音信号の出力を知らせるスタート信号が制御
部1に出力され、このスタート信号が制御部1に入力さ
れた時点からの経過時間が時刻カウンタによって計時さ
れ、ページ番号に対応する演奏データ領域から所定の順
番で読み出された演奏データの出力時刻データが示す時
間を、時刻カウンタの示す時間が越えるか一致すること
を条件として、読み出された演奏データのMIDIデー
タが演奏部12に出力されるので、演奏指定データに記
憶させるページ番号を変えるだけで容易に演奏曲や演奏
順序を変更させることができ、これによりユーザの使い
勝手を向上できる。また、音データと演奏データを別の
メモリに記憶させ、音データの再生に同期を取りながら
演奏データを出力できるので、音データだけ、または演
奏データだけを容易に変更させることができ、ユーザの
使い勝手を向上できる。また、音データと演奏データを
一緒に記憶させる媒体、例えばCDなどを使わずに、R
OMやRAMなどの記憶装置にこれらのデータを記憶さ
せることができるので、製品のコストを低減できる。ま
た、音データと演奏データの記憶に要する作業が例えば
CDなどに比べて容易かつ安価になるので、製品のバリ
エーションを増やせるとともに製品のコストを低減でき
る。
【0120】また本発明によれば、制御部1が所定数の
上記演奏データを記憶可能なリングバッファを有してお
り、演奏データメモリ2から多くとも上記所定数の演奏
データが所定の順番で読み出されてリングバッファに記
憶され、リングバッファから上記所定の順番で読み出さ
れた演奏データの出力時刻データが示す時間を、時刻カ
ウンタの示す時間が越えることを条件として、読み出さ
れた演奏データのMIDI制御データが演奏部12に出
力されるとともに、出力されたこのMIDIデータが記
憶されたリングバッファの記憶領域に、演奏データ領域
から前回読み出した演奏データの、上記所定の順番にお
いて次の演奏データが読み出されて記憶されるので、処
理時間が不足して演奏データメモリ2からMIDIデー
タを読み出すことができない場合でも、リングバッファ
に演奏データが溜まっている限りここから演奏データを
得ることができるので、演奏部12に対するMIDIデ
ータの出力が遅延することを防止できる。
【0121】また本発明によれば、制御部1が、演奏デ
ータメモリ2のアドレスが最上位ビットと最下位ビット
の間で所定個数に分割された所定ビット数の分割アドレ
スにそれぞれ対応する上記所定個数のラッチ信号、およ
び上記所定ビット数の入力アドレスデータを受けて、ラ
ッチ信号に応じて、当該ラッチ信号に対応する分割アド
レスの値を入力アドレスデータに置き換えたアドレスデ
ータを生成し、当該アドレスデータを保持するとともに
演奏データメモリ2へ出力するラッチ回路を有してお
り、演奏データを演奏データメモリ2から読み出す操作
において、アドレスデータに所定のアドレス値を加えて
生成した読み出しアドレスデータにおいて桁上げまたは
借りが生ずる分割アドレスが検出され、当該読み出しア
ドレスデータのうちの、桁上げまたは借りが検出された
当該分割アドレスおよび下位の分割アドレスの値が、入
力アドレスデータとして上記ラッチ回路に順次入力され
るとともに、入力された値の当該分割アドレスに対応す
るラッチ信号がラッチ回路に入力されて、アドレスデー
タの当該分割アドレスの値が当該入力アドレスデータに
置き換えられるので、ラッチ回路にアドレスデータを設
定させる回数を減らすことができ、制御部1の処理の負
担を軽減できる。また、演奏データメモリ2にアドレス
データを設定させるためのアドレス線の数を減らすこと
ができるので、コストを低減できる。
【0122】また、本発明によれば、MIDIデータが
出力される時間間隔が計時され、この時間間隔が所定の
時間より長くなった時点の近傍で、アクティブセンシン
グ信号が生成されて演奏部12に出力されるので、アク
ティブセンシング信号を演奏データメモリ2等に記憶さ
せなくても済み、メモリの記憶容量を節約できるので、
コストを低減できる。
【0123】また、本発明によれば、演奏データメモリ
2や音データメモリ3に例えばフラッシュメモリやハー
ドディスクなどの読み書き可能な記憶装置を用いて、制
御部1にこれらの記憶装置のデータを書き換えさせるデ
ータコードを入力させて、演奏データや音データなどの
データを自由に変更させることもできる。
【発明の効果】本発明によれば、容易に演奏曲や演奏順
序を変更させることができ、これによりユーザの使い勝
手を向上できる。また、音データと演奏データを記憶さ
せる装置、およびこれらの記憶に要する作業を容易かつ
安価にできる。
【図面の簡単な説明】
【図1】図1は、本発明に係る音同期演奏装置の第1の
実施形態を示す回路図である。
【図2】図2は、演奏データメモリのメモリマップを示
す図である。
【図3】図3は、演奏データ領域のメモリマップを示す
図である。
【図4】図4は、本発明の音同期演奏装置のメインルー
チンを説明する第1のフローチャート図である。
【図5】図5は、本発明の音同期演奏装置のメインルー
チンを説明する第2のフローチャート図である。
【図6】図6は、曲コード取得の処理を示すフローチャ
ート図である。
【図7】図7は、リングバッファの動作を説明するため
の図である。
【図8】図8は、演奏データメモリから演奏データを読
み出すメモリリード処理を説明するフローチャート図で
ある。
【図9】図9は、演奏データメモリのアドレス設定回路
を示す回路図である。
【図10】図10は、演奏データメモリのアドレスA3
〜A0にアドレス値を設定する処理を説明するフローチ
ャート図である。
【図11】図11は、演奏データメモリのアドレスA7
〜A0にアドレス値を設定する処理を説明するフローチ
ャート図である。
【図12】図12は、演奏データメモリのアドレスA1
1〜A0にアドレス値を設定する処理を説明するフロー
チャート図である。
【図13】図13は、演奏データメモリのアドレスA1
5〜A0にアドレス値を設定する処理を説明するフロー
チャート図である。
【図14】図14は、演奏指定データ領域へのアクセス
アドレスを設定する処理を説明するフローチャート図で
ある。
【図15】図15は、タイマ割り込み処理を説明するフ
ローチャート図である。
【図16】図16は、MIDI出力割り込み処理を説明
するフローチャート図である。
【図17】図17は、CDプレーヤーおよびMIDIデ
コーダを備える従来の演奏装置を示すブロック図であ
る。
【符号の説明】
1…制御部(制御手段)、2…演奏データメモリ(演奏
データ記憶手段)、3…音データメモリ(音データ記憶
手段)、4…音データ処理部(音データ処理手段)、5
および6…D/Aコンバータ、7…バッファ回路、10
0…音同期演奏制御部(音同期演奏制御装置)、8,
9,16,17…増幅回路、10,11,18,19…ス
ピーカ、12…演奏部(演奏手段)、20〜23…ラッ
チ回路、2…演奏データメモリ、13…CDプレーヤ
ー、14…MIDIデコーダ、15…演奏部。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 音データを出力するとともに、当該音デ
    ータに対応する演奏制御データを当該音データに同期し
    て出力する音同期演奏制御装置であって、 音指定データを受けて、当該音指定データに応じた上記
    音データを出力するとともに、上記音データの出力を知
    らせるスタート信号を出力する音データ出力手段と、 上記演奏制御データと当該演奏制御データの出力時刻を
    指定する出力時刻データとを含む演奏データならびに上
    記音指定データを、所定のページアドレスから始まる少
    なくとも1つの演奏データ領域に記憶し、上記演奏デー
    タ領域に対応するページ番号を、少なくとも1つの演奏
    指定データ領域に記憶する演奏データ記憶手段と、 演奏指定データおよび上記スタート信号を受けて、当該
    演奏指定データに対応する上記演奏指定データ領域に記
    憶された上記ページ番号を読み出し、当該ページ番号に
    対応する上記演奏データ領域に記憶された上記音指定デ
    ータを読み出して上記音データ出力手段に出力し、上記
    音データの出力を知らせる上記スタート信号が入力され
    た時点からの経過時間に応じて変化する音再生時間デー
    タを生成し、当該演奏データ領域から所定の順番で読み
    出した上記演奏データの上記出力時刻データが示す時間
    と上記音再生時間データが示す時間とを比較し、上記音
    再生時間データの示す時間が上記出力時刻データの示す
    時間を越えるかまたは一致することを条件として、当該
    演奏データの上記演奏制御データを出力する制御手段と
    を有する音同期演奏制御装置。
  2. 【請求項2】 上記音データ出力手段は、 少なくとも1つの上記音データを記憶する音データ記憶
    手段と、 上記音データを指定する音指定データを受けて、当該音
    指定データに応じた上記音データを上記音データ記憶手
    段から読み出して出力するとともに、上記音データの出
    力を知らせるスタート信号を出力する音データ処理手段
    とを含む請求項1に記載の音同期演奏制御装置。
  3. 【請求項3】 上記演奏データ記憶手段は、上記演奏デ
    ータを上記出力時刻データの値に応じた上記所定の順番
    で上記演奏データ領域に記憶する請求項1または2の何
    れかに記載の音同期演奏制御装置。
  4. 【請求項4】 上記制御部は、 所定数の上記演奏データを記憶可能なバッファを含み、 上記演奏指定データおよび上記スタート信号を受けて、
    当該演奏指定データに対応する上記演奏指定データ領域
    に記憶された上記ページ番号を読み出し、当該ページ番
    号に対応する上記演奏データ領域に記憶された多くとも
    上記所定数の上記演奏データを上記所定の順番で読み出
    して上記バッファに記憶し、当該演奏データ領域に記憶
    された上記音指定データを読み出して上記音データ出力
    手段に出力し、上記音データの出力を知らせる上記スタ
    ート信号が入力された時点からの経過時間に応じて変化
    する音再生時間データを生成し、上記バッファから上記
    所定の順番で読み出した上記演奏データの上記出力時刻
    データが示す時間と上記音再生時間データが示す時間と
    を比較し、上記音再生時間データの示す時間が上記出力
    時刻データの示す時間を越えるかまたは一致することを
    条件として、当該演奏データの上記演奏制御データを出
    力するとともに、出力した演奏制御データが記憶された
    上記バッファの記憶領域に、当該演奏データ領域から前
    回読み出した上記演奏データの、上記所定の順番におい
    て次の上記演奏データを読み出して記憶する請求項3に
    記載の音同期演奏制御装置。
  5. 【請求項5】 上記演奏データ記憶手段は、アドレスデ
    ータを受けて、上記アドレスデータの指定するアドレス
    に記憶されたデータを出力し、 上記制御部は、 上記演奏データ記憶手段のアドレスが最上位ビットと最
    下位ビットの間で所定個数に分割された所定ビット数の
    分割アドレスにそれぞれ対応する上記所定個数のラッチ
    信号、および上記所定ビット数の入力アドレスデータを
    受けて、上記ラッチ信号に応じて、当該ラッチ信号に対
    応する上記分割アドレスの値を当該入力アドレスデータ
    に置き換えた上記アドレスデータを生成し、当該アドレ
    スデータを保持するとともに上記演奏データ記憶手段へ
    出力するラッチ回路を含み、 上記演奏データを上記演奏データ記憶手段から読み出す
    操作において、上記アドレスデータに所定のアドレス値
    を加えて生成した読み出しアドレスデータにおいて桁上
    げまたは借りが生ずる上記分割アドレスを検出し、当該
    読み出しアドレスデータのうちの、桁上げまたは借りが
    検出された上記分割アドレスおよび下位の上記分割アド
    レスの値を、上記入力アドレスデータとして上記ラッチ
    回路に順次入力するとともに、上記アドレスデータの当
    該分割アドレスの値を当該入力アドレスデータに置き換
    える上記ラッチ信号を上記ラッチ回路に入力する請求項
    1ないし4の何れかに記載の音同期演奏制御装置。
  6. 【請求項6】 上記制御部は、上記演奏制御データが出
    力される時間間隔を計時し、当該時間間隔が所定の時間
    より長くなった時点の近傍で、所定値を有する上記演奏
    制御信号を出力する請求項1ないし5の何れかに記載の
    音同期演奏制御装置。
  7. 【請求項7】 上記演奏指定データを所定の時刻に生成
    して上記制御部に出力する時計装置を有する請求項1な
    いし6の何れかに記載の音同期演奏制御装置。
  8. 【請求項8】 上記制御部は、データ書き換えコードを
    受けて、当該データ書き換えコードの値に応じて上記演
    奏データ記憶手段に記憶されているデータを書き換える
    請求項1ないし7の何れかに記載の音同期演奏制御装
    置。
  9. 【請求項9】 上記制御部は、データ書き換えコードを
    受けて、当該データ書き換えコードの値に応じて上記音
    データ記憶手段に記憶されているデータを書き換える請
    求項2ないし8の何れかに記載の音同期演奏制御装置。
  10. 【請求項10】 音データを音に変換して出力するとと
    もに、当該音に同期して当該音データに対応する演奏を
    行う音同期演奏装置であって、 音指定データを受けて、当該音指定データに応じた上記
    音データを上記音に変換して出力するとともに、上記音
    の出力を知らせるスタート信号を出力する音出力手段
    と、 上記演奏制御データと当該演奏制御データの出力時刻を
    指定する出力時刻データとを含む演奏データならびに上
    記音指定データを、所定のページアドレスから始まる少
    なくとも1つの演奏データ領域に記憶し、上記演奏デー
    タ領域に対応するページ番号を、少なくとも1つの演奏
    指定データ領域に記憶する演奏データ記憶手段と、 演奏指定データおよび上記スタート信号を受けて、当該
    演奏指定データに対応する上記演奏指定データ領域に記
    憶された上記ページ番号を読み出し、当該ページ番号に
    対応する上記演奏データ領域に記憶された上記音指定デ
    ータを読み出して上記音出力手段に出力し、上記音の出
    力を知らせる上記スタート信号が入力された時点からの
    経過時間に応じて変化する音再生時間データを生成し、
    当該演奏データ領域から所定の順番で読み出した上記演
    奏データの上記出力時刻データが示す時間と上記音再生
    時間データが示す時間とを比較し、上記音再生時間デー
    タの示す時間が上記出力時刻データの示す時間を越える
    かまたは一致することを条件として、当該演奏データの
    上記演奏制御データを出力する制御手段と、 当該演奏制御データを受けて、当該演奏制御データに応
    じて演奏を行う演奏手段とを有する音同期演奏装置。
  11. 【請求項11】 上記音出力手段は、 少なくとも1つの上記音データを記憶する音データ記憶
    手段と、 上記音データを指定する音指定データを受けて、当該音
    指定データに応じた上記音データを上記音データ記憶手
    段から読み出し、読み出した当該音データを音に変換し
    て出力するとともに、上記音の出力を知らせるスタート
    信号を出力する音データ処理手段を含む、 請求項10に記載の音同期演奏装置。
  12. 【請求項12】 上記演奏データ記憶手段は、上記演奏
    データを上記出力時刻データの値に応じた上記所定の順
    番で上記演奏データ領域に記憶する請求項10または1
    1の何れかに記載の音同期演奏装置。
  13. 【請求項13】 上記制御部は、 所定数の上記演奏データを記憶可能なバッファを含み、 上記演奏指定データおよび上記スタート信号を受けて、
    当該演奏指定データに対応する上記演奏指定データ領域
    に記憶された上記ページ番号を読み出し、当該ページ番
    号に対応する上記演奏データ領域に記憶された多くとも
    上記所定数の上記演奏データを上記所定の順番で読み出
    して上記バッファに記憶し、当該演奏データ領域に記憶
    された上記音指定データを読み出して上記音出力手段に
    出力し、上記音の出力を知らせる上記スタート信号が入
    力された時点からの経過時間に応じて変化する音再生時
    間データを生成し、上記バッファから上記所定の順番で
    読み出した上記演奏データの上記出力時刻データが示す
    時間と上記音再生時間データが示す時間とを比較し、上
    記音再生時間データの示す時間が上記出力時刻データの
    示す時間を越えるかまたは一致することを条件として、
    当該演奏データの上記演奏制御データを出力するととも
    に、出力した演奏制御データが記憶された上記バッファ
    の記憶領域に、当該演奏データ領域から前回読み出した
    上記演奏データの、上記所定の順番において次の上記演
    奏データを読み出して記憶する請求項12に記載の音同
    期演奏装置。
  14. 【請求項14】 上記演奏データ記憶手段は、アドレス
    データを受けて、上記アドレスデータの指定するアドレ
    スに記憶されたデータを出力し、 上記制御部は、 上記演奏データ記憶手段のアドレスが最上位ビットと最
    下位ビットの間で所定個数に分割された所定ビット数の
    分割アドレスにそれぞれ対応する上記所定個数のラッチ
    信号、および上記所定ビット数の入力アドレスデータを
    受けて、上記ラッチ信号に応じて、当該ラッチ信号に対
    応する上記分割アドレスの値を当該入力アドレスデータ
    に置き換えた上記アドレスデータを生成し、当該アドレ
    スデータを保持するとともに上記演奏データ記憶手段へ
    出力するラッチ回路を含み、 上記演奏データを上記演奏データ記憶手段から読み出す
    操作において、上記アドレスデータに所定のアドレス値
    を加えて生成した読み出しアドレスデータにおいて桁上
    げまたは借りが生ずる上記分割アドレスを検出し、当該
    読み出しアドレスデータのうちの、桁上げまたは借りが
    検出された上記分割アドレスおよび下位の上記分割アド
    レスの値を、上記入力アドレスデータとして上記ラッチ
    回路に順次入力するとともに、上記アドレスデータの当
    該分割アドレスの値を当該入力アドレスデータに置き換
    える上記ラッチ信号を上記ラッチ回路に入力する請求項
    10ないし13の何れかに記載の音同期演奏装置。
  15. 【請求項15】 上記制御部は、上記演奏制御データが
    出力される時間間隔を計時し、当該時間間隔が所定の時
    間より長くなった時点の近傍で、所定値を有する上記演
    奏制御信号を出力する請求項10ないし14の何れかに
    記載の音同期演奏装置。
  16. 【請求項16】 上記演奏指定データを所定の時刻に生
    成して上記制御部に出力する時計装置を有する請求項1
    0ないし15の何れかに記載の音同期演奏装置。
  17. 【請求項17】 上記制御部は、データ書き換えコード
    を受けて、当該データ書き換えコードの値に応じて上記
    演奏データ記憶手段に記憶されているデータを書き換え
    る請求項10ないし16の何れかに記載の音同期演奏装
    置。
  18. 【請求項18】 上記制御部は、データ書き換えコード
    を受けて、当該データ書き換えコードの値に応じて上記
    音データ記憶手段に記憶されているデータを書き換える
    請求項11ないし17の何れかに記載の音同期演奏装
    置。
  19. 【請求項19】 音データに応じた音を発生するととも
    に、当該音に同期して、当該音データに対応した演奏制
    御データを演奏手段に出力する音同期演奏制御方法であ
    って、 演奏を指定する第1の手順と、 指定された当該演奏に対応する上記音データを取得する
    第2の手順と、 取得された当該音データに応じた音を発生するととも
    に、当該音の発生時点からの経過時間を計時する第3の
    手順と、 指定された当該演奏に対応する、上記演奏制御データと
    当該演奏制御データの出力時刻を指定する出力時刻デー
    タとを含む演奏データを取得する第4の手順と、 上記経過時間が、取得された当該演奏データの上記出力
    時刻データが示す時間を越えるかまたは一致することを
    条件として、当該演奏データの上記演奏制御データを上
    記演奏手段に出力する第5の手順とを有する音同期演奏
    制御方法。
  20. 【請求項20】 上記第4の手順は、指定された当該演
    奏に対応する複数の上記演奏データの1つを所定の順番
    で取得し、 上記第4手順および第5の手順は交互に反復する請求項
    19に記載の音同期演奏制御方法。
  21. 【請求項21】 上記第4の手順は、 上記演奏データが上記所定の順番で記憶された演奏デー
    タ記憶手段に対して上記演奏データのアドレスを指定す
    るアドレスデータを保持するとともに、当該アドレスデ
    ータを上記演奏データ記憶手段に入力して上記演奏デー
    タを読み出す第6の手順と、 上記演奏データ記憶手段のアドレスが最上位ビットと最
    下位ビットの間で所定個数に分割された所定ビット数の
    分割アドレスのうち、上記アドレスデータに所定のアド
    レス値を加えた読み出しアドレスデータに桁上げまたは
    借りが生ずる上記分割アドレスを検出する第7の手順
    と、 上記アドレスデータのうちの、上記第7の手順で検出さ
    れた上記分割アドレスおよび下位の上記分割アドレスの
    値を、上記読み出しアドレスデータの当該分割アドレス
    の値に置き換えて保持する第8の手順とを含む請求項2
    0に記載の音同期演奏制御方法。
JP2000145489A 2000-05-17 2000-05-17 音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法 Pending JP2001324980A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000145489A JP2001324980A (ja) 2000-05-17 2000-05-17 音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000145489A JP2001324980A (ja) 2000-05-17 2000-05-17 音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法

Publications (1)

Publication Number Publication Date
JP2001324980A true JP2001324980A (ja) 2001-11-22

Family

ID=18651989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000145489A Pending JP2001324980A (ja) 2000-05-17 2000-05-17 音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法

Country Status (1)

Country Link
JP (1) JP2001324980A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009204841A (ja) * 2008-02-27 2009-09-10 Konami Digital Entertainment Co Ltd 音声処理装置、音声処理方法、ならびに、プログラム
WO2017221407A1 (ja) * 2016-06-24 2017-12-28 ヤマハ株式会社 同期設定装置、配信システム、同期設定方法、及びプログラム
CN111933099A (zh) * 2020-07-27 2020-11-13 北京爱其科技有限公司 基于单片机的midi音乐播放电路和方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009204841A (ja) * 2008-02-27 2009-09-10 Konami Digital Entertainment Co Ltd 音声処理装置、音声処理方法、ならびに、プログラム
JP4714230B2 (ja) * 2008-02-27 2011-06-29 株式会社コナミデジタルエンタテインメント 音声処理装置、音声処理方法、ならびに、プログラム
WO2017221407A1 (ja) * 2016-06-24 2017-12-28 ヤマハ株式会社 同期設定装置、配信システム、同期設定方法、及びプログラム
JPWO2017221433A1 (ja) * 2016-06-24 2019-01-31 ヤマハ株式会社 同期設定装置、配信システム、同期設定方法、及びプログラム
US10917465B2 (en) 2016-06-24 2021-02-09 Yamaha Corporation Synchronization setting device and distribution system
CN111933099A (zh) * 2020-07-27 2020-11-13 北京爱其科技有限公司 基于单片机的midi音乐播放电路和方法

Similar Documents

Publication Publication Date Title
US5270480A (en) Toy acting in response to a MIDI signal
JP4839605B2 (ja) 電子機器
JPH04339000A (ja) 音楽再生装置
US5796913A (en) Video disk and video reproduction device which automatically extracts reproduction control data from a disk and subsequently modifies a control program which was stored in a ROM
JP2001324980A (ja) 音同期演奏制御装置およびこれを含む音同期演奏装置ならびに音同期演奏制御方法
JP3591227B2 (ja) カラオケ装置
JPH0652662A (ja) ディジタルオーディオ機器
JP2001252466A (ja) 外部ディスクbgmを選択可能なゲーム機
KR100467575B1 (ko) 배경 화면/사운드의 변경 기능을 갖는 비디오 재생/기록시스템 및 배경 화면/사운드 변경 방법
JP6531432B2 (ja) プログラム、音源装置及び音響信号生成装置
JP4031308B2 (ja) 自動演奏プログラム
JP4759995B2 (ja) 電子機器およびそのための制御方法
JP4120979B2 (ja) 波形再生装置
JP4236570B2 (ja) 波形再生装置および波形再生プログラム
JP3127873B2 (ja) 波形再生方法、波形再生装置、波形出力回路およびシーケンス再生装置
JPH10149161A (ja) カラオケ装置
JPH03186898A (ja) カラオケ装置の効果音出力装置
KR100186559B1 (ko) 음장종류 기억 및 제어방법
JP6681240B2 (ja) 電子楽器システム、楽曲再生制御装置、及び電子楽器
JPH10149165A (ja) 波形記録再生装置
JPH06150540A (ja) デイスク再生装置
JP3235557B2 (ja) 波形再生装置、波形録音再生装置、波形出力回路、波形入出力回路、波形再生方法および波形録音再生方法
JP4983211B2 (ja) オーディオ再生装置
JPH08146976A (ja) 通信カラオケシステム及び通信カラオケ方法
JPH07168589A (ja) カラオケ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040831