(57)【要約】【課題】制御部と音源部を備えた楽音信号生成用の集積回路において、外部から供給されるプログラムと音データを格納するためのメモリを効率よく使用し、少ない容量で多くの音データを格納できるようにする。【解決手段】音源ＬＳＩは、内蔵ＲＡＭを備えたＣＰＵと、楽音信号を生成する音源部と、音源ＬＳＩの外部から供給されるプログラムと音色データを格納するＳＲＡＭ４０３を備える。音色データは、楽音信号の信号波形を加工して音色を変えるために用いられる音色制御用のパラメータである。ＣＰＵは、ＳＲＡＭ４０３のプログラム格納領域４０３ａに格納されているプログラムモジュールの中から、必要に応じて一部のプログラムモジュールを内蔵ＲＡＭに転送する。プログラムモジュールを転送することによって生じたプログラム格納領域４０３ａの空き領域には、音源ＬＳＩの外部から新たな音色データが書き込まれる。【選択図】図３
2011203542.tif 000002
【特許請求の範囲】
【請求項１】
楽音信号を生成するための集積回路であって、
第１メモリを内蔵した制御部と、
前記楽音信号を生成する音源部と、
前記集積回路の外部から供給されるデータを格納する第２メモリと、
を備え、
前記第２メモリには、前記データとして、前記制御部が実行するプログラムと、前記楽音信号の生成に用いる音データとが書き込まれ、
前記制御部は、前記第２メモリに書き込まれた前記プログラムの一部を前記第１メモリに転送し、前記第１メモリおよび前記第２メモリに格納されているプログラムに従って前記音源部を制御し、
前記プログラムの一部を転送することによって生じた前記第２メモリの空き領域には、前記データとして前記音データが書き込まれ、
前記音源部は、前記第２メモリに格納されている前記音データを用いて前記楽音信号を生成する
ことを特徴とする集積回路。
【請求項２】
前記第２メモリは、前記プログラムを格納する第１領域と、前記音データを格納する第２領域とを備え、
前記制御部は、前記第１領域に書き込まれた前記プログラムの一部を前記第１メモリに転送し、前記第１メモリおよび前記第２メモリに格納されているプログラムに従って前記音源部を制御し、
前記プログラムの一部を転送することによって生じた前記第１領域の空き領域には、前記データとして前記音データが書き込まれ、
前記音源部は、前記第２メモリに格納されている前記音データを用いて前記楽音信号を生成する
ことを特徴とする請求項１に記載の集積回路。
【請求項３】
前記音データには、音源波形として使用される波形データと、前記楽音信号の信号波形を加工して音色を制御するための音色制御パラメータとが含まれる
ことを特徴とする請求項１または２に記載の集積回路。
【請求項４】
前記音データには、音源波形として使用される波形データと、前記楽音信号の信号波形を加工して音色を制御するための音色制御パラメータとが含まれ、
前記音源部は、前記集積回路の外部から供給される前記波形データを格納する第３メモリを備え、
前記第２メモリには、前記データとして、前記制御部が実行するプログラムと、前記音色制御パラメータとが書き込まれ、
前記プログラムの一部を転送することによって生じた前記第２メモリの空き領域には、前記データとして前記音色制御パラメータが書き込まれ、
前記音源部は、前記第３メモリに格納されている前記波形データと、前記第２メモリに格納されている前記音色制御パラメータとを用いて前記楽音信号を生成する
ことを特徴とする請求項１に記載の集積回路。
【請求項５】
前記空き領域が生じたことを前記集積回路の外部に通知する通知部をさらに備える
ことを特徴とする請求項１乃至４のうちいずれか１項に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音信号を生成するための集積回路に関する。
【背景技術】
【０００２】
例えば特許文献１には、ＣＰＵ１０と音源部１１を内蔵した楽音信号生成用の音源ＬＳＩ１が記載されている。この音源ＬＳＩ１は、プログラムと音源用データを記憶した外部ＲＯＭ３，２４にアクセスすることで、ＣＰＵ１０が実行するプログラムや、楽音信号の生成に用いる波形データや音色データを変更することができる。また、この特許文献１には、外部ＲＯＭ３，２４から読み出したプログラムや音色データを、音源ＬＳＩ１の内部に設けられた内部ＲＡＭ１５に格納することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２４４７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、音源ＬＳＩ内のＣＰＵには、処理速度を高めるため小容量のＲＡＭが内蔵される場合がある。この場合、ＣＰＵの内蔵ＲＡＭに音源ＬＳＩの外部から直接データを書き込むことができないので、音源ＬＳＩには、外部から供給されるデータを格納するためのＲＡＭが設けられる。音源ＬＳＩの外部から供給されるプログラムや音色データは、一旦、このＲＡＭに格納された後、必要に応じてその一部がＣＰＵの内蔵ＲＡＭに転送される。このようなＲＡＭとして、プログラムを格納するプログラムＲＡＭと音色データを格納する音色データＲＡＭを別個に備える構成や、１つのＲＡＭのメモリ領域をプログラム用の格納領域と音色データ用の格納領域に分けて使用する構成が考えられる。しかしながら、いずれの場合も、プログラムの一部をＣＰＵの内蔵ＲＡＭに転送することで生じたプログラムＲＡＭやプログラム格納領域の空き領域は、プログラムを格納するための領域としてしか利用することができず、音色データを格納するための領域として利用することができない。また、このような空き領域を再利用せずに放置している場合もある。このため外部から供給されるプログラムや音色データを格納するのに必要なトータルのＲＡＭ容量が増大し、音源ＬＳＩの製造コストを上昇させる要因になっていた。
【０００５】
本発明は、上述した課題に鑑みてなされたものであり、制御部と音源部を備えた楽音信号生成用の集積回路において、外部から供給されるプログラムと音データを格納するためのメモリを効率よく使用し、少ない容量で多くの音データを格納できるようにすることである。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明に係る集積回路は、楽音信号を生成するための集積回路であって、第１メモリを内蔵した制御部と、前記楽音信号を生成する音源部と、前記集積回路の外部から供給されるデータを格納する第２メモリと、を備え、前記第２メモリには、前記データとして、前記制御部が実行するプログラムと、前記楽音信号の生成に用いる音データとが書き込まれ、前記制御部は、前記第２メモリに書き込まれた前記プログラムの一部を前記第１メモリに転送し、前記第１メモリおよび前記第２メモリに格納されているプログラムに従って前記音源部を制御し、前記プログラムの一部を転送することによって生じた前記第２メモリの空き領域には、前記データとして前記音データが書き込まれ、前記音源部は、前記第２メモリに格納されている前記音データを用いて前記楽音信号を生成する、ことを特徴とする。
【０００７】
この構成によれば、プログラムの一部を転送することによって生じた第２メモリの空き領域には、集積回路の外部から供給される音データが書き込まれる。つまり、プログラムの一部を転送することによって生じた第２メモリの空き領域を、音データを格納するための領域として利用することができる。したがって、少ないメモリ容量で多くの音データを格納することが可能になる。また、第２メモリのメモリ容量を低減することができるので、集積回路の製造コストを下げることができる。
【０００８】
なお、制御部は、例えばＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）である。また、第１メモリや第２メモリは、ＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリで構成されていてもよいし、フラッシュメモリ等の不揮発性メモリで構成されていてもよい。また、第２メモリから第１メモリに転送されるプログラムの一部とは、プログラムを構成する１以上のプログラムモジュールである。また、音データには、楽音信号を生成する際に音源波形として使用される波形データと、楽音信号の信号波形を加工して音色を制御するための音色制御パラメータとが含まれる。また、集積回路には、ＬＳＩ（Large Scale Integration）の他に、ＶＬＳＩ（Very Large Scale Integration）やＵＬＳＩ（Ultra-Large Scale Integration）も含まれる。
【０００９】
また、上述した集積回路において、前記第２メモリは、前記プログラムを格納する第１領域と、前記音データを格納する第２領域とを備え、前記制御部は、前記第１領域に書き込まれた前記プログラムの一部を前記第１メモリに転送し、前記第１メモリおよび前記第２メモリ（前記第１領域）に格納されているプログラムに従って前記音源部を制御し、前記プログラムの一部を転送することによって生じた前記第１領域の空き領域には、前記データとして前記音データが書き込まれ、前記音源部は、前記第２メモリ（前記第１領域および前記第２領域）に格納されている前記音データを用いて前記楽音信号を生成する構成であってもよい。
【００１０】
この構成によれば、第２メモリがプログラムを格納する第１領域と音データを格納する第２領域に分かれている場合であっても、プログラムの一部を転送することによって生じた第１領域の空き領域を、音データを格納するための領域として利用することができる。なお、第２メモリの第１領域は、基本的にプログラムを格納する領域であるが、プログラムの一部が第１メモリに転送されて空き領域が生じた場合には、当該空き領域に音データが格納される。つまり、第２メモリの第１領域には、プログラムの他に音データも格納される。これに対し、第２メモリの第２領域には、音データのみが格納される。
【００１１】
また、上述した集積回路において、前記音データには、音源波形として使用される波形データと、前記楽音信号の信号波形を加工して音色を制御するための音色制御パラメータとが含まれる構成であってもよい。
この構成によれば、プログラムの一部を転送することによって生じた第２メモリの空き領域を、波形データや音色制御パラメータを格納するための領域として利用することができる。
【００１２】
また、上述した集積回路において、前記音データには、音源波形として使用される波形データと、前記楽音信号の信号波形を加工して音色を制御するための音色制御パラメータとが含まれ、前記音源部は、前記集積回路の外部から供給される前記波形データを格納する第３メモリを備え、前記第２メモリには、前記データとして、前記制御部が実行するプログラムと、前記音色制御パラメータとが書き込まれ、前記プログラムの一部を転送することによって生じた前記第２メモリの空き領域には、前記データとして前記音色制御パラメータが書き込まれ、前記音源部は、前記第３メモリに格納されている前記波形データと、前記第２メモリに格納されている前記音色制御パラメータとを用いて前記楽音信号を生成する構成であってもよい。
この構成によれば、プログラムの一部を転送することによって生じた第２メモリの空き領域を、音色制御パラメータを格納するための領域として利用することができる。
【００１３】
また、上述した集積回路において、前記空き領域が生じたことを前記集積回路の外部に通知する通知部をさらに備える構成であってもよい。
この構成によれば、プログラムの一部を転送することによって第２メモリに空き領域が生じたことを集積回路の外部に通知することができる。したがって、通知部からの通知に応じて集積回路の外部から新たな音データ（または音色制御パラメータ）を空き領域に書き込むことができる。なお、通知部は、空き領域が生じたことの他に、空き領域のサイズや空き領域のアドレス情報を通知する構成であってもよい。また、制御部とは別に通知部を備えるのではなく、制御部が、空き領域が生じたことや、空き領域のサイズ、空き領域のアドレス情報等を集積回路の外部に通知する構成であってもよい。
【００１４】
なお、本発明は、上述したいずれかの集積回路と、前記音源部が生成した前記楽音信号に応じた楽音を出力する出力部と、を備える楽音発生装置であってもよい。この楽音発生装置には、例えば、携帯電話機、電子楽器、パーソナルコンピュータ、ビデオゲーム機、カラオケ装置等が含まれる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る集積回路（音源ＬＳＩ）を搭載した携帯電話機の主要部の構成を示すブロック図である。
【図２】音源ＬＳＩの主要部の構成を示すブロック図である。
【図３】ＳＲＡＭに格納されるプログラムと音色データについて説明するための図（その１）である。
【図４】ＳＲＡＭに格納されるプログラムと音色データについて説明するための図（その２）である。
【発明を実施するための形態】
【００１６】
以下、添付した図面を参照して本発明に係る実施の形態を説明する。
図１は、本発明に係る集積回路（音源ＬＳＩ４０）を搭載した携帯電話機１の主要部の構成を示すブロック図である。同図に示すように、携帯電話機１は、入力部１０と、メインメモリ２０と、メイン制御部３０と、音源ＬＳＩ４０と、Ｄ／Ａ（Digital / Analog）変換器５０と、増幅器６０と、スピーカ７０を備える。
【００１７】
入力部１０は、複数の操作キーや、表示画面上に設けられたタッチパネルによって構成されている。入力部１０は、押下された操作キーの情報や、タッチパネル上におけるタッチ位置の情報をメイン制御部３０に出力する。例えば、表示画面には鍵盤の画像が表示され、メイン制御部３０は、入力部１０から入力されるタッチ位置の情報に基づいて、発音する音の音高や発音期間等を指定する演奏情報を生成する。また、例えば、数字キー“１”に対して「ド」，数字キー“２”に対して「レ」，数字キー“３”に対して「ミ」等、各々の操作キーに対して異なる音高が対応付けられている場合、メイン制御部３０は、入力部１０から入力される操作キーの情報に基づいて演奏情報を生成する。なお、メイン制御部３０において生成される演奏情報には、音高や発音期間を指定する情報の他に、例えばピアノの音やバイオリンの音等、発音する音の種類を指定する音指定情報が含まれる。
【００１８】
メインメモリ２０は、フラッシュメモリ等の不揮発性メモリによって構成されている。このメインメモリ２０には、メイン制御部３０用のプログラムやデータに加え、音源ＬＳＩ４０用のプログラムやデータが格納されている。例えば、音源ＬＳＩ４０用のプログラムやデータとして、メインメモリ２０には、音源制御用のプログラムと、複数種類の波形データと、複数種類の音色データが格納されている。
【００１９】
音源制御用のプログラムは、音源ＬＳＩ４０のＣＰＵ４０１によって実行されるプログラムである。このプログラムは、例えば、プログラムモジュール１〜プログラムモジュール１２等、複数のプログラムモジュールによって構成されている。波形データや音色データは、音源ＬＳＩ４０の音源部４０２によって使用されるデータである。波形データは、例えばピアノ用の波形データやバイオリン用の波形データであって、楽音信号を生成する際に音源波形として使用される。また、音色データは、楽音信号の信号波形を加工して音色を変えるために用いられる音色制御用のパラメータ群である。
【００２０】
メイン制御部３０は、携帯電話機１の全体を制御する。例えば、メイン制御部３０は、演奏情報や、メインメモリ２０から読み出した音源ＬＳＩ４０用のプログラムやデータ（音源制御用のプログラム，波形データ，音色データ）を音源ＬＳＩ４０に供給する。また、メイン制御部３０は、音色設定処理を実行し、発音する音の種類や、発音する音に対して施す音色制御の内容を設定することができる。例えば、ユーザは、入力部１０を操作して、発音する音をピアノの音にしたり、ピアノの音に対してさらにどのような音色制御を施すのかを音色設定処理において設定することができる。音色設定処理において設定された音の種類は、演奏情報を生成する際に音指定情報として使用される。また、音色設定処理において設定された音色制御の内容は、音色制御情報としてメイン制御部３０から音源ＬＳＩ４０に供給される。
【００２１】
音源ＬＳＩ４０は、楽音信号生成用の集積回路であり、ＣＰＵ４０１と、音源部４０２と、ＳＲＡＭ４０３と、波形ＲＡＭ４０４を備える。ＳＲＡＭ４０３には、メイン制御部３０から供給されるプログラム（音源制御用）と音色データが格納される。また、波形ＲＡＭ４０４には、メイン制御部３０から供給される波形データが格納される。ＣＰＵ４０１は、プログラム（音源制御用）に従って、音源部４０２を含む音源ＬＳＩ４０の各部を制御する。例えば、ＣＰＵ４０１は、メイン制御部３０から供給される音色制御情報に従って、ＳＲＡＭ４０３に格納されている複数の音色データの中から、楽音信号を生成する際に使用する音色データを選択する。音源部４０２は、メイン制御部３０から供給される演奏情報と、波形ＲＡＭ４０４に格納されている波形データと、ＣＰＵ４０１から供給される音色データに基づいて、楽音信号を生成する。音源部４０２で生成された楽音信号は、Ｄ／Ａ変換器５０においてデジタル信号からアナログ信号に変換され、増幅器６０において増幅された後、スピーカ７０から楽音として出力される。
【００２２】
図２は、音源ＬＳＩ４０の主要部の構成を示すブロック図である。
音源ＬＳＩ４０は、図１に示したＣＰＵ４０１，音源部４０２，ＳＲＡＭ４０３，波形ＲＡＭ４０４の他に、インターフェース回路４０５と、ＦＩＦＯ（First-In First-Out）メモリ４０６，４０７と、通知用レジスタ４０８を備える。また、ＣＰＵ４０１には内蔵ＲＡＭ４０１ａが設けられている。
【００２３】
インターフェース回路４０５は、メイン制御部３０との間で送受信されるデータを仲介する接続インターフェースであって、例えばパラレルインターフェースやＳＰＩ（Serial Peripheral Interface）である。また、ＦＩＦＯメモリ４０６は、波形ＲＡＭ４０４用のＦＩＦＯメモリであり、ＦＩＦＯメモリ４０７は、ＳＲＡＭ４０３用のＦＩＦＯメモリである。例えば、メイン制御部３０から供給されるプログラムと音色データは、インターフェース回路４０５とＦＩＦＯメモリ４０７を介してＳＲＡＭ４０３に書き込まれる。また、メイン制御部３０から供給される波形データは、インターフェース回路４０５とＦＩＦＯメモリ４０６を介して波形ＲＡＭ４０４に書き込まれる。また、メイン制御部３０から供給される演奏情報は、インターフェース回路４０５を介してＣＰＵ４０１と音源部４０２に供給され、メイン制御部３０から供給される音色制御情報は、インターフェース回路４０５を介してＣＰＵ４０１に供給される。
【００２４】
通知用レジスタ４０８は、ＳＲＡＭ４０３に空き領域が生じたことをメイン制御部３０に通知するためのものである。例えば、ＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａにプログラムの一部（１以上のプログラムモジュール）が転送されてＳＲＡＭ４０３に空き領域が生じると、ＣＰＵ４０１によって通知用レジスタ４０８の格納値が“０”から“１”に書き替えられる。また、内蔵ＲＡＭ４０１ａは、ＣＰＵ４０１のワークエリアとして利用され、例えば、実行中のプログラムモジュールや、使用頻度の高いプログラムモジュール、演算途中のデータ等が格納される。なお、内蔵ＲＡＭ４０１ａはＣＰＵ４０１の内部に設けられているので、ＣＰＵ４０１によるアクセス速度は、ＳＲＡＭ４０３よりも内蔵ＲＡＭ４０１ａの方が速い。
【００２５】
ＣＰＵ４０１は、メイン制御部３０から供給される音色制御情報に従って、楽音信号を生成する際に使用する音色データをＳＲＡＭ４０３から読み出し、音源部４０２に供給する。例えば、音源部４０２には、音色データを格納するためのレジスタ（図示省略）が設けられており、ＣＰＵ４０１は、ＳＲＡＭ４０３から読み出した音色データをこのレジスタに書き込む。また、ＣＰＵ４０１は、ＳＲＡＭ４０３に格納されているプログラムの一部を、必要に応じて内蔵ＲＡＭ４０１ａに転送する。また、このようにプログラムの一部を内蔵ＲＡＭ４０１ａに転送することでＳＲＡＭ４０３に空き領域が生じると、ＣＰＵ４０１は、通知用レジスタ４０８の格納値を“０”から“１”に書き替える。
【００２６】
音源部４０２は、メイン制御部３０から供給される演奏情報と、波形ＲＡＭ４０４に格納されている波形データと、ＣＰＵ４０１から供給される音色データに基づいて、楽音信号を生成する。この際、まず、音源部４０２は、演奏情報に含まれている音指定情報に従って、波形ＲＡＭ４０４に格納されている複数の波形データの中から使用する波形データを選択して読み出す。次いで、音源部４０２は、読み出した波形データと、演奏情報に含まれている音高や発音期間を指定する情報に基づいて、楽音信号の信号波形を生成するが、この際、音源部４０２は、ＣＰＵ４０１から供給される音色データ（音色制御用のパラメータ群）に従って、楽音信号の信号波形を加工する。このように音色データを用いて楽音信号の信号波形を加工することで、例えば、楽音信号の信号波形をアタックタイム，ディケイタイム，サスティンレベル，リリースタイム単位で加工して楽音の音色を変えたり、楽音に抑揚や音量の変化をつけることができる。
【００２７】
なお、音色データを使用せずに波形データのみを使用して楽音信号を生成することもできるが、この場合、波形データ（音源波形）そのものの音色しか得られない。これに対し、音色データを使用して楽音信号の信号波形を加工すると、生成される楽音信号の音色を増やすことができる。また、同じ波形データを使用して楽音信号を生成しても、使用する音色データが異なれば、生成される楽音信号の信号波形が異なるので、違った音色の楽音が発音されることになる。
【００２８】
図３は、ＳＲＡＭ４０３に格納されるプログラムと音色データについて説明するための図である。同図に示すようにＳＲＡＭ４０３は、プログラム格納領域４０３ａと音色データ格納領域４０３ｂに分かれている。例えば、発音処理（楽音信号生成処理）を開始する場合、メイン制御部３０は、メインメモリ２０から音源制御用のプログラムを読み出してＳＲＡＭ４０３のプログラム格納領域４０３ａに書き込む。また、メイン制御部３０は、メインメモリ２０に格納されている複数の音色データの中から一部の音色データを読み出してＳＲＡＭ４０３の音色データ格納領域４０３ｂに書き込む。これにより、例えば図３（Ａ）に示すように、ＳＲＡＭ４０３のプログラム格納領域４０３ａには、ｎ個のプログラムモジュール（音源制御用のプログラム）が格納される。また、ＳＲＡＭ４０３の音色データ格納領域４０３ｂには、ｍ個の音色データが格納される。
【００２９】
この後、音源ＬＳＩ４０のＣＰＵ４０１は、ＳＲＡＭ４０３のプログラム格納領域４０３ａに格納されているｎ個のプログラムモジュールの中から、必要に応じて一部のプログラムモジュールを内蔵ＲＡＭ４０１ａに転送する。例えば、初期処理を行う場合、ＣＰＵ４０１は、初期化用のプログラムモジュールをプログラム格納領域４０３ａから読み出して内蔵ＲＡＭ４０１ａに転送する。なお、使用頻度の高いプログラムモジュール（特に動作に高速性を要求されるもの）は、常時、内蔵ＲＡＭ４０１ａに格納されることになるので、ＣＰＵ４０１は、初期化用のプログラムモジュールを転送する際に、使用頻度の高いプログラムモジュールについてもこれをプログラム格納領域４０３ａから読み出して内蔵ＲＡＭ４０１ａに転送することになる。
【００３０】
例えば図３（Ａ）に示すように、プログラムモジュール１が初期化用のプログラムモジュールであり、プログラムモジュール２が使用頻度の高いプログラムモジュールである場合、ＣＰＵ４０１は、発音処理を開始すると、ＳＲＡＭ４０３のプログラム格納領域４０３ａからプログラムモジュール１とプログラムモジュール２を読み出して内蔵ＲＡＭ４０１ａに転送する。なお、初期化用のプログラムモジュールは、一度実行してしまえば再度発音処理を開始しない限り、実行されることのないプログラムモジュールである。また、前述したように使用頻度の高いプログラムモジュールは、常時、内蔵ＲＡＭ４０１ａに格納されるプログラムモジュールである。したがって、プログラムモジュール１，２を内蔵ＲＡＭ４０１ａに転送し終えると、図３（Ｂ）に示すように、プログラム格納領域４０３ａにおいてプログラムモジュール１，２を格納していた部分が空き領域になる。
【００３１】
このように一部のプログラムモジュールが内蔵ＲＡＭ４０１ａに転送されてＳＲＡＭ４０３のプログラム格納領域４０３ａに空き領域が生じると、ＣＰＵ４０１は、通知用レジスタ４０８の格納値を“０”から“１”に書き替える。なお、プログラムモジュールをＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａに転送したからといって、必ずプログラム格納領域４０３ａに空き領域が生じる訳ではない。例えば、使用頻度が低いものの再度実行する可能性があるプログラムモジュールは、実行時に限ってＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａに転送されることになるので、再度実行する場合に備えてプログラム格納領域４０３ａに残しておく必要がある。したがって、ＣＰＵ４０１は、使用頻度が低いものの再度実行する可能性があるプログラムモジュールをＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａに転送した場合については、通知用レジスタ４０８の格納値を“０”から“１”に変更しない。
【００３２】
一方、メイン制御部３０は、インターフェース回路４０５を介して通知用レジスタ４０８の格納値を常時監視しており、格納値の変化（０→１）によってＳＲＡＭ４０３のプログラム格納領域４０３ａに空き領域が生じたことを検知する。メイン制御部３０は、プログラム格納領域４０３ａに空き領域が生じたことを検知すると、この空き領域の部分に新たな音色データを書き込む。この際、メイン制御部３０は、空き領域に収まる数量分の新たな音色データをメインメモリ２０から読み出し、読み出した音色データをＳＲＡＭ４０３（プログラム格納領域４０３ａ）の空き領域に書き込む。これにより、例えば図３（Ｃ）に示すように、ＳＲＡＭ４０３のプログラム格納領域４０３ａには、プログラムモジュール１，２が格納されていた部分に計４個の新たな音色データｍ＋１〜ｍ＋４が格納されることになる。したがって、ＣＰＵ４０１は、音色データ格納領域４０３ｂとプログラム格納領域４０３ａに格納されている計ｍ＋４個の音色データの中から、使用する音色データを選択することができるようになる。
【００３３】
なお、図３（Ａ）に示すように、プログラム格納領域４０３ａに格納されるプログラムモジュールのうち内蔵ＲＡＭ４０１ａに転送されることが明らかなもの（例えば、初期化用のプログラムモジュール１や使用頻度の高いプログラムモジュール２）は、音色データ格納領域４０３ｂに近接するエリアに格納するのが望ましい。この場合、図３（Ｃ）に示すように、プログラム格納領域４０３ａのうち音色データ格納領域４０３ｂに近接するエリアに新たな音色データが格納されることになるので、ＳＲＡＭ４０３において音色データが一箇所に固まって配置されることになり、ＳＲＡＭ４０３から音色データを連続的に読み出せるというメリットがある。
【００３４】
また、メイン制御部３０は、ＳＲＡＭ４０３のプログラム格納領域４０３ａに書き込まれた各プログラムモジュールの格納アドレス情報等を保持しており、空き領域が生じたことを検知したときの発音処理の進行状況等に応じて、どのプログラムモジュールを格納していた領域が空き領域になったのか等、空き領域のサイズや空き領域のアドレス情報を特定することができる。また、ＳＲＡＭ４０３（プログラム格納領域４０３ａ）の空き領域に新たな音色データが書き込まれると、ＣＰＵ４０１は、通知用レジスタ４０８の格納値を“１”から“０”に書き替える。
【００３５】
また、音源ＬＳＩ４０は、複数の発音チャネルを有する場合、使用する音色データを発音チャネルごとに変えることができる。この場合、前述した音色設定処理では、発音チャネルごとに音色制御の内容が設定される。ＣＰＵ４０１は、音色設定処理において設定された音色制御情報に従って、使用する音色データを発音チャネルごとに選択し、音源部４０２は、ＣＰＵ４０１から供給される音色データに従って、発音チャネルごとに楽音信号の信号波形を加工する。
【００３６】
例えば、１６個の発音チャネル（１ｃｈはピアノ，２ｃｈはギター，３ｃｈはベース，…１６ｃｈはドラム等）を有し、発音チャネルごとに音色を変えることが可能であると共に、発音チャネルごとに４個の音色データが用意されている場合、ＳＲＡＭ４０３には、計６４個の音色データを格納しておく必要がある。この場合、従来であれば図４（Ａ）に示すように、ＳＲＡＭ４０３の音色データ格納領域４０３ｂに６４個の音色データ１〜６４を格納しておかなければならない。
【００３７】
これに対し、本発明によれば、例えば図４（Ａ）に示すように、プログラムモジュール１（初期化用）とプログラムモジュール２，３（使用頻度…高）が発音処理を開始した直後にＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａに転送されるプログラムモジュールであって、かつこれらのプログラムモジュール１〜３のデータ量が音色データ４８個分のデータ量に相当する場合、メイン制御部３０は、図４（Ｂ）に示すように、音色データ格納領域４０３ｂに１６個の音色データ１〜１６しか書き込まなくてよい。なぜなら、メイン制御部３０は、プログラムモジュール１〜３がプログラム格納領域４０３ａから内蔵ＲＡＭ４０１ａに転送された後、残りの４８個の音色データ１７〜６４を、プログラム格納領域４０３ａのうちプログラムモジュール１〜３が格納されていた部分に書き込めばよいからである。したがって、ＳＲＡＭ４０３のメモリ容量を音色データ４８個分だけ低減することができる。また、ＳＲＡＭ４０３のメモリ容量を低減しない場合であれば、さらに４８個の新たな音色データを音色データ格納領域４０３ｂに追加することができるので、計１１２個の音色データを用意することができる。この場合、発音チャネルごとに使用可能な音色データの数を４個から７個に増やすことができる。
【００３８】
＜変形例＞
本発明は上述した実施形態に限定されるものではなく、例えば以下の変形が可能である。また、以下に示す２以上の変形例を適宜組み合わせることもできる。
（１）ＳＲＡＭ４０３は、プログラム格納領域４０３ａと音色データ格納領域４０３ｂに分かれていなくてもよい。この場合、プログラムの一部を内蔵ＲＡＭ４０１ａに転送することによって生じたＳＲＡＭ４０３の空き領域に、新たな音色データが書き込まれる。
【００３９】
（２）波形ＲＡＭ４０４を備えず、メイン制御部３０から供給される波形データをＳＲＡＭ４０３の音色データ格納領域４０３ｂに格納する構成としてもよい。この場合、音色データ格納領域４０３ｂには、音色データの他に波形データが格納される。なお、このような構成にする場合には、音源部４０２がＳＲＡＭ４０３から波形データを読み出せるようにするため、ＣＰＵ４０１だけでなく音源部４０２についてもＳＲＡＭ４０３にアクセス可能な構成にする必要がある。また、このような構成にする場合、プログラムの一部を内蔵ＲＡＭ４０１ａに転送することによって生じたＳＲＡＭ４０３の空き領域には、音色データの他に波形データを書き込むこともできる。
【００４０】
（３）上述した実施形態では、通知用レジスタ４０８の格納値を変更することで空き領域が生じたことをメイン制御部３０に通知する構成とした。しかしながら、例えば、ＣＰＵ４０１がインターフェース回路４０５を介してメイン制御部３０と直接通信を行って、空き領域が生じたことを通知する構成としてもよい。また、空き領域が生じたことの他に、空き領域のサイズや空き領域のアドレス情報を通知する構成としてもよい。
【００４１】
なお、このように空き領域が生じたことをメイン制御部３０に通知することは、必須の要件ではない。なぜなら、個々のプログラムモジュールをＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａに転送するタイミングは、発音処理（楽音信号生成処理）の進行状況等に応じて固定的に定まる場合があるためである。例えば、上述した実施形態に記載したように、初期化用のプログラムモジュールや使用頻度の高いプログラムモジュールは、発音処理を開始する際にＳＲＡＭ４０３から内蔵ＲＡＭ４０１ａに転送される。したがって、メイン制御部３０は、音源ＬＳＩ４０からの通知を受けなくても、発音処理を開始してから、初期化用のプログラムモジュールや使用頻度の高いプログラムモジュールの転送に要する時間が経過した後に、ＳＲＡＭ４０３のうち初期化用のプログラムモジュールや使用頻度の高いプログラムモジュールが格納されていた領域（空き領域）に新たな音色データを書き込むことができる。
【００４２】
（４）音源ＬＳＩ４０には、演奏情報としてＭＩＤＩ（Musical Instrument Digital Interface）データが入力されてもよい。また、個々の音色データは、音色制御用の複数のパラメータによって構成されていてもよいし、音色制御用の１つのパラメータによって構成されていてもよい。
【００４３】
（５）上述した実施形態では本発明に係る集積回路を携帯電話機に搭載した場合について説明したが、例えば、電子楽器、パーソナルコンピュータ、ビデオゲーム機、カラオケ装置等の楽音発生装置に本発明に係る集積回路を搭載してもよい。
【符号の説明】
【００４４】
１…携帯電話機、１０…入力部、２０…メインメモリ、３０…メイン制御部、４０…音源ＬＳＩ（集積回路）、４０１…ＣＰＵ（制御部）、４０１ａ…内蔵ＲＡＭ（第１メモリ）、４０２…音源部、４０３…ＳＲＡＭ（第２メモリ）、４０３ａ…プログラム格納領域（第１領域）、４０３ｂ…音色データ格納領域（第２領域）、４０４…波形ＲＡＭ（第３メモリ）、４０５…インターフェース回路、４０６，４０７…ＦＩＦＯメモリ、４０８…通知用レジスタ（通知部）、５０…Ｄ／Ａ変換器、６０…増幅器、７０…スピーカ。
【図１】
2011203542.tif 000003
【図２】
2011203542.tif 000004
【図３】
2011203542.tif 000005
【図４】
2011203542.tif 000006