JPH10116077A - 自動演奏装置のテンポ制御装置及びテンポ制御方法 - Google Patents
自動演奏装置のテンポ制御装置及びテンポ制御方法Info
- Publication number
- JPH10116077A JPH10116077A JP8291133A JP29113396A JPH10116077A JP H10116077 A JPH10116077 A JP H10116077A JP 8291133 A JP8291133 A JP 8291133A JP 29113396 A JP29113396 A JP 29113396A JP H10116077 A JPH10116077 A JP H10116077A
- Authority
- JP
- Japan
- Prior art keywords
- tempo
- automatic performance
- data
- switch
- time interval
- 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.)
- Withdrawn
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【課題】 本発明は、人のリズミカルな動作にあわせて
テンポを変更することのできる自動演奏装置のテンポ制
御装置を提供することを目的とする。 【解決手段】MIDIデータに基づいて伴奏を行う自動
演奏装置のテンポ制御装置であって、時間間隔を指示す
る加速度センサ131と、該加速度センサ131で指示
された時間間隔に基づきテンポ値を算出するテンポ値算
出手段10と、該テンポ値算出手段で算出されたテンポ
値に応じたテンポに自動演奏のテンポを変更するテンポ
変更手段10、16とを備えた。
テンポを変更することのできる自動演奏装置のテンポ制
御装置を提供することを目的とする。 【解決手段】MIDIデータに基づいて伴奏を行う自動
演奏装置のテンポ制御装置であって、時間間隔を指示す
る加速度センサ131と、該加速度センサ131で指示
された時間間隔に基づきテンポ値を算出するテンポ値算
出手段10と、該テンポ値算出手段で算出されたテンポ
値に応じたテンポに自動演奏のテンポを変更するテンポ
変更手段10、16とを備えた。
Description
【0001】
【発明の属する技術分野】本発明は自動演奏装置のテン
ポ制御装置及びテンポ制御方法に関し、特に人のリズミ
カルな動作にあわせてテンポを制御する技術に関する。
ポ制御装置及びテンポ制御方法に関し、特に人のリズミ
カルな動作にあわせてテンポを制御する技術に関する。
【0002】
【従来の技術】従来、自動的に伴奏音を発生する装置と
してカラオケ装置や自動伴奏装置が知られている。前者
は伴奏にあわせて人が歌を歌う時に、後者は伴奏にあわ
せて人が曲を演奏する時にそれぞれ使用される。以下に
おいては、上記のような伴奏音を発生する装置を自動演
奏装置と総称する。
してカラオケ装置や自動伴奏装置が知られている。前者
は伴奏にあわせて人が歌を歌う時に、後者は伴奏にあわ
せて人が曲を演奏する時にそれぞれ使用される。以下に
おいては、上記のような伴奏音を発生する装置を自動演
奏装置と総称する。
【0003】ところで、近年、MIDI規格に従って作
成されたMIDI形式の自動演奏データに基づいて音楽
を発生する技術が普及し、広い分野で応用されている。
かかる技術を利用したものとして、例えば、所謂通信カ
ラオケ装置が知られている。この通信カラオケ装置で
は、ホスト局に蓄えられているMIDI形式の自動演奏
データを通信回線を使用してダウンロードし、一旦、自
装置内の記憶装置に格納する。その後、該記憶装置から
該自動演奏データを順次読み出して再生することにより
伴奏音を発生する。また、自動伴奏装置は、例えばリー
ドオンリメモリ(以下、「ROM」という)やフロッピ
ーディスク等といった記憶装置に蓄えられているMID
I形式の自動演奏データを順次読み出して再生すること
により伴奏音を発生する。
成されたMIDI形式の自動演奏データに基づいて音楽
を発生する技術が普及し、広い分野で応用されている。
かかる技術を利用したものとして、例えば、所謂通信カ
ラオケ装置が知られている。この通信カラオケ装置で
は、ホスト局に蓄えられているMIDI形式の自動演奏
データを通信回線を使用してダウンロードし、一旦、自
装置内の記憶装置に格納する。その後、該記憶装置から
該自動演奏データを順次読み出して再生することにより
伴奏音を発生する。また、自動伴奏装置は、例えばリー
ドオンリメモリ(以下、「ROM」という)やフロッピ
ーディスク等といった記憶装置に蓄えられているMID
I形式の自動演奏データを順次読み出して再生すること
により伴奏音を発生する。
【0004】このような自動演奏装置では、伴奏のテン
ポを予め設定し或いは演奏途中でマニュアル操作によっ
て変更できるようになっている。このテンポの変更は、
自動演奏装置に備えられたテンポ制御装置によって行わ
れる。テンポ制御装置は、例えばテンポを規定する値
(以下、「テンポ値」という)を記憶するテンポレジス
タと、テンポをマニュアル操作で変更するためのテンポ
操作子と、このテンポ操作子の操作に応じてテンポレジ
スタの内容を変更することによりテンポを変えるテンポ
制御部とで構成されている。
ポを予め設定し或いは演奏途中でマニュアル操作によっ
て変更できるようになっている。このテンポの変更は、
自動演奏装置に備えられたテンポ制御装置によって行わ
れる。テンポ制御装置は、例えばテンポを規定する値
(以下、「テンポ値」という)を記憶するテンポレジス
タと、テンポをマニュアル操作で変更するためのテンポ
操作子と、このテンポ操作子の操作に応じてテンポレジ
スタの内容を変更することによりテンポを変えるテンポ
制御部とで構成されている。
【0005】
【発明が解決しようとする課題】ところで、従来の自動
演奏装置では、例えばアップダウンスイッチ、テンキ
ー、ジョグダイヤル等といった操作子を操作することに
よりテンポを指示する数値をテンポ制御装置に直接入力
したり、或いはロータリタイプ又はスライドタイプのボ
リューム型操作子を操作することによりテンポを設定す
るようになっている。従って、曲の途中でテンポを歌手
又は演奏者の好みのテンポに変更することが非常に困難
であり、特にテンポを頻繁に変更するような場合は、歌
又は演奏が疎かになってしまうという問題があった。
演奏装置では、例えばアップダウンスイッチ、テンキ
ー、ジョグダイヤル等といった操作子を操作することに
よりテンポを指示する数値をテンポ制御装置に直接入力
したり、或いはロータリタイプ又はスライドタイプのボ
リューム型操作子を操作することによりテンポを設定す
るようになっている。従って、曲の途中でテンポを歌手
又は演奏者の好みのテンポに変更することが非常に困難
であり、特にテンポを頻繁に変更するような場合は、歌
又は演奏が疎かになってしまうという問題があった。
【0006】本発明は、かかる問題を解消するためにな
されたものであり、その目的は、人のリズミカルな動作
にあわせてテンポを変更することのできる自動演奏装置
のテンポ制御装置及びテンポ制御方法を提供することに
ある。
されたものであり、その目的は、人のリズミカルな動作
にあわせてテンポを変更することのできる自動演奏装置
のテンポ制御装置及びテンポ制御方法を提供することに
ある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の自動演奏装置のテンポ制御装置は、演奏情
報に基づいて自動演奏を行う自動演奏装置のテンポ制御
装置であって、時間間隔を指示する指示手段と、該指示
手段で指示された時間間隔に基づきテンポ値を算出する
テンポ値算出手段と、該テンポ値算出手段で算出された
テンポ値に応じたテンポに自動演奏のテンポを変更する
テンポ変更手段、とを備えて構成されている。
に、本発明の自動演奏装置のテンポ制御装置は、演奏情
報に基づいて自動演奏を行う自動演奏装置のテンポ制御
装置であって、時間間隔を指示する指示手段と、該指示
手段で指示された時間間隔に基づきテンポ値を算出する
テンポ値算出手段と、該テンポ値算出手段で算出された
テンポ値に応じたテンポに自動演奏のテンポを変更する
テンポ変更手段、とを備えて構成されている。
【0008】本テンポ制御装置が適用される自動演奏装
置には、カラオケ装置、自動伴奏装置の他、演奏情報に
基づいて伴奏音を発生する種々の装置を含む。演奏情報
としては、例えばMIDI形式の自動演奏データ、その
他の種々の形式の自動演奏データを用いることができ
る。
置には、カラオケ装置、自動伴奏装置の他、演奏情報に
基づいて伴奏音を発生する種々の装置を含む。演奏情報
としては、例えばMIDI形式の自動演奏データ、その
他の種々の形式の自動演奏データを用いることができ
る。
【0009】上記指示手段としては、手動スイッチ、フ
ットスイッチ又は加速度センサを用いることができる。
手動スイッチ及びフットスイッチは、押圧された時に有
意信号を出力する自己復帰型のスイッチで構成するのが
好ましい。また、加速度センサとしては、一定以上の加
速が加えられた時に有意信号を出力するあらゆるセンサ
を用いることができる。
ットスイッチ又は加速度センサを用いることができる。
手動スイッチ及びフットスイッチは、押圧された時に有
意信号を出力する自己復帰型のスイッチで構成するのが
好ましい。また、加速度センサとしては、一定以上の加
速が加えられた時に有意信号を出力するあらゆるセンサ
を用いることができる。
【0010】人は、一般に、手又は足を動かすことによ
りリズムをとる。これは、かかる動作によって時間間隔
を発生していることに等しい。従って、上記手動スイッ
チを手でリズムをとりながら押圧することにより時間間
隔を指示するができる。同様に、上記フットスイッチを
足でリズムをとりながら押圧することにより時間間隔を
指示することができる。更に同様に、上記加速度センサ
を、例えば手、足その他人体の一部に取り付け、これを
リズムをとりながら動かすことにより時間間隔を指示す
ることができる。
りリズムをとる。これは、かかる動作によって時間間隔
を発生していることに等しい。従って、上記手動スイッ
チを手でリズムをとりながら押圧することにより時間間
隔を指示するができる。同様に、上記フットスイッチを
足でリズムをとりながら押圧することにより時間間隔を
指示することができる。更に同様に、上記加速度センサ
を、例えば手、足その他人体の一部に取り付け、これを
リズムをとりながら動かすことにより時間間隔を指示す
ることができる。
【0011】上記指示手段からの有意信号の時間間隔
は、例えばタイマによって一定時間間隔で発生される信
号をカウンタで計数することによって検出できる。この
時間間隔は、テンポ値算出手段でテンポ値に変換され
る。テンポ値算出手段は、例えばCPUで構成すること
ができる。このテンポ値算出手段で算出されたテンポ値
に基づいて、テンポ変更手段で自動演奏のテンポを変更
する。テンポ変更手段は、例えばCPUで構成すること
ができる。
は、例えばタイマによって一定時間間隔で発生される信
号をカウンタで計数することによって検出できる。この
時間間隔は、テンポ値算出手段でテンポ値に変換され
る。テンポ値算出手段は、例えばCPUで構成すること
ができる。このテンポ値算出手段で算出されたテンポ値
に基づいて、テンポ変更手段で自動演奏のテンポを変更
する。テンポ変更手段は、例えばCPUで構成すること
ができる。
【0012】また、同様目的で、本発明の自動演奏装置
のテンポ制御方法は、演奏情報に基づいて自動演奏を行
う自動演奏装置のテンポ制御方法であって、時間間隔を
指示する工程と、該指示された時間間隔に基づきテンポ
値を算出する工程と、該算出されたテンポ値に応じたテ
ンポに自動演奏のテンポを変更する工程、とを有する。
のテンポ制御方法は、演奏情報に基づいて自動演奏を行
う自動演奏装置のテンポ制御方法であって、時間間隔を
指示する工程と、該指示された時間間隔に基づきテンポ
値を算出する工程と、該算出されたテンポ値に応じたテ
ンポに自動演奏のテンポを変更する工程、とを有する。
【0013】上記時間間隔としては、手動スイッチの操
作時間間隔、フットスイッチの操作時間間隔又は加速度
センサで検出された時間間隔を用いることができる。
作時間間隔、フットスイッチの操作時間間隔又は加速度
センサで検出された時間間隔を用いることができる。
【0014】
【発明の実施の形態】以下、本発明の自動演奏装置のテ
ンポ制御装置及びテンポ制御方法の実施の形態につき図
面を参照しながら詳細に説明する。
ンポ制御装置及びテンポ制御方法の実施の形態につき図
面を参照しながら詳細に説明する。
【0015】(実施の形態1)本実施の形態に係るテン
ポ制御装置は、1曲分の伴奏音を自動的に発生する自動
伴奏装置に適用されるものとする。
ポ制御装置は、1曲分の伴奏音を自動的に発生する自動
伴奏装置に適用されるものとする。
【0016】図1は、本発明のテンポ制御装置が適用さ
れた自動演奏装置の実施の形態1の構成を示すブロック
図である。この自動演奏装置は、中央処理装置(以下、
「CPU」という)10、プログラムメモリ11、ワー
クメモリ12、パネルインタフェース回路13、楽音発
生器14、タイマA16、MIDIコントローラ17及
びFDコントローラ18を有し、これら各要素間はシス
テムバス30で相互に接続されている。システムバス3
0は、例えばアドレス線、データ線及び制御信号線等で
成り、上記各要素間でデータを送受するために使用され
る。
れた自動演奏装置の実施の形態1の構成を示すブロック
図である。この自動演奏装置は、中央処理装置(以下、
「CPU」という)10、プログラムメモリ11、ワー
クメモリ12、パネルインタフェース回路13、楽音発
生器14、タイマA16、MIDIコントローラ17及
びFDコントローラ18を有し、これら各要素間はシス
テムバス30で相互に接続されている。システムバス3
0は、例えばアドレス線、データ線及び制御信号線等で
成り、上記各要素間でデータを送受するために使用され
る。
【0017】CPU10は、プログラムメモリ11に格
納されているプログラムに従って動作することにより、
自動演奏装置の全体を制御する。このCPU10には、
3つの割込信号入力端子INT1、INT2及びINT
3が設けられている。割込信号入力端子INT1にはM
IDIコントローラ17から、割込信号入力端子INT
2にはタイマA16から、割込信号入力端子INT3に
はタイマB20からそれぞれ割込信号が供給される。こ
のCPU10が行う処理の詳細については後にフローチ
ャートを参照しながら説明する。
納されているプログラムに従って動作することにより、
自動演奏装置の全体を制御する。このCPU10には、
3つの割込信号入力端子INT1、INT2及びINT
3が設けられている。割込信号入力端子INT1にはM
IDIコントローラ17から、割込信号入力端子INT
2にはタイマA16から、割込信号入力端子INT3に
はタイマB20からそれぞれ割込信号が供給される。こ
のCPU10が行う処理の詳細については後にフローチ
ャートを参照しながら説明する。
【0018】プログラムメモリ11はROMで構成され
ている。このプログラムメモリ11には、CPU10を
動作させるためのプログラム、CPU10が各種処理に
用いる種々の固定データ等が記憶されている。このプロ
グラムメモリ11の内容はCPU10により読み出され
る。即ち、CPU10は、プログラムメモリ11からプ
ログラム(命令)を読み出して解釈・実行することによ
り自動演奏装置としての各種機能を実現すると共に、固
定データを読み出して各種処理に使用する。
ている。このプログラムメモリ11には、CPU10を
動作させるためのプログラム、CPU10が各種処理に
用いる種々の固定データ等が記憶されている。このプロ
グラムメモリ11の内容はCPU10により読み出され
る。即ち、CPU10は、プログラムメモリ11からプ
ログラム(命令)を読み出して解釈・実行することによ
り自動演奏装置としての各種機能を実現すると共に、固
定データを読み出して各種処理に使用する。
【0019】ワークメモリ12はランダムアクセスメモ
リ(以下、「RAM」という)で構成され、CPU10
によって使用される種々のデータを一時的に記憶する。
このワークメモリ12には、例えば図3に示すように、
バッファ、レジスタ、カウンタ、フラグ等が設けられて
いる。これらの詳細については、後述する。
リ(以下、「RAM」という)で構成され、CPU10
によって使用される種々のデータを一時的に記憶する。
このワークメモリ12には、例えば図3に示すように、
バッファ、レジスタ、カウンタ、フラグ等が設けられて
いる。これらの詳細については、後述する。
【0020】パネルインタフェース回路13には、操作
パネル130及び加速度センサ131が接続されてい
る。操作パネル130は、自動演奏装置と操作者とがコ
ミュニケーションするための各種スイッチ、表示器等が
設けられている。この操作パネル130の具体的な構成
については後述する。
パネル130及び加速度センサ131が接続されてい
る。操作パネル130は、自動演奏装置と操作者とがコ
ミュニケーションするための各種スイッチ、表示器等が
設けられている。この操作パネル130の具体的な構成
については後述する。
【0021】加速度センサ131は、自動演奏中の伴奏
のテンポを随時変更するために使用される。この加速度
センサ131は、該加速度センサ131に加えられた加
速度に応じた信号を出力する。この信号は、加速度セン
サ131内部に設けられたコンパレータ(図示しない)
によって所定の基準値と比較される。この比較の結果、
該信号が基準値より大きければオン、そうでなければオ
フになるセンサ信号が出力される。即ち、センサ信号
は、加速度が一定値以上になった場合にオンになり、そ
うでなければオフになる信号である。この加速度センサ
131は、例えば腕に取り付け或いは手に握って振る
(リズムをとる)ようにして使用される。
のテンポを随時変更するために使用される。この加速度
センサ131は、該加速度センサ131に加えられた加
速度に応じた信号を出力する。この信号は、加速度セン
サ131内部に設けられたコンパレータ(図示しない)
によって所定の基準値と比較される。この比較の結果、
該信号が基準値より大きければオン、そうでなければオ
フになるセンサ信号が出力される。即ち、センサ信号
は、加速度が一定値以上になった場合にオンになり、そ
うでなければオフになる信号である。この加速度センサ
131は、例えば腕に取り付け或いは手に握って振る
(リズムをとる)ようにして使用される。
【0022】パネルインタフェース回路13は、操作パ
ネル130及び加速度センサ131とCPU10との間
のデータの送受を制御する。即ち、パネルインタフェー
ス回路13は、操作パネル130からの各スイッチのオ
ン/オフを示す信号及び加速度センサ131からのセン
サ信号をそれぞれ受け取り、これらの信号に基づきパネ
ルデータを生成してCPU10に送る。また、パネルイ
ンタフェース回路13は、CPU10から受け取った表
示データを操作パネル130に送り出す。これにより、
操作パネル130上の表示器へのデータの表示、インジ
ケータの点灯/消灯の制御等が行われる。
ネル130及び加速度センサ131とCPU10との間
のデータの送受を制御する。即ち、パネルインタフェー
ス回路13は、操作パネル130からの各スイッチのオ
ン/オフを示す信号及び加速度センサ131からのセン
サ信号をそれぞれ受け取り、これらの信号に基づきパネ
ルデータを生成してCPU10に送る。また、パネルイ
ンタフェース回路13は、CPU10から受け取った表
示データを操作パネル130に送り出す。これにより、
操作パネル130上の表示器へのデータの表示、インジ
ケータの点灯/消灯の制御等が行われる。
【0023】楽音発生器14は、CPU10からシステ
ムバス30を介して送られてくるデータに基づいて楽音
信号を生成する。この楽音発生器14で生成された楽音
信号は、スピーカシステム15に送られる。スピーカシ
ステム15は、例えば増幅器、スピーカ等で構成されて
おり、楽音発生器14からの楽音信号を音響信号に変換
して放音する。
ムバス30を介して送られてくるデータに基づいて楽音
信号を生成する。この楽音発生器14で生成された楽音
信号は、スピーカシステム15に送られる。スピーカシ
ステム15は、例えば増幅器、スピーカ等で構成されて
おり、楽音発生器14からの楽音信号を音響信号に変換
して放音する。
【0024】タイマA16は、テンポに比例した時間間
隔で割込信号を発生する。この割込信号の発生間隔は、
CPU10からタイマA16にセットされるタイマデー
タによって決定される。このタイマA16で発生された
割込信号はCPU10の割込信号入力端子INT2に供
給される。本実施の形態1では、4分音符を1/48の
分解能(精度)で制御するものとする。この4分音符の
1/48時間を1ステップタイムという。従って、タイ
マA16は、1個の4分音符につき48回の割込信号を
発生するように制御される。
隔で割込信号を発生する。この割込信号の発生間隔は、
CPU10からタイマA16にセットされるタイマデー
タによって決定される。このタイマA16で発生された
割込信号はCPU10の割込信号入力端子INT2に供
給される。本実施の形態1では、4分音符を1/48の
分解能(精度)で制御するものとする。この4分音符の
1/48時間を1ステップタイムという。従って、タイ
マA16は、1個の4分音符につき48回の割込信号を
発生するように制御される。
【0025】タイマB20は、一定時間間隔(例えば1
ミリ秒間隔)で割込信号を発生する。この割込信号の発
生間隔は、例えばハードウエア的に固定されている。こ
の割込信号は、加速度センサ131からのセンサ信号が
オンになってから次にオンになるまでの時間間隔を計数
するために使用される。なお、この割込信号の発生間隔
は、一例として1ミリ秒としたが、これに限定されず任
意の値を用いることができる。このタイマB20で発生
された割込信号はCPU10の割込信号入力端子INT
3に供給される。
ミリ秒間隔)で割込信号を発生する。この割込信号の発
生間隔は、例えばハードウエア的に固定されている。こ
の割込信号は、加速度センサ131からのセンサ信号が
オンになってから次にオンになるまでの時間間隔を計数
するために使用される。なお、この割込信号の発生間隔
は、一例として1ミリ秒としたが、これに限定されず任
意の値を用いることができる。このタイマB20で発生
された割込信号はCPU10の割込信号入力端子INT
3に供給される。
【0026】MIDIコントローラ17は、外部に接続
されるMIDI機器(図示しない)と自動演奏装置との
間のMIDIデータの転送を制御する。MIDI機器と
しては、例えばMIDIデータを処理可能な電子楽器、
音源モジュール、コンピュータ、シーケンサ等が挙げら
れる。MIDIコントローラ17は、MIDI機器から
シリアルに送られてくるMIDIデータを受信し、これ
が例えば1バイト分になった時点で割込信号を発生す
る。この割込信号は、CPU10の割込信号入カ端子I
NT1に供給される。CPU10は、この割込信号に応
答して、該MIDIコントローラ17から1バイトのM
IDIデータを受け取り、これをワークメモリ12に設
けられた受信バッファに格納する。
されるMIDI機器(図示しない)と自動演奏装置との
間のMIDIデータの転送を制御する。MIDI機器と
しては、例えばMIDIデータを処理可能な電子楽器、
音源モジュール、コンピュータ、シーケンサ等が挙げら
れる。MIDIコントローラ17は、MIDI機器から
シリアルに送られてくるMIDIデータを受信し、これ
が例えば1バイト分になった時点で割込信号を発生す
る。この割込信号は、CPU10の割込信号入カ端子I
NT1に供給される。CPU10は、この割込信号に応
答して、該MIDIコントローラ17から1バイトのM
IDIデータを受け取り、これをワークメモリ12に設
けられた受信バッファに格納する。
【0027】FDコントローラ18は、フロツピーディ
スクドライブ装置19を制御する。フロッピーディスク
ドライブ装置19に装着されるフロッピーディスクに
は、例えば、自動演奏データが記憶されている。そし
て、操作パネル130に設けられた所定のスイッチ(図
示しない)を操作することにより、フロッピーディスク
に記録されている上記自動演奏データがFDコントロー
ラ18を介してワークメモリ12の自動演奏データエリ
アにロードされる。このようにフロッピーディスクドラ
イブ装置19を備えたことにより、本自動演奏装置では
種々の自動演奏を行わせることができる。
スクドライブ装置19を制御する。フロッピーディスク
ドライブ装置19に装着されるフロッピーディスクに
は、例えば、自動演奏データが記憶されている。そし
て、操作パネル130に設けられた所定のスイッチ(図
示しない)を操作することにより、フロッピーディスク
に記録されている上記自動演奏データがFDコントロー
ラ18を介してワークメモリ12の自動演奏データエリ
アにロードされる。このようにフロッピーディスクドラ
イブ装置19を備えたことにより、本自動演奏装置では
種々の自動演奏を行わせることができる。
【0028】図2は自動演奏装置の操作パネル130の
構成を示す。小節/拍表示器132は5桁の7セグメン
トLED表示器で構成されている。この小節/拍表示器
132の上位4桁には、現在自動演奏している小節を記
憶している小節レジスタBRRの内容が表示され、下位
1桁には現在自動演奏している拍を記憶している拍レジ
スタBTRの内容が表示される。この小節レジスタBR
R及び拍レジスタBTRの内容は自動演奏の進行に従っ
て順次更新されるので、小節/拍表示器132の表示内
容も同様に更新される。
構成を示す。小節/拍表示器132は5桁の7セグメン
トLED表示器で構成されている。この小節/拍表示器
132の上位4桁には、現在自動演奏している小節を記
憶している小節レジスタBRRの内容が表示され、下位
1桁には現在自動演奏している拍を記憶している拍レジ
スタBTRの内容が表示される。この小節レジスタBR
R及び拍レジスタBTRの内容は自動演奏の進行に従っ
て順次更新されるので、小節/拍表示器132の表示内
容も同様に更新される。
【0029】テンポ表示器133は、例えば3桁の7セ
グメントLED表示器で構成されている。このテンポ表
示器133には、現在設定されているテンポ値が表示さ
れる。現在設定されているテンポ値はワークメモリ12
に設けられたテンポレジスタTPRに格納されている。
グメントLED表示器で構成されている。このテンポ表
示器133には、現在設定されているテンポ値が表示さ
れる。現在設定されているテンポ値はワークメモリ12
に設けられたテンポレジスタTPRに格納されている。
【0030】なお、本実施の形態1では、小節/拍表示
器132及びテンポ表示器133を7セグメントのLE
D表示器で構成したが、これらはLCD表示器、CRT
表示器、その他の種々の表示器で構成することができ
る。
器132及びテンポ表示器133を7セグメントのLE
D表示器で構成したが、これらはLCD表示器、CRT
表示器、その他の種々の表示器で構成することができ
る。
【0031】アップダウンスイッチ134はテンポをマ
ニュアルで設定・変更するために使用される。このアッ
プダウンスイッチ134は、アップスイッチ134Aと
ダウンスイッチ134Bとで構成されている。そして、
アップスイッチ134Aが押される度にテンポが増加さ
れ、ダウンスイッチ134Bが押される度にテンポが減
少される。そして、このアップダウンスイッチ134で
テンポが変更されるとテンポレジスタTPR内のテンポ
値が変更されると共に、変更後のテンポ値がテンポ表示
器133に表示される。
ニュアルで設定・変更するために使用される。このアッ
プダウンスイッチ134は、アップスイッチ134Aと
ダウンスイッチ134Bとで構成されている。そして、
アップスイッチ134Aが押される度にテンポが増加さ
れ、ダウンスイッチ134Bが押される度にテンポが減
少される。そして、このアップダウンスイッチ134で
テンポが変更されるとテンポレジスタTPR内のテンポ
値が変更されると共に、変更後のテンポ値がテンポ表示
器133に表示される。
【0032】ストップスイッチ135は、自動演奏を停
止させるために使用される。即ち、自動演奏中にストッ
プスイッチ135が押されると自動演奏は停止される。
プレイ/ポーズスイッチ136は、自動演奏を開始させ
又は一時停止させるために使用される。自動演奏の停止
中又はポーズ(一時停止)中に、このプレイ/ポーズス
イッチ136が押されるとLED表示器140が点灯さ
れて自動演奏が開始又は再開され、自動演奏中に押され
るとLED表示器140が消灯されてポーズ状態にな
る。
止させるために使用される。即ち、自動演奏中にストッ
プスイッチ135が押されると自動演奏は停止される。
プレイ/ポーズスイッチ136は、自動演奏を開始させ
又は一時停止させるために使用される。自動演奏の停止
中又はポーズ(一時停止)中に、このプレイ/ポーズス
イッチ136が押されるとLED表示器140が点灯さ
れて自動演奏が開始又は再開され、自動演奏中に押され
るとLED表示器140が消灯されてポーズ状態にな
る。
【0033】FFスイッチ137は、テンポを上げる
(早送りする)ために使用される。即ち、自動演奏中に
FFスイッチ137が押されるとLED表示器141が
点灯されて早送りが行われ、次に押されるとLED表示
器141が消灯されて元のテンポに戻る。REWスイッ
チ138は、再生位置を戻すために使用される。即ち、
このREWスイッチ138が押下されるとLED表示器
142が点灯されて小節/拍数が減少(リワインド)す
る。このリワインド状態は小節/拍表示器132で確認
することができる。リワインド状態で再度REWスイッ
チ138が押されるとLED表示器142が消灯され、
その時点の小節及び拍の位置から自動演奏が再開され
る。
(早送りする)ために使用される。即ち、自動演奏中に
FFスイッチ137が押されるとLED表示器141が
点灯されて早送りが行われ、次に押されるとLED表示
器141が消灯されて元のテンポに戻る。REWスイッ
チ138は、再生位置を戻すために使用される。即ち、
このREWスイッチ138が押下されるとLED表示器
142が点灯されて小節/拍数が減少(リワインド)す
る。このリワインド状態は小節/拍表示器132で確認
することができる。リワインド状態で再度REWスイッ
チ138が押されるとLED表示器142が消灯され、
その時点の小節及び拍の位置から自動演奏が再開され
る。
【0034】リピートスイッチ139は、曲を繰り返し
自動演奏させるために使用される。即ち、自動演奏を開
始させる前にこのリピートスイッチ139が押されると
LED表示器143が点灯され、曲の最後まで自動演奏
が行われると最初に戻って同じ曲の自動演奏が繰り返さ
れる。この状態で再度リピートスイッチ139が押され
るとLED表示器143が消灯されて自動演奏の繰り返
し再生状態は解除される。
自動演奏させるために使用される。即ち、自動演奏を開
始させる前にこのリピートスイッチ139が押されると
LED表示器143が点灯され、曲の最後まで自動演奏
が行われると最初に戻って同じ曲の自動演奏が繰り返さ
れる。この状態で再度リピートスイッチ139が押され
るとLED表示器143が消灯されて自動演奏の繰り返
し再生状態は解除される。
【0035】操作パネル130には、上記以外に複数の
音色の中から所望の音色を選択する音色選択操作子、音
量を調整する音量操作子、フロッピーディスクからのデ
ータをワークメモリ12にロードするための操作子等が
設けられているが図示及び説明は省略する。
音色の中から所望の音色を選択する音色選択操作子、音
量を調整する音量操作子、フロッピーディスクからのデ
ータをワークメモリ12にロードするための操作子等が
設けられているが図示及び説明は省略する。
【0036】上記のように構成された操作パネル130
上のスイッチの状態及び加速度センサ131の状態は、
以下のようにしてCPU10によって認識される。即
ち、CPU10はパネルインタフェース回路13に対し
てスキャン指令を送出する。パネルインタフェース回路
13は、このスキャン指令を受け取ると、操作パネル1
30から各スイッチのオン/オフを示す信号を受け取る
と共に、加速度センサ131からセンサ信号を受け取
る。そして、これらの信号に基づいて、例えば図4に示
すように、操作パネル130上の各スイッチ及び加速度
センサ131をそれぞれ1ビットに対応させたビット列
で成るパネルデータを生成し、これをCPU10に送
る。CPU10は、このパネルデータに基づいてイベン
トの有無を判断し、各スイッチの操作に応じたパネル処
理を行う。パネル処理の詳細については、後にフローチ
ャートを参照しながら説明する。
上のスイッチの状態及び加速度センサ131の状態は、
以下のようにしてCPU10によって認識される。即
ち、CPU10はパネルインタフェース回路13に対し
てスキャン指令を送出する。パネルインタフェース回路
13は、このスキャン指令を受け取ると、操作パネル1
30から各スイッチのオン/オフを示す信号を受け取る
と共に、加速度センサ131からセンサ信号を受け取
る。そして、これらの信号に基づいて、例えば図4に示
すように、操作パネル130上の各スイッチ及び加速度
センサ131をそれぞれ1ビットに対応させたビット列
で成るパネルデータを生成し、これをCPU10に送
る。CPU10は、このパネルデータに基づいてイベン
トの有無を判断し、各スイッチの操作に応じたパネル処
理を行う。パネル処理の詳細については、後にフローチ
ャートを参照しながら説明する。
【0037】次に、本実施の形態1でワークメモリ12
に定義されているバッファ、レジスタ、カウンタ、フラ
グ等のうち主なものについて説明する。
に定義されているバッファ、レジスタ、カウンタ、フラ
グ等のうち主なものについて説明する。
【0038】受信バッファは、後述するMIDIコント
ローラ17から受信したMIDIデータを一時記憶す
る。この受信バッファは、例えば図3及び図5に示すよ
うに、ワークメモリ12に定義されたカウンタCTR、
ポインタPTR及び記憶エリアとで構成され、CPU1
0の制御によりFIFO(ファーストイン−フアースト
アウト)メモリとして動作する。記憶エリアは、例えば
256個のエントリを有し、各エントリにはMIDIデ
ータが順次記憶される。
ローラ17から受信したMIDIデータを一時記憶す
る。この受信バッファは、例えば図3及び図5に示すよ
うに、ワークメモリ12に定義されたカウンタCTR、
ポインタPTR及び記憶エリアとで構成され、CPU1
0の制御によりFIFO(ファーストイン−フアースト
アウト)メモリとして動作する。記憶エリアは、例えば
256個のエントリを有し、各エントリにはMIDIデ
ータが順次記憶される。
【0039】カウンタCTRは、図5に示すように、受
信したMIDIデータを書き込むべき記憶エリアの位置
を指定する。このカウンタCTRは、常に最後に書き込
まれたMIDIデータの次のアドレスを指示するように
制御される。このカウンタCTRの初期値は「0」であ
り、MIDIデータが書き込まれる度にインクリメント
され、その結果が最大値TOPを越えた場合は最小値B
TMに循環する。
信したMIDIデータを書き込むべき記憶エリアの位置
を指定する。このカウンタCTRは、常に最後に書き込
まれたMIDIデータの次のアドレスを指示するように
制御される。このカウンタCTRの初期値は「0」であ
り、MIDIデータが書き込まれる度にインクリメント
され、その結果が最大値TOPを越えた場合は最小値B
TMに循環する。
【0040】ポインタPTRは記憶エリア中の、読み出
すべきMIDIデータの位置を指示する。このポインタ
PTRは、常に最後に読み出されたMIDIデータの次
のアドレス、つまり次に読み出すべきMIDIデータの
アドレスを指示するように制御される。このポインタP
TRの初期値は「0」であり、MIDIデータが読み込
まれる度にインクリメントされ、その結果が最大値TO
Pを越えた場合は最小値BTMに循環する。
すべきMIDIデータの位置を指示する。このポインタ
PTRは、常に最後に読み出されたMIDIデータの次
のアドレス、つまり次に読み出すべきMIDIデータの
アドレスを指示するように制御される。このポインタP
TRの初期値は「0」であり、MIDIデータが読み込
まれる度にインクリメントされ、その結果が最大値TO
Pを越えた場合は最小値BTMに循環する。
【0041】この受信バッファは、カウンタCTRの内
容とポインタPTRの内容とが一致するときはエンプテ
イであると判断される。なお、仮にカウンタCTRをイ
ンクリメントすればその内容がポインタPTRの内容に
一致することとなる場合は受信バツファは満杯である。
従って、この場合はMIDIデータの受信を抑止するよ
うに制御される。カウンタCTRの内容とポインタPT
Rの内容とが一致しない場合は、受信バッファにMID
Iデータが存在する旨が判断される。図5はこの状態を
示しており、図中の斜線部分はMIDIデータを示す。
容とポインタPTRの内容とが一致するときはエンプテ
イであると判断される。なお、仮にカウンタCTRをイ
ンクリメントすればその内容がポインタPTRの内容に
一致することとなる場合は受信バツファは満杯である。
従って、この場合はMIDIデータの受信を抑止するよ
うに制御される。カウンタCTRの内容とポインタPT
Rの内容とが一致しない場合は、受信バッファにMID
Iデータが存在する旨が判断される。図5はこの状態を
示しており、図中の斜線部分はMIDIデータを示す。
【0042】この受信バッファへのMIDIデータの書
込みは後述するMIDI−IN割込処理ルーチンで行わ
れ、受信バッファからのMIDIデータの読み出しは後
述するMIDI−IN処理ルーチンで行われる。なお、
本実施の形態1では受信バッファをワークメモリ12内
に形成し、MIDIデータの書込み/読み出しの制御は
CPU10で行うように構咸したが、これらの代わりに
周知のFIFOメモリ素子を用いて構成してもよい。
込みは後述するMIDI−IN割込処理ルーチンで行わ
れ、受信バッファからのMIDIデータの読み出しは後
述するMIDI−IN処理ルーチンで行われる。なお、
本実施の形態1では受信バッファをワークメモリ12内
に形成し、MIDIデータの書込み/読み出しの制御は
CPU10で行うように構咸したが、これらの代わりに
周知のFIFOメモリ素子を用いて構成してもよい。
【0043】小節レジスタBRRは、小節の進行を管理
するために使用される。この小節レジスタBRRでは、
10進数4桁分を計数できる。また、拍レジスタBTR
は小節内の拍の進行を管理するために使用される。この
拍レジスタBTRは、1ステップタイム毎にカウントア
ップされ、例えば4拍子の場合は4拍、つまり192ス
テップを計数したらゼロにラウンドする。同時に小節レ
ジスタBRRがインクリメントされる。なお、小節/拍
表示器132へ表示される拍の値は、例えば4拍子の場
合は、拍レジスタBTRの内容を48で割って得られる
商に1を加えることによって得られる。
するために使用される。この小節レジスタBRRでは、
10進数4桁分を計数できる。また、拍レジスタBTR
は小節内の拍の進行を管理するために使用される。この
拍レジスタBTRは、1ステップタイム毎にカウントア
ップされ、例えば4拍子の場合は4拍、つまり192ス
テップを計数したらゼロにラウンドする。同時に小節レ
ジスタBRRがインクリメントされる。なお、小節/拍
表示器132へ表示される拍の値は、例えば4拍子の場
合は、拍レジスタBTRの内容を48で割って得られる
商に1を加えることによって得られる。
【0044】次に、自動演奏データエリアについて説明
する。この自動演奏データエリアには、複数の曲に対応
する複数の自動演奏データが曲毎に記憶される。各自動
演奏データは、通常は例えばリズムパート、べースパー
ト及びアカンパニメントパート(例えばコードパート
等)といった複数のパートで構成され、各パート毎に発
音の有無、音色の割当等の制御が可能となっているが、
説明を簡単にするために、本実施の形態1の自動演奏デ
ータは上記各パートが混合された1つのパートで構成さ
れているものとする。各自動演奏データは、例えば図6
に示すような、音符データの集合で構成されている。各
音符データは、ステップタイム、ノートナンバ(キーコ
ード)、ゲートタイム及びべロシティといった4バイト
のデータで構成されている。各音符データは、1つの音
符に対応している。ここに、ステップタイムは発音を開
始する時刻を指定するために使用され、小節の先頭から
のステップ数を表す。ノートナンバは音高を規定するた
めに使用される。ゲートタイムは発音時間を規定するた
めに使用される。ベロシティは発音の強さ(音量)を規
定するために使用される。
する。この自動演奏データエリアには、複数の曲に対応
する複数の自動演奏データが曲毎に記憶される。各自動
演奏データは、通常は例えばリズムパート、べースパー
ト及びアカンパニメントパート(例えばコードパート
等)といった複数のパートで構成され、各パート毎に発
音の有無、音色の割当等の制御が可能となっているが、
説明を簡単にするために、本実施の形態1の自動演奏デ
ータは上記各パートが混合された1つのパートで構成さ
れているものとする。各自動演奏データは、例えば図6
に示すような、音符データの集合で構成されている。各
音符データは、ステップタイム、ノートナンバ(キーコ
ード)、ゲートタイム及びべロシティといった4バイト
のデータで構成されている。各音符データは、1つの音
符に対応している。ここに、ステップタイムは発音を開
始する時刻を指定するために使用され、小節の先頭から
のステップ数を表す。ノートナンバは音高を規定するた
めに使用される。ゲートタイムは発音時間を規定するた
めに使用される。ベロシティは発音の強さ(音量)を規
定するために使用される。
【0045】テンポレジスタTPRは、現在設定されて
いるテンポ値を記憶する。このテンポレジスタTPR内
のテンポ値を変更することにより、自動演奏のテンポが
変更される。リズムカウンタRCTは、加速度センサ1
31からのセンサ信号がオンになる時間間隔を計数す
る。このリズムカウンタRCTの内容に基づいてテンポ
レジスタTPR内のテンポ値を変更することにより、現
在のテンポが変更される。自動演奏フラグは、現在自動
演奏装置が自動演奏中であることを記憶する。なお、上
記以外のバッファ、レジスタ、カウンタ、フラグ等につ
いては以下において出現する都度説明する。
いるテンポ値を記憶する。このテンポレジスタTPR内
のテンポ値を変更することにより、自動演奏のテンポが
変更される。リズムカウンタRCTは、加速度センサ1
31からのセンサ信号がオンになる時間間隔を計数す
る。このリズムカウンタRCTの内容に基づいてテンポ
レジスタTPR内のテンポ値を変更することにより、現
在のテンポが変更される。自動演奏フラグは、現在自動
演奏装置が自動演奏中であることを記憶する。なお、上
記以外のバッファ、レジスタ、カウンタ、フラグ等につ
いては以下において出現する都度説明する。
【0046】次に、本発明のテンポ制御装置が適用され
た自動演奏装置の実施の形態1の動作につき、図7〜図
11に示したフローチャートを参照しながら詳細に説明
する。
た自動演奏装置の実施の形態1の動作につき、図7〜図
11に示したフローチャートを参照しながら詳細に説明
する。
【0047】(1)メイン処理(図7) 図7は、本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置のメイン処理を示すフローチャート
であり、電源投入により起動される。電源が投入される
と、先ず、初期化処理が行われる(ステップS10)。
この初期化処理では、CPU10の内部状態が初期状態
に設定されると共に、ワークメモリ12に定義されてい
るレジスタ、カウンタ或いはフラグ等に初期値が設定さ
れる。
された自動演奏装置のメイン処理を示すフローチャート
であり、電源投入により起動される。電源が投入される
と、先ず、初期化処理が行われる(ステップS10)。
この初期化処理では、CPU10の内部状態が初期状態
に設定されると共に、ワークメモリ12に定義されてい
るレジスタ、カウンタ或いはフラグ等に初期値が設定さ
れる。
【0048】この初期化処理が終了すると、次いでパネ
ルスキャン処理が行われる(ステップS11)。この処
理では、CPU10はパネルインタフェース回路13に
対してスキャン指令を送出する。これにより、パネルイ
ンタフェース回路13は、既に説明したように、パネル
データを生成してCPU10に送る。CPU10は、こ
のパネルデータ(以下、「新パネルデータ」という)を
ワークメモリ12の所定領域に格納する。次いで、前回
のパネルスキャン処理で読み込んで既にワークメモリ1
2に記憶されているパネルデータ(以下、「旧パネルデ
ータ」という)と上記新パネルデータとの排他的論理和
演算を行う。この演算結果は、イベントマップとしてワ
ークメモリ12の所定領域に格納される。
ルスキャン処理が行われる(ステップS11)。この処
理では、CPU10はパネルインタフェース回路13に
対してスキャン指令を送出する。これにより、パネルイ
ンタフェース回路13は、既に説明したように、パネル
データを生成してCPU10に送る。CPU10は、こ
のパネルデータ(以下、「新パネルデータ」という)を
ワークメモリ12の所定領域に格納する。次いで、前回
のパネルスキャン処理で読み込んで既にワークメモリ1
2に記憶されているパネルデータ(以下、「旧パネルデ
ータ」という)と上記新パネルデータとの排他的論理和
演算を行う。この演算結果は、イベントマップとしてワ
ークメモリ12の所定領域に格納される。
【0049】次いで、イベントの有無が調べられる(ス
テップS12)。これは、上記イベントマップの中にオ
ンになっているビットが1つ以上存在するかどうかを調
べることにより行われる。その結果、オンになっている
ビットが1つも存在しなければイベントはなかったもの
と、1つ以上存在すればイベントがあったものとそれぞ
れ判断される。このステップS12でイベントがあるこ
とが判断されるとパネル制御処理が行われ(ステップS
13)、そうでなければ該パネル制御処理はスキップさ
れる。このパネル制御処理の詳細については後述する。
テップS12)。これは、上記イベントマップの中にオ
ンになっているビットが1つ以上存在するかどうかを調
べることにより行われる。その結果、オンになっている
ビットが1つも存在しなければイベントはなかったもの
と、1つ以上存在すればイベントがあったものとそれぞ
れ判断される。このステップS12でイベントがあるこ
とが判断されるとパネル制御処理が行われ(ステップS
13)、そうでなければ該パネル制御処理はスキップさ
れる。このパネル制御処理の詳細については後述する。
【0050】次いで、受信バッファに受信データ(MI
DIデータ)があるかどうかが調べられる(ステップS
14)。これは、上述したように、カウンタCTRの内
容とポインタPTRの内容とが一致するかどうかを調べ
ることにより行われる。ここで受信バッファに受信デー
タがあることが判断されるとMIDI−IN処理が行わ
れ(ステップS15)、そうでなければ該MIDI−I
N処理はスキップされる。
DIデータ)があるかどうかが調べられる(ステップS
14)。これは、上述したように、カウンタCTRの内
容とポインタPTRの内容とが一致するかどうかを調べ
ることにより行われる。ここで受信バッファに受信デー
タがあることが判断されるとMIDI−IN処理が行わ
れ(ステップS15)、そうでなければ該MIDI−I
N処理はスキップされる。
【0051】MIDI−IN処理では、MIDIコント
ローラ17から入カされて受信バッファに格納されてい
るMIDIデータに対する処理が行われる。即ち、MI
DI−IN処理では、先ず、受信バッファから1つのM
IDIメツセージが取り出され、そのMIDIデータに
従って発音、消音、その他の処理が行われる。例えばノ
ートオンメッセージを受信した場合は、そのメッセージ
に対応する制御データが楽音発生器14に送られる。こ
れにより、楽音発生器14では楽音信号が生成され、こ
の楽音信号がスピーカシステム15に供給されることに
より自動演奏音が発生する。
ローラ17から入カされて受信バッファに格納されてい
るMIDIデータに対する処理が行われる。即ち、MI
DI−IN処理では、先ず、受信バッファから1つのM
IDIメツセージが取り出され、そのMIDIデータに
従って発音、消音、その他の処理が行われる。例えばノ
ートオンメッセージを受信した場合は、そのメッセージ
に対応する制御データが楽音発生器14に送られる。こ
れにより、楽音発生器14では楽音信号が生成され、こ
の楽音信号がスピーカシステム15に供給されることに
より自動演奏音が発生する。
【0052】次いで、自動演奏処理が行われる(ステッ
プS16)。この処理は、自動演奏データを自動演奏デ
ータエリアから読み出して楽音を再生する処理である。
この自動演奏処理の概要は以下の通りである。即ち、先
ず自動演奏データが自動演奏データエリアから読み出さ
れる。そして、自動演奏データに含まれるステップタイ
ムが調べられ、当該自動演奏データは発音タイミングに
至っているかどうかが調べられる。そして、発音タイミ
ングに至っていることが判断されると、その自動演奏デ
ータに対応する制御データが、上記と同様に楽音発生器
14に送られる。これにより、楽音発生器14では楽音
信号が生成され、この楽音信号がスピーカシステム15
に供給されることにより自動演奏音が発生される。な
お、この自動演奏処理で発音が開始された音は、後述す
るタイマA割込処理ルーチンのゲートタイム更新処理
(ステップS55)で消音される。
プS16)。この処理は、自動演奏データを自動演奏デ
ータエリアから読み出して楽音を再生する処理である。
この自動演奏処理の概要は以下の通りである。即ち、先
ず自動演奏データが自動演奏データエリアから読み出さ
れる。そして、自動演奏データに含まれるステップタイ
ムが調べられ、当該自動演奏データは発音タイミングに
至っているかどうかが調べられる。そして、発音タイミ
ングに至っていることが判断されると、その自動演奏デ
ータに対応する制御データが、上記と同様に楽音発生器
14に送られる。これにより、楽音発生器14では楽音
信号が生成され、この楽音信号がスピーカシステム15
に供給されることにより自動演奏音が発生される。な
お、この自動演奏処理で発音が開始された音は、後述す
るタイマA割込処理ルーチンのゲートタイム更新処理
(ステップS55)で消音される。
【0053】次いで、「その他の処理」が行われる(ス
テップS17)。この「その他の処理」では、フロッピ
ーディスクの制御、音色選択処理、ボリューム設定処理
等が行われるが、本発明とは直接関係しないので説明は
省略する。その後、ステップS11に戻り、以下同様の
処理が繰り返される。上記のステップS11〜S17の
繰り返し実行により、操作パネル130の操作やMID
Iデータの受信に応じた処理が実行され、自動演奏装置
としての各種機能が実現される。
テップS17)。この「その他の処理」では、フロッピ
ーディスクの制御、音色選択処理、ボリューム設定処理
等が行われるが、本発明とは直接関係しないので説明は
省略する。その後、ステップS11に戻り、以下同様の
処理が繰り返される。上記のステップS11〜S17の
繰り返し実行により、操作パネル130の操作やMID
Iデータの受信に応じた処理が実行され、自動演奏装置
としての各種機能が実現される。
【0054】(2)MIDI−IN割込処理(図8) このMIDI−IN割込処理は、メイン処理に割り込ん
で実行される。このMIDI−IN割込処理では、MI
DIコントローラ17で受信されたMIDIデータが受
信バッファに格納される。MIDIコントローラ17
は、外部のMIDI機器からシリアルに送られてくるM
IDIデータが1バイト分になると割込信号を発生す
る。この割込信号はCPU10の割込信号入カ端子IN
T1に供給される。これにより、CPU10は割込モー
ドに入り、本MIDI−IN割込処理ルーチンがコール
される。
で実行される。このMIDI−IN割込処理では、MI
DIコントローラ17で受信されたMIDIデータが受
信バッファに格納される。MIDIコントローラ17
は、外部のMIDI機器からシリアルに送られてくるM
IDIデータが1バイト分になると割込信号を発生す
る。この割込信号はCPU10の割込信号入カ端子IN
T1に供給される。これにより、CPU10は割込モー
ドに入り、本MIDI−IN割込処理ルーチンがコール
される。
【0055】MIDI−IN割込処理では、先ず、MI
DIコントローラ17からMIDIデータが読み込ま
れ、これが受信バッファのカウンタCTRで示される位
置に書き込まれる(ステップS20)。次いで、カウン
タCTRがインクリメントされ(ステップS21)、そ
の結果が記憶エリアの最大値TOPを越えたかどうかが
調べられる(ステップS22)。そして、最大値TOP
を越えていないことが判断されるとシーケンスは割り込
まれた位置にリターンする。一方、上記ステップS22
で最大値TOPを越えたことが判断されると、カウンタ
CTRの内容が最小値BTMに書き換えられ(ステップ
S23)、その後、シーケンスは割り込まれた位置にリ
ターンする。これにより、最大値TOPから最小値BT
Mヘラウンドする循環バッファの機能が実現されてい
る。
DIコントローラ17からMIDIデータが読み込ま
れ、これが受信バッファのカウンタCTRで示される位
置に書き込まれる(ステップS20)。次いで、カウン
タCTRがインクリメントされ(ステップS21)、そ
の結果が記憶エリアの最大値TOPを越えたかどうかが
調べられる(ステップS22)。そして、最大値TOP
を越えていないことが判断されるとシーケンスは割り込
まれた位置にリターンする。一方、上記ステップS22
で最大値TOPを越えたことが判断されると、カウンタ
CTRの内容が最小値BTMに書き換えられ(ステップ
S23)、その後、シーケンスは割り込まれた位置にリ
ターンする。これにより、最大値TOPから最小値BT
Mヘラウンドする循環バッファの機能が実現されてい
る。
【0056】なお、図中には示されていないが、カウン
タCTRをインクリメントした結果がポインタPTRの
値を越えることとなる場合は受信バッファは満杯である
ので、MIDIデータの取り込み処理は抑止される。
タCTRをインクリメントした結果がポインタPTRの
値を越えることとなる場合は受信バッファは満杯である
ので、MIDIデータの取り込み処理は抑止される。
【0057】(3)パネル制御処理(図9) 次に、メイン処理ルーチンのステップS13で行われる
パネル制御処理の詳細について、図9のフローチャート
を参照しながら説明する。
パネル制御処理の詳細について、図9のフローチャート
を参照しながら説明する。
【0058】このパネル制御処理ルーチンは、メイン処
理ルーチンのステップS13で操作パネル130上のス
イッチのイベント又は加速度センサ131のイベントが
あったことが判断された場合にコールされる。パネル制
御処理では、先ずアップスイッチ134Aのオンイベン
トがあるかどうかが調べられる(ステップS30)。こ
れは、イベントマップ中のアップスイッチ134Aに対
応するビツト及び新パネルデータ中のアップスイッチ1
34Aに対応するビツトが双方とも「1」であるかどう
かを調べることにより行われる。以下の各スイッチ及び
加速度センサ131のオンイベントの有無も同様の方法
で調べられる。ここでアップスイッチ134Aのオンイ
ベントがあることが判断されるとテンポアップ処理が行
われ(ステップS31)、そうでなければテンポアップ
処理はスキップされる。このテンポアップ処理では、テ
ンポレジスタTPR内のテンポ値がインクリメントされ
てテンポ表示器133に送られる。これにより、更新さ
れたテンポ値が表示される。また、更新されたテンポ値
に対応するテンポを実現するために、テンポに比例した
時間間隔で割込信号を発生させるためのデータがタイマ
A16にセットされる。
理ルーチンのステップS13で操作パネル130上のス
イッチのイベント又は加速度センサ131のイベントが
あったことが判断された場合にコールされる。パネル制
御処理では、先ずアップスイッチ134Aのオンイベン
トがあるかどうかが調べられる(ステップS30)。こ
れは、イベントマップ中のアップスイッチ134Aに対
応するビツト及び新パネルデータ中のアップスイッチ1
34Aに対応するビツトが双方とも「1」であるかどう
かを調べることにより行われる。以下の各スイッチ及び
加速度センサ131のオンイベントの有無も同様の方法
で調べられる。ここでアップスイッチ134Aのオンイ
ベントがあることが判断されるとテンポアップ処理が行
われ(ステップS31)、そうでなければテンポアップ
処理はスキップされる。このテンポアップ処理では、テ
ンポレジスタTPR内のテンポ値がインクリメントされ
てテンポ表示器133に送られる。これにより、更新さ
れたテンポ値が表示される。また、更新されたテンポ値
に対応するテンポを実現するために、テンポに比例した
時間間隔で割込信号を発生させるためのデータがタイマ
A16にセットされる。
【0059】次いで、ダウンスイッチ134Bのオンイ
ベントがあるかどうかが調べられる(ステップS3
2)。そして、ダウンスイッチ134Bのオンイベント
があったことが判断されるとテンポダウン処理が行われ
(ステップS33)、そうでなければテンポダウン処理
はスキップされる。このテンポダウン処理では、テンポ
レジスタTPR内のテンポ値がデクリメントされてテン
ポ表示器133に送られる。これにより、更新されたテ
ンポ値が表示される。また、上記ステップS31の処理
と同様に、テンポに比例した時間間隔で割込信号を発生
させるためのデータがタイマA16にセットされる。
ベントがあるかどうかが調べられる(ステップS3
2)。そして、ダウンスイッチ134Bのオンイベント
があったことが判断されるとテンポダウン処理が行われ
(ステップS33)、そうでなければテンポダウン処理
はスキップされる。このテンポダウン処理では、テンポ
レジスタTPR内のテンポ値がデクリメントされてテン
ポ表示器133に送られる。これにより、更新されたテ
ンポ値が表示される。また、上記ステップS31の処理
と同様に、テンポに比例した時間間隔で割込信号を発生
させるためのデータがタイマA16にセットされる。
【0060】次いで、ストップスイッチ135のオンイ
ベントがあるかどうかが調べられる(ステップS3
4)。ここでストップスイッチ135のオンイベントが
あることが判断されるとストップ処理が行われ(ステッ
プS35)、そうでなければストップ処理はスキップさ
れる。ストップ処理では、自動演奏フラグが「0」にク
リアされる。これにより、自動演奏の進行が停止され
る。
ベントがあるかどうかが調べられる(ステップS3
4)。ここでストップスイッチ135のオンイベントが
あることが判断されるとストップ処理が行われ(ステッ
プS35)、そうでなければストップ処理はスキップさ
れる。ストップ処理では、自動演奏フラグが「0」にク
リアされる。これにより、自動演奏の進行が停止され
る。
【0061】次いで、プレイ/ポーズスイッチ136の
オンイベントがあるかどうかが調べられる(ステップS
36)。ここでプレイ/ポーズスイッチ136のオンイ
ベントがあることが判断されるとプレイ処理が行われ
(ステップS37)、そうでなければプレイ処理はスキ
ップされる。プレイ処理では、上記自動演奏フラグが
「0」、つまり自動演奏停止中にプレイ/ポーズスイッ
チ136が押されたことが判断されると自動演奏フラグ
が「1」にセットされると共に、LED表示器140が
点灯される。これにより、後述するタイマA割込処理
(図10)において小節レジスタBRR及び拍レジスタ
BTRの更新が開始され、自動演奏が進行する。逆に、
自動演奏フラグが「1」、つまり自動演奏中にプレイ/
ポーズスイッチ136が押されたことが判断されると自
動演奏フラグが「0」にクリアされると共に、LED表
示器140が消灯される。これにより、上記ストップス
イッチ135が押された時と同様の処理が行われて自動
演奏が停止する。
オンイベントがあるかどうかが調べられる(ステップS
36)。ここでプレイ/ポーズスイッチ136のオンイ
ベントがあることが判断されるとプレイ処理が行われ
(ステップS37)、そうでなければプレイ処理はスキ
ップされる。プレイ処理では、上記自動演奏フラグが
「0」、つまり自動演奏停止中にプレイ/ポーズスイッ
チ136が押されたことが判断されると自動演奏フラグ
が「1」にセットされると共に、LED表示器140が
点灯される。これにより、後述するタイマA割込処理
(図10)において小節レジスタBRR及び拍レジスタ
BTRの更新が開始され、自動演奏が進行する。逆に、
自動演奏フラグが「1」、つまり自動演奏中にプレイ/
ポーズスイッチ136が押されたことが判断されると自
動演奏フラグが「0」にクリアされると共に、LED表
示器140が消灯される。これにより、上記ストップス
イッチ135が押された時と同様の処理が行われて自動
演奏が停止する。
【0062】次いで、FFスイッチ137のオンイベン
トがあるかどうかが調べられる(ステップS38)。こ
こでFFスイッチ137のオンイベントがあることが判
断されるとFF処理が行われ(ステップS39)、そう
でなければFF処理はスキップされる。FF処理では、
ワークメモリ12に定義されたFFフラグが「0」、つ
まり通常速度で再生中にFFスイッチ137が押された
ことが判断されるとFFフラグが「1」にセットされ、
タイマA16に所定のデータがセットされると共に、L
ED表示器141が点灯される。これにより、テンポが
早くなって高速再生が行われる。逆に、FFフラグが
「1」、つまり高速で再生中にFFスイッチ137が押
されたことが判断されるとFFフラグが「0」にクリア
され、タイマA16に元のデータがリストアされると共
に、LED表示器141が消灯される。これにより、F
Fスイッチ137が押される前のテンポに戻る。
トがあるかどうかが調べられる(ステップS38)。こ
こでFFスイッチ137のオンイベントがあることが判
断されるとFF処理が行われ(ステップS39)、そう
でなければFF処理はスキップされる。FF処理では、
ワークメモリ12に定義されたFFフラグが「0」、つ
まり通常速度で再生中にFFスイッチ137が押された
ことが判断されるとFFフラグが「1」にセットされ、
タイマA16に所定のデータがセットされると共に、L
ED表示器141が点灯される。これにより、テンポが
早くなって高速再生が行われる。逆に、FFフラグが
「1」、つまり高速で再生中にFFスイッチ137が押
されたことが判断されるとFFフラグが「0」にクリア
され、タイマA16に元のデータがリストアされると共
に、LED表示器141が消灯される。これにより、F
Fスイッチ137が押される前のテンポに戻る。
【0063】次いで、REWスイッチ138のオンイベ
ントがあるかどうかが調べられる(ステップS40)。
ここでREWスイッチ138のオンイベントがあること
が判断されるとREW処理が行われ(ステップS4
1)、そうでなければREW処理はスキップされる。R
EW処理では、ワークメモリ12に定義されたREWフ
ラグが「0」、つまり通常速度で再生中にREWスイッ
チ138が押されたことが判断されるとREWフラグが
「1」にセットされ、ワークメモリ12に定義された小
節レジスタBRR及び拍レジスタBTRが所定の速度で
デクリメントされ、その結果が小節/拍表示器132に
送られると共に、LED表示器142が点灯される。こ
れにより、小節/拍表示器132の表示がデクリメント
されながら自動演奏のシーケンスが後退する。なお、こ
のREW処理中には発音は停止される。逆に、FFフラ
グが「1」、つまり高速で再生中にREWスイッチ13
8が押されたことが判断されるとREWフラグが「0」
にクリアされ、LED表示器142が消灯される。これ
により、減少された小節レジスタBRR及び拍レジスタ
BTRの位置から自動演奏が再開される。
ントがあるかどうかが調べられる(ステップS40)。
ここでREWスイッチ138のオンイベントがあること
が判断されるとREW処理が行われ(ステップS4
1)、そうでなければREW処理はスキップされる。R
EW処理では、ワークメモリ12に定義されたREWフ
ラグが「0」、つまり通常速度で再生中にREWスイッ
チ138が押されたことが判断されるとREWフラグが
「1」にセットされ、ワークメモリ12に定義された小
節レジスタBRR及び拍レジスタBTRが所定の速度で
デクリメントされ、その結果が小節/拍表示器132に
送られると共に、LED表示器142が点灯される。こ
れにより、小節/拍表示器132の表示がデクリメント
されながら自動演奏のシーケンスが後退する。なお、こ
のREW処理中には発音は停止される。逆に、FFフラ
グが「1」、つまり高速で再生中にREWスイッチ13
8が押されたことが判断されるとREWフラグが「0」
にクリアされ、LED表示器142が消灯される。これ
により、減少された小節レジスタBRR及び拍レジスタ
BTRの位置から自動演奏が再開される。
【0064】次いで、リピートスイッチ139のオンイ
ベントがあるかどうかが調べられる(ステップS4
2)。ここでリピートスイッチ139のオンイベントが
あることが判断されるとリピート処理が行われ(ステッ
プS43)、そうでなければリピート処理はスキップさ
れる。リピート処理では、ワークメモリ12に定義され
たリビートフラグが「0」であればリピートフラグが
「1」にセットされると共に、LED表示器143が点
灯される。逆に、リピートフラグが「1」であればリピ
ートフラグが「0」にクリアされ、LED表示器143
が消灯される。これにより、1曲分の自動演奏データの
読み出しが終了した時点で、リピートフラグが「1」で
あれば自動演奏のシーケンスは曲の先頭に戻り、同じ自
動演奏が繰り返される。一方、リピートフラグが「0」
であれば自動演奏は停止される。
ベントがあるかどうかが調べられる(ステップS4
2)。ここでリピートスイッチ139のオンイベントが
あることが判断されるとリピート処理が行われ(ステッ
プS43)、そうでなければリピート処理はスキップさ
れる。リピート処理では、ワークメモリ12に定義され
たリビートフラグが「0」であればリピートフラグが
「1」にセットされると共に、LED表示器143が点
灯される。逆に、リピートフラグが「1」であればリピ
ートフラグが「0」にクリアされ、LED表示器143
が消灯される。これにより、1曲分の自動演奏データの
読み出しが終了した時点で、リピートフラグが「1」で
あれば自動演奏のシーケンスは曲の先頭に戻り、同じ自
動演奏が繰り返される。一方、リピートフラグが「0」
であれば自動演奏は停止される。
【0065】次いで、加速度センサ131のオンイベン
トがあるかどうかが調べられる(ステップS44)。こ
こで加速度センサ131のオンイベントがあることが判
断されるとテンポ値算出処理が行われ(ステップS4
5)、そうでなければテンポ値算出処理はスキップされ
る。テンポ値算出処理では、先ず、リズムカウンタRC
Tの内容、つまり加速度センサ131からのセンサ信号
が前回オンになってから今回オンになるまでの時間を表
す時間データが取り出される。そして、この時間データ
に基づいてテンポ値が算出される。
トがあるかどうかが調べられる(ステップS44)。こ
こで加速度センサ131のオンイベントがあることが判
断されるとテンポ値算出処理が行われ(ステップS4
5)、そうでなければテンポ値算出処理はスキップされ
る。テンポ値算出処理では、先ず、リズムカウンタRC
Tの内容、つまり加速度センサ131からのセンサ信号
が前回オンになってから今回オンになるまでの時間を表
す時間データが取り出される。そして、この時間データ
に基づいてテンポ値が算出される。
【0066】次いで、タイマA16が更新される(ステ
ップS46)。即ち、更新されたテンポ値に対応するテ
ンポを実現するために、テンポに比例した時間間隔で割
込信号を発生させるためのデータがタイマA16にセッ
トされる。これにより、自動演奏のテンポは、加速度セ
ンサ131で検出された時間データに応じたテンポにな
るように変更される。
ップS46)。即ち、更新されたテンポ値に対応するテ
ンポを実現するために、テンポに比例した時間間隔で割
込信号を発生させるためのデータがタイマA16にセッ
トされる。これにより、自動演奏のテンポは、加速度セ
ンサ131で検出された時間データに応じたテンポにな
るように変更される。
【0067】次いで、リズムカウンタRCTの内容がク
リアされる(ステップS47)。これにより、加速度セ
ンサ131からのセンサ信号が次回にオンになるまでの
時間の計測が開始される。その後、シーケンスはメイン
処理ルーチンにリターンする。従って、加速度センサ1
31を所望のテンポで振ることにより、そのテンポと同
じになるように自動演奏のテンポが変更されるので、操
作者は、自分の好みのテンポで自動演奏を行わせること
ができる。
リアされる(ステップS47)。これにより、加速度セ
ンサ131からのセンサ信号が次回にオンになるまでの
時間の計測が開始される。その後、シーケンスはメイン
処理ルーチンにリターンする。従って、加速度センサ1
31を所望のテンポで振ることにより、そのテンポと同
じになるように自動演奏のテンポが変更されるので、操
作者は、自分の好みのテンポで自動演奏を行わせること
ができる。
【0068】(4)タイマA割込処理(図10) 次にタイマA割込処理ルーチンについて説明する。この
タイマA割込処理ルーチンは、タイマA16から割込信
号がCPU10の割込信号入力端子INT2に供給され
ることにより起動される。従って、その時点で設定され
ているテンポにおける1ステップタイムに対応する時間
間隔で、換言すればテンポに応じた時間間隔でこのタイ
マA割込処理ルーチンが起動されることになる。
タイマA割込処理ルーチンは、タイマA16から割込信
号がCPU10の割込信号入力端子INT2に供給され
ることにより起動される。従って、その時点で設定され
ているテンポにおける1ステップタイムに対応する時間
間隔で、換言すればテンポに応じた時間間隔でこのタイ
マA割込処理ルーチンが起動されることになる。
【0069】タイマA割込処理では、先ず、自動演奏フ
ラグがオンになっているかどうかが調べられる(ステッ
プS50)。即ち、自動演奏装置が自動演奏中であるか
どうかが調べられる。ここで自動演奏フラグがオンであ
ることが判断されると、拍レジスタBTRの内容がイン
クリメントされ(ステップS51)、その結果が「19
2」以上になったかどうかが調べられる(ステップS5
2)。そして、「192」以上になったことが判断され
ると、拍レジスタBTRがゼロにクリアされ(ステップ
S53)、小節レジスタBRRがインクリメントされる
(ステップS54)。上記ステップS52で「192」
以上でないことが判断されると、ステップS53及びS
54の処理はスキップされる。上記ステップS51〜S
54の処理により、1ステップタイム毎に小節レジスタ
BRRと拍レジスタBTRとが連結された状態でインク
リメントされる機能が実現されている。
ラグがオンになっているかどうかが調べられる(ステッ
プS50)。即ち、自動演奏装置が自動演奏中であるか
どうかが調べられる。ここで自動演奏フラグがオンであ
ることが判断されると、拍レジスタBTRの内容がイン
クリメントされ(ステップS51)、その結果が「19
2」以上になったかどうかが調べられる(ステップS5
2)。そして、「192」以上になったことが判断され
ると、拍レジスタBTRがゼロにクリアされ(ステップ
S53)、小節レジスタBRRがインクリメントされる
(ステップS54)。上記ステップS52で「192」
以上でないことが判断されると、ステップS53及びS
54の処理はスキップされる。上記ステップS51〜S
54の処理により、1ステップタイム毎に小節レジスタ
BRRと拍レジスタBTRとが連結された状態でインク
リメントされる機能が実現されている。
【0070】次いで、ゲートタイムの更新が行われる
(ステップS55)。即ち、残存ゲートタイムを記憶し
ているレジスタ群(ワークメモリ12に設けられてい
る)に含まれる残存ゲートタイムが「0」以外のものは
デクリメントされる。そして、このデクリメントの結
果、新たにゼロになった残存ゲートタイムがあれば、そ
の残存ゲートタイムに対応するキーコードに対してキー
オフ出力が行われ発音が停止される。
(ステップS55)。即ち、残存ゲートタイムを記憶し
ているレジスタ群(ワークメモリ12に設けられてい
る)に含まれる残存ゲートタイムが「0」以外のものは
デクリメントされる。そして、このデクリメントの結
果、新たにゼロになった残存ゲートタイムがあれば、そ
の残存ゲートタイムに対応するキーコードに対してキー
オフ出力が行われ発音が停止される。
【0071】上記ステップS50で自動演奏フラグがオ
ンでないことが判断されると、自動演奏中でないことが
認識され、ゲートタイムの更新のみが行われる。その
後、シーケンスは割り込まれた位置にリターンする。こ
のように、テンポに依存してコールされる本タイマA割
込処理ルーチンで残存ゲートタイムがデクリメントされ
ることにより、テンポに応じた発音の長さが決定され
る。
ンでないことが判断されると、自動演奏中でないことが
認識され、ゲートタイムの更新のみが行われる。その
後、シーケンスは割り込まれた位置にリターンする。こ
のように、テンポに依存してコールされる本タイマA割
込処理ルーチンで残存ゲートタイムがデクリメントされ
ることにより、テンポに応じた発音の長さが決定され
る。
【0072】なお、上記ステップS52では、拍レジス
タBTRの内容が「192」以上であるかどうかを調べ
るように構成されているが、これは1小節が4拍で構成
されている自動演奏曲の場合の例である。従って、1小
節が3拍で構成されている自動演奏曲の場合は上記「1
92」の代わりに「144」が用いられる。
タBTRの内容が「192」以上であるかどうかを調べ
るように構成されているが、これは1小節が4拍で構成
されている自動演奏曲の場合の例である。従って、1小
節が3拍で構成されている自動演奏曲の場合は上記「1
92」の代わりに「144」が用いられる。
【0073】(5)タイマB割込処理(図11) 次にタイマB割込処理ルーチンについて説明する。この
タイマB割込処理ルーチンは、タイマB20から割込信
号がCPU10の割込信号入力端子INT3に供給され
ることにより起動される。従って、1ミリ秒毎にこのタ
イマB割込処理ルーチンが起動されることになる。
タイマB割込処理ルーチンは、タイマB20から割込信
号がCPU10の割込信号入力端子INT3に供給され
ることにより起動される。従って、1ミリ秒毎にこのタ
イマB割込処理ルーチンが起動されることになる。
【0074】タイマB割込処理では、リズムカウンタR
CTのインクリメントが行われる(ステップS60)。
その後、シーケンスは割り込まれた位置にリターンす
る。
CTのインクリメントが行われる(ステップS60)。
その後、シーケンスは割り込まれた位置にリターンす
る。
【0075】上述した実施の形態1では、操作者がテン
ポを指示するために加速度センサ131を用いたが、こ
の加速度センサ131の代わりにフットスイッチを用い
ることができる。この場合、足でリズムをとりながらフ
ットスイッチを踏むことにより自動演奏のテンポを変更
することができる。
ポを指示するために加速度センサ131を用いたが、こ
の加速度センサ131の代わりにフットスイッチを用い
ることができる。この場合、足でリズムをとりながらフ
ットスイッチを踏むことにより自動演奏のテンポを変更
することができる。
【0076】更に、上記加速度センサ131の代わりに
手動スイッチを用いることもできる。この場合、手でリ
ズムをとりながら手動スイッチを押すことにより自動演
奏のテンポを変更することができる。
手動スイッチを用いることもできる。この場合、手でリ
ズムをとりながら手動スイッチを押すことにより自動演
奏のテンポを変更することができる。
【0077】また、本テンポ制御装置は、上述したよう
な1曲分の伴奏音を自動的に発生する自動伴奏装置では
なく、コード検出しながら伴奏を進行する自動伴奏装置
に適用してもよい。
な1曲分の伴奏音を自動的に発生する自動伴奏装置では
なく、コード検出しながら伴奏を進行する自動伴奏装置
に適用してもよい。
【0078】(実施の形態2)本発明の実施の形態2に
係るテンポ制御装置は、通信カラオケ装置に適用される
ものである。
係るテンポ制御装置は、通信カラオケ装置に適用される
ものである。
【0079】図12は、本発明の実施の形態2のテンポ
制御装置が適用された通信カラオケ装置の構成を示すブ
ロック図である。伴奏音を再生する構成及び動作は、上
述した実施の形態1の場合と同じである。この通信カラ
オケ装置は、図1に示した構成要素に、更に通信制御装
置25、ディスプレイ制御装置27及びディスプレイ装
置28が追加されている。
制御装置が適用された通信カラオケ装置の構成を示すブ
ロック図である。伴奏音を再生する構成及び動作は、上
述した実施の形態1の場合と同じである。この通信カラ
オケ装置は、図1に示した構成要素に、更に通信制御装
置25、ディスプレイ制御装置27及びディスプレイ装
置28が追加されている。
【0080】通信制御装置25は、ホスト装置26から
通信回線を介して自動演奏データ及び歌詞データを本カ
ラオケ装置にロードする。これら自動演奏データ及び歌
詞データは、一旦、フロッピーディスクドライブ装置1
9に装着されたフロッピーディスクに格納される。そし
て、これらの各データは伴奏が行われる際にワークメモ
リ12に転送される。なお、上記フロッピーディスクド
ライブ装置19の代わりにハードディスク装置、ICメ
モリ装置、その他の装置を用いることができる。
通信回線を介して自動演奏データ及び歌詞データを本カ
ラオケ装置にロードする。これら自動演奏データ及び歌
詞データは、一旦、フロッピーディスクドライブ装置1
9に装着されたフロッピーディスクに格納される。そし
て、これらの各データは伴奏が行われる際にワークメモ
リ12に転送される。なお、上記フロッピーディスクド
ライブ装置19の代わりにハードディスク装置、ICメ
モリ装置、その他の装置を用いることができる。
【0081】ディスプレイ制御装置27にはディスプレ
イ装置28が接続されており、自動演奏の進行に同期し
て歌詞が表示される。なお、ディスプレイ装置28に
は、上記歌詞に加えて、背景映像を表示させるように構
成できる。このとき使用される映像データは、上記ホス
ト装置26からダウンロードするように構成できる。上
記ディスプレイ装置28としては、CRTディスプレイ
装置、LCDディスプレイ装置、その他のディスプレイ
装置を用いることができる。
イ装置28が接続されており、自動演奏の進行に同期し
て歌詞が表示される。なお、ディスプレイ装置28に
は、上記歌詞に加えて、背景映像を表示させるように構
成できる。このとき使用される映像データは、上記ホス
ト装置26からダウンロードするように構成できる。上
記ディスプレイ装置28としては、CRTディスプレイ
装置、LCDディスプレイ装置、その他のディスプレイ
装置を用いることができる。
【0082】ディスプレイ制御装置27は、CPU10
とディスプレイ装置28とのデータの送受を制御する。
即ち、CPU10は、ワークメモリ12から歌詞データ
を読み出し、ディスプレイ制御装置27に送る。ディス
プレイ制御装置27は、受け取った歌詞データをビデオ
信号に変換してディスプレイ装置28に送る。これによ
り、ディスプレイ装置28に歌詞が表示される。なお、
歌詞に加えて背景映像をも表示する構成の場合は、歌詞
データと映像データとが合成され、これがビデオ信号に
変換される。
とディスプレイ装置28とのデータの送受を制御する。
即ち、CPU10は、ワークメモリ12から歌詞データ
を読み出し、ディスプレイ制御装置27に送る。ディス
プレイ制御装置27は、受け取った歌詞データをビデオ
信号に変換してディスプレイ装置28に送る。これによ
り、ディスプレイ装置28に歌詞が表示される。なお、
歌詞に加えて背景映像をも表示する構成の場合は、歌詞
データと映像データとが合成され、これがビデオ信号に
変換される。
【0083】上記歌詞データをビデオ信号に変換してデ
ィスプレイ装置28に送り出すタイミングは、上記テン
ポレジスタTPRに格納されているテンポ値に同期する
ように制御される。従って、伴奏のテンポが早くなれば
歌詞の表示速度も早くなり、その逆もまた然りである。
ィスプレイ装置28に送り出すタイミングは、上記テン
ポレジスタTPRに格納されているテンポ値に同期する
ように制御される。従って、伴奏のテンポが早くなれば
歌詞の表示速度も早くなり、その逆もまた然りである。
【0084】上記のように構成されたテンポ制御装置が
適用されたカラオケ装置によれば、自分でリズムをとり
ながら伴奏音を再生できるので、以下のような応用がで
きる。即ち、苦手なフレーズに近づいたら徐々にテンポ
を落として自分のリズムで歌い、その部分が過ぎたら元
のテンポに戻すことができる。また、歌いたいフレーズ
まで早いテンポで歌い、そのフレーズは通常のテンポで
歌うことができる。
適用されたカラオケ装置によれば、自分でリズムをとり
ながら伴奏音を再生できるので、以下のような応用がで
きる。即ち、苦手なフレーズに近づいたら徐々にテンポ
を落として自分のリズムで歌い、その部分が過ぎたら元
のテンポに戻すことができる。また、歌いたいフレーズ
まで早いテンポで歌い、そのフレーズは通常のテンポで
歌うことができる。
【0085】
【発明の効果】以上詳述したように、本発明によれば、
人のリズミカルな動作にあわせてテンポを変更すること
のできる自動演奏装置のテンポ制御装置及びテンポ制御
方法を提供できる。
人のリズミカルな動作にあわせてテンポを変更すること
のできる自動演奏装置のテンポ制御装置及びテンポ制御
方法を提供できる。
【図1】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置の構成を示すブロック図である。
された自動演奏装置の構成を示すブロック図である。
【図2】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置の操作パネルの一例を示す図であ
る。
された自動演奏装置の操作パネルの一例を示す図であ
る。
【図3】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置のワークメモリの割当を示す図であ
る。
された自動演奏装置のワークメモリの割当を示す図であ
る。
【図4】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置のパネルデータの一例を示す図であ
る。
された自動演奏装置のパネルデータの一例を示す図であ
る。
【図5】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置の受信バッファを説明するための図
である。
された自動演奏装置の受信バッファを説明するための図
である。
【図6】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置の自動演奏データを形成する音符デ
ータの構成を説明するための図である。
された自動演奏装置の自動演奏データを形成する音符デ
ータの構成を説明するための図である。
【図7】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置のメイン処理を示すフローチャート
である。
された自動演奏装置のメイン処理を示すフローチャート
である。
【図8】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置のMIDI−IN割込処理を示すフ
ローチャートである。
された自動演奏装置のMIDI−IN割込処理を示すフ
ローチャートである。
【図9】本発明の実施の形態1のテンポ制御装置が適用
された自動演奏装置のパネル制御処理を示すフローチャ
ートである。
された自動演奏装置のパネル制御処理を示すフローチャ
ートである。
【図10】本発明の実施の形態1のテンポ制御装置が適
用された自動演奏装置のタイマA割込処理を示すフロー
チャートである。
用された自動演奏装置のタイマA割込処理を示すフロー
チャートである。
【図11】本発明の実施の形態1のテンポ制御装置が適
用された自動演奏装置のタイマB割込処理を示すフロー
チャートである。
用された自動演奏装置のタイマB割込処理を示すフロー
チャートである。
【図12】本発明の実施の形態2のテンポ制御装置が適
用された自動演奏装置の構成を示すブロック図である。
用された自動演奏装置の構成を示すブロック図である。
10 CPU 11 プログラムメモリ 12 ワークメモリ 13 パネルインタフェース回路 14 楽音発生器 15 スピーカシステム 16 タイマA 17 MIDIコントローラ 18 FDコントローラ 19 フロッピーディスクドライブ装置 20 タイマB 25 通信制御装置 26 ホスト装置 27 ディスプレイ制御装置 28 ディスプレイ装置 30 システムバス 130 操作パネル 131 加速度センサ 132 小節/拍表示器 133 テンポ表示器 134 アップダウンスイッチ 135 ストップスイッチ 136 プレイ/ポーズスイッチ 137 FFスイッチ 138 REWスイッチ 139 リピートスイッチ 140〜143 LED表示器
Claims (4)
- 【請求項1】演奏情報に基づいて自動演奏を行う自動演
奏装置のテンポ制御装置であって、 時間間隔を指示する指示手段と、 該指示手段で指示された時間間隔に基づきテンポ値を算
出するテンポ値算出手段と、 該テンポ値算出手段で算出されたテンポ値に応じたテン
ポに自動演奏のテンポを変更するテンポ変更手段、とを
備えた自動演奏装置のテンポ制御装置。 - 【請求項2】前記指示手段は、手動スイッチ、フットス
イッチ又は加速度センサである請求項1に記載の自動演
奏装置のテンポ制御装置。 - 【請求項3】演奏情報に基づいて自動演奏を行う自動演
奏装置のテンポ制御方法であって、 時間間隔を指示する工程と、 該指示された時間間隔に基づきテンポ値を算出する工程
と、 該算出されたテンポ値に応じたテンポに自動演奏のテン
ポを変更する工程、とを有する自動演奏装置のテンポ制
御方法。 - 【請求項4】前記時間間隔は、手動スイッチの操作時間
間隔、フットスイッチの操作時間間隔又は加速度センサ
で検出された時間間隔である請求項3に記載の自動演奏
装置のテンポ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8291133A JPH10116077A (ja) | 1996-10-14 | 1996-10-14 | 自動演奏装置のテンポ制御装置及びテンポ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8291133A JPH10116077A (ja) | 1996-10-14 | 1996-10-14 | 自動演奏装置のテンポ制御装置及びテンポ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10116077A true JPH10116077A (ja) | 1998-05-06 |
Family
ID=17764885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8291133A Withdrawn JPH10116077A (ja) | 1996-10-14 | 1996-10-14 | 自動演奏装置のテンポ制御装置及びテンポ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10116077A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056781A (ja) * | 1998-08-06 | 2000-02-25 | Taito Corp | 楽器演奏習得装置及びカラオケ装置 |
JP2000148168A (ja) * | 1998-11-13 | 2000-05-26 | Taito Corp | 楽器演奏習得装置及びカラオケ装置 |
-
1996
- 1996-10-14 JP JP8291133A patent/JPH10116077A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056781A (ja) * | 1998-08-06 | 2000-02-25 | Taito Corp | 楽器演奏習得装置及びカラオケ装置 |
JP2000148168A (ja) * | 1998-11-13 | 2000-05-26 | Taito Corp | 楽器演奏習得装置及びカラオケ装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040147301A1 (en) | Music game apparatus and electronic musical apparatus and computer programs therefor | |
JPH06259065A (ja) | 電子楽器 | |
US5430242A (en) | Electronic musical instrument | |
US5585586A (en) | Tempo setting apparatus and parameter setting apparatus for electronic musical instrument | |
JPH10116077A (ja) | 自動演奏装置のテンポ制御装置及びテンポ制御方法 | |
JP3609045B2 (ja) | 自動演奏装置 | |
JP2587737B2 (ja) | 自動伴奏装置 | |
JP3171759B2 (ja) | 自動演奏装置 | |
JPH0876760A (ja) | 自動演奏装置のテンポスピード制御装置 | |
JP3630266B2 (ja) | 自動伴奏装置 | |
JP3192579B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3324881B2 (ja) | 自動演奏装置 | |
JP2002215147A (ja) | 電子楽器の自動伴奏装置及び自動伴奏方法 | |
JP2665854B2 (ja) | 自動演奏装置 | |
JP3282675B2 (ja) | 電子楽器 | |
JP3385544B2 (ja) | 自動演奏装置 | |
JP3169535B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3407563B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3385545B2 (ja) | 自動演奏装置 | |
JP3529123B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JPH0830273A (ja) | 電子楽器のテンポ設定装置 | |
JP2953937B2 (ja) | 電子楽器の音量調整装置 | |
JPH08106286A (ja) | 自動演奏装置 | |
JPH0863159A (ja) | 自動演奏装置 | |
JPH1031485A (ja) | 自動演奏装置および該自動演奏装置を備えた電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040106 |