JP3669335B2 - 自動演奏装置 - Google Patents
自動演奏装置 Download PDFInfo
- Publication number
- JP3669335B2 JP3669335B2 JP2002018974A JP2002018974A JP3669335B2 JP 3669335 B2 JP3669335 B2 JP 3669335B2 JP 2002018974 A JP2002018974 A JP 2002018974A JP 2002018974 A JP2002018974 A JP 2002018974A JP 3669335 B2 JP3669335 B2 JP 3669335B2
- Authority
- JP
- Japan
- Prior art keywords
- performance data
- data
- rhythm
- performance
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
この発明は自動伴奏機能を有するシーケンサ等の自動演奏装置に係り、特に自動演奏時の演奏曲のアレンジを容易に行うことのできる自動演奏装置に関する。
【0002】
【従来の技術】
従来の自動演奏装置の中には、リズムパート、ベースパート及びコードパートの一部のパートの演奏については、シーケンシャルな演奏データとは別途に記憶された伴奏パターンデータに基づいて自動伴奏を行うものがある。このような自動演奏装置はどの伴奏パターンデータに基づいて自動伴奏を行うのか、予めシーケンシャルな演奏データのヘッダや操作子などでパターン番号を設定するものや、そのパターン番号を曲の進行に従って順番に記憶したシーケンシャルな伴奏データを有するものなどがある。なお、リズムパート以外のベースパート及びコードパートは曲の進行に従って別途記憶されている和音進行データ又はユーザにより指定される和音に基づきその和音に適した音に変換されるようになっている。
【0003】
【発明が解決しようとする課題】
従来の自動演奏装置のように、一部の演奏パートを自動伴奏によって補うタイプのものは、伴奏パターンデータを指定するパターン番号を変更してやるだけで簡単に曲のアレンジを変更することができるので、初心者でも容易に取り扱うことができるという利点がある。また、1つの演奏パートが1つのチャンネルすなわち1つの伴奏パターンデータで構成されている場合には、対応するチャンネルの伴奏パターンデータの内容を直接エディットするだけでよいので、初心者でも容易にエディットすることができるので、曲のアレンジを容易に変更することができる。
ところが、1つの演奏パートが複数のチャンネルやパートで構成されている場合には、複数のチャンネル間の相互関係に習熟した者でないと、どのチャンネルをどのようにエディットしてよいのか分からないため、このような演奏パートをエディットして曲のアレンジを変更するということは初心者にとっては極めて困難な作業であり、初心者がエディットすると音楽的に不自然なものになってしまうおそれがあった。
また、演奏パートが複数のチャンネルやパートで構成されている場合に、これらのチャンネル又はパートの音を共通のデータにマージさせて演奏すると、両方のイベント同士が互いに相容れない関係(例えば、両イベントがハイハットオープンイベントとハイハットクローズイベントである場合や両イベントが同一種類のイベントでベロシティだけが異なる場合など)にあり、音楽的に不自然なものになってしまう場合がある。
【0004】
この発明は、複数のチャンネルやパートからなる演奏データを演奏する際にも音楽的に自然な演奏ができる自動演奏装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
この発明に係る自動演奏装置は、それぞれ発音タイミングを指し示す情報を有する第1のリズムパートの演奏データと第2のリズムパートの演奏データとを含む自動演奏データを供給する供給手段と、前記発音タイミングを指し示す情報に基づいて前記供給された演奏データを順次出力する出力手段とを備えた自動演奏装置において、前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとを同一のMIDIチャンネルで発音するように設定するチャンネル設定手段と、前記供給された前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとが同じ発音タイミングである場合は、前記第2のリズムパートの演奏データを前記第1のリズムパートの演奏データよりも先に出力するよう各演奏データを相次いで出力する出力制御手段とを備え、同じ発音タイミングに対応して前記出力制御手段により相次いで出力された各演奏データのうち後に出力された前記第1のリズムパートの演奏データの音が最終的に当該発音タイミングの音として発音されるようにしたことを特徴とする。
【0006】
これによれば、供給された自動演奏データに含まれる第1のリズムパートの演奏データと第2のリズムパートの演奏データとを同一のMIDIチャンネルで発音するように設定することで、2つのリズムパートの演奏データを一つのMIDIチャンネルにマージすることができる。この場合、第1のリズムパートの演奏データと第2のリズムパートの演奏データとが同じ発音タイミングである場合は、前記第2のリズムパートの演奏データを前記第1のリズムパートの演奏データよりも先に出力するよう各演奏データを相次いで出力することで、同じ発音タイミングに対応して相次いで出力された各演奏データのうち後に出力された前記第1のリズムパートの演奏データの音が最終的に当該発音タイミングの音として発音されるよう制御することができる。従って、異なるリズムパートのイベントが同じ発音タイミングに相当し、かつ、そのイベント同士が互いに相容れない関係にある場合(例えば、両イベントがハイハットオープンイベントとハイハットクローズイベントである場合や両イベントが同一種類のイベントでベロシティだけが異なる場合など)は、両リズムパートのいずれのイベントも消去することなく、その中のいずれか1つのリズムパートのイベントの音のみが優先的に発音されるようにすることができる。これによって、優先的に演奏されるリズムパートの音が必ず発音されるようになるので、そのリズムパートの関係に習熟していない者であっても、これらのリズムパートの音を共通のMIDIチャンネルのデータにマージさせて音楽的に自然な演奏を行うことができるようになる。しかも、両リズムパートのいずれのイベントも消去することがないので、両リズムパートの分離・復元を問題なく行うことができる。
【0007】
この発明の別の観点に係る自動演奏装置は、それぞれ発音タイミングを指し示す情報を有する第1のリズムパートの演奏データと第2のリズムパートの演奏データとを含む自動演奏データを供給する供給手段と、前記発音タイミングを指し示す情報に基づいて前記供給された演奏データを順次出力する出力手段とを備えた自動演奏装置において、第1の動作モードと第2の動作モードのうち何れかを指定する動作モード指定手段と、前記第1の動作モードが指定された場合に、前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとを同一のMIDIチャンネルで発音するように設定するチャンネル設定手段と、前記第1の動作モードが指定された場合に、前記供給された前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとが同じ発音タイミングである場合は、前記第2のリズムパートの演奏データを前記第1のリズムパートの演奏データよりも先に出力するよう各演奏データを相次いで出力する出力制御手段とを備え、同じ発音タイミングに対応して前記出力制御手段により相次いで出力された各演奏データのうち後に出力された前記第1のリズムパートの演奏データの音が最終的に当該発音タイミングの音として発音されるようにしたことを特徴とする。
【0008】
このように第1及び第2の動作モードのうち第1の動作モードが選択された場合に上述と同様の出力制御を行うようにしたことにより、第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとを同一のMIDIチャンネルにマージするモード(第1の動作モード)と、そうせずに個別のリズムパートの演奏データとしてそのまま出力するモード(第2の動作モード)の使い分けを行うことができ、出力先の自動リズム演奏機能に応じた使い分けが可能となる。
【0009】
【発明の実施の形態】
以下、添付図面を参照してこの発明の一実施例を詳細に説明する。
図1はこの発明に係る自動演奏装置を適用した電子楽器の一実施例を示すハード構成ブロック図である。この実施例においては、マイクロプロセッサユニット(CPU)10、ROM11、RAM12を含むマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。
この実施例では1つのCPU10によって自動演奏処理等を行う電子楽器を例に説明する。この実施例では電子楽器は自動演奏用のチャンネルとして16チャンネル分の同時発音が可能である。すなわち、16種類の演奏データを同時再生可能である。
【0010】
CPU10はこの電子楽器全体の動作を制御するものである。このCPU10に対して、データ及びアドレスバス1Dを介してROM11、RAM12、押鍵検出回路13、スイッチ検出回路14、表示回路15、音源回路16、タイマ17、MIDIインターフェイス(I/F)18及びディスクドライブ19が接続されている。
【0011】
ROM11はCPU10のシステム関連のプログラム、ナンバ『01』から『99』までの99個の自動伴奏用のスタイルデータ、デフォルト用のCTAB(Channel Table)、ノート変換テーブル、その他に楽音に関する各種のパラメータやデータなどを記憶している。
RAM12はCPU10がプログラムを実行する際に発生する各種の演奏データや各種のデータを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタやフラグ等として利用される。また、RAM12はユーザが自由に使用することのできるナンバ『00』のユーザスタイルデータを記憶する。
【0012】
図2はこのROM11及びRAM12に記憶されているスタイルデータの内容及びデフォルトCTABの内容を示す図である。RAM12はナンバ『00』のユーザスタイルデータを記憶し、ROM11はナンバ『01』から『99』までの99個のスタイルデータとデフォルトCTABを記憶する。スタイルデータは演奏スタイル(例えば、ポップス、ロック、ジャズ、ワルツなど)毎に設けられている。
【0013】
1つのスタイルデータは、ヘッダ部、シーケンスデータ部及びCTAB群から構成される。
ヘッダ部にはスタイルの名称などが記憶される。
シーケンスデータ部は図2(B)に示すように、初期設定データと各セクション(メイン、フィルイン、イントロ及びエンディング)のパターンデータで構成される。初期設定データは各チャンネルの音色、演奏パート名、初期テンポなどのデータで構成される。メインパターンデータは繰り返し演奏されるメインの伴奏パターンである。フィルインパターンデータはフィルイン演奏時の伴奏パターンである。イントロパターンデータはイントロ演奏時の伴奏パターンである。エンディングパターンデータはエンディング演奏時の伴奏パターンである。
【0014】
各セクションのパターンデータは、図2(C)に示すよう、マーカー、デルタタイムデータ及びイベントデータから構成される。マーカーはセクションとセクションの区切りを示すものであり、メイン、フィルイン、イントロ及びエンディングなどのセクションの種類を示すデータである。デルタタイムデータはイベントとイベントとの間の時間を示すデータである。イベントデータは図2(D)に示すように、ノートイベントの場合は、ノートオン/オフと『1』〜『16』のチャンネル番号、ノートナンバ及びベロシティデータなどで構成される。他のイベントデータ(ピッチベンドやボリューム制御など)の場合もそのイベントを示すデータやチャンネル番号などで構成される。このデルタタイムデータとイベントデータは対で記憶され、同じタイミングのイベントを示す場合にはデルタタイムデータは『0』となっている。
【0015】
CTAB群は、図2(E)に示すように、ノート変換に関する各種情報を各セクション(メイン、フィルイン、イントロ及びエンディング)の『1』〜『16』の各チャンネル毎に設けられたCTAB(Channel Table)の複数で構成される。このようにCTABを各セクションの各チャンネル毎に設けたのは、シーケンスデータ内のコードに基づいてどのようにノート変換すべきであるか、その最適の状態が各セクションの各チャンネル毎にそれぞれ異なるからである。
【0016】
CTABは基本的には各セクションの各チャネル毎に設けられているが、特殊な設定を必要としないスタイルのセクションにおけるチャンネルに関しては、このようなCTABは設けられない。CTABが設けられていない場合には、ROM11内に設けられているデフォルト用CTABによってノート変換が行われるようになっている。このように共通のデフォルトCTABを用いることによってデータ記憶容量を削減することができる。
【0017】
図2(E)のCTAB群を構成する各CTABは、図2(F)に示すように、チャンネルナンバ、楽器名、パートナンバ、パートエディットビット、ソースルート、ソースタイプ、ノート変換テーブル種類、ノートリミット、チャンネルスイッチ等から構成される。
チャンネルナンバはMIDIチャンネルに対応した『1』〜『16』のチャンネルナンバであり、1つのセクション内のCTABのチャンネルナンバは全て異なるようになっている。
楽器名はチャンネルナンバで指定された音源回路16のMIDIチャンネルに設定されるべき音色の楽器名である。
【0018】
パートナンバはどの演奏パートに関するデータであるかを示すものであり、『1』〜『5』のデータで構成される。パートナンバ『1』はリズム1パートを、パートナンバ『2』はリズム2パートを、パートナンバ『3』はベースパートを、パートナンバ『4』はコード1パートを、パートナンバ『5』はコード2パートを示す。
パートエディットビット(PEB)はそのチャンネルをパート単位で編集してもよいか否かを示す『0』又は『1』のデータである。パートエディットビットが『1』の場合は1つの演奏パートが複数チャンネルで構成されているので、パート単位での編集はできない(複数チャンネルあるうちのどのチャンネルをどのようにエディットすれば音楽的に好ましい状態でエディットできるのかが分からない)ことを示し、『0』の場合は1つの演奏パートがこのチャンネルだけで構成されているので、パート単位で編集ができることを示す。なお、1つの演奏パートが1つのチャンネルで構成されていても、このチャンネルのエディットを行ってはいけない場合などには、パートエディットビット(PEB)が『1』に設定されている場合もある。
【0019】
ソースルートはそのチャンネルのシーケンスデータ(自動伴奏データ)がどのコードルートで作成されたかを示すものである。このソースルートのデフォルト値は『C』である。
ソースタイプはそのチャンネルのシーケンスデータ(自動伴奏データ)がどのコードタイプで作成されたかを示すものである。このソースタイプのデフォルト値はメジャー7th(maj7)である。
シーケンスデータ(自動伴奏データ)がどのようなコードルート、コードタイプで作成されている場合であっても、このソースルート及びソースタイプに基づいてそのチャンネルのシーケンスデータをCメジャー7thの音(ノート変換を行うときの基準の音)に変換することができる。
【0020】
ノート変換テーブル種類は複数のノート変換テーブルの中から、どれを用いてノート変換を行うのかを指定するものである。例えば、ノート変換テーブルにはベースパートに適したL個のノート変換テーブル1〜L、コードパートに適したM個のノート変換テーブル1〜M、「全く変換しない」等の種類があるので、ノート変換テーブル種類はこれらの中のどのテーブルに基づいて変換を行うかを指定するものである。このノート変換テーブル種類のデフォルト値は、リズムパートの場合には「全く変換しない(無変換)」であり、ベースパートの場合にはベースパートに適したノート変換テーブル1であり、コードパートの場合にはコードパートに適したノート変換テーブル1である。
【0021】
ノートリミットはノート変換によってノートナンバを変換した場合に、変換後のノートナンバの範囲がある音域内に収まるように、その音域の上限及び下限を規定するものである。
チャンネルスイッチは現在押鍵中のコードルート及びコードタイプが特定の種類である場合に、そのチャンネルの発音を行うように設定するためのメモリスイッチであり、全てのコードルート及びコードタイプに対応してオン・オフを示す『0』又は『1』のデータで構成されている。1つの演奏パートが複数チャンネルで構成されている場合に、このチャンネルスイッチを用いて、コードの種類によってチャンネルを切り換えることができるようにする。このチャンネルスイッチのデフォルト値は「全てチャンネルを常時発音させる」である。
【0022】
デフォルトCTABは、図2(G)に示すように、図2(F)のCTABと同様に各チャンネル毎にチャンネルナンバCH、楽器名、パートナンバ、パートエディットビット(PEB)、ソースルート、ソースタイプ、ノート変換テーブル種類、ノートリミット、チャンネルスイッチから構成される。
この実施例ではチャンネルナンバ『1』〜『5』に対して所定のデフォルト値が設定されており、これ以外のチャンネルナンバ『6』〜『16』に対してはデフォルト値は設定されていない。
【0023】
デフォルトCTABにおいて、楽器名は設定されていない。
パートナンバについては、チャンネルナンバ『1』がパートナンバ『1』のリズム1パートに、チャンネルナンバ『2』がパートナンバ『2』のリズム2パートに、チャンネルナンバ『3』がパートナンバ『3』のベースパートに、チャンネルナンバ『4』がパートナンバ『4』のコード1パートに、チャンネルナンバ『5』がパートナンバ『5』のコード2パートになるように設定されている。
パートエディットビット(PEB)については、全てのチャンネルナンバ『1』〜『5』に対して『0』が設定されている。
ソースルートについては、チャンネルナンバ『1』〜『5』に『C』が設定されている。
ソースタイプについては、チャンネルナンバ『1』〜『5』にメジャー7th(maj7)が設定されている。
ノート変換テーブル種類については、リズムパートのチャンネルナンバ『1』及び『2』には『無し(無変換)』が、ベースパートのチャンネルナンバ『3』にはベースパートに適したノート変換テーブル1が、コードパートのチャンネルナンバ『4』及び『5』にはコードパートに適したノート変換テーブル1がそれぞれ設定されている。
ノートリミットについては図示していないが上限及び下限の設定は『無し』に設定されている。
チャンネルスイッチについては、『全てチャンネルを常時発音させる』が設定されている。
【0024】
鍵盤1Aは発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵に対応したキースイッチを有しており、また必要に応じて押圧力検出装置等のタッチ検出手段を有している。鍵盤1Aは音楽演奏のための基本的な操作子であり、これ以外の演奏操作子でもよいことはいうまでもない。
押鍵検出回路13は発生すべき楽音の音高を指定する鍵盤1Aのそれぞれの鍵に対応して設けられたキースイッチ回路を含むものである。この押鍵検出回路13は鍵盤1Aの離鍵状態から押鍵状態への変化を検出してキーオンイベントを出力し、押鍵状態から離鍵状態への変化を検出してキーオフイベントを出力すると共にそれぞれのキーオンイベント及びキーオフイベントに関する鍵の音高を示すキーコード(ノートナンバ)を出力する。押鍵検出回路13はこの他にも鍵押し下げ時の押鍵操作速度や押圧力等を判別してベロシティデータやアフタタッチデータとして出力する。
【0025】
スイッチ検出回路14はパネル1B上に設けられた各々の操作子に対応して設けられており、各々の操作子の操作状況に応じた操作データをイベント情報として出力する。
表示回路15はパネル1B上に設けられた表示手段(LCD2)の表示内容などを制御する。
パネル1Bには各種操作子及びLCD2が設けられている。パネル1Bに設けられている操作子としては、『0』から『9』の数字及び『+』『−』の付されたスタイル選択スイッチ、『Yes』の付されたイエススイッチ、『No』の付されたノースイッチ、『リズム1』、『リズム2』、『ベース』、『コード1』、『コード2』の付されたパート選択スイッチ、『イントロ』、『フィルイン』、『メイン』、『エンディング』の付されたセクション選択スイッチ、『REC』の付された録音スイッチ、『クリア』の付されたクリアスイッチ、『カスタム』の付されたカスタムスイッチ、『スタート/ストップ』の付されたスタート/ストップスイッチなどがある。この他にも、パネル1Bには発生すべき楽音の音色、音量、音高、効果等を選択、設定、制御するための各種の操作子を有するが、ここでは実施例の説明に必要なものだけについて説明する。
【0026】
スタイル選択スイッチは、『00』から『99』までのスタイルナンバを入力することによって、いずれか1つのスタイルナンバを選択するためのスイッチである。スタイル選択スイッチによって選択されたスタイル名はLCD2上に表示される。イエススイッチ及びノースイッチはLCD2に表示された電子楽器からのメッセージに対して操作者が回答するためのものである。
パート選択スイッチは編集する演奏パートを指定するためのスイッチである。セクション選択スイッチは編集するセクションを指定するためのスイッチである。録音スイッチはセクション選択スイッチ及びパート選択スイッチによって選択されたセクション及びパートの演奏データを編集するモードを指定するためのスイッチである。なお、この実施例では録音スイッチとパート選択スイッチが同時に操作された場合に、その操作された演奏パートにおける演奏データの編集を行う編集モードに移行するようにしている。
クリアスイッチは編集モードにある演奏データを消去するためのスイッチである。カスタムスイッチはスタイルナンバ『01』〜『99』の中からスタイル選択スイッチによって選択されたデータをスタイルナンバ『00』のユーザスタイルデータとしてRAM11のカスタムエリアにコピーするためのスイッチである。スタート/ストップスイッチは自動演奏のスタート/ストップを制御するためのスイッチである。
【0027】
音源回路16は複数の時分割発音チャンネル(この実施例では16チャンネル)で楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた演奏データ(MIDI規格に準拠したデータ)を入力し、この演奏データに基づき楽音信号を発生する。そして、16個のMIDIチャンネルに対応し、同時に16種類の音色(パート)にて楽音の発生が可能である。
音源回路16における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出すメモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してもよい。
【0028】
音源回路16から発生される楽音信号はアンプ及びスピーカから構成されるサウンドシステム1Cを介して発音される。
タイマ17は時間間隔を計数したり、自動演奏のテンポを設定したりするためのテンポクロックパルスを発生するものであり、このテンポクロックパルスの周波数はパネル1B上のテンポスイッチ(図示していない)によって調整される。タイマ17からのテンポクロックパルスはCPU10に対してインタラプト命令として与えられ、CPU10はインタラプト処理により自動演奏の各種処理を実行する。この実施例においてはテンポクロックパルスは4分音符につき96回発生されるものとする。
MIDIインターフェイス(I/F)18及びディスクドライブ19は、演奏データを外部に出力したり、外部から演奏データを入力したりするためのインターフェイスである。なお、これらの装置以外に、公衆回線、各種ネットワーク、HDD等を介して演奏データのやりとりを行ってもよい。
【0029】
次に、CPU10によって実行される電子楽器の処理の一例を図3から図7のフローチャートに基づいて説明する。
図3はパネル1B上の各スイッチの操作に応じて図1の電子楽器のCPU10が処理するカスタムスタイル作成処理の一例を示す図である。このカスタムスタイル作成処理は操作者がスタイルナンバ『00』のユーザスタイルデータを作成する際にパネル1B上のスイッチを操作することによって行われる処理である。このカスタムスタイル作成処理は次のようなステップで順番に実行される。
【0030】
ステップ31:操作者はLCD2に表示されるスタイル名を見ながらスタイル選択スイッチ『0』〜『9』、『+』又は『−』を操作して『00』から『99』までのスタイルナンバを入力し、1つのスタイルナンバを選択する。
ステップ32:操作者がカスタムスイッチ『カスタム』を操作(オン)すると、それに応じてCPU10はRAM11のカスタムエリアにステップ31で選択されたスタイルナンバの演奏データをスタイルナンバ『00』のユーザスタイルデータとしてコピーする。
【0031】
ステップ33:操作者は編集したいセクションに対応するセクション選択スイッチ『イントロ』、『フィルイン』、『メイン』又は『エンディング』を操作する。
ステップ34:操作者は録音スイッチ『REC』を操作(オン)しながら、同時に編集したい演奏パートに対応するパート選択スイッチ『リズム1』、『リズム2』、『ベース』、『コード1』又は『コード2』を操作(オン)する。
ステップ35:CPU10はステップ33及び34のスイッチ操作に応じて、選択されたセクション及びパートに対応するチャンネルのパートエディットビットをチェックする。すなわち、選択されたセクションのCTABの中から選択されたパートナンバに対応するCTABの中のパートエディットビットの内容を読み出す。
ステップ36:CPU10はステップ35で読み出されたパートエディットビット(PEB)が『1』であるかどうかを判定し、『1』(YES)の場合は次のステップ37に進み、『0』(NO)の場合はステップ3Dにジャンプする。
【0032】
ステップ37:ステップ36でパートエディットビットが『1』だと判定されたということは、ステップ33及び34で選択されたパートの演奏データは編集できないことを意味するので、CPU10はLCD2上に「このパートはエディットできません。消去していいですか?」というメッセージを表示する。
ステップ38:このメッセージを確認した操作者は、イエススイッチ『Yes』又はノースイッチ『No』のいずれかを操作(オン)するので、CPU10はイエススイッチ『Yes』が操作(オン)されたかどうかを判定し、操作された(YES)場合は次のステップ3Aに進み、操作されていない(NO)場合はステップ39に進む。
ステップ39:ステップ38でイエススイッチ『Yes』が操作されていなと判定されたので、今度はCPU10はノースイッチ『No』が操作(オン)されたかどうかを判定し、操作された(NO)場合は次のステップ3Eに進み、操作されていない(NO)場合はステップ38にリターンする。
すなわち、操作者がイエススイッチ『Yes』又はノースイッチ『No』のいずれかを操作(オン)するまでステップ38及びステップ39の判定を繰り返し行う。
【0033】
ステップ3A:ステップ38で操作者がイエススイッチ『Yes』を操作したと判定されたので、CPU10はLCD2から上記メッセージを消去する。
ステップ3B:CPU10はステップ33及び34で選択された演奏パートに対応するチャンネルのシーケンスデータを消去する。すなわち、シーケンスデータ中から該チャンネルナンバのついたイベントをサーチし消去してシーケンスデータを作り直す。演奏パートが複数チャンネルで構成されている場合にはその全チャンネルのシーケンスデータを消去する。
ステップ3C:CPU10はステップ33及び34で選択されたパートに対応するチャンネルのCTABをROM11内のデフォルトCTABに書き換える。なお、この書き換えの際、チャンネルナンバ、楽器名、パートナンバなどのようにそのCTAB固有のデータはそのまま維持し、これ以外の値をデフォルトCTABの値に書き換える。
【0034】
ステップ3D:操作者はステップ3Bで消去されたシーケンスデータに代えて新たなシーケンスデータを記録したり、編集したりする。なお、新たなシーケンスデータの作成・記録・編集作業は鍵盤1Aの操作に応じたリアルタイム入力(オーバーダビング処理)や図示していない他のスイッチ類の操作に応じたステップ入力処理、クリア処理又はクォンタイズ処理などによって行われる。
ステップ3E:操作者がノースイッチ『No』を操作したとステップ39で判定されたので、CPU10はLCD2から上記メッセージを消去する。
ステップ3F:スタート/ストップスイッチが操作(オン)されたかどうかを判定し、操作された(YES)場合は処理を終了し、メインルーチン(図示せず)にリターンし、操作されていない(NO)場合はステップ33にリターンし、ステップ33以降の処理を繰り返し行う。
【0035】
図4は操作者によってパネル1B上のスタート/ストップスイッチが操作され、自動演奏のスタートが指示された場合にCPU10が行うスタート処理の一例を示す図である。このスタート処理では、電子楽器がこの実施例のように複数のリズムパート(リズム1パート及びリズム2パート)を有する場合において、音源回路16が両方のパートの音をそれぞれ独立したMIDIチャンネルで発音可能な音源であっても、リズムパートの音がMIDIチャンネル番号『10』の1つに固定されているGM(General Midi)システムの音源であっても支障なく発音できるようにするための処理を行っている。
【0036】
すなわち、リズム1パート及びリズム2パートのようにリズムパートが2つ存在し、かつ、音源回路16がGMシステムの音源である場合には、両方のパートの音がMIDIチャンネル番号『10』に出力されなければならない。このとき、両方のパートから同じタイミングで同時に発音してはならない複数のイベント(例えば、ハイハットのオープンとクローズ、同じ種類のイベントでベロシティが異なるものなど)が発生した場合には、時間的に後から出力されたイベントが優先的に発音されるようになる。そこで、この実施例では、例えば後述する図7のステップ73及び74の処理を行なうことにより、複数のリズムパートの内、いずれか一つをメインのリズムパートとし、残りのものをサブのリズムパートとして、同じタイミングでイベントが発生した場合にそのメインのリズムパートのイベントを最後に出力するようにした。これによって、メインのリズムパートの音が必ず発音されるようになるので、メインパートの演奏音が発音されないといった不都合がなくなり、音楽的に好ましい演奏が可能となる。
【0037】
このスタート処理は次のようなステップで順番に実行される。
ステップ41:図2(B)の初期設定データに基づいて、音源回路16の各MIDIチャンネルに音色などの各種設定を行う。
ステップ42:現在の発音モードが第1の発音モードかどうかを判定し、第1の発音モード(YES)の場合は次ステップ43に進み、第2の発音モード(NO)の場合はリターンする。ここで、第1の発音モードとは、リズム1パート及びリズム2パートの2つのリズムパートの演奏データを1つのMIDIチャンネル分の演奏データにマージして発音することであり、第2の発音モードとは、2つのリズムパートの演奏データをそれぞれ別々のMIDIチャンネルの演奏データとして発音することである。この発音モードは、図示していないモード選択スイッチの操作によって設定するか、又は音源回路16がGMシステムの音源であるかどうかを検出して自動的に設定してもよい。この場合、音源回路16がGMシステムの場合には第1の発音モードが選択され、そうでない場合には第2の発音モードが選択される。
【0038】
ステップ43:チャンネル番号『10』がリズム1パートであるかどうかを判定し、リズム1パート(YES)の場合はステップ45に進み、リズム1パート以外(NO)の場合はステップ44に進む。
ステップ44:ステップ43でリズム1パートのチャンネル番号が『10』以外のチャンネル番号『n』であると判定されたので、ここではチャンネル番号『10』の音色をリズム1パートの音色に変更し、変更前のチャンネル番号『10』の音色をチャンネル番号『n』の音色に変更する。すなわち、互いの音色を交換する。
【0039】
ステップ45:リズム1パート及びリズム2パートの演奏データがチャンネル番号『10』となるように、チャンネル入れ替えテーブルを作成する。すなわち、ステップ43でチャンネル番号『10』がリズム1パートである(YES)と判定された場合にはリズム2パートの演奏データをチャンネル番号『10』にするためのリズム2パートに関するチャンネル入れ替えテーブルを作成する。また、ステップ43でチャンネル番号『10』がリズム1パートでない(NO)と判定され、ステップ44で音色交換が行われた場合にはリズム1パート及びリズム2パートの演奏データがチャンネル番号『10』となるようにチャンネル入れ替えテーブルを作成する。また、ステップ43の判定時点でチャンネル番号『10』がリズム2パートであった場合には、ステップ44の音色交換を行い、リズム1パートの演奏データをチャンネル番号『10』にするためのリズム1パートに関するチャンネル入れ替えテーブルを作成する。
【0040】
図5は4分音符当たり96回のタイマ割り込みで実行される再生処理の一例を示す図である。この再生処理は次のようなステップで順番に実行される。
ステップ51:タイミングレジスタTIMEの値が『0』かどうかを判定し、『0』(YES)の場合は図2(A)のシーケンスデータから次のデータを読み出すタイミングになったことを意味するので次のステップ52に進み、『0』以外(NO)の場合はステップ5Bに進む。
【0041】
ステップ52:ステップ51でシーケンスデータの読み出しタイミングになったと判定されたので、ここでは、図2(A)のスタイルデータの中から次のデータを読み出す。
ステップ53:ステップ52で読み出されたデータがデルタタイムデータであるかどうかを判定し、デルタタイムデータ(YES)の場合はステップ58に進み、そうでない場合はステップ54に進む。
【0042】
ステップ54:読み出されたデータがデルタタイムデータでないとステップ53で判定されたので、今度はその読み出されたデータがセクションの区切りを示すマーカーであるかどうかの判定を行い、マーカー(YES)の場合はステップ57に進み、マーカー以外の他のデータ(NO)の場合はステップ55に進む。
ステップ55:ステップ54でセクション区切りでない(NO)と判定されたということは、ステップ52で読み出されたデータがイベントデータであることを意味するので、ここでは、そのイベントを対応チャンネルのCTAB及びノート変換テーブルに基づいて処理する。ただし、ノートイベント以外のイベントの場合はこのステップ55の処理は省略する。
【0043】
図6はステップ55の処理の詳細を示す図である。この処理は次のようなステップで順番に実行される。
ステップ61:ステップ52で読み出されたノートイベントデータに対応するCTABがCTAB群の中に存在するかどうかを現在演奏中のセクション及びイベントデータ内のチャンネルナンバに基づいて判定し、存在する(YES)場合はステップステップ63にジャンプし、存在しない(NO)場合はステップ62に進む。
ステップ62:ステップ61で対応するCTABが存在しないと判定されたので、ここではそのイベントに対するCTABとしてデフォルトCTABを適用する。
【0044】
ステップ63:CTAB内のパートナンバに基づいてそのCTABがリズムパート以外であるかどうかを判定し、リズムパート以外のベースパート、コードパート(YES)の場合は次のステップ64に進み、リズムパート(NO)の場合はリターンして図5のステップ56に進む。
ステップ64:操作者によって押鍵されている現時点のコードルート及びコードタイプに対応するCTAB内のチャンネルスイッチデータが『1』(オン)であるかどうか、すなわち発音すべきパートか否かを判定し、チャンネルスイッチデータが『1』であり、発音すべきパートである(YES)と判定された場合には次のステップ65に進み、『0』であり、発音しないパートである(NO)と判定された場合にはステップ67に進む。
【0045】
ステップ65:CTAB内のノート変換テーブル種類のデータに基づいてノート変換テーブルを選択する。
ステップ66:CTAB内のデータ、選択されたノート変換テーブル及び操作者によって押鍵されている現時点のコードルート及びコードタイプあるいは図示しないコードシーケンサにより再生されたコードルート及びコードタイプに基づいてノートデータを修正する。なお、CTAB内のソースルート及びソースタイプがシーメジャー7th(Cmaj7)でない場合には、一旦そのノートデータをソースルート及びソースタイプをシーメジャー7th(Cmaj7)に対応するように変換する。そして、変換されたノートデータをさらにノート変換テーブル並びに現時点のコードルート及びコードタイプに応じて修正して、図5のステップ56に進む。
【0046】
ステップ56:ステップ55(図6の処理)によってノートナンバが修正されたノートイベントをバッファに書き込み、ステップ52にリターンする。
ステップ57:ステップ54でセクションの区切り(YES)であると判定されたということは、ステップ52で読み出されたデータがセクションの区切りを示すマーカーであると判定されたことを意味するので、そのセクションの先頭へ移行するか、又は終了する。先頭へ移行する場合は該セクションの先頭のデルタタイムを読み出し、タイミングレジスタTIMEへ格納した後、次の割り込みタイミングまで待機する。
【0047】
ステップ58:読み出されたデータがデルタタイムデータであるとステップ53で判定されたので、ここでは、そのデルタタイムデータをタイミングレジスタTIMEに格納する。
ステップ59:タイミングレジスタTIMEの格納値が『0』かどうか、すなわち、ステップ52で読み出されたデルタタイムデータが『0』かどうかを判定し、『0』(YES)の場合は同じタイミングに該当するので、ステップ52にリターンし、そのデルタタイムに対応するイベントデータを読み出してステップ54〜57の処理を行い、『0』以外(NO)の場合はステップ5Aに進む。
【0048】
ステップ5A:バッファ内のデータを音源回路16に出力し、ステップ5Bへと進む。
ステップ5B:ステップ51でタイミングレジスタTIMEの値が『0』でないと判定されたか、又はステップ58で『0』以外の値がタイミングレジスタTIMEに格納されてステップ59でタイミングレジスタTIMEの値が『0』でないと判定されたので、ここでは、そのタイミングレジスタTIMEの値を1だけデクリメント処理してリターンし、次の割り込みタイミングまで待機する。
図7はこのステップ5Aの処理の詳細を示す図である。この処理は次のようなステップで順番に実行される。
ステップ71:発音モードは第1の発音モードかどうかを判定し、第1の発音モード(YES)の場合は次のステップ72に進み、第2の発音モード(NO)の場合はステップ75にジャンプする。
【0049】
ステップ72:ステップ71で第1の発音モード(YES)と判定されたので、図4のステップ45の処理によって作成されたチャンネル入れ替えテーブルに基づいてチャンネル番号の入れ替えを行う。これにより、リズム1パート及びリズム2パートのイベントのチャンネル番号は『10』に変更される。
ステップ73:リズム1パートとリズム2パートのノートオンイベントが両方バッファ内に存在するかどうかを判定し、存在する(YES)場合はステップ74に進み、存在しない(NO)場合はステップ75に進む。つまり、前述した通り、リズム1パート及びリズム2パートは、同じリズムパートであるため、両方のパートで同じタイミングで同時に発音してはならない、つまり相容れない、複数のイベント(例えば、ハイハットのオープンとクローズ、同じ種類のイベントでベロシティが異なるものなど)が発生される可能性がある。そこで、このステップ73では、リズム1パートとリズム2パートのノートオンイベントが両方バッファ内に存在するかどうかを判定することで、該イベント同士が相容れない関係であることを判定しているのである。
【0050】
ステップ74:イベントの出力順序、すなわちリズム2パートのノートイベントの方がリズム1パートのノートイベントよりも先に出力されるように、バッファ内のデータ並びを変更する。すなわち、この実施例ではリズム1パートを優先度の高いパートとするようにしている。
ステップ75:バッファ内のノートオンイベントをバッファ内の並び順に従って音源回路16に出力し、次の割り込みタイミングまで待機する。
【0051】
このステップ74及び75の処理によって、両方のリズム1パート及びリズム2パートから同じタイミングでイベントが発生した場合でも、リズム1パートのイベントの方がリズム2パートのイベントよりも後で出力されるようになるので、両パートのイベントが同じ発音タイミングに相当し、かつ、そのイベント同士が互いに相容れない関係にある場合(例えば、両イベントがハイハットオープンイベントとハイハットクローズイベントである場合や両イベントが同一種類のイベントでベロシティだけが異なる場合など)には、音源回路16はリズム1パートのイベントに対応した発音だけを優先的に行うようになる。
なお、ここでは、リズム1パート及びリズム2パートのノートイベントの出力タイミングを調整する場合について説明したが、そのイベント同士が互いに相容れない関係にある場合はリズム2パートのノートイベントを消去してもよいことはいうまでもない。
【0052】
また、上述の実施例では音源回路及び自動演奏装置を内蔵した電子楽器について説明したが、自動演奏処理を行うシーケンサモジュールと、音源回路からなる音源モジュールとがそれぞれ別々に構成され、各モジュール間のデータの授受を周知のMIDI規格で行うように構成されたものにも同様に適用できることは言うまでもない。
さらに、上述の実施例では、本発明をリズム、ベース、コードパート等からなる演奏データを繰り返し読み出す自動伴奏に適用した場合について説明したが、これに限らずシーケンサタイプの自動演奏に適用してもよいことは言うまでもない。
【0053】
上述の実施例では、パートエディットビット(PEB)を各チャンネル毎に持たせる場合について説明したが、パート毎に持たせるようにしてもよい。すなわち、実施例ではチャンネル毎に各チャンネルがどのパートに属するかなどの情報を持たせるようにしたが、パート毎にどのチャンネルがそのパートに属するかなどの情報を持たせ、そこにそのパートをエディットしてもよいか否かを示す情報を持たせるようにしてもよい。
また、リズムパートの数は3つ以上であってもよい。その場合、各パートの間に優先度を付与し、優先度の高いパートの音が優先的に発音されるようにすればよい。
【0054】
また、上述の実施例では、リズムパートがリズム1パート及びリズム2パートの2以上の場合について両パートのイベントをマージして発音する場合について説明したが、これ以外のパート(ベースパート、コード1パート)についても同様にマージして発音してもよいことはいうまでもない。また、複数パートのイベントをマージして発音する場合だけでなく、複数チャンネルのイベントをマージして発音する場合にも同様に優先チャンネルを設定し、そのチャンネルのイベントを優先的に発音するようにしてもよい。
【0055】
【発明の効果】
この発明によれば、音楽的に不都合のない演奏をすることができるという効果がある。
【図面の簡単な説明】
【図1】 この発明に係る自動演奏装置を適用した電子楽器の一実施例を示すハード構成ブロック図である。
【図2】 図1のROM及びRAMに記憶されているスタイルデータの内容及びデフォルトCTABの内容を示す図である。
【図3】 図1のパネル上の各スイッチの操作に応じて図1の電子楽器のCPUが処理するカスタムスタイル作成処理の一例を示す図である。
【図4】 操作者によってパネル上のスタート/ストップスイッチが操作され、自動演奏のスタートが指示された場合にCPUが行うスタート処理の一例を示す図である。
【図5】 4分音符当たり96回のタイマ割り込みで実行される再生処理の一例を示す図である。
【図6】 図5のステップ55の処理の詳細を示す図である。
【図7】 図5のステップ5Aの処理の詳細を示す図である。
【符号の説明】
10…CPU、11…ROM、12…RAM、13…押鍵検出回路、14…スイッチ検出回路、15…表示回路、16…音源回路、17…タイマ、18…MIDIインターフェイス、19…ディスクドライブ、1A…鍵盤、1B…パネル、1C…サウンドシステム、1D…データ及びアドレスバス、2…LCD
Claims (2)
- それぞれ発音タイミングを指し示す情報を有する第1のリズムパートの演奏データと第2のリズムパートの演奏データとを含む自動演奏データを供給する供給手段と、
前記発音タイミングを指し示す情報に基づいて前記供給された演奏データを順次出力する出力手段と
を備えた自動演奏装置において、
前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとを同一のMIDIチャンネルで発音するように設定するチャンネル設定手段と、
前記供給された前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとが同じ発音タイミングである場合は、前記第2のリズムパートの演奏データを前記第1のリズムパートの演奏データよりも先に出力するよう各演奏データを相次いで出力する出力制御手段と
を備え、同じ発音タイミングに対応して前記出力制御手段により相次いで出力された各演奏データのうち後に出力された前記第1のリズムパートの演奏データの音が最終的に当該発音タイミングの音として発音されるようにしたことを特徴とする自動演奏装置。 - それぞれ発音タイミングを指し示す情報を有する第1のリズムパートの演奏データと第2のリズムパートの演奏データとを含む自動演奏データを供給する供給手段と、
前記発音タイミングを指し示す情報に基づいて前記供給された演奏データを順次出力する出力手段と
を備えた自動演奏装置において、
第1の動作モードと第2の動作モードのうち何れかを指定する動作モード指定手段と、
前記第1の動作モードが指定された場合に、前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとを同一のMIDIチャンネルで発音するように設定するチャンネル設定手段と、
前記第1の動作モードが指定された場合に、前記供給された前記第1のリズムパートの演奏データと前記第2のリズムパートの演奏データとが同じ発音タイミングである場合は、前記第2のリズムパートの演奏データを前記第1のリズムパートの演奏データよりも先に出力するよう各演奏データを相次いで出力する出力制御手段と
を備え、同じ発音タイミングに対応して前記出力制御手段により相次いで出力された各演奏データのうち後に出力された前記第1のリズムパートの演奏データの音が最終的に当該発音タイミングの音として発音されるようにしたことを特徴とする自動演奏装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002018974A JP3669335B2 (ja) | 2002-01-28 | 2002-01-28 | 自動演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002018974A JP3669335B2 (ja) | 2002-01-28 | 2002-01-28 | 自動演奏装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01634895A Division JP3324318B2 (ja) | 1995-01-09 | 1995-01-09 | 自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002229565A JP2002229565A (ja) | 2002-08-16 |
JP3669335B2 true JP3669335B2 (ja) | 2005-07-06 |
Family
ID=19192107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002018974A Expired - Lifetime JP3669335B2 (ja) | 2002-01-28 | 2002-01-28 | 自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3669335B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5701011B2 (ja) * | 2010-10-26 | 2015-04-15 | ローランド株式会社 | 電子楽器 |
EP3208795B1 (en) | 2014-10-17 | 2020-03-04 | Yamaha Corporation | Content control device and content control program |
-
2002
- 2002-01-28 JP JP2002018974A patent/JP3669335B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002229565A (ja) | 2002-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6369311B1 (en) | Apparatus and method for generating harmony tones based on given voice signal and performance data | |
EP1349167B1 (en) | Audio system for reproducing plural parts of music in perfect ensemble | |
KR100297674B1 (ko) | 자동연주장치 및 자동연주 데이터의 처리방법 | |
US5973254A (en) | Automatic performance device and method achieving improved output form of automatically-performed note data | |
JP3551087B2 (ja) | 楽曲自動再生装置および連続楽曲情報作成再生プログラムを記録した記録媒体 | |
US5668337A (en) | Automatic performance device having a note conversion function | |
JPH10214083A (ja) | 楽音生成方法および記憶媒体 | |
JP3533972B2 (ja) | 電子楽器の設定制御装置 | |
JP3398554B2 (ja) | 自動アルペジオ演奏装置 | |
JP3669335B2 (ja) | 自動演奏装置 | |
JP3212872B2 (ja) | 電子楽器 | |
JP3709821B2 (ja) | 楽曲情報編集装置及び楽曲情報編集プログラム | |
JP3324318B2 (ja) | 自動演奏装置 | |
JP3671788B2 (ja) | 音色設定装置および音色設定方法並びに音色設定プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
JP2947150B2 (ja) | 自動演奏装置 | |
JP2660462B2 (ja) | 自動演奏装置 | |
JP3709820B2 (ja) | 楽曲情報編集装置及び楽曲情報編集プログラム | |
JPH10312190A (ja) | 自動アルペジオ演奏装置 | |
JPH0728462A (ja) | 自動演奏装置 | |
JP3797180B2 (ja) | 楽譜表示装置及び楽譜表示プログラム | |
JP3752956B2 (ja) | 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2000003175A (ja) | 楽音生成方法、楽音デ―タ作成方法、楽音波形デ―タ作成方法、楽音デ―タ生成方法、および記憶媒体 | |
JP3757664B2 (ja) | 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3895139B2 (ja) | 自動演奏装置 | |
JP3797181B2 (ja) | 楽譜表示装置及び楽譜表示プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050404 |
|
R150 | Certificate of patent (=grant) 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 (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090422 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090422 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100422 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110422 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120422 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130422 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |