(57)【要約】【課題】外部からサンプリング周期毎に供給されるワードクロックに同期し、該ワードクロックから独立したシステムクロックに基づいて動作する音源ボード等の楽音合成装置において、簡易な構成でワードクロックの異常を検出し、警告等を行う。【解決手段】分周回路６２はシステムクロックＳＣＬＫを２分周し、理想的なサンプリング周波数Ｆｓに対して１０２４倍の周波数を有する信号Ｓ１を出力する。サイクルカウンタ６４はこの信号Ｓ１をカウントするとともに、ワードクロックＷＣＫに基づくサンプリング周期でリセットされる。サイクルカウンタ６４のカウント値の最大値はＭ検出レジスタ５２に格納される。ワードクロックＷＣＫが理想的なサンプリング周期を有していればＭ検出レジスタ５２に記憶される値は「１０２３」になるが、誤差があればＭ検出レジスタ５２に記憶される値は「１０２３」未満あるいは「１０２４」以上になる。【選択図】　図４
2004109541.tif 000002
【特許請求の範囲】
【請求項１】
外部から供給されサンプリング周期毎にレベルが変化するワードクロックに同期して楽音信号を生成する楽音信号生成部を有する楽音合成装置において、
前記楽音信号生成部に対して動作クロックを供給するクロック発生器と、
前記ワードクロックの変化タイミングに基づく所定の開始タイミングにおいて前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミング制御部と、
前記ワードクロックの変化タイミング間の期間を前記動作クロックに基づいて計測することによって前記サンプリング周期を測定するサンプリング周期計測部と、
該測定されたサンプリング周期が所定範囲内に無い場合に警告を行う警告手段と
を具備することを特徴とする楽音合成装置。
【請求項２】
外部から供給されサンプリング周期毎にレベルが変化するワードクロックに同期して楽音信号を生成する楽音信号生成部を有する楽音合成装置において、
前記楽音信号生成部に対して動作クロックを供給するクロック発生器と、
前記ワードクロックの変化タイミングに基づく所定の開始タイミングにおいて前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミング制御部と、
前記ワードクロックの変化タイミング間の期間を前記動作クロックに基づいて計測することによって前記サンプリング周期を測定するサンプリング周期計測部と、
該測定されたサンプリング周期が所定範囲内に無い場合に、当該楽音信号生成部から出力される楽音信号の音量レベルを低下させる音量制御手段と
を具備することを特徴とする楽音合成装置。
【請求項３】
外部から供給されサンプリング周期毎にレベルが変化するワードクロックに同期して楽音信号を生成する楽音信号生成部を有する楽音合成装置において、
前記楽音信号生成部に対して動作クロックを供給するクロック発生器と、
前記ワードクロックの変化タイミングと、前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミングとの時間関係を示すタイミングデータを記憶するレジスタと、
前記ワードクロックの変化タイミングと、前記レジスタに記憶されたタイミングデータとに基づくタイミングにおいて、前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミング制御部と
を具備することを特徴とする楽音合成装置。
【請求項４】
前記楽音信号生成部は、複数段のパイプライン処理を行うことにより前記楽音信号を生成するものであり、
前記タイミング制御部によって前記各サンプリング周期毎の楽音信号生成動作が開始された後、これら複数段のパイプライン処理を所定の時間間隔を隔てて順次開始させるパイプライン処理制御部
をさらに有することを特徴とする請求項１ないし３の何れかに記載の楽音合成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器、音源装置等に用いて好適な楽音合成装置に関する。
【０００２】
【従来の技術】
電子楽器あるいはパーソナルコンピュータ等に接続される音源装置において複数の音源ボードを搭載し、これら音源ボードを並列動作させるとともに相互に波形データを受け渡しできるようにすると、一枚の音源ボードでは実現困難な複雑・高度な処理を行うことが可能になる。この技術によれば、各音源ボードの動作を同期させるために、各音源ボードに対して共通のワードクロック（１サンプリング周期毎に立ち上がるクロック）が供給される。一方、各音源ボード内の回路が動作するためには、ワードクロックよりも周波数の高いクロック（システムクロック）をこれらの回路に供給する必要がある。また、１枚の音源ボード内であっても、回路ブロック毎に異なるシステムクロックで動作させる場合がある。
【０００３】
そこで、個々の音源ボードないし回路ブロックにおいては、各音源ボードないし回路ブロックの動作タイミングを制御するサイクルカウンタが設けられている。該サイクルカウンタは個々の音源ボードのシステムクロックによってカウントアップされるとともに、ワードクロックが発生する毎にこれらサイクルカウンタがリセットされる。そして、このカウント結果に応じて実行すべき処理の内容（例えばマイクロプログラムのステップ番号）が決定される。
【０００４】
これにより、複数の音源ボードないし回路ブロックをワードクロックに同期して動作させることが可能になる。また、各サンプリング周期においては、サイクルカウンタがリセットされた後の所定期間は実質的な楽音合成処理が行われ、残りの期間は実質的な処理が行われない休止期間になる。この休止期間の範囲であればワードクロックの周期が変動したとしても、これに追従して動作を続行することができる。
【０００５】
他の技術として、複数のボードを有するデジタルミキサにおいて、ボード毎に発振器等を設けてシステムクロックを生成するとともに、このシステムクロックに対してワードクロックに基づくＰＬＬ処理を施すことにより、各ボードの動作を同期させる技術も知られている。ここで、システムクロックに対する位相ロックが外れると、デジタルミキサの表示パネル等にその旨が表示されるため、ユーザはボードに異常が生じたことを知ることができる。
【０００６】
【発明が解決しようとする課題】
しかし、ＰＬＬ処理を行わない音源装置等においては、入力されるワードクロックの周期が正常な範囲から外れていたとしても、これを検出してユーザに報知することができなかった。また、ＰＬＬ処理を行うデジタルミキサ等においては、確かにワードクロックによる位相ロックが外れた場合はこれをユーザに報知することができるが、ワードクロックが異常であるにもかかわらず位相ロックが外れなかった場合には、異常を検出することができなかった。かかる場合には、生成される楽音信号のピッチがずれる等の問題が発生する。
【０００７】
かかる場合、上記音源装置は、外部機器から出力されるワードクロックと同じサンプリング周期で波形データを処理するだけでなく、該サンプリング周期内における波形データを入出力するタイミング（位相）もワードクロックに同期させる必要がある。また、本出願人は、上記音源装置において、それぞれ独立したシステムクロックに基づき、かつ、ワードクロックを共通化して動作している複数の音源ボードないし回路ブロックを共通のオーディオバスで接続し、それらの音源ボードないし回路ブロック間に論理的結線を行い、該論理的結線に従って波形データを受け渡しする技術を提案している（特願２００２−２６６８４８号）。このシステムでは、各音源ボードないし回路ブロックが波形データを入出力するタイミングを、当該音源ボードないし回路ブロックに割り当てられたフレームタイミングに同期させなければならない。従来の音源装置では、各音源ボードないし回路ブロックが波形データを入出力できるタイミングとワードクロックのタイミングとの時間関係は固定であった。このため、ワードクロックによって波形データの送信側のサンプリング周期と受信側のサンプリング周期とを同一にできたとしても、送信側の送信可能タイミングと受信側の受信可能タイミングが合致していなければ波形データを受け渡しすることができず、あるいは、受け渡しをするために、そのタイミングを合わせるための追加回路が必要であった。
【０００８】
以上のように、従来の音源装置等は、複数の機器間において並列動作を実行させようとする際に、動作異常を的確に検出し対処することが困難であった。また、複数の機器間で安定して波形データ等を受け渡しすることも困難であった。
この発明は上述した事情に鑑みてなされたものであり、安定した並列動作を可能ならしめる楽音合成装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の楽音合成装置にあっては、外部（２００）から供給されサンプリング周期毎にレベルが変化するワードクロック（ＷＣＫ）に同期して楽音信号を生成する楽音信号生成部（１１２）を有する楽音合成装置（１００）において、前記楽音信号生成部に対して動作クロック（ＳＣＬＫ）を供給するクロック発生器（１１０）と、前記ワードクロック（ＷＣＫ）の変化タイミングに基づく所定の開始タイミングにおいて前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミング制御部（１２）と、前記ワードクロック（ＷＣＫ）の変化タイミング間の期間を前記動作クロック（ＳＣＬＫ）に基づいて計測することによって前記サンプリング周期を測定するサンプリング周期計測部（６４，５２）と、該測定されたサンプリング周期が所定範囲内に無い場合に警告を行う警告手段（３０４，３２４）とを具備することを特徴とする。
また、請求項２記載の楽音合成装置にあっては、外部（２００）から供給されサンプリング周期毎にレベルが変化するワードクロック（ＷＣＫ）に同期して楽音信号を生成する楽音信号生成部（１１２）を有する楽音合成装置（１００）において、前記楽音信号生成部に対して動作クロック（ＳＣＬＫ）を供給するクロック発生器（１１０）と、前記ワードクロック（ＷＣＫ）の変化タイミングに基づく所定の開始タイミングにおいて前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミング制御部（１２）と、前記ワードクロック（ＷＣＫ）の変化タイミング間の期間を前記動作クロック（ＳＣＬＫ）に基づいて計測することによって前記サンプリング周期を測定するサンプリング周期計測部（６４，５２）と、該測定されたサンプリング周期が所定範囲内に無い場合に、当該楽音信号生成部（１１２）から出力される楽音信号の音量レベルを低下させる音量制御手段（１０２，２０２）とを具備することを特徴とする。
また、請求項３記載の楽音合成装置にあっては、外部（２００）から供給されサンプリング周期毎にレベルが変化するワードクロック（ＷＣＫ）に同期して楽音信号を生成する楽音信号生成部（１１２）を有する楽音合成装置（１００）において、前記楽音信号生成部に対して動作クロック（ＳＣＬＫ）を供給するクロック発生器（１１０）と、前記ワードクロック（ＷＣＫ）の変化タイミングと、前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミングとの時間関係を示すタイミングデータを記憶するレジスタ（５４）と、前記ワードクロック（ＷＣＫ）の変化タイミングと、前記レジスタ（５４）に記憶されたタイミングデータとに基づくタイミングにおいて、前記各サンプリング周期毎の楽音信号生成動作を開始させるタイミング制御部（１２）とを具備することを特徴とする。
さらに、請求項４記載の構成にあっては、請求項１ないし３の何れかに記載の楽音合成装置において、前記楽音信号生成部（１１２）は、複数段のパイプライン処理を行うことにより前記楽音信号を生成するものであり、前記タイミング制御部（１２）によって前記各サンプリング周期毎の楽音信号生成動作が開始された後、これら複数段のパイプライン処理を所定の時間間隔を隔てて順次開始させるパイプライン処理制御部（１４，２０，２６）をさらに有することを特徴とする。
【００１０】
【発明の実施の形態】
１．実施形態の構成
１．１．全体構成
次に、本発明の一実施形態の音源装置の全体構成を図１を参照し説明する。
図において３０２はパネルスイッチであり、ここで音源装置の各種パラメータが設定される。３０４はパネル表示器であり、音源装置の各種状態等を表示する。３１４はネットワークインタフェース部であり、ローカルエリアネットワーク（図示せず）を介して、外部のパーソナルコンピュータ等との間で演奏情報や波形データ等の入出力を行う。３１６はＭＩＤＩインタフェースであり、ここに鍵盤あるいはシーケンサ等のＭＩＤＩ機器が接続され、ＭＩＤＩ信号が入出力される。
【００１１】
３１８はディスクドライブであり、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＭＯ等のディスク３２０に対して波形データ、演奏情報等のデータの読出しおよび書込みを行う。３２４はＣＰＵであり、ＲＯＭ３２６に格納された制御プログラムに基づいて、他の構成要素を制御する。３２２はタイマであり、ＣＰＵ３２４に対してタイマ割込みを発生させる。３２８はＲＡＭであり、ＣＰＵ３２４のワークメモリとして用いられる。１００，２００は音源ボードであり、ＣＰＵ３２４の制御の下、相互に同期しつつ楽音信号を生成する。生成された楽音信号は、サウンドシステム２５０を介して発音される。
【００１２】
１．２．音源ボード１００，２００の構成
次に、音源ボード１００，２００の構成を図２を参照し説明する。音源ボード１００の内部において１０２はＣＰＵであり、ＲＯＭ１０４に記憶された制御プログラムに基づいて、制御バス１０８を介して音源ボード１００内の各部を制御する。１０６はＲＡＭであり、ＣＰＵ１０２のワークメモリとして用いられる。１１２，１１４は音源ＬＳＩであり、ＣＰＵ１０２の制御の下、複数チャンネルの楽音信号を生成する。１１８は前述したオーディオバスであり、この生成された楽音信号を伝送する。１１０はクロック発生器であり、音源ＬＳＩ１１２，１１４に対して、所定周期のシステムクロックを供給する。
【００１３】
次に、音源ボード２００の内部においては、上述した構成要素１０２〜１１８と同様のＣＰＵ２０２、ＲＯＭ２０４、ＲＡＭ２０６、制御バス２０８、クロック発生器２１０、音源ＬＳＩ２１２，２１４、およびオーディオバス２１８が設けられている。さらに、２１６はエフェクタであり、オーディオバス２１８を介して供給された楽音信号に対してエフェクト処理を施し、その結果をオーディオバス２１８を介して出力する。２２０はＤ／Ａ変換器であり、最終的な楽音信号が音源ＬＳＩ２１４から供給されると、これをアナログ信号に変換しサウンドシステム２５０に出力する。
【００１４】
上記クロック発生器１１０，２１０は、各々同一の音源ボード内に実装されている音源ＬＳＩおよびエフェクタにシステムクロックを供給するが、両システムクロックは同期していない。また、各音源ＬＳＩは供給されたシステムクロックに同期してワードクロックＷＣＫを生成することが可能であるが、ここでは、音源ＬＳＩ２１２の生成したワードクロックＷＣＫが他の音源ＬＳＩおよびエフェクタ２１６に供給される。音源ボード１００，２００間において、ワードクロックＷＣＫおよびオーディオバスは相互に接続されている。従って、音源ＬＳＩ１１２，１１４，２１２，２１４，エフェクタ２１６は、オーディオバス１１８，２１８を介して任意の結線で波形データを送受信可能である。
【００１５】
ここで、ワードクロックＷＣＫを生成する音源ＬＳＩを「マスタ」と呼び、該マスタの音源ＬＳＩからワードクロックＷＣＫを受信して動作する音源ＬＳＩ等を「スレーブ」と呼ぶ。図示の例においては、音源ＬＳＩ２１２が「マスタ」であり、他の音源ＬＳＩが「スレーブ」である。なお、本実施形態においては、外部機器（図示せず）からワードクロックを受信することができる。かかる場合には、全ての音源ＬＳＩとエフェクタ２１６が「スレーブ」になり、外部機器からのワードクロックを受信して動作する。
【００１６】
１．３．音源ＬＳＩの詳細構成
次に、音源ＬＳＩ１１２の構成を図３を参照し説明する。
図において１０は制御レジスタ群であり、楽音を発生するための各種パラメータ等がここに記憶される。１２はリセット信号発生部であり、供給されたワードクロックＷＣＫが“１”に立ち上がった後、所定期間経過後にリセット信号ＲＳＴを音源ＬＳＩ１１２内の各部に供給する。１６は低周波発振部であり、制御レジスタ群１０に記憶されたパラメータに従って低周波信号を生成する。生成された低周波信号の波形データはサンプリング周期毎に制御レジスタ群１０内の所定のレジスタに書込まれる。
【００１７】
１８は読出・補間部であり、波形メモリ３２内に記憶された波形データを、発生すべき楽音信号のピッチに応じた速度で読み出し、読み出した波形データに補間処理を施す。補間処理結果である波形データは、サンプリング周期毎に、制御レジスタ群１０内の所定のレジスタに書き込まれる。これら低周波発振部１６および読出・補間部１８を「前段部」と呼ぶ。１４は前段制御部であり、前段部におけるタイミング制御を行う。
【００１８】
次に、２２はフィルタ部であり、制御レジスタ群１０内の所定のレジスタ内の波形データ（例えば前段部において生成された波形データ）をサンプリング周期毎に読み出すとともに、当該読み出された波形データに対してフィルタリング処理を施し、その結果を制御レジスタ群１０内の他のレジスタに書き込む。
【００１９】
２４はＥＧ制御部であり、フィルタ部２２と同様に、制御レジスタ群１０内の所定のレジスタ内の波形データをサンプリング周期毎に読み出すとともに、当該波形データに対してエンベロープを付与し、その結果を制御レジスタ群１０内の他のレジスタに書き込む。これらフィルタ部２２およびＥＧ制御部２４を「中段部」と呼ぶ。２０は中段制御部であり、中段部におけるタイミング制御を行う。以上の構成要素１６，１８，２２，２４の各部は、それぞれ複数チャンネル分の楽音信号を形成するために、複数チャンネル分の時分割動作を行っている。
【００２０】
次に、２８はミキサ部であり、制御レジスタ群１０内の複数のレジスタ内の波形データに対してミキシング処理を施し、その結果を制御レジスタ群１０内の他のレジスタに書き込む。なお、最終的に出力すべき波形データは、当該ミキサ部２８からＤ／Ａ変換器２２０等に供給される。３０はＤＳＰ部であり、制御レジスタ群１０内の所定のレジスタ内の波形データに対して、マイクロプログラムによるエフェクト処理等を施し、その結果を制御レジスタ群１０内の他のレジスタに書き込む。これらミキサ部２８およびＤＳＰ部３０を「後段部」と呼ぶ。２６は後段制御部であり、後段部におけるタイミング制御を行う。
【００２１】
ここで、音源ＬＳＩによって、楽音信号を生成する処理の概要を説明しておく。最初に、前段部の低周波発振部１６あるいは読出・補間部１８によって、目的となる音色（例えばピアノ、バイオリン等）を得るための元になる各チャンネルの波形データが生成される。生成されたこれらの波形データに対して、中段部のＥＧ制御部２４によって各チャンネルのエンベロープ付与処理が行われることにより、例えば、アタック、リリース部分等のエンベロープの変化が付与される。また、フィルタ部２２による各チャンネルのフィルタリング処理によって、例えば「アタック部分における周波数成分の乱れ」等が付与される。これらエンベロープ付与処理、フィルタリング処理は、異なるチャンネル間で使いまわしをしてもよい。すなわち、あるチャンネルのフィルタリング処理を、他のチャンネルの楽音生成のために使用できるようにしてもよい。
【００２２】
中段部から出力された各チャンネルの波形データないしオーディオバスから入力する各波形データは、必要に応じて、そのまま、あるいはミキサ部２８において他の波形データと混合されて後段部のＤＳＰ部３０に供給され、ＤＳＰ部３０において様々なエフェクトが付与される。また、ミキサ部２８においては、エフェクトの付与された波形データや付与されなかった波形データが必要に応じてミキシングされ、Ｄ／Ａ変換器２２０に出力する波形データやオーディオバスへ出力する波形データが形成される。音源ＬＳＩにおいては、上述した処理がパイプライン方式によって実現される。すなわち、あるチャンネルについて前段部における波形データ生成処理が行われると同時に、他のチャンネルについて中段部における処理が実行され、さらに他のチャンネルに対して後段部の処理が実行される。これにより、複数チャンネルの波形データを高速に合成することができる。
【００２３】
次に、上記リセット信号発生部１２の詳細構成を図４を参照し説明する。図において６２は分周回路であり、クロック発生器１１０から出力されたシステムクロックＳＣＬＫを２分周および４分周し、その結果を各々信号Ｓ１，Ｓ２として出力する。ここで、システムクロックＳＣＬＫは理想的なサンプリング周波数Ｆｓの「２０４８」倍の周波数を有しているため、信号Ｓ１，Ｓ２は、各々理想的なサンプリング周波数Ｆｓの「１０２４」倍および「５１２」倍の周波数を有することになる。
【００２４】
６６はリセットタイミングカウンタであり、信号Ｓ２（５１２Ｆｓ）の立上がり回数をカウントするとともに、ワードクロックＷＣＫによりリセットされる。５４はＴ制御レジスタであり、上述した制御レジスタ群１０内に設けられ、ワードクロックＷＣＫが供給された後にリセット信号ＲＳＴを出力するまでの時間を、システムクロックＳＣＬＫの周期の４倍を単位として記憶する。
【００２５】
７０は比較器であり、リセットタイミングカウンタ６６のカウント結果とＴ制御レジスタ５４に記憶された値とを比較し、両者が一致するとリセット信号ＲＳＴを出力する。従って、Ｔ制御レジスタ５４に記憶させた値に応じて、ワードクロックＷＣＫが供給された後、システムクロックＳＣＬＫの４倍の周期を単位として任意のタイミングにリセット信号ＲＳＴを出力させることができる。
【００２６】
６４はサイクルカウンタであり、信号Ｓ１（１０２４Ｆｓ）をカウントするとともに、リセット信号ＲＳＴによってリセットされる。５２はＭ検出レジスタであり、上述した制御レジスタ群１０内に設けられ、リセット信号ＲＳＴに応じて、サイクルカウンタ６４のリセットされる直前のカウント値が書き込まれる。
【００２７】
ここで、Ｍ検出レジスタ５２に記憶される値は、リセット信号ＲＳＴの周期すなわちワードクロックＷＣＫの周期を、システムクロックＳＣＬＫの２倍の周期である信号Ｓ１によってカウントした値になる。これにより、ワードクロックＷＣＫの周期がシステムクロックＳＣＬＫの周期の「２０４８」倍に正確に一致していれば、１サンプリング周期経過後はＭ検出レジスタ５２には、「１０２３」が常時記憶されることになる。しかし、ワードクロックＷＣＫあるいはシステムクロックＳＣＬＫに誤差があった場合には、その誤差に応じてＭ検出レジスタ５２に記憶される値が増減されることになる。
【００２８】
以上、音源ＬＳＩ１１２の詳細構成について説明したが、他の音源ＬＳＩもこれと同様に構成されている。そして、複数の音源ＬＳＩおよびエフェクタ２１６間においては、これらの制御レジスタ群１０を介して波形データの受け渡しが行われる。
【００２９】
２．実施形態の動作
２．１．音源ＬＳＩのパラメータ設定
次に、本実施形態の動作を説明する。上述したように、本実施形態の音源ＬＳＩにおいては、Ｔ制御レジスタ５４の値によって、ワードクロックＷＣＫに対する動作開始タイミングすなわちリセット信号ＲＳＴの出力タイミングが決定される。ここで、ワードクロックＷＣＫが立ち上がった後、リセット信号ＲＳＴが出力される迄の時間をＴｉｎｉとする。音源ＬＳＩの外部から波形データが供給される場合には、この時間Ｔｉｎｉを適切に設定しておかなければこの波形データを取り込むことができなくなる。そこで、本実施形態においては、事前に図７に示すタイミング調整処理が実行される。
【００３０】
図において処理がステップＳＰ２０に進むと、所定の方法によって時間Ｔｉｎｉが決定される。ここで、「所定の方法」の具体例について、以下列挙しておく。
（１）まず、本実施形態の音源装置に実装されるボード（上記例では音源ボード１００または２００）において、外部機器（例えば他のボード）との間で受け渡しする波形データとワードクロックＷＣＫとの位相関係が固定的に決定されている場合が考えられる。かかる場合には、製造メーカ側で予め時間Ｔｉｎｉを固定的に決定しておくことができる。
【００３１】
（２）また、実装可能なボードとして様々な構成のものが提供されており、受け渡しする波形データとワードクロックＷＣＫとの位相関係がボードの種類に応じて異なる場合も考えられる。かかる場合には、音源装置のＲＯＭ３２６等に様々なボードのタイミング情報のデータベースを予め格納しておき、接続されているボードの種類をＣＰＵ３２４によって検出し、検出した種類に応じた時間Ｔｉｎｉを各ボードのＣＰＵ（上記例ではＣＰＵ１０２，２０２）に通知するようにするとよい。
【００３２】
（３）また、音源装置本体が製造された後、新たに設計されたボードがユーザに提供される場合も考えられる。かかる場合には、音源装置のＣＰＵ３２４が各ボードのＣＰＵからタイミング情報を取得し、取得したタイミング情報に応じて各音源ＬＳＩの時間Ｔｉｎｉを決定し各ボードに通知するようにするとよい。
【００３３】
（４）また、音源装置のＣＰＵ３２４によって、各ボードから出力される波形データとワードクロックＷＣＫとの位相関係を測定し、その測定結果から各音源ＬＳＩに設定する時間Ｔｉｎｉを決定してもよい。
（５）また、時間Ｔｉｎｉは、ユーザによって任意に設定できるようにし、トライアンドエラーによって調整するようにしてもよい。
【００３４】
以上のようにして時間Ｔｉｎｉが決定されると、次に処理がステップＳＰ２２に進み、求められた時間Ｔｉｎｉが信号Ｓ１の周期単位の値に換算され、Ｔ制御レジスタ５４に書き込まれる。係る処理が各音源ＬＳＩ毎に実行されることにより、各音源ＬＳＩおよび音源ボード相互間のタイミング関係が決定される。
【００３５】
２．２．音源ＬＳＩの動作
次に、個々の音源ＬＳＩの動作を図５を参照し説明する。図において、時刻ｔ０にワードクロックＷＣＫが立ち上がったとすると、このタイミングにリセットタイミングカウンタ６６がリセットされる。その後、システムクロックＳＣＬＫの４周期毎に信号Ｓ２が立ち上がると、そのタイミング毎にリセットタイミングカウンタ６６がカウントアップされる。そして、そのカウント結果がＴ制御レジスタ５４に記憶された値と一致すると、リセット信号ＲＳＴが所定時間だけ“１”に設定される。このリセット信号ＲＳＴの立上がり時刻を時刻ｔ１とする。なお、時刻ｔ０〜ｔ１までの時間が上記「時間Ｔｉｎｉ」になる。
【００３６】
前段制御部１４においては、リセット信号ＲＳＴが立ち上がると同時に前段部の動作が開始される。これにより、低周波発振部１６および読出・補間部１８によって、複数チャンネルの楽音信号が逐次生成される。これら、前段部の処理に必要な時間をＴ０１とする。時刻ｔ１より所定時間が経過し時刻がｔ２になると、中段制御部２０によって中段部の動作が開始される。すなわち、前段部において生成された波形データ、あるいは他の音源ＬＳＩから供給された波形データ等、複数チャンネルの波形データに対して、フィルタ部２２およびＥＧ制御部２４によってフィルタリング処理およびエンベロープ付与処理が実行される。これら、中段部の処理に必要な時間をＴ０２とする。
【００３７】
時刻ｔ２より、さらに所定時間が経過し時刻がｔ３になると、後段制御部２６によって後段部の動作が開始される。すなわち、前段部または中段部において生成された波形データ、他の音源ＬＳＩ等から供給された波形データに対して、ミキサ部２８およびＤＳＰ部３０によってミキシング処理およびエフェクト処理が施される。これら、後段部の処理に必要な時間をＴ０３とする。後段部の処理結果は、時間Ｔ０３の間に制御レジスタ群１０内の所定のレジスタに順次書き込まれる。ミキサ部２８は、時刻ｔ４から時刻ｔ４’の期間にオーディオバスへ出力する波形データのミキシングを時刻ｔ４までに完了してオーディオバスＩ／Ｏ部（図示せず）に供給するとともに、同期間内にオーディオバスから入力した波形データを時刻ｔ４’のタイミングでオーディオバスＩ／Ｏ部から受信する。そのため、オーディオバスＩ／Ｏ部にとっては、時刻ｔ４から次の時刻ｔ４’までの期間が、オーディオバス１１８，２１８との間で１サンプリング周期の波形データを入出力する期間となる。波形データは、オーディオバス１１８，２１８を介して、当該音源ＬＳＩから他の音源ＬＳＩまたはエフェクタ２１６に供給され、他の音源ＬＳＩまたはエフェクタ２１６から当該音源ＬＳＩに供給される。
【００３８】
このように、本実施形態においては、前段部、中段部および後段部の動作が順次開始されるため、例えばあるサンプリング周期に対する後段部の動作と次のサンプリング周期に対する前段部の動作を同時に実行させることができる。これにより、各部の休止期間を短くすることができ、パイプライン処理を効率的に実行することができる。また、前段部、中段部、後段部および他の音源ＬＳＩ間の波形データの受け渡しは制御レジスタ群１０を介して実行されるため、制御レジスタ群１０内のレジスタに波形データが書き込まれている限り、波形を伝送するバスの転送フレームないし波形を受信する回路側の受信タイミングを任意に設定することができる。これにより、波形データを合成するアルゴリズムについて、高い自由度を確保することができる。また、本実施形態においては、Ｔ制御レジスタ５４により、ワードクロックＷＣＫと音源ＬＳＩないしエフェクタの動作とのタイミング関係を自在に変更することができる。結果的に、ワードクロックＷＣＫの変化タイミングに対して、音源ＬＳＩないしエフェクタが各サンプリング周期の波形データを入力ないし出力するタイミングを前後にずらすことができる。なお、従来の音源ＬＳＩ等においては、ワードクロックと波形データの入出力とのタイミング関係は固定であり変更できなかったので、外部とのタイミング合わせのためのバッファ等の追加回路が必要であった。本実施形態においてはかかるバッファ等も不要になるという利点もある。
【００３９】
２．３．タイマ割込み動作
音源ボード１００，２００内のＣＰＵ１０２，２０２においては、所定時間毎にタイマ割込みが発生し、図６に示すタイマ割込み処理が実行される。図において処理がステップＳＰ２に進むと、各音源ＬＳＩ、エフェクタのＭ検出レジスタ５２の内容が読み出される。次に、処理がステップＳＰ４に進むと、読み出された値（ワードクロックＷＣＫの周期に対応する値）が、それぞれその音源ＬＳＩないしエフェクタでの動作可能な範囲内にあるか否かが判定される。
【００４０】
ここに、「動作可能な範囲」とは、図５に示す時間Ｔ０１，Ｔ０２，Ｔ０３のうち最も長い時間に対応する値以上の範囲である。これら音源ＬＳＩないしエフェクタに対応した時間Ｔ０１，Ｔ０２，Ｔ０３は予めＣＰＵ１０２，２０２によって既知である。これらのうち最も長い時間が例えば信号Ｓ１（１０２４Ｆｓ）の「９００」クロック相当であれば、１サンプリング周期が該「９００」クロック相当の時間未満となるとき音源ＬＳＩの動作が破綻する。かかる場合には、ステップＳＰ４において「ＮＯ」と判定され、処理はステップＳＰ６に進む。ステップＳＰ６においては、当該音源ＬＳＩの出力波形データのレベルが全てミュートされ、ＣＰＵ１０２，２０２、ＣＰＵ３２４を介して、音源装置のパネル表示器３０４において当該音源ボードが動作不能である旨が、例えば「ＷＣＬ　ｉｓ　ｔｏｏ　ｓｌｏｗ！！」のように表示される。
【００４１】
一方、Ｍ検出レジスタ５２の値によれば音源ＬＳＩの動作が可能である場合にはステップＳＰ４において「ＹＥＳ」と判定され処理はステップＳＰ１０に進む。ここでは、Ｍ検出レジスタ５２の値が正常であるか否かが判定される。上述した例においては、１サンプリング周期が「９００」クロックより長ければ音源ＬＳＩが動作すること自体は可能であるが、動作が可能であったとしても、サンプリング周期が高すぎたり、低すぎたり、あるいは揺らぎが大きかったり等の異常があれば楽音信号のピッチがずれる、安定しない等の問題が発生する。
【００４２】
そこで、ステップＳＰ１０においては、Ｍ検出レジスタ５２の値が所定範囲（例えば１０２３±５）内であるか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ１２に進み、ＣＰＵ１０２，２０２、ＣＰＵ３２４を介して、音源装置のパネル表示器３０４において当該音源ボードのクロックが異常である旨が、例えば「ＷＣＬ　ｉｓ　ｓｌｏｗ！」、「ＷＣＬ　ｉｓ　ｎｏｔ　ｓｔａｂｌｅ！」のように表示される。なお、サンプリング周期の高すぎ、低すぎを判定するためには、当該音源ＬＳＩのシステムクロックが正しいサンプリング周波数のほぼ何倍か（上記の例であればほぼ「２０４８」倍）が予め判っている必要がある。以上のステップが終了すると、タイマ割込み処理が終了する。なお、Ｍ検出レジスタ５２が備わっていない従来の音源ＬＳＩでは、それを制御するＣＰＵにとってワードクロックの状態を知る術がなく、音源ＬＳＩが動作不能の場合は（ミュートできずに）大きなノイズが発生していた。それに対し、本実施形態の音源装置では、ＣＰＵ１０２，２０２は、Ｍ検出レジスタ５２の値を読み出すことにより、動作不能なワードクロックを検出することができ、音源ＬＳＩやエフェクタの出力を適切にミュートすることができる。また、動作可能であっても異常なワードクロックを検出しユーザに通知することができる。
【００４３】
３．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
（１）上記実施形態においては、本発明を音源装置に対して適用した例を説明したが、本発明はこれに限定されるものではなく、デジタルミキサ、デジタルエフェクタ、デジタル信号処理プロセッサ等、楽音信号を発生する各種装置に適用することができる。
【００４４】
（２）上記実施形態においては、楽音合成装置を成す音源ボード１００に対してワードクロックＷＣＫを供給する外部機器として、別の音源ボード２００を用いた例を説明したが、本発明はこれに限定されるものではない。すなわち、同一基板に実装された回路であっても、基板内の距離が離れている等の事情により、複数の独立したクロック発生器が設けられる場合がある。かかる場合にも、上述したＴ制御レジスタ５４およびＭ検出レジスタ５２の機能を備えた音源ＬＳＩ、エフェクタ等の回路は有用である。
【００４５】
（３）上記実施形態においては、Ｍ検出レジスタ５２の値を用いて、音源ＬＳＩが動作可能であるか否か、また、サンプリング周期に異常があるか否かを判定したが、Ｍ検出レジスタ５２の値はこれら以外の用途に用いてもよい。例えば、クロック発生器１１０，２１０の発生するシステムクロックＳＣＬＫの周波数差が充分に小さい場合は、これらシステムクロックＳＣＬＫを用いて音源ＬＳＩ間においてシリアル通信を行うことが可能になる。このシリアル通信が可能であるかをＭ検出レジスタ５２の値を用いて判定してもよい。
【００４６】
【発明の効果】
以上説明したようにサンプリング周期が所定範囲内に無い場合にユーザに対して警告を行う構成によれば、ＰＬＬ等を行なわない装置においても簡単な構成でワードクロックの異常をユーザに警告することができる。また、サンプリング周期が所定範囲内に無い場合に楽音信号の音量レベルを低下させる構成によれば、ワードクロックが回路の動作可能範囲から外れた場合であっても、ノイズの発生を未然に防止することができる。また、タイミングデータを記憶するレジスタを有する構成によれば、当該レジスタに記憶させるタイミングデータに応じて、ワードクロックと楽音合成装置の動作とのタイミング関係を自在に設定することができ、結果的に楽音合成装置からの楽音信号の出力タイミングないし楽音発生装置への楽音信号の入力タイミングを変更することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の音源装置の全体ブロック図である。
【図２】音源ボード１００，２００のブロック図である。
【図３】各音源ＬＳＩの機能ブロック図である。
【図４】リセット信号発生部１２のブロック図である。
【図５】各音源ＬＳＩのタイミングチャートである。
【図６】各音源ボード１００，２００内のＣＰＵ１０２，２０２において実行されるタイマ割込み処理のフローチャートである。
【図７】ＣＰＵ３２４において実行されるタイミング調整処理のフローチャートである。
【符号の説明】
１０…制御レジスタ群、１２…リセット信号発生部（タイミング制御部）、１４…前段制御部、１６…低周波発振部、１８…読出・補間部、２０…中段制御部、２２…フィルタ部、２４…ＥＧ制御部、２６…後段制御部、２８…ミキサ部、３０…ＤＳＰ部、３２…波形メモリ、５２…Ｍ検出レジスタ、５４…Ｔ制御レジスタ、６２…分周回路、６４…サイクルカウンタ、６６…リセットタイミングカウンタ、７０…比較器、１００，２００…音源ボード、１０２，２０２…ＣＰＵ（制御手段）、１０４…ＲＯＭ、１０６…ＲＡＭ、１０８…制御バス、１１０，２１０…クロック発生器、１１２，１１４…音源ＬＳＩ（楽音信号生成部）、１１８…オーディオバス、２０４…ＲＯＭ、２０６…ＲＡＭ、２０８…制御バス、２１２，２１４…音源ＬＳＩ、２１６…エフェクタ、２１８…オーディオバス、２２０…Ｄ／Ａ変換器、２５０…サウンドシステム、３０２…パネルスイッチ、３０４…パネル表示器、３１４…ネットワークインタフェース部、３１６…ＭＩＤＩインタフェース、３１８…ディスクドライブ、３２０…ディスク、３２２…タイマ、３２４…ＣＰＵ、３２６…ＲＯＭ、３２８…ＲＡＭ。
【図１】
2004109541.tif 000003
【図２】
2004109541.tif 000004
【図３】
2004109541.tif 000005
【図４】
2004109541.tif 000006
【図５】
2004109541.tif 000007
【図６】
2004109541.tif 000008
【図７】
2004109541.tif 000009