JP3895139B2 - 自動演奏装置 - Google Patents
自動演奏装置 Download PDFInfo
- Publication number
- JP3895139B2 JP3895139B2 JP2001239709A JP2001239709A JP3895139B2 JP 3895139 B2 JP3895139 B2 JP 3895139B2 JP 2001239709 A JP2001239709 A JP 2001239709A JP 2001239709 A JP2001239709 A JP 2001239709A JP 3895139 B2 JP3895139 B2 JP 3895139B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- performance
- automatic performance
- automatic
- style
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
この発明は自動伴奏機能を有するシーケンサ等の自動演奏装置に係り、特に自動演奏時に曲のアレンジを容易に行うことのできる自動演奏装置に関する。
【0002】
【従来の技術】
従来の自動演奏装置には、複数の演奏パート毎に作成されたシーケンシャルな演奏データを記憶手段から曲の進行に従って順番に読出して1曲分の自動演奏を行うシーケンサタイプのものがある。演奏パートにはメロディパート、リズムパート、ベースパート及びコードパートなどがある。
また、自動演奏装置の中には、リズムパート、ベースパート及びコードパートの一部のパートの演奏については、演奏データとは別途に記憶された伴奏パターンデータに基づいて自動伴奏を行うものがある。このような自動演奏装置はどの伴奏パターンデータに基づいて自動伴奏を行うのか、予めヘッダや操作子などでパターン番号を設定するものや、そのパターン番号を曲の進行に従って順番に記憶したシーケンシャルな伴奏パターン指定データを有するものなどがある。なお、リズムパート以外のベースパート及びコードパートは曲の進行に従って別途記憶されている和音進行データあるいは演奏者が鍵盤等により指定する和音に基づきその和音に適した音に変換されるようになっている。
【0003】
【発明が解決しようとする課題】
従来の自動演奏装置のように、全ての演奏パートをシーケンシャルな演奏データに従って自動演奏するものは、テープレコーダのように毎回同じ演奏しか行えないため、演奏が単調になってしまうという欠点を有する。従って、このような自動演奏装置において演奏のアレンジを変えるためには、演奏データの内容を直接エディットするしか方法がない。しかし、演奏データのエディットは演奏データの内容に習熟した者でないと困難であり、初心者にとっては極めて困難な作業であった。
【0004】
また、従来の自動演奏装置のように、一部のパートを自動伴奏によって補うタイプのものは、伴奏パターンデータを指定するパターン番号を変更してやるだけで簡単に曲のアレンジを変更することができるので、初心者でも容易に取り扱うことができるという利点がある。ところが、自動演奏装置自体がこのような自動伴奏機能を備えていなければならないため、この自動伴奏機能を備えていないシーケンサタイプの自動演奏装置に対してはパターン番号は無意味なデータであり、これに基づいて曲のアレンジを行うことはできなかった。また、同様に全ての演奏パートをシーケンシャルに記憶した演奏データを自動伴奏機能を備えた自動演奏装置で演奏したとしても、曲のアレンジを変更することはできなかった。
【0005】
この発明は、演奏データをエディットしなくても曲のアレンジを容易に変更することのできる自動演奏装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る自動演奏装置は、曲の開始から終了までの複数のパートからなる第1の自動演奏データと少なくとも1つのパートからなる第2の自動演奏データとを記憶する記憶手段と、前記記憶手段から前記第1の自動演奏データを読み出して演奏する第1の演奏手段と、前記記憶手段から前記第2の自動演奏データを読み出して演奏する第2の演奏手段と、前記第2の演奏手段が前記第2の自動演奏データに基づいて演奏する場合に、前記第1の自動演奏データの少なくとも1つのパートに関する演奏をミュートするミュート手段とを備え、前記第1の自動演奏データの各パートについて前記ミュート手段によってミュートされるパートであるか又は非ミュートにされるパートであるかを指定するミュートパート情報が前記第1の自動演奏データの中に含まれており、該第1の自動演奏データと共に読み出される前記ミュートパート情報に基づいてミュートするパートを設定することを特徴とする。
【0007】
これにより、第2の自動演奏データに基づいて自動演奏されるパートと重複するパートについての第1の自動演奏データに基づく演奏をミュートすることで、第2の自動演奏データに基づいて自動演奏されるパートを優先させて、第1の自動演奏データの他のパートと共にアンサンブル演奏させることができるものとなり、アンサンブル演奏のバリエーションを容易に豊富にすることができるという優れた効果を奏するとともに、アンサンブル演奏のバリエーション(つまりアレンジ)には自動演奏データを使用しているので、曲全体のアンサンブルのアレンジを容易に行うことができる、という優れた効果を奏する。また、ミュートされるパートであるか又は非ミュートにされるパートであるかを指定するミュートパート情報が第1の自動演奏データの中に含まれており、該第1の自動演奏データと共に読み出される前記ミュートパート情報に基づいてミュートするパートを設定するようにしているので、この点でも、曲のアレンジを容易に行うことができる、という優れた効果を奏する。更に、ミュートパート情報は第1の自動演奏データの中に含まれているので、第2の自動演奏データに基づいて自動演奏されるパートとは無関係に、第1の自動演奏データに基づく演奏をミュートすることができ、曲の多様なアレンジを容易に行うことができる、という優れた効果を奏する。
【0008】
この発明の別の観点に係る自動演奏装置は、自動伴奏パターンデータを複数の演奏スタイル毎に記憶するスタイルデータ記憶手段と、前記演奏スタイルのどれを用いるかを決定するパターン情報を含む自動演奏データを記憶する演奏データ記憶手段と、前記演奏データ記憶手段から前記自動演奏データを読み出して演奏する第1の演奏手段と、前記第1の演奏手段によって読み出された前記パターン情報を他のパターン情報に変換する変換手段と、前記第1の演奏手段によって読み出された前記パターン情報と前記変換手段によって変換された前記他のパターン情報のいずれを使用するかを切り替える切り替え手段と、前記切り替え手段によって切り替えられたいずれかの前記パターン情報に基づいて前記スタイルデータ記憶手段から前記自動伴奏パターンデータを読み出して演奏する第2の演奏手段とを備えることを特徴とする。
【0009】
ここで、自動演奏データは曲の進行に従って順番に作成されたシーケンシャルなデータであり、パターン情報はシーケンシャルなデータの一部として演奏データ記憶手段に記憶されており、第1の演奏手段は自動演奏データを曲の進行に従って演奏データ記憶手段から順番に読出して自動演奏を行う。これと同時に第2の演奏手段はパターン情報に対応した自動伴奏パターンデータをスタイルデータ記憶手段から繰り返し読み出して自動伴奏を行う。このとき、第1の演奏手段によって読み出されたパターン情報は、変換手段によって他のパターン情報に変換され、また、第1の演奏手段によって読み出された前記パターン情報と前記変換手段によって変換された前記他のパターン情報のいずれを使用するかが切り替え手段によって切り替えられる。従って、この変換手段の変換方法を適宜変更することで第2の演奏手段の行う自動伴奏の曲のアレンジを容易に変更することができる。
【0012】
【実施例】
以下、添付図面を参照してこの発明の一実施例を詳細に説明する。
図1はこの発明に係る自動演奏装置を適用した電子楽器の一実施例を示すハード構成ブロック図である。この実施例においては、マイクロプロセッサユニット(CPU)10、ROM11、RAM12を含むマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。
この実施例では1つのCPU10によって自動演奏処理等を行う電子楽器を例に説明する。この実施例では電子楽器はシーケンス演奏用のチャンネルとして16チャンネル、伴奏演奏用のチャンネルとして16チャンネル、全部で32チャンネル分の同時発音が可能である。
【0013】
CPU10はこの電子楽器全体の動作を制御するものである。このCPU10に対して、データ及びアドレスバス18を介してROM11、RAM12、押鍵検出回路13、スイッチ検出回路14、表示回路15、音源回路16及びタイマ17が接続されている。
【0014】
ROM11はCPU10のシステムプログラム、自動伴奏のスタイルデータ、楽音に関する各種のパラメータやデータなどを記憶している。
RAM12はCPU10がプログラムを実行する際に発生する各種の演奏データや各種のデータを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタやフラグ等として利用される。また、RAM12は複数曲分のソングデータやアレンジ用のスタイル・セクション変換テーブルを記憶している。
【0015】
図2はこのROM11及びRAM12に記憶されているデータの内容を示す図であり、図2(A)はRAM12に記憶されている複数曲分のソングデータの構成例を、図2(B)はROM11に記憶されているスタイルデータの構成例を、図2(C)はRAM12に記憶されているスタイル・セクション変換テーブルの内容をそれぞれ示す。
【0016】
1曲分のソングデータは、図2(A)に示すように、初期設定データとシーケンスデータとから構成される。
初期設定データはソングの名称、各チャンネルの音色、演奏パート名、初期テンポなどのデータで構成されている。
シーケンスデータはデルタタイムデータとイベントデータの組と、エンドデータで構成されている。デルタタイムデータはイベントとイベントの間の時間を示すデータである。イベントデータはノートイベント、その他の演奏イベント、スタイル・セクションイベント、コードイベント、リプレイスイベント及びスタイルミュートイベントなどである。
【0017】
ノートイベントは『1』〜『16』のチャンネルナンバ(音源回路16におけるMIDIチャンネルに対応)及びそのチャンネルに対応したノートのオン/オフを示すデータで構成される。その他の演奏イベントはノートイベントと同様に『1』〜『16』のチャンネルナンバ及びそのチャンネルに対応したボリューム又はピッチベンド等のデータで構成される。
ここで、シーケンスデータの各チャンネルは複数の演奏パートに対応するものであり、メロディパート、リズムパート、ベースパート、コードバッキングパートなどを含むものである。後述する音源回路16の複数の発音チャンネルに発生した各種イベントを割り当てることにより複数パート分の楽音を同時発生可能である。よって、シーケンスデータのみによってもリズムパート、ベースパート、コードバッキングパートを含んだ自動演奏が可能であるが、後述するスタイルデータを用いることにより、これらのパートの演奏を他の演奏に置き換え、自動伴奏の曲のアレンジを容易に行えるようになっている。
【0018】
スタイル・セクションイベントはスタイルナンバとセクションナンバで構成される。コードイベントは和音の根音を示すルートデータと和音の種類を示すタイプデータで構成される。リプレイスイベントは伴奏を行う時にミュートされるシーケンサ側のチャンネルを示すデータ(チャンネルナンバ)で構成され、16チャンネルに対応した16ビット構成であり、『0』が非ミュート状態であることを示し、『1』がミュート状態であることを示す。スタイルミュートイベントは伴奏を行う時にミュートされる伴奏側のチャンネルを示すデータ(チャンネルナンバ)で構成され、リプレイスイベントと同様に16チャンネルに対応した16ビット構成のデータである。
【0019】
なお、上述のスタイル・セクションイベント、コードイベント、リプレイスイベント、スタイルミュートイベントは、自動伴奏機能を持たない自動演奏装置においては無視され、ノートイベント及びその外の演奏イベントのみに基づいて自動演奏がなされる。この実施例のような自動伴奏機能を持つ自動演奏装置においては全てのイベントが利用される。
【0020】
スタイルデータは、図2(B)に示すように、演奏スタイル(例えば、ロックやワルツなど)毎に1又は複数の伴奏パターンで構成される。1つの伴奏パターンはメイン、フィルインA、フィルインB、イントロ及びエンディングの5つのセクションで構成される。図2(B)では、スタイルナンバ『1』の演奏スタイルが2つの伴奏パターンA、Bを有する場合が示されている。伴奏パターンAはメインA、フィルインAA、フィルインAB、イントロA及びエンディングAのセクションで構成され、伴奏パターンBはメインB、フィルインBA、フィルインBB、イントロB及びエンディングBのセクションで構成される。
【0021】
従って、図2(B)の場合にはセクションナンバ『1』がメインA、セクションナンバ『2』がフィイルインAA、セクションナンバ『3』がフィルインAB、セクションナンバ『4』がイントロA、セクションナンバ『5』がエンディングA、セクションナンバ『6』がメインB、セクションナンバ『7』がフィイルインBA、セクションナンバ『8』がフィルインBB、セクションナンバ『9』がイントロB、セクションナンバ『10』がエンディングBに対応する。
従って、スタイルナンバ『1』・セクションナンバ『3』はフィルインABのことであり、スタイルナンバ『1』・セクションナンバ『9』はイントロBのことを意味する。
【0022】
各セクションのデータは初期設定データ、デルタタイムデータ、イベントデータ及びエンドデータから構成される。初期設定データは各チャンネルの音色やパート名などで構成される。デルタタイムデータはイベントとイベントの間の時間を示すデータである。イベントデータは『1』〜『16』の伴奏チャンネルナンバ及びそのチャンネルに対応したノートオン/オフ、ノートナンバ及びベロシティなどを示すデータである。ここで、スタイルデータの各チャンネルは複数の演奏パートに対応するものであり、リズムパート、ベースパート、コードバッキングパートなどを含むものである。これら演奏パートの一部あるいは全部は前述のシーケンスデータの複数の演奏パートの一部に対応しており、前述したリプレイスイベントに基づいてシーケンスデータ側の対応演奏パートのチャンネルをミュートすることによりシーケンスデータの一部のパートをスタイルデータに置き換えることができ、自動伴奏の曲のアレンジを容易に変更することが可能となる。
【0023】
スタイル・セクション変換テーブルは、図2(C)に示すように、複数の元スタイル・セクションナンバと、それぞれに対応した変換後スタイル・セクションナンバが記述されたテーブルである。このスタイル・セクション変換テーブルは前述の各ソングデータ毎に設けられており、ソングデータのイベントデータとして読み出されたスタイル・セクションイベントのスタイルナンバ及びセクションナンバが元スタイル・セクションに該当する場合に、それを変換後スタイル・セクションに変換するためのテーブルである。従って、この変換テーブルを用いることによってソングデータの内容を変更することなく伴奏のスタイルなどを容易に変更することができるようになる。
【0024】
このスタイル・セクション変換テーブルは予めソング毎に決められていてもよいし、ユーザが作成できるようにしてもよい。ユーザが作成する場合、このスタイル・セクション変換テーブルの元スタイル・セクションを構成するスタイルナンバ及びセクションナンバはシーケンスデータ中に存在しなければならないので、スタイル・セクション変換テーブルを作成する際に、予め全ソングデータのシーケンスデータ中からスタイル・セクションに関するデータをLCD20等に表示し、表示された各スタイル・セクションに対して変換後スタイル・セクションを割り当てるようにすればよい。なお、このスタイル・セクション変換テーブルを各ソング毎に音楽的に好ましいものを複数組持たせて、その中からいずれか1つを適宜選択できるようにしてもよい。また、ソングデータ中に含まれる全てのスタイル・セクションナンバを他のスタイル・セクションナンバに変換しなくてもよいし、一部のスタイル・セクションナンバについては変換しないようになっていてもよい。
【0025】
鍵盤19は発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵に対応したキースイッチを有しており、また必要に応じて押圧力検出装置等のタッチ検出手段を有している。鍵盤19は音楽演奏のための基本的な操作子であり、これ以外の演奏操作子でもよいことはいうまでもない。
押鍵検出回路13は発生すべき楽音の音高を指定する鍵盤19のそれぞれの鍵に対応して設けられたキースイッチ回路を含むものである。この押鍵検出回路13は鍵盤19の離鍵状態から押鍵状態への変化を検出してキーオンイベントを出力し、押鍵状態から離鍵状態への変化を検出してキーオフイベントを出力すると共にそれぞれのキーオンイベント及びキーオフイベントに関する鍵の音高を示すキーコード(ノートナンバ)を出力する。押鍵検出回路13はこの他にも鍵押し下げ時の押鍵操作速度や押圧力等を判別してベロシティデータやアフタタッチデータとして出力する。
【0026】
スイッチ検出回路14はパネル2上に設けられた各々の操作子に対応して設けられており、各々の操作子の操作状況に応じた操作データをイベント情報として出力する。
表示回路15はパネル2上に設けられたLCD20の表示内容や各操作子の上側に設けられたLED群の表示状態(点灯・消灯・点滅など)を制御する。
パネル2には各種操作子及び表示手段(LCD20やLED群)が設けられている。パネル2に設けられている操作子としては、ソング選択スイッチ21A及び21B、伴奏スイッチ22、リプレイススイッチ23、スタイル変換スイッチ24、スタート/ストップスイッチ25、シーケンサチャンネルスイッチ26及び伴奏チャンネルスイッチ27などがある。この他にも、パネル2には発生すべき楽音の音色、音量、音高、効果等を選択、設定、制御するための各種の操作子を有するが、ここでは実施例の説明に必要なものだけについて説明する。
【0027】
ソング選択スイッチ21A及び21BはLCD20に表示されるソング名を選択設定するものである。伴奏スイッチ22は自動伴奏のオン・オフを制御するものである。スタイル変換スイッチ24はスタイル・セクション変換テーブルに従ったスタイル変換処理のオン/オフを制御するものである。リプレイススイッチ23はシーケンサ側の所定のチャンネルのミュート/非ミュート状態を制御するものである。スタート/ストップスイッチ25は自動演奏のスタート/ストップを制御するものである。シーケンサチャンネルスイッチ26はシーケンサ側の各チャンネルに対してミュート/非ミュートを選択設定するものである。伴奏チャンネルスイッチ27は自動伴奏側の各チャンネルに対してミュート/非ミュートを選択設定するものである。これらのシーケンサチャンネルスイッチ26及び伴奏チャンネルスイッチ27の上側にはミュート/非ミュート状態を示すためのLED群が設けられている。
【0028】
音源回路16は複数の発音チャンネル(この実施例では32チャンネル)でそれぞれ異なる音色の楽音信号の同時発生が可能であり、データ及びアドレスバス18を経由して与えられた演奏データ(MIDI規格に準拠したデータ)を入力し、この演奏データに基づき楽音信号を発生する。
音源回路16における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出すメモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してもよい。
【0029】
音源回路16から発生される楽音信号はサウンドシステム1A(アンプ及びスピーカからなる)を介して発音される。
タイマ17は時間間隔を計数したり、自動演奏のテンポを設定したりするためのテンポクロックパルスを発生するものであり、このテンポクロックパルスの周波数はパネル2上のテンポスイッチ(図示していない)によって調整される。発生したテンポクロックパルスはCPU10に対してインタラプト命令として与えられ、CPU10はインタラプト処理により自動演奏の各種処理を実行する。この実施例においてはテンポクロックパルスは4分音符につき96回発生されるものとする。
なお、これらの装置以外に、MIDIインターフェイスや公衆回線、各種ネットワーク、FDD、HDD等を介してデータのやりとりを行ってもよいことは言うまでもない。
【0030】
次に、CPU10によって実行される電子楽器の処理の一例を図3から図13のフローチャートに基づいて説明する。
図3はパネル2上のソング選択スイッチ21A又は21Bが操作され、RAM12内のソングデータが選択された場合に、図1の電子楽器のCPU10が処理するソング選択スイッチ処理の一例を示す図である。このソング選択スイッチ処理は次のようなステップで順番に実行される。
【0031】
ステップ31:RAM12に記憶されている複数のソングデータの中から、ソング選択スイッチ21A及び21Bによって選択されたソングデータの初期設定データを読み出して、各種の設定を行う。例えば、各チャンネルの音色、テンポ、音量、効果などを設定する。
ステップ32:選択されたソングデータのシーケンスデータを読み出し、イベントの存在するチャンネル及びスタイル関連のイベントをサーチする。すなわち、ノートイベント及び演奏イベントと共に記憶されているチャンネルナンバを読み出し、また、シーケンスデータの中にスタイル・セクションイベントやコードイベント等のスタイル関連のイベントが存在するかどうかを検索する。
ステップ33:前ステップ32のサーチ結果に基づいて、イベントの存在するチャンネルナンバに対応するシーケンサチャンネルスイッチ26の上側に位置するLEDを点灯する。
【0032】
ステップ34:ステップ32のサーチ結果に基づいて、スタイル関連のイベントが存在するか判定し、存在する(YES)場合はステップ35に進み、存在しない(NO)場合はステップ36に進む。
ステップ35:前ステップ34でスタイル関連のイベントが存在すると判定されたので、ここでは、スタイル関連イベント存在フラグSTEXTに『1』をセットする。スタイル関連イベント存在フラグSTEXTは『1』の場合にソングデータのシーケンスデータ中にスタイル関連のイベントが存在することを示し、『0』の場合に存在しないことを示す。
ステップ36:前ステップ34でスタイル関連のイベントが存在しないと判定されたので、ここでは、スタイル関連イベント存在フラグSTEXTに『0』をセットする。
ステップ37:ソングデータの最初のデルタタイムデータをシーケンサ用タイミングレジスタTIME1に格納する。シーケンサ用タイミングレジスタTIME1は図2(A)のソングデータの中からシーケンスデータを順次読み出すためのタイミングを計時するものである。
【0033】
ステップ38:伴奏オンフラグACCMP、リプレイスオンフラグREPLC及びスタイル変換オンフラグSTCHGに『0』にセットする。伴奏オンフラグACCMPは『1』の場合に図2(B)のスタイルデータに基づいた伴奏を行うことを示し、『0』の場合にその伴奏を行わないことを示す。リプレイスオンフラグREPLCは『1』の場合にリプレイスイベントに応じたシーケンサ側のチャンネルをミュート/非ミュート状態にすることを示し、『0』の場合はこのような制御を行わないことを示す。スタイル変換オンフラグSTCHGは『1』の場合にスタイル・セクション変換テーブルに基づいた変換処理を行うことを示し、『0』の場合はその変換処理を行わないことを示す。
ステップ39:パネル2上の伴奏スイッチ22、リプレイススイッチ23及びスタイル変換スイッチ24の上側に位置する各LEDを消灯し、伴奏オフ状態、リプレイスオフ状態及びスタイル変換オフ状態であることを操作者に示し、リターンする。
【0034】
図4はパネル2上の伴奏スイッチ22が操作された場合に、図1の電子楽器のCPU10が処理する伴奏スイッチ処理の一例を示す図である。この伴奏スイッチ処理は次のようなステップで順番に実行される。
ステップ41:スタイル関連イベント存在フラグSTEXTが『1』かどうかを判定し、『1』(YES)の場合はソングデータの中にスタイル関連イベントが存在することを意味するのでステップ42以降に進み、『0』(NO)の場合はソングデータの中にスタイル関連イベントが存在しないことを意味するので直ちにリターンする。
ステップ42:伴奏スイッチ22が操作された時点の伴奏状態が伴奏オン状態か伴奏オフ状態かを判定するために、伴奏オンフラグACCMPが『1』かどうかを判定し、『1』(YES)の場合はステップ48に進み、『0』(NO)の場合はステップ43に進む。
【0035】
ステップ43:前ステップ42で伴奏オンフラグACCMPが『0』(伴奏オフ状態)だと判定されたので、ここでは、伴奏オンフラグACCMP及びリプレイスオンフラグREPLCに『1』をセットし、これ以降は伴奏オン状態であり、かつ、リプレイスオン状態であることを示す。
ステップ44:スタイルナンバレジスタSTYLの格納値、セクションナンバレジスタSECTの格納値及び現在の進行位置に応じて図2(B)のスタイルデータの中から所定のセクションの伴奏パターンの読み出し位置を設定し、スタイル用タイミングレジスタTIME2に次のイベントまでの時間(デルタタイム)をセットする。スタイルナンバレジスタSTYLはスタイルナンバを、セクションナンバSECTはセクションナンバを、それぞれ格納するレジスタである。スタイル用タイミングレジスタTIME2は図2(B)のスタイルデータの所定のセクションから伴奏パターンを順次読み出すためのタイミングを計時するものである。
ステップ45:スタイルナンバレジスタSTYLの格納値及びセクションナンバレジスタSECTの格納値によって特定された伴奏パターンを全て読み出し、イベントの存在するチャンネルをサーチする。
ステップ46:前ステップ45のサーチ結果に基づいて、イベントの存在するチャンネルナンバに対応する伴奏チャンネルスイッチ27の上側に位置するLEDを点灯する。
ステップ47:伴奏スイッチ22とリプレイススイッチ23の上側に位置するLEDを点灯し、伴奏オン状態であり、かつ、リプレイスオン状態であることを操作者に示し、リターンする。
【0036】
ステップ48:前ステップ42で伴奏オンフラグACCMPが『1』(伴奏オン状態)だと判定されたので、ここでは、伴奏オンフラグACCMP、リプレイスオンフラグREPLC及びスタイル変換オンフラグSTCHGに『0』をセットする。
ステップ49:走行状態フラグRUNが『1』かどうか、すなわち自動演奏中かどうかを判定し、『1』(YES)の場合は次のステップ4Aに進み、『0』(NO)の場合はステップ4Bにジャンプする。走行状態フラグRUNは『1』の場合に自動演奏走行状態を示し、『0』の場合に自動演奏停止状態を示す。
ステップ4A:前ステップ49で自動演奏中であると判定されたので、現在発音中のスタイル関連の伴奏音を消音する。
ステップ4B:パネル2上の伴奏スイッチ22、リプレイススイッチ23及びスタイル変換スイッチ24の上側に位置するLEDを消灯し、伴奏オフ状態、リプレイスオフ状態及びスタイル変換オフ状態であることを操作者に示し、リターンする。
【0037】
図5はパネル2上のリプレイススイッチ23が操作された場合に、図1の電子楽器のCPU10が処理するリプレイススイッチ処理の一例を示す図である。このリプレイススイッチ処理は次のようなステップで順番に実行される。
ステップ51:リプレイススイッチ23が操作された時点の伴奏状態が伴奏オン状態か伴奏オフ状態かを判定するために、伴奏オンフラグACCMPが『1』かどうかを判定し、『1』(YES)の場合はステップ52以降に進み、『0』(NO)の場合はリプレイススイッチ23の操作を無視し、リターンする。
【0038】
ステップ52:前ステップ51で伴奏オンフラグACCMPが『1』(伴奏オン状態)だと判定されたので、今度はリプレイススイッチ23が操作された時点のリプレイス状態がオン状態かオフ状態かを判定するために、リプレイスオンフラグREPLCが『1』かどうかを判定し、『1』(YES)の場合はステップ55に進み、『0』(NO)の場合はステップ53に進む。
ステップ53:前ステップ52でリプレイスオンフラグREPLCが『0』(リプレイスオフ状態)だと判定されたので、ここでは、リプレイスオンフラグREPLCに『1』をセットする。
ステップ54:リプレイススイッチ23の上側に位置するLEDを点灯し、リプレイススイッチ23の操作によってリプレイスオン状態になったことを操作者に示す。
ステップ55:前ステップ52でリプレイスオンフラグREPLCが『1』(リプレイスオン状態)だと判定されたので、ここでは、リプレイスオンフラグREPLCに『0』をセットする。
ステップ56:リプレイススイッチ23の上側に位置するLEDを消灯し、リプレイススイッチ23の操作によってリプレイスオフ状態になったことを操作者に示す。
【0039】
図6はパネル2上のスタイル変換スイッチ24が操作された場合に、図1の電子楽器のCPU10が処理するスタイル変換スイッチ処理の一例を示す図である。このスタイル変換スイッチ処理は次のようなステップで順番に実行される。
ステップ61:スタイル変換スイッチ24が操作された時点の伴奏状態が伴奏オン状態か伴奏オフ状態かを判定するために、伴奏オンフラグACCMPが『1』かどうかを判定し、『1』(YES)の場合はステップ62以降に進み、『0』(NO)の場合はスタイル変換スイッチ24の操作を無視し、リターンする。
【0040】
ステップ62:前ステップ61で伴奏オンフラグACCMPが『1』(伴奏オン状態)だと判定されたので、今度はスタイル変換スイッチ24が操作された時点のスタイル変換状態がオン状態かオフ状態かを判定するために、スタイル変換オンフラグSTCHGが『1』かどうかを判定し、『1』(YES)の場合はステップ65に進み、『0』(NO)の場合はステップ63に進む。
ステップ63:前ステップ62でスタイル変換オンフラグSTCHGが『0』(スタイル変換オフ状態)だと判定されたので、ここでは、スタイル変換オンフラグSTCHGに『1』をセットする。
ステップ64:スタイル変換スイッチ24の上側に位置するLEDを点灯し、スタイル変換スイッチ24の操作によってスタイル変換オン状態になったことを操作者に示す。
ステップ65:前ステップ62でスタイル変換オンフラグSTCHGが『1』(スタイル変換オン状態)だと判定されたので、ここでは、スタイル変換オンフラグSTCHGに『0』をセットする。
ステップ66:スタイル変換スイッチ24の上側に位置するLEDを消灯し、スタイル変換スイッチ24の操作によってスタイル変換オフ状態になったことを操作者に示す。
【0041】
図7はパネル2上のスタート/ストップスイッチ25が操作された場合に、図1の電子楽器のCPU10が処理するスタート/ストップスイッチ処理の一例を示す図である。このスタート/ストップスイッチ処理は次のようなステップで順番に実行される。
ステップ71:走行状態フラグRUNが『1』かどうかを判定し、『1』(YES)の場合はステップ72に進み、『0』(NO)の場合はステップ74に進む。
ステップ72:前ステップ71で自動演奏走行状態であると判定されたということは、自動演奏走行状態にスタート/ストップスイッチ25が操作されたことを意味するので、自動演奏を停止するため、音源回路16の発音中の音に対し、ノートオフを出力し、発音中の音を消音する。
ステップ73:走行状態フラグRUNに『0』をセットし、これ以降自動演奏停止状態とする。
ステップ74:前ステップ71で自動演停止行状態であると判定されたということは、自動演奏停止状態にスタート/ストップスイッチ25が操作されたことを意味するので、これ以降自動演奏走行状態にするため走行状態フラグRUNに『1』をセットする。
【0042】
図8は4分音符当たり96回のタイマ割り込みで実行されるシーケンサ再生処理の一例を示す図である。このシーケンサ再生処理は次のようなステップで順番に実行される。
ステップ81:走行状態フラグRUNが『1』かどうかを判定し、『1』(YES)の場合は次のステップ82以下に進み、『0』(NO)の場合はリターンし、次の割り込みタイミングまで待機する。すなわち、図7のステップ74によって走行状態フラグRUNに『1』がセットされるまでステップ82以降の処理は実行されない。
ステップ82:シーケンサ用タイミングレジスタTIME1の格納値が『0』かどうかを判定し、『0』(YES)の場合は図2(A)のソングデータの中からシーケンスデータを読み出すタイミングになったことを意味するので次のステップ83に進み、『0』以外(NO)の場合はステップ88に進む。
【0043】
ステップ83:前ステップ82でシーケンスデータの読み出しタイミングになったと判定されたので、ここでは、図2(A)のソングデータの中から次のデータを読み出す。
ステップ84:前ステップ83で読み出されたデータがデルタタイムデータであるかどうかを判定し、デルタタイムデータ(YES)の場合はステップ85に進み、そうでない場合はステップ86に進む。
ステップ85:読み出されたデータがデルタタイムデータであると前ステップ84で判定されたので、ここでは、そのデルタタイムデータをシーケンサ用タイミングレジスタTIME1に格納する。
【0044】
ステップ86:読み出されたデータがデルタタイムデータでないと前ステップ84で判定されたので、ここでは、その読み出されたデータに対応した処理(データ対応処理1)を行う。このデータ対応処理1の詳細について後述する。
ステップ87:シーケンサ用タイミングレジスタTIME1の格納値が『0』かどうか、すなわち、前ステップ83で読み出されたデルタタイムデータが『0』かどうかを判定し、『0』(YES)の場合は同じタイミングに該当するので、ステップ83にリターンし、そのデルタタイムに対応するイベントデータを読み出してステップ86のデータ対応処理1を行い、『0』以外(NO)の場合はステップ88に進む。
ステップ88:前ステップ82又は87でシーケンサ用タイミングレジスタTIME1の格納値が『0』でないと判定されたので、そのシーケンサ用タイミングレジスタTIME1の格納値を1だけデクリメント処理してリターンし、次の割り込みタイミングまで待機する。
【0045】
図9は図8のステップ83の処理によって読み出されたデータがデルタタイム以外のノートイベント及びスタイル・セクションナンバイベントの場合に行われる図8のステップ86の「データ対応処理1」の詳細を示すフローチャート図である。
図9(A)は読み出されたデータがノートイベントの場合に実行されるデータ対応処理1の中のノートイベント処理を示す図である。このノートイベント処理は次のようなステップで順番に実行される。
ステップ91:図8のステップ83で読み出されたデータがノートイベントなので、ここでは、リプレイスオンフラグREPLCが『1』かどうかを判定し、『1』(YES)の場合はリプレイス処理するため次のステップ92に進み、『0』(NO)の場合はリプレイス処理しないのでステップ93にジャンプする。
ステップ92:前ステップ91でリプレイスオンフラグREPLCが『1』だと判定されたので、そのイベントに対応するチャンネルがミュート状態かどうかを判定し、ミュート状態(YES)の場合はそのイベントは伴奏音によってリプレイスされるか又はミュートだけされるので、図8のステップ83に直ちにリターンし、一方、非ミュート状態(NO)の場合はそのイベントはリプレイスされないので、次のステップ93に進む。
ステップ93:前ステップ91及び92でノートイベントはリプレイスもミュートもされないと判定されたので、ここでは、そのノートイベントに対応する演奏データを音源回路16へ出力し、図8のステップ83にリターンする。
【0046】
図9(B)は読み出されたデータがスタイル・セクションナンバイベントの場合に実行されるデータ対応処理1の中のスタイル・セクションナンバイベント処理を示す図である。このスタイル・セクションナンバイベント処理は次のようなステップで順番に実行される。
ステップ94:図8のステップ83で読み出されたデータがスタイル・セクションナンバイベントなので、ここでは、スタイル変換オンフラグSTCHGが『1』かどうかを判定し、『1』(YES)の場合はスタイル変換テーブルに基づく変換処理を行うため次のステップ95に進み、『0』(NO)の場合はステップ96にジャンプする。
ステップ95:前ステップ94でスタイル変換オンフラグSTCHGが『1』だと判定されたので、そのスタイルナンバ及びセクションナンバをスタイル変換テーブルに従って新たなスタイル・セクションナンバに変換する。
ステップ96:図8のステップ83で読み出されたスタイル・セクションナンバ又は前ステップ95で変換された新たなスタイル・セクションナンバをそれぞれスタイルナンバレジスタSTYL及びセクションナンバレジスタSECTに格納する。
ステップ97:スタイルナンバレジスタSTYL及びセクションナンバレジスタSECTの格納値に応じて再生する伴奏パターンを切り換える。すなわち、スタイルナンバレジスタSTYL及びセクションナンバレジスタSECTのそれぞれの格納値によって特定される図2(B)のスタイルデータの伴奏パターンに切り換え、図8のステップ83にリターンする。
【0047】
図10は図8のステップ83の処理によって読み出されたデータがデルタタイム以外のリプレイスイベント、スタイルミュートイベント、他の演奏イベント、コードイベント及びエンドイベントの場合に行われる図8のステップ86の「データ対応処理1」の詳細を示すフローチャート図である。
【0048】
図10(A)は読み出されたデータがリプレイスイベントの場合に実行されるデータ対応処理1の中のリプレイスイベント処理を示す図である。このリプレイスイベント処理は次のようにして行われる。
まず、読み出されたリプレイスイベントの16ビット構成のデータに基づいて、シーケンサ用の各チャンネルに対してミュート・非ミュートを設定する。
前ステップでミュートに設定されたシーケンサ用チャンネルの音を消音する。
イベントが存在するシーケンサ用チャンネルのうち、ミュート状態に設定されたシーケンサチャンネルスイッチ26の上側に位置するLEDを点滅する。
イベントが存在するチャンネルのうち、非ミュート状態に設定されたシーケンサチャンネルスイッチ26の上側に位置するLEDを点灯して、図8のステップ83にリターンする。
これによって、操作者はイベントが存在するのにミュート状態にあるシーケンス用チャンネル、及び非ミュート状態にあるシーケンス用チャンネルを容易に認識することができるようになる。
【0049】
図10(B)は読み出されたデータがスタイルミュートイベントの場合に実行されるデータ対応処理1の中のスタイルミュートイベント処理を示す図である。このスタイルミュートイベント処理は次のようにして行われる。
まず、読み出されたスタイルミュートイベントの16ビット構成のデータに基づいて、伴奏用の各チャンネルに対してミュート・非ミュートを設定する。
前ステップでミュートに設定された伴奏用チャンネルの音を消音する。
イベントが存在する伴奏用チャンネルのうち、ミュート状態に設定された伴奏チャンネルスイッチ27の上側に位置するLEDを点滅する。
イベントが存在する伴奏用チャンネルのうち、非ミュート状態に設定された伴奏チャンネルスイッチ27の上側に位置するLEDを点灯して、図8のステップ83にリターンする。
これによって、操作者はイベントが存在するのにミュート状態にある伴奏用チャンネル、及び非ミュート状態にある伴奏用チャンネルを容易に認識することができるようになる。
【0050】
図10(C)は読み出されたデータが他の演奏イベントの場合に実行されるデータ対応処理1の中の他の演奏イベント処理を示す図である。この他の演奏イベント処理では、読み出された演奏イベントを音源回路16等に出力して、図8のステップ83にリターンする。
図10(D)は読み出されたデータがコードイベントの場合に実行されるデータ対応処理1の中のコードイベント処理を示す図である。このコードイベント処理では、読み出されたルートデータを根音レジスタROOTに、タイプデータをタイプレジスタTYPEにそれぞれ格納して、図8のステップ83にリターンする。
図10(E)は読み出されたデータがエンドイベントの場合に実行されるエンドイベント処理を示す図である。このエンドイベント処理では、読み出されたデータがエンドイベントなので、それに応じて発音中のシーケンサ及びスタイルに関する音を消音し、走行状態フラグRUNを『0』にリセットして、図8のステップ83にリターンする。
【0051】
図11は4分音符当たり96回のタイマ割り込みで実行されるスタイル再生処理の一例を示す図である。このスタイル再生処理は次のようなステップで順番に実行される。
ステップ111:現在の割り込みタイミングにおける伴奏状態が伴奏オン状態か伴奏オフ状態かどうか、すなわち伴奏オンフラグACCMPが『1』かどうかを判定し、『1』(YES)の場合は伴奏を行うためステップ112以降に進み、『0』(NO)の場合は伴奏を行わないのでそのままリターンし、次の割り込みタイミングまで待機する。すなわち、図4のステップ43によって伴奏オンフラグACCMPに『1』がセットされるまでステップ112以降の処理は実行されない。
【0052】
ステップ112:走行状態フラグRUNが『1』かどうかを判定し、『1』(YES)の場合は次のステップ113以下に進み、『0』(NO)の場合はリターンし、次の割り込みタイミングまで待機する。すなわち、図7のステップ74によって走行状態フラグRUNに『1』がセットされるまでステップ113以降の処理は実行されない。
ステップ113:スタイル用タイミングレジスタTIME2の格納値が『0』かどうかを判定し、『0』(YES)の場合は図2(B)のスタイルデータの中から伴奏データを読み出すタイミングになったことを意味するので次のステップ114に進み、『0』以外(NO)の場合はステップ119に進む。
【0053】
ステップ114:前ステップ113でスタイルデータの読み出しタイミングになったと判定されたので、ここでは、図2(B)のスタイルデータの中から次のデータを読み出す。
ステップ115:前ステップ114で読み出されたデータがデルタタイムデータであるかどうかを判定し、デルタタイムデータ(YES)の場合はステップ116に進み、そうでない場合はステップ117に進む。
【0054】
ステップ116:読み出されたデータがデルタタイムデータであると前ステップ115で判定されたので、ここでは、そのデルタタイムデータをスタイル用タイミングレジスタTIME2に格納する。
ステップ117:読み出されたデータがデルタタイムデータでないと前ステップ115で判定されたので、ここでは、その読み出されたデータに対応した処理(データ対応処理2)を行う。このデータ対応処理2の詳細について後述する。
ステップ118:スタイル用タイミングレジスタTIME2の格納値が『0』かどうか、すなわち、前ステップ114で読み出されたデルタタイムデータが『0』かどうかを判定し、『0』(YES)の場合は同じタイミングに該当するので、ステップ114にリターンし、そのデルタタイムに対応するイベントデータを読み出してステップ117のデータ対応処理2を行い、『0』以外(NO)の場合はステップ119に進む。
ステップ119:前ステップ113又は118でスイタル用タイミングレジスタTIME2の格納値が『0』でないと判定されたので、スタイル用タイミングレジスタTIME2の格納値を1だけデクリメント処理してリターンし、次の割り込みタイミングまで待機する。
【0055】
図12は図11のステップ114の処理によって読み出されたデータがデルタタイム以外のノートイベント、他の演奏イベント又はエンドイベントの場合に行われる図11のステップ117の「データ対応処理2」の詳細を示すフローチャート図である。
図12(A)は読み出されたデータがノートイベントの場合に実行されるデータ対応処理2の中のノートイベント処理を示す。このノートイベント処理は次のようなステップで順番に実行される。
ステップ121:ノートイベントに対応する演奏用チャンネルがミュート状態かどうかを判定し、ミュート状態(YES)の場合はそのイベントに関する演奏は行わないのでそのままリターンし、非ミュート状態(NO)の場合はそのイベントに対する演奏を行うため、次のステップ122以降に進む。
ステップ122:読み出されたノートイベントのノートナンバを根音レジスタROOT内のルートデータ及びタイプレジスタTYPE内のタイプデータに基づいたノートナンバに変換する。ただし、リズムパートについては変換しない。
ステップ123:前ステップ122で変換されたイベントに対応する演奏データを音源回路16へ出力し、図11のステップ114にリターンする。
【0056】
図12(B)は読み出されたデータが他の演奏イベントの場合に実行されるデータ対応処理2の中の他の演奏イベント処理を示す。この他の演奏イベント処理では、読み出された演奏イベントを音源回路16等に出力して、図11のステップ114にリターンする。
図12(C)は読み出されたデータがエンドイベントの場合に実行されるデータ対応処理2の中のエンドイベント処理を示す図である。このエンドイベント処理では読み出されたデータがスタイルデータのエンドイベントなので、ここでは、対応する伴奏データの先頭に移行し、その先頭のデルタタイムデータをスタイル用タイミングレジスタTIME2に格納して、図11のステップ114にリターンする。
【0057】
これまでは、ミュート/非ミュートの設定をソングデータ内のリプレイスイベントデータ及びスタイルミュートイベントデータに基づいて行う場合について説明したが、この実施例では各シーケンサチャンネルスイッチ26又は伴奏チャンネルスイッチ27を独立に操作することによって個別にミュート/非ミュートの設定を行うことができるようになっている。すなわち、イベントが存在するチャンネルに対応するシーケンサチャンネルスイッチ26及び伴奏チャンネルスイッチ27の上側に位置するLEDは点灯しており、その中でミュート状態にあるものは点滅している。従って、このようにLEDが点灯又は点滅しているチャンネルスイッチを個別に操作することによって、図13の各チャンネルスイッチ処理が実行され、操作者はミュート/非ミュートの設定を適宜行うことができる。
以下、各チャンネルスイッチ処理の詳細について説明する。
【0058】
図13はパネル2上のシーケンサチャンネルスイッチ26又は伴奏チャンネルスイッチ27のいずれかのチャンネルスイッチが操作された場合に、図1の電子楽器のCPU10が処理する各チャンネルスイッチ処理の一例を示す図である。各チャンネルスイッチ処理は次のようなステップで順番に実行される。
ステップ131:操作されたスイッチに対応するチャンネル(該チャンネル)にイベントが存在するかどうかを判定し、存在する(YES)場合はステップ132に進み、存在しない(NO)場合はリターンする。
【0059】
ステップ132:前ステップ131でイベントが存在すると判定されたので、ここでは、そのチャンネルが現在ミュート状態か非ミュート状態かを判定し、ミュート状態(YES)の場合はステップ133に進み、非ミュート状態(NO)の場合はステップ135に進む。
ステップ133:前ステップ132で現在ミュート状態であると判定されたので、ここでは、非ミュート状態に設定する。
ステップ134:対応するシーケンサチャンネルスイッチ26及び伴奏チャンネルスイッチ27の上側に位置するLEDを点灯し、非ミュート状態となったことを操作者に示す。
ステップ135:前ステップ132で現在非ミュート状態であると判定されたので、ここでは、ミュート状態に設定する。
ステップ136:ミュートに設定された伴奏用チャンネル(該チャンネル)発音中の音を消音する。
ステップ137:対応するシーケンサチャンネルスイッチ26及び伴奏チャンネルスイッチ27の上側に位置するLEDを点滅し、ミュート状態となったことを操作者に示す。
【0060】
上述の実施例では、シーケンサ側のミュート/非ミュートの設定をソングデータ内のリプレイスイベントデータに基づいて行い、スタイル側のミュート/非ミュートの設定をソングデータ内のスタイルミュートイベントデータに基づいて行う場合について説明したが、リプレイスイベント処理とスタイルミュートイベント処理とをそれぞれ対応付けてシーケンサ側でミュート/非ミュートの設定を行うようにしてもよい。すなわち、リプレイスイベントデータに基づいてシーケンサ側のチャンネルがミュートに設定された場合には、そのチャンネルに対応するスタイル側のチャンネルを非ミュートに設定し、逆にシーケンサ側のチャンネルが非ミュートに設定された場合には、そのチャンネルに対応するスタイル側のチャンネルをミュートに設定するようにする。このような処理に対応したリプレイスイベント処理の別の実施例について以下説明する。なお、対応するチャンネルはシーケンサ側とスタイル側にそれぞれ設定されている音色に基づいて決定してもよいし、ユーザが対応関係を設定したり、ソング毎に予め決められていてもよい。
【0061】
図14は図10のリプレイスイベント処理の別の実施例を示すフローチャート図である。このリプレイスイベント処理は次のようにして行われる。
読み出されたリプレイスイベントデータの16ビット構成のデータに基づいて、シーケンサ用の各チャンネルに対してミュート/非ミュートを設定する。
前ステップでミュートに設定されたシーケンサ用チャンネルの音を消音する。
イベントが存在するシーケンサ用チャンネルのうち、ミュート状態に設定されたシーケンサチャンネルスイッチ26の上側に位置するLEDを点滅する。
シーケンサ側の処理によってミュート状態に設定されたチャンネルに対応するパートのスタイル側の伴奏用チャンネルを非ミュート状態に設定する。
シーケンサ側の処理によって非ミュート状態に設定されたチャンネルに対応するパートのスタイル側の伴奏用チャンネルをミュート状態に設定する。
ミュートに設定された伴奏用チャンネルの音を消音する。
イベントが存在する伴奏用チャンネルのうち、ミュート状態に設定された伴奏チャンネルスイッチ27の上側に位置するLEDを点滅する。
【0062】
上述の実施例では、自動演奏装置が自動伴奏機能を有する場合について説明したが、次に自動演奏装置が自動伴奏機能を有しない場合の別の実施例について説明する。図15は自動演奏装置が自動伴奏機能を備えていないシーケンサタイプのものである場合における「シーケンサ再生処理2」を示すフローチャート図である。このシーケンサ再生処理2は図8のシーケンサ再生処理と同じように、4分音符当たり96回のタイマ割り込みで実行される。このシーケンサ再生処理2が図8のものと異なる点は、読み出されたデータがシーケンスイベント(ノートイベント、他の演奏イベント)やエンドイベントの場合だけ、それに対応した処理を行い、これ以外のスタイル・セクションイベント、コードイベント、リプレイスイベント、スタイルミュートイベントの場合には何も処理しない点である。このシーケンサ再生処理2は次のようなステップで順番に実行される。
【0063】
ステップ151:走行状態フラグRUNが『1』かどうかを判定し、『1』(YES)の場合は次のステップ152以下に進み、『0』(NO)の場合はリターンし、次の割り込みタイミングまで待機する。すなわち、図7のステップ74によって走行状態フラグRUNに『1』がセットされるまでステップ152以降の処理は実行されない。
ステップ152:シーケンサ用タイミングレジスタTIME1の格納値が『0』かどうかを判定し、『0』(YES)の場合は図2(A)のソングデータの中からシーケンスデータを読み出すタイミングになったことを意味するので次のステップ153に進み、『0』以外(NO)の場合はステップ158に進む。
【0064】
ステップ153:前ステップ152でシーケンスデータの読み出しタイミングになったと判定されたので、ここでは、図2(A)のソングデータの中から次のデータを読み出す。
ステップ154:前ステップ153で読み出されたデータがデルタタイムデータであるかどうかを判定し、デルタタイムデータ(YES)の場合はステップ155に進み、そうでない場合はステップ156に進む。
ステップ155:読み出されたデータがデルタタイムデータであると前ステップ154で判定されたので、ここでは、そのデルタタイムデータをシーケンサ用タイミングレジスタTIME1に格納する。
【0065】
ステップ156:読み出されたデータがデルタタイムデータでないと前ステップ154で判定されたので、ここでは、その読み出されたデータがエンドイベントかどうかの判定を行い、エンドデータ(YES)の場合はステップ157に進み、エンドデータ以外(NO)の場合はステップ159に進む。
ステップ157:読み出されたデータがエンドイベントであると前ステップ156で判定されたので、それに応じて発音中のシーケンサに関する音を消音する。
ステップ158:走行状態フラグRUNを『0』にリセットし、ステップ153にリターンする。
【0066】
ステップ159:読み出されたデータがエンドイベント以外であると判定されたので、今度はそれがシーケンスイベント(ノートイベント又は他の演奏イベント)かどうかの判定を行い、シーケンスイベント(YES)の場合はステップ15Aに進み、シーケンスイベント以外(NO)の場合(すなわち、スタイル・セクションイベント、コードイベント、リプレイスイベント、スタイルミュートイベントの場合)はステップ153にリターンする。
ステップ15A:読み出されたデータがシーケンスイベントであると前ステップ159で判定されたので、そのイベントを音源等へ出力し、ステップ153にリターンする。
【0067】
ステップ15B:シーケンサ用タイミングレジスタTIME1の格納値が『0』かどうか、すなわち、前ステップ153で読み出されたデルタタイムデータが『0』かどうかを判定し、『0』(YES)の場合は同じタイミングに該当するので、ステップ153にリターンし、そのデルタタイムに対応するイベントデータを読み出してステップ156〜15Aの処理を行い、『0』以外(NO)の場合はステップ15Cに進む。
ステップ15C:前ステップ152又は15Cでシーケンサ用タイミングレジスタTIME1の格納値が『0』でないと判定されたので、そのシーケンサ用タイミングレジスタTIME1の格納値を1だけデクリメント処理してリターンし、次の割り込みタイミングまで待機する。
【0068】
以上のように、自動演奏装置が自動伴奏機能を備えていない場合でもシーケンス再生処理2によって、RAM12内のシーケンスデータに基づいたシーケンス演奏が行われ、自動演奏装置が自動伴奏機能を備えている場合にはシーケンス再生処理とスタイル再生処理によってシーケンス演奏と伴奏演奏の両方が行われる。すなわち、ソングデータをRAM12のような構成にすることによって、自動演奏装置が自動伴奏機能を備えているかどうかに係わらずシーケンス演奏を行うことができ、さらに自動伴奏機能を備えている場合にはそのアレンジ等を容易に行うことができるという効果がある。
【0069】
なお、上述の実施例では、シーケンサ側のチャンネル毎にミュート/非ミュートを設定するようにしたが、演奏パート毎に設定するようにしてもよい。例えば、複数のチャンネルを混ぜ合わせて1つのパートとするような場合、そのパートをミュートするように設定した場合、対応する複数のチャンネルすべてをミュートするようにしてもよい。
また、上述の実施例では、シーケンサの演奏情報の途中にミュートに関するデータ(リプレイスイベント)を埋め込み、ミュートするチャンネルを曲の進行に従って変更できるようにしたが、1曲を通じて同じミュート設定となるようなものであってもよい。すなわち、初期設定情報としてミュートに関する情報を持つようにしてもよい。また、シーセンサの演奏データ中にはミュートするか否かのみを指定する情報を記憶させ、別途(初期設定情報や自動演奏装置側で操作者が)ミュートするチャンネルを設定するようにしてもよい。
【0070】
さらに、演奏される自動演奏のパートと同じシーケンサのパートを自動的にミュートするようにしてもよい。
スタイル変換テーブルをソング毎に持たせる場合について説明したが、ソングとは独立してこのような情報を持つようにしてもよい。例えば、自動演奏装置本体のRAMに変換テーブルを持たせるようにしてもよい。
スタイルデータは自動演奏装置側に記憶される場合について説明したが、一部のスタイルデータ(ソングに特有な特殊スタイル等)をソングデータ側に持たせるようにしてもよい。このようにすると、自動演奏装置側に記憶するスタイルデータは基本的なものだけでよくなり、メモリの節約になる。
【0071】
また、上述の実施例では自動演奏装置を内蔵した電子楽器について説明したが、自動演奏処理を行うシーケンサモジュールと、音源回路からなる音源モジュールとがそれぞれ別々に構成され、各モジュール間のデータの授受を周知のMIDI規格で行うように構成されたものにも同様に適用できることは言うまでもない。
さらに、上述の実施例では、本発明を自動演奏に適用した場合について説明したが、これに限らず自動リズム演奏、自動伴奏にも適用してもよいことは言うまでもない。
【0072】
【発明の効果】
以上述べた通り、この発明によれば、演奏データをエディットしなくても曲のアレンジを容易に変更することができる、という効果を奏する。
【図面の簡単な説明】
【図1】 この発明に係る自動演奏装置を適用した電子楽器の一実施例を示すハード構成ブロック図である。
【図2】 図1のROM及びRAMに記憶されているデータの内容を示す図であり、図2(A)はRAMに記憶されている複数曲分のソングデータの構成例を、図2(B)はROMに記憶されているスタイルデータの構成例を、図2(C)はRAMに記憶されているスタイル・セクション変換テーブルの内容をそれぞれ示す。
【図3】 パネル上のソング選択スイッチが操作され、RAM内のソングデータが選択された場合に、図1の電子楽器のCPUが処理するソング選択スイッチ処理の一例を示す図である。
【図4】 パネル上の伴奏スイッチが操作された場合に、図1の電子楽器のCPUが処理する伴奏スイッチ処理の一例を示す図である。
【図5】 パネル上のリプレイススイッチが操作された場合に、図1の電子楽器のCPUが処理するリプレイススイッチ処理の一例を示す図である。
【図6】 パネル上のスタイル変換スイッチが操作された場合に、図1の電子楽器のCPUが処理するスタイル変換スイッチ処理の一例を示す図である。
【図7】 パネル上のスタート/ストップスイッチが操作された場合に、図1の電子楽器のCPUが処理するスタート/ストップスイッチ処理の一例を示す図である。
【図8】 4分音符当たり96回のタイマ割り込みで実行されるシーケンサ再生処理の一例を示す図である。
【図9】 図8のステップ83の処理によって読み出されたデータがデルタタイム以外のノートイベント及びスタイル・セクションナンバイベントの場合に行われる図8のステップ86の「データ対応処理1」の詳細を示すフローチャート図である。
【図10】 図8のステップ83の処理によって読み出されたデータがデルタタイム以外のリプレイスイベント、スタイルミュートイベント、他の演奏イベント、コードイベント及びエンドイベントの場合に行われる図8のステップ86の「データ対応処理1」の詳細を示すフローチャート図である。
【図11】 4分音符当たり96回のタイマ割り込みで実行されるスタイル再生処理の一例を示す図である。
【図12】 図11のステップ114の処理によって読み出されたデータがデルタタイム以外のノートイベント、他の演奏イベント又はエンドイベントの場合に行われる図11のステップ117の「データ対応処理2」の詳細を示すフローチャート図である。
【図13】 パネル上のシーケンサチャンネルスイッチ又は伴奏チャンネルスイッチのいずれかのチャンネルスイッチが操作された場合に、図1の電子楽器のCPUが処理する各チャンネルスイッチ処理の一例を示す図である。
【図14】 図10のリプレイスイベント処理の別の実施例を示すフローチャート図である。
【図15】 自動演奏装置が自動伴奏機能を備えていないシーケンサタイプのものである場合における「シーケンサ再生処理2」を示すフローチャート図である。
【符号の説明】
10…CPU、11…ROM、12…RAM、13…押鍵検出回路、14…スイッチ検出回路、15…表示回路、16…音源回路、17…タイマ、18…データ及びアドレスバス、19…鍵盤、1A…サウンドシステム、2…パネル、20…LCD、21A,21B…ソング選択スイッチ、22…伴奏スイッチ、23…リプレイススイッチ、24…スタイル変換スイッチ、25…スタート/ストップスイッチ、26…シーケンサチャンネルスイッチ、27…伴奏チャンネルスイッチ
Claims (7)
- 曲の開始から終了までの複数のパートからなる第1の自動演奏データと少なくとも1つのパートからなる第2の自動演奏データとを記憶する記憶手段と、
前記記憶手段から前記第1の自動演奏データを読み出して演奏する第1の演奏手段と、
前記記憶手段から前記第2の自動演奏データを読み出して演奏する第2の演奏手段と、
前記第2の演奏手段が前記第2の自動演奏データに基づいて演奏する場合に、前記第1の自動演奏データの少なくとも1つのパートに関する演奏をミュートするミュート手段と
を備え、
前記第1の自動演奏データの各パートについて前記ミュート手段によってミュートされるパートであるか又は非ミュートにされるパートであるかを指定するミュートパート情報が前記第1の自動演奏データの中に含まれており、該第1の自動演奏データと共に読み出される前記ミュートパート情報に基づいてミュートするパートを設定することを特徴とする自動演奏装置。 - 前記ミュートパート情報とは独立して前記ミュート手段によってミュートされるパートを選択設定するパート選択操作子を有し、前記ミュートパート情報により設定されたミュート又は非ミュートの状態を該パート選択操作子の操作により変更可能としたことを特徴とする請求項1に記載の自動演奏装置。
- 自動伴奏パターンデータを複数の演奏スタイル毎に記憶するスタイルデータ記憶手段と、
前記演奏スタイルのどれを用いるかを決定するパターン情報を含む自動演奏データを記憶する演奏データ記憶手段と、
前記演奏データ記憶手段から前記自動演奏データを読み出して演奏する第1の演奏手段と、
前記第1の演奏手段によって読み出された前記パターン情報を他のパターン情報に変換する変換手段と、
前記第1の演奏手段によって読み出された前記パターン情報と前記変換手段によって変換された前記他のパターン情報のいずれを使用するかを切り替える切り替え手段と、
前記切り替え手段によって切り替えられたいずれかの前記パターン情報に基づいて前記スタイルデータ記憶手段から前記自動伴奏パターンデータを読み出して演奏する第2の演奏手段と
を備えた自動演奏装置。 - 前記自動演奏データは曲の開始から終了までの演奏データを記憶したソングデータであり、前記自動伴奏パターンデータは1又は複数小節からなり、繰り返し演奏される演奏パターンデータであることを特徴とする請求項3に記載の自動演奏装置。
- 前記第2の自動演奏データを指定する指定データが、前記第1の自動演奏データ中に混在記憶されており、前記第1の演奏手段により読み出された第1の自動演奏データの中に含まれる該指定データに応じて前記第2の演奏手段により前記第2の自動演奏データが読み出されることを特徴とする請求項1に記載の自動演奏装置。
- 前記第1の演奏手段が前記第1の自動演奏データに基づいて演奏する際に、前記第2の演奏手段が前記第2の自動演奏データに基づく演奏を行わないようにするためのミュートデータを前記第1の自動演奏データ中に含むことを特徴とする請求項1に記載の自動演奏装置。
- 前記第2の自動演奏データはコードデータに応じて音高変換される伴奏データであり、前記第1の自動演奏データ中に該第2の自動演奏データを指定する指定データが記憶されており、前記指定データにより指定される該第2の自動演奏データの音高を変換するためのコードデータを該第1の自動演奏データ中に含むことを特徴とする請求項1に記載の自動演奏装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001239709A JP3895139B2 (ja) | 2001-08-07 | 2001-08-07 | 自動演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001239709A JP3895139B2 (ja) | 2001-08-07 | 2001-08-07 | 自動演奏装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33665294A Division JP3303576B2 (ja) | 1994-12-26 | 1994-12-26 | 自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002091439A JP2002091439A (ja) | 2002-03-27 |
JP3895139B2 true JP3895139B2 (ja) | 2007-03-22 |
Family
ID=19070415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001239709A Expired - Fee Related JP3895139B2 (ja) | 2001-08-07 | 2001-08-07 | 自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3895139B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008046273A (ja) * | 2006-08-11 | 2008-02-28 | Xing Inc | カラオケ装置 |
-
2001
- 2001-08-07 JP JP2001239709A patent/JP3895139B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002091439A (ja) | 2002-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3303576B2 (ja) | 自動演奏装置 | |
JPH03192299A (ja) | 自動伴奏装置 | |
US5973254A (en) | Automatic performance device and method achieving improved output form of automatically-performed note data | |
JP3533972B2 (ja) | 電子楽器の設定制御装置 | |
US5668337A (en) | Automatic performance device having a note conversion function | |
JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
JP3895139B2 (ja) | 自動演奏装置 | |
JPS5938595B2 (ja) | デンシガツキノジドウバンソウソウチ | |
JP3671788B2 (ja) | 音色設定装置および音色設定方法並びに音色設定プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
JP3632536B2 (ja) | パート選択装置 | |
JP3397071B2 (ja) | 自動演奏装置 | |
JPH06348258A (ja) | 電子楽器の自動演奏装置 | |
JP2570411B2 (ja) | 演奏装置 | |
JP3033393B2 (ja) | 自動伴奏装置 | |
JP3017902B2 (ja) | 電子楽器の自動伴奏装置 | |
JP3646654B2 (ja) | 楽音制御指示装置及び楽音制御指示方法並びに記憶媒体 | |
JP3791784B2 (ja) | 演奏装置 | |
JP2002229565A (ja) | 自動演奏装置 | |
JPH0926787A (ja) | 音色制御装置 | |
JP3499672B2 (ja) | 自動演奏装置 | |
JPH10254444A (ja) | 演奏装置、および該装置に係るプログラムまたはデータを記録した記録媒体 | |
JP2000250542A (ja) | 電子鍵盤楽器用設定装置 | |
JPH0728469A (ja) | 電子楽器のコード指定装置 | |
JPH0934463A (ja) | 自動演奏装置 | |
JPH10143152A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050106 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050112 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |