(57)【要約】【課題】音源システムにおける消費電力を低減する。【解決手段】内部バス２０を介してＣＰＵ３０等へ供給するシステムクロックＳＣＫを生成するクロック発生部８４と、音源アクセラレータ７０の波形合成器７２に与える波形合成用クロックＡＣＫを生成するクロック発生部８５とを別個に設ける。更に、クロック発生部８４は、ＣＰＵ３０から周波数設定レジスタ８３に設定された設定値に応じた周波数を出力するように構成する。なお、クロック発生部８５の周波数も、ＣＰＵ３０からの設定で可変とするように構成すれば、更に最適なクロック周波数での動作が可能になり、不必要な高速クロック信号による消費電力の増加を抑えることができる。【選択図】図１
2007163845.tif 000002
【特許請求の範囲】
【請求項１】
外部から与えられる入力データを解析して波形合成用のパラメータを生成する処理装置と、
前記パラメータに従って波形合成を行って符号変調した音声データを出力する音源アクセラレータと、
前記処理装置からの周波数設定に基づいて該処理装置の動作の基準となる第１のクロック信号を出力する第１のクロック発生部と、
前記音源アクセラレータにおける波形合成処理のための第２のクロック信号を出力する第２のクロック発生部とを、
備えたことを特徴とする音源システム。
【請求項２】
外部から与えられる入力データを解析して波形合成用のパラメータを生成する処理装置と、
前記パラメータに従って波形合成を行って符号変調した音声データを出力する音源アクセラレータと、
前記処理装置の動作の基準となる第１のクロック信号を出力する第１のクロック発生部と、
前記処理装置からの周波数設定に基づいて前記音源アクセラレータにおける波形合成処理のための第２のクロック信号を出力する第２のクロック発生部とを、
備えたことを特徴とする音源システム。
【請求項３】
外部から与えられる入力データを解析して波形合成用のパラメータを生成する処理装置と、
前記パラメータに従って波形合成を行って符号変調した音声データを出力する音源アクセラレータと、
前記処理装置からの周波数設定に基づいて該処理装置の動作の基準となる第１のクロック信号を出力する第１のクロック発生部と、
前記処理装置からの周波数設定に基づいて前記音源アクセラレータにおける波形合成処理のための第２のクロック信号を出力する第２のクロック発生部とを、
備えたことを特徴とする音源システム。
【請求項４】
前記処理装置は、外部から与えられた電力制限値に従って前記第２のクロック発生部に対する周波数設定の値を制限することを特徴とする請求項１または３記載の音源システム。
【請求項５】
前記処理装置は、外部から与えられた電力制限値に従って前記第１のクロック発生部に対する周波数設定の値を制限することを特徴とする請求項２または３記載の音源システム。
【請求項６】
前記処理装置は、外部から与えられた電力制限値に従って前記第１及び第２のクロック発生部に対する周波数設定の値を制限することを特徴とする請求項３記載の音源システム。
【請求項７】
前記処理装置は、外部から与えられた電力制限値に従って前記波形合成用のパラメータの生成を制限することを特徴とする請求項１〜６の内のいずれか１項に記載の音源システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯機器等に使用される音源システム、特にその低消費電力化に関するものである。
【背景技術】
【０００２】
図２は、従来の音源システムの構成図である。
この音源システムは、例えばＭＩＤＩ(Musical  Instrument  Digital  Interface)データのような楽曲データを入力し、所望の楽器音等のＰＣＭ(Pulse  Code  Modulation）データを出力するもので、図示しないホストＣＰＵ(Central  Processing  Unit）から与えられるＭＩＤＩデータを記憶するＭＩＤＩメモリ１０を有している。ＭＩＤＩメモリ１０は、内部バス２０を介してＣＰＵ３０に接続されている。内部バス２０は、ＣＰＵ３０がアクセス対象のメモリや周辺回路を指定するためのアドレスＡＤＲを出力するアドレス線２１、指定されたメモリや周辺回路との間でデータＤＡＴを転送するデータ線２２、読み書き等の動作の制御信号ＣＯＮを出力する制御線２３、及び動作の基準となるシステムクロックＳＣＫを供給するクロック線２４で構成されている。
【０００３】
内部バス２０には、ＣＰＵ３０が実行する処理用のプログラムやデータが格納されたＲＯＭ(Read  Only  Memory)４０、処理中のデータを一時的に記憶するＲＡＭ(Random  Access  Memory)５０、演奏時間管理用のタイマ６０、及び音源アクセラレータ７０が接続されている。
【０００４】
音源アクセラレータ７０は、内部バス２０を介してＣＰＵ３０から与えられる音源の割り当てや音程、音量等のパラメータに基づいて、波形合成処理を行って所望のＰＣＭデータを生成して出力するものである。この音源アクセラレータ７０は、内部バス２０を介してＣＰＵ３０から各種パラメータを受け取って記憶するパラメータメモリ７１と、このパラメータメモリ７１からパラメータを読み出してＰＣＭデータを生成してＰＣＭデータの出力信号ＬＣＨ，ＲＣＨを出力する波形合成器７２で構成されている。
【０００５】
更に、この音源システムは、システムクロックＳＣＫを生成するクロック発生部８１を有している。クロック発生部８１で生成されたシステムクロックＳＣＫは、クロック線２４を介して、内部バス２０に接続されるＣＰＵ３０等の動作の基準タイミング信号として使用されると共に、波形合成器７２の波形合成用のクロック信号としても使用されるようになっている。
【０００６】
次に動作を説明する。
外部のホストＣＰＵから与えられたＭＩＤＩデータは、ＭＩＤＩメモリ１０に一旦格納された後、内部バス２０を介してＣＰＵ３０によって読み出される。ＣＰＵ３０は、ＲＯＭ４０に格納された処理用のプログラムに従って、読み出したＭＩＤＩデータを解析し、音源の割り当てや音程、音量パラメータの各種設定を行う。このときＲＡＭ５０は解析処理のための作業用のメモリとして使用され、タイマ６０は音源演奏の時間管理、即ち解析されたＭＩＤＩデータに対応する処理を実行するタイミングの制御に使用される。
【０００７】
設定されたパラメータは、内部バス２０を通して音源アクセラレータ７０のパラメータメモリ７１に転送され、このパラメータメモリ７１に一時的に記憶される。パラメータメモリ７１に記憶されたパラメータは、波形合成器７２によって読み出されてＰＣＭデータに変換され、出力信号ＬＣＨ，ＲＣＨとして出力される。
【０００８】
なお、ＭＩＤＩデータは、単音ではなく、複数の楽器等によるポリフォニック（多音）構成になっており、波形合成器７２では、時分割で多音の処理を行って個々の音を合成した後、それらの合成音を加算して加算結果を左右１組の出力信号ＬＣＨ，ＲＣＨとして出力するようになっている。
【０００９】
【特許文献１】特開平９−１８５３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記音源システムでは、次のような課題があった。
即ち、この音源システムでは、１つの波形合成器７２を使用して、複数の楽器等によるポリフォニック（例えば、６４音）を時分割処理によって合成するように構成している。従って、同時に合成する音の数に比例して、波形合成器７２に供給する波形合成用のクロック信号の周波数も高くする必要がある。一方、波形合成用のクロック信号には、ＣＰＵ２０等で使用されるシステムクロックＳＣＫが共用されている。
【００１１】
このため、合成する音の数が増加すると、波形合成処理に必要なシステムクロックＳＣＫの周波数が高くなり、ＣＰＵ３０等が必要以上に高い周波数のクロック信号で動作することになり、消費電力が増大するという課題があった。また、少ないポリフォニックでの演奏時にも、必要以上のクロック周波数で動作することによる消費電力の増大という課題もあった。
本発明は、音源システムにおける消費電力の低減を目的としている。
【課題を解決するための手段】
【００１２】
本発明の音源システムは、外部から与えられる入力データを解析して波形合成用のパラメータを生成する処理装置と、前記パラメータに従って波形合成を行って符号変調した音声データを出力する音源アクセラレータと、前記処理装置からの周波数設定に基づいて該処理装置の動作の基準となる第１のクロック信号を出力する第１のクロック発生部と、前記音源アクセラレータにおける波形合成処理のための第２のクロック信号を出力する第２のクロック発生部とを備えたことを特徴としている。
【発明の効果】
【００１３】
本発明では、処理装置での処理と、音源アクセラレータでの波形合成を別のクロック発生部で発生された別々のクロック信号で行うようにしている。これにより、処理装置と音源アクセラレータが、それぞれ必要最小限のクロック周波数で動作することができるので、不必要な高速クロック信号による無駄な消費電力を抑制することができるという効果がある。
【発明を実施するための最良の形態】
【００１４】
第１のクロック発生部のみならず、第２のクロック発生部も、処理装置からの周波数設定に基づいて波形合成処理のための第２のクロック信号の周波数を変更可能なように構成する。更に、処理装置は、外部から与えられた電力制限値に従って、第１及び第２のクロック発生部に対する周波数設定を行うと共に、波形合成用のパラメータの生成を制限するように構成する。
【実施例１】
【００１５】
図１は、本発明の実施例１を示す音源システムの構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００１６】
この音源システムは、例えばＭＩＤＩデータのような楽曲データを入力し、所望の楽器音等のＰＣＭデータを出力するもので、図示しないホストＣＰＵから与えられるＭＩＤＩデータを記憶するＭＩＤＩメモリ１０を有している。ＭＩＤＩメモリ１０は、内部バス２０を介してＣＰＵ３０に接続されている。内部バス２０は、ＣＰＵ３０がアクセス対象のメモリや周辺回路を指定するためのアドレスＡＤＲを出力するアドレス線２１、指定されたメモリや周辺回路との間でデータＤＡＴを転送するデータ線２２、読み書き等の動作の制御信号ＣＯＮを出力する制御線２３、及び動作の基準となるシステムクロックＳＣＫを供給するクロック線２４で構成されている。
【００１７】
内部バス２０には、処理用のプログラムやデータが格納されたＲＯＭ４０、処理中のデータを一時的に記憶するＲＡＭ５０、演奏時間管理用のタイマ６０、及び音源アクセラレータ７０が接続されている。
【００１８】
音源アクセラレータ７０は、内部バス２０を介してＣＰＵ３０から与えられる音源の割り当てや音程、音量等のパラメータに基づいて、波形合成処理を行って所望のＰＣＭデータを生成して出力するものである。音源アクセラレータ７０は、内部バス２０を介してＣＰＵ３０から各種パラメータを受け取って記憶するパラメータメモリ７１と、このパラメータメモリ７１からパラメータを読み出してＰＣＭデータを生成してＰＣＭデータの出力信号ＬＣＨ，ＲＣＨを出力する波形合成器７２で構成されている。
【００１９】
更に、この音源システムは、システムクロックＳＣＫを生成するクロック発生部８４と、波形合成用クロックＡＣＫを生成するクロック発生部８５を有している。
【００２０】
クロック発生部８４は、アドレスデコーダ８２と周波数設定レジスタ８３を介して内部バス２０に接続され、この周波数設定レジスタ８３の設定値に応じた周波数のクロック信号を発生して、システムクロックＳＣＫとして出力するものである。なお、アドレスデコーダ８２は、内部バス２０を介して周波数設定レジスタ８３に対する書き込み要求があったときに、この周波数設定レジスタ８３に書き込み制御信号を与えることによって、内部バス２０からの設定値を書き込むためのものである。
【００２１】
これに対し、クロック発生部８５は、予め設定された周波数の波形合成用クロックＡＣＫを生成するようになっている。
【００２２】
次に動作を説明する。
この音源システムでは、ＣＰＵ３０は音源処理において、音源アクセラレータ７０が担当する波形合成の主要処理部分以外の処理を担当する。音源処理は、入力されたＭＩＤＩデータの解析処理、演奏の時間管理、解析されたＭＩＤＩメッセージ毎の各種パラメータ設定処理、及び波形合成処理で構成されている。
【００２３】
この内、音源アクセラレータ７０が担当する波形合成処理は、１つの波形合成器７２を用いて時分割処理でポリフォニックを処理するようにしている。個々の音に対する処理は、多少の分岐処理は存在するが、殆どの部分は設定パラメータの値が異なるだけで、同様の処理である。従って、１つの音の処理量は一定であり、全体の波形合成処理にかかる処理量は、演奏するポリフォニック数に比例する。
【００２４】
一方、ＭＩＤＩメッセージ毎の各種パラメータ設定処理は、その処理するメッセージの種類によって処理量がほぼ一様に決まる。例えば、ノートオン・メッセージであればＡサイクル必要、ピッチベンド・メッセージであればＢサイクル必要といった具合である。その他のメッセージ解析処理や時間管理は、分岐処理も多いのでその処理量は一概にいえないが、上記の２つの処理に比べてその処理量はかなり少ない。
【００２５】
以上のことから、ＣＰＵ３０に必要な動作クロック周波数ＣＰＵ−Ｆsampは、次式１のようになる。
ＣＰＵ−Ｆsamp＝ＣＳynＭＩＰＳ×Ｐoly＋ＭsgＭＩＰＳ＋ＲesＭＩＰＳ・・式１
【００２６】
ここで、ＣＳynＭＩＰＳはシステム毎に決まるＣＰＵ波形合成処理の１音分の処理量、Ｐolyは演奏中のポリフォニック数、ＭsgＭＩＰＳはシステム毎に決まる各種メッセージ毎の処理量、及びＲesＭＩＰＳはその他残りの付加処理の処理量である。
【００２７】
従って、楽曲の演奏中に、演奏ポリフォニック数と入力されたＭＩＤＩメッセージの種類に応じて式１中のＰoly,ＭsgＭＩＰＳを変更し、求められた動作クロック周波数ＣＰＵ−Ｆsampを周波数設定レジスタ８３に設定する。これにより、設定された周波数がシステムクロックＳＣＫとして反映され、ＣＰＵ３０に対するシステムクロックＳＣＫの周波数の最適化が行われる。
【００２８】
ここで、ＭsgＭＩＰＳは、例えばテーブル形式の固定データとしてＲＯＭ４０に格納しておき、ＣＰＵ３０が自由に参照可能な形態を採っておけば良い。また、ＲesＭＩＰＳは、簡単には処理量を把握できないので、あり得る最大値を固定値として設定しておくが、式１の他の項に比べて小さな値であるので、問題にはならない。
【００２９】
以上のように、この実施例１の音源システムは、ＣＰＵ３０から設定することができる周波数設定レジスタ８３と、この周波数設定レジスタ８３に設定された設定値に応じた周波数のクロック信号を発生してシステムクロックＳＣＫとして出力するクロック発生部８４を有している。これにより、演奏ポリフォニック数と入力されたＭＩＤＩメッセージの種類に応じて、システムクロックＳＣＫの周波数を変更することができるので、ＣＰＵ３０及びその周辺の回路での消費電力を最適化することができるという利点がある。
【実施例２】
【００３０】
図３は、本発明の実施例２を示す音源システムの構成図であり、図１中の要素と共通の要素には共通の符号が付されている。
【００３１】
この音源システムは、図１中のクロック発生部８４に代えて、予め設定された周波数のシステムクロックＳＣＫを生成するクロック発生部８１を設けると共に、クロック発生部８５に代えて、周波数設定レジスタ８３の設定値に応じた周波数のクロック信号を発生して波形合成用クロックＡＣＫを出力するクロック発生部８６を設けている。
【００３２】
更に、音源アクセラレータ７０に代えて、音数設定レジスタ７４が追加された音源アクセラレータ７０Ａを設けている。音数設定レジスタ７４は、ＣＰＵ３０から内部バス２０を介して演奏ポリフォニック数を設定することができる制御レジスタで、この音数設定レジスタ７４の設定値が波形合成器７２Ａに与えられるようになっている。その他の構成は、図１と同様である。
【００３３】
次に動作を説明する。
ＣＰＵ３０は、ノートオン、ノートオフ等のＭＩＤＩメッセージ処理において、音源の割り当て処理を行っており、現在演奏しているポリフォニック数の管理がなされている。ＣＰＵ３０は、ポリフォニック数に変化が生じると、そのポリフォニック数に応じた値を周波数設定レジスタ８３に設定する。これにより、クロック発生部８６は、周波数設定レジスタ８３に設定された値に従って、波形合成用クロックＡＣＫの周波数を変更する。なお、ＣＰＵ３０では、波形合成用クロックＡＣＫが下記の式２に従った波形合成用クロック周波数ＡＣＣ−Ｆsampとなるように、周波数設定レジスタ８２の値を設定する。
ＡＣＣ−Ｆsamp＝ＡＳynＭＩＰＳ×Ｐoly・・式２
【００３４】
ここで、ＡＳynＭＩＰＳはシステム毎に決まるアクセラレータ波形合成処理の１音分の処理量、及びＰolyは演奏中のポリフォニック数である。
【００３５】
音源アクセラレータ７０Ａでは、１音単位に波形合成処理を実行する処理用タイムスロットが用意されている。波形合成器７２Ａは、音数設定レジスタ７４に設定された値のポリフォニック数分の処理用タイムスロットを実行し、１単位時間当たりの動作を完了する。このように、１音単位での実行体を持ち、演奏ポリフォニック数の情報に応じて、その実行体を走らせる回数が制御される。
【００３６】
以上のように、この実施例２の音源システムは、ＣＰＵ３０から設定することができる周波数設定レジスタ８３と、この周波数設定レジスタ８３に設定された設定値に応じた周波数のクロック信号を発生して波形合成用クロックＡＣＫとして出力するクロック発生部８６を有している。これにより、演奏ポリフォニック数に応じて、波形合成用クロックＡＣＫの周波数を変更することができるので、音源アクセラレータ７０Ａでの消費電力を最適化することができるという利点がある。
【実施例３】
【００３７】
図４は、本発明の実施例３を示す音源システムの構成図であり、図３中の要素と共通の要素には共通の符号が付されている。
【００３８】
この音源システムは、図３中のクロック発生部８１に代えて、設定値に応じた周波数のクロック信号を発生して、システムクロックＳＣＫとして出力するクロック発生部８４を設けると共に、周波数設定レジスタ８３に代えて、２つのクロック発生部８４，８６に対して個別に設定値を保持できる周波数設定レジスタ８３Ａを設けたものである。
【００３９】
更に、この音源システムは、ホストＣＰＵから消費電力の制限値を設定するための電力制御レジスタ１１を有している。電力制御レジスタ１１は、内部バス２０に接続されてＣＰＵ３０からその設定値を参照できるようになっている。その他の構成は、図３と同様である。
【００４０】
この音源システムにおいて、楽曲演奏中に演奏ポリフォニック数と入力ＭＩＤＩデータの種類によって、前記式１、式２に従って動作クロック周波数ＣＰＵ−Ｆsampと波形合成用クロック周波数ＡＣＣ−Ｆsampを算出し、周波数設定レジスタ８３Ａを通してクロック発生部８４，８６の周波数を変更して消費電力の最適化を行う動作は、実施例１及び実施例２と同様である。
【００４１】
一方、消費電力の制限動作は、外部のホストＣＰＵから電力制御レジスタ１１に制限値を設定することにより行われる。
【００４２】
まず、ＣＰＵ３０は、内部バス２０を通して電力制御レジスタ１１の設定値を読み取る。次に、読み取った設定値を、クロック周波数に換算した値に変換する。そして、式１の動作クロック周波数ＣＰＵ−Ｆsampと、式２の波形合成用クロック周波数ＡＣＣ−Ｆsampが、換算した周波数よりも低くなるように、これらの周波数ＣＰＵ−Ｆsamp，ＡＣＣ−Ｆsampを制限する。
【００４３】
例えば、入力されたＭＩＤＩメッセージがノートオン・メッセージの場合には、メッセージ実行完了後には演奏ポリフォニック数が１増加するので、式１、式２において、Ｐolyを１だけ増加した場合に算出される周波数ＣＰＵ−Ｆsamp，ＡＣＣ−Ｆsampが、換算したクロック周波数以下となっているか否かの判定を行う。条件を満たしていれば、メッセージを通常通りに実行し、満たしていない場合には、そのメッセージを実行せずに破棄する。このような判定処理を、ノートオン・メッセージに限らずすべてのメッセージに対して実行し、常に周波数ＣＰＵ−Ｆsamp，ＡＣＣ−Ｆsampが、換算したクロック周波数以下となるように、処理量の制限を行う。
【００４４】
以上のように、この実施例３の音源システムは、ＣＰＵ３０から設定することができる周波数設定レジスタ８３Ａと、この周波数設定レジスタ８３Ａに設定された設定値に応じた周波数のクロック信号を発生してシステムクロックＳＣＫと波形合成用クロックＡＣＫを出力するクロック発生部８４，８６を有している。これにより、実施例１、２と同様の利点を有する。
【００４５】
更に、この実施例３の音源システムは、処理量を計算の目安としてメッセージを実行するか否かの判断を行うことにより、処理量を制限するように構成している。従って、システムクロックＳＣＫや波形合成用クロックＡＣＫの周波数が制限され、音源システムとして、ホストＣＰＵから与えられた値に消費電力を制限して音源演奏動作が行われる。これにより、携帯機器のバッテリの充電量が少なくなってきた場合等に消費電力の制限を行って、ある程度の音源演奏の音楽性を保ちつつバッテリの電力が切れるまでの時間を延長させることができるという利点がある。
【００４６】
なお、本発明は、上記実施例３に限定されず、種々の変形が可能である。この変形例としては、例えば、メッセージの処理よりも演奏ポリフォニック数の方が遥かに処理量が大きいので、演奏ポリフォニック数の方だけを制限することもできる。また、音楽性を考慮した場合に重要となるメッセージに関しては必ず実行することとし、処理が足りない場合には演奏中の１音分を消音するということもできる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施例１を示す音源システムの構成図である。
【図２】従来の音源システムの構成図である。
【図３】本発明の実施例２を示す音源システムの構成図である。
【図４】本発明の実施例３を示す音源システムの構成図である。
【符号の説明】
【００４８】
１０    ＭＩＤＩメモリ
１１    電力制御レジスタ
３０    ＣＰＵ
４０    ＲＯＭ
５０    ＲＡＭ
７０，７０Ａ    音源アクセラレータ
８１，８４，８５，８６    クロック発生部
８３，８３Ａ    周波数設定レジスタ
【図１】
2007163845.tif 000003
【図２】
2007163845.tif 000004
【図３】
2007163845.tif 000005
【図４】
2007163845.tif 000006