(57)【特許請求の範囲】
【請求項１】
通常演奏時に記憶手段にデジタル的に記憶されているサンプリング波形データに基づいて発音用の波形データを生成するＮ個（Ｎ≧２）の発音チャネルと、前記Ｎ個の発音チャネルで生成された前記波形データを累算する累算手段と、該累算されたデータをアナログ変換するデジタルアナログコンバータ（ＤＡＣ）と、前記累算手段の累算結果が前記ＤＡＣの１００％出力を超えないように前記発音チャンネルで生成される前記波形データを制限する制限手段と、該ＤＡＣからのアナログ信号を増幅するアンプと、該アンプによって増幅されたアナログ信号により駆動されるスピーカとを備える楽音発生装置において、
テストコマンドを取得すると前記Ｎ個の発音チャネルのうちＭ個（Ｎ≧Ｍ≧１）を用いて前記ＤＡＣの１００％出力に相当する波形データを生成させるＳ／Ｎ比テスト手段を備えたことを特徴とする楽音発生装置。
【請求項２】
請求項１記載の楽音発生装置において、前記Ｓ／Ｎ比テスト手段は、前記テストコマンドに応じて前記波形データを生成させるモード中に新たなコマンドを取得すると該新たなコマンドに従って前記Ｍ個の発音チャネルを発音停止に制御することを特徴とする楽音発生装置。
【請求項３】
請求項１または２記載の楽音発生装置において、
Ｍ≧２であって、前記Ｓ／Ｎ比テスト手段は、前記Ｍ個の発音チャネルの全てに同じ前記波形データを同じ位相で生成させることを特徴とする楽音発生装置。
【請求項４】
請求項１または２記載の楽音発生装置において、前記Ｍ＝１であることを特徴とする楽音発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音発生装置の技術分野に属する。
【０００２】
【従来の技術】
記憶手段にデジタル的に記憶されているサンプリング波形データに基づいて発音用の波形データを生成する複数の発音チャネル、これら発音チャネルで生成された波形データを累算する累算手段、この累算されたデータをアナログ変換するデジタルアナログコンバータ（ＤＡＣ）、ＤＡＣからのアナログ信号を増幅するアンプ及びアンプによって増幅されたアナログ信号により駆動されるスピーカを備える楽音発生装置（例えば電子楽器）がある。
【０００３】
【発明が解決しようとする課題】
このような楽音発生装置では、複数の発音チャネルに対して１つのＤＡＣを対応させていたので、複数の発音チャネルで同時に発音させた際にＤＡＣの１００％出力（フルスイング）を超えさせないために、各発音チャネル毎の最大音量はＤＡＣのフルスイングよりも低いレベル（例えば発音チャネルが１６あるなら、各発音チャネルの最大レベルはＤＡＣフルスイングの１／１６）に設定されていた。つまり、通常演奏においては１チャネル（１音）にてＤＡＣのフルスイングを実現させることができなかった。
【０００４】
このために、例えば工場での出荷前検査としてＳ／Ｎ比を検査する際には、ＤＡＣの下流側にてアンプにサイン波信号を入力し、アンプで増幅したサイン波にてスピーカを駆動してＳ／Ｎ比を測定していた。したがって、Ｓ／Ｎ比の測定に当たっては、サイン波信号を生成するサイン波生成装置、これをアンプに接続し測定終了後に取り外す作業が必要とされ、また楽音発生装置にはサイン波生成装置をアンプに接続するためのコネクタ等を装備する必要もあった。
【０００５】
本発明は、楽音発生装置のＳ／Ｎ比測定の作業効率を向上させることを目的としている。
【０００６】
【課題を解決するための手段および発明の効果】
上記課題を解決するための請求項１記載の楽音発生装置は、通常演奏時に記憶手段にデジタル的に記憶されているサンプリング波形データに基づいて発音用の波形データを生成するＮ個（Ｎ≧２）の発音チャネルと、前記Ｎ個の発音チャネルで生成された前記波形データを累算する累算手段と、該累算されたデータをアナログ変換するデジタルアナログコンバータ（ＤＡＣ）と、前記累算手段の累算結果が前記ＤＡＣの１００％出力を超えないように前記発音チャンネルで生成される前記波形データを制限する制限手段と、該ＤＡＣからのアナログ信号を増幅するアンプと、該アンプによって増幅されたアナログ信号により駆動されるスピーカとを備える楽音発生装置において、
テストコマンドを取得すると前記Ｎ個の発音チャネルのうちＭ個（Ｎ≧Ｍ≧１）を用いて前記ＤＡＣの１００％出力に相当する波形データを生成させるＳ／Ｎ比テスト手段を備えたことを特徴とする。
【０００７】
この楽音発生装置のＳ／Ｎ比テスト手段は、テストコマンドを取得するとＮ個の発音チャネルのうちＭ個（Ｎ≧Ｍ≧１）を用いてＤＡＣの１００％出力に相当する波形データ（例えばサイン波の波形データ）を生成させる。これらＭ個の発音チャネルの波形データを累算手段で累算したデータ（ＤＡＣの１００％出力に相当）がＤＡＣに入力されてアナログ信号に変換され、そのアナログ信号をアンプで増幅したアナログ信号によりスピーカを駆動するから、スピーカからはＤＡＣのフルスイング相当の音量で音声が出力される。このスピーカから出力される音声によりＳ／Ｎ比を測定できる。
【０００８】
Ｓ／Ｎ比を測定するためにサイン波信号を生成する装置も、この装置をアンプに接続し取り外す作業も、この装置をアンプに接続するためのコネクタ等を楽音発生装置に装備する必要もなく、楽音発生装置のＳ／Ｎ比測定の作業効率の向上が可能になる。
【０００９】
なお、テストコマンドは、例えば楽音発生装置に備えられたモード設定スイッチのポジションにより入力したり、テスト用の制御基板から入力すればよく、その手法に限定はない。
また、楽音発生装置の出荷前検査はＳ／Ｎ比の測定のみではなく、他の検査も行われるのが普通であるから、コマンドを変更することで他の検査を実行できる構成が好ましい。
【００１０】
そこで、請求項２記載の楽音発生装置は、請求項１記載の楽音発生装置において、前記Ｓ／Ｎ比テスト手段は、前記テストコマンドに応じて前記波形データを生成させるモード中に新たなコマンドを取得すると該新たなコマンドに従って前記Ｍ個の発音チャネルを発音停止に制御する構成としている。
【００１１】
Ｓ／Ｎ比テスト手段は、テストコマンドに応じてＳ／Ｎ比の検査用の波形データを生成させていたときに新たなコマンドを取得すると、Ｓ／Ｎ比の検査のために作動させていた発音チャネルを発音停止に制御するので、コマンドを変更するだけでＳ／Ｎ比の検査を終了させて他の検査を実行できる。よって、Ｓ／Ｎ比を含む複数種類の検査を行う際の効率が良好になる。
【００１２】
請求項３記載の楽音発生装置は、請求項１または２記載の楽音発生装置において、Ｍ≧２であって、前記Ｓ／Ｎ比テスト手段は、前記Ｍ個の発音チャネルの全てに同じ前記波形データを同じ位相で生成させることを特徴とする。Ｍ個（複数）の発音チャネルの全てに同じ波形データを同じ位相で生成させれば、累算手段の出力値は１つの発音チャネルで生成可能な波高値のＭ倍になる。したがって、各発音チャネルの最大音量をＤＡＣのフルスイングよりも低いレベル（例えば１／Ｍ）に設定できるので、各発音チャネルの演算ビット数は少なくて済み、演算回路の複雑化を回避できる。
【００１３】
請求項４記載の楽音発生装置は、請求項１または２記載の楽音発生装置において、前記Ｍ＝１であることを特徴とする。すなわち、１つの発音チャネルにて、ＤＡＣの１００％出力に相当する波形データを生成する。
例えばＳ／Ｎ比の検査に当たってサイン波を使用する場合、複数の発音チャネルを用いるときには、それらの発音チャネルの全てに同じサイン波の波形データを同じ位相で生成させる必要がある（そうしないと正確なサイン波信号をアンプに入力できない。）。したがって、複数の発音チャネルを制御するための構成（例えばソフトウェア）が複雑化する。
【００１４】
しかし、請求項４の構成では、１つの発音チャネルにて生成される波形データ（例えばサイン波）だけが累算手段に入力されるから、位相を統一する等の処理は不要であり、制御も簡単になる。
【００１５】
【発明の実施の形態】
次に、図面を参照して本発明の楽音発生装置の実施例を説明することにより、発明の実施の形態を具体的に説明する。なお、本実施例の楽音発生装置は、室内用のエアクリーナに組み込まれて、バックグランドミュージック（ＢＧＭ）や各種のアナウンスを出力するために使用される。
【００１６】
【実施例１】
図１に示すように、エアクリーナ１０はボックス型で、正面下部にはエアクリーナとしての機能部品（フィルタ、ファン、モータ等、いずれも公知であるので図示と説明は省略）のメンテナンス用のドア１１が取り付けられており、ドア１１の一部に吸入用のスリット１１ａが設けられている。一方、天板１２には吐出用のスリット１２ａが設けられており、スリット１１ａから吸入されてクリーニングされた空気がスリット１２ａから吐出される。
【００１７】
またエアクリーナ１０の内部には、クリーナ基板１３、音源基板１４、スピーカ１５等も収容されている。クリーナ基板１３は図示しないＣＰＵを備える制御装置であり、エアクリーナ１０の機能部品の制御を司る。音源基板１４は、スピーカ１５と共同して楽音発生装置を構成している。また、クリーナ基板１３と音源基板１４とはデータバス（本例では８ビットのパラレルライン）を介して接続されており、相互にデータ等の送受が可能である。
【００１８】
エアクリーナ１０の前面には液晶表示器１６、クリーニングスイッチ１７、ボリューム１８及びロータリスイッチ１９が取り付けられている。液晶表示器１６及びクリーニングスイッチ１７はクリーナ基板１３に接続されており、液晶表示器１６はクリーナ基板１３の制御下に現在の時刻やタイマ運転（自動運転）の設定時刻などを表示し、ユーザはクリーニングスイッチ１７を操作することでクリーニングの実行と停止を指示できる。ボリューム１８及びロータリスイッチ１９は音源基板１４に接続されている。ボリューム１８はスピーカ１５の音量調節用である。ロータリスイッチ１９はユーザが各種の設定を行うために使用されるが、その詳細は後述する。
【００１９】
音源基板１４の構成は図２に示すとおりであり、中枢となるＣＰＵ２０はＳ／Ｎ比テスト手段として機能する。ＲＡＭ２１はＣＰＵ２０のワークエリアとなり、ＲＯＭ２２は、ＣＰＵ２０のプログラム、サンプリング波形データ、自動演奏データ等を記憶している。また、本実施例の場合、サイン波のサンプリング波形データ（テスト波形データ）もＲＯＭ２２に記憶されている。すなわち、ＲＯＭ２２は記憶手段に該当する。
【００２０】
ＣＰＵ２０はセレクタ２３を介してＲＯＭ２２のアドレスを指定して、ＲＯＭ２２から読出された自動演奏データをＲＡＭであるアサイメントメモリ２４にアサイメント情報として記憶させる。
アサイメントメモリ２４には、このアサイメント情報を記憶するための演奏データエリアＡＭ１と複数の発音チャネルの波形生成演算を同時にスタートさせるための制御フラグを記憶するためのフラグエリアＡＭ２が設けられている。
【００２１】
演奏データエリアＡＭ１の構成は図４に示すとおりで、１チャネル分のアサイメント情報は、キーナンバに対応する波形スタートアドレス、波形補間のためのＦナンバ、押鍵強度データに相当するフィルタパラメータ、アタック、ディケイ及びリリースのエンベロープパラメータ、ラウドネスデータ、Ｌ側及びＲ側パンニング係数が含まれる。これらは公知のものと同様である。
【００２２】
一方、フラグエリアＡＭ２の構成は図５に示すとおりで、アドレス０で指定される１バイトには、ＣＨ０〜ＣＨ３の４チャネルについてのＦＡＦ（Frequency Accumulate Flag ）及びＥＧＦ（Envelope Generate Flag）が書込まれ、同様にアドレス１にはＣＨ４〜ＣＨ７の、アドレス２にはＣＨ８〜ＣＨ１１の、アドレス３にはＣＨ１２〜ＣＨ１５の、アドレス４にはＣＨ１６〜ＣＨ１９の、アドレス５にはＣＨ２０〜ＣＨ２３の、アドレス６にはＣＨ２４〜ＣＨ２７の、アドレス７にはＣＨ２８〜ＣＨ３１の、それぞれ４チャネルのＦＡＦ及びＥＧＦが書込まれる。
【００２３】
フラグエリアＡＭ２のＦＡＦのセット状態はＦナンバＡｃｃ２６に入力され、ＦナンバＡｃｃ２６はＦＡＦがセットされると（ＦＡＦ＝１で）動作し、ＦＡＦのセットが解除されると（ＦＡＦ＝０で）動作を停止する。同様に、ＥＧＦのセット状態はエンベロープジェネレータ２７に入力され、エンベロープジェネレータ２７はＥＧＦがセットされると（ＥＧＦ＝１で）動作し、ＥＧＦのセットが解除されると（ＥＧＦ＝０で）動作を停止する。
【００２４】
なお、上記のフラグエリアＡＭ２の構成及びここに書込まれたＦＡＦのセット状態に応じてＦナンバＡｃｃ２６が動作しＥＧＦのセット状態に応じてエンベロープジェネレータ２７が動作する点は本実施例に独特である。
波形スタートアドレス２５はレジスタメモリであり、アサイメント情報の波形スタートアドレスデータが記憶される。波形スタートアドレス２５の波形スタートアドレスデータは加算器に送られる。
【００２５】
ＦナンバＡｃｃ２６にはキーナンバに対応するＦナンバ及びキーオン／オフデータが入力される。ＦナンバＡｃｃ２６はＦＡＦが１にセットされていればアサイメントメモリ２４から取得したＦナンバを初期値として歩進演算を行い、その歩進演算にて算出したＦナンバを出力する。その算出されたＦナンバの整数部分は加算器に送られ、波形スタートアドレスデータに加算されて、波形読出アドレスとしてセレクタ２３に入力され、セレクタ２３からＲＯＭ２２に入力される。
【００２６】
この波形読出アドレスで指定されるアドレスに格納されているサンプリング波形データが、波形補間３０に入力される。波形補間３０にはＦナンバの小数部分のデータも入力され、波形補間３０は、この小数部分を用いてサンプリング波形データに補間処理を施す。
【００２７】
補間処理されたサンプリング波形データはフィルタ３１において、キーオンの押鍵強度データに基づいてフィルタ処理（レベル変化を補正）される。
エンベロープジェネレータ２７は、ＥＧＦが１にセットされていればアサイメントメモリ２４から取得したエンベロープパラメータに基づいてエンベロープデータの生成演算を行ってエンベロープデータを出力する。フィルタ処理されたサンプリング波形データには、エンベロープジェネレータ２７からのエンベロープデータが乗算される。
【００２８】
さらに、サンプリング波形データには、ラウドネス２８によりラウドネスデータが乗算され、さらに左右２系統に分岐されて、それぞれにパンニング２９によりパンニング係数が乗算されて系列累算３２に入力される。
本実施例の場合、波形スタートアドレス２５、ＦナンバＡｃｃ２６、エンベロープジェネレータ２７、ラウドネス２８及びパンニング２９が、それぞれ３２個備わっており、アサイメントメモリ２４の１チャネル分のアサイメント情報について、波形スタートアドレス２５、ＦナンバＡｃｃ２６、エンベロープジェネレータ２７、ラウドネス２８及びパンニング２９を１個ずつ対応させて１組となし、その各組を１サンプリング周期に１回ずつ時分割で動作させることにより、１サンプリング周期につき３２の発音用の波形データを生成できる。すなわち、発音チャネルが３２チャネル備わっている。
【００２９】
各発音チャネルにより生成された波形データは累算手段に該当する系列累算３２に入力され、ここではアサイメントメモリ２４にアサインされている全チャネル分（本実施例では最大３２チャネル分）の波形データの累算処理が行われる。累算後のデータは、左出力端子Ｌ及び右出力端子Ｒからデジタルアナログコンバータ（ＤＡＣ）３３に送られ、それぞれアナログ信号に変換され、アンプ（ＡＭＰ）３４で増幅されてスピーカ１５から音声出力される。
【００３０】
これらアサイメントメモリ２４〜ＤＡＣ３４までの一連のブロックにより音源部が構成され、ＣＰＵ２０は、ＲＯＭ２２から自動演奏データを読出してアサイメントメモリ２４にアサイメント情報として記憶させ、それによって波形スタートアドレス２５、ＦナンバＡｃｃ２６、エンベロープジェネレータ２７、ラウドネス２８、パンニング２９等を動作させ、発音用の波形データを生成させる点で音源部を制御する手段（制御手段）として機能する。
【００３１】
これら音源基板１４に実装されている構成とアンプ３４及びスピーカ１５とによって、楽音発生装置が構成されている。
さらに、音源基板１４には時計手段に該当するタイマ３５が備わっている。タイマ３５は暦機能を持ち、年月日、曜日及び時刻を計時できる。タイマ３５はＣＰＵ２０に接続されており、ＣＰＵ２０はタイマ３５のデータを取得できる。また、ＣＰＵ２０は、クリーナ基板１３から時刻情報を取得して、タイマ３５の時刻等をクリーナ基板１３のタイマ（図示略）に合わせて補正する（クリーナ基板１３のタイマにタイマ３５を従属させる）ので、基本的に両方のタイマが同じ時刻を示すことになる。
【００３２】
音源基板１４による演奏に関してユーザが設定操作するロータリスイッチ１９のポジションと発音モードの対応は、下記の表１に示すとおりである。
【００３３】
【表１】
0004447691.tif 000002
消音モードは、バックグラウンドミュージック（ＢＧＭ）の演奏は行わず、エアクリーナ１０の機能異常などの警告アナウンスのみ発音する設定（ロータリスイッチ＝０）と警告アナウンス及び清浄アナウンスを発音する設定（ロータリスイッチ＝１）とがある。
【００３４】
３分演奏モードは、朝（５：００〜１１：００）と夜（１８：００〜５：００）の運転時に２時間おきに約３分間だけＢＧＭの演奏を行うモードであり、ロータリスイッチ１９のポジションを２にすると朝はカッコウの鳴き声、夜は夜用ピアノ曲、ポジションを３にすると朝は小鳥の鳴き声、夜は虫の音、ポジションを４にすると朝、夜とも潮騒、ポジションを５にすると朝は朝用ピアノ曲、夜は夜用ピアノ曲が、上記の３分間演奏（発音）される。
【００３５】
なお、朝用ピアノ曲としては乙女の祈り、幻想即興曲、華麗なるワルツ、貴婦人の乗馬、紡ぎ歌、小犬のワルツ及びトルコ行進曲の７曲が用意され、夜用ピアノ曲としてはノクターン、別れの曲、愛の夢、エリーゼのために、キラキラ星変奏曲、フランス組曲、イギリス組曲の７曲が用意されており、曜日毎に１曲ずつ交代で演奏される。
【００３６】
連続演奏モードは朝（５：００〜１１：００）と夜（１８：００〜５：００）の運転中は連続してＢＧＭの演奏を行うモードであり、ロータリスイッチ１９のポジションを６にすると朝はカッコウの鳴き声、夜は夜用ピアノ曲、ポジションを７にすると朝は小鳥の鳴き声、夜は虫の音、ポジションを８にすると朝、夜とも潮騒、ポジションを９にすると朝は朝用ピアノ曲、夜は夜用ピアノ曲が、エアクリーナ１０の運転中を通じて連続的に演奏（発音）される。なお、朝用ピアノ曲及び夜用ピアノ曲としては３分演奏モードと同じ各７曲が用意されており、１演奏毎に切り替わって順々に演奏される。
【００３７】
楽音発生装置は、上述のようにエアクリーナ１０に組み付けられるが、組み付け前に機能検査が行われるので、これについて説明する。
この機能検査時には、図３に示すように、ボリューム１８、ロータリスイッチ１９、アンプ３４及びスピーカ１５が音源基板１４に接続され、またクリーナ基板１３の代わりにテスト操作基板４０がパラレルポートに接続される。テスト操作基板４０には、スイッチＳＷ１〜ＳＷ４がマウントされており、スイッチＳＷ１〜４のオン、オフにより４ビットのコマンドを入力できる。また、発光ダイオードＬＥＤ１、２により音源基板１４のＣＰＵ２０（図２参照）のランとアンサの有無を確認できる。
【００３８】
音源基板１４のＣＰＵ２０は、電源（１２ＶＤＣ）がオンされたときにクリーナ基板１３からのコマンドが１１１０であるとテストモードになる設定である。したがって、機能検査時にはスイッチＳＷ１、スイッチＳＷ２、スイッチＳＷ３をそれぞれオン、スイッチＳＷ４をオフに保って電源を投入すれば、ＣＰＵ２０を検査モードで動作させることができる。
【００３９】
図６に示すように、電源投入に起因して起動時処理を開始したＣＰＵ２０は、クリーナ基板１３からのコマンド（機能検査時にはスイッチＳＷ１〜４のポジション）が１１１０であるか否かにより、テストモードか否かを判断する（Ｓ１０１）。コマンドが１１１０ならテストモードになり（Ｓ１０１：ＹＥＳ）、タイムカウンタを６０にセットする（Ｓ１０２）。
【００４０】
このカウンタは、１秒毎に割込ルーチンとして実行されるタイマ処理（図７参照）により更新される。詳しくは、タイマ処理では、タイムカウンタのカウント値（Time）が０か否かを判断し（Ｓ２０１）、０でなければこのカウント値を１デクリメントする（Ｓ２０２）。また、０ならカウント値の更新は行わない。つまり、１秒ごとにタイムカウンタの値を１ずつ減数することによって６０秒の経過を計時している。
【００４１】
タイムカウンタのセット（Ｓ１０２）に続いて、ＣＰＵ２０は、任意の１チャネル（ここではＣＨ０とする）にサイン波の波形データを生成させるための処理を行う。詳しくは、音色を本例では約４４０Ｈｚのサイン波（Ｓ１０３）に設定し、そのサイン波のＦナンバ（Ｓ１０４）、フィルタパラメータ（Ｓ１０５）及びエンベロープパラメータ（Ｓ１０６）をＲＯＭ２２からアサイメントメモリ２４に転送して演奏データエリアＡＭ１のＣＨ０に書込み、さらにラウドネスをＤＡＣ３３の出力基準で１００％（Ｓ１０７）、左右のパンニング係数をそれぞれ１００％（Ｓ１０８）に設定してこれらも演奏データエリアＡＭ１のＣＨ０に書込み、ＣＨ０のＦＡＦ及びＥＧＦを共に１にセットする（Ｓ１０９）。なお、このときのエンベロープパラメータは、図８に示すように例えばオルガン音のように一定レベルで保たれて途中で変化しない矩形波型である。
【００４２】
ＦＡＦ及びＥＧＦが共に１にセットされたことにより、ＣＨ０のＦナンバＡｃｃ２６がＦナンバの歩進演算を開始し、エンベロープジェネレータ２７がエンベロープデータの生成演算を開始する。これにより、いずれか１つの発音チャネル（本例ではＣＨ０）にてサイン波の波形データが生成される。しかも、この波形データのラウドネスはＤＡＣ３３の出力基準で１００％、左右のパンニング係数も１００％とされているので、スピーカ１５からは、この楽音発生装置の最大音量でサイン波音声が出力される。
【００４３】
そして、ＣＰＵ２０は、スイッチイベント検出処理としてスイッチＳＷ１〜４のポジションを読み込み（処理上はコマンドを読み込み）（Ｓ１１０）、コマンドが００００（スイッチＳＷ１〜４がすべてオフ）か否かによってサイン波出力の終了か否かを判断する（Ｓ１１１）。
【００４４】
コマンドが００００でなければ、タイムカウンタの値が０か否かを判断する（Ｓ１１２）。ここでタイムカウンタが０でなければ（つまりサイン波の出力開始から６０秒を経過していないときには）、Ｓ１１０に回帰する。
一方、コマンドが００００であったとき（Ｓ１１１：ＹＥＳ）またはタイムカウンタが０のときには（Ｓ１１２：ＹＥＳ）、Ｓ１１３進んでエンベロープを立ち下げる（キーオフに相当）。これにより、サイン波音声の出力が終了する。そして、ＣＰＵ２０は次のテストのための処理（Ｓ１１４）を実行する。
【００４５】
オペレータは、上記のように出力されるサイン波音声を測定したり、オペレータの耳で評価することで、Ｓ／Ｎ比が適切な範囲であるか否か（合格、不合格）を判別できる。このように、本実施例の楽音発生装置では、Ｓ／Ｎ比テスト手段に該当するＣＰＵ２０がテストコマンド（１１１０）を取得すると発音チャネルの１つにＤＡＣ３３の１００％出力に相当するサイン波の波形データを生成させるので、Ｓ／Ｎ比を測定するためにサイン波信号を生成する装置を楽音発生装置に接続したり取り外したりする必要はなく、Ｓ／Ｎ比測定の作業効率が向上する。また、サイン波信号を生成する装置を接続するためのコネクタ等も必要としないから、楽音発生装置の構造が複雑化しない。
【００４６】
しかも、スイッチＳＷ１〜４の操作によってコマンドを００００に変更することで、サイン波音声の出力（Ｓ／Ｎ比の検査）を終了して、次のテストを実行できるから、Ｓ／Ｎ比を含む複数種類の検査を行う際に、それらの検査を連続的に行うことができ、検査の効率が良好になる。
【００４７】
１つの発音チャネルにて、ＤＡＣの１００％出力に相当するサイン波の波形データを生成するので、複数の発音チャネルでサイン波を生成して合成する場合のような位相を統一する等の処理は不要であり、制御も簡単になる。
【００４８】
【実施例２】
次に、複数の発音チャネルを用いてＤＡＣ３３のフルスイング相当の音声を出力する例を説明する。なお、この例の楽音発生装置は、以下に説明する動作以外は実施例１と同じ構成、動作をする。
【００４９】
図９に示すように、電源投入に起因して起動時処理を開始したＣＰＵ２０は、クリーナ基板１３からのコマンド（機能検査時にはスイッチＳＷ１〜４のポジション）が１１１０であるか否かにより、テストモードか否かを判断する（Ｓ１０１）。コマンドが１１１０ならテストモードになり（Ｓ３０１：ＹＥＳ）、タイムカウンタを６０にセットする（Ｓ３０２）。このカウンタは実施例１のタイムカウンタと同じく、１秒毎に割込ルーチンとして実行されるタイマ処理（図７参照）により更新され、１秒ごとにタイムカウンタの値を１ずつ減数することによって６０秒の経過を計時する。
【００５０】
タイムカウンタのセット（Ｓ３０２）に続いて、ＣＰＵ２０は、任意の１チャネル（ここではＣＨ０とする）のチャネル番号をアサインチャネルレジスタ（ＡＳＮＣＨ、図示は省略）にセットする（Ｓ３０３）。
次に、ＡＳＮＣＨの値で指定された発音チャネルにサイン波の波形データを生成させるための処理を行う。
【００５１】
詳しくは、音色を本例では約４４０Ｈｚのサイン波（Ｓ３０４）に設定し、そのサイン波のＦナンバ（Ｓ３０５）、フィルタパラメータ（Ｓ３０６）及びエンベロープパラメータ（Ｓ３０７）をＲＯＭ２２からアサイメントメモリ２４に転送して演奏データエリアＡＭ１のＣＨ０に書込み、さらにラウドネスをそのチャネルの出力基準で１００％（本実施例では、このラウドネスはＤＡＣ３３の出力基準の１／４になる設定である。）（Ｓ３０８）、左右のパンニング係数をそれぞれ１００％（Ｓ３０９）に設定してこれらも演奏データエリアＡＭ１のＣＨ０に書込む。なお、このときのエンベロープパラメータは、図８に示すように例えばオルガン音のように一定レベルで保たれて途中で変化しない矩形波型である。
【００５２】
続いて、ＡＳＮＣＨの値を１インクリメントして（Ｓ３１０）、その値が４未満なら（Ｓ３１１：ＮＯ）、Ｓ３０４に回帰して上述と同様にＳ３１１までを繰り返す。この繰り返しにより、ＣＨ０〜ＣＨ３の４チャネルに対応する演奏データエリアＡＭ１に同じ周期（本例では約４４０Ｈｚ）のサイン波を生成するためのアサイメント情報が書き込まれる。
【００５３】
そして、ＡＳＮＣＨの値が４以上になれば（Ｓ３１１：ＹＥＳ）、フラグエリアＡＭ２のアドレス０に設定されているＣＨ０〜ＣＨ３のＦＡＦ及びＥＧＦを一斉に１にセットする（Ｓ３１２）。
ＦＡＦ及びＥＧＦが１にセットされたことにより、ＣＨ０〜ＣＨ３のＦナンバＡｃｃ２６がＦナンバの歩進演算を開始し、エンベロープジェネレータ２７がエンベロープデータの生成演算を開始する。つまり、ＣＨ０〜ＣＨ３の４つの発音チャネルが一斉に動作を開始することになる。
【００５４】
フラグエリアＡＭ２の同じアドレス（ここではアドレス０）にＦＡＦ及びＥＧＦが設定されている４つの発音チャネル（この例ではＣＨ０〜ＣＨ３）を選択し、それらのアサイメント情報を演奏データエリアＡＭ１に記憶させてから、４つの発音チャネルのＦＡＦ及びＥＧＦを一斉に１にセットするので、これら４つの発音チャネルが同時に波形生成演算を開始できる。
【００５５】
そうした訳で、ＡＳＮＣＨの値によって選択する４つの発音チャネルは、フラグエリアＡＭ２の同じアドレスにＦＡＦ及びＥＧＦが設定されている４つの発音チャネルとする必要がある。ただし、本例ではフラグエリアＡＭ２の１アドレスがバイトデータとされているので、最大でも４つの発音チャネルしか選択できないが、１アドレスに１０ビット以上のデータを記憶できるメモリをＦＡＦ及びＥＧＦのセット用に使用するなら、５つ以上の発音チャネルの波形生成演算を同時に開始させることもできる。
【００５６】
なお、本実施例の場合、アサイメントメモリ２４（演奏データエリアＡＭ１、フラグエリアＡＭ２）の内容は、１サンプリング周期（本例では４４ＫＨｚの周期）を時分割して設定されるタイミングで、各回路（波形スタートアドレス２５、ＦナンバＡｃｃ２６、エンベロープジェネレータ２７、ラウドネス２８、パンニング２９等）に転送されるので、複数の発音チャネルが一斉に或いは同時にといっても、数学的に同時ということではなくて、１サンプリング周期の内にということである。
【００５７】
４つの発音チャネルに同周期のサイン波のアサイメント情報を与えて、それら４つの発音チャネルのＦＡＦ及びＥＧＦを一斉に１にセットすることにより、４つの発音チャネルの波形生成演算を同時に開始させるから、各チャネルで同じサイン波の波形データが生成され、しかもそれらの位相が揃っている。
【００５８】
このため、４つの発音チャネルによって生成されたサイン波の波形データを系列累算３２にて累算して生成される波形は、１つの正確なサイン波の波形データになる。また、１つの発音チャネルの音量（音圧）はＤＡＣ３３のフルスイングの１／４であるから、４つの発音チャネルの波形を累算したものは、ＤＡＣ３３のフルスイング相当になっている。これにより、スピーカ１５からは、この楽音発生装置の最大音量でサイン波音声が出力される。
【００５９】
そして、ＣＰＵ２０は、スイッチイベント検出処理としてスイッチＳＷ１〜４のポジションを読み込み（処理上はコマンドを読み込み）（Ｓ３１３）、コマンドが００００（スイッチＳＷ１〜４がすべてオフ）か否かによってサイン波出力の終了か否かを判断する（Ｓ３１４）。
【００６０】
コマンドが００００でなければ、タイムカウンタの値が０か否かを判断する（Ｓ３１５）。ここでタイムカウンタが０でなければ（つまりサイン波の出力開始から６０秒を経過していないときには）、Ｓ３１３に回帰する。
一方、コマンドが００００であったとき（Ｓ３１４：ＹＥＳ）またはタイムカウンタが０のときには（Ｓ３１５：ＹＥＳ）、Ｓ３１６に進んで４つの発音チャネル（この例ではＣＨ０〜ＣＨ３）のエンベロープを立ち下げる（キーオフに相当）。これにより、サイン波音声の出力が終了する。そして、ＣＰＵ２０は次のテストのための処理（Ｓ３１７）を実行する。
【００６１】
オペレータは、上記のように出力されるサイン波音声を測定したり、オペレータの耳で評価することで、Ｓ／Ｎ比が適切な範囲であるか否か（合格、不合格）を判別できる。このように、本実施例の楽音発生装置では、Ｓ／Ｎ比テスト手段に該当するＣＰＵ２０がテストコマンド（１１１０）を取得すると４つの発音チャネルを用いてＤＡＣ３３の１００％出力に相当するサイン波の波形データを生成させるので、Ｓ／Ｎ比を測定するためにサイン波信号を生成する装置を楽音発生装置に接続したり取り外したりする必要はなく、Ｓ／Ｎ比測定の作業効率が向上する。また、サイン波信号を生成する装置を接続するためのコネクタ等も必要としないから、楽音発生装置の構造が複雑化しない。
【００６２】
しかも、スイッチＳＷ１〜４の操作によってコマンドを００００に変更することで、サイン波音声の出力（Ｓ／Ｎ比の検査）を終了して、次のテストを実行できるから、Ｓ／Ｎ比を含む複数種類の検査を行う際に、それらの検査を連続的に行うことができ、検査の効率が良好になる。
【００６３】
４つの発音チャネルの全てに同じサイン波の波形データを同じ位相で生成させるので、系列累算３２の出力値は１つの発音チャネルで生成可能な波高値の４倍になる。したがって、各発音チャネルの最大音量をＤＡＣのフルスイングよりも低いレベル（具体的には１／４）に設定できるので、各発音チャネルの演算ビット数は少なくて済み、演算回路の複雑化を回避できる。
【００６４】
以上、２つの実施例に従って、本発明の実施の形態について説明したが、本発明はこれらの実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲でさまざまに実施できることは言うまでもない。
【図面の簡単な説明】
【図１】  実施例１、２の楽音発生装置が組み込まれているエアクリーナの斜視図である。
【図２】  実施例１、２の楽音発生装置のブロック図である。
【図３】  実施例１、２の楽音発生装置にテスト操作基板を接続した状態の説明図である。
【図４】  実施例１、２の楽音発生装置の演奏データエリアの構造の説明図である。
【図５】  実施例１、２の楽音発生装置のフラグエリアの構造の説明図である。
【図６】  実施例１の楽音発生装置のＣＰＵが実行する起動時処理のフローチャートである。
【図７】  実施例１、２の楽音発生装置のＣＰＵが実行するタイマ処理のフローチャートである。
【図８】  実施例１、２の楽音発生装置がサイン波音声を発生する際のエンベロープのタイミングチャートである。
【図９】  実施例２の楽音発生装置のＣＰＵが実行する起動時処理のフローチャートである。
【符号の説明】
１４…音源基板  １５…スピーカ  ２０…ＣＰＵ（Ｓ／Ｎ比テスト手段）  ２２…ＲＯＭ（記憶手段）  ３２…系列累算（累算手段）  ３３…デジタルアナログコンバータ  ３４…アンプ
【図１】
0004447691.tif 000003
【図２】
0004447691.tif 000004
【図３】
0004447691.tif 000005
【図４】
0004447691.tif 000006
【図５】
0004447691.tif 000007
【図６】
0004447691.tif 000008
【図７】
0004447691.tif 000009
【図８】
0004447691.tif 000010
【図９】
0004447691.tif 000011