JPH07168562A - ディレイラインマネージメントロジックを有する信号処理装置及びそれを用いた楽音処理装置 - Google Patents
ディレイラインマネージメントロジックを有する信号処理装置及びそれを用いた楽音処理装置Info
- Publication number
- JPH07168562A JPH07168562A JP6159547A JP15954794A JPH07168562A JP H07168562 A JPH07168562 A JP H07168562A JP 6159547 A JP6159547 A JP 6159547A JP 15954794 A JP15954794 A JP 15954794A JP H07168562 A JPH07168562 A JP H07168562A
- Authority
- JP
- Japan
- Prior art keywords
- delay line
- processing device
- signal processing
- memory
- management logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 183
- 238000000034 method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 11
- 230000002194 synthesizing effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000000873 masking effect Effects 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 description 17
- 238000003786 synthesis reaction Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- LWAVGNJLLQSNNN-UHFFFAOYSA-N (2,5-dioxopyrrolidin-1-yl) 4-azidobenzoate Chemical compound C1=CC(N=[N+]=[N-])=CC=C1C(=O)ON1C(=O)CCC1=O LWAVGNJLLQSNNN-UHFFFAOYSA-N 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001308 synthesis method Methods 0.000 description 3
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 2
- 102100039558 Galectin-3 Human genes 0.000 description 2
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 2
- 101150051246 MAC2 gene Proteins 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000255777 Lepidoptera Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 楽音を遅延するためのディレイラインを置換
える際に、置換えによるノイズの発生等をユーザーに認
識させない様リアルタイムで置換える。 【構成】 ディレイラインを用いたボイスプログラムを
する信号処理装置に、ディレイラインロケーション34
9を設ける。さらに、ディレイラインロケーション34
9メモリをクリアする際には、「0」値を書込むことな
く自動的に当クリアするディレイラインマネージメント
ロジックを設け、該ロジックには、ディレイラインに割
当てられたメモリロケ−ションのサブセットのスタート
位置等を示すオフセット値と、サブセットの中に可変メ
モリロケ−ションの数を示すカウント等からなるディレ
イラインのパラメ−タ−をストアーするディレイライン
コンフィグレーションレジスタ−ファイルを設ける。デ
ィレイラインをクリアする際には、例えば所定のディレ
イラインのカウントを「0」に設定して、ディレイライ
ンコンフィグレーションレジスタ−ファイルを更新する
命令を送る。
える際に、置換えによるノイズの発生等をユーザーに認
識させない様リアルタイムで置換える。 【構成】 ディレイラインを用いたボイスプログラムを
する信号処理装置に、ディレイラインロケーション34
9を設ける。さらに、ディレイラインロケーション34
9メモリをクリアする際には、「0」値を書込むことな
く自動的に当クリアするディレイラインマネージメント
ロジックを設け、該ロジックには、ディレイラインに割
当てられたメモリロケ−ションのサブセットのスタート
位置等を示すオフセット値と、サブセットの中に可変メ
モリロケ−ションの数を示すカウント等からなるディレ
イラインのパラメ−タ−をストアーするディレイライン
コンフィグレーションレジスタ−ファイルを設ける。デ
ィレイラインをクリアする際には、例えば所定のディレ
イラインのカウントを「0」に設定して、ディレイライ
ンコンフィグレーションレジスタ−ファイルを更新する
命令を送る。
Description
【0001】
【産業上の利用分野】本発明はディレイラインを有して
プログラムを実行するリアルタイム処理システムに係
り、詳しくはディレイラインをマネージメントするため
のディレイラインマネージメントロジックを有する信号
処理装置及びそれを用いた楽音処理装置に関する。
プログラムを実行するリアルタイム処理システムに係
り、詳しくはディレイラインをマネージメントするため
のディレイラインマネージメントロジックを有する信号
処理装置及びそれを用いた楽音処理装置に関する。
【0002】
【従来の技術】ミュージックシンセサイザーは、多岐多
様な楽音合成に用いられている。この様なシステムで
は、発生している楽音を耳障りなディレイ等を伴うこと
なく、リアルタイムでに変えることが望まれている。従
来、ミュージックシンセサイザーのアーキテクチャーと
して様々な方式が提案されている。例えば、減算合成、
ウエーブテーブル合成、FM合成、加算合成である。こ
れらの合成方式の概説は、ウォーカー著、「KORG
WAVESTATION」ピーター エル.アレキサン
ダー出版、ニューベリーパーク カリフォルニア州、1
990年の9ページから12ページに記載されている。
これら一般に用いられるている4種類の合成方式は、仕
込まれた波形(packaged waveform)
に基づき楽音を発生させるものであり、ユーザーの操作
(演奏)にリアルタイムで楽音を発生させるものであ
る。減算合成方式及びFM合成方式における仕込まれた
波形は、単純なサイン波であったり、或は生楽器から実
際に録音した音のテーブル等であったりする。通常これ
らのテーブルは、パルスコード変調(PCM変調)によ
りフォーマットされ、内部回路に組み込まれたメモリー
に格納されている。
様な楽音合成に用いられている。この様なシステムで
は、発生している楽音を耳障りなディレイ等を伴うこと
なく、リアルタイムでに変えることが望まれている。従
来、ミュージックシンセサイザーのアーキテクチャーと
して様々な方式が提案されている。例えば、減算合成、
ウエーブテーブル合成、FM合成、加算合成である。こ
れらの合成方式の概説は、ウォーカー著、「KORG
WAVESTATION」ピーター エル.アレキサン
ダー出版、ニューベリーパーク カリフォルニア州、1
990年の9ページから12ページに記載されている。
これら一般に用いられるている4種類の合成方式は、仕
込まれた波形(packaged waveform)
に基づき楽音を発生させるものであり、ユーザーの操作
(演奏)にリアルタイムで楽音を発生させるものであ
る。減算合成方式及びFM合成方式における仕込まれた
波形は、単純なサイン波であったり、或は生楽器から実
際に録音した音のテーブル等であったりする。通常これ
らのテーブルは、パルスコード変調(PCM変調)によ
りフォーマットされ、内部回路に組み込まれたメモリー
に格納されている。
【0003】この再生技術を用いたミュージックシンセ
サイザーでは、生楽器音を基本波形として楽音合成する
ために幾つかの制限が加わる。例えば、与えられた生楽
器音の波形を用いつつ楽音を変化させるためには、新た
にPCMテーブルを有したサンプリングハードウエアを
追加する必要がある。このため、ミュージックシンセサ
イザー業界は、デジタルシグナルプロセッサ(DSP)
上で実行される楽音発生プログラムを用いた楽音合成に
動いている。しかしサンプリングを基本アーキテクチャ
とするPCM変調を用いたミュージックシンセサイザー
(PCMミュージックシンセサイザー)を改造するに
は、上述した様にハードウエア回路の追加等が必要にな
る。一方、楽音発生プログラムの制作は、ハードウエア
を改造することができない一般のユーザーであっても容
易に可能である。従って、DSPを用いたミュージック
シンセサイザー(DSPミュージックシンセサイザー)
のユーザーは、演奏する楽音の自由度をPCMミュージ
ックシンセサイザーに比べて増すことが可能になる。
サイザーでは、生楽器音を基本波形として楽音合成する
ために幾つかの制限が加わる。例えば、与えられた生楽
器音の波形を用いつつ楽音を変化させるためには、新た
にPCMテーブルを有したサンプリングハードウエアを
追加する必要がある。このため、ミュージックシンセサ
イザー業界は、デジタルシグナルプロセッサ(DSP)
上で実行される楽音発生プログラムを用いた楽音合成に
動いている。しかしサンプリングを基本アーキテクチャ
とするPCM変調を用いたミュージックシンセサイザー
(PCMミュージックシンセサイザー)を改造するに
は、上述した様にハードウエア回路の追加等が必要にな
る。一方、楽音発生プログラムの制作は、ハードウエア
を改造することができない一般のユーザーであっても容
易に可能である。従って、DSPを用いたミュージック
シンセサイザー(DSPミュージックシンセサイザー)
のユーザーは、演奏する楽音の自由度をPCMミュージ
ックシンセサイザーに比べて増すことが可能になる。
【0004】一般にボイスプログラムと呼ばれる楽音合
成プログラムは、楽器、人の声等の音源を基本とした計
算モデルにより構成される。従って、楽音合成プログラ
ムの作成者は、作りたい音源の計算モデルを先に決め、
その後当該モデルを実行するコンピュータプログラムを
作成することになる。楽音合成プログラムの例として
は、米国特許No.4,984,276におけるジュリ
アス.O.スミスによる”DIGITAL PROCE
SSING USING WAVEGUIDENETW
ORKS”がある。電子楽器における動的ボイス割り当
て(dynamic voice allocation) とは、楽音合成に必要
なリソース(例えば、メモリー、プロセッサー、バスサ
イクル等)が空いているか否かにかかわらず、任意の楽
音を発生する能力を持つことを意味している。即ち合成
するためのリソースが空いていれば、即座に楽音の発生
に利用し、リソースが空いていない場合は、現在楽音の
発生に使われているボイスを”盗んで”新たなボイスを
割り当てることを言う。
成プログラムは、楽器、人の声等の音源を基本とした計
算モデルにより構成される。従って、楽音合成プログラ
ムの作成者は、作りたい音源の計算モデルを先に決め、
その後当該モデルを実行するコンピュータプログラムを
作成することになる。楽音合成プログラムの例として
は、米国特許No.4,984,276におけるジュリ
アス.O.スミスによる”DIGITAL PROCE
SSING USING WAVEGUIDENETW
ORKS”がある。電子楽器における動的ボイス割り当
て(dynamic voice allocation) とは、楽音合成に必要
なリソース(例えば、メモリー、プロセッサー、バスサ
イクル等)が空いているか否かにかかわらず、任意の楽
音を発生する能力を持つことを意味している。即ち合成
するためのリソースが空いていれば、即座に楽音の発生
に利用し、リソースが空いていない場合は、現在楽音の
発生に使われているボイスを”盗んで”新たなボイスを
割り当てることを言う。
【0005】標準的なPCMプレイバック方式のシンセ
サイザーにおいては、楽音合成に必要なリソースを短時
間で切換えるために楽音合成のバリエーションを限定し
ている。この場合、どのボイスも同じアルゴリズムが用
いられ(一般に、アルゴリズムはハードウエアに組み込
まれている)、かつ、同じPCMデータを共有すると共
に、ボイスの出力は決められたオーディオバスと接続さ
れている。従って、異なるボイスは2,3のパラメータ
だけが相違するだけなので、この相違点のみを初期化或
は変更(置換え)するのに要する時間は短時間で行うこ
とが可能になる。リソースが塞がっている場合は、現在
実行中のボイスを止めて”ボイスを盗むことで”、その
ボイスを新しいボイスに割り当てる。
サイザーにおいては、楽音合成に必要なリソースを短時
間で切換えるために楽音合成のバリエーションを限定し
ている。この場合、どのボイスも同じアルゴリズムが用
いられ(一般に、アルゴリズムはハードウエアに組み込
まれている)、かつ、同じPCMデータを共有すると共
に、ボイスの出力は決められたオーディオバスと接続さ
れている。従って、異なるボイスは2,3のパラメータ
だけが相違するだけなので、この相違点のみを初期化或
は変更(置換え)するのに要する時間は短時間で行うこ
とが可能になる。リソースが塞がっている場合は、現在
実行中のボイスを止めて”ボイスを盗むことで”、その
ボイスを新しいボイスに割り当てる。
【0006】
【発明が解決しようとする課題】現況においてボイスプ
ログラムを実行させるシステムには、DSPを用いたD
PMー3(Peavy社製)が知られている。このシス
テムでは、ボイスを動的に割当てるために、ボイスプロ
グラムで使用している係数をリアルタイムで書換えるこ
とが可能となっている。しかし、ボイスプログラムの命
令自身は、リアルタイムで書換えることができないので
システムの自由度に制限が生じてしまう問題を持ってい
る。さらに新しい方法として、可変アルゴリズムを用い
たDSPシステムをPCMシンセサイザーに接続し、そ
して従来のアーキテクチャーにより合成した信号に異な
るオーディオ効果を付加する方法が提案されている。し
かしオーディオ効果の処理は、DSPシステムに対して
新しいアルゴリズムを書換える際には、ディレイライン
メモリをクリアしたり初期化する等の時間が必要となる
ためリアルタイムで変更することができない問題を有し
ている。
ログラムを実行させるシステムには、DSPを用いたD
PMー3(Peavy社製)が知られている。このシス
テムでは、ボイスを動的に割当てるために、ボイスプロ
グラムで使用している係数をリアルタイムで書換えるこ
とが可能となっている。しかし、ボイスプログラムの命
令自身は、リアルタイムで書換えることができないので
システムの自由度に制限が生じてしまう問題を持ってい
る。さらに新しい方法として、可変アルゴリズムを用い
たDSPシステムをPCMシンセサイザーに接続し、そ
して従来のアーキテクチャーにより合成した信号に異な
るオーディオ効果を付加する方法が提案されている。し
かしオーディオ効果の処理は、DSPシステムに対して
新しいアルゴリズムを書換える際には、ディレイライン
メモリをクリアしたり初期化する等の時間が必要となる
ためリアルタイムで変更することができない問題を有し
ている。
【0007】またボイスプログラムが実行できる様に設
計された信号処理装置は、リアルタイムでボイスプログ
ラムを実行しなければならないためパワフルなデジタル
信号処理装置が利用されている。しかし、デジタル信号
処理装置におけるハードウエア等のリソースによって
は、リアルタイムで実行できるボイスプログラムの数に
制限が生じる問題がある。即ち、リアルタイムでボイス
プログラム(以下、適宜プログラムと略記する)を実行
するには、DSPの命令を記憶しているRAMに当該プ
ログラムを予めロードしておく必要がある。何故なら、
プログラムが予めロードされていない場合には、プログ
ラムを転送をしている時、ディレイラインの消去操作
時、テーブルの更新操作時或は係数の初期化操作時等に
おいて耳に聞こえるクリックノイズが発生する問題が生
じるためである。またプログラムが、予めロードされて
いる場合でも、当該プログラムの一部を書換える際に、
上述した処理が必要となるのでクリックノイズが発生す
る問題がある。
計された信号処理装置は、リアルタイムでボイスプログ
ラムを実行しなければならないためパワフルなデジタル
信号処理装置が利用されている。しかし、デジタル信号
処理装置におけるハードウエア等のリソースによって
は、リアルタイムで実行できるボイスプログラムの数に
制限が生じる問題がある。即ち、リアルタイムでボイス
プログラム(以下、適宜プログラムと略記する)を実行
するには、DSPの命令を記憶しているRAMに当該プ
ログラムを予めロードしておく必要がある。何故なら、
プログラムが予めロードされていない場合には、プログ
ラムを転送をしている時、ディレイラインの消去操作
時、テーブルの更新操作時或は係数の初期化操作時等に
おいて耳に聞こえるクリックノイズが発生する問題が生
じるためである。またプログラムが、予めロードされて
いる場合でも、当該プログラムの一部を書換える際に、
上述した処理が必要となるのでクリックノイズが発生す
る問題がある。
【0008】このようなシステムのディレイラインは、
連続したロケーションのストリングとしてメモり内に書
込まれている。従って、長さLのディレイラインはL個
の連続したメモリロケーションを占めることになる。環
状のアドレス指定の場合は、任意のサンプリング間隔に
対して長さLのディレイラインの終わりを読取るのに使
用される。ディレイラインが初期化される時は、有効な
データが書込まれる間、ディレイラインに対して間違っ
た読込みを起こさないために割当てられた領域内の全て
のメモリロケーションがクリアしなければならない。デ
ィレイラインを使用しているボイスプログラムを置換え
るためには、ディレイラインメモリをクリアするのに時
間が必要であり、この時間は特に長いディレイラインに
対しては重要である。従って、DSPを用いたミュージ
ックシンセサイザーや他のリアルタイム信号処理装置に
おいて、より効率の良いディレイラインのマネージメン
トを行う必要がある。
連続したロケーションのストリングとしてメモり内に書
込まれている。従って、長さLのディレイラインはL個
の連続したメモリロケーションを占めることになる。環
状のアドレス指定の場合は、任意のサンプリング間隔に
対して長さLのディレイラインの終わりを読取るのに使
用される。ディレイラインが初期化される時は、有効な
データが書込まれる間、ディレイラインに対して間違っ
た読込みを起こさないために割当てられた領域内の全て
のメモリロケーションがクリアしなければならない。デ
ィレイラインを使用しているボイスプログラムを置換え
るためには、ディレイラインメモリをクリアするのに時
間が必要であり、この時間は特に長いディレイラインに
対しては重要である。従って、DSPを用いたミュージ
ックシンセサイザーや他のリアルタイム信号処理装置に
おいて、より効率の良いディレイラインのマネージメン
トを行う必要がある。
【0009】以上のことがらを具体的に説明する。DS
P(デジタルシグナルプロセッサー)を用いた楽音合成
においては、楽音データの処理を所定時間だけ遅延させ
るためディレイラインがしばしば用いられる。例えば、
このようなディレイラインを用いて楽音合成を行うもの
としては、エコー等の残響処理や管楽器の共振モデル等
がある。このディレイラインは、DSPと接続された半
導体メモリー(RAM)とで構成され、遅延した楽音は
以下のようにして発生している。まずDSPから楽音デ
ータがディジタル化されて楽音信号としてサンプリング
周期毎にRAMに書き込まれる。そして当該RAMに書
込まれた楽音データは、再度DSPに戻されて楽音処理
が行われる。その際DSPに戻す楽音データは、所定時
間前に書込んだデータが戻される。従ってDSPで行わ
れる楽音処理は、楽音データを書込んだ時点からみると
過去の楽音データであり、これが遅延した楽音となる。
遅延時間は、 遅延時間=サンプリング周期×サンプル数 で与えられので、遅延時間に相当するサンプル数分だけ
過去の楽音データをRAMからDSPに戻され、現在の
楽音と合成される。ディレイラインを管楽器の共振モデ
ルとして用いる場合を例示して説明する。管楽器には大
小さまざまな種類があり、おのおのの管の長さと共振周
波数は異なっている。例えばフルートの管はピッコロよ
り短く、また共振周波数も高い。DSPを用いた楽音合
成では、この管の長短をディレイラインの遅延時間の長
短として取り扱う。フルートの楽音を合成するには長い
遅延時間のディレイラインが用いられ、また短いピッコ
ロには短い遅延時間のディレイラインが用いられて、そ
れぞれの楽器の共振モデルをデジタル信号処理でシミュ
レートしている。
P(デジタルシグナルプロセッサー)を用いた楽音合成
においては、楽音データの処理を所定時間だけ遅延させ
るためディレイラインがしばしば用いられる。例えば、
このようなディレイラインを用いて楽音合成を行うもの
としては、エコー等の残響処理や管楽器の共振モデル等
がある。このディレイラインは、DSPと接続された半
導体メモリー(RAM)とで構成され、遅延した楽音は
以下のようにして発生している。まずDSPから楽音デ
ータがディジタル化されて楽音信号としてサンプリング
周期毎にRAMに書き込まれる。そして当該RAMに書
込まれた楽音データは、再度DSPに戻されて楽音処理
が行われる。その際DSPに戻す楽音データは、所定時
間前に書込んだデータが戻される。従ってDSPで行わ
れる楽音処理は、楽音データを書込んだ時点からみると
過去の楽音データであり、これが遅延した楽音となる。
遅延時間は、 遅延時間=サンプリング周期×サンプル数 で与えられので、遅延時間に相当するサンプル数分だけ
過去の楽音データをRAMからDSPに戻され、現在の
楽音と合成される。ディレイラインを管楽器の共振モデ
ルとして用いる場合を例示して説明する。管楽器には大
小さまざまな種類があり、おのおのの管の長さと共振周
波数は異なっている。例えばフルートの管はピッコロよ
り短く、また共振周波数も高い。DSPを用いた楽音合
成では、この管の長短をディレイラインの遅延時間の長
短として取り扱う。フルートの楽音を合成するには長い
遅延時間のディレイラインが用いられ、また短いピッコ
ロには短い遅延時間のディレイラインが用いられて、そ
れぞれの楽器の共振モデルをデジタル信号処理でシミュ
レートしている。
【0010】図6(a)はディレイラインの概念図を示
している。また図6(b),(c)は短い遅延時間設定
のディレイラインを用いて記憶されたボイスプログラム
を、長い遅延時間設定のディレイラインに記憶する場合
のボイスプログラムへの置換えの様子を示している。な
お、短い遅延時間に設定されたボイスプログラムが実行
されている間は、図6(b)に示す区間AのRAM領域
がディレイラインとして使用されているものとする。図
6(b)におけるDSP入力は、DSPからディレイラ
インへのサンプリング周期毎の楽音データの書込みアド
レスを示し、またDSP出力Aは遅延データの読出しア
ドレスを示している。また図6(a)から図6(e)に
おいては、説明を簡単にするために遅延時間をRAM上
のメモリー領域の大小で示すが、実際は遅延時間に応じ
たRAM領域を図6(f)に示すようなリングバッファ
としてディレイラインが構成されている。このリングバ
ッファにおいて、書き込みはアドレス0から順に書込ま
れ、その度にアドレスがインクリメントとされる。そし
てアドレスが最大(図6(f)では15)になると、そ
の次はまた0が指定される。従ってアドレスはエンドレ
スでグルグル回ることになる。
している。また図6(b),(c)は短い遅延時間設定
のディレイラインを用いて記憶されたボイスプログラム
を、長い遅延時間設定のディレイラインに記憶する場合
のボイスプログラムへの置換えの様子を示している。な
お、短い遅延時間に設定されたボイスプログラムが実行
されている間は、図6(b)に示す区間AのRAM領域
がディレイラインとして使用されているものとする。図
6(b)におけるDSP入力は、DSPからディレイラ
インへのサンプリング周期毎の楽音データの書込みアド
レスを示し、またDSP出力Aは遅延データの読出しア
ドレスを示している。また図6(a)から図6(e)に
おいては、説明を簡単にするために遅延時間をRAM上
のメモリー領域の大小で示すが、実際は遅延時間に応じ
たRAM領域を図6(f)に示すようなリングバッファ
としてディレイラインが構成されている。このリングバ
ッファにおいて、書き込みはアドレス0から順に書込ま
れ、その度にアドレスがインクリメントとされる。そし
てアドレスが最大(図6(f)では15)になると、そ
の次はまた0が指定される。従ってアドレスはエンドレ
スでグルグル回ることになる。
【0011】長い遅延時間設定のディレイラインを用い
るボイスプログラムへの置換えが行われ、必要なRAM
領域が区間Bに広がり、これにより遅延されたデータの
読出しアドレスが図6(c)のようにDSP出力Bにな
ったとする。このときRAMの内部には、前のボイスプ
ログラムで使用していた楽音データ(例えばピッコロの
音)が区間Aに残っており、また前のボイスプログラム
で使用されなかった未使用領域には不定のデータが残っ
ている。この状態で、DSP入力から新しいボイスプロ
グラムに対応した楽音データ(例えばフルートの音)が
RAMに書込まれる。
るボイスプログラムへの置換えが行われ、必要なRAM
領域が区間Bに広がり、これにより遅延されたデータの
読出しアドレスが図6(c)のようにDSP出力Bにな
ったとする。このときRAMの内部には、前のボイスプ
ログラムで使用していた楽音データ(例えばピッコロの
音)が区間Aに残っており、また前のボイスプログラム
で使用されなかった未使用領域には不定のデータが残っ
ている。この状態で、DSP入力から新しいボイスプロ
グラムに対応した楽音データ(例えばフルートの音)が
RAMに書込まれる。
【0012】従って、新しいボイスプログラムに置換え
られ、ディレイライン上の遅延時間が区間Bに変更され
たとしても、新しいボイスプログラムに対応した楽音デ
ータ(フルートの音)がDSP入力からDSP出力Bま
で達しない限り(区間Bが全て新しい楽音データに置換
えられない限り)正しい楽音の合成は出来ないことにな
り、出力の楽音データにノイズが混入することになる。
即ちB区間には、新しく置換えたデータと不定データと
が混在し、楽音処理はこのB区間を単位として処理する
ため、あたかも不定データも新しいデータであるかの様
に認識してしまう。従って、この不定データはノイズと
して感受される。
られ、ディレイライン上の遅延時間が区間Bに変更され
たとしても、新しいボイスプログラムに対応した楽音デ
ータ(フルートの音)がDSP入力からDSP出力Bま
で達しない限り(区間Bが全て新しい楽音データに置換
えられない限り)正しい楽音の合成は出来ないことにな
り、出力の楽音データにノイズが混入することになる。
即ちB区間には、新しく置換えたデータと不定データと
が混在し、楽音処理はこのB区間を単位として処理する
ため、あたかも不定データも新しいデータであるかの様
に認識してしまう。従って、この不定データはノイズと
して感受される。
【0013】この不都合を防ぐため、従来は図6(d)
に示す様に区間BまでのRAMの内容を”ゼロ”にクリ
アしてから新しいボイスプログラムに置換えていた。こ
れによると、DSP入力Aからの新しいボイスプログラ
ムに対応した音データがDSP出力Bまで達していなく
とも、”ゼロ”データがRAMから読みだされるのでノ
イズの混入を防止することができる。しかしこの方法で
もボイスプログラムを置換える時間に加え、RAMをク
リアする時間が必要になるので、ボイスプログラムの切
換えに長い時間が必要になる問題がある。
に示す様に区間BまでのRAMの内容を”ゼロ”にクリ
アしてから新しいボイスプログラムに置換えていた。こ
れによると、DSP入力Aからの新しいボイスプログラ
ムに対応した音データがDSP出力Bまで達していなく
とも、”ゼロ”データがRAMから読みだされるのでノ
イズの混入を防止することができる。しかしこの方法で
もボイスプログラムを置換える時間に加え、RAMをク
リアする時間が必要になるので、ボイスプログラムの切
換えに長い時間が必要になる問題がある。
【0014】また、別の従来技術として図6(e)に示
すような、新しいボイスプログラムに対応した音データ
がDSP出力Bまで達する迄の間、DSPの命令を操作
してRAMからのデータ読出しを禁止する方法もある。
この方法だとRAMをクリアする時間は不要となるもの
の、ボイスプログラムを置換える処理に加え、RAMか
らのデータ読出しを禁止する処理が必要となり、DSP
を制御するCPU処理の負担が増大する問題がある。本
発明では上記に鑑みて、ボイスプログラムの置換え時に
ディレイラインの遅延時間といくつかのパラメータを設
定するだけでノイズを発生することなくディレイライン
の区間を変更できるようにし、またRAMをクリアする
時間も必要なく、またCPU処理の負担も最小限に抑え
ることを可能にしたディレイラインマネージメントロジ
ックを有する信号処理装置及びそれを用いた楽音信号処
理装置を提供することを目的とする。
すような、新しいボイスプログラムに対応した音データ
がDSP出力Bまで達する迄の間、DSPの命令を操作
してRAMからのデータ読出しを禁止する方法もある。
この方法だとRAMをクリアする時間は不要となるもの
の、ボイスプログラムを置換える処理に加え、RAMか
らのデータ読出しを禁止する処理が必要となり、DSP
を制御するCPU処理の負担が増大する問題がある。本
発明では上記に鑑みて、ボイスプログラムの置換え時に
ディレイラインの遅延時間といくつかのパラメータを設
定するだけでノイズを発生することなくディレイライン
の区間を変更できるようにし、またRAMをクリアする
時間も必要なく、またCPU処理の負担も最小限に抑え
ることを可能にしたディレイラインマネージメントロジ
ックを有する信号処理装置及びそれを用いた楽音信号処
理装置を提供することを目的とする。
【0015】
【課題を解決するための手段】上記目的を達成するため
に、ボイスプログラムを置換えて楽音合成する楽音処理
装置において、ディレイラインを用いてボイスプログラ
ムを実行する信号処理装置と、該信号処理装置に接続さ
れると共に、複数のメモリーロケーションのセットが設
けられて前記ディレイラインをストアーするメモリー
と、該メモリー及び前記信号処理装置に接続されると共
に、前記メモリーのメモリーロケーションにおけるセッ
トのサブセットを直接書込むことなくディレイラインを
自動的にクリアする命令により作動するメモリーマネー
ジメントロジックと有してなる、ことを特徴とする。
に、ボイスプログラムを置換えて楽音合成する楽音処理
装置において、ディレイラインを用いてボイスプログラ
ムを実行する信号処理装置と、該信号処理装置に接続さ
れると共に、複数のメモリーロケーションのセットが設
けられて前記ディレイラインをストアーするメモリー
と、該メモリー及び前記信号処理装置に接続されると共
に、前記メモリーのメモリーロケーションにおけるセッ
トのサブセットを直接書込むことなくディレイラインを
自動的にクリアする命令により作動するメモリーマネー
ジメントロジックと有してなる、ことを特徴とする。
【0016】またボイスプログラムを置換えて楽音合成
する楽音処理装置において、ディレイラインを用いてボ
イスプログラムを実行する信号処理装置と、ディレイラ
インをストアーするメモリーロケーションのセットを持
つメモリーと、信号処理装置に接続されると共に、前記
パラメーターが所定のディレイラインに割当てたメモリ
ーロケーションのセットにおけるサブセットを示すオフ
セット値及び前記サブセット内の有効なメモリーロケー
ションの数を示すカウント値とを持つ複数のディレイラ
インのパラメーターをストアーするレジスターファイル
を有し、前記信号処理装置が、所定のディレイラインの
ための前記レジスターファイルのポインター及びディレ
イラインの長さパラメーターを持つ所定のディレイライ
ンのデータとアクセスし、所定のディレイラインがリセ
ットされていることを示すべく前記レジスターファイル
にマークを書込む命令に応答するディレイライン初期化
ロジックと、前記メモリーに接続されると共に、所定の
ディレイラインがリセットすべくマークされ、又は所定
のディレイラインがディレイラインの長さパラメーター
で示されるメモリーロケーションに有効なデータが書き
込まれている間は前記信号処理装置により所定のディレ
イラインの読込みに対してクリアデータを出力し、ディ
レイラインの長さパラメーターにより示されるメモリー
ロケーションに有効なデータが書込まれた後、読込みに
対し選択されたメモリーロケーションからデータを出力
するディレイラインアドレッシングロジックに応答する
出力ロジックを有してなる、ことを特徴とする。
する楽音処理装置において、ディレイラインを用いてボ
イスプログラムを実行する信号処理装置と、ディレイラ
インをストアーするメモリーロケーションのセットを持
つメモリーと、信号処理装置に接続されると共に、前記
パラメーターが所定のディレイラインに割当てたメモリ
ーロケーションのセットにおけるサブセットを示すオフ
セット値及び前記サブセット内の有効なメモリーロケー
ションの数を示すカウント値とを持つ複数のディレイラ
インのパラメーターをストアーするレジスターファイル
を有し、前記信号処理装置が、所定のディレイラインの
ための前記レジスターファイルのポインター及びディレ
イラインの長さパラメーターを持つ所定のディレイライ
ンのデータとアクセスし、所定のディレイラインがリセ
ットされていることを示すべく前記レジスターファイル
にマークを書込む命令に応答するディレイライン初期化
ロジックと、前記メモリーに接続されると共に、所定の
ディレイラインがリセットすべくマークされ、又は所定
のディレイラインがディレイラインの長さパラメーター
で示されるメモリーロケーションに有効なデータが書き
込まれている間は前記信号処理装置により所定のディレ
イラインの読込みに対してクリアデータを出力し、ディ
レイラインの長さパラメーターにより示されるメモリー
ロケーションに有効なデータが書込まれた後、読込みに
対し選択されたメモリーロケーションからデータを出力
するディレイラインアドレッシングロジックに応答する
出力ロジックを有してなる、ことを特徴とする。
【0017】さらにボイスプログラムを置換えて楽音合
成する楽音処理装置において、入力信号のソースと、該
入力信号のソースに接続されると共に、前記入力信号に
応じてディレイラインを用いるボイスプログラムをリア
ルタイムで実行するための信号処理装置と、該信号処理
装置に接続されると共に、ディレイラインをストアーす
るためのメモリーロケーションのセットを持つメモリー
と、該メモリー及び前記信号処理装置に接続されると共
に、所定のディレイラインに割当てられたメモリーロケ
ーションのセットにおけるサブセットをボイスプログラ
ムのためにクリアすべく前記入力信号のソースからの命
令に応答するメモリーマネージメントロジックとを有し
てなる、ことを特徴とする。
成する楽音処理装置において、入力信号のソースと、該
入力信号のソースに接続されると共に、前記入力信号に
応じてディレイラインを用いるボイスプログラムをリア
ルタイムで実行するための信号処理装置と、該信号処理
装置に接続されると共に、ディレイラインをストアーす
るためのメモリーロケーションのセットを持つメモリー
と、該メモリー及び前記信号処理装置に接続されると共
に、所定のディレイラインに割当てられたメモリーロケ
ーションのセットにおけるサブセットをボイスプログラ
ムのためにクリアすべく前記入力信号のソースからの命
令に応答するメモリーマネージメントロジックとを有し
てなる、ことを特徴とする。
【0018】
【作用】上記構成に基づき、本発明はディレイラインを
使用したボイスプログラムを実行する信号処理装置であ
り、当該信号処理装置はディレイラインを記憶するため
にメモリロケーションのセットを持つメモリを有してい
る。信号処理装置に接続されたメモリはディレイライン
をストアーするためにメモリロケーションのセットを有
している。ディレイラインマネージメントロジックは、
メモリと信号処理装置に接続され、メモリロケーション
のサブセットに書込むことなく特定のディレイラインに
割当てられたメモリロケーションのセットにおけるサブ
セットを信号処理装置によって実行されているプログラ
ムを自動的にクリアするべく命令を出力する。即ちディ
レイラインマネージメントロジックは、所定のディレイ
ラインに対するメモリロケーションのサブセットのデー
タをマスクし、その結果信号処理装置が所定のディレイ
ラインを読込むと、所定のディレイラインに新しいデー
タが書込まれるまでクリアデータを返すようになる。
使用したボイスプログラムを実行する信号処理装置であ
り、当該信号処理装置はディレイラインを記憶するため
にメモリロケーションのセットを持つメモリを有してい
る。信号処理装置に接続されたメモリはディレイライン
をストアーするためにメモリロケーションのセットを有
している。ディレイラインマネージメントロジックは、
メモリと信号処理装置に接続され、メモリロケーション
のサブセットに書込むことなく特定のディレイラインに
割当てられたメモリロケーションのセットにおけるサブ
セットを信号処理装置によって実行されているプログラ
ムを自動的にクリアするべく命令を出力する。即ちディ
レイラインマネージメントロジックは、所定のディレイ
ラインに対するメモリロケーションのサブセットのデー
タをマスクし、その結果信号処理装置が所定のディレイ
ラインを読込むと、所定のディレイラインに新しいデー
タが書込まれるまでクリアデータを返すようになる。
【0019】ディレイラインマネージメントロジック
は、ディレイラインの為のパラメーターをストアーする
コンフィグレーションレジスターファイルを有し、この
パラメーターは所定のディレイラインに割当てられたメ
モリロケーションのサブセットを示すオフセット値と、
サブセット内の有効なメモリロケーションの数を示すカ
ウント値とが含まれる。そしてディレイラインをクリア
する命令は、例えば所定のディレイラインのためにカウ
ンターに「0」を設定してディレイラインコンフィグレ
ーションレジスターファイルを更新する命令等からな
る。信号処理装置によるディレイラインへの読込みは、
ディレイラインコンフィグレーションレジスターファイ
ル内にパラメーターのポインターとなるディレイライン
のカウント値とディレイラインの長さが含まれる。もし
カウント値がディレイラインの長さより小さい場合には
クリアデータが返され、カウント値がディレイラインの
長さより大きい場合にはディレイラインからカウント値
が返される。このようにして、所定のディレイラインが
ディレイラインの長さのパラメーターによって示された
メモリロケーションに有効なデータで満たされたとき、
ディレイラインマネージメントロジックは、ポインター
より示されるアドレスロジックと信号処理装置により示
される所定のディレイラインへの読込みのディレイライ
ンの長さパラメーターとを有することになる。
は、ディレイラインの為のパラメーターをストアーする
コンフィグレーションレジスターファイルを有し、この
パラメーターは所定のディレイラインに割当てられたメ
モリロケーションのサブセットを示すオフセット値と、
サブセット内の有効なメモリロケーションの数を示すカ
ウント値とが含まれる。そしてディレイラインをクリア
する命令は、例えば所定のディレイラインのためにカウ
ンターに「0」を設定してディレイラインコンフィグレ
ーションレジスターファイルを更新する命令等からな
る。信号処理装置によるディレイラインへの読込みは、
ディレイラインコンフィグレーションレジスターファイ
ル内にパラメーターのポインターとなるディレイライン
のカウント値とディレイラインの長さが含まれる。もし
カウント値がディレイラインの長さより小さい場合には
クリアデータが返され、カウント値がディレイラインの
長さより大きい場合にはディレイラインからカウント値
が返される。このようにして、所定のディレイラインが
ディレイラインの長さのパラメーターによって示された
メモリロケーションに有効なデータで満たされたとき、
ディレイラインマネージメントロジックは、ポインター
より示されるアドレスロジックと信号処理装置により示
される所定のディレイラインへの読込みのディレイライ
ンの長さパラメーターとを有することになる。
【0020】また、所定のディレイラインがディレイラ
インの長さパラメーターにより示されるメモリロケーシ
ョンに有効なデータで満たされている間、出力ロジック
はメモリと同期し、信号処理装置による所定のディレイ
ラインの読込みに応じてクリアデータを返すためのアド
レスロジックが作動する。ディレイラインがディレイラ
インの長さパラメーターによって示されるメモリロケー
ションに有効なデータで満たすと、出力ロジックは選択
されたメモリロケーションからデータを出力する。ディ
レイラインコンフィグレーションレジスターファイル
は、複数のディレイラインのパラメーターをストアーす
る信号処理装置に接続され、所定のディレイライン及び
複数のディレイラインのパラメーターは所定のディレイ
ラインに割当てられたメモリロケーションのセットにお
けるサブセットを示すメモリロケーションのセット及び
オフセット値と、サブセットの有効なメモリロケーショ
ンの数を示すカウント値とが含まれる。
インの長さパラメーターにより示されるメモリロケーシ
ョンに有効なデータで満たされている間、出力ロジック
はメモリと同期し、信号処理装置による所定のディレイ
ラインの読込みに応じてクリアデータを返すためのアド
レスロジックが作動する。ディレイラインがディレイラ
インの長さパラメーターによって示されるメモリロケー
ションに有効なデータで満たすと、出力ロジックは選択
されたメモリロケーションからデータを出力する。ディ
レイラインコンフィグレーションレジスターファイル
は、複数のディレイラインのパラメーターをストアーす
る信号処理装置に接続され、所定のディレイライン及び
複数のディレイラインのパラメーターは所定のディレイ
ラインに割当てられたメモリロケーションのセットにお
けるサブセットを示すメモリロケーションのセット及び
オフセット値と、サブセットの有効なメモリロケーショ
ンの数を示すカウント値とが含まれる。
【0021】ディレイライン初期化ロジックは、所定の
ディレイラインのリセットを示すレジスターファイルに
その旨を書込む命令により作動する。出力ロジックは、
メモリに接続され、もし所定のディレイラインをリセッ
トすべくマークが書込まれたり、或は所定のディレイラ
インがディレイラインの長さパラメーターにより示され
るメモリロケーションに有効なデータで満たされるまで
所定のディレイラインの信号処理装置による読込みに応
じてクリアデータを出力したり、所定のディレイライン
がディレイラインの長さパラメーターにより示さるメモ
リロケーションに有効なデータで満たされた後、読込み
に応じて選択されたメモリロケーションからのデータを
出力するディレイライン初期化ロジックとディレイライ
ン ンフィグレーションレジスターファイルにより作動
する。実施例において、所定のディレイラインはリセッ
ト又はカウント値に全て「0」を書込む処理を示す信号
によってリセットまたは”クリア”される。また他の実
施例においては、所定のディレイラインと関係つけられ
た制御ビットを有している。また信号処理装置、ディレ
イラインコンフィグレーションレジスターファイル、デ
ィレイライン初期化ロジック及び出力ロジックは集積回
路にまとめられている。
ディレイラインのリセットを示すレジスターファイルに
その旨を書込む命令により作動する。出力ロジックは、
メモリに接続され、もし所定のディレイラインをリセッ
トすべくマークが書込まれたり、或は所定のディレイラ
インがディレイラインの長さパラメーターにより示され
るメモリロケーションに有効なデータで満たされるまで
所定のディレイラインの信号処理装置による読込みに応
じてクリアデータを出力したり、所定のディレイライン
がディレイラインの長さパラメーターにより示さるメモ
リロケーションに有効なデータで満たされた後、読込み
に応じて選択されたメモリロケーションからのデータを
出力するディレイライン初期化ロジックとディレイライ
ン ンフィグレーションレジスターファイルにより作動
する。実施例において、所定のディレイラインはリセッ
ト又はカウント値に全て「0」を書込む処理を示す信号
によってリセットまたは”クリア”される。また他の実
施例においては、所定のディレイラインと関係つけられ
た制御ビットを有している。また信号処理装置、ディレ
イラインコンフィグレーションレジスターファイル、デ
ィレイライン初期化ロジック及び出力ロジックは集積回
路にまとめられている。
【0022】特に本発明は、入力信号のソースを含んだ
オーディオ処理装置と、入力信号に対応するディレイラ
インを用いたリアルタイムオーディオボイスプログラム
を実行するため入力信号のソースに接続した信号処理装
置及び信号処理装置に接続されると共に、ディレイライ
ンをストアーするメモリロケーションのセットを有する
メモリとに適している。ディレイラインマネージメント
ロジックは、メモリと信号処理装置に接続され、オーデ
ィオボイスプログラムに対し所定のディレイラインに割
当てられたメモリロケーションのセットのサブセットを
クリアする入力信号のソースからの命令により作動す
る。ひとつのボイスプログラムがほかのボイスプログラ
ムによって置換される時、入力信号のソースは信号処理
装置による実行のためのメモリにボイスプログラムを割
当てたり、所定のディレイラインをクリアするために命
令を発したりするのに使用される。このように、それぞ
れのディレイラインはディレイラインコンフィグレーシ
ョンレジスターファイルのべースオフセット値とカウン
ト値によって詳細に説明される。べースオフセット値
は、所定のディレイラインの始まりを示し、カウント値
はディレイラインの読込みにおけるゲートデータに使用
される。ディレイラインがカウント値を「0」にセット
することにより初期化された後、そのディレイラインへ
の書込みはカウンターをインクリメントする。ディレイ
ラインの読込みが要求された時、もし、カウント値が初
期化されていて、要求されたディレイラインの長さが実
際にストアーしているサンプルの数より長いならば
「0」を返し、ディレイラインの長さがカウント値より
少ない場合は、実際にメモリにストアーされているデー
タが返される。従って、ディレイラインはクリアデータ
を書き込むことなく初期化される。実際、ディレイライ
ンカウントレジスターへのホスト処理装置によるひとつ
の書込み命令はディレイラインのクリアを遂行する。こ
のことは信号処理装置にボイスプログラムを動的に割当
てるシステムの能力を大きく改善している。
オーディオ処理装置と、入力信号に対応するディレイラ
インを用いたリアルタイムオーディオボイスプログラム
を実行するため入力信号のソースに接続した信号処理装
置及び信号処理装置に接続されると共に、ディレイライ
ンをストアーするメモリロケーションのセットを有する
メモリとに適している。ディレイラインマネージメント
ロジックは、メモリと信号処理装置に接続され、オーデ
ィオボイスプログラムに対し所定のディレイラインに割
当てられたメモリロケーションのセットのサブセットを
クリアする入力信号のソースからの命令により作動す
る。ひとつのボイスプログラムがほかのボイスプログラ
ムによって置換される時、入力信号のソースは信号処理
装置による実行のためのメモリにボイスプログラムを割
当てたり、所定のディレイラインをクリアするために命
令を発したりするのに使用される。このように、それぞ
れのディレイラインはディレイラインコンフィグレーシ
ョンレジスターファイルのべースオフセット値とカウン
ト値によって詳細に説明される。べースオフセット値
は、所定のディレイラインの始まりを示し、カウント値
はディレイラインの読込みにおけるゲートデータに使用
される。ディレイラインがカウント値を「0」にセット
することにより初期化された後、そのディレイラインへ
の書込みはカウンターをインクリメントする。ディレイ
ラインの読込みが要求された時、もし、カウント値が初
期化されていて、要求されたディレイラインの長さが実
際にストアーしているサンプルの数より長いならば
「0」を返し、ディレイラインの長さがカウント値より
少ない場合は、実際にメモリにストアーされているデー
タが返される。従って、ディレイラインはクリアデータ
を書き込むことなく初期化される。実際、ディレイライ
ンカウントレジスターへのホスト処理装置によるひとつ
の書込み命令はディレイラインのクリアを遂行する。こ
のことは信号処理装置にボイスプログラムを動的に割当
てるシステムの能力を大きく改善している。
【0023】
【実施例】実施例の詳細な説明に入る前に、ミュージッ
クシンセサイザーで代表されるリアルタイムで信号を処
理する楽音処理装置の処理概要を簡単に述べる。一般に
楽音処理装置は、複数の楽音の要素を組合わせることに
より個性のある独立した楽音を構成する。本発明に係る
楽音処理装置においても同様であり、要素の楽音はボイ
スプログラムとして予めホストメモリーに多数記憶さ
れ、ホスト処理モジュールの制御の下、楽音信号処理モ
ジュールで所望の楽音を発生するボイスプログラムとし
て構成される。このボイスプログラムを実行すると、予
め設定された楽音が演奏されるが、ユーザーは鍵盤を押
す等により楽音を変えて独自の演奏を行うことが可能と
なっている。
クシンセサイザーで代表されるリアルタイムで信号を処
理する楽音処理装置の処理概要を簡単に述べる。一般に
楽音処理装置は、複数の楽音の要素を組合わせることに
より個性のある独立した楽音を構成する。本発明に係る
楽音処理装置においても同様であり、要素の楽音はボイ
スプログラムとして予めホストメモリーに多数記憶さ
れ、ホスト処理モジュールの制御の下、楽音信号処理モ
ジュールで所望の楽音を発生するボイスプログラムとし
て構成される。このボイスプログラムを実行すると、予
め設定された楽音が演奏されるが、ユーザーは鍵盤を押
す等により楽音を変えて独自の演奏を行うことが可能と
なっている。
【0024】従って、押された鍵盤等の内容により、実
行中のボイスプログラムを変更する必要が生じる。な
お、ボイスプログラムは多数のコードからなるので、実
行中のボイスプログラムの変更とは、その要素となって
いるボイスプログラムを変更する場合ばかりでなく、所
定のコード又はコードの集まり(コードセグメント)を
置換えることにより行われる。しかし、実行中のボイス
プログラムの一部を単に置換えたのでは、演奏中に置換
えているコードも実行されることになるので楽音にクリ
ックノイズ等が発生してしまう問題がある(詳しくい説
明は、本明細書「発明の課題」の欄を参照されたい)。
そこで本発明では、置換えるべきコードが実行されない
様にマスクする。これにより演奏中のプログラムには、
その部分はあたかも存在しないかの様に処理され、コー
ドを置換えてもクリックノイズ等の問題が発生しない。
以下これらについて詳細に説明する。その際、「ボイス
プログラム」、「コード」或は「命令」は適宜を同意語
として用いる場合がある。
行中のボイスプログラムを変更する必要が生じる。な
お、ボイスプログラムは多数のコードからなるので、実
行中のボイスプログラムの変更とは、その要素となって
いるボイスプログラムを変更する場合ばかりでなく、所
定のコード又はコードの集まり(コードセグメント)を
置換えることにより行われる。しかし、実行中のボイス
プログラムの一部を単に置換えたのでは、演奏中に置換
えているコードも実行されることになるので楽音にクリ
ックノイズ等が発生してしまう問題がある(詳しくい説
明は、本明細書「発明の課題」の欄を参照されたい)。
そこで本発明では、置換えるべきコードが実行されない
様にマスクする。これにより演奏中のプログラムには、
その部分はあたかも存在しないかの様に処理され、コー
ドを置換えてもクリックノイズ等の問題が発生しない。
以下これらについて詳細に説明する。その際、「ボイス
プログラム」、「コード」或は「命令」は適宜を同意語
として用いる場合がある。
【0025】図1は本発明に係るディレイラインマネジ
メントロジックを用いた動的ボイス割当てを行う楽音処
理装置2の構成を示す概略ブロックである。図1におけ
る楽音処理装置2は、入力装置10、信号処理装置5を
有し、当該信号処理装置5はホスト処理モジュール11
及び楽音信号処理モジュール(MSPモジュール)12
を有している。ホスト処理モジュール11は、動的ボイ
ス割当てのためのリソースを含む動的ボイス割当て11
a及び楽音の要素であるボイスプログラムを多数記憶し
ているホストメモリー11bからなり、またMSPモジ
ュール12は、動的ボイス割当てのリソースやディレイ
ラインマネージメントロジックを有する動的ボイス割当
て12a及び複数の楽音要素のボイスプログラムからな
る実行用のボイスプログラムを記憶すると共に、ディレ
イラインを有するMSPメモリー12bとからなってい
る。
メントロジックを用いた動的ボイス割当てを行う楽音処
理装置2の構成を示す概略ブロックである。図1におけ
る楽音処理装置2は、入力装置10、信号処理装置5を
有し、当該信号処理装置5はホスト処理モジュール11
及び楽音信号処理モジュール(MSPモジュール)12
を有している。ホスト処理モジュール11は、動的ボイ
ス割当てのためのリソースを含む動的ボイス割当て11
a及び楽音の要素であるボイスプログラムを多数記憶し
ているホストメモリー11bからなり、またMSPモジ
ュール12は、動的ボイス割当てのリソースやディレイ
ラインマネージメントロジックを有する動的ボイス割当
て12a及び複数の楽音要素のボイスプログラムからな
る実行用のボイスプログラムを記憶すると共に、ディレ
イラインを有するMSPメモリー12bとからなってい
る。
【0026】MSPモジュール12からのアナログ信号
の楽音データは、リアルタイムで増幅器21により増幅
され、ライン13を介してスピーカー14、15に出力
される。なお、楽音データとしてアナログ信号に限定さ
れるものではなく、ディジタル信号や他の形の信号でも
よく、さらにそれが規格化されているか否かは問わな
い。入力装置10としては鍵盤があり、その他ライン1
6を介して入力される楽器の標準規格であるMIDI信
号が入力可能となっている。さらにライン17からアナ
ログ信号を入力し、これをディジタル信号に変換して用
いることも可能である。
の楽音データは、リアルタイムで増幅器21により増幅
され、ライン13を介してスピーカー14、15に出力
される。なお、楽音データとしてアナログ信号に限定さ
れるものではなく、ディジタル信号や他の形の信号でも
よく、さらにそれが規格化されているか否かは問わな
い。入力装置10としては鍵盤があり、その他ライン1
6を介して入力される楽器の標準規格であるMIDI信
号が入力可能となっている。さらにライン17からアナ
ログ信号を入力し、これをディジタル信号に変換して用
いることも可能である。
【0027】ホスト処理モジュール11のホストメモリ
ー11bには、複数のコードにより構成された楽音の要
素となるボイスプログラムが多数記憶され、入力装置1
0やライン16からの入力信号に応じてMSPモジュー
ル12に当該ボイスプログラムを動的に割当てている。
動的に割当てられたボイスプログラムは、MSPメモリ
ー12bに記憶され、また当該ボイスプログラムを実行
するための命令、ディレイラインマネージメントロジッ
ク、テーブル及び係数が、動的ボイス割当てのメモリー
リソースを利用して記憶されている。なおホスト処理モ
ジュール11及びMSPモジュール12に設けられた動
的ボイス割当て11a、12aのためのリソースは、入
力装置10やライン16からのMIDI信号等に応じて
ホストメモリー11bに記憶されているボイスプログラ
ムをMSPメモリー12bに動的に割当てたり、或は割
当ての解除を行うために用いられる。
ー11bには、複数のコードにより構成された楽音の要
素となるボイスプログラムが多数記憶され、入力装置1
0やライン16からの入力信号に応じてMSPモジュー
ル12に当該ボイスプログラムを動的に割当てている。
動的に割当てられたボイスプログラムは、MSPメモリ
ー12bに記憶され、また当該ボイスプログラムを実行
するための命令、ディレイラインマネージメントロジッ
ク、テーブル及び係数が、動的ボイス割当てのメモリー
リソースを利用して記憶されている。なおホスト処理モ
ジュール11及びMSPモジュール12に設けられた動
的ボイス割当て11a、12aのためのリソースは、入
力装置10やライン16からのMIDI信号等に応じて
ホストメモリー11bに記憶されているボイスプログラ
ムをMSPメモリー12bに動的に割当てたり、或は割
当ての解除を行うために用いられる。
【0028】MSPモジュール12は、多数のボイスプ
ログラムを同時に処理するために、データをオーディオ
レイトでデジタル出力する複数のチャネル(例えば、3
2チャネル)を持っている。そして当該チャネルからの
出力は、他のチャネルからの出力と加算され、D/Aコ
ンバータでアナログ信号に変換されてライン13を介し
スピーカ14,15に出力される。各チャネルの動作
は、MSPモジュール12に接続されたインストラクシ
ョンメモリーに記憶されている命令により制御される。
従って新しいボイスプログラムをいずれかのチャネルに
割当てる場合には、そのボイスプログラムの命令、係
数、テーブル及びディレイラインデータをインストラク
ションメモリーに転送しなければならない。この際、割
当てが行われるボイスプログラムが使用していたディレ
イラインをクリアすると共に係数を上書きし、また既存
の命令をマスクする等の処理を行うことによりクリック
ノイズを発生させないようにしている。
ログラムを同時に処理するために、データをオーディオ
レイトでデジタル出力する複数のチャネル(例えば、3
2チャネル)を持っている。そして当該チャネルからの
出力は、他のチャネルからの出力と加算され、D/Aコ
ンバータでアナログ信号に変換されてライン13を介し
スピーカ14,15に出力される。各チャネルの動作
は、MSPモジュール12に接続されたインストラクシ
ョンメモリーに記憶されている命令により制御される。
従って新しいボイスプログラムをいずれかのチャネルに
割当てる場合には、そのボイスプログラムの命令、係
数、テーブル及びディレイラインデータをインストラク
ションメモリーに転送しなければならない。この際、割
当てが行われるボイスプログラムが使用していたディレ
イラインをクリアすると共に係数を上書きし、また既存
の命令をマスクする等の処理を行うことによりクリック
ノイズを発生させないようにしている。
【0029】一方見方を変えれば、個々のチェネルは対
応しているボイスプログラムの出力結果とみなすことが
可能である。この場合例えば、32チャネルの信号処理
装置5では、32個のボイスプログラムがボイスプログ
ラムのグループに割当てられ、これらが所定時間で実行
されることになる。従って、動的ボイス割当てを行うた
めには、ホストメモリー11bに記憶されている1つの
ボイスプログラムをMSPメモリー12bにリアルタイ
ムで、かつ、楽音信号にクリックノイズを発生すること
なく転送しなければならない。ここでリアルタイムと
は、入力装置10を操作するユーザーの聴覚に対応した
ものである。即ち、例えばユーザーが任意の鍵盤を押す
ことにより、当該鍵盤に対応したボイスプログラムが選
択されてMSPメモリー12bに割当てられるが、この
際当該割当てによる楽音信号の遅延や歪み等をユーザー
に気付かれないように処理するという意味である。
応しているボイスプログラムの出力結果とみなすことが
可能である。この場合例えば、32チャネルの信号処理
装置5では、32個のボイスプログラムがボイスプログ
ラムのグループに割当てられ、これらが所定時間で実行
されることになる。従って、動的ボイス割当てを行うた
めには、ホストメモリー11bに記憶されている1つの
ボイスプログラムをMSPメモリー12bにリアルタイ
ムで、かつ、楽音信号にクリックノイズを発生すること
なく転送しなければならない。ここでリアルタイムと
は、入力装置10を操作するユーザーの聴覚に対応した
ものである。即ち、例えばユーザーが任意の鍵盤を押す
ことにより、当該鍵盤に対応したボイスプログラムが選
択されてMSPメモリー12bに割当てられるが、この
際当該割当てによる楽音信号の遅延や歪み等をユーザー
に気付かれないように処理するという意味である。
【0030】ホスト処理モジュ−ル11は、置換えるべ
きボイスプログラムのディレイラインをクリアするため
に命令を出力し、MSPモジュール12のディレイライ
ンマネージメントロジックがこのクリア命令を受け取
る。そしてディレイラインマネージメントロジックは、
所定のディレイラインに割当てられたメモリロケーショ
ンをマスクするのでクリアデ−タを書込むことにより当
該メモリーロケーションをクリアする処理が不要にな
る。このことは動的ボイス割当を非常にシンプルなもの
とし、特にデータをクリアする時間が実質上問題となら
なくなるので種々の処理が簡略化される。
きボイスプログラムのディレイラインをクリアするため
に命令を出力し、MSPモジュール12のディレイライ
ンマネージメントロジックがこのクリア命令を受け取
る。そしてディレイラインマネージメントロジックは、
所定のディレイラインに割当てられたメモリロケーショ
ンをマスクするのでクリアデ−タを書込むことにより当
該メモリーロケーションをクリアする処理が不要にな
る。このことは動的ボイス割当を非常にシンプルなもの
とし、特にデータをクリアする時間が実質上問題となら
なくなるので種々の処理が簡略化される。
【0031】図2はMSPモジュール12の回路構成を
示すブロック図であり、また図3及び図4はディレイラ
インマネージメントロジックの説明図である。図2に示
される様にMSPモジュール12で実行されるボイスプ
ログラムは、ホスト処理モジュール11によってプログ
ラミングされ、複数のMSPモジュール12によるマル
チティンバー楽音合成を行う。MSPモジュール12、
ホストCPUインターフェース200、ローカルRAM
インターフェース201、高速オーディオバス(HSA
B)インターフェース202等の特別なインターフェー
スを持っている。ホストCPUインターフェース200
は、MSPモジュール12の全てのロケーションにアク
セスを可能にし、ホスト処理モジュール11は、MSP
モジュール12内部の全てのコンフィギュレーションレ
ジスター、ステイタスレジスター及びデータレジスター
に対して読込み又は書込みが可能となっている。またM
SPモジュール12には、32個の割込みリソースのど
れが処理を要求しているかを判断するための少なくとも
2つの割込みレジスターを持つ条件割込み・外部LED
インターフェース203が設けられている。
示すブロック図であり、また図3及び図4はディレイラ
インマネージメントロジックの説明図である。図2に示
される様にMSPモジュール12で実行されるボイスプ
ログラムは、ホスト処理モジュール11によってプログ
ラミングされ、複数のMSPモジュール12によるマル
チティンバー楽音合成を行う。MSPモジュール12、
ホストCPUインターフェース200、ローカルRAM
インターフェース201、高速オーディオバス(HSA
B)インターフェース202等の特別なインターフェー
スを持っている。ホストCPUインターフェース200
は、MSPモジュール12の全てのロケーションにアク
セスを可能にし、ホスト処理モジュール11は、MSP
モジュール12内部の全てのコンフィギュレーションレ
ジスター、ステイタスレジスター及びデータレジスター
に対して読込み又は書込みが可能となっている。またM
SPモジュール12には、32個の割込みリソースのど
れが処理を要求しているかを判断するための少なくとも
2つの割込みレジスターを持つ条件割込み・外部LED
インターフェース203が設けられている。
【0032】ローカルRAMインターフェース201は
ディレイラインが割当てられ、16メガワード(1ワー
ド=24ビット)までのDRAMをサポートし、それを
制御する際に用いられるディレイラインコンフィグレー
ションレジスターファイル201Aが設けられている。
HSABインターフェース202は、複数のMSPモジ
ュール12の間で128チャネルのデータ通信を可能に
し、またより高い処理能力を実現するための、複数のM
SPモジュール12によるアルゴリズム展開が可能とな
っている。
ディレイラインが割当てられ、16メガワード(1ワー
ド=24ビット)までのDRAMをサポートし、それを
制御する際に用いられるディレイラインコンフィグレー
ションレジスターファイル201Aが設けられている。
HSABインターフェース202は、複数のMSPモジ
ュール12の間で128チャネルのデータ通信を可能に
し、またより高い処理能力を実現するための、複数のM
SPモジュール12によるアルゴリズム展開が可能とな
っている。
【0033】MSPモジュール12は、2つの基本的内
部バスであるXバス204及びYバス205を有してい
る。主な信号処理のリソースには、24ビット*24ビ
ットの乗算器と56ビットアキュムレーター(以下、M
AC206と称す)及び算術論理器(以下、ALUと称
す)207がある。後で詳しく述べる様に、MAC20
6とALU207は入力ラッチ、シフター、リミッタ
ー、マルチプレクサーを共有している。またMSPモジ
ュール12は、Xメモリー208及びYメモリー209
の2つの内部メモリーを持ち、Xメモリー208とYメ
モリー209は、それぞれ256ワード(1ワード=2
4ビット)のシングルポートSRAMからなっている。
Xメモリー208はリニアにアドレス指定され、一方Y
メモリー209はリニアとサーキュラーとに分割してア
ドレス指定が可能となっている。HSABインターフェ
ース202は、64ワード(1ワード=24ビット)の
SRAMを有している。
部バスであるXバス204及びYバス205を有してい
る。主な信号処理のリソースには、24ビット*24ビ
ットの乗算器と56ビットアキュムレーター(以下、M
AC206と称す)及び算術論理器(以下、ALUと称
す)207がある。後で詳しく述べる様に、MAC20
6とALU207は入力ラッチ、シフター、リミッタ
ー、マルチプレクサーを共有している。またMSPモジ
ュール12は、Xメモリー208及びYメモリー209
の2つの内部メモリーを持ち、Xメモリー208とYメ
モリー209は、それぞれ256ワード(1ワード=2
4ビット)のシングルポートSRAMからなっている。
Xメモリー208はリニアにアドレス指定され、一方Y
メモリー209はリニアとサーキュラーとに分割してア
ドレス指定が可能となっている。HSABインターフェ
ース202は、64ワード(1ワード=24ビット)の
SRAMを有している。
【0034】HSABインターフェース202はMSP
モジュール12が当該HSABインターフェース202
の128チャネルのどのチャネルを使用するかを示すマ
ッピングレジスターを有し、ホスト処理モジュール11
がこれをプログラムする。またMSPモジュール12は
Xメモリー208、Yメモリー209及び外部RAMロ
ケーションに対しRAMインターフェース201を介し
て間接的にアドレス指定を行う際に用いられると共にデ
ィレイラインに当該ディレイラインの長さパラメータを
出力する際にも用いられるインデックスレジスター21
0を有している。その他MSPモジュール12は、Xバ
ス204、Yバス205に接続されているノイズ発生装
置211及びS/Tレジスター212、ホストCPUイ
ンターフェース200と接続されたバスライン501に
よって読込み、書込み可能なマイクロコードストアー2
13と、このマイクロコードストア213に接続されて
いるプリフェッチバッファー214を有している。さら
にMSPモジュール12は、内蔵のクロック・タイミン
グ制御ブロック215を有している。
モジュール12が当該HSABインターフェース202
の128チャネルのどのチャネルを使用するかを示すマ
ッピングレジスターを有し、ホスト処理モジュール11
がこれをプログラムする。またMSPモジュール12は
Xメモリー208、Yメモリー209及び外部RAMロ
ケーションに対しRAMインターフェース201を介し
て間接的にアドレス指定を行う際に用いられると共にデ
ィレイラインに当該ディレイラインの長さパラメータを
出力する際にも用いられるインデックスレジスター21
0を有している。その他MSPモジュール12は、Xバ
ス204、Yバス205に接続されているノイズ発生装
置211及びS/Tレジスター212、ホストCPUイ
ンターフェース200と接続されたバスライン501に
よって読込み、書込み可能なマイクロコードストアー2
13と、このマイクロコードストア213に接続されて
いるプリフェッチバッファー214を有している。さら
にMSPモジュール12は、内蔵のクロック・タイミン
グ制御ブロック215を有している。
【0035】MAC206とALU207へのデータパ
スには、Xバス204と接続されているX入力レジスタ
ー216及びYバス205と接続されているY入力レジ
スター217があり、X入力レジスター216とY入力
レジスター217の出力は、それぞれシフター/リミッ
ター218,219に送られ、当該シフター/リミッタ
ー218,219の出力は、5入力1出力(5対1)の
マルチプレクサー220,221の入力の1つにそれぞ
れ送られる。この他、5対1のマルチプレクサー22
0,221には、S/Tレジスター212、ALU20
7及びMAC206からの信号が入力する。MAC20
6からの信号は、シフター/リミッター240を介して
5対1マルチプレクサー220に入力され、またALU
207からの信号は、シフター/リミッター241を介
して5対1マルチプレクサー221に入力される。そし
て5対1マルチプレクサー220,221からの信号
は、入力ラッチ223,224及びALU207にそれ
ぞれ送られる。入力ラッチ223,224の出力は、M
AC206、ラッチ224、シフター225及びセレク
ター226に順次出力されてMAC206にフィードバ
ックされる。一方ラッチ224の下位側ビットは、ラウ
ンダー227を介してXバス204、Yバス205及び
コンパレーター228に送られる。なお、コンパレータ
ー228には、S/Tレジスター212からの信号も入
力する。
スには、Xバス204と接続されているX入力レジスタ
ー216及びYバス205と接続されているY入力レジ
スター217があり、X入力レジスター216とY入力
レジスター217の出力は、それぞれシフター/リミッ
ター218,219に送られ、当該シフター/リミッタ
ー218,219の出力は、5入力1出力(5対1)の
マルチプレクサー220,221の入力の1つにそれぞ
れ送られる。この他、5対1のマルチプレクサー22
0,221には、S/Tレジスター212、ALU20
7及びMAC206からの信号が入力する。MAC20
6からの信号は、シフター/リミッター240を介して
5対1マルチプレクサー220に入力され、またALU
207からの信号は、シフター/リミッター241を介
して5対1マルチプレクサー221に入力される。そし
て5対1マルチプレクサー220,221からの信号
は、入力ラッチ223,224及びALU207にそれ
ぞれ送られる。入力ラッチ223,224の出力は、M
AC206、ラッチ224、シフター225及びセレク
ター226に順次出力されてMAC206にフィードバ
ックされる。一方ラッチ224の下位側ビットは、ラウ
ンダー227を介してXバス204、Yバス205及び
コンパレーター228に送られる。なお、コンパレータ
ー228には、S/Tレジスター212からの信号も入
力する。
【0036】ALU207には、5対1マルチプレクサ
ー220,221からの信号の他に、S/Tレジスター
212及びインデックスレジスター210からの信号が
入力する。そしてALU207は、出力ライン229に
インデックス値、出力ライン230に論理演算結果、出
力ライン231に制御信号を出力する。出力ライン23
0に出力された論理演算結果は、ラッチ232に送ら
れ、ラッチ232からの出力は出力ライン233,23
4によってXバス204、Yバス205に送られる。ま
たラッチ232のX端子からの出力は、コンパレーター
228に送られる。コンパレーター228からの出力信
号、出力ライン235を介するMAC206からの制御
信号及び出力ライン231を介するALU207からの
制御信号は、条件割込み・外部LEDインターフェース
203に入力される。MSPモジュール12では、Xバ
ス204とYバス205によりデーターストレージと処
理ブロック間のオペランド転送が行われる。これらのバ
スは論理的には連続的なものであるが、ゲートトランジ
スタ−によってメインレジスターバンク、ALU、MA
Cバスから、I/O機能のいくつかは分離されている。
ー220,221からの信号の他に、S/Tレジスター
212及びインデックスレジスター210からの信号が
入力する。そしてALU207は、出力ライン229に
インデックス値、出力ライン230に論理演算結果、出
力ライン231に制御信号を出力する。出力ライン23
0に出力された論理演算結果は、ラッチ232に送ら
れ、ラッチ232からの出力は出力ライン233,23
4によってXバス204、Yバス205に送られる。ま
たラッチ232のX端子からの出力は、コンパレーター
228に送られる。コンパレーター228からの出力信
号、出力ライン235を介するMAC206からの制御
信号及び出力ライン231を介するALU207からの
制御信号は、条件割込み・外部LEDインターフェース
203に入力される。MSPモジュール12では、Xバ
ス204とYバス205によりデーターストレージと処
理ブロック間のオペランド転送が行われる。これらのバ
スは論理的には連続的なものであるが、ゲートトランジ
スタ−によってメインレジスターバンク、ALU、MA
Cバスから、I/O機能のいくつかは分離されている。
【0037】MSPモジュール12等の動作タイミング
は、オーディオのサンプルレートにより決められ、MS
Pモジュール12は、48KHzのサンプルレートで実
行する様に設計されている。そして512ステップのマ
イクロコードが1サンプル時間内で実行可能になってい
る。各命令サイクルでXバス204及びYバス205を
介して所定のレジスタにアクセスでき、かつ、MAC2
06又はALU207どちらかの演算が可能になってい
る。なおALU207とMAC206は分離しているの
で、それぞれ独立してデータ処理が可能となっており、
またこれらはXバス204、Yバス205及び入力マル
チプレクサーを共有するので、MAC206又はALU
207のいずれか一方だけが1つの命令によりスタート
する様になっている。
は、オーディオのサンプルレートにより決められ、MS
Pモジュール12は、48KHzのサンプルレートで実
行する様に設計されている。そして512ステップのマ
イクロコードが1サンプル時間内で実行可能になってい
る。各命令サイクルでXバス204及びYバス205を
介して所定のレジスタにアクセスでき、かつ、MAC2
06又はALU207どちらかの演算が可能になってい
る。なおALU207とMAC206は分離しているの
で、それぞれ独立してデータ処理が可能となっており、
またこれらはXバス204、Yバス205及び入力マル
チプレクサーを共有するので、MAC206又はALU
207のいずれか一方だけが1つの命令によりスタート
する様になっている。
【0038】マイクロコードは、レジスターブロック、
HSABインターフェース202、RAM等の間のデー
タの動きを制御する。マイクロコードデコーダー(不図
示)には、ノーマルデコードとスペシャルデコードがあ
り、ノーマルデコードでは、ALU207又はMAC2
06の1命令による動作と同期してXバス204とYバ
ス205を介していずれかのレジスターにアクセスとで
きるようになっている。スペシャルデコードは、条件割
込み・LEDインターフェース203に対する”CON
DITIONAL INTERRUPT”と”LED”
のオプコードを実行する。スペシャルデコードに対する
命令が実行されると、この命令をデコードするためにイ
ンプットセレクト或はアドレスのフィールドが使用さ
れ、レジスターのアクセスは同一の命令に対しては実行
できない様になっている。ALU207は1命令で1回
の演算を行い、MAC206は2命令で1回の演算を行
い、これらは共に互いのデータを入力できる様に構成さ
れているので、常に演算結果をレジスターやRAMに書
込む必要がない。書込みは、別々の命令を実行する際に
行われる。Xバス204又はYバス205が、アイドル
状態となる命令は(例えば、ディレイラインコンフィグ
レーションレジスターファイル201Aへの書込み
等)、インターフェース200を介してホスト処理モジ
ュール11からアクセスされた時に用いられる。
HSABインターフェース202、RAM等の間のデー
タの動きを制御する。マイクロコードデコーダー(不図
示)には、ノーマルデコードとスペシャルデコードがあ
り、ノーマルデコードでは、ALU207又はMAC2
06の1命令による動作と同期してXバス204とYバ
ス205を介していずれかのレジスターにアクセスとで
きるようになっている。スペシャルデコードは、条件割
込み・LEDインターフェース203に対する”CON
DITIONAL INTERRUPT”と”LED”
のオプコードを実行する。スペシャルデコードに対する
命令が実行されると、この命令をデコードするためにイ
ンプットセレクト或はアドレスのフィールドが使用さ
れ、レジスターのアクセスは同一の命令に対しては実行
できない様になっている。ALU207は1命令で1回
の演算を行い、MAC206は2命令で1回の演算を行
い、これらは共に互いのデータを入力できる様に構成さ
れているので、常に演算結果をレジスターやRAMに書
込む必要がない。書込みは、別々の命令を実行する際に
行われる。Xバス204又はYバス205が、アイドル
状態となる命令は(例えば、ディレイラインコンフィグ
レーションレジスターファイル201Aへの書込み
等)、インターフェース200を介してホスト処理モジ
ュール11からアクセスされた時に用いられる。
【0039】ホスト処理モジュール11は、ホストCP
Uインターフェース200を介して、MSPモジュール
12の内部レジスターの読込み又は書込み或はMSPモ
ジュール12等の動作を制御している。またホストCP
Uインターフェース200は、ローカルRAMインター
フェース201、HSABインターフェース201と同
様に、割込み、制御レジスター及びMSPモジュール1
2の全ての内部レジスターを設定するための重要なイン
ターフェースで、このためXバス204、Yバス205
に対してALU207や他の内部ブロックと競合する場
合が生じる。そこでホストCPUインターフェース20
0は、現在行っているアクセス動作が終了するまでホス
ト処理モジュール11にウェイトステートを挿入するこ
とが可能である。例えば、ALU207がXメモリー2
08に書込みを行っている時は、この書き込みが終了す
るまでホスト処理モジュール11にウエイトステイトが
挿入されることになる。
Uインターフェース200を介して、MSPモジュール
12の内部レジスターの読込み又は書込み或はMSPモ
ジュール12等の動作を制御している。またホストCP
Uインターフェース200は、ローカルRAMインター
フェース201、HSABインターフェース201と同
様に、割込み、制御レジスター及びMSPモジュール1
2の全ての内部レジスターを設定するための重要なイン
ターフェースで、このためXバス204、Yバス205
に対してALU207や他の内部ブロックと競合する場
合が生じる。そこでホストCPUインターフェース20
0は、現在行っているアクセス動作が終了するまでホス
ト処理モジュール11にウェイトステートを挿入するこ
とが可能である。例えば、ALU207がXメモリー2
08に書込みを行っている時は、この書き込みが終了す
るまでホスト処理モジュール11にウエイトステイトが
挿入されることになる。
【0040】ホストCPUインターフェース200から
は、16ビットのホスト処理モジュール11に2キロワ
ード長のアドレスが出力される。このアドレス空間は全
て使われてはいないが、割付けられている。一方MSP
モジュール12は、16,24,56,80ビットのワ
ード長のデータを扱う。そこでホストCPUインターフ
ェース200は、ホスト処理モジュール11がMSPモ
ジュール12にアクセスが可能な様にインターフェース
をとして機能している。MSPモジュール12で読み込
み、書き込みが行われる際にはデータはラッチされる。
これによりホスト処理モジュール11は、1つのアクセ
スに対し最初のワードの読み込み、或は最後のワードの
書き込みの時だけウエイトステイトを受け取ることが可
能になる。一方ホストCPUインターフェース200
は、MSPモジュール12の内部レジスター及びポート
に対するアクセスをデコーディングする。MSPモジュ
ール12のローカルRAMインターフェース201は、
24ビットのアドレス空間及び16メガワード*24ビ
ットの大容量のメモリー空間へのアクセスをサポートし
ている。実際のRAMロケーションは、8本のRAS信
号により8つの空間に分割されている。このためアドレ
スバスは、DRAMサポート用に設計されている。書込
み可能なRAMロケーションは、異なるアドレス指定の
方法により2つのロケーションに分けられ、一方はディ
レイライン用にサーキュラーにアドレス指定され、他方
はルックアップテーブルとして用いるサンプルデータ及
びエンベロープデータ等を格納するためリニアアドレス
指定されている。
は、16ビットのホスト処理モジュール11に2キロワ
ード長のアドレスが出力される。このアドレス空間は全
て使われてはいないが、割付けられている。一方MSP
モジュール12は、16,24,56,80ビットのワ
ード長のデータを扱う。そこでホストCPUインターフ
ェース200は、ホスト処理モジュール11がMSPモ
ジュール12にアクセスが可能な様にインターフェース
をとして機能している。MSPモジュール12で読み込
み、書き込みが行われる際にはデータはラッチされる。
これによりホスト処理モジュール11は、1つのアクセ
スに対し最初のワードの読み込み、或は最後のワードの
書き込みの時だけウエイトステイトを受け取ることが可
能になる。一方ホストCPUインターフェース200
は、MSPモジュール12の内部レジスター及びポート
に対するアクセスをデコーディングする。MSPモジュ
ール12のローカルRAMインターフェース201は、
24ビットのアドレス空間及び16メガワード*24ビ
ットの大容量のメモリー空間へのアクセスをサポートし
ている。実際のRAMロケーションは、8本のRAS信
号により8つの空間に分割されている。このためアドレ
スバスは、DRAMサポート用に設計されている。書込
み可能なRAMロケーションは、異なるアドレス指定の
方法により2つのロケーションに分けられ、一方はディ
レイライン用にサーキュラーにアドレス指定され、他方
はルックアップテーブルとして用いるサンプルデータ及
びエンベロープデータ等を格納するためリニアアドレス
指定されている。
【0041】これらのアドレス指定の方法を、図3及び
図4を参照して説明する。テーブルとディレイラインの
設定は、64セットあるコンフィグレーションレジスタ
ーファイル350で行われる。図3(a) はディレイライ
ンとテーブルのメモリーマップを示したもので、ディレ
イラインロケーション349、テーブルロケーション3
53により構成される。ディレイラインロケーション3
49は、”DLTOP”351で示されるRAMインタ
ーフェースブロックにあるデクリメントカウンターの範
囲によって決まり、「0」から「63」の64個のディ
レイラインと当該ディレイラインとテーブルのためのブ
ロック352を持つことが可能になっている。図3(b)
はディレイラインコンフィグレーションファイル201
Aの説明図で、ディレイラインコンフィグレーションレ
ジスター201Aは、オフセット360、カウンター3
61、ディレイラインかテーブルかを”DL/T”で示
すビット362の3つのパートからなっている。所定の
ディレイラインは、ディレイライン番号363に等しい
ポインターによって識別される。なおカウンター361
の実施例を図5に示す。オフセット360は、ディレイ
ライン又はテーブルのスタート位置を示している。カウ
ンター361の動作は、”DL/T”ビット362によ
って異なり、”DL/T”ビット362が、テーブルに
設定されている場合は、このカウンター361は何の意
味も持たない。一方ディレイラインに設定されている場
合は、カウンター361はディレイラインの読込みにお
けるゲートデータとして用いられる。
図4を参照して説明する。テーブルとディレイラインの
設定は、64セットあるコンフィグレーションレジスタ
ーファイル350で行われる。図3(a) はディレイライ
ンとテーブルのメモリーマップを示したもので、ディレ
イラインロケーション349、テーブルロケーション3
53により構成される。ディレイラインロケーション3
49は、”DLTOP”351で示されるRAMインタ
ーフェースブロックにあるデクリメントカウンターの範
囲によって決まり、「0」から「63」の64個のディ
レイラインと当該ディレイラインとテーブルのためのブ
ロック352を持つことが可能になっている。図3(b)
はディレイラインコンフィグレーションファイル201
Aの説明図で、ディレイラインコンフィグレーションレ
ジスター201Aは、オフセット360、カウンター3
61、ディレイラインかテーブルかを”DL/T”で示
すビット362の3つのパートからなっている。所定の
ディレイラインは、ディレイライン番号363に等しい
ポインターによって識別される。なおカウンター361
の実施例を図5に示す。オフセット360は、ディレイ
ライン又はテーブルのスタート位置を示している。カウ
ンター361の動作は、”DL/T”ビット362によ
って異なり、”DL/T”ビット362が、テーブルに
設定されている場合は、このカウンター361は何の意
味も持たない。一方ディレイラインに設定されている場
合は、カウンター361はディレイラインの読込みにお
けるゲートデータとして用いられる。
【0042】ディレイラインは、このカウンター361
を「0」にする事で初期化され、その後このカウンター
361は書込みが行われる度にインクルメントする。な
お通常カウンターの初期化は、”鍵盤が押される”等に
より行われる。そしてディレイラインの読込みの際に、
リクエストされたディレイライン時間がカウンター36
1をリセットしてからストアーしたサンプル数(カウン
ト値)よりも長い場合には、「0」値が出力される。一
方リクエストされたディレイライン時間がカウンター3
61値以下の場合は、実際にメモリーにストアーされて
いる値が出力される。なおカウンター361は”$FF
FF”で停止し、その後は、ディレイライン時間に関係
なく実際にメモリーにストアーされた値が出力されるよ
うになる。これによって、実際にメモリーに「0」を書
込んで、当該メモリーをクリアしなくてもディレイライ
を初期化することが可能になる。
を「0」にする事で初期化され、その後このカウンター
361は書込みが行われる度にインクルメントする。な
お通常カウンターの初期化は、”鍵盤が押される”等に
より行われる。そしてディレイラインの読込みの際に、
リクエストされたディレイライン時間がカウンター36
1をリセットしてからストアーしたサンプル数(カウン
ト値)よりも長い場合には、「0」値が出力される。一
方リクエストされたディレイライン時間がカウンター3
61値以下の場合は、実際にメモリーにストアーされて
いる値が出力される。なおカウンター361は”$FF
FF”で停止し、その後は、ディレイライン時間に関係
なく実際にメモリーにストアーされた値が出力されるよ
うになる。これによって、実際にメモリーに「0」を書
込んで、当該メモリーをクリアしなくてもディレイライ
を初期化することが可能になる。
【0043】図3(a) に示す様に、チャネル6とチャネ
ル5に対するオフセット値の違いは、図3(b) に示す様
にディレイラインのカウント値によって決まる。同図の
場合、オフセット値の違いは2000となり、チャネル
5のカウント値、即ち#5のディレイラインのサンプル
数が2000である。#5のディレイラインが2000
サンプルの長さで、その内900が書込みされている場
合、つまりカウント長さが900に等しいときは、90
0以上のデータは不定となる。またリセット後、900
が書込みされている場合は、#5ディレイラインのカウ
ンター値は900になる。ディレイラインのための書込
みアドレスは、当該ディレイラインのオフセット値にデ
ィクリメントカウンター値を加算することで得られる。
またディレイラインのための読込みアドレスは、ディレ
イラインの長さがコンフィグレーションレジスターファ
イル350のカウンター値より、短いか又は等しい場合
は、ディクリメントカウンター値とオフセット値とディ
レイライン値を加算した値になる。MSPモジュール1
2からテーブル数とインデックスで与えられるテーブル
アドレスは、”DLTOP”値、コンフィグレーション
レジスターファイル350のテーブルオフセット値、イ
ンデックス値を加算した値になる。
ル5に対するオフセット値の違いは、図3(b) に示す様
にディレイラインのカウント値によって決まる。同図の
場合、オフセット値の違いは2000となり、チャネル
5のカウント値、即ち#5のディレイラインのサンプル
数が2000である。#5のディレイラインが2000
サンプルの長さで、その内900が書込みされている場
合、つまりカウント長さが900に等しいときは、90
0以上のデータは不定となる。またリセット後、900
が書込みされている場合は、#5ディレイラインのカウ
ンター値は900になる。ディレイラインのための書込
みアドレスは、当該ディレイラインのオフセット値にデ
ィクリメントカウンター値を加算することで得られる。
またディレイラインのための読込みアドレスは、ディレ
イラインの長さがコンフィグレーションレジスターファ
イル350のカウンター値より、短いか又は等しい場合
は、ディクリメントカウンター値とオフセット値とディ
レイライン値を加算した値になる。MSPモジュール1
2からテーブル数とインデックスで与えられるテーブル
アドレスは、”DLTOP”値、コンフィグレーション
レジスターファイル350のテーブルオフセット値、イ
ンデックス値を加算した値になる。
【0044】図4に基づきアドレス発生の論理の説明図
を説明する。入力信号として、コンフィグレーションレ
ジスターファイル350からのパーテションベース値3
70、MSPモジュール12からディクリメントカウン
ター373に入力するのリセット信号371とサイクル
スタート信号372及びコンフィグレーションレジスタ
ーファイル350に入力する、ディレイライン/テーブ
ルインデックス信号374などがある。ディクリメント
カウンター373は、リセット信号371及びサイクル
スタート信号372をMSPモジュール12から受信す
る。そしてパーテションベース値370、ディクリメン
トカウンター373の出力は、マルチプレクサー375
に入力され、コンフィグレーションレジスターファイル
350の”DL/T”ビット362に対応してライン3
76を介してベースアドレスを出力する。
を説明する。入力信号として、コンフィグレーションレ
ジスターファイル350からのパーテションベース値3
70、MSPモジュール12からディクリメントカウン
ター373に入力するのリセット信号371とサイクル
スタート信号372及びコンフィグレーションレジスタ
ーファイル350に入力する、ディレイライン/テーブ
ルインデックス信号374などがある。ディクリメント
カウンター373は、リセット信号371及びサイクル
スタート信号372をMSPモジュール12から受信す
る。そしてパーテションベース値370、ディクリメン
トカウンター373の出力は、マルチプレクサー375
に入力され、コンフィグレーションレジスターファイル
350の”DL/T”ビット362に対応してライン3
76を介してベースアドレスを出力する。
【0045】オフセット値は、インデックスレジスター
377からライン378を介してテーブルのオフセット
値360(又はディレイラインの長さ)が与えられると
共に、コンフィグレーションレジスターファイル350
からもライン379を介して与えられる。そしてライン
378、379からのオフセット値は、加算器380で
加算されライン381を介して新たなオフセット値とし
て、加算器382に送られ、ここでベースアドレス37
6と加算される。加算器382の出力は、直接テーブル
アドレスとして使われると共に、剰余論理回路384に
出力される。剰余論理回路384には、”DLTOP”
値も入力して、ディレイラインアドレスをライン358
を介してマルチプレクサー386に出力する。マルチプ
レクサー386は、コンフィグレーションレジスターフ
ァイル350の”DL/T”ビット362により制御さ
れ、レジスター387にアドレス値を出力する。なお偶
数/奇数ワードの切り替えビット388は、ホスト処理
モジュール11により制御される。
377からライン378を介してテーブルのオフセット
値360(又はディレイラインの長さ)が与えられると
共に、コンフィグレーションレジスターファイル350
からもライン379を介して与えられる。そしてライン
378、379からのオフセット値は、加算器380で
加算されライン381を介して新たなオフセット値とし
て、加算器382に送られ、ここでベースアドレス37
6と加算される。加算器382の出力は、直接テーブル
アドレスとして使われると共に、剰余論理回路384に
出力される。剰余論理回路384には、”DLTOP”
値も入力して、ディレイラインアドレスをライン358
を介してマルチプレクサー386に出力する。マルチプ
レクサー386は、コンフィグレーションレジスターフ
ァイル350の”DL/T”ビット362により制御さ
れ、レジスター387にアドレス値を出力する。なお偶
数/奇数ワードの切り替えビット388は、ホスト処理
モジュール11により制御される。
【0046】レジスター378内のアドレスは、外部メ
モリ390へ送られる。そして書込みを行う場合、デー
タはホスト処理モジュール11から外部メモリ390の
中の適切なロケーションに送られ、また読込みを行う場
合、データはゲート392等の出力ロジックにライン3
91を介して出力される。ゲート392にはライン39
3を介してロジック394からの信号も入力する。ロジ
ック394には、コンフィグレーションレジスターファ
イル350からのディレイラインのカウント値と、イン
デックスレジスター377からディレイラインの長さが
入力する。これによりロジック394は、カウント値と
ディレイラインの長さを比較判断し、カウント値がディ
レイラインの長さより大きいか又は等しい場合には、ラ
イン393を介してゲート392にハイレベルの信号を
出力する。通常ディレイラインでの書込みは、当該ディ
レイラインの先頭から行われ、また読込みは読込むべき
データの直前のデータから行われる。書込みにおけるア
ドレス値は、パーテションベース値、ディレイラインの
オフセット値、ディクリメントカウンターの出力値によ
り演算され、また読込みにおけるインデックスレジスタ
ーからのディレイライン長は、ディクリメントカウンタ
ー値にディレイラインのオフセット値を加算することに
より得られる。
モリ390へ送られる。そして書込みを行う場合、デー
タはホスト処理モジュール11から外部メモリ390の
中の適切なロケーションに送られ、また読込みを行う場
合、データはゲート392等の出力ロジックにライン3
91を介して出力される。ゲート392にはライン39
3を介してロジック394からの信号も入力する。ロジ
ック394には、コンフィグレーションレジスターファ
イル350からのディレイラインのカウント値と、イン
デックスレジスター377からディレイラインの長さが
入力する。これによりロジック394は、カウント値と
ディレイラインの長さを比較判断し、カウント値がディ
レイラインの長さより大きいか又は等しい場合には、ラ
イン393を介してゲート392にハイレベルの信号を
出力する。通常ディレイラインでの書込みは、当該ディ
レイラインの先頭から行われ、また読込みは読込むべき
データの直前のデータから行われる。書込みにおけるア
ドレス値は、パーテションベース値、ディレイラインの
オフセット値、ディクリメントカウンターの出力値によ
り演算され、また読込みにおけるインデックスレジスタ
ーからのディレイライン長は、ディクリメントカウンタ
ー値にディレイラインのオフセット値を加算することに
より得られる。
【0047】これらのレジスターによって、MSPモジ
ュール12はフレキシブルにテーブル、ディレイライン
を構成することが可能となり、ディレイラインとテーブ
ルのあらゆる組み合わせを64個までサポートできる様
になる。前記レジスターには2つのロケーションがあ
り、1つはテーブル/ディレイラインのオフセット値
と、テーブル又はディレイラインいずれかを設定するロ
ケーションであり、他の1つはディレイラインのサンプ
ル数をカウントするロケーションである。なおこれらの
レジスターは、ウエイトステイトを発生させることがな
い。
ュール12はフレキシブルにテーブル、ディレイライン
を構成することが可能となり、ディレイラインとテーブ
ルのあらゆる組み合わせを64個までサポートできる様
になる。前記レジスターには2つのロケーションがあ
り、1つはテーブル/ディレイラインのオフセット値
と、テーブル又はディレイラインいずれかを設定するロ
ケーションであり、他の1つはディレイラインのサンプ
ル数をカウントするロケーションである。なおこれらの
レジスターは、ウエイトステイトを発生させることがな
い。
【0048】このレジスターは64ワードの25ビット
構成になっており、これは最上位の1ビットとそれ以外
の24ビットで一組として扱われる。 この24ビット
のデータをディレイラインのオフセット値と呼ぶことと
する。 最上位のビットはMSP RAMのアドレス計
算の切り換えを設定するもので、このビットが1の場合
はディレイラインとしてアドレス計算を行い、0の場合
はテーブルとしてアドレス計算を行う。またディレイラ
インのオフセット値の24ビットデータが持つ意味は、
最上位ビットが1の場合はディレイラインの書き込み位
置であるディレイメモリーの先頭からのオフセット値
(24ビット)と見なされる。 最上位ビットが0の場
合には、テーブルのスタートアドレスであるRAMの分
割値からのオフセット値(24ビット)と見なされる。
このレジスタは64ワード 25ビットの大きさである
から、16ビットバスのホストから見ると256バイト
のアドレスロケーションを占める。2つ目のロケーショ
ンは、64ワード、16ビットのレジスターからなる。
ディレイラインが設定されている場合には、レジスター
値は、ホストCPUモジュール11によってレジスター
が「0」に設定されてから、書込みされたデータの数を
示している。従って、特別にRAMをクリアしなくて
も、ディレイラインのクリアを行うことが可能になる。
ディレイラインの書込み動作によって、カウンター値は
インクルメントされるので、ディレイラインの読込まれ
ている間、リクエストされるディレイラインをカウンタ
ー値と比較して、RAMにストアーされているデータを
出力するか、あるいは「0」を出力するかを決定する。
なおカウンター361は、”FFFF”で止まるので、
64キロワード以上のディレイラインに対するカウント
は行われない。従って、テーブルとして設定されている
場合には、カウンター361は使われない。
構成になっており、これは最上位の1ビットとそれ以外
の24ビットで一組として扱われる。 この24ビット
のデータをディレイラインのオフセット値と呼ぶことと
する。 最上位のビットはMSP RAMのアドレス計
算の切り換えを設定するもので、このビットが1の場合
はディレイラインとしてアドレス計算を行い、0の場合
はテーブルとしてアドレス計算を行う。またディレイラ
インのオフセット値の24ビットデータが持つ意味は、
最上位ビットが1の場合はディレイラインの書き込み位
置であるディレイメモリーの先頭からのオフセット値
(24ビット)と見なされる。 最上位ビットが0の場
合には、テーブルのスタートアドレスであるRAMの分
割値からのオフセット値(24ビット)と見なされる。
このレジスタは64ワード 25ビットの大きさである
から、16ビットバスのホストから見ると256バイト
のアドレスロケーションを占める。2つ目のロケーショ
ンは、64ワード、16ビットのレジスターからなる。
ディレイラインが設定されている場合には、レジスター
値は、ホストCPUモジュール11によってレジスター
が「0」に設定されてから、書込みされたデータの数を
示している。従って、特別にRAMをクリアしなくて
も、ディレイラインのクリアを行うことが可能になる。
ディレイラインの書込み動作によって、カウンター値は
インクルメントされるので、ディレイラインの読込まれ
ている間、リクエストされるディレイラインをカウンタ
ー値と比較して、RAMにストアーされているデータを
出力するか、あるいは「0」を出力するかを決定する。
なおカウンター361は、”FFFF”で止まるので、
64キロワード以上のディレイラインに対するカウント
は行われない。従って、テーブルとして設定されている
場合には、カウンター361は使われない。
【0049】ローカルRAMインターフェース201
は、24ビット長のDRAMサーキュラー/リニアスプ
リットポイントレジスターを有し、MSPモジュール1
2に対しディレイライン用メモリーの終端位置とテーブ
ル用メモリーの先端位置を示している。スプリットポイ
ントレジスターはディレイライン用メモリーの終端位置
の値を示し、”2Nー1(Nは整数)”である必要があ
る。このレジスターはホストCPUモジュール11にウ
エイトステイトを発生させることがなく、またこのレジ
スターは24ビット長のデータを出力するので、16ビ
ットのホストCPUインターフェース200は、ロング
ワードとして扱うことにより、読込み/書込を行ってい
る。またローカルRAMインターフェース201は、2
4ビットの読込みのみ可能なDRAMデクリメントカウ
ントレジスターを有し、このDRAMデクリメントカウ
ントレジスターは現在のDRAMデクリメントカウンタ
ー値を持っている。そしてMSPモジュール12が、停
止した時にだけその値が確定される。従ってDRAMデ
クリメントカウントレジスターは、ホストCPUモジュ
ール11に対していかなるウェイトステートを発生せ
ず、24ビットの幅を持ち16ビットのワード長のデー
タとしてホストCPUインターフェース200で扱われ
る。
は、24ビット長のDRAMサーキュラー/リニアスプ
リットポイントレジスターを有し、MSPモジュール1
2に対しディレイライン用メモリーの終端位置とテーブ
ル用メモリーの先端位置を示している。スプリットポイ
ントレジスターはディレイライン用メモリーの終端位置
の値を示し、”2Nー1(Nは整数)”である必要があ
る。このレジスターはホストCPUモジュール11にウ
エイトステイトを発生させることがなく、またこのレジ
スターは24ビット長のデータを出力するので、16ビ
ットのホストCPUインターフェース200は、ロング
ワードとして扱うことにより、読込み/書込を行ってい
る。またローカルRAMインターフェース201は、2
4ビットの読込みのみ可能なDRAMデクリメントカウ
ントレジスターを有し、このDRAMデクリメントカウ
ントレジスターは現在のDRAMデクリメントカウンタ
ー値を持っている。そしてMSPモジュール12が、停
止した時にだけその値が確定される。従ってDRAMデ
クリメントカウントレジスターは、ホストCPUモジュ
ール11に対していかなるウェイトステートを発生せ
ず、24ビットの幅を持ち16ビットのワード長のデー
タとしてホストCPUインターフェース200で扱われ
る。
【0050】図5は図3(b) に示されたカウンター36
1のための実施例である。カウンター361はSRAM
400を有し、当該SRAM400はライン374を介
して入力するディレイライン/テーブルインデックス値
によりアドレスされた64の項目のデータが格納されて
いる。またSRAM400には、ライン401を介して
書込可能信号、ライン402を介してデータ及びライン
403を介してアドレスがそれぞれ入力し、そしてライ
ン404を介してデータが出力される。ライン403を
介して入力するアドレスは、ラッチ405から出力さ
れ、このラッチ405に入力するデータはライン374
を介するディレイライン/テーブルインデックス値から
導出されたディレイラインのアドレス”DLADDR”
である。またライン402を介して入力するデータは、
マルチプレクサー406から出力されるデータで、この
データはライン407を介してホスト処理モジュール1
1から入力するデータ及びインクリメンター409から
ライン408を介して入力するデータに基づいている。
1のための実施例である。カウンター361はSRAM
400を有し、当該SRAM400はライン374を介
して入力するディレイライン/テーブルインデックス値
によりアドレスされた64の項目のデータが格納されて
いる。またSRAM400には、ライン401を介して
書込可能信号、ライン402を介してデータ及びライン
403を介してアドレスがそれぞれ入力し、そしてライ
ン404を介してデータが出力される。ライン403を
介して入力するアドレスは、ラッチ405から出力さ
れ、このラッチ405に入力するデータはライン374
を介するディレイライン/テーブルインデックス値から
導出されたディレイラインのアドレス”DLADDR”
である。またライン402を介して入力するデータは、
マルチプレクサー406から出力されるデータで、この
データはライン407を介してホスト処理モジュール1
1から入力するデータ及びインクリメンター409から
ライン408を介して入力するデータに基づいている。
【0051】ライン401を介する書込可能信号は、O
Rゲート410により出力され、ORゲート410の一
方の入力は、ライン411を介して入力するリセットデ
ィレイライン信号で、この信号はディレイラインをリセ
ットするための項目に全て「0」を書込んだ時、又はカ
ウントRAMにデータを書込んだ時にホストCPUモジ
ュール11から出力される。ORゲート410の他の入
力は、制御ロジック413からライン412を介して入
力するインクリメントカウント信号である。なお制御ロ
ジック413は、マルチプレクサー406を制御するた
めの選択信号をライン414を介して出力し、またライ
ン374を介して入力するディレイライン/テーブルイ
ンデックス値をラッチするためのラッチ信号をライン4
15を介してラッチ405に出力している。一方ラッチ
417には、SRAM404の出力と、ライン418を
介して制御装置413からのラッチ信号が入力し、その
出力はライン416を介してインクリメンター409に
送られる。インクリメンター409では、入力信号の値
に1を加算し、マルチプレクサー406に出力してい
る。制御ロジック413は、ライン419からの信号に
より動作し、この信号はホスト処理モジュール11によ
り出力されたディレイラインの書込みアクセス信号であ
る。ディレイラインの書込みには、SRAM400から
ディレイラインのカウント値を読込む命令が含まれてい
る。
Rゲート410により出力され、ORゲート410の一
方の入力は、ライン411を介して入力するリセットデ
ィレイライン信号で、この信号はディレイラインをリセ
ットするための項目に全て「0」を書込んだ時、又はカ
ウントRAMにデータを書込んだ時にホストCPUモジ
ュール11から出力される。ORゲート410の他の入
力は、制御ロジック413からライン412を介して入
力するインクリメントカウント信号である。なお制御ロ
ジック413は、マルチプレクサー406を制御するた
めの選択信号をライン414を介して出力し、またライ
ン374を介して入力するディレイライン/テーブルイ
ンデックス値をラッチするためのラッチ信号をライン4
15を介してラッチ405に出力している。一方ラッチ
417には、SRAM404の出力と、ライン418を
介して制御装置413からのラッチ信号が入力し、その
出力はライン416を介してインクリメンター409に
送られる。インクリメンター409では、入力信号の値
に1を加算し、マルチプレクサー406に出力してい
る。制御ロジック413は、ライン419からの信号に
より動作し、この信号はホスト処理モジュール11によ
り出力されたディレイラインの書込みアクセス信号であ
る。ディレイラインの書込みには、SRAM400から
ディレイラインのカウント値を読込む命令が含まれてい
る。
【0052】このようにして、制御ロジック413は、
ライン412を介してインクリメントカウント信号をO
Rゲート410に出力し、またライン408を介して入
力するインクリメンター409からの出力を選択すべく
ライン414を介してマルチプレクサー406を制御す
る。さらにディレイラインアドレス及び当該アドレスか
ら読込んだカウント値をラッチするためにライン415
及びライン418を介してラッチ信号の出力を行い、そ
のためにディレイラインに書込みを行う。制御信号のタ
イミングは、ライン404を介して出力されるカウント
値が所定のディレイラインとアクセスする際に読込ま
れ、その後インクリメンター409の出力がSRAM4
00に入力データとして出力されるように働く。
ライン412を介してインクリメントカウント信号をO
Rゲート410に出力し、またライン408を介して入
力するインクリメンター409からの出力を選択すべく
ライン414を介してマルチプレクサー406を制御す
る。さらにディレイラインアドレス及び当該アドレスか
ら読込んだカウント値をラッチするためにライン415
及びライン418を介してラッチ信号の出力を行い、そ
のためにディレイラインに書込みを行う。制御信号のタ
イミングは、ライン404を介して出力されるカウント
値が所定のディレイラインとアクセスする際に読込ま
れ、その後インクリメンター409の出力がSRAM4
00に入力データとして出力されるように働く。
【0053】実施例の変形例には、より高速化を実現す
るためにメモリ内のカウントレジスター361に対し独
自のカウンター361を使用することである。しかしこ
れは楽音処理装置2において要求される回路構成との兼
ね合いによる。本発明に係る信号処理装置5は、ディレ
イラインメモリに「0」を書込んでクリアでにしなくて
もホスト処理モジュール11によりディレイラインを自
動的にクリアすることが可能となる。即ちディレイライ
ンは、ディレイラインカウントレジスターが書込操作と
なった時に初期化される。本発明により、テーブルとデ
ィレイラインを定義する64個のコンフィグレーション
レジスターのセットを持つ信号処理装置5の提供が可能
になり、ホストCPUモジュール11は、所定のディレ
イラインがリセットされていることを示すコンフィグレ
ーションレジスターファイル350にマークをする。こ
の操作は所定のディレイラインのためにコンフィグレー
ションレジスターファイル350内のカウントパラメー
ターをクリアすること、即ち信号処理装置5によって実
行中のボイスプログラムのディレイラインをクリアす
る。このようにして、本発明に係るたディレイラインマ
ネージメントロジックはデジタル信号処理に基礎を置い
た動的ボイス割当てを行う楽音処理装置2のパフォーマ
ンスを高めることが可能になっている。
るためにメモリ内のカウントレジスター361に対し独
自のカウンター361を使用することである。しかしこ
れは楽音処理装置2において要求される回路構成との兼
ね合いによる。本発明に係る信号処理装置5は、ディレ
イラインメモリに「0」を書込んでクリアでにしなくて
もホスト処理モジュール11によりディレイラインを自
動的にクリアすることが可能となる。即ちディレイライ
ンは、ディレイラインカウントレジスターが書込操作と
なった時に初期化される。本発明により、テーブルとデ
ィレイラインを定義する64個のコンフィグレーション
レジスターのセットを持つ信号処理装置5の提供が可能
になり、ホストCPUモジュール11は、所定のディレ
イラインがリセットされていることを示すコンフィグレ
ーションレジスターファイル350にマークをする。こ
の操作は所定のディレイラインのためにコンフィグレー
ションレジスターファイル350内のカウントパラメー
ターをクリアすること、即ち信号処理装置5によって実
行中のボイスプログラムのディレイラインをクリアす
る。このようにして、本発明に係るたディレイラインマ
ネージメントロジックはデジタル信号処理に基礎を置い
た動的ボイス割当てを行う楽音処理装置2のパフォーマ
ンスを高めることが可能になっている。
【0054】
【効果】本発明に係るコードセグメン置換装置により、
ボイスプログラムを動的に割り当てる際に、割当てるべ
きメモリーロケーションをマスクするので、従来の様に
当該メモリーロケーションに「0」データ等を書込むこ
とにより初期化又はクリアした後に割当てる方法に比べ
割当て時間をが大幅に短縮することが可能になった。こ
れによりユーザーにクリックノイズ、遅延等を気づかれ
ることなくリアルタイムでボイスプログラムの動的割当
てが可能になった。
ボイスプログラムを動的に割り当てる際に、割当てるべ
きメモリーロケーションをマスクするので、従来の様に
当該メモリーロケーションに「0」データ等を書込むこ
とにより初期化又はクリアした後に割当てる方法に比べ
割当て時間をが大幅に短縮することが可能になった。こ
れによりユーザーにクリックノイズ、遅延等を気づかれ
ることなくリアルタイムでボイスプログラムの動的割当
てが可能になった。
【図1】本発明のディレイラインマネージメントロジッ
クを有する信号処理装置の概要ブロック図である。
クを有する信号処理装置の概要ブロック図である。
【図2】MSPモジュールの回路構成を示すブロック図
である。
である。
【図3】アドレスの指定方法を説明する図で、図3(a)
はディレイラインとテーブルのメモリーマップを示し、
図3(b) はディレイラインコンフィグレーションレジス
タ−ファイルの説明図である。
はディレイラインとテーブルのメモリーマップを示し、
図3(b) はディレイラインコンフィグレーションレジス
タ−ファイルの説明図である。
【図4】所定のディレイライン内のメモリロケ−ション
にアクセスするためのアドレス発生ロジックを説明する
図である。
にアクセスするためのアドレス発生ロジックを説明する
図である。
【図5】図3(b) におけるディレイラインコンフィグレ
ーションレジスタ−ファイルの概略ブロック図である。
ーションレジスタ−ファイルの概略ブロック図である。
【図6】ボイスプログラム置換時に発生するノイズの発
生原因を説明するための説明図で、(a)はディレイラ
インRAMのマップを示し、(b)は短いディレイライ
ンに設定されたRAMに楽音データを記憶する場合、
(c)は(b)を長いディレイラインに変更する場合、
(d)は置換領域を全てクリヤする従来の方法、(e)
は出力段階においてスイッチ制御する従来の方法及び
(f)はリングバッファーの当該ディレイラインRAM
を示す図である。
生原因を説明するための説明図で、(a)はディレイラ
インRAMのマップを示し、(b)は短いディレイライ
ンに設定されたRAMに楽音データを記憶する場合、
(c)は(b)を長いディレイラインに変更する場合、
(d)は置換領域を全てクリヤする従来の方法、(e)
は出力段階においてスイッチ制御する従来の方法及び
(f)はリングバッファーの当該ディレイラインRAM
を示す図である。
2 楽音処理装置 5 信号処理装置 10 入力装置 11 ホスト処理モジュール 11a 動的ボイス割り当て 11b ホストメモリ 12 楽音信号処理モジュール(MSPモジュール) 12a 動的ボイス割り当て 12b MSPメモリ 13 ライン 14 スピーカ 15 スピーカ 16 ライン 17 ライン 21 増幅器 200 ホストCPUインターフェース 201 ローカルRAMインターフェース 201A ディレイラインコンフィグレーションレジス
ターファイル 202 HSABインターフェイス 203 条件割り込み・外部LEDインターフェイス 204 Xバス 205 Yバス 206 MAC 207 ALU 208 Xメモリー 209 Yメモリー 210 インデックスレジスター 211 ノイズ発生装置 212 S/レジスター 213 マイクロコードストアー 214 プリフェッチバッファー 216 X入力レジスター 217 Y入力レジスター 218 シフター/リミッター 219 シフター/リミッター 220 マルチプレクサー 221 マルチプレクサー 223 入力ラッチ 224 入力ラッチ 225 シフター 226 セレクター 227 ラウンダー 228 コンパレーター 229 出力ライン 230 出力ライン 231 出力ライン 232 ラッチ 234 出力ライン 235 出力ライン 240 シフター/リミッター 241 シフター/リミッター 349 ディレイラインロケーション 350 コンフィグレーションレジスター 361 カウンター 370 パーテションベース値 371 リセット信号 372 サイクルスタート信号 373 ディクリメントカウンター 374 ディレイライン/テーブルインデックス信号 375 マルチプレクサー 376 ライン 377 インデックスレジスター 378 ライン 381 ライン 382 加算器 384 剰余論理回路 386 マルチプレクサー 387 レジスター 388 切り替えビット 390 外部メモリ 391 ライン 392 ゲート 393 ライン 394 ロジック 400 SRAM 401 ライン 402 ライン 403 ライン 404 ライン 405 ラッチ 406 マルチプレクサー 407 ライン 408 ライン 409 インクリメンター 410 ORゲート 411 ライン 412 ライン 413 制御ロジック 414 ライン 415 ライン 416 ライン 417 ラッチ 418 ライン 419 ライン
ターファイル 202 HSABインターフェイス 203 条件割り込み・外部LEDインターフェイス 204 Xバス 205 Yバス 206 MAC 207 ALU 208 Xメモリー 209 Yメモリー 210 インデックスレジスター 211 ノイズ発生装置 212 S/レジスター 213 マイクロコードストアー 214 プリフェッチバッファー 216 X入力レジスター 217 Y入力レジスター 218 シフター/リミッター 219 シフター/リミッター 220 マルチプレクサー 221 マルチプレクサー 223 入力ラッチ 224 入力ラッチ 225 シフター 226 セレクター 227 ラウンダー 228 コンパレーター 229 出力ライン 230 出力ライン 231 出力ライン 232 ラッチ 234 出力ライン 235 出力ライン 240 シフター/リミッター 241 シフター/リミッター 349 ディレイラインロケーション 350 コンフィグレーションレジスター 361 カウンター 370 パーテションベース値 371 リセット信号 372 サイクルスタート信号 373 ディクリメントカウンター 374 ディレイライン/テーブルインデックス信号 375 マルチプレクサー 376 ライン 377 インデックスレジスター 378 ライン 381 ライン 382 加算器 384 剰余論理回路 386 マルチプレクサー 387 レジスター 388 切り替えビット 390 外部メモリ 391 ライン 392 ゲート 393 ライン 394 ロジック 400 SRAM 401 ライン 402 ライン 403 ライン 404 ライン 405 ラッチ 406 マルチプレクサー 407 ライン 408 ライン 409 インクリメンター 410 ORゲート 411 ライン 412 ライン 413 制御ロジック 414 ライン 415 ライン 416 ライン 417 ラッチ 418 ライン 419 ライン
Claims (29)
- 【請求項1】 ボイスプログラムを置換えて楽音合成す
る楽音処理装置において、 ディレイラインを用いてボイスプログラムを実行する信
号処理装置と、 該信号処理装置に接続されると共に、複数のメモリーロ
ケーションのセットが設けられて前記ディレイラインを
ストアーするメモリーと、 該メモリー及び前記信号処理装置に接続されると共に、
前記メモリーのメモリーロケーションにおけるセットの
サブセットに直接書込むことなくボイスプログラムを自
動的にクリアする命令により作動するメモリーマネージ
メントロジックと有してなる、 ことを特徴とするディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項2】 前記メモリーマネージメントロジック
が、マスクロジックを備え、該マスクロジックが所定の
ディレイラインに新しいデータが書込まれている間、信
号処理装置による所定のディレイラインの読込みに対し
クリアデータ値を返すべく当該ディレイラインのメモリ
ーロケーションにおけるサブセット内のデータをマスク
する命令に応答してなる、 請求項1記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項3】 前記メモリーマネージメントロジック
が、前記メモリーロケーションのセットにおけるサブセ
ットを示すオフセット値とサブセットにおける有効なメ
モリーロケーションの数を示すカウント値を持つディレ
イラインのパラメーターをストアーするレジスターファ
イルを有してなる、 請求項2記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項4】 前記メモリーマネージメントロジック
が、前記カウント値及び所定のディレイランにおける選
択されたメモリーロケーションに有効なデーターを読込
み、信号処理装置により前記選択されたメモリーロケー
ションに対する読込み処理により作動するアドレスロジ
ックを有し、 該アドレスロジックは、前記メモリーに接続された前記
選択されたメモリーロケーションにデータが書き込まれ
ている間、信号処理装置による読込みに対しクリアデー
タを出力し、データ書込み後は前記選択されたメモリー
ロケーションからデータを出力してなる、 請求項3記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項5】 前記メモリーマネージメントロジック
が、前記レジスターファイルの更新させる命令を出力し
てなる、 請求項3記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項6】 前記命令が、所定のディレイラインのパ
ラメータにおけるカウント値を「0」に設定してなる、 請求項5記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項7】前記メモリーマネージメントロジックが、
メモリーロケーションのセットをディレイライン及びボ
イスプログラムにより利用されるデータのテーブルに割
当てるパラメーターと、 前記メモリーロケーションのセットのにおける所定のサ
ブセットが前記ディレイラインと前記テーブルのいずれ
であるかを示す第1パラメータと、前記メモリーロケー
ションのセットにおけるサブセットを示すオフセットを
示した第2パラメーターと、 ディレイラインに割当てられたサブセットにおける有効
なメモリーロケーションの数を示すカウント値とをスト
アーするレジスターファイルを有してなる、 請求項1記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項8】 前記メモリーマネージメントロジック
が、複数のディレイラインのパラメーターをストアーす
るレジスターファイルを有し、前記パラメーターは、所
定のディレイラインのサブセットを示すメモリーロケー
ションのセットにおけるオフセット値と前記サブセット
内の有効なメモリーロケーションの数を示すカウント値
とを持ち、所定のディレイラインと該ディレイラインの
長さパラメーターとをストアーしているレジスターファ
イルに対して前記信号処理装置はポインターにより所定
のディレイラインのデータにアクセスしてなる、 請求項1記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項9】 前記メモリーマネージメントロジック
が、前記ポインターと、所定のディレイラインが有効な
データでディレイラインの長さパラメーターにより示さ
れる前記メモリーロケーションに有効なデータが書き込
まれたことを示すべく信号処理装置がディレイラインの
長さパラメーターに対応するロケーションを読み込んだ
際に作動するアドレスロジックと、 前記メモリーに接続されると共に、ディレイラインの長
さパラメーターにより示されるメモリーロケーションに
有効なデータを書込んでいる間、信号処理装置による読
込みに対しクリアデータを出力し、前記メモリーロケー
ションに有効なデータの書込み後には選択されたメモリ
ーロケーションからデータを出力するアドレスロジック
に応答する出力ロジックを有してなる、 請求項8記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項10】 前記メモリーマネージメントロジック
が、前記レジスターファイルの更新させる命令を出力し
てなる、 請求項8記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項11】 前記命令が、所定のディレイラインの
パラメータにおけるカウント値を「0」に設定してな
る、 請求項8記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項12】 前記レジスターファイルが、複数のテ
ーブルのパラメーターをストアーし、前記テーブルのパ
ラメーターが所定のテーブルのためのメモリーロケーシ
ョンのセットにおけるサブセットを示すオフセット値を
当該メモリーロケーションのセット内に有してなる、 請求項7記載のディレイラインマネージメントロジック
を有する信号処理装置及びそれを用いた楽音処理装置。 - 【請求項13】 ボイスプログラムを置換えて楽音合成
する楽音処理装置において、 ディレイラインを用いてボイスプログラムを実行する信
号処理装置と、 ディレイラインをストアーするメモリーロケーションの
セットを持つメモリーと、 信号処理装置に接続されると共に、前記パラメーターが
所定のディレイラインに割当てたメモリーロケーション
のセットにおけるサブセットを示すオフセット値及び前
記サブセット内の有効なメモリーロケーションの数を示
すカウント値とを持つ複数のディレイラインのパラメー
ターをストアーするレジスターファイルを有し、 前記信号処理装置が、は所定のディレイラインのための
前記レジスターファイルのポインター及びディレイライ
ンの長さパラメーターを持つ所定のディレイラインのデ
ータとアクセスし、所定のディレイラインがリセットさ
れていることを示すべく前記レジスターファイルにマー
クを書込む命令に応答するディレイライン初期化ロジッ
クと、 前記メモリーに接続されると共に、所定のディレイライ
ンがリセットすべくマークされ、又は所定のディレイラ
インがディレイラインの長さパラメーターで示されるメ
モリーロケーションに有効なデータが書き込まれている
間は前記信号処理装置により所定のディレイラインの読
込みに対してクリアデータを出力し、ディレイラインの
長さパラメーターにより示されるメモリーロケーション
に有効なデータが書込まれた後、読込みに対し選択され
たメモリーロケーションからデータを出力するディレイ
ラインアドレッシングロジックに応答する出力ロジック
を有してなる、 ことを特徴とするディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項14】 前記ディレイライン初期化ロジック
は、所定のディレイラインのカウント値に「0」を設定
する処理によりリセットのマークを書込んでなる、 請求項13記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項15】 前記信号処理装置、前記レジスターフ
ァイル、前記ディレイライン初期化ロジック及び前記出
力ロジックとがひとつの集積回路の部分からなってい
る。請求項13記載のディレイラインマネージメントロ
ジックを有する信号処理装置及びそれを用いた楽音処理
装置。 - 【請求項16】 前記レジスターファイルが複数のテー
ブルのパラメーター及び複数のテーブルの中の所定のテ
ーブルのパラメーターで所定のテーブルのメモリーロケ
ーションのセットにおけるサブセットの示すメモリーロ
ケーションのセット内に書込まれたオフセット値を有し
てなる、 請求項13記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項17】 ボイスプログラムを置換えて楽音合成
する楽音処理装置において、 入力信号のソースと、 該入力信号のソースに接続されると共に、前記入力信号
に応じてディレイラインを用いるボイスプログラムをリ
アルタイムで実行するための信号処理装置と、 該信号処理装置に接続されると共に、ディレイラインを
ストアーするためのメモリーロケーションのセットを持
つメモリーと、 該メモリー及び前記信号処理装置に接続されると共に、
所定のディレイラインに割当てられたメモリーロケーシ
ョンのセットにおけるサブセットをボイスプログラムの
ためにクリアすべく前記入力信号のソースからの命令に
応答するメモリーマネージメントロジックとを有してな
る、 ことを特徴とするディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項18】 前記入力信号のソースが、ボイスプロ
グラムの実行のために信号処理装置のメモリーに割当て
ると共に、所定のディレイラインをクリアする命令を出
力するホスト処理装置を有してなる、 請求項17記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項19】 前記メモリーマネージメントロジック
が、マスクロジックを有し、所定のディレイラインのメ
モリーロケーションにおけるサブセットにデータをマス
クする命令に応答して新しいデータを所定のディレイラ
インから書込まれている間は信号処理装置による当該所
定のディレイラインの読込みに対しクリアデータが返さ
れてなる、 請求項17記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項20】 前記メモリーマネージメントロジック
は、前記入力信号のソースに応答するディレイラインの
パラメーターと、 所定のディレイラインのサブセットを示すメモリーロケ
ーションのセット内に書込まれたオフセット値及び前記
サブセットの有効なメモリーロケーションの数を示すカ
ウント値とを持つパラメーターをストアーするレジスタ
ーファイルを有してなる、 請求項17記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項21】 前記メモリーマネージメントロジック
が、前記カウント値と、所定のディレイラインが選択さ
れたメモリーロケーションに有効なデータを書込んだ後
前記信号処理装置が前記選択されたメモリーロケーショ
ンにアクセスした際に応答するアドレスロジックと、 前記メモリーに接続されると共に、前記選択されたメモ
リーロケーションにデータを書込んでいる間は前記信号
処理装置による読込みに応じてクリアデータを出力し、
書込み終了後では前記選択されたメモリーロケーション
からデータを出力するアドレスロジックに応答する出力
ロジックとを有してなる、 請求項20記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項22】 前記メモリーマネージメントロジック
が、前記レジスターファイルの更新させる命令を出力し
てなる、 請求項20記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項23】 前記命令が、所定のディレイラインの
パラメータにおけるカウント値を「0」に設定してな
る、 請求項22記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項24】 前記メモリーマネージメントロジック
が、前記ディレイラインとボイスプログラムが使用して
いるデータのテーブルとメモリーロケーションのセット
を割当てたパラメーターをストアーするレジスターファ
イルとを有し、 前記パラメーターが、メモリーロケーションのセットの
所定のサブセットがディレイラインから成るかテーブル
から成るかを示す第1パラメーター、所定のサブセット
を示すメモリーロケーションのセットの中に書込まれた
有効なオフセット値を示す第2パラメーター及びディレ
イラインに割当てられたサブセットの有効なメモリーロ
ケーションの数を示すカウント値とからなる、 請求項17記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項25】 前記メモリーマネージメントロジック
が、前記入力信号のソースに応答して複数のディレイラ
インのパラメーターをストアーするレジスターファイル
を有し、 前記パラメーターは、所定のディレイラインにおけるサ
ブセットを示すメモリーロケーションのセットのオフセ
ット値及び前記サブセットの有効なメモリーロケーショ
ンの数を示すカウント値とを持ち、 前記信号処理装置が、前記レジスターファイルのポイン
ターとディレイラインの長さパラメーターとを持つ所定
のディレイラインのデータにアクセスしてなる、 請求項17記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項26】 前記メモリーマネージメントロジック
が、ポインターと、所定のディレイラインがディレイラ
インの長さパラメーターにより示されるメモリーロケー
ションに有効なデータを書込んだことを示すべく信号処
理装置によりディレイラインの長さパラメーターを読込
んだ際に応答するアドレスロジックと、 前記メモリーに接続されると共に、前記ディレイライン
の長さパラメーターにより示されるメモリーロケーショ
ンに有効なデータを書込んでいる間は信号処理装置によ
る読込みに対しクリアデータを出力し、ディレイライン
の長さパラメーターにより示されたメモリーロケーショ
ンに有効なデータが書込まれた選択されたメモリーロケ
ーションからのデータを出力するアドレスロジックに応
答する出力ロジックとを有してなる、 請求項25記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項27】 前記メモリーマネージメントロジック
が、前記レジスターファイルの更新させる命令を出力し
てなる、 請求項25記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項28】 前記命令が、所定のディレイラインの
パラメータにおけるカウント値を「0」に設定してな
る、 請求項28記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。 - 【請求項29】 前記レジスターファイルが、複数のテ
ーブルのパラメーターをストアーし、前記テーブルのパ
ラメーターが所定のテーブルのためのメモリーロケーシ
ョンのセットにおけるサブセットを示すオフセット値を
当該メモリーロケーションのセット内に有してなる、 請求項25記載のディレイラインマネージメントロジッ
クを有する信号処理装置及びそれを用いた楽音処理装
置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/078,726 US5657476A (en) | 1993-02-10 | 1993-06-17 | Signal processor with delay line management logic |
| US08/078,726 | 1993-06-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07168562A true JPH07168562A (ja) | 1995-07-04 |
Family
ID=22145858
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6159547A Pending JPH07168562A (ja) | 1993-06-17 | 1994-06-17 | ディレイラインマネージメントロジックを有する信号処理装置及びそれを用いた楽音処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07168562A (ja) |
-
1994
- 1994-06-17 JP JP6159547A patent/JPH07168562A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2838645B2 (ja) | 動的ボイス割当をおこなうオープンアーキテクチャー構成のミュージックシンセサイザー | |
| JP3203701B2 (ja) | コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法 | |
| US5319151A (en) | Data processing apparatus outputting waveform data in a certain interval | |
| US6051772A (en) | Method and apparatus for emulating a frequency modulation device | |
| JPH07181969A (ja) | コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム | |
| Jaffe et al. | An overview of the sound and music kits for the NeXT computer | |
| US5657476A (en) | Signal processor with delay line management logic | |
| JP3163984B2 (ja) | 楽音発生装置 | |
| US5918302A (en) | Digital sound-producing integrated circuit with virtual cache | |
| JP2010522359A (ja) | 電子楽器デジタルインターフェースハードウェア命令セット | |
| JPH07168562A (ja) | ディレイラインマネージメントロジックを有する信号処理装置及びそれを用いた楽音処理装置 | |
| JPH07121181A (ja) | 音声情報処理装置 | |
| US5442125A (en) | Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner | |
| JP2797142B2 (ja) | 電子楽器用処理装置 | |
| JP2605903B2 (ja) | 楽音合成装置 | |
| EP1010275A1 (en) | Audio effects processor having decoupled instruction execution and audio data sequencing | |
| JP3027831B2 (ja) | 楽音波形発生装置 | |
| Byun et al. | Digital Audio Effect System‐on‐a‐Chip Based on Embedded DSP Core | |
| Savell | The EMU10K1 digital audio processor | |
| JP2797138B2 (ja) | 電子楽器用処理装置 | |
| JP3225796B2 (ja) | 信号処理装置および楽音処理装置 | |
| JPH06110453A (ja) | 効果付加装置 | |
| JP3695404B2 (ja) | 波形処理デバイス | |
| GB2040537A (en) | Digital electronic musical instrument | |
| JPH02179697A (ja) | 処理装置 |