(57)【要約】  【課題】楽音データの発音数が音源装置の発音可能数よりも少ない場合であっても、最適な音量で楽音データを演奏できるようにする。  【解決手段】音源装置３に設けられたＣＰＵ３１は、楽音データの楽音種別に従ってＲＯＭ３２から楽音の波形データを読み出し、それを該当する発音チャンネル３５〜３７の波形生成部３５Ａに送る。波形生成部３５Ａから出力される波形信号は、音量調整部３５Ｂで楽音データの音量が乗算され、更にＤ／Ａ変換部３５Ｃでアナログ信号に変換される。各発音チャンネル３５〜３７のアナログ変換された波形信号は、アナログ加算部３８で合成される。合成された波形合成信号は増幅部３９で増幅される。ＣＰＵ３１は、発音しない発音チャンネル３５〜３７が存在することによって生じる波形合成信号の出力の低下を補償するように増幅部３９を制御する。【選択図】  図２
2005128223.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも音程を含む楽音データを入力して所定の楽音の当該音程の波形信号を出力する複数の発音手段と、各波形信号を合成して波形合成信号を出力する波形合成手段とを備えた音源装置において、
前記波形合成信号の出力を増幅させるための増幅手段と、この増幅手段を制御する制御手段とを設け、
前記楽音データの同時発音数が前記発音手段の個数以下の個数である基準個数よりも少ない場合には、前記制御手段は、前記基準個数と前記同時発音数の差の数だけの発音しない発音手段が存在することによって生じる前記波形合成信号の出力の低下を補償するように前記増幅手段を制御することを特徴とする音源装置。
【請求項２】
少なくとも音程を含む楽音データを入力して所定の楽音の当該音程の波形信号を出力する複数の発音手段と、各波形信号を合成して波形合成信号を出力する波形合成手段とを備えた音源装置において、
前記波形合成信号の出力を増幅させるための増幅手段と、この増幅手段を制御する制御手段とを設け、
前記楽音データの同時発音数が前記発音手段の個数以下の個数である基準個数よりも少ない場合には、前記制御手段は、前記波形合成信号の出力が、前記楽音データの同時発音数が前記基準個数と同じであるとしたときの前記波形合成信号の出力と等しくなるように前記増幅手段を制御することを特徴とする音源装置。
【請求項３】
請求項１または請求項２に記載の音源装置において、
前記制御手段による制御が行われないときと比較して、前記波形合成信号の出力が電力レベルで｛（前記発音手段の基準個数）／（前記楽音データの同時発音数）｝倍になるように前記制御手段は前記増幅手段を制御することを特徴とする音源装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の音源装置と、通信手段または記録媒体読み取り手段とを備えた電子機器であって、
前記音源装置は前記通信手段または記録媒体読み取り手段から前記楽音データを受け取ることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音の波形信号を生成する複数の発音チャンネルと各波形信号を合成する波形合成部とを備えた音源装置に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ、携帯電話機、ゲーム機器、電子楽器等の各種の機器は、例えば、ＭＩＤＩ仕様の演奏用データに基づいて３音、１６音等を発音可能な音源装置を備えている。また、演奏データにも発音数が３音、１６音等のものがある。製造当初から機器のＲＯＭまたはハードディスク等の記録媒体に記録されている演奏データの発音数は、一般的には音源装置の発音可能な発音数（つまり、発音チャンネルの個数）と等しい。それに対して、通信回線またはＣＤ等の記録媒体を介して演奏データが機器にロードされて演奏される場合には、演奏データの発音数と音源の発音可能な発音数とが一致しないことがある。
【０００３】
また、本発明と直接関係するものではないが、複数の楽器音発生器を低周波用、中周波用および高周波用の楽器音発生器に分類し、各発音信号の音量を分類ごとに個別に増減し、さらに音量を増減された各発音信号を合成した後に周波数帯域ごとに出力レベルを増減する電子楽曲発生装置が知られている（例えば、特許文献１）。
【０００４】
【特許文献１】特開平８−２９７４９０号公報（段落０００６〜段落００１４）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来のものにおいては、音源装置は発音可能数に等しい発音数を有する演奏データを演奏するときに最適な音量が出力されるように構成されている。このため、演奏データの発音数が音源装置の発音可能数よりも少ない場合には、音源装置から出力される音量は最適な音量よりも小さくなってしまうという問題がある。
【０００６】
本発明は、上記問題点を解決するものであって、その課題とするところは、演奏データの発音数が音源装置の発音可能数よりも少ない場合であっても、その演奏を最適な音量で行うことのできる音源装置および当該音源装置を備えた電子機器を提供することにある。
【課題を解決するための手段】
【０００７】
本発明では、少なくとも音程を含む楽音データを入力して所定の楽音の当該音程の波形信号を出力する複数の発音手段と、各波形信号を合成して波形合成信号を出力する波形合成手段とを備えた音源装置において、波形合成信号の出力を増幅させるための増幅手段と、この増幅手段を制御する制御手段とを設ける。そして、楽音データの同時発音数が発音手段の個数以下の個数である基準個数よりも少ない場合には、制御手段は、基準個数と同時発音数の差の数だけの発音しない発音手段が存在することによって生じる波形合成信号の出力の低下を補償するように前記増幅手段を制御する。
【０００８】
このようにすることで、発音手段の基準個数と楽音データの同時発音数の差の数だけの発音しない発音手段が存在することによって生じる波形合成信号の出力の低下が補償されるので、楽音データの同時発音数が発音手段の基準個数よりも少ない場合であっても音源装置の波形合成信号の出力は最適な値になる。つまり、楽音データが最適な音量で演奏される。ここで、発音手段の基準個数とは、この個数よりも少ない同時発音数の楽音データを当該音源装置で演奏すると、当該楽音データをその同時発音数と同じ個数の発音手段を備えた音源装置で演奏するときと比較して、音量の低下が聴覚的に認識される個数である。尚、波形合成信号の増幅は、例えば、各波形信号を増幅することによって、もしくは波形合成信号自体を増幅することによって、または各発音手段に入力されるデータであって、波形信号を生成するためのデータを増幅することによって行われる。
【０００９】
また、本発明では、少なくとも音程を含む楽音データを入力して所定の楽音の当該音程の波形信号を出力する複数の発音手段と、各波形信号を合成して波形合成信号を出力する波形合成手段とを備えた音源装置において、波形合成信号の出力を増幅させるための増幅手段と、この増幅手段を制御する制御手段とを設ける。そして、楽音データの同時発音数が発音手段の個数以下の個数である基準個数よりも少ない場合には、制御手段は、波形合成信号の出力が、楽音データの同時発音数が基準個数と同じであるとしたときの波形合成信号の出力と等しくなるように前記増幅手段を制御する。
【００１０】
このようにすることで、楽音データの同時発音数が発音手段の基準個数よりも少ない場合であっても、波形合成信号の出力が、前記楽音データの同時発音数が前記基準個数と同じであるとしたときの波形合成信号の出力と等しくなるように制御されるので、楽音データが最適な音量で演奏される。
【００１１】
上記２つの発明の好ましい実施形態においては、制御手段による制御が行われないときと比較して、前記波形合成信号の出力が電力レベルで｛（発音手段の基準個数）／（楽音データの同時発音数）｝倍になるように制御手段は増幅手段を制御する。このようにすることで、楽音データの同時発音数が発音手段の基準個数よりも少ない場合であっても、楽音データが最適な音量で演奏される。
【００１２】
さらに、本発明の電子機器は、上記発明の音源装置と、通信手段または記録媒体読み取り手段とを備えた電子機器であって、音源装置は通信手段または記録媒体読み取り手段から楽音データを受け取る。本発明の電子機器（冒頭に示したようなパーソナルコンピュータ、携帯電話機、ゲーム機器、電子楽器等）は、上記発明の音源装置を備えているので、上記と同様の作用効果を奏する。
【発明の効果】
【００１３】
本発明によれば、楽音データの同時発音数が音源装置の発音手段の個数よりも少ない場合であっても、楽音データが最適な音量で演奏される。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明に係る音源装置を備えた電子機器１のブロック図である。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３等がバスライン１０を介して相互に接続される。ＣＰＵ１１は、ＲＯＭ１２に格納されたプログラムに従って電子機器１の動作を制御する。ＲＯＭ１２には制御データ等も格納されている。ＲＡＭ１３は、各種データ、各種制御データを記憶し、またＣＰＵ１１の演算作業領域としても使用される。音源装置３はバスライン１０を介して楽音データを受け取り、楽音データに従って楽音信号を生成し、サウンドシステム１４に送る。サウンドシステム１４は、増幅器、スピーカ等から構成され、操作部１７の音量スイッチが操作されると増幅器の増幅率が変化し、スピーカから出力される音量が増減する。
【００１５】
ＭＩＤＩインタフェイス１５は外部機器に対してＭＩＤＩデータを送受するためのインタフェイスである。ＭＩＤＩインタフェイス１５から受け取ったＭＩＤＩデータは、ハードディスク１８、ＲＡＭ１３等に記録され、演奏されるときに音源装置３に送られる。この場合、ＣＰＵ１１によって部分的に加工されたＭＩＤＩデータを音源装置３に送るようにしてもよい。通信部１６は、外部機器との間でＭＩＤＩデータを含む各種のデータまたはコマンドを送受する。例えば、インターネット上の音楽配信システムから通信部１６により受信されたＭＩＤＩデータ等の楽音データは、ハードディスク１８、ＲＡＭ１３等に記録され、演奏されるときに音源装置３に送られる。または、音源装置３のＲＡＭ３３（図２）に直接送られる。上記のＭＩＤＩインタフェイス１５および通信部１６が本発明の通信手段に相当する。
【００１６】
操作部１７は、電子機器１の操作に使用される各種のキー等から構成され、電子機器１がパーソナルコンピュータであるときはキーボードであり、電子楽器であるときは、例えば、鍵盤であり、携帯電話機であるときは操作ボタンであり、ゲーム機器であるときはジョイスティック等である。
ハードディスク１８には、各種のデータ、プログラムが記憶されている。例えば、電子機器１がパーソナルコンピュータであるときは、このプログラムがＲＡＭ１３にロードされ、ＣＰＵ１１によって実行される。
ディスク駆動装置１９は、フレキシブルディスク、ＤＶＤ、ＣＤ等のリムーバブルディスク２０に対してデータの読み書きを行う。ハードディスク１８またはリムーバブルディスク２０に記録されているＭＩＤＩデータ等の楽音データは、音源装置３に送られて演奏される。上記のハードディスク１８内部の駆動機構およびディスク駆動装置１９が本発明の記録媒体読み取り手段に相当する。
【００１７】
図２は、本発明に係る音源装置３の第１の実施形態を示す図である。図３は、楽音データを示す図である。図２、図３を参照しつつ第１の実施形態について説明する。音源装置３は、ＣＰＵ３１、ＲＡＭ３３、ＲＯＭ３２、バスインタフェイス部３４、第１〜第１６発音チャンネル３５〜３７、アナログ加算部３８、および増幅部３９から構成される。各発音チャンネル３５〜３７は、波形生成部３５Ａ、音量調整部３５Ｂ、およびＤ／Ａ変換部３５Ｃから構成される。図２および以下の図においては、第３〜第１５発音チャンネルの図示は省略されている。ＣＰＵ３１等が接続されたバスライン３０は、バスインタフェイス部３４を介してバスライン１０に接続されている。
【００１８】
ＣＰＵ３１は、ＲＯＭ３２に格納されているプログラムに従って音源装置３の動作を制御する。また、ＣＰＵ３１は内部にタイマー等の計時回路を備えており、これにより楽音データの発音のオン／オフの時間の管理および制御を行っている。本実施形態では図１に示されるＣＰＵ１１とは別に音源装置３用のＣＰＵ３１を設けているが、１つのＣＰＵで電子機器１および音源装置３を制御するようにしてもよい。また、ＣＰＵ３１としては、汎用のマイクロコントローラまたはＤＳＰ（ディジタルシグナルプロセッサ）等を使用することができる。また、説明の都合上、演奏される楽音データは、いずれかのＣＰＵ１１、３１によって加工され、図３に示されるフォーマットになっているものとする。また、楽音データは、一時的にＲＡＭ３３に格納され、順次そこから取り出されて演奏されるものとする。
【００１９】
図３（ａ）はＲＡＭ３３に格納されている楽音データを示す。ここでは、ヘッダーとｎ個の楽音データとから構成されている。ヘッダーは、楽音データの同時発音数、楽音データの個数、楽音データの合計サイズ等のデータを含む。楽音データの同時発音数とは、楽音データ製作者の意図した楽音データが使用する発音チャンネル３５〜３７の個数である。ここで、例えば、ピアノの「ドミソ」の和音を発音させる場合は、発音数を３として扱う。但し、同時発音数は、各発音チャンネル３５〜３７で実際に同時に発音される楽音の最大個数と厳密には一致しないこともある。また、楽音データが複数であることを明示する必要がある場合には、これを楽音データセットということとする。楽音データセットは、各発音チャンネル３５〜３７で発音されるピアノ等の各種楽音の一連の楽音データから構成される。
【００２０】
図３（ｂ）は個々の楽音データの内容を示す。開始時刻は、各楽音データの発音が開始される時刻を示す。ここでは、曲の最初に発音される楽音データの発音時刻を０秒とする。停止時刻は、各楽音データの発音が停止される時刻を示す。楽音種別は、各楽音データの楽音の種別、例えば、ピアノ、バイオリン等を示す。ＣＰＵ３１は、楽音種別ごとに発音チャンネル３５〜３７を割り当てる。但し、例えば、ピアノの「ドミソ」の和音が発音される場合は、３つの発音チャンネル３５〜３７が割り当てられることになる。音程はドレミ等の音の高さを示す。音量は音の大きさを示す。
【００２１】
ＲＯＭ３２には、ピアノ等の各楽音の基準音程（例えば、中央の「ド」）の１周期分の波形データセットが格納されている。実際の楽音の波形は、例えば、ピアノの打鍵時の波形と、その後に継続して繰り返される波形とからなるが、本発明の直接的事項ではないので、上記の１周期分の波形データセットは繰り返し波形のみであるとして以下の説明を行う。１周期分の波形データセットは、例えば、４４．１ｋＨｚでサンプリングされた一連の８ビットの波形データから構成される。従って、波形データの振幅は、−１２７〜＋１２７（２の補数を使用する場合は、−１２８〜＋１２７）の範囲の値となる。
【００２２】
ＣＰＵ３１は楽音データを順番にＲＡＭ３３から取り出し、その楽音種別ごとに発音チャンネル３５〜３７を割り当て、その楽音種別の波形データをＲＯＭ３２に格納された波形データセットから順番に取り出し、発音の開始時刻から停止時刻まで波形生成部３５Ａに供給する。この場合、発音される音程が上記の基準音程と異なるときは、波形データセットを時間軸において伸張（基準音程よりも低音のとき）または圧縮（高音のとき）したかのようにして波形データがＲＯＭ３２から取り出される。この点も本発明の直接的事項ではないので、詳細な説明は省略する。このように、波形データの取出しがＣＰＵ３１によって実行されるので、波形生成部３５Ａは、８ビット並列のラッチ回路で構成され、８ビットの波形データを保持する。尚、ＣＰＵ３１の負荷を減らすために、波形生成部３５Ａに波形データを取り出すための専用回路を設けるようにしてもよい。
【００２３】
波形生成部３５Ａの出力は乗算器からなる音量調整部３５Ｂに送られ、ここで波形生成部３５Ａから出力される波形信号にＣＰＵ３１から供給される楽音データの音量（図３（ｂ）参照）が乗算される。乗算器に代えて、波形データと音量との乗算をＣＰＵ３１に行わせるようにしてもよい。この場合、ＲＯＭ３２から読み出された波形データに楽音データの音量を乗算し、その積を波形生成部３５Ａのラッチ回路にセットするようにすればよいので、ハードウエア的には音量調整部３５Ｂは不要となる。
【００２４】
音量調整部３５Ｂの出力である波形信号は、Ｄ／Ａ変換器からなるＤ／Ａ変換部３５Ｃにおいてアナログの波形信号に変換される。アナログ変換された各発音チャンネル３５〜３７の波形信号は、演算増幅器（オペアンプ）等で構成されたアナログ加算部３８で合成（加算）され、合成波形信号となる。この合成波形信号は増幅部３９において増幅される。この増幅部３９は、増幅率が可変であり、例えば、演算増幅器と電子式可変抵抗器群とで構成され、ＣＰＵ３１から送られてくる後述の音量補償係数によって入力信号を増幅する。つまり、増幅部３９の出力信号の電力は、入力信号の電力に音量補償係数を乗算した値となる。
【００２５】
次に、音量補償について説明する。１６個の発音チャンネル３５〜３７を備える音源装置３では、楽音データが１６音用（同時発音数が１６音）であるときに最適な音量が音源装置３から出力されるように各楽音の波形データの大きさ（振幅）が設定されている。そこで、楽音データが３音用（同時発音数が３音）である楽音データを演奏したときの音量が１６音用の楽音データを演奏したときの音量と聴覚的に等しくなるように、波形合成信号が電力レベルで１６／３倍になるように増幅部３９で増幅される。
【００２６】
次に、上記の増幅の動作について説明する。各発音チャンネル３５〜３７の波形信号の電力をＰ１〜Ｐ１６とすると、同時発音数が３音の楽音データの波形合成信号の電力、および同時発音数が１６音の楽音データの波形合成信号の電力は、それぞれ下記の式（１）、（２）で表される。
Ｐ１＋Ｐ２＋Ｐ３                      （１）
Ｐ１＋Ｐ２＋Ｐ３＋・・・＋Ｐ１６      （２）
ここで、各発音チャンネル３５〜３７の波形信号が無相関であるとすると、式（２）に対する式（１）の比率は３／１６になる。
【００２７】
以上のことから、楽音データが３音である場合の波形合成信号は、電力レベルで楽音データが１６音である場合の波形合成信号の３／１６倍である。従って、増幅部３９で波形合成信号を電力レベルで１６／３倍に増幅することにより、楽音データが３音である場合であっても楽音データが１６音である場合の波形合成信号と略同じ大きさの音量を得ることができる。また、上記の増幅によって発音しない発音チャンネル３５〜３７が存在することによって生じる波形合成信号の出力の低下が補償されることになる。以下の説明では、基準個数が発音チャンネル３５〜３７の個数に等しいものとし、｛（発音チャンネルの個数）／（楽音データの同時発音数）｝を音量補償係数と呼ぶ。
【００２８】
次に、本音源装置３の動作について説明する。楽音データがＲＡＭ３３に格納されると、ＣＰＵ３１は楽音データの演奏を開始する。まず、ＲＡＭ３３に演奏テーブルの領域を確保し、演奏テーブルを初期化する。図４は演奏テーブルを示す図である。図４（ａ）に示されるように、演奏テーブルには発音チャンネル３５〜３７ごとにデータが格納される。ここでは、第１〜第１６発音チャンネル３５〜３７用のデータ領域が確保されている。
【００２９】
図４（ｂ）は各発音チャンネル３５〜３７用のデータの詳細を示す。「発音状態」は、発音チャンネル３５〜３７が発音中であるか否かを示し、初期化処理により発音中ではないことを示す「ＯＦＦ」が設定される。楽音データセット（図３参照）の先頭から楽音データが順次ＣＰＵ３１によって読み出され、開始時刻になった楽音データが演奏テーブルにセットされる。このとき、「発音状態」には発音中を示す「ＯＮ」が設定される。「停止時刻」、「音程」および「音量」には、楽音データ（図３（ｂ）参照）の内容が設定される。「波形データ番号」は、当該音程の波形データセットの波形データの内で、これから読み出される波形データの番号を示す。ここには初期値として０が設定され、波形データがＲＯＭ３２から順番に取り出されるたびに１つずつ加算される。「波形データ個数」は、当該音程の波形データセットに含まれる波形データの個数である。
【００３０】
演奏が開始されると、例えば、４４．１ｋＨｚの周期のタイマー割り込みが発生し、プログラムが起動される。このプログラムにより発音処理が行われる。図５は第１の実施形態の発音処理を示すフローチャートである。フローチャートを参照しつつ発音処理の動作を説明する。
【００３１】
プログラムが起動されると、ＲＡＭ３３に現在の発音チャンネル（フローチャートでは「発音ＣＨ」で示す）の番号を示す領域を確保し、そこに１を設定する（Ｓ１）。次に、現在の発音チャンネルがＯＮ状態であるか否かが判断され（Ｓ２）、ＯＮ状態でなければ（ＯＦＦ状態）、Ｓ１０に進む。ＯＮ状態であれば、現在の発音チャンネルが停止時刻に到達しているか否かが判断される（Ｓ３）。停止時刻に到達している場合は、現在の発音チャンネルの「発音状態」に「ＯＦＦ」を設定して（Ｓ１２）、Ｓ１０に進む。停止時刻に到達していない場合は、現在の発音チャンネルで指定されている「音程」に合わせて波形データセット中の「波形データ番号」で指定される波形データをＲＯＭ３２から読み出す（Ｓ４）。この場合、上述のように、音程が基準音程と異なるときは、波形データセットを時間軸において伸張または圧縮したかのようにして波形データがＲＯＭ３２から取り出される。
【００３２】
次に、読み出された波形データに現在の発音チャンネルで指定されている「音量」を乗算し（Ｓ５）、その積を現在の発音チャンネルの並列ポートにセットする（Ｓ６）。次に、「波形データ番号」が「波形データ個数」と等しいか否かが判断される（Ｓ７）。等しい場合は、１周期分の波形データの読み出しが終了したことになるので「波形データ番号」に０を設定し（Ｓ８）、Ｓ１０に進む。これにより、次回は波形データセットの最初の波形データが読み出される。等しくない場合は「波形データ番号」に１を加算し（Ｓ９）、Ｓ１０に進む。
【００３３】
Ｓ１０では、現在の発音チャンネルの番号が１６（最も番号の大きい発音チャンネル３７の番号）であるか否かが判断され、１６である場合は、全ての発音チャンネル３５〜３７に対する発音処理を完了したことになるので、呼び出し元に戻る。１６ではない場合は、現在の発音チャンネルに１を加算して（Ｓ１１）、Ｓ２に戻り、次の番号の発音チャンネルに対する発音処理が行われる。そして、発音処理が行われている間は、ヘッダー（図３参照）に含まれる同時発音数から上述の音量補償係数がＣＰＵ３１によって算出され、その値によって増幅部３９で波形合成信号が増幅される。これにより、楽音データが最適な音量で演奏されることになる。
【００３４】
次に、図６に示される第１の実施形態の変形例について説明する。図２では各発音チャンネル３５〜３７の波形信号がＤ／Ａ変換された後に、アナログ的に加算されて波形合成信号が生成されていたが、本変形例では各発音チャンネル３５〜３７の波形データ（波形信号）がデジタル加算部４０でデジタル的に加算された後にＤ／Ａ変換が行われる。デジタル加算部４０は、デジタル加算回路によって実現することもできるが、本変形例ではソフトウエア的にデジタル加算部４０を実現する場合について説明する。この場合、発音チャンネル３５〜３７ごとの８ビットの並列ポートは不要となり、代わりにＣＰＵ３１によって波形データが加算された結果をセットする並列ポートがデジタル加算部４０に設けられる。そして、この並列ポートの出力信号がＤ／Ａ変換部４１に送られる。但し、１６個の波形データが加算されるので、この並列ポートのビット数は１２ビットとなる。
【００３５】
図７は、図６の実施形態の発音動作を示すフローチャートである。本フローチャートと図５のフローチャートとの相違点は、Ｓ２１の前にＳ２０が追加されたこと、Ｓ６の処理が変更されてＳ２６になっていること、および呼び出し元に戻る前にＳ３３が実行されることである。相違点について以下に説明する。Ｓ２０では、各波形データの加算結果を格納するための加算領域に０を設定する。Ｓ２６では、現在の発音チャンネルの波形データに「音量」を乗算した積を加算領域に加算する。つまり、各発音チャンネル３５〜３７の波形データの加算が行われ、加算結果が集計される。Ｓ３３では、ＯＮ状態である各発音チャンネル３５〜３７の波形データに「音量」を乗算した積を加算集計した結果が加算領域に格納されているので、その内容をデジタル加算部４０の並列ポートにセットする。そして、本変形例でも先の実施形態と同様に、発音処理が行われている間は音量補償係数がＣＰＵ３１によって算出され、その値によって増幅部３９で波形合成信号が増幅される。
【００３６】
また、上記の変形例において、増幅部３９で波形合成信号を増幅することに代えて、図７のＳ３３において波形データの加算結果に対して更に音量補償係数を乗算し、その積をデジタル加算部４０の並列ポートにセットするようにしてもよい。そして、この並列ポートにセットされた値がＤ／Ａ変換され、音源装置３から出力される。
【００３７】
次に、図８を参照しつつ第２の実施形態について説明する。第１の実施形態では波形合成信号が増幅されていたが、本実施形態では各発音チャンネル３５〜３７の波形信号が増幅される。本実施形態では、各発音チャンネル３５〜３７の波形信号は、増幅部３５Ｄにおいて音量補償係数によって増幅され、その後アナログ加算部３８でアナログ的に加算される。増幅部３５Ｄとしては図２の増幅部３９と同様な構成のものを使用することができる。また、発音処理の動作も第１の実施形態におけるものと同様である。
【００３８】
次に、図９を参照しつつ第２の実施形態の変形例について説明する。先の第２の実施形態では波形信号がＤ／Ａ変換された後に増幅されているが、本変形例では各発音チャンネル３５〜３７の波形信号が増幅部３５Ｅでデジタル的に増幅された後にＤ／Ａ変換される。増幅部３５Ｅとしてデジタル乗算器を使用し、波形信号に対して音量補償係数を乗算するようにしてもよいが、ソフトウエア的に音量補償係数を乗算することもできる。この場合、音量調整部３５Ｂにおける乗算もソフトウエア的に行うならば、ＲＯＭ３２から読み出された波形データに「音量」および音量補償係数を乗算した結果を保持する並列ポートを各発音チャンネル３５〜３７に１つずつ設けるだけでよい。また、発音処理の動作も第１の実施形態の図５のＳ５を「読み出された波形データに音量を乗算して、更に音量補償係数を乗算する」に変更したものとなる。第２の実施形態および第２の実施形態の変形例に示されるように、各発音チャンネル３５〜３７の波形信号を音量補償係数によって増幅するようにしても、波形合成信号を音量補償係数によって増幅する第１の実施形態と同様な作用効果を奏する。
【００３９】
次に、図１０を参照しつつ第３の実施形態について説明する。第１の実施形態との相違点は、図２の波形生成部３５Ａに代えて波形補償生成部３５Ｆが設けられていることである。波形補償生成部３５Ｆにおいては、ＲＯＭ３２から読み出された波形データに音量補償係数が乗算され、その積が波形補償生成部３５Ｆの並列ポートにセットされる。このため、第１、第２の実施形態の増幅部３９，３５Ｄ，３５Ｅは不要となる。このように、ＲＯＭ３２から読み出された波形データに音量補償係数を乗算するようにしても、第１、第２の実施形態と同様な作用効果を奏する。また、第１の実施形態の変形例（図６）のように、各発音チャンネル３５〜３７の音量調整部３５Ｂからの波形信号をデジタル的に加算した後にＤ／Ａ変換するようにしてもよい。尚、本実施形態においては、波形補償生成部３５Ｆが本発明の増幅手段に相当する。
【００４０】
以上述べた実施形態においては、楽音データの同時発音数が音源装置３の発音チャンネル３５〜３７の個数よりも少ない場合に増幅部３９，３５Ｄ，３５Ｅ（または、波形補償生成部３５Ｆ）において音量調整をする場合について説明した。この場合は、前述のように基準個数が発音チャンネル３５〜３７の個数と同じ（すなわち、１６）となっている。それに対し、例えば、発音チャンネルの個数が６４の音源装置で同時発音数が３２音の楽音データを演奏しても聴覚的には音量の低下が感じられない。しかし、同時発音数が、例えば、１６音よりも少なくなると音量の低下が感じられる。そこで、基準個数を発音チャンネルの個数よりも少ない個数（ここでは、１６）に設定し、同時発音数が基準個数以上である場合は上述の音量の補償は行わず、同時発音数が基準個数よりも少ない場合に上述の音量補償をするようにしてもよい。すなわち、基準個数は発音チャンネルの個数以下の任意の値に設定することができる。
【００４１】
また、以上述べた実施形態においては、コード化された演奏データの一例として図３に示される楽音データの発音処理について説明したが、他のフォーマットの楽音データについても本発明を実施することができる。さらに、上記実施形態では、音源装置３の構成についてもデジタル回路またはアナログ回路によって実現されるもの、およびハードウエアまたはソフトウエア（プログラム）によって実現されるものをそれぞれ示したが、適宜その構成・組み合わせを変更して本発明を実施することができる。尚、上記実施形態では、波形に関する情報をハードウエア的には波形信号と記し、ソフトウエア的には波形データと記しているが、両者は実質的に同じ意味である。
【図面の簡単な説明】
【００４２】
【図１】本発明に係る音源装置を備えた電子機器のブロック図である。
【図２】本発明に係る音源装置の第１の実施形態を示す図である。
【図３】楽音データを示す図である。
【図４】演奏テーブルを示す図である。
【図５】第１の実施形態の発音処理を示すフローチャートである。
【図６】第１の実施形態の変形例を示す図である。
【図７】第１の実施形態の変形例の発音処理を示すフローチャートである。
【図８】第２の実施形態を示す図である。
【図９】第２の実施形態の変形例を示す図である。
【図１０】第３の実施形態を示す図である。
【符号の説明】
【００４３】
１    電子機器
３    音源装置
１５  ＭＩＤＩインタフェイス（通信手段）
１６  通信部（通信手段）
１８  ハードディスク（記録媒体読み取り手段）
１９  ディスク駆動装置（記録媒体読み取り手段）
３１  ＣＰＵ（制御手段）
３２  ＲＯＭ
３３  ＲＡＭ
３５  第１発音チャンネル（発音手段）
３６  第２発音チャンネル（発音手段）
３７  第１６発音チャンネル（発音手段）
３５Ａ  波形生成部
３５Ｆ  波形補償生成部（増幅手段）
３８  アナログ加算部（波形合成手段）
３９、３５Ｄ、３５Ｅ  増幅部（増幅手段）
４０  デジタル加算部（波形合成手段）
【図１】
2005128223.tif 000003
【図２】
2005128223.tif 000004
【図３】
2005128223.tif 000005
【図４】
2005128223.tif 000006
【図５】
2005128223.tif 000007
【図６】
2005128223.tif 000008
【図７】
2005128223.tif 000009
【図８】
2005128223.tif 000010
【図９】
2005128223.tif 000011
【図１０】
2005128223.tif 000012