(57)【要約】【課題】大きな値を表すデータを解釈して発音する際のデータ処理を簡略化することが可能な音源モジュールを提供すること。【解決手段】メモリ９には、発音を制御するためのシーケンスデータが格納されている。このシーケンスデータは、発音を制御するための固定ビット長のデータを一部に含む所定データ形式を有する。シーケンサ３は、固定ビット長のデータを可変長データに変換するための変換テーブル３１を有し、この変換テーブル３１を参照してシーケンスデータに含まれる固定ビット長のデータを可変長データに変換して解釈する。そして、音源部４は、シーケンサ３により解釈された内容に従って発音処理を行う。【選択図】      図１
2004157379.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスデータを入力し、該シーケンスデータに従って発音処理を行うように構成された音源モジュールであって、
固定ビット長の第１のデータを所定データ形式に準拠した可変長データに変換するための対応関係が規定されたテーブルと、
前記テーブルを参照することにより前記第１のデータを前記第２のデータに変換して前記シーケンスデータを解釈し、該解釈の結果に従って発音情報を生成するシーケンサと、
前記発音情報に従って音信号を生成する音源部と、
を備えたことを特徴とする音源モジュール。
【請求項２】
前記テーブルが配列により表現され、前記第１のデータが前記配列の添字を表し、前記第２のデータが前記配列の要素を表すことを特徴とする請求項１に記載された音源モジュール。
【請求項３】
前記シーケンスデータが、前記配列の要素を書き換えるためのメッセージを含むことを特徴とする請求項２に記載された音源モジュール。
【請求項４】
前記第１のデータがデュレーションまたはゲートタイムに関するデータであることを特徴とする請求項１ないし３の何れか１項に記載された音源モジュール。
【請求項５】
前記テーブルを作成・更新するテーブル制御部をさらに備えたことを特徴とする請求項１に記載された音源モジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯電話などに用いられる音源モジュールに関し、特にＳＭＡＦ（Ｓｙｎｔｈｅｔｉｃ  ｍｕｓｉｃ  Ｍｏｂｉｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｆｏｒｍａｔ）などの規格に準拠したシーケンスデータを解釈するための技術に関する。
【０００２】
【従来の技術】
従来、携帯端末等に用いられる音源用のデータ形式として、ＳＭＡＦ等が知られている。このデータ形式は、携帯電話をプラットフォームとしてマルチメディアコンテンツのために開発されたもので、メロディ着信音はもとより、音楽、テキスト、画像が一体となったさまざまな形態のサービスへの応用が可能となっている。
【０００３】
ＳＭＡＦによれば、データはすべて１バイト単位で表現され、１バイトで表現可能な値は０〜１２７までとされている。それより大きな値を表現する場合には、複数のバイトにより可変長データを構成し、その可変長データのバイト数は、図６（ａ）に示すように、４バイトを上限として規定されている。即ち、１２８〜１６３８３の範囲の値については２バイト、１６３８４〜２０９７１５１の範囲の値については３バイト、２０９７１５２〜２６８４３５４５５の範囲の値については４バイトで表現される。
【０００４】
上述の可変長データの例としては、イベントとイベントとの間の経過時間を表すデュレーションがある。デュレーションは、１バイトでは表現できない程に大きな値をとる場合があるため、その値に応じて１バイトから最大４バイトを用いて表現される。この場合、各バイトの下位７ビットがデュレーションの値を表すデータとして使用され、最上位ビット（ＭＳＢ）が次のバイトにデータが存在するか否かを表すフラグとして使用される。
【０００５】
例えば、デュレーションが４バイトのデータで表現されているものとすると、１バイト目から３バイト目までの各ＭＳＢが「１」に設定され、最後の４バイト目のＭＳＢが「０」に設定される。これにより、１バイト目から３バイト目までの各バイトについては次のバイトにデータが存在することが表され、最後の４バイト目の次のバイトにはデータが存在しないことが表される。従って、この例では４バイトのデータで表現されていることが把握される。このように、ＳＭＡＦでは、各バイトのＭＳＢの値からデュレーションが何バイトで表現されているのかが把握できるようになっている。
【０００６】
図６（ｂ），（ｃ）に、シーケンスデータの一例を示す。同図に示すデータ列を構成する各データは１バイトのデータであり、「０ｘ」は１６進数であることを意味する。図６（ｂ）に示す例では、「０ｘ４０」をデュレーションを表す１バイト目のデータとすると、そのＭＳＢは「０」であるから、その次のバイトにはデュレーションのデータが存在せず、次のバイトのデータ「０ｘ８０」は別のイベントデータとなる。従ってこの例では、デュレーションは１バイトのデータ「０ｘ４０」で表されていることになる。
【０００７】
図６（ｃ）に示す例では、「０ｘＥ８」をデュレーションの１バイト目のデータとすると、そのＭＳＢは「１」であるから、その次のデータ「０ｘ０７」は同じデュレーションを表す２バイト目のデータとなる。また、この２バイト目のデータ「０ｘ０７」のＭＳＢは「０」であるから、その次のデータ「０ｘ８０」は別のイベントデータとなる。従ってこの例では、このデュレーションは２バイトのデータで表現されていることになる。この種の他の可変長データとしては、デュレーションの他に、ノート・オンしている時間を表すゲートタイムがある。
【０００８】
図７に、上述のシーケンスデータに含まれるデュレーションを解釈するためのフローの一例を示す。このフローによれば、まず、最初のバイトのＭＳＢの確認を行う（ステップＳ１０）。ここで、このデータのＭＳＢが「０」でなければ（ステップＳ１１；ＮＯ）、即ちＭＳＢが「１」であれば、下位７ビットを保持し（ステップＳ１２）、その次のバイトに処理の対象を移し（ステップＳ１３）、同様に下位７ビットを保持する。
【０００９】
上述のステップＳ１１，Ｓ１２，Ｓ１３は、ＭＳＢをして「０」を有するバイトが出現するまで繰り返し行われる。そして、ＭＳＢが「０」であると判定されると（ステップＳ１１；ＹＥＳ）、そのバイトの下位７ビットを保持する（ステップＳ１４）。そして、ステップＳ１４で保持された下位７ビットのデータと、上述のステップＳ１２で繰り返し保持された各バイトの７ビットのデータとを上位側のバイトから順に並べてデュレーションのデータを再構成し、その値を解釈する（ステップＳ１５）。また、ＳＭＡＦデータには、発音する時間を表すゲートタイムというデータがあり、ゲートタイムもデュレーションと同様に１バイトでは表現できない場合があり、同様の処理が必要である。
【００１０】
【非特許文献１】
「ＳＭＡＦ仕様書  ３．０６（ダウンロード）」、［平成１４年１１月６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｓｍａｆ．ｙａｍａｈａ．ｃｏ．ｊｐ／ｓｍａｆ１．ｈｔｍｌ＞
【００１１】
【発明が解決しようとする課題】
ところで、上述の可変長データの表現形式によれば、複数のバイトで表現された可変長データを解釈する処理において、可変長データを構成する１バイト目の次の１バイトのデータがその同じ可変長データを表す２バイト目のデータであるのか、或いは別のデータであるのかを、１バイト目のＭＳＢから順次的に判断する処理が必要となる。また、複数のバイトからフラグを除いて可変長データを再構成する過程で、各バイトの下位７ビットを順に抜き出す処理が必要となる。
従って、上述の表現形式によれば、大きな値のデータを複数のバイトからなる可変長データとして表現しているので、大きな値のデータを解釈する際の処理はやや煩雑である。
【００１２】
本発明は、上記事情に鑑みてなされたもので、大きな値を表すデータを解釈して発音する際のデータ処理を今以上に簡略化することが可能な音源モジュールを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解決するため、この発明は以下の構成を有する。
すなわち、請求項１に記載された発明は、シーケンスデータを入力し、該シーケンスデータに従って発音処理を行うように構成された音源モジュールであって、固定ビット長の第１のデータを所定データ形式に準拠した可変長データに変換するための対応関係が規定されたテーブル（例えば後述する変換テーブル３１に相当する構成要素）と、前記テーブルを参照することにより前記第１のデータを前記第２のデータに変換して前記シーケンスデータを解釈し、該解釈の結果に従って発音情報を生成するシーケンサ（例えば後述するシーケンサ３に相当する構成要素）と、前記発音情報に従って音信号を生成する音源部（例えば後述する音源部４に相当する構成要素）と、を備えたことを特徴とする。
【００１４】
請求項２に記載された発明は、請求項１に記載された音源モジュールにおいて、前記テーブルが配列により表現され、前記第１のデータが前記配列の添字を表し、前記第２のデータが前記配列の要素を表すことを特徴とする。
請求項３に記載された発明は、請求項２に記載された音源モジュールにおいて、前記シーケンスデータが、前記配列の要素を書き換えるためのメッセージを含むことを特徴とする。
請求項４に記載された発明は、請求項１ないし３の何れか１項に記載された音源モジュールにおいて、前記第１のデータがデュレーションまたはゲートタイムに関するデータであることを特徴とする。
請求項５に記載された発明は、請求項１に記載された音源モジュールにおいて、前記テーブルを作成・更新するテーブル制御部をさらに備えたことを特徴とする。
【００１５】
この発明の構成によれば、可変長データである第２のデータが固定ビット長の第１のデータとしてシーケンスデータに含まれている。即ち、可変長データである第２のデータの仮のデータとして固定ビット長の第１のデータがシーケンスデータに含まれている。これら第１のデータと第２のデータとの対応関係はテーブルに規定されており、このテーブルを参照することにより、第１のデータが意味するところの本来の第２のデータを把握できる。
【００１６】
シーケンサは、順次入力されるシーケンスデータの中に固定ビット長の第１のデータが含まれていると、上記テーブルを参照して第１のデータを本来の第２のデータに変換してシーケンスデータを解釈する。ここで、本来可変長データとして表現されるべき第２のデータが固定ビット長の第１のデータとしてシーケンスデータに含まれるので、シーケンスデータから第１のデータを識別する際にそのビット長を判別するための処理が不要となる。
【００１７】
また、仮のデータである第１のデータを本来の第２のデータに変換するには、テーブルを参照すれば足りる。従って、シーケンスデータを解釈して発音する際の処理を簡略化することが可能となる。さらに、大きな値を表現するための可変長データの仮のデータとして固定ビット長のデータをシーケンスデータに含むので、シーケンスデータのデータ量を抑えることも可能になる。また、参照するテーブルを外部から変更することにより、同じシーケンスデータでありながら、異なった発音をさせるということも可能である。
【００１８】
なお、この発明によれば、テーブルに規定可能な第２のデータの値の個数は第１のデータのビット数で制限される。即ち、テーブルには第２のデータのビット数で表現可能な全ての値が規定されるのではなく、そのうち、第１のデータのビット数で規定される個数分の任意の値が規定される。これはビット数の多い可変長データをビット数の少ない固定ビット長のデータに対応づけていることに起因している。
【００１９】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態を説明する。
図１は、本発明による音源モジュールの構成を示す。この音源モジュールは、ＳＭＡＦなどの携帯端末用のデータ形式（所定のデータ形式）に準拠したシーケンスデータに従って発音処理を実行するものであり、その構成は次のようである。バス１１を介して、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）からなる制御部８、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）からなるメモリ９、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）からなるメモリ１０が相互に接続される。制御部８は全体動作を制御するための処理を実行するもので、その動作プログラムはメモリ１０に格納されている。メモリ９には、ＳＭＡＦ等の演奏データがシーケンスデータとして格納されている。
【００２０】
バス１１はインタフェース（Ｉ／Ｆ）１を介してＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）からなるバッファ２の入力部に接続され、このバッファ２の出力部には、本発明の特徴部をなすシーケンサ３の入力部が接続される。シーケンサ３は、後述するデータ変換を行うための変換テーブル３１と、発音のタイミングを取得するためのカウンタ３２を有し、クロック生成部７から時間管理用の基準クロック信号ＣＬＫが供給される。シーケンサ３の出力部は音源部４の入力部に接続され、この音源部４の出力部はデジタル／アナログ変換器５を介してスピーカ６の端子に接続される。
【００２１】
次に、この実施の形態に係る音源モジュールが入力するシーケンスデータのデータ形式を説明する。このデータ形式は、基本的にはＳＭＡＦと共通するが、以下に説明するように２つの特徴点を有する。１つ目は、デュレーションやゲートタイム等の真の値を表す可変長データ（第２のデータ）を固定ビット長のデータ（第１のデータ）として表現し直し、固定ビット長のデータを可変長データの仮のデータとして用いる点である。２つ目は、上述の仮のデータが意味する可変長データを指定し更新するためのメッセージを有する点である。なお、上述のメモリ９に格納されたシーケンスデータに含まれる可変長データは、事前に上述の仮のデータで置き替えられている。
【００２２】
さらに第１の特徴を詳細に説明する。
可変長データの仮のデータとして１バイトの固定ビット長のデータを規定すると、仮のデータの値は真の可変長データの値とは異なるから、そのままではシーケンスデータを正しく解釈することはできない。そこで、図２に例示するように、配列ａ［２５６］を定義し、この配列ａ［２５６］を用いて仮のデータを真のデータである可変長データに変換するための変換テーブル３１を規定する。
【００２３】
ここで、図２（ａ）に示す配列ａ［２５６］の要素ａ（０），ａ（１），…，ａ（２５５）は可変長データの値を表し、各要素の添字「０」〜「２５５」は仮のデータの値を表す。仮のデータは１バイトの固定ビット長のデータとしているから、各要素の添字は仮のデータで表現可能な値「０」〜「２５５」とされる。図２（ｂ）は、配列ａ［２５６］の各要素と添字との対応関係を示しており、この対応関係が上述の変換テーブル３１に規定されている。即ち、変換テーブル３１には、固定ビット長の仮のデータ（第１のデータ）を所定データ形式に準拠した真のデータである元の可変長データ（第２のデータ）に変換するための対応関係が規定されている。
【００２４】
変換テーブル３１の真のデータ（要素の値）は、外部から指定可能となっているが、特に指定がない場合には、仮のデータの値（添字の値）とされる。この例では、例えば仮のデータ「３」に対し、真のデータとして「１０００」が外部から指定されており、このことからシーケンスデータに含まれる仮のデータ「３」が真のデータ「１０００」を意味することが把握される。また、例えば仮のデータ「０」に対しては、外部からの指定がなく、真のデータとして添字の値と一致する「０」が規定されている。この変換テーブル３１によれば、大きな値と小さな値との対応づけがなされているため、この対応関係の範囲内で固定ビット長のデータを元の可変長データに変換することが可能となる。
なお、変換テーブル３１は、実際にはメモリなどの記憶部に展開されるので、真のデータの記憶領域のビット幅は物理的に制限される。その意味では可変長データは固定長ビット長のデータとして変換テーブル３１に定義される。固定ビット長の仮のデータを元の可変長データに変換する場合には、変換テーブル３１に真のデータとして定義されたビット列の中から有意なビット列を抽出し、これを可変長データとする。
【００２５】
上述の変換テーブル３１を用いたデータの変換例を説明する。例えば、シーケンスデータのデータ列「０ｘ０５  ０ｘ８０  ０ｘ３Ｅ  ０ｘ０７・・・」において、先頭のデータ「０ｘ０５」がデュレーションを表す１バイトのデータであるとする。この場合、データ「０ｘ０５」を仮のデータとして図２（ｂ）に示す変換テーブルを参照することにより、添字が「５」（＝０ｘ０５）の要素ａ（５）の値として外部から指定された「２０００」がデュレーションの真のデータとして取得される。これにより、仮のデータが意味する真のデータが得られる。
【００２６】
次に、第２の特徴点を説明する。上述の変換テーブル３１の作成・更新を行うためのメッセージがシーケンスデータ内に設けられる。このメッセージとしては、イベントデータの一つであるイクスクルーシブ・メッセージを利用することができ、シーケンスデータの先頭に置くことが好ましい。図３に、イクスクルーシブ・メッセージの例を示す。同図（ａ）に示すメッセージＭＡは、上述の配列ａ［２５６］の１つの要素の値を更新するためのものであり、先頭データＭＡ１、サイズデータＭＡ２、ＩＤデータＭＡ３、添字データＭＡ４、要素データＭＡ５、後尾データＭＡ６を含む。
【００２７】
ここで、先頭データＭＡ１は、イクスクルーシブ・メッセージの始まりを表し、その次のサイズデータＭＡ２はメッセージ全体のサイズを表す。ＩＤデータＭＡ３は、テーブルを作成・更新するためのメッセージであることを識別するためのものであり、添字データＭＡ４は更新対象とされる要素の添字を表し、要素データＭＡ５は新たな要素の値を表す。後尾データＭＡ６はイクスクルーシブ・メッセージの終わりを表す。このメッセージＭＡによれば、添字データＭＡ４の値で特定される要素の値が要素データＭＡ５の値に更新される。
【００２８】
図３（ｂ）に示すメッセージＭＢは、連続する複数の要素の値を更新するためのものであり、先頭データＭＢ１、サイズデータＭＢ２、ＩＤデータＭＢ３、添字データＭＢ４、要素数データＭＢ５、要素データＭＢ６、後尾データＭＢ７を含む。ここで、先頭データＭＢ１、サイズデータＭＢ２、後尾データＭＢ７は上述の先頭データＭＡ１、サイズデータＭＡ２、後尾データＭＡ６と共通する。ＩＤデータＭＢ３は、複数の要素の値を更新するメッセージであることを識別するためのものである。
【００２９】
添字データＭＢ４は、更新対象の複数の要素のうち、最初の要素の添字を指定するものであり、要素数データＭＢ５は更新すべき要素の個数ｎ（ｎは２以上の自然数）を指定するものである。要素データＭＢ６は更新対象のｎ個の要素の新たな値であり、ｎ個の要素データＭＢ６−１〜ＭＢ６−ｎからなる。このメッセージＭＢによれば、添字データＭＢ４で特定される要素を先頭として連続するｎ個の要素の値がｎ個の要素データＭＢ−１〜ＭＢ−ｎにそれぞれ更新される。
【００３０】
上述のメッセージＭＡ，ＭＢは、図３（ｃ）に例示するように、シーケンスデータ中に挿入される。この例では、メッセージＭＡの後に続くデータＤＡＴＡ１に対してはメッセージＭＡが適用され、このデータＤＡＴＡ１内の該当する要素の値が更新される。同様に、メッセージＭＢの後に続くデータＤＡＴＡ２に対してはメッセージＭＢが適用される。このようなメッセージをシーケンスデータ中に随時挿入することにより、上述の図２（ｂ）に示す変換テーブルに規定されたの対応関係を適宜変更することが可能となっている。
【００３１】
図４に、上述のメッセージの具体例を示す。図４（ａ）に示す例は、図３（ａ）に示すメッセージＭＡに対応するもので、添字データＭＡ４が「０ｘ０５」（＝５）であり、要素データが「０ｘ００  ０ｘ００  ０ｘ０３  ０ｘＥ８」（＝１０００）である。従って、このメッセージによれば、図２（ｂ）に示す変換テーブルにおいて添字「５」の要素ａ（５）の値が「１０００」に更新される。このメッセージが検出された場合、新たなメッセージが検出されるまで、添字「５」の要素の値は「１０００」に固定される。
【００３２】
図４（ｂ）に示す例は、図３（ｂ）に示すメッセージＭＢに対応するもので、添字データＭＢ４が「０ｘ０５」（＝５）であり、要素数データＭＢ５が「０ｘ０３」（＝３）であり、要素データＭＢ６−１が「０ｘ００  ０ｘ００  ０ｘ０３  ０ｘＥ８」（＝１０００）であり、要素データＭＢ６−２が「０ｘ００  ０ｘ００  ０ｘ０５  ０ｘＤＣ」（＝１５００）であり、要素データＭＢ６−３が「０ｘ００  ０ｘ００  ０ｘ０７  ０ＸＤ０」（＝２０００）である。従って、このメッセージによれば、添字「５」の要素ａ（５）を先頭とした３個の要素ａ（５），ａ（６），ａ（７）の各値が「１０００」、「１５００」、「２０００」にそれぞれ更新される。以上で、この実施の形態に係るデータ形式の特徴点を説明した。
【００３３】
次に、図１に示す音源モジュールの動作を説明する。楽曲を再生する場合、制御部８の制御の下、メモリ９に格納されたシーケンスデータ（演奏データ）がインタフェース１を介してバッファ２に供給され、このバッファ２から適切なタイミングでシーケンサ３に入力される。シーケンサ３がシーケンスデータを読み込む前に、クロック生成部７は、テンポデータとシステムクロックＳＣＬＫを元にシーケンサの時間管理用の基準クロック信号ＣＬＫを発生する。シーケンサ３は、カウンタ３２にて基準クロック信号ＣＬＫをカウントすることにより、発音すべきタイミングを管理しながら、シーケンスデータを解釈するための処理を実行する。
【００３４】
シーケンスデータの解釈にあたっては、変換テーブル３１を参照することにより、シーケンスデータに固定ビット長のデータ（第１のデータ）として含まれるデュレーションの仮のデータを本来の可変長データ（第２のデータ）に変換する。ここで、図５に示すフローに沿って、デュレーションを解釈する処理を説明する。上述のようにシーケンサ３がシーケンスデータに含まれるデュレーションの仮データを読み込むと、その仮データが表す配列の添字の値を確認する（ステップＳ１）。続いて、確認された添字に基づき図２（ｂ）示す変換テーブル３１を参照し、該当する要素の値が表す真のデータを確認する（ステップＳ２）。そして、真のデータとして確認された値をデュレーションの値として解釈する（ステップＳ３）。以上によりデュレーションの値が簡易な処理で解釈される。
【００３５】
次に、シーケンサ３は、上記解釈の結果に従って発音情報を生成し、音源部４に発音させる。具体的には、シーケンサ３は、カウンタ３２による基準クロック信号ＣＬＫのカウント値が上記解釈したデュレーションの値に到達したところで、イベントデータを読み出してイベントデータを生成し、このイベントデータの内容（高音、音長など）を音源部４に実行させる。
以降、デュレーションやゲートタイムに関する固定ビット長のデータが出現する都度、同様の処理によりデュレーションやゲートタイムを解釈してイベントを読み出すことで、楽曲の再生を行う。
【００３６】
次に、この変換テーブルを用いた別の利用方法について説明する。図１において、シーケンサ３の外部から変換テーブル３１を作成・更新することが出来る変換テーブル制御部（図示なし）を別に備え、これにより、前述のイクスクルーシブメッセージによる処理に代わり、変換テーブル３１を作成・更新が出来るものとする。その変換テーブル制御部は、例えばバス１１に接続される操作部（図示なし）による指示により実行されるものとし、例えば変換テーブル３１の要素の値をいくつか変更することにより、同じシーケンスデータ（演奏データ）を入力しても異なった演奏をさせることができる。これにより、自分の好みに合った演奏を聞くことができる。
【００３７】
【発明の効果】
本発明によれば、固定ビット長の第１のデータを所定データ形式に準拠した可変長データに変換するための対応関係が規定されたテーブルを有し、前記テーブルを参照することにより前記第１のデータを前記第２のデータに置き換えて前記シーケンスデータを解釈して発音するように構成したので、大きな値を表すデータを解釈して発音する際のデータ処理を簡略化することが可能となる。
また、前記テーブルを外部より変更することにより、同じシーケンスデータでありながら、異なった発音をさせることができる。
【図面の簡単な説明】
【図１】この発明の実施形態に係る音源モジュールの構成を示すブロック図である。
【図２】この発明の実施形態に係る変換テーブルを説明するための図である。
【図３】この発明の実施形態に係るメッセージを説明するための図である。
【図４】この発明の実施形態に係るメッセージの具体例を説明するための図である。
【図５】この発明の実施形態に係る音源モジュールの動作（デュレーションの解釈）を説明するためのフローチャートである。
【図６】デュレーションの表現手法を説明するための図である。
【図７】デュレーションの値を解釈するための処理の従来例を示すフローチャートである。
【符号の説明】
１；インタフェース、２；バッファ、３；シーケンサ、４；音源部、５；デジタル・アナログ変換器（ＤＡＣ）、６；スピーカ、８；制御部（ＣＰＵ）、９；メモリ（ＲＡＭ）、１０；メモリ（ＲＯＭ）、１１；バス、３１；変換テーブル、３２；カウンタ。
【図１】
2004157379.tif 000003
【図２】
2004157379.tif 000004
【図３】
2004157379.tif 000005
【図４】
2004157379.tif 000006
【図５】
2004157379.tif 000007
【図６】
2004157379.tif 000008
【図７】
2004157379.tif 000009