(57)【特許請求の範囲】
【請求項１】
複数の圧縮された波形データが格納された第１の波形記憶装置と、
チャンネル対応にＰＣＭ波形データを記憶する第２の波形記憶装置と、
圧縮された波形データをＰＣＭ波形データに復元するデコーダと、
音源部とを有する音源システムであって、
楽曲の再生開始指示に応答して、演奏すべき楽曲の楽曲データに含まれるメッセージを順次読み込み、
読み込まれたメッセージが所定のチャンネルの音色を指定する音色変更指示であるときに、前記第１の波形記憶装置からその音色変更指示により指定された音色に対応する圧縮された波形データを読み出し、該圧縮された波形データを前記デコーダで復元して、前記第２の波形記憶装置における当該音色変更指示に対応するチャンネルのＰＣＭ波形データとして記憶し、
読み込まれたメッセージが所定のチャンネルの発音を指示する発音指示であるときに、前記第２の波形記憶装置に記憶されているその発音指示に対応するチャンネルのＰＣＭ波形データを用いて前記音源部によりその楽音を生成し、
前記楽曲データは、少なくとも音色変更指示と発音指示とをメッセージとして含み、前記音色変更指示を、そのチャンネルの発音指示よりも、前記圧縮された波形データを前記デコーダで復元して前記第２の波形記憶装置に記憶するのに要する時間以上前に格納するものであることを特徴とする音源システム。
【請求項２】
前記第２の波形記憶装置は、チャンネルごとに前記ＰＣＭ波形データが対応付けられている音色インデックステーブルが設けられており、
読み込まれたメッセージが所定のチャンネルの発音を指示する発音指示であるときに、前記音色インデックステーブルを参照して前記ＰＣＭ波形データを読み出すことを特徴とする請求項１記載の音源システム。
【請求項３】
前記第２の波形記憶装置は、ユーザにより入力された波形データを記憶することができるように構成されていることを特徴とする請求項１記載の音源システム。
【請求項４】
外部から入力される圧縮されたオーディオストリームデータを前記デコーダによりデコードして再生することができるように構成されていることを特徴とする請求項１記載の音源システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形メモリ方式の音源システムに関する。
【０００２】
【従来の技術】
音源装置は、電子楽器をはじめ、パーソナルコンピュータ、ゲーム機器など各種の装置に使用されており、近年では、携帯電話などの携帯通信端末にも搭載されている。
このような音源装置には、楽音の生成アルゴリズムにより、波形メモリ方式（ＰＣＭ方式）、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式等各種の方式のものが知られている。
【０００３】
波形メモリ方式（ＰＣＭ方式）の音源は、自然楽器などの楽音波形をサンプリングしディジタル信号に変換して波形メモリに記憶し、該記憶されている波形データを読み出して、種々の音色の楽音を発生させるものである。
このような波形メモリ方式の音源において、多種類の音色やより高品質の楽音を発生させようとする場合には、大量の楽音波形を波形メモリに記憶させておくことが必要となるが、そのためには波形メモリの記憶容量が大きくなるという問題点がある。
そこで、楽音波形サンプルを圧縮して圧縮波形記憶手段に記憶しておき、キーオン信号に応じて使用する圧縮波形データを前記圧縮波形記憶手段から読み出し、そのデータを再現波形記憶手段に復元して楽音を発生させることが提案されている（特開平６−３４８２７４号公報）。
また、楽音波形を圧縮されたデータとして記憶する圧縮波形記憶手段と、楽音の鳴り始めの部分の楽音波形を圧縮せずに記憶する初期波形記憶手段とを設け、最初は初期波形記憶手段に記憶された楽音波形に基づいて楽音を発生させることも提案されている（特開平６−３４２２９１号公報）。
【０００４】
【発明が解決しようとする課題】
上述の初期波形記憶手段を設けることなく圧縮波形記憶手段から圧縮された波形データをキーオン信号により読み出して復元する方法によれば、波形記憶手段の記憶容量を小さくすることが可能となるが、圧縮された波形データを復元する処理に時間を要するためタイムラグが発生し、電子楽器などではキーオンから発音までのレスポンスが悪くなるという問題があった。
また、圧縮波形記憶手段に加えて、楽音の鳴り始めの部分の楽音波形を圧縮せずに記憶する初期波形記憶手段を設ける方法によれば、上記タイムラグの問題は解消することができるものの、初期波形記憶手段を必要とし、波形データを記憶するために要する記憶容量が全体として増加してしまうという問題点がある。
さらに、上述した方法は、いずれも、発音指示に応答して圧縮波形データを復元して再現波形記憶手段に記憶するようにしているため、復元処理を頻繁に行わなければならず処理負荷が重くなるとともに大容量の再現波形記憶手段が必要となる。すなわち、同時発音可能な発音チャンネル数の全てに対して復元処理を行なう必要があり、かつ、その復元されたデータを記憶する領域が必要となるという問題点がある。
【０００５】
そこで本発明は、波形メモリ方式の音源において、少ない容量の波形記憶手段で、多種類かつ高品質の楽音を発生することのできる音源システムを提供することを目的としている。
また、圧縮された波形データを記憶する波形メモリ方式の音源において、ノートオンから発音開始までの時間遅れの発生を防止することを目的としている。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明の音源システムは、複数の圧縮された波形データが格納された第１の波形記憶装置と、チャンネル対応にＰＣＭ波形データを記憶する第２の波形記憶装置と、圧縮された波形データをＰＣＭ波形データに復元するデコーダと、音源部とを有する音源システムであって、楽曲の再生開始指示に応答して、演奏すべき楽曲の楽曲データに含まれるメッセージを順次読み込み、読み込まれたメッセージが所定のチャンネルの音色を指定する音色変更指示であるときに、前記第１の波形記憶装置からその音色変更指示により指定された音色に対応する圧縮された波形データを読み出し、該圧縮された波形データを前記デコーダで復元して、前記第２の波形記憶装置における当該音色変更指示に対応するチャンネルのＰＣＭ波形データとして記憶し、読み込まれたメッセージが所定のチャンネルの発音を指示する発音指示であるときに、前記第２の波形記憶装置に記憶されているその発音指示に対応するチャンネルのＰＣＭ波形データを用いて前記音源部によりその楽音を生成し、前記楽曲データは、少なくとも音色変更指示と発音指示とをメッセージとして含み、前記音色変更指示を、そのチャンネルの発音指示よりも、前記圧縮された波形データを前記デコーダで復元して前記第２の波形記憶装置に記憶するのに要する時間以上前に格納するものである。
また、前記第２の波形記憶装置は、チャンネルごとに前記ＰＣＭ波形データが対応付けられている音色インデックステーブルが設けられており、読み込まれたメッセージが所定のチャンネルの発音を指示する発音指示であるときに、前記音色インデックステーブルを参照して前記ＰＣＭ波形データを読み出すものである。
さらに、前記第２の波形記憶装置は、ユーザにより入力された波形データを記憶することができるように構成されているものである。
さらにまた、外部から入力される圧縮されたオーディオストリームデータを前記デコーダによりデコードして再生することができるように構成されているものである。
【０００７】
【発明の実施の形態】
本発明の音源システムは、電子楽器、パーソナルコンピュータ、ゲーム機器など楽音を発生することが可能な各種の電子機器に適用することができるが、ここでは、携帯電話やＰＨＳなどの携帯通信端末に適用した場合を例にとって説明する。
図１は、本発明の音源システムを搭載した携帯通信端末の概略構成を示すブロック図である。
この図において、１はこの携帯通信端末全体の動作の制御を行なう中央処理装置（ＣＰＵ）、２は制御プログラムや各種定数データなどを格納するＲＯＭなどからなる第１のメモリ（ＲＯＭ１）、３は各種情報を記憶したりワークエリアなどとして使用されるフラッシュメモリなどのＥＥＰＲＯＭやＲＡＭからなる第２のメモリ（ＲＡＭ１）、４は通信部、５は図示しないマイクとスピーカに接続される音声符号化復号化回路（音声ＣＯＤＥＣ）、６は表示部、７はキー入力部、８は外部インターフェース回路、９は例えばＦＩＦＯ構成とされたバッファである。また、破線で囲まれた１０は本発明の音源システムであり、音源システム１０は、シーケンサ１１、音源およびデコーダ部（音源／デコーダ部）１２、ＲＯＭで構成された第１の波形記憶装置（ＲＯＭ２）１３およびＲＡＭで構成された第２の波形記憶装置（ＲＡＭ２）１４を有している。さらに、１５は前記各構成要素間のデータ転送を行なうためのバスである。
【０００８】
ここで、前記第１の波形記憶装置（ＲＯＭ２）１３には、この音源システムの全プリセット音色についての音色データが格納されており、特に、各音色の波形データは圧縮されて格納されている（圧縮波形データ）。また、前記第２の波形記憶装置（ＲＡＭ２）１４には、演奏すべき楽曲に使用する音色データが圧縮されない形で記憶され、この第２の波形記憶装置１４に記憶されている波形データ（ＰＣＭ波形データ）を用いて楽音が生成される。
【０００９】
図２は、前記音源／デコーダ部１２の内部構成を示すブロック図である。
図２において、２１は前記第１の波形記憶装置（ＲＯＭ２）１３からデータを読み出すための第１のメモリインターフェース回路（ＲＯＭインターフェース回路）、２２は前記バス１５から供給されるオーディオストリームデータが入力される例えばＦＩＦＯ構成とされたバッファ、２３は前記ＲＯＭインターフェース回路２１を介して前記第１の波形記憶装置１３から読み出された圧縮された波形データと前記バッファ２２の出力とを選択してデコーダ２４に供給する第１の選択手段（セレクタ）、２４は圧縮された波形データを復元するデコーダ（ストリームＣＯＤＥＣ）である。
【００１０】
また、２５は前記第２の波形記憶手段１４に対してデータを読み書きするための第２のメモリインターフェース回路（ＲＡＭインターフェース回路）、２６は楽音生成時に位相発生器２７により生成されるアドレスに基づいて前記第２の波形記憶手段１４に記憶されている波形データの読み出しアドレスを生成するアドレス発生回路、２７は発生する楽音のノートナンバーに対応する位相更新量（Ｆナンバー）により更新されるアドレスを生成する位相発生器（ＰＧ）、２８は楽音生成時に前記第２の波形記憶手段１４から読み出される波形データに対してエンベロープ発生器２９から供給されるエンベロープデータを乗算する乗算器、２９はエンベロープ発生器（ＥＧ）、３０は前記乗算器２８の出力波形データに対して所定のエフェクトを付加するエフェクタ、３１は前記デコーダ２４からのデコードされた波形データと前記エフェクタ３０から出力される波形データのいずれかを選択してデジタルアナログ変換器３２に出力する第２の選択手段（セレクタ）、３２は前記第２の選択手段３１から出力される波形データをアナログ信号に変換するデジタルアナログ変換器（Ｄ／Ａ変換器）であり、このＤ／Ａ変換器３２の出力は図示しないオーディオ増幅器で増幅された後、スピーカより出力される。これらにより、音源部が構成されている。
【００１１】
このように構成された携帯通信端末は、通常の携帯電話機能とともに、前記音源システム１０を用いて楽曲を再生する機能を有している。楽曲は、着信メロディ、保留音、通話時のＢＧＭなどに使用することができるとともに、所望の時に鑑賞することもできる。このような楽曲を演奏させるための楽曲データ（シーケンスデータ）は、デフォルトの着信メロディや保留音用のものは前記第１のメモリ２に予め格納されている。また、前記通信部４を介する無線通信により外部の楽曲サーバなどからダウンロードすることもできる。さらに、前記外部インターフェース回路８を介して接続されたパーソナルコンピュータなどからダウンロードすることも可能である。さらにまた、前記第１のメモリ２中に楽曲データの作成・編集用プログラムを搭載し、この携帯通信端末自体に楽曲データの作成・編集機能を有するようにすることもできる。このようにダウンロードあるいは作成・編集された楽曲データは、前記第２のメモリ３に記憶される。
【００１２】
なお、前記楽曲データのフォーマットとしては、ＳＭＦ（スタンダードＭＩＤＩファイル）や携帯端末に特化した簡易フォーマット（ＳＭＡＦ（Synthetic Music Mobile Application Format）、ＣＭＩＤＩなど）のいずれであってもよいが、ここでは、ＳＭＦフォーマットの楽曲データの場合を例にとって説明する。周知のように、ＳＭＦフォーマットは、ヘッダチャンクと少なくとも１つのトラックチャンクとで構成されており、ヘッダチャンクには、フォーマット、トラック数、時間単位などそのファイルについての基本的な情報が格納されており、トラックチャンクには、各メッセージ間の時間間隔を表わす時間情報（デルタタイム）とメッセージ情報からなる演奏データが格納されている。ここで、メッセージ情報には、ＭＩＤＩのチャンネルメッセージ（ノートオン、ノートオフ、コントロールチェンジ、プログラムチェンジ、ピッチベンド、チャンネルアフタータッチなど）を格納したＭＩＤＩイベント、ＭＩＤＩのシステムエクスクルーシブメッセージなどを格納したシステムエクスクルーシブイベント、および、演奏データには含まれない演奏全体に関する情報などが格納されたメタイベントがある。そして、通常は、ノートオンメッセージよりも所定タイミング前（例えば、１拍程度前）にそのＭＩＤＩチャンネルの音色を指定するプログラムチェンジメッセージが格納されている。
【００１３】
上記のように構成された本発明の音源システム１０を用いることにより、（１）前記第１の波形記憶装置１３に記憶されているプリセット音色を用いた音源での楽曲データの再生、（２）ユーザ音色を用いた音源での楽曲データの再生、および、（３）オーディオストリームデータの再生、の３通りの動作を行なうことができる。
すなわち、前記ＣＰＵ１は、前記第１のメモリ２あるいは前記第２のメモリ３に記憶された楽曲データ（ＳＭＦデータ）を、その再生指示に従い、前記バッファ９を介して前記シーケンサ１１に転送する。シーケンサ１１は、楽曲データ中に含まれるメッセージを順次解釈し、所定のタイミングで音源／デコーダ部１２に音源駆動データ（ノートオン、ノートオフ、ノートナンバ、チャンネルナンバなど）などの制御情報を転送する。なお、楽曲再生のスタート、ストップなどのシーケンサ制御情報は、前記ＣＰＵ１が直接前記シーケンサ１１に供給する。前記楽曲データ中に含まれるプログラムチェンジメッセージ（音色変更指示）により、対応する音色の圧縮された音色データが第１の波形記憶装置１３から読み出され、デコーダで復元されて、前記第２の波形記憶装置（ＲＡＭ２）１４に記憶される。前記音源／デコーダ部１２の音源部はこの第２の波形記憶装置１４に記憶された音色データを使用して楽音を生成し、出力する。これにより、上記（１）プリセット音色を使用した楽曲の再生を行なうことができる。
【００１４】
また、前記第２の波形記憶装置１４に、ユーザが別途用意した音色データを記憶しておき、この音色データを使用して楽音を生成することにより、上記（２）任意のユーザ音色を使用した楽曲の再生を行なうことができる。
さらに、前記音源／デコーダ部１２のデコーダは、前述のように、圧縮された波形データを復元する機能を有しているため、このデコーダを使用して、長時間の圧縮された波形データ（オーディオストリームデータ）の再生を行なうことができる。すなわち、前記ＣＰＵ１は、前記第２のメモリ３に格納されているオーディオストリームデータや前記通信部４あるいは前記外部インターフェース回路８を介して入力されるオーディオストリームデータを、音源／デコーダ部１２の前記バッファ２２に入力し、それをデコーダ２４で復元し、Ｄ／Ａ変換器３２に出力することにより、上記（３）オーディオストリームデータの連続再生を行なうことができる。
【００１５】
以下、このような本発明の音源システムの動作について詳細に説明する。
図３は、前記第１の波形記憶装置（ＲＯＭ２）１３に格納されているデータの一例を示す図である。前述のようにこの第１の波形記憶装置（ＲＯＭ２）１３にはこの音源システムにより生成される全プリセット音色の音色データが記憶されており、音色データのうちの波形データは圧縮されて記憶されている。ここでは、ＭＩＤＩのプログラムチェンジメッセージに含まれるプログラム番号（７ビット）で指定することのできる１２８種類の音色に対応する音色データが格納されているものとする。なお、この音色の数はこれに限られることはなく、任意の数とすることができる。
また、圧縮の方式としては、オーディオ信号のデータストリームを圧縮する圧縮方法であればどのような方式であってもよいが、ＭＰ３（MPEG-1 Audio Layer3）、ＡＡＣ（MPEG-2 Advanced Audio Coding）、ＴｗｉｎＶＱ（Transform-domain Weighted Interleave Vector Quantization）、ＡＴＲＡＣ（Adaptive TRansform Acoustic Cording）、ＡＤＰＣＭなど圧縮率の高い方式が好適である。ただし、前記デコーダ２４は、少なくとも、採用されている圧縮方式に対応している必要がある。
【００１６】
図３の（ａ）に示すように、第１の波形記憶装置１３には、第１の音色インデックステーブル４０、音色データ記憶領域４１、および、各音色に対応する圧縮された波形データを記憶する圧縮波形データ記憶領域４２が設けられている。
図３の（ｂ）は、前記第１の音色インデックステーブル４０に格納されている情報を示す図であり、この図に示すように、プログラム番号対応にその音色に対応する音色データの記憶位置の先頭アドレス（Ａ１，Ａ２，…，Ａ１２８）が格納されている。
また、前記音色データ記憶領域４１には、各音色毎の音色データが格納されており、各音色データとして、（イ）その音色に対応する圧縮された波形データが格納されている記憶領域を特定するアドレス情報、すなわち、その圧縮された波形データが格納されている領域の先頭アドレス（スタートアドレス）および最終アドレス（エンドアドレス）の情報、および、（ロ）その音色に関するパラメータデータが記憶されている。このパラメータデータとしては、この波形データが圧縮される前のＰＣＭ波形データの先頭アドレスからの相対アドレスで表したエンドアドレスとループスタートアドレス、エンベロープデータ、エフェクトデータ、および、前記圧縮された波形データの圧縮方法および圧縮率を示す情報が格納されている。ここで、前記エンドアドレスおよびループスタートアドレスは、圧縮前のＰＣＭ波形データに基づき事前に決定される。また、採用する圧縮方法および圧縮率が固定されている場合には、前記圧縮方法および圧縮率に関する情報は記憶する必要はない。
前記圧縮波形データ記憶領域４２には、各音色に対応する圧縮波形データが、前記各音色データ中のアドレス情報によりそれぞれ指定される領域に記憶されている。
【００１７】
次に、前記第２の波形記憶装置（ＲＡＭ２）１４に記憶されるデータについて図４を参照して説明する。
図４の（ａ）は、前記第２の波形記憶装置（ＲＡＭ２）１４に復元された波形データなどが記憶されている様子を示す図である。
図示するように、この第２の波形記憶装置１４には、第２の音色インデックステーブル５０、各ＭＩＤＩチャンネル対応の音色データを記憶する音色データ記憶領域５１、復元されたＰＣＭ波形データを記憶するＰＣＭ波形データ記憶領域５２、および、ユーザにより別途用意された音色データとそのＰＣＭ波形データを記憶するユーザエリア５３の各領域が設けられている。なお、前記第２の音色インデックステーブル５０は、必ずしもこの第２の波形記憶装置１４中に記憶する必要はなく、前記シーケンサ１１あるいは前記音源／デコーダ部１２中にこの第２の音色インデックステーブル５０を設けるようにしてもよい。
【００１８】
図４の（ｂ）は、前記第２の音色インデックステーブル５０の内容の一例を示す図である。この図に示すように、第２の音色インデックステーブル５０には、各ＭＩＤＩチャンネル対応にそのチャンネルに割り当てられている音色データが格納されている領域の先頭アドレスを記憶している。図示する例では、チャンネル番号１，２，…に対して、前記音色データ記憶領域５１におけるそれぞれの音色データを記憶する領域の先頭アドレスＢ１，Ｂ２，…が記録される。これは、後述するように、（１）プリセット音色を用いた再生動作の場合に対応している。
【００１９】
また、前記音色データ記憶領域５１は、各ＭＩＤＩチャンネル番号に対応する音色データが記憶される領域であり、各音色毎に、その音色のパラメータデータ（エンドアドレス、ループスタートアドレス、エンベロープデータ、エフェクトデータなど）、および、その音色のＰＣＭ波形データが記憶されている領域の先頭アドレス（波形データアドレス）が記憶される。ここで、前記パラメータデータ中のエンドアドレスおよびループスタートアドレスは、圧縮波形データが前記第１の波形記憶装置１３から読み出されＰＣＭ波形に復元されてこの第２の波形記憶装置１４に記憶されるときの先頭アドレス（波形データアドレス）に前記第１の波形記憶装置１３中に記憶されていた音色データ中に含まれていた先頭アドレス（スタートアドレス）からの相対アドレスで表されたエンドアドレスおよびループスタートアドレスを加算して求めた第２の波形記憶装置１４中におけるアドレスである。
【００２０】
前記ＰＣＭ波形データ記憶領域５２は、前記第１の波形記憶装置１３から読み出された圧縮波形データをデコーダ２４で復元した各チャンネルのＰＣＭ波形データが記憶される領域であり、ここでは、図示するようにチャンネル１〜チャンネル１６の１６のＭＩＤＩチャンネル分の復元されたＰＣＭ波形データが記憶されている様子を示している。
さらに、前記ユーザエリア５３は、ユーザが別途用意した音色データ（ユーザ音色）を記憶する領域であり、その音色の音色データとそのＰＣＭ波形データが記憶される。
【００２１】
次に、このように構成された本発明の音源システムにおける前述した各動作について説明する。
まず、（１）プリセット音色を用いる再生動作について、図５に示すフローチャートを参照して説明する。
前記メモリ２あるいはメモリ３に記憶されている演奏データの再生が指示されると、前記ＣＰＵ１は、前記シーケンサ１１および前記音源／デコーダ部１２に対し、再生動作の開始を指示するとともに、前記第１のメモリ２あるいは前記第２のメモリ３中に記憶されている演奏データ（ＳＭＦデータ）を前記バッファ９に供給する（ステップＳ１１）。
【００２２】
シーケンサ１１は、前記バッファ９からそのＳＭＦデータを順次読み込み（ステップＳ１２）、その種類を判定して（ステップＳ１３）、その中に含まれているＭＩＤＩメッセージの内容に応じた制御信号を、前記音源／デコーダ部１２に供給する。ここで、本発明においては、そのＭＩＤＩメッセージがプログラムチェンジメッセージである場合に、そのプログラムチェンジメッセージに含まれているプログラム番号に対応する音色データを前記第１の波形記憶装置（ＲＯＭ２）１３から読み出し、該読出した圧縮されている波形データを前記デコーダ２４によりＰＣＭ波形データに復元し、前記第２の波形記憶装置（ＲＡＭ２）１４に記憶するようにしている（ステップＳ１４）。
【００２３】
すなわち、プログラムチェンジメッセージ（Ｃｎｐｐ：「Ｃｎ」はステータスバイトであり、ｎはＭＩＤＩチャンネルを示す。また、ｐｐはプログラム番号を示す。）に含まれているプログラム番号（ｐｐ）をキーとして前記第１の波形記憶装置（ＲＯＭ２）１３中の第１の音色インデックステーブル４０を参照し、対応する音色データが格納されているアドレス（Ａｐｐ）を知り、その音色データ（圧縮波形アドレス情報およびパラメータデータ）を読み出す。
そして、前記第１の波形記憶装置１３から読み出したその音色のパラメータデータは、前記第２の波形記憶装置１４における音色データ記憶領域５１に記憶する。このとき、その記憶される領域の先頭アドレス（Ｂｎ）が決定され、この先頭アドレスは、前記第２の音色インデックステーブル５０におけるそのＭＩＤＩチャンネルに対応するエントリーに書き込まれる。
そして、前記読み出した圧縮波形アドレス情報により前記第１の波形記憶装置１３から、その音色の圧縮された波形データを読み出し、前記第１の選択手段２３を介して、前記デコーダ２４に供給する。これにより、前記デコーダ２４においてその波形データが復元され、得られたその音色のＰＣＭ波形データは、ＲＡＭインターフェース回路２５を介して第２の波形記憶装置１４のＰＣＭ波形データ記憶領域５２に書き込まれる。このときの先頭位置のアドレスは、そのＭＩＤＩチャンネル（ｎ）の音色データ記憶領域５１に波形データアドレスとして書き込まれる。
【００２４】
また、読込まれたＭＩＤＩメッセージがノートオンメッセージ（９ｎｋｋｖｖ：「９ｎ」はノートオンを示すステータスバイトであり、ｎはＭＩＤＩチャンネルを示す。また、ｋｋはノートナンバー、ｖｖはベロシティを示す。）であるときは、ステップＳ１５に進み、音源部の発音チャンネルを割り当てる。なお、この音源／デコーダ部１２の発音チャンネル数は１６、３２あるいは６４など任意の数とすることができる。
【００２５】
そして、ステップＳ１６に進み、そのノートの発音処理を行なう。すなわち、そのノートオンメッセージに含まれているＭＩＤＩチャンネル番号（ｎ）から前記第２の音色インデックステーブル５０を引き、その音色の音色データが記憶されている第２の波形記憶装置（ＲＡＭ２）１４のアドレスを知る。そして、その音色データ（スタートアドレス、エンドアドレス、ループスタートアドレス、エンベロープデータ、エフェクトデータ）を読み出して、スタートアドレスは前記アドレス発生器２６に、エンドアドレスとループスタートアドレスは前記位相発生器（ＰＧ）２７に、エンベロープデータはエンベロープ発生器（ＥＧ）２９に、エフェクトデータはエフェクタ３０にというようにそれぞれ対応した個所に設定し、楽音発生の前準備を行う。そして、前記アドレス発生器２６により、前記第２の波形記憶装置（ＲＡＭ２）１４中の前記スタートアドレスからその音色の波形データの読出しを開始する。この読出しアドレスは、前記ノートオンメッセージに含まれているノートナンバーから変換された位相増分値（Ｆナンバー）により更新され、前記エンドアドレスに達した後は、前記ループスタートアドレスを初期値として設定するように更新される。この前記位相発生器（ＰＧ）２７から出力されるアドレスは、前記アドレス発生器２６において前記スタートアドレスに加算され、前記第２の波形メモリ１４からそのＭＩＤＩチャンネルのＰＣＭ波形データが順次読出される。
【００２６】
このようにして読み出されたＰＣＭ波形データは、前記乗算器２８において前記エンベロープ発生器（ＥＧ）２９から供給されるエンベロープ情報が乗算され、さらにエフェクタ３０で前記エフェクト情報が乗算されて、第２の選択手段３１を介してデジタルアナログ変換器３２に供給され、アナログの楽音信号となって図示しない増幅器を介してスピーカから放音されることとなる。
また、前記ＭＩＤＩメッセージがその他のメッセージであるときは、それぞれのメッセージに対応する処理をステップＳ１７で行なう。以上の処理を楽曲の最後まで繰返し行なう（ステップＳ１８）。
【００２７】
一般に、ＳＭＦデータには、実際のノートオンメッセージよりも所定時間前（例えば、１拍程度前）にそのＭＩＤＩチャンネルの音色を指定するためにプログラムチェンジメッセージが記述されている。したがって、プログラムチェンジメッセージに応答して圧縮波形データを復元し、前記第２の波形記憶装置１４に記憶するようにしても、発音指示（ノートオンメッセージ）による発音までの間にその処理が完了しており、ノートオンから実際の発音までにタイムラグが発生することはない。したがって、本発明の音源システムによれば、少ない記憶容量の波形記憶装置を用いているにもかかわらず、良好なレスポンスで楽音を発生させることができる。
【００２８】
次に、（２）ユーザが別途用意した音色データ（ユーザ音色）を用いた音源での再生処理について説明する。
このユーザ音色を用いる再生には、（イ）特定の１又は複数のＭＩＤＩチャンネルについてはユーザ音色を使用し、他のＭＩＤＩチャンネルについてはプリセット音色を使用する場合、（ロ）特定の１又は複数のプログラム番号の音色についてはユーザ音色を使用し、他のプログラム番号の音色についてはプリセット音色を使用する場合、および、（ハ）別途用意されたユーザ音色が例えば１２８音色で構成される音色セットなどの場合で、全プログラム番号をユーザ音色に差し替え、全音色についてユーザ音色を使用する場合、の３通りの場合がある。いずれの場合であっても、前記第２の波形記憶装置１４のユーザエリア５３に、ユーザが別途用意した音色データおよびそのＰＣＭ波形データを記憶しておく。なお、前記図４にはアドレスＢＵを先頭とする１つのユーザ音色を記憶した様子を示したが、複数のユーザ音色を記憶することができる。
【００２９】
まず、前記（イ）特定の１又は複数のＭＩＤＩチャンネルについてユーザ音色を使用する場合について説明する。
この場合には、まず、ユーザは、前記入力部７（図１）により前記外部インターフェース回路８又は前記通信部４を介して取得するなどした音色データとそのＰＣＭ波形データを前記第２の波形記憶装置１４の前記ユーザエリア５３に記憶しておく。そして、モード設定などにより、特定の１又は複数のＭＩＤＩチャンネルについてユーザ音色を使用することを設定しておく。
これにより、前記第２の音色インデックステーブル５０におけるユーザ音色を使用するとされたＭＩＤＩチャンネルのエントリーに前記ユーザエリア５３のそのユーザ音色の波形データが記憶された領域の先頭アドレスが書き込まれる。図６は、このときの前記第２の音色インデックステーブル５０の記憶内容の一例を示す図であり、ここでは、第１チャンネルにユーザ音色を使用する場合を示している。
そして、前記図５に示したフローチャートにしたがって、再生処理を行う。ただし、ステップＳ１３において読み込んだＭＩＤＩメッセージがプログラムチェンジメッセージである場合に、そのプログラムチェンジメッセージに含まれるＭＩＤＩチャンネル番号がユーザ音色を使用するＭＩＤＩチャンネル番号である場合（前述の例では、ｎ＝１のとき）には、そのプログラムチェンジメッセージについては、ステップＳ１４の処理を実行しないようにする。
これにより、特定のＭＩＤＩチャンネルについてはユーザ音色を使用し、その他のＭＩＤＩチャンネルについてはプリセット音色を使用して再生を行なうことができる。
【００３０】
次に、（ロ）特定の１又は複数のプログラム番号の音色についてはユーザ音色を使用し、他のプログラム番号の音色についてはプリセット音色を使用する場合について説明する。
この場合にも、前述の場合と同様に、前記第２の波形記憶装置１４の前記ユーザエリア５３にユーザが用意した音色データとそのＰＣＭ波形データを記憶し、モード設定などにより、特定の１又は複数のプログラム番号についてはユーザ音色を使用することを設定しておく。
そして、前記図５に示したフローチャートに準じて処理を行なうのであるが、この場合には、前記図５におけるステップＳ１４に代えて、図７に破線で囲まれた部分の処理を行うようにする。
【００３１】
すなわち、前記ステップＳ１３で読み込んだＭＩＤＩメッセージの種類を判定し、それがプログラムチェンジメッセージであるときには、ステップＳ２０に進み、そのプログラムチェンジメッセージに含まれているプログラム番号（ｐｐ）がユーザ音色を使用すると設定されているプログラム番号であるか否かを判定する。その結果、ユーザ音色を使用するプログラム番号であるときは、ステップＳ２１に進み、前記第２の音色インデックステーブル５０のそのＭＩＤＩチャンネルのエントリーに使用するユーザ音色の音色データおよびＰＣＭ波形データが記憶されている領域の先頭アドレス（ＢＵ）を書き込む。
一方、そのプログラム番号がユーザ音色に設定されていないプログラム番号であるときは、前述と同様にステップＳ１４を実行する。
これにより、ユーザ音色を使用するとされているプログラム番号の音色については、前記第１の波形記憶装置１３からプリセット音色データを読み出して前記第２の波形記憶装置１４に展開することなく、第２の波形記憶装置１４のユーザエリア５３に記憶されている音色データを使用して楽曲を再生することができる。
【００３２】
次に、前記（ハ）全音色についてユーザ音色を使用する場合について説明する。この場合には、前述と同様にモード設定によりユーザ音色セットを使用するようにしてもよいし、あるいは、プリセット音色を使用するプリセットバンクおよびユーザ音色を使用するユーザバンクを定義しておき、バンクセレクト（ＭＩＤＩメッセージのコントロールチェンジによる）およびプログラムチェンジメッセージにより使用するバンクを切り換えるようにしてもよい。
図８の（ａ）は、この別途用意されたユーザ音色セットを用いて再生を行なう場合における前記第２の波形メモリ１４の記憶内容を示す図、（ｂ）はこの場合における第２の音色インデックステーブル５０の内容の一例を示す図、（ｃ）はユーザ音色インデックステーブル５５の内容を示す図である。このユーザ音色インデックステーブル５５は前述したユーザ音色セットに含まれている情報であり、図示するように、ユーザ音色セットに含まれる各音色の記憶領域を指定する情報である。なお、このユーザ音色インデックステーブル５５の記憶内容は、このユーザ音色セットを第２の波形記憶装置１４に記憶するときにその記憶位置により更新される。
【００３３】
前述のように、ユーザ音色セットを使用するモードに設定されたときには、前記ＣＰＵ１の制御により、ユーザが別途用意した音色セットが、図示するように第２の波形記憶装置１４に記憶される。なお、ここでは、ユーザ音色インデックステーブル５５を第２の波形記憶装置１４中に記憶するようにしたが、前記第２の音色インデックステーブル５０と同様に、このユーザ音色インデックステーブル５５も前記シーケンサ１１あるいは前記音源／デコーダ部１２中に設けるようにしてもよい。
また、前記バンクセレクトによりプリセット音色とユーザ音色とを切り換える場合には、バンクセレクトに後続するプログラムチェンジメッセージを検出したときに、図８に示すようにユーザ音色インデックステーブル５５およびユーザ音色データを前記第２の波形記憶装置１４に記憶する。
そして、前記図５に示したフローチャートに準じて再生動作を行なう。ただし、この場合には、ＭＩＤＩメッセージがプログラムチェンジメッセージであるときに実行される前記ステップＳ１４において、前記ユーザ音色インデックステーブル５５を参照して、そのプログラム番号に対応する第２の波形記憶装置１４の先頭アドレスを知り、これを前記第２の音色インデックステーブル５０のそのＭＩＤＩチャンネルのエントリーに書き込むようにする。
これにより、ユーザが別途用意した音色セットを使用して再生を行なうことが可能となる。
【００３４】
このように、本発明の音源システムによれば、第２の波形記憶装置１４をプリセット音色の再生およびユーザ音色の再生のいずれにも使用することができ、ユーザ音色の再生を行なうために別の波形記憶装置を用意することが不要となる。したがって、プリセット音色に加えてユーザ音色も再生させようとする場合に、波形データを記憶するために必要とされる記憶装置の記憶容量が少なくて済む。
【００３５】
次に、長時間の圧縮された波形データを再生する上記（３）のオーディオストリームデータ再生処理について説明する。
この場合には、前記図２において、前記デコーダ２４の入力側に設けられた第１の選択手段２３を前記バッファ２２側に切り換えるとともに、前記Ｄ／Ａ変換器３２の入力側に設けられた第２の選択手段３１を前記デコーダ２４の出力が選択される側に切り換えておく。そして、前記ＣＰＵ１は、前記第２のメモリ３に格納されているオーディオストリームデータや前記通信部４あるいは前記外部インターフェース回路８を介して入力される圧縮されたオーディオストリームデータを、前記バッファ２２に供給する。このバッファ２２からの圧縮されたストリームデータは、前記第１の選択手段２３を介して、前記デコーダ２４に供給され、ＰＣＭ波形データに復元されて、前記第２の選択手段３１を介して前記Ｄ／Ａ変換器３２に供給される。
これにより、ＭＰ３、ＴｗｉｎＶＱ、ＡＡＣなどにより圧縮されたオーディオストリームデータを順次再生することができる。
【００３６】
なお、上記においては、前記シーケンサ１１および前記音源／デコーダ部１２がハードウエアにより実現されているように説明したが、上述したシーケンサ１１および音源／デコーダ部１２の両方あるいはいずれか一方の機能を、前記ＣＰＵ１あるいは別途設けたＣＰＵによるソフトウエア処理により実現させるようにしてもよい。
また、上述の実施の形態では、本発明の音源システムを携帯通信機器に適用した場合を例にとって説明したが、本発明の音源システムは、電子楽器、ゲーム機器、パーソナルコンピュータなど各種の電子機器に適用することができる。
【００３７】
【発明の効果】
以上説明したように、本発明の音源システムによれば、プログラムチェンジメッセージ（音色変更指示）に応答して圧縮波形データを事前にデコードしておき音源波形として使用する構成とされているので、発音遅れの発生を防止することができる。
また、プログラムチェンジに連動して圧縮波形データを復元して第２の波形記憶装置に展開するように構成されているので、複数の発音で同一の展開波形データを共用することができ、ＲＡＭの容量も少なくて済み、さらに、デコード処理の頻度も減少し、処理負荷を軽減することができる。
さらにまた、圧縮率の高いストリーム圧縮方式を採用するときには、ＲＯＭに格納するデータ量を大幅に削減することができる。
さらにまた、ストリーム圧縮された波形データをデコードするデコード手段を、通常のストリーム再生にも使用することができる。
さらにまた、従来の音源においては、一般的に、ＲＯＭしか有していなかったために、ユーザ音色を使用できるようにする場合には、ユーザ音色用のＲＡＭを別途設ける必要があったのに対し、本発明の音源システムによれば、ＲＡＭをプリセット音色用とユーザ音色用の両者に使用することが可能となる。
【図面の簡単な説明】
【図１】  本発明の音源システムが適用された携帯通信機器の概略構成を示すブロック図である。
【図２】  本発明の音源システムの一実施の形態の構成を示すブロック図である。
【図３】  第１の波形記憶装置に格納されているデータを説明するための図である。
【図４】  プリセット音色を用いた再生動作時における第２の波形記憶装置にデータが記憶されている様子を説明するための図である。
【図５】  本発明の音源システムにおけるプリセット音色を用いた再生動作を説明するための図である。
【図６】  特定のＭＩＤＩチャンネルについてはユーザ音色を用いた再生を行なう場合の動作を説明するための図である。
【図７】  特定のプログラム番号についてはユーザ音色を用いて再生を行なう場合の動作を説明するための図である。
【図８】  ユーザ音色セットを用いた再生動作時における第２の波形記憶装置にデータが記憶されている様子を説明するための図である。
【符号の説明】
１０  音源システム、１１  シーケンサ、１２  音源／デコーダ部、１３  第１の波形記憶装置、１４  第２の波形記憶装置、２１  第１のメモリインターフェース回路、２２  バッファ、２３  第１の選択手段、２４  デコーダ、２５  第２のメモリインターフェース回路、２６  アドレス発生器、２７  位相発生器、２８  乗算器、２９  エンベロープ発生器、３０  エフェクタ、３１  第２の選択手段、３２  Ｄ／Ａ変換器、４０  第１の音色インデックステーブル、５０第２の音色インデックステーブル
【図１】
0004012682.tif 000002
【図２】
0004012682.tif 000003
【図３】
0004012682.tif 000004
【図４】
0004012682.tif 000005
【図５】
0004012682.tif 000006
【図６】
0004012682.tif 000007
【図７】
0004012682.tif 000008
【図８】
0004012682.tif 000009