(57)【特許請求の範囲】
【請求項１】
楽音修飾する各種モジュールを備えた音源装置において、
前記各種モジュールの何れかの出力を抽出する抽出手段と、
前記抽出手段により抽出された信号を送信する送信手段と、
前記送信手段により送信された信号が外部装置で所定時間遅延されて帰還する信号を受信する受信手段と、
前記受信手段により受信される信号を前記各種モジュールの何れかに入力する入力手段と、
前記抽出手段が信号抽出してから前記入力手段が信号入力するまでの経路遅延時間を取得する経路遅延取得手段と
を具備することを特徴とする音源装置。
【請求項２】
前記送信手段は、前記抽出手段により抽出された信号をバイフェーズマーク方式によってエンコードしたＳＰＤＩＦ信号を送信することを特徴とする請求項１記載の音源装置。
【請求項３】
前記受信手段は、外部装置がバイフェーズマーク方式によってエンコードしたＳＰＤＩＦ信号を受信してデコード出力することを特徴とする請求項１記載の音源装置。
【請求項４】
前記経路遅延取得手段は、
前記抽出手段が信号抽出した時点から前記入力手段が信号入力する時点までの総遅延時間を計時する計時手段と、
前記計時手段により計時された総遅延時間から外部装置での遅延時間を減算して経路遅延時間を算出する経路遅延算出手段と
を具備することを特徴とする請求項１記載の音源装置。
【請求項５】
楽音修飾する各種モジュールを備えた音源装置で実行されるプログラムであって、
前記各種モジュールの何れかの出力を抽出する抽出ステップと、
前記抽出ステップにより抽出された信号を送信する送信ステップと、
前記送信ステップにより送信された信号が外部装置で所定時間遅延されて帰還する信号を受信する受信ステップと、
前記受信ステップにより受信される信号を前記各種モジュールの何れかに入力する入力ステップと、
前記抽出ステップで信号抽出してから前記入力ステップで信号入力するまでの経路遅延時間を取得する経路遅延取得ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器などに用いて好適な音源装置およびプログラムに関する。
【背景技術】
【０００２】
従来よりデジタル信号処理専用のプロセッサであるＤＳＰを用いて構成された音源装置が知られている。ＤＳＰを用いた音源装置では、ＤＳＰ内部に記憶されるプログラム（マイクロコード）によって音源仕様が決まる為、例えば高調波合成方式やＦＭ演算方式など各様な音源方式を具現するプログラムを記憶しておけば、同一のハードウェアでありながらも複数種の音源方式によって楽音波形を発生させ得る。
【０００３】
この種の装置として、例えば特許文献１には、複数の音源方式に共通して機能する要素をハードウェアで構成する一方、各音源方式毎に機能する要素をＤＳＰ内のソフトウェアで構成することによって、複数の音源方式に対応しながらも同時発音チャンネル数の低減を回避して自由度の高い楽音形成を可能にした音源装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８５８１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＤＳＰを用いた音源装置では、上述したように、各様な音源方式に柔軟に対応可能な反面、機能拡張性に欠ける弊害がある。ここで言う機能拡張性とは、音源内部で処理中の信号を抽出し、抽出した信号について音源外部において所定の処理を施した後に再び音源内部に戻すことを指す。この為、音源内部から取り出した信号を、音源外部において遅延させるディレイ処理を施して再び音源内部に戻したり、音源からの信号抽出および音源への信号帰還に伴う経路遅延を有効活用するディレイ処理を具現することが出来ないという問題がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、音源内部から取り出した信号を遅延させるディレイ処理を施して再び音源内部に戻したり、音源からの信号抽出および音源への信号帰還に伴う経路遅延を有効活用するディレイ処理を具現することができる音源装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の発明では、  楽音修飾する各種モジュールを備えた音源装置において、前記各種モジュールの何れかの出力を抽出する抽出手段と、前記抽出手段により抽出された信号を送信する送信手段と、前記送信手段により送信された信号が外部装置で所定時間遅延されて帰還する信号を受信する受信手段と、前記受信手段により受信される信号を前記各種モジュールの何れかに入力する入力手段と、前記抽出手段が信号抽出してから前記入力手段が信号入力するまでの経路遅延時間を取得する経路遅延取得手段とを具備することを特徴とする。
【０００８】
上記請求項１に従属する請求項２に記載の発明では、前記送信手段は、前記抽出手段により抽出された信号をバイフェーズマーク方式によってエンコードしたＳＰＤＩＦ信号を送信することを特徴とする。
【０００９】
上記請求項１に従属する請求項３に記載の発明では、前記受信手段は、外部装置がバイフェーズマーク方式によってエンコードしたＳＰＤＩＦ信号を受信してデコード出力することを特徴とする。
【００１０】
上記請求項１に従属する請求項４に記載の発明では、前記経路遅延取得手段は、前記抽出手段が信号抽出した時点から前記入力手段が信号入力する時点までの総遅延時間を計時する計時手段と、前記計時手段により計時された総遅延時間から外部装置での遅延時間を減算して経路遅延時間を算出する経路遅延算出手段とを具備することを特徴とする。
【００１１】
請求項５に記載の発明では、楽音修飾する各種モジュールを備えた音源装置で実行されるプログラムであって、前記各種モジュールの何れかの出力を抽出する抽出ステップと、前記抽出ステップにより抽出された信号を送信する送信ステップと、前記送信ステップにより送信された信号が外部装置で所定時間遅延されて帰還する信号を受信する受信ステップと、前記受信ステップにより受信される信号を前記各種モジュールの何れかに入力する入力ステップと、前記抽出ステップで信号抽出してから前記入力ステップで信号入力するまでの経路遅延時間を取得する経路遅延取得ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明では、音源内部から取り出した信号を遅延させるディレイ処理を施して再び音源内部に戻したり、音源からの信号抽出および音源への信号帰還に伴う経路遅延を有効活用するディレイ処理を具現することが出来る。
【図面の簡単な説明】
【００１３】
【図１】実施の一形態による楽音発生装置１００の全体構成を示すブロック図である。
【図２】信号処理部１６と音源１７との間で授受されるＳＰＤＩＦ信号のフォーマットを示す図である。
【図３】音源１７の構成を示すブロック図である。
【図４】ＣＰＵ１０が実行する経路遅延計測処理の動作を示すフローチャートである。
【図５】経路遅延時間を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成
（１）全体構成  
図１は、本発明の実施の一形態による音源装置を備えた楽音発生装置１００の全体構成を示すブロック図である。図１において、ＣＰＵ１０は、操作部１４が発生するスイッチイベントに応じて装置各部を制御したり、鍵盤１３が発生する演奏情報に応じて音源１７を制御する。本発明の要旨に係わるＣＰＵ１０の特徴的な処理動作については追って述べる。
【００１５】
ＲＯＭ１１には、ＣＰＵ１０にロードされる各種プログラムデータが記憶される。ここで言う各種プログラムとは、後述する経路遅延計測処理を含む。ＲＡＭ１２には、ＣＰＵ１０の処理に用いられる各種レジスタ・フラグデータが一時記憶される。鍵盤１３は、演奏操作（押離鍵操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等の演奏情報を発生する。操作部１４は、装置パネルに配設される各種操作スイッチを有し、操作されたスイッチ種に対応したスイッチイベントを発生する。
【００１６】
表示部１５は、ＣＰＵ１０から供給される表示制御信号に応じて、装置の動作状態や設定状態などを画面表示する。信号処理部１６は、ＳＰＤＩＦトランシーバを備え、音源１７から出力されるＳＰＤＩＦ信号を受信復調して得た復号データに対して遅延処理を施し、これにより得られる遅延データをＳＰＤＩＦ信号に符号化して音源１７に出力する。
【００１７】
音源１７は、ＤＳＰを用いた周知の波形メモリ読み出し方式で構成され、鍵盤１３から出力される演奏情報に基づきＣＰＵ１０が発生する楽音パラメータに従って楽音データを形成して出力する。また、音源１７では、後述するように、ユーザ指定のモジュール（後述する）から出力されるデータをＳＰＤＩＦ信号に符号化して信号処理部１６に供給すると共に、当該信号処理部１６から出力されるＳＰＤＩＦ信号を復号化してユーザ指定のモジュールに入力する機能も備える。サウンドシステム１８は、音源１７から出力される楽音データをＤ／Ａ変換し、これにより得られるアナログ形式の出力信号から不要ノイズを除去する等のフィルタリングを施した後、信号増幅してスピーカから発音させる。
【００１８】
（２）ＳＰＤＩＦ信号の信号フォーマット
次に、図２を参照して、信号処理部１６と音源１７との間で授受されるＳＰＤＩＦ信号のフォーマットについて説明する。図２は、２ｃｈステレオデータをトランスポートするＳＰＤＩＦフォーマットの一例を示す図である。ＳＰＤＩＦ信号は、ブロック単位に区切られ、１つのブロックは１９２個のフレーム＃０〜＃１９１から構成される。
【００１９】
１つのフレームの期間は、転送するデータのサンプリング周期（１／ｆｓ）に相当する。１つのフレームは、２つのサブフレーム（ＬｃｈサブフレームおよびＲｃｈサブフレーム）から構成される。１つのサブフレームは、０ＳＢ〜３１ＳＢの３２ビット幅を有し、その内、０ＳＢ〜３ＳＢにはプリアンブルと呼ばれる４ビットの同期コードＳｙｎｃ  Ｃｏｄｅと、４ＳＢ〜２７ＳＢの最大２４ビット長のオーディオサンプルＡｕｄｉｏ  Ｓａｍｐｌｅと、２８ＳＢ〜３１ＳＢの４ビットの制御信号とを備える。サブフレーム中の同期コードＳｙｎｃ  Ｃｏｄｅ（プリアンブル）を除く、４ＳＢ〜３１ＳＢの転送データは、１ビットを２ビットで表すバイフェーズマーク方式によってエンコード（ＢＭＣエンコード）される。
【００２０】
フレーム＃０中の先頭サブフレームにおける同期コードＳｙｎｃ  Ｃｏｄｅはスタートビットに相当する「Ｂ」、次のサブフレームにおける同期コードＳｙｎｃ  Ｃｏｄｅは「Ｗ」、次フレーム＃１中の先頭サブフレームにおける同期コードＳｙｎｃ  Ｃｏｄｅは「Ｍ」、以降はフレーム＃１９１に達するまで「Ｗ」と「Ｍ」が交互に繰り返される。オーディオサンプルＡｕｄｉｏ  Ｓａｍｐｌｅは、通常、１サンプル２０ビット長のデータであるが、予備ＡＵＸの４ビットを用いれば２４ビット長のデータでも対応可能となる。
【００２１】
４ビットの制御信号は、２８ＳＢ目のバリディティＶ、２９ＳＢ目のユーザデータＵ、３０ＳＢ目のチャンネルステータスＣおよび３１ＳＢ目の偶数パリティＰから構成される。バリディティＶは、オーディオサンプルＡｕｄｉｏ  Ｓａｍｐｌｅの有効・無効を表すビットであり、有効ならば「０（Ｌ）」、無効ならば「１（Ｈ）」となる。ユーザデータＵはユーザ定義情報であり、例えば１ブロック中１９２ビットでＣＤ記録時の先頭からの経過時間や曲中の経過時間などの時間情報を表すのに用いられる。
【００２２】
チャンネルステータスＣは、オーディオサンプルＡｕｄｉｏ  Ｓａｍｐｌｅやフレームに関する属性（例えばサンプリング周期や著作権を表す情報など）を表すのに用いられる。偶数パリティＰには、サブフレーム中の同期コードＳｙｎｃ  Ｃｏｄｅ（プリアンブル）を除く、４ＳＢ〜３１ＳＢまでの転送データのパリティチェック値がセットされる。
【００２３】
（３）音源１７の構成
次に、図３を参照して音源１７の構成について説明する。音源１７は周知のＤＳＰから構成される。したがって、図３はそのＤＳＰにおいて実行されるマイクロプログラムの各機能をハードウェアイメージとして捉らえた機能ブロック図である。この図に示す音源１７は、各モジュール（波形発生部３０、フィルタ部３１、エンベロープ発生部３２、ミキサ部３３および効果付与部３４）と、入出力部（マルチプレクサ３５、ＳＰＤＩＦ送信部３６、ＳＰＤＩＦ受信部３７およびデマルチプレクサ３８）とを備える。
【００２４】
波形発生部３０は、各種音色の波形データを記憶する周知の波形メモリ読み出し方式で構成され、演奏情報に応じてＣＰＵ１０が発生する楽音パラメータに従い、指定音色の波形データを指定音高で読み出す。フィルタ部３１は、周知のＤＣＦ（デジタル制御フィルタ）から構成され、ＣＰＵ１０から供給されるフィルタ係数に応じて、例えばＤＣＦのカットオフ周波数を変更してローパス特性を変化させ、これにより波形発生部５０から出力される波形データの音色を制御する。
【００２５】
エンベロープ発生部３２は、ＣＰＵ１０から供給されるＡＤＳＲ型エンベロープレベル／レートに従った音量制御用のエンベロープ波形を発生し、それをフィルタ部５１から入力される波形データに乗算して出力する。以上の構成要素３０〜３２は、１つの発音チャンネルに対応する構成であり、その構成を時分割動作させることによって複数の発音チャンネルからの同時発音（ポリフォニック発音）を実現する。
【００２６】
ミキサ部３３は、エンベロープ発生部３２から出力される各発音チャンネル毎の波形データについて、ＣＰＵ１０から供給される混合比率に従ってミキシングした楽音データを出力する。効果付与部３４は、ＣＰＵ１０から供給されるエフェクト種により指定される種類の効果をミキサ部３３の出力に付与した楽音データを出力する。
【００２７】
マルチプレクサ３５は、各モジュール（波形発生部３０、フィルタ部３１、エンベロープ発生部３２、ミキサ部３３および効果付与部３４）の内、ユーザ操作（スイッチ操作）で指定されるモジュールの出力を選択してＳＰＤＩＦ送信部３６に供給する。ＳＰＤＩＦ送信部３６は、マルチプレクサ３５を介して抽出されるモジュール出力をＳＰＤＩＦ信号に符号化して信号処理部１６（図１参照）に伝送する。
【００２８】
ＳＰＤＩＦ受信部３７は、信号処理部１６から伝送されるＳＰＤＩＦ信号を復号化して出力する。デマルチプレクサ３８は、ＳＰＤＩＦ受信部３７が出力する受信データを、各モジュール（波形発生部３０、フィルタ部３１、エンベロープ発生部３２、ミキサ部３３および効果付与部３４）の内、ユーザ操作（スイッチ操作）で指定されるモジュールに入力させる。
【００２９】
このような構成によれば、例えばフィルタ部３１の出力を抽出して信号処理部１６に伝送し、当該信号処理部１６において高域減衰させながら遅延を繰り返すディレイ処理を施し、それをエンベロープ発生部３２に入力させるには、図５（ａ）に図示する経路で信号処理部１６と音源１７とがＳＰＤＩＦ信号を授受する。
【００３０】
すなわち、フィルタ部３１の出力を、マルチプレクサ３５を介してＳＰＤＩＦ送信部３６に供給し、当該ＳＰＤＩＦ送信部３６により符号化されたＳＰＤＩＦ信号を信号処理部１６に伝送する。信号処理部１６では、伝送されたＳＰＤＩＦ信号を復号化して得られる受信データについてローパスフィルタリングＬＰＦを施した後、遅延メモリを介して遅延付加する。
【００３１】
遅延付加されたデータは、信号処理部１６においてＳＰＤＩＦ信号に符号化され、ＳＰＤＩＦ受信部３７に伝送される。そして、ＳＰＤＩＦ受信部３７では、受信したＳＰＤＩＦ信号を復号化してデマルチプレクサ３８に供給する。デマルチプレクサ３８では、ＳＰＤＩＦ受信部３７が出力する受信データをエンベロープ発生部３２に供給する。これにより、音源内部から取り出した信号を遅延させるディレイ処理を施して再び音源内部に戻すことが可能になる。
【００３２】
Ｂ．動作
次に、上記構成による楽音発生装置１００の動作として、図４〜図５を参照してＣＰＵ１０が実行する経路遅延計測処理について述べる。上述した一例のように、フィルタ部３１の出力を信号処理部１６において高域減衰させながら遅延を繰り返すディレイ処理を施した後、エンベロープ発生部３２に入力させるには、図５（ａ）に図示する経路で信号処理部１６と音源１７とがＳＰＤＩＦ信号を授受するが、その際の符号化および復号化に要する処理時間などを含む経路遅延時間を予め計測しておく必要がある。
【００３３】
そこで、ＣＰＵ１０では、その経路遅延時間を計測する経路遅延計測処理を実行する。経路遅延計測処理が実行されると、ＣＰＵ１０は図４に図示するフローチャートのステップＳ１に進み、タイマをクリアし、続くステップＳ２では、タイマスタートと同時に、遅延計測用データの出力を音源１７に指示する。具体的には、例えば音源１７の波形発生部３０から１サンプル分の波形データの読み出しを指示する。
【００３４】
次いで、ステップＳ３では、データ受信するまで待機する。このデータ受信待機とは、音源１７の波形発生部３０から出力された波形データが、図３に図示される「マルチプレクサ３５」→「ＳＰＤＩＦ送信部３６」→「信号処理部１６」→「ＳＰＤＩＦ受信部３７」→「デマルチプレクサ３８」を一巡して音源１７の楽音データとして出力されるまでを指す。
【００３５】
そして、データを受信すると、上記ステップＳ３の判断結果が「ＹＥＳ」となり、ステップＳ４に進み、タイマを停止する。この後、ステップＳ５に進み、タイマスタートからタイマ停止するまでのタイマカウント値に対応する総遅延時間から信号処理部１６の遅延メモリの遅延時間を減算した結果に基づき経路遅延時間（遅延段数換算）を算出する。この後、ステップＳ６に進み、算出した経路遅延時間（遅延段数換算）をＲＡＭ１２の遅延時間テーブル（不図示）に登録して本処理を終える。なお、ＣＰＵ１０は、ＲＡＭ１２の遅延時間テーブルに登録された経路遅延時間（遅延段数換算）を参照して実際に必要な遅延段数を信号処理部１６に指示する。
【００３６】
図５（ａ）に図示した経路遅延の無い理想的な一例ならば、信号処理部１６においてサンプリングレート４４ＫＨｚの楽音データを１ｓｅｃ遅延させる為には、４４１００ステップの遅延段数を備えた遅延メモリが必要になる。ところが、実際には同図（ｂ）に図示するように経路遅延が存在する。例えば上述した経路遅延計測処理により得られ、ＲＡＭ１２の遅延時間テーブルに登録された経路遅延時間（遅延段数）が２２０５０ステップであったとすると、ＣＰＵ１０はＲＡＭ１２の遅延時間テーブルに登録された経路遅延時間（遅延段数）を参照し、その分を相殺した２２０５０ステップの遅延段数を信号処理部１６に指示する。つまり、信号処理部１６では、２２０５０ステップの遅延段数を有する遅延メモリであれば、サンプリングレート４４ＫＨｚの楽音データを１ｓｅｃ遅延させることが可能になるので、音源からの信号抽出および音源への信号帰還に伴う経路遅延を有効活用するディレイ処理を具現することが出来る。
【００３７】
以上のように、本実施形態では、各モジュール（波形発生部３０、フィルタ部３１、エンベロープ発生部３２、ミキサ部３３および効果付与部３４）の内、ユーザ操作（スイッチ操作）で指定されるモジュールの出力を選択するマルチプレクサ３５と、マルチプレクサ３５を介して抽出されるモジュール出力をＳＰＤＩＦ信号に符号化して信号処理部１６に伝送するＳＰＤＩＦ送信部３６と、ディレイ処理する信号処理部１６から伝送されるＳＰＤＩＦ信号を復号化して出力するＳＰＤＩＦ受信部３７と、ＳＰＤＩＦ受信部３７が出力する受信データを、各モジュール（波形発生部３０、フィルタ部３１、エンベロープ発生部３２、ミキサ部３３および効果付与部３４）の内、ユーザ操作（スイッチ操作）で指定されるモジュールに入力するデマルチプレクサ３８とを設けたので、音源内部から取り出した信号を遅延させるディレイ処理を施して再び音源内部に戻すことができる。
【００３８】
また、「マルチプレクサ３５」→「ＳＰＤＩＦ送信部３６」→「信号処理部１６」→「ＳＰＤＩＦ受信部３７」→「デマルチプレクサ３８」を一巡する経路遅延時間を取得し、取得した経路遅延時間分を、ディレイ処理に必要な遅延段数に組み入れる為、音源からの信号抽出および音源への信号帰還に伴う経路遅延を有効活用するディレイ処理を具現することが出来る。
【００３９】
なお、上述した実施形態では、音源１７を制御する上位のＣＰＵ１０が経路遅延計測処理（図４参照）を実行する一例について述べたが、これに限らず、経路遅延計測処理を音源１０が実行する態様であっても構わない。この場合、取得された経路遅延時間（遅延段数換算）を音源１０がＣＰＵ１０に送出し、ＣＰＵ１０では音源１０から受領した経路遅延時間（遅延段数換算）をＲＡＭ１２の遅延時間テーブルに登録すると共に、当該遅延時間テーブルに登録された経路遅延時間（遅延段数換算）を参照して実際に必要な遅延段数を信号処理部１６に指示することになる。
【符号の説明】
【００４０】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  鍵盤
１４  操作部
１５  表示部
１６  信号処理部
１７  音源
１８  サウンドシステム
３０  波形発生部
３１  フィルタ部
３２  エンベロープ発生部
３３  ミキサ部
３４  効果付与部
３５  マルチプレクサ
３６  ＳＰＤＩＦ送信部
３７  ＳＰＤＩＦ受信部
３８  デマルチプレクサ
１００  楽音発生装置
【図１】
0005488976.tif 000002
【図２】
0005488976.tif 000003
【図３】
0005488976.tif 000004
【図４】
0005488976.tif 000005
【図５】
0005488976.tif 000006