(57)【特許請求の範囲】
【請求項１】
各音源方式に共用される補間手段および波形累算手段をハードウェアで構成し、各音源方式毎に機能する波形形成手段をソフトウェアで構成した装置であって、
補間手段は、指示された音源方式に従った読み出し形態で波形記憶手段に記憶される原波形を、発生すべき音高に応じて補間読み出しを行い、
波形形成手段は、所定の音源方式による読み出し形態および発生すべき音高を前記補間手段に指示し、これに従って前記補間手段から補間読み出しされた原波形を発音チャンネル毎に修飾して楽音波形を形成すると共に、帰還入力される複数の累算波形にそれぞれ個別に効果付与して出力し、
波形累算手段は、前記波形形成手段にて形成される発音チャンネル毎の楽音波形を、波形内容別に累算して複数の累算波形を発生し、前記波形形成手段に帰還入力し、
前記補間手段は、前記波形形成手段が発生する楽音波形を波形記憶手段に再書き込みし、
前記波形形成手段は、波形記憶手段に再書き込みした楽音波形について前記補間手段を介して再度読み出してリシンセサイズする
ことを特徴とする音源装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器などに用いて好適な音源装置に関する。
【０００２】
【従来の技術】
従来より、デジタル信号処理専用のプロセッサであるＤＳＰ（デジタル・シグナル・プロセッサ）を用いて音源装置を構成したものが知られている。ＤＳＰを用いた音源装置では、ＤＳＰ内部に記憶されるプログラム（マイクロコード）によって音源仕様が決る為、例えば、高調波合成方式やＦＭ演算方式など各様な音源方式を具現するプログラムを記憶しておけば、同一ハードウェアでありながらも複数の音源方式によって楽音波形を発生させ得るように構成されている。
【０００３】
【発明が解決しようとする課題】
ところで、こうした複数の音源方式に対応可能な音源装置では、各音源方式を具現するプログラムを記憶する為、必然的に各音源方式に割当て可能なＤＳＰのリソース（処理能力）は低減する。この結果、各音源方式当りで使用できる同時発音チャンネル数は、ＤＳＰ周辺に設けられる専用ハードウェア（以下、周辺専用ハードウェアという）で対応可能な同時発音チャンネル数より少なくなってしまう、という問題がある。
また一方では、周辺専用ハードウェアは、ＤＳＰのように処理内容をプログラミングできず、固定的な処理を行う為、ＤＳＰではこの周辺専用ハードウェアに対応した処理動作を行わねばならず、そのようにすると、今度はＤＳＰの自由度が失われてしまう、という問題も生じる。
【０００４】
そこで本発明は、このような事情に鑑みてなされたもので、複数の音源方式に対応しながらも同時発音チャンネル数の低減を回避でき、しかも自由度の高いの楽音合成が可能な音源装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、各音源方式に共用される補間手段および波形累算手段をハードウェアで構成し、各音源方式毎に機能する波形形成手段をソフトウェアで構成した装置であって、補間手段は、指示された音源方式に従った読み出し形態で波形記憶手段に記憶される原波形を、発生すべき音高に応じて補間読み出しを行い、波形形成手段は、所定の音源方式による読み出し形態および発生すべき音高を前記補間手段に指示し、これに従って前記補間手段から補間読み出しされた原波形を発音チャンネル毎に修飾して楽音波形を形成すると共に、帰還入力される複数の累算波形にそれぞれ個別に効果付与して出力し、波形累算手段は、前記波形形成手段にて形成される発音チャンネル毎の楽音波形を、波形内容別に累算して複数の累算波形を発生し、前記波形形成手段に帰還入力し、前記補間手段は、前記波形形成手段が発生する楽音波形を波形記憶手段に再書き込みし、前記波形形成手段は、波形記憶手段に再書き込みした楽音波形について前記補間手段を介して再度読み出してリシンセサイズすることを特徴とする。
【０００８】
本発明では、各音源方式に共用される補間手段および波形累算手段をハードウェアで実現する一方、各音源方式毎に機能する波形形成手段をソフトウェアで実現し、補間手段は指示された音源方式に従った読み出し形態で波形記憶手段に記憶される原波形を発生すべき音高に応じて補間読み出しを行い、波形形成手段は所定の音源方式による読み出し形態および発生すべき音高を前記補間手段に指示し、これに従って前記補間手段から補間読み出しされた原波形を発音チャンネル毎に修飾して楽音波形を形成すると共に、帰還入力される複数の累算波形にそれぞれ個別に効果付与して出力し、波形累算手段は前記波形形成手段にて形成される発音チャンネル毎の楽音波形を、波形内容別に累算して複数の累算波形を発生し、前記波形形成手段に帰還入力し、前記補間手段は、前記波形形成手段が発生する楽音波形を波形記憶手段に再書き込みし、前記波形形成手段は、波形記憶手段に再書き込みした楽音波形について前記補間手段を介して再度読み出してリシンセサイズするので、複数の音源方式に対応しながらも同時発音チャンネル数の低減を会費して自由度の高い楽音合成が可能になる。
【０００９】
【発明の実施の形態】
本発明による音源装置は、電子楽器の他、ＭＩＤＩ装置やＤＴＭ装置などの楽音制御装置に適用され得る。以下では、本発明の実施の一形態による音源装置について図面を参照して説明する。
【００１０】
（１）全体構成
図１は、本発明の実施の一形態による音源装置の全体構成を示すブロック図である。この図において、１は所定のサンプリング周期にてサンプリングされた波形データＷＤを記憶する波形メモリである。２は波形メモリ１に記憶される波形データＷＤを、ＤＳＰ４（後述する）が指示するピッチ（音高）で読み出すべく補間読み出しする補間器である。また、補間器２は、補間読み出しする機能の他に、後述するＤＳＰ４から帰還入力される波形データを波形メモリ１に書き込む機能も具備する。３は補間器２により補間読み出しされた波形データＷＤを一時記憶するバッファメモリである。
【００１１】
ＤＳＰ４は、複数の発音チャンネルを具備しており、各発音チャンネル毎もしくは音色グループ化された発音チャンネル群について個々独立して楽音合成処理したり効果付与処理を実行する。
なお、ここで言う楽音合成処理とは、上記バッファメモリ３から読み出した波形データＷＤについて、装置外部（例えば、楽器全体を制御するＣＰＵ等）から与えられる楽音パラメータに応じてエンベロープ制御する等の波形修飾操作を指す。波形修飾された波形データＷＤは、次段へ出力されるか、あるいは上述した補間器２に帰還入力される。
一方、効果付与処理とは、波形修飾された各発音チャンネル毎の波形データを、後述するミキサ６を介して音色グループ毎に累算し、これにより形成される各音色グループ毎の楽音波形についてフィルタリングや遅延等を付加する操作を指す。
【００１２】
５はＤＳＰ４の出力を一時記憶するバッファメモリである。ミキサ６はバッファメモリ５に格納されたＤＳＰ４の出力、つまり、各発音チャンネル毎の波形データを音色グループ毎に累算してなる楽音波形をＤＳＰ４に帰還入力する。７はパラレル／シリアル変換回路であり、ＤＳＰ４が出力するパラレル形式の楽音波形データをシリアルデータに変換して出力する。８はパラレル／シリアル変換回路７が出力するシリアル形式の楽音波形データをアナログ形式の楽音出力に変換するＤ／Ａ変換器である。
【００１３】
上記構成において特徴的な点は、補間器２にＤＳＰ４の出力をフィードバックさせることで複数の音源方式に対応可能とした点と、ミキサ６の出力をＤＳＰ４にフィードバックさせることによって、ＤＳＰ４で音源処理およびエフェクト処理を実行可能とした点にある。
以下、このような特徴点に基づき、複数の音源方式に対応しながらも同時発音チャンネル数の低減を回避して自由度の高いの楽音合成を達成する音源装置の主要各部の構成について説明して行く。
【００１４】
（２）主要各部の構成
▲１▼補間器２の構成
まず、補間器２は、上述したように、波形メモリ１を補間読み出しする補間読み出し部と、ＤＳＰ４からの動作指示に従って発音態様を設定する発音動作設定部とから構成されており、それらについて図２〜図４を参照して説明する。
【００１５】
（イ）補間読み出し部の構成
補間読み出し部は、図２および図３に示す構成要素２００〜２２０からなる。図２において、２００〜２０２はそれぞれエンドアドレスＥＡ、ループスタートアドレスＬＳＡおよびピッチアドレスＰＡを一時記憶するレジスタである。２０３はレジスタ２０６に保持されるカレントアドレスＣＡに、上記ピッチアドレスＰＡを加算してアドレス歩進させる加算器、２０４はループスタートアドレスＬＳあるいは加算器２０３の出力のいずれかを選択するセレクタである。
【００１６】
２０５はセレクタ２０４の出力がレジスタ２００に保持されるエンドアドレスＥＡに達した場合、レジスタ２０１に保持されるループスタートアドレスＬＳＡを選択するよう上記セレクタ２０４に指示するコンパレータである。
これら構成要素２００〜２０５では、レジスタ２００〜２０２にそれぞれエンドアドレスＥＡ、ループスタートアドレスＬＳＡおよびピッチアドレスＰＡがセットされると、ピッチアドレスＰＡに応じて歩進されるカレントアドレスＣＡがループスタートアドレスＬＳＡからエンドアドレスＥＡまでを巡回し、これにより波形メモリ１に記憶される波形データＷＤをループ再生するためのカレントアドレスＣＡが生成される。なお、ピッチアドレスＰＡは固定小数点で表現されるものであるから、カレントアドレスＣＡは整数部と小数部とから形成されることになる。
【００１７】
２０７はカレントアドレスＣＡにセレクタ２２３（後述する）の出力を加算する加算器、２０８は後述するレジスタ２１０から出力される読み出しアドレスＲＡに「１．０」を加算する加算器である。２０９は加算器２０７の出力あるいは加算器２０８の出力のいずれかを選択して次段のレジスタ２１０に読み出しアドレスＲＡとしてストアするセレクタである。
このセレクタ２０９は、補間演算（後述の畳み込み演算）を行う為、最初に加算器２０７から出力されるカレントアドレスＣＡを選択し、これ以後の３サンプリング期間は加算器２０８の出力を選択する。したがって、レジスタ２１０には、最初にカレントアドレスＣＡの整数部が読み出しアドレスＲＡとしてセットされた後、続く３サンプリング期間はこのカレントアドレスＣＡの整数部に「＋１」、「＋２」および「＋３」したアドレス値が読み出しアドレスＲＡとしてセットされる。
【００１８】
これら読み出しアドレスＲＡに応じて波形メモリ１から読み出される４つの波形データＷＤ，ＷＤ＋１，ＷＤ＋２およびＷＤ＋３は、畳み込み演算するＦＩＲフィルタのレジスタ２１１〜２１４（図３参照）にそれぞれセットされる。２１５〜２１８は、上記レジスタ２１１〜２１４にセットされた４つの波形データＷＤ，ＷＤ＋１，ＷＤ＋２およびＷＤ＋３に対して各々畳み込み係数を乗算する係数乗算器である。
これら係数乗算器２１５〜２１８に与えられる畳み込み係数は、図２の畳み込み係数テーブル２２１が発生する。この係数テーブル２２１は、図４に図示する一例のように、小数部を含む読み出しアドレスＲＡに応じて畳み込み係数が読み出されるようになっている。
【００１９】
結局、構成要素２０８〜２２１では、カレントアドレスＣＡの整数部に応じて波形メモリ１から読み出される波形データＷＤに対し、カレントアドレスＣＡの整数部に＋１，＋２および＋３した各アドレス値に対応して波形メモリ１から読み出される３つの波形データＷＤ＋１，ＷＤ＋２およびＷＤ＋３を用いた３次補間を施すようになっている。
【００２０】
（ロ）発音動作設定部の構成
次に、再び図２を参照して発音動作設定部の構成について説明する。図２において、２２２はＤＳＰ４から供給されるモード情報ＭＯＤＥを一時記憶するレジスタである。モード情報ＭＯＤＥは、通常発音モード、周波数変調モード、ピッチ変調モードおよび波形書き込みモードからなる。２２３はモード情報ＭＯＤＥに応じて入力端Ａ〜Ｃのいずれかを選択して次段へ出力するセレクタである。
すなわち、モード情報ＭＯＤＥが通常発音モードの場合、セレクタ２２３は入力端Ａに供給される「０」値を選択して加算器２０７に入力する。したがって、この場合、加算器２０７が出力するカレントアドレスＣＡはそのまま読み出しアドレスＲＡとして用いられ、通常の波形読み出しが行われる。
【００２１】
一方、モード情報ＭＯＤＥが周波数変調モードになると、セレクタ２２３は入力端Ｂに供給されるＤＳＰ４からの信号（位相情報）を選択して加算器２０７に入力する。この場合、カレントアドレスＣＡにＤＳＰ４からの位相情報が直接加算される結果、周波数変調方式の発音動作となる。
さらに、モード情報ＭＯＤＥがピッチ変調モードになると、セレクタ２２３は入力端Ｃに供給される対数テーブル２２４の出力を選択して加算器２０７に入力する。対数テーブル２２４では、ＤＳＰ４からの信号（位相情報）を対数変換してピッチデータ（音高情報）を生成する。したがって、加算器２０７では、カレントアドレスＣＡにピッチデータが加算される為、ピッチ変調方式の発音動作となる。
また、モード情報ＭＯＤＥが波形書き込みモードになると、そのモード情報ＭＯＤＥが書き込み要求ＷＲとして波形メモリ１側に供給され、ＤＳＰ４にて合成された波形データが波形メモリ１に書き込まれる。
【００２２】
ここで、図５を参照して波形書き込みモードについて説明しておく。まず、図５（イ）は波形書き込みモード以外のモード下、つまり、上述した通常発音モード、周波数変調モードおよびピッチ変調モードにおける波形メモリ１の読み出し形態を示す図である。これらモード下にある場合、書き込み要求ＷＲは発生しないので、前述した補間演算を行うべく１つの発音チャンネル当りアドレスｎ〜ｎ＋３に対応した４つの波形データが読み出される。
一方、波形書き込みモード下になると、同図（ロ）に図示するように、アドレスｎに同期して書き込み要求ＷＲがアクティブロウ状態に変化し、これに同期してアドレスｎにＤＳＰ４側から出力される波形データが書き込まれる。
【００２３】
▲２▼バッファメモリ３の構成
次に、図６を参照してバッファメモリ３の構成について説明する。図において、３０は補間器２からの書き込み要求ＷＲに応じて書き込みアドレスカウンタ（以下、ＷＡＣと称す）３１に歩進指示したり、ＤＳＰ４からの読み出し要求ＲＲに応じて読み出しアドレスカウンタ（以下、ＲＡＣと称す）３２に歩進指示する他、上記ＷＡＣ３１あるいはＲＡＣ３２のアドレス出力を保持するようラッチ部３３に指示するコントローラである。また、コントローラ３０は、補間器２からの書き込み要求ＷＲを受けて書き込み要求フラグＷＦを発生し、書き込み待ち状態に設定する。
【００２４】
このような構成において、例えば、ＤＳＰ４から読み出し要求ＲＲが供給されると、図７に図示するように、即座にＲＡＭ３４は読み出し状態となり、ＲＡＣ３２が示すアドレスに応じてＲＡＭ３４からデータを読み出し、その後にＲＡＣ３２のアドレス値を歩進させる。
一方、補間器２から書き込み要求ＷＲが供給された場合には、コントローラ３０は書き込み要求フラグＷＦを発生して書き込み待ち状態に設定する。この状態でＤＳＰ４から読み出し要求ＲＲが発生せず、ＲＡＭ３４へのアクセスが空き状態であれば、ＷＡＣ３１が示すアドレスに応じてＲＡＭ３４にデータを書き込み、その後にＷＡＣ３１のアドレス値を歩進させるが、書き込み待ち状態下でＤＳＰ４から読み出し要求ＲＲが発生した時には、その読み出し要求ＲＲを優先させ、読み出しが完了した後に書き込みに移るようにしている。
なお、ここではバッファメモリ３の構成について言及したが、バッファメモリ５についてもその構成は同一であり、ただバッファメモリ５の場合にはＤＳＰ４からの書き込み要求ＷＲが優先される形態となる点で相違する。
【００２５】
▲３▼ＤＳＰ４の構成
（イ）全体構成
次に、図８を参照してＤＳＰ４の全体構成について説明する。図８において、Ｓ１〜Ｓ９はセレクタであり、後述する制御ロジック処理部４６の指示の下に信号選択する。Ｒ１〜Ｒ５はそれぞれレジスタである。４０は楽音波形生成に必要なパラメータ（例えば、周知のＡＤＳＲ型エンベロープ制御方式におけるターゲット値やレート値など）を記憶するパラメータメモリ（ＰＲＡＭ）である。
４１は、上記ＰＲＡＭ４０に記憶されるレート値を参照してエンベロープレベルを制御するエンベロープジェネレータ（ＥＧ）であり、その詳細な構成については追って述べる。このＥＧ４１の出力は、セレクタＳ９を介してＰＲＡＭ４０に保存される。
【００２６】
４２は生成された楽音波形を一時記憶するワークメモリである。４３は生成された楽音波形に信号遅延を与える外部メモリインタフェース部（ＥＭＩ）であり、その構成については後述する。ＥＭＩ４３にて遅延付加された楽音波形はセクレタＳ８を介して上記ＷＲＡＭ４２に格納される。
４４，４５はそれぞれ楽音波形を形成する際に必要な乗算処理や加減算処理を行う乗算器（ＭＵＬ）、論理演算ユニット（ＡＬＵ）である。４６は制御ロジック処理部（ＣＬＰ）であり、内部メモリに記憶されるプログラム内容に応じて各構成要素４０〜４５およびセレクタＳ１〜Ｓ９を制御して楽音形成を指示する信号を発生する。
【００２７】
（ロ）ＥＧ４１の構成
次に、図９を参照してＥＧ４１の構成について説明する。この図において、４１ａ，４１ｂはそれぞれＰＲＡＭ４０から読み出されるターゲット値およびレート値がセットされるレジスタである。４１ｃはＰＲＡＭ４０から読み出されるエンベロープレベルを現在値として保持するレジスタである。
４１ｄは上記レジスタ４１ａ，４１ｂの各出力のいずれかを選択して加減算器４１ｆに供給するセレクタである。４１ｅは加減算器４１ｆの出力あるいはレジスタ４１ｃの出力のいずれかを選択して加減算器４１ｆに供給するセレクタである。加減算器４１ｆは上記セレクタ４１ｄ，４１ｅを介して供給される信号について加減算し、その結果をレジスタ４１ｇに出力する。
【００２８】
すなわち、この加減算器４１ｆでは、ターゲット値から現在値を減算した結果αをレジスタ４１ｇに保持しておき、さらに現在値Ｃにレート値Ｒを加算したものをターゲット値Ｔから減算した結果βを、先にレジスタ４１ｇに保持しておいた減算結果αと大小比較し、α＞βなら現在値Ｃにレート値Ｒを加算した値を出力レジスタ４１ｈにストアし、α＜βならターゲット値を出力レジスタ４１ｈにストアすることにより、エンベロープレベルをターゲット値まで逐次更新して行く。
なお、ＥＧ４１はＰＲＡＭ４０に対してリード・ライト動作するが、この動作はＤＳＰ４側がＰＲＡＭ４０にアクセスしない空きスロットを利用するようにしてＤＳＰ４側の処理を妨げないようになっている。
【００２９】
（ハ）ＥＭＩ４３の構成
次に、図１０を参照してＥＭＩ４３の構成について説明する。この図において、Ｒ１〜Ｒ６はそれぞれレジスタ、Ｂはバッファである。４３ａは与えるべき遅延時間に対応したオフセットアドレス値を記憶するオフセットアドレスメモリである。このメモリ４３ａから読み出されるオフセットアドレス値に従って外部メモリ（図示略）に対して楽音波形を書き込み／読み出しすることで信号遅延を発生させる。
４３ｂはオフセットアドレス値にサンプリングカウンタ値を加算して外部メモリアドレスを歩進させる加算器である。４３ｃは、上記加算器４３ｂから出力される外部メモリアドレスにＤＳＰ４から与えられる修飾値を加算して実際の外部メモリアドレスを算出する加算器である。
【００３０】
こうして発生される外部メモリアドレスに従って書き込みされる楽音波形は、そのデータ形式がＤＳＰ４内部で用いられる固定小数点形式から外部メモリ用の浮動小数点形式にエンコード４３ｄにてエンコードされ、読み出し時にはデコーダ４３ｅにて浮動小数点形式から固定小数点形式にデコードされてＷＲＡＭ４２（図８参照）に格納される。
なお、ＥＭＩ４３はＷＲＡＭ４２に対してリード・ライト動作するが、この動作はＤＳＰ４側がＷＲＡＭ４０にアクセスしない空きスロットを利用するようにしてＤＳＰ４側の処理を妨げないようになっている。
【００３１】
（ニ）ＣＬＰ４６の構成
次に、図１１を参照して制御ロジック処理部（ＣＬＰ）４６の構成について説明する。この図に示す構成は、説明の簡略化を図る為、前述したバッファメモリ３を用いず、補間器２から出力される波形データＷＤをＤＳＰ４のＷＲＡＭ４２（図８参照）に強制的に書き込むようにしたＣＬＰ４６の一例を示している。
この図において、４６ａは補間器２側からの書き込み要求ＷＲや処理実行状況に応じてプログラム進行を管理するＰＣマネージャである。４６ｂはプログラムカウンタ（ＰＣ）であり、ＰＣマネージャ４６ａのプログラム進行指示に従って次に実行すべきプログラムアドレスを指定する。
【００３２】
４６ｃは複数ステップのインストラクション（命令）から形成され、ＤＳＰ４全体の処理動作を指示するプログラムを記憶するプログラムメモリであり、プログラムカウンタ４６ｂが指定するアドレスのインストラクションを読み出す。４６ｄはプログラムメモリ４６ｃから読み出されたインストラクションを格納するインストラクションレジスタ（以下、ＩＲと記す）である。４６ｅは補間器２側から与えられるライト＆ホールドコマンドＷＨを格納するコマンドレジスタである。
４６ｆは書き込み要求ＷＲが供給される毎に、ＷＲＡＭ４２の書き込みアドレスを歩進するアドレスカウンタである。４６ｇは書き込み要求ＷＲが供給された場合に、コマンドレジスタ４６ｅに保持されるライト＆ホールドコマンドＷＨを選択して次段のインストラクションデコーダ（以下，ＩＤと記す）４６ｈに出力し、それ以外ではＩＲ４６ｄに保持されるインストラクションを選択してＩＤ４６ｈに出力するセレクタである。ＩＤ４６ｈは与えられたインストラクションをデコード出力する。
【００３３】
上記構成によれば、補間器２側でＤＳＰ４に書き込むデータが準備され、これに応じて書き込み要求ＷＲがアクティブハイ状態になると（図１２参照）、ＣＬＰ４６のＰＣマネージャ４６ａはＰＣ４６ｂの更新を一時停止（ホルト）する。また、書き込み要求ＷＲに応じてセレクタ４６ｇがコマンドレジスタ４６ｅにストアされたライト＆ホールドコマンドＷＨを選択してＩＤ４６ｈにセットする。このライト＆ホールドコマンドＷＨは、補間器２からＤＳＰ４のバスを経由してＷＲＡＭ４２に波形データＷＤを書き込むコマンドである。
【００３４】
さて、ライト＆ホールドコマンドＷＨがＩＤ４６ｈにて解釈実行されると、ＤＳＰ４全体はホールド状態となり、書き込み要求ＷＲ毎に歩進するアドレスカウンタ値に従ってＷＲＡＭ４２に波形データＷＤが書き込まれる。したがって、ＤＳＰプログラムは補間器２とのデータ受け渡しを直接記述する必要はなく、ライト＆ホールドコマンドＷＨという特殊なコマンドをＤＳＰ４にセットするだけで自動的にＷＲＡＭ４２にシーケンシャルにデータ転送することが可能になる。
【００３５】
なお、補間器２から定期的に出力される波形データＷＤをＤＳＰ４のＷＲＡＭ４２（図８参照）に強制的に書き込む構成としては、図１１に図示したもの以外に、図１３に示すように、ＷＲＡＭ４２のＮＯＰスロット（空きスロット）を利用する態様も考えられる。
図１３に示す構成において図１１に図示したものと異なる点は、補間器２からの書き込み要求ＷＲに応じて要求フラグＲＦを発生するフリップフロップ回路（以下、ＦＦと記す）４６ｉを設け、このＦＦ回路４６ｉが要求フラグＲＦを発生した場合に、ＩＤ４６ｈがＮＯＰスロット（空きスロット）タイミングでコマンドレジスタ４６ｅにストアされるコマンドＷＯを実行するようにしたことにある。
【００３６】
すなわち、図１４に示すように、書き込み要求ＷＲに応じて要求フラグＲＦが発生し、ＮＯＰスロット（空きスロット）タイミングになると、コマンドレジスタ４６ｅにストアされるコマンドＷＯが解釈実行され、書き込み要求ＷＲ毎に歩進するアドレスカウンタ値に従ってＷＲＡＭ４２に波形データＷＤが書き込まれる。そして、ＮＯＰスロットタイミングでの書き込み完了に従ってＦＦ回路４６ｉがリセットされ、要求フラグＲＦが解除される。
【００３７】
こうした態様では、上述した図１１の構成と異なり、ＤＳＰ４をホールド状態にしない為、ＤＳＰ４の処理効率の低下を招致しないが、補間器２からの定期的な書き込み要求ＲＦに対応するには予めＮＯＰスロットを設けておく必要が生じる。なお、このＮＯＰスロットで解釈実行されるコマンドＷＯは、書き込み指示以外の命令としても使用することも可能である。
【００３８】
▲４▼ミキサ６の構成
次に、図１５を参照してミキサ６の構成について説明する。この図において、６ａはＤＳＰ４から時分割入力される各発音チャンネル毎の波形データを保持する入力レジスタである。６ｂは音色グループ毎に対応して設けられる係数乗算器であり、後述するコントローラ６ｅから供給される乗算係数Ｋ１〜Ｋ６に応じて各音色グループ毎に割当てられる各発音チャンネルの波形データについてボリューム制御する。
【００３９】
６ｃは加算器ＡＤとレジスタＲとから構成され、音色グループ毎に割当てられた発音チャンネルの波形データを累算するアキュームレータである。６ｄは音色グループ毎に累算された波形データを格納する出力レジスタである。コントローラ６ｅはインストラクションデコーダ４６ｈの指示に従って、各音色グループに与える乗算係数Ｋ１〜Ｋ６を発生する一方、セレクタ６ｆにセレクト信号Ｓｃを供給する。セレクタ６ｆは、このセレクト信号Ｓｃに対応した音色グループの累算波形データをＤＳＰ４側に帰還入力させる。
【００４０】
以上詳述したように、本実施の一形態によれば、補間器２、バッファメモリ３、ＤＳＰ４、バッファメモリ５およびミキサ６にて音源装置を構成し、この音源装置が提供する複数の音源方式において、各音源方式に共通して機能する要素をハードウェアで構成すると共に、各音源方式毎に機能する要素をＤＳＰ４内のソフトウェアで構成したので、複数の音源方式に対応しながらも同時発音チャンネル数の低減を回避して自由度の高いの楽音合成が可能になっている。
【００４１】
具体的には、（イ）補間器２にＤＳＰ４の出力をフィードバックさせる態様とした為、ＤＳＰ４の指示に従って補間器２が通常の波形読み出しを行う他、周波数変調方式やピッチ変調方式による波形読み出しが同時発音チャンネル数低減を招致することなく可能になるうえ、補間器２が読み出した波形データを補間器２側に戻して波形メモリ１に再度書き込み、これを読み出してＤＳＰ４側でリシンセサイズするという高度かつ複雑な楽音形成が可能になる。
【００４２】
波形メモリ１に再書き込みしてリシンセサイズする場合、上述した音源装置は図１６に例示する機能構成となる。すなわち、この場合、波形メモリ１の原波形エリアから補間器２により補間読み出しされる波形データＷＤはＤＳＰ４にてＤＣＦ（デジタルコントロールドフィルタ）処理やＤＣＡ（デジタルコントロールドアンプリファイヤ）処理により発音チャンネル毎に音色加工して累算した後、補間器２を介して波形メモリ１の再書き込みエリアに一旦格納する。
そして、再書き込みエリアに格納された波形データを、補間読み出し時とは異なる発音チャンネルにて補間器２を介して読み出し、これを再びＤＳＰ４にてＤＣＦ処理、ＥＱ（イコライザ）処理およびＤＣＡ処理を施した後にミキサ６にて累算して最終的な楽音波形を得る。
なお、本発明による音源装置では、補間器２にＤＳＰ４の出力をフィードバックさせる態様とした為、こうしたリシンセサイズに各様なバリエーションを持たせることが可能であり、例えば、図１７に図示する一例のように、波形エリア１に複数の再書き込みエリアを設けておき、波形再書き込みを複数段階に行うようにすることも出来、こうした構成にすることで正弦波合成やドローバーオルガン波形合成等の音源方式を実現し得る。
【００４３】
（ロ）また、音色グループ毎に波形累算するミキサ６の出力をＤＳＰ４にフィードバック可能な構成としたので、ＤＳＰ４内では楽音形成する音源処理およびエフェクト処理とを同時に実行できるから、ＤＳＰ４の資源が許す範囲で音源処理およびエフェクト処理に多くのバリエーションを用意でき自由度の高い楽音合成を達成できる。
唯一のＤＳＰ４にて音源処理およびエフェクト処理を行う場合、その基本的な機能構成は、図１８に図示する態様となる。すなわち、波形メモリ１から読み出された波形データＷＤは、ＤＳＰ４にて発音チャンネル毎に周知のＤＣＦ処理、ディレイ処理およびＤＣＡ処理が施された後、ミキサ６にて音色グループ毎に累算され、こうしてグルーピングされた各楽音波形がＤＳＰ４にフィードバック入力されて各音色毎にエフェクト（コーラス、リバーブおよびその他効果１，２）付加される。
なお、ＤＳＰ４にてエフェクト処理する場合、前述したＥＭＩ４３（図１０参照）を介してアクセスする遅延用外部メモリを兼用使用できるため、ハードウェア使用効率が向上する、という効果も得ることができる。
【００４４】
（ハ）さらに、本実施の一形態による音源装置では、ＤＳＰ４と補間器２、ミキサ６の間にそれぞれバッファメモリ３，５を配置した為、ＤＳＰ４ではプログラム実行タイミングに依存せずに各種処理を実行でき、したがってＤＳＰ４のプログラムがリラティブに記述でき、プログラミング自由度が向上すると共に、タイミング的な制約が無くなることからＤＳＰ４の使用効率も向上する。
【００４５】
【発明の効果】
本発明によれば、各音源方式に共用される補間手段および波形累算手段をハードウェアで実現する一方、各音源方式毎に機能する波形形成手段をソフトウェアで実現し、補間手段は指示された音源方式に従った読み出し形態で波形記憶手段に記憶される原波形を発生すべき音高に応じて補間読み出しを行い、波形形成手段は所定の音源方式による読み出し形態および発生すべき音高を前記補間手段に指示し、これに従って前記補間手段から補間読み出しされた原波形を発音チャンネル毎に修飾して楽音波形を形成すると共に、帰還入力される複数の累算波形にそれぞれ個別に効果付与して出力し、波形累算手段は前記波形形成手段にて形成される発音チャンネル毎の楽音波形を、波形内容別に累算して複数の累算波形を発生し、前記波形形成手段に帰還入力し、前記補間手段は、前記波形形成手段が発生する楽音波形を波形記憶手段に再書き込みし、前記波形形成手段は、波形記憶手段に再書き込みした楽音波形について前記補間手段を介して再度読み出してリシンセサイズするので、複数の音源方式に対応しながらも同時発音チャンネル数の低減を会費して自由度の高い楽音合成を行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態による音源装置の全体構成を示すブロック図である。
【図２】補間器２における補間読み出し部の構成を示すブロック図である。
【図３】補間器２における補間読み出し部の構成を示すブロック図である。
【図４】畳み込み係数テーブル２２１の一例を示す図である。
【図５】波形書き込みモード時の処理タイミングを示すタイムチャートである。
【図６】バッファメモリ３の構成を示すブロック図である。
【図７】バッファメモリ３のリード・ライトタイミングを示すタイムチャートである。
【図８】ＤＳＰ４の全体構成を示すブロック図である。
【図９】ＥＧ４１の構成を示すブロック図である。
【図１０】ＥＭＩ４３の構成を示すブロック図である。
【図１１】ＣＬＰ４６の一構成例を示すブロック図である。
【図１２】ライト＆ホールドコマンドＷＨによる書き込み制御の一例を示すタイムチャートである。
【図１３】ＣＬＰ４６のその他の構成例を示すブロック図である
【図１４】ＮＯＰスロットを用いた書き込み制御の一例を示すタイムチャートである。
【図１５】ミキサ６の構成を示すブロック図である。
【図１６】波形メモリ１に再書き込みしてリシンセサイズする音源装置の機能構成を示すブロック図である。
【図１７】波形再書き込みを複数段階に行う音源装置の機能構成を示すブロック図である。
【図１８】ＤＳＰ４にて音源処理およびエフェクト処理を行う場合の基本的な機能構成を示すブロック図である。
【符号の説明】
１  波形メモリ（波形記憶手段）
２  補間器（補間手段）
３，５  バッファメモリ（一時記憶手段）
４  ＤＳＰ（波形形成手段）
６  ミキサ（波形累算手段）
７  パラレル／シリアル変換回路
８  Ｄ／Ａ変換器
【図１】
0003858187.tif 000002
【図２】
0003858187.tif 000003
【図３】
0003858187.tif 000004
【図４】
0003858187.tif 000005
【図５】
0003858187.tif 000006
【図６】
0003858187.tif 000007
【図７】
0003858187.tif 000008
【図８】
0003858187.tif 000009
【図９】
0003858187.tif 000010
【図１０】
0003858187.tif 000011
【図１１】
0003858187.tif 000012
【図１２】
0003858187.tif 000013
【図１３】
0003858187.tif 000014
【図１４】
0003858187.tif 000015
【図１５】
0003858187.tif 000016
【図１６】
0003858187.tif 000017
【図１７】
0003858187.tif 000018
【図１８】
0003858187.tif 000019