JPH10133659A - ディジタル信号処理プロセッサ - Google Patents

ディジタル信号処理プロセッサ

Info

Publication number
JPH10133659A
JPH10133659A JP8303607A JP30360796A JPH10133659A JP H10133659 A JPH10133659 A JP H10133659A JP 8303607 A JP8303607 A JP 8303607A JP 30360796 A JP30360796 A JP 30360796A JP H10133659 A JPH10133659 A JP H10133659A
Authority
JP
Japan
Prior art keywords
data
coefficient
register
coefficient data
selector
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
Application number
JP8303607A
Other languages
English (en)
Inventor
Kazuhisa Okamura
和久 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP8303607A priority Critical patent/JPH10133659A/ja
Publication of JPH10133659A publication Critical patent/JPH10133659A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 DSP以外の資源を使うことなく、指数関数
などを用いて入力音信号の周波数を変化させるような効
果を簡単に付与することができるようにする。 【解決手段】 マイクロプログラム記憶手段はDSPの
機能、すなわちアルゴリズムを規定するマイクロプログ
ラムを格納する。変換手段は係数データを入力し、その
係数データを指数関数特性に従った係数に変換する。演
算手段は変換手段によって変換された指数関数特性に従
った係数、又は係数格納手段から直接入力した係数を利
用しながらディジタル信号演算処理を行う。このとき、
変換手段及び演算手段は共にマイクロプログラム記憶手
段から読み出されるマイクロプログラムによって規定さ
れるアルゴリズムに従って順次処理を行う。このマイク
ロプログラムは係数データをそのまま利用するように制
御する命令コードと、変換手段で変換してから利用する
ように制御する命令コードの両方を含む命令コードセッ
トに基づいて作成されているので、命令コードを適宜選
択するだけで、指数関数特性に従った係数を容易に利用
することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、楽音信号や音声
信号等をディジタル化して処理するのに適したディジタ
ル信号処理プロセッサに係り、特に演算回数を増加させ
ることなく楽音信号や音声信号等を指数変換処理するこ
とのできるディジタル信号処理プロセッサに関する。
【0002】
【従来の技術】ディジタル信号処理プロセッサ(DS
P:Digital Signal Processo
r)は、オーディオ分野では、リバーブレータ(残響付
加装置)、イコライザ、ミキサ等に使用されたり、再帰
型(IIR:InfiniteImpulse Res
ponse)フィルタ、非再帰型(FIR:Finit
e Impulse Response)フィルタ等の
各種ディジタルフィルタを構成するのに使用されてい
る。また、DSPは電子楽器の音源、エンベロープ発生
回路又は残響(リバーブ)効果装置等にも用いられてい
る。また、この他にも精密制御装置、高品位TV又はデ
ィジタルVTRなどの多岐の分野で利用されている。一
方、電子楽器はエレクトロニクス技術及びディジタル技
術の急速な発展に伴ってその性能を大幅に向上しつつあ
り、「電子楽器は自然楽器に比べて音色がもの足りな
い」という欠点も克服し、さらに進歩発展している。そ
の中でも特に、ディジタル信号処理プロセッサ(DS
P)の出現及びその処理速度の高速性能等によって、電
子楽器は、より表現力が豊かになり、多彩な楽音を合成
することができるようになってきた。
【0003】一般にDSPは、基本アルゴリズムとなる
マイクロプログラムを格納するマイクロプログラムレジ
スタと、積和演算を高速で実行するための乗算器、アキ
ュムレータ(累算器)、シフトレジスタ、係数RAM及
び上記乗算器などに所定の係数を供給するための係数レ
ジスタとから構成される。そして、このDSPをディジ
タルフィルタ、音源、エンベロープ発生回路や残響効果
装置等として機能させる場合には、マイクロプログラム
レジスタ内のマイクロプログラムや係数レジスタ内の係
数の内容をそれぞれの機能に応じたものに設定し、さら
にその特性を時間的に変化させるために、係数を順次変
化させていた。
【0004】
【発明が解決しようとする課題】一般に、人の耳に聞こ
える音の周波数はその幅が広く、対数表で表すことがで
きる。ここで、この人の聞こえる音の周波数の範囲にお
いて、入力音信号の周波数を変化させる効果(ワウワウ
等)を付加する場合には、指数関数を入力信号に乗算
し、入力信号を対数軸上でリニアに動かすことによって
行っていた。このように入力信号の周波数を対数軸上で
動かすという効果をDSPで実現する場合には、DSP
の外部に設けられたRAMすなわち外部RAMにリニア
−指数変換テーブルを予め設けておき、DSP内の低周
波発振器(LFO)から出力されるLFO信号に基づい
て外部RAMから係数を引用し、それを入力信号に乗算
するか。または、DSP自身がLFO信号を演算加工し
て、所定の係数を求め、それを入力信号に乗算するとい
う処理を行っていた。
【0005】ところが、外部RAMから係数を引用する
場合には、外部RAMにアドレスを出力するステップ
と、外部RAMから係数を取り込むステップと、その係
数を乗算するステップとの最低3ステップが必要であ
り、また、外部RAMから係数を読み出した場合、その
読出速度とDSPの処理速度とが異なるためにそれを段
階をおって合わせるという必要があり、それに伴うマイ
クロプログラムの作成も複雑となり、外部RAMという
資源も必要であるという問題を有していた。また、DS
P自身が演算加工して係数を求める場合には、その係数
を算出するためにマイクロプログラムの演算回数すなわ
ち処理ステップを使用するため、限りあるDSPの演算
回数を無駄に消費してしまうという問題があった。すな
わち、ワウワウ等の効果を付与するための指数関数カー
ブの係数を求めるためには、LFO信号を4乗すること
によって、その係数の近似値を求め、求められた近似値
を入力信号に乗算していた。このようにして、マイクロ
プログラムが膨大になると、それによってDSPの高速
処理性能が低下するという問題もあった。この発明は上
述の点に鑑みてなされたものであり、DSP以外の資源
を使うことなく、指数関数などを用いて入力音信号の周
波数を変化させるような効果を簡単に付与することので
きるディジタル信号処理プロセッサを提供することを目
的とする。
【0006】
【課題を解決するための手段】この発明に係るディジタ
ル信号処理プロセッサは、波形データを供給する手段
と、アルゴリズムを規定したマイクロプログラムを格納
するマイクロプログラム記憶手段と、係数データを格納
する係数データ格納手段と、供給される波形データに対
し、前記マイクロプログラムによって規定されるアルゴ
リズムに応じて、前記係数データ格納手段から供給され
る係数データを利用しながらディジタル演算処理を施
し、処理の施された波形データを出力する演算手段とを
備えたディジタル信号処理プロセッサであり、さらに係
数データを入力し、前記係数データを指数関数特性に従
って変換し、変換された係数データを出力する変換手段
を備えており、前記マイクロプログラムは、前記係数デ
ータ格納手段から出力される係数データをそのまま前記
ディジタル演算処理に使用するよう制御する命令コード
と、前記変換手段で変換して前記ディジタル演算処理に
使用するよう制御する命令コードの両方を含む命令コー
ドセットに基づいて作成されているものである。マイク
ロプログラム記憶手段はDSPの機能、すなわちアルゴ
リズムを規定するマイクロプログラムを格納する。変換
手段は係数データを入力し、その係数データを指数関数
特性に従った係数に変換する。演算手段は変換手段によ
って変換された指数関数特性に従った係数を利用しなが
らディジタル信号演算処理を行ったり、係数データ格納
手段から供給される係数データを利用しながらディジタ
ル信号演算処理を行う。このとき、変換手段及び演算手
段は共にマイクロプログラム記憶手段から読み出される
マイクロプログラムによって規定されるアルゴリズムに
従って順次処理を行う。従って、従来のように外部RA
Mにリニア−指数変換テーブルを予め設けておき、DS
P内のLFOから出力されるLFO信号に基づいて外部
RAMから指数関数係数を引用しなくても、よいし、ま
た、外部RAMからの係数読み出し速度とDSPの処理
速度とを一々合わせる必要もない。また、マイクロプロ
グラムは、係数データ格納手段から出力される係数デー
タをそのままディジタル演算処理に使用するように制御
する命令コードと、変換手段で変換してからディジタル
演算処理に使用するよう制御する命令コードの両方を含
む命令コードセットに基づいて作成されているので、こ
の命令コードを適宜選択することによって、簡単に指数
関数係数を引用することが可能となり、DSP自身がL
FO信号を演算加工して、所定の指数関数係数を求め、
それを入力信号に乗算するという処理を行わなくてもよ
いので、マイクロプログラムが膨大になることもなく、
それによってDSPの高速処理性能が低下することもな
いという効果がある。
【0007】
【発明の実施の形態】以下、この発明の一実施の形態を
添付図面に従って詳細に説明する。図2はこの発明に係
るディジタル信号処理プロセッサを効果付与回路として
使用した場合の電子楽器のハードウェア構成の一例を示
すブロック図である。この実施の形態において、電子楽
器全体の制御は、マイクロプロセッサユニット(CP
U)1と、システムプログラムや各種パラメータ等を記
憶するプログラムメモリ(ROM)2と、各種データを
一時的に格納し、ワーキングエリアとして用いられるワ
ーキングメモリ(RAM)3とを含むマイクロコンピュ
ータシステムによって行われる。このマイクロコンピュ
ータシステムには、データ及びアドレスバス8を介し
て、鍵盤インターフェイス4、パネルインターフェイス
5、音源6及び効果付与回路7等の各種装置が接続され
ており、これらの各装置はマイクロコンピュータによっ
て制御される。
【0008】鍵盤9は発音すべき楽音の音高を選択する
ための複数の鍵を備えたものであり、各鍵に対応して鍵
盤インターフェイス4が接続される。鍵盤インターフェ
イス4は発生すべき楽音の音高を指定する鍵盤9のそれ
ぞれの鍵に対応して設けられた複数のキースイッチから
なり、鍵盤9の押鍵又は離鍵状態を検出し、離鍵から押
鍵への変化に対応してキーオンイベント信号KONを出
力し、押鍵から離鍵への変化に対応してキーオフイベン
ト信号KOFを出力し、かつ各キーイベントに対応する
鍵を示すキーコード信号KCを出力する。この鍵盤イン
ターフェイス4の各出力に基づき押圧鍵検出処理及び押
圧鍵を複数の発音チャンネルのいずれかに割り当てるた
めの発音割当て処理がマイクロコンピュータシステムに
よって行われ、必要に応じて押し下げ時の押鍵操作速度
を判別してイニシャルタッチデータを生成する処理も行
われる。
【0009】パネルインターフェイス5は、音色、音
量、音高、効果等を選択・設定・制御するための各種操
作子を含む操作パネル10上に設けられており、ピア
ノ、オルガン、バイオリン、金管楽器、ギター等の各種
自然楽器に対応する音色やその他各種の音色を選択する
ものであり、音色選択信号TCや効果制御信号EFを出
力したりする。CPU1はこの効果制御信号EFに基づ
いて、それに対応した効果プログラムすなわちマイクロ
プログラムを効果付与回路7に供給する。音源6は、複
数のチャンネルで楽音信号の同時発生が可能であり、デ
ータ及びアドレスバス8を経由して与えられる各チャン
ネルに割り当てられた鍵のキーコードKC、キーオン信
号KON、キーオフ信号KOF、イニシアルタッチデー
タ、音色選択信号TC及びその他のデータを入力し、こ
れらの各種データに基づき楽音信号を生成し、それを効
果付与回路7に出力する。音源6において複数チャンネ
ルで楽音信号を同時に発音させる構成としては、1つの
回路を時分割で使用することによって複数の発音チャン
ネルを形成するようなものや、1つの発音チャンネルが
1つの回路で構成されるような形式のものであってもよ
い。また、音源6における楽音信号発生方式はいかなる
ものを用いてもよい。例えば、発生すべき楽音の音高に
対応して変化するアドレスデータに応じて波形メモリに
記憶した楽音波形サンプル値データを順次読み出すメモ
リ読み出し方式(波形メモリ方式)、又は上記アドレス
データを位相角パラメータデータとして所定の周波数変
調演算を実行して楽音波形サンプル値データを求めるF
M方式、あるいは上記アドレスデータを位相角パラメー
タデータとして所定の振幅変調演算を実行して楽音波形
サンプル値データを求めるAM方式等の公知の方式を適
宜採用してもよい。また、これらの方式以外にも、自然
楽器の発音原理を模したアルゴリズムにより楽音波形を
合成する物理モデル方式、基本波に複数の高調波を加算
することで楽音波形を合成する高調波合成方式、特定の
スペクトル分布を有するフォルマント波形を用いて楽音
波形を合成するフォルマント合成方式、VCO、VCF
及びVCAを用いたアナログシンセサイザ方式等を採用
してもよい。また、専用のハードウェアを用いて音源を
構成するものに限らず、DSPとマイクロプログラムを
用いて音源を構成するようにしてもよいし、CPUとソ
フトウェアのプログラムで音源を構成するようにしても
よい。
【0010】効果付与回路7は、DSPで構成され、C
PU1によって供給された効果プログラム(マイクロプ
ログラム)に応じた効果を音源6からの楽音信号に施
す。例えば、音源6から出力される楽音信号に、ディス
トーションと残響を付加したい場合には、操作パネル1
0を操作して、ディストーションと残響を付加する操作
子を操作する。すると、CPU1はディストーション付
加プログラムと残響付加プログラムを効果付与回路7に
供給する。効果付与回路7はこれらのマイクロプログラ
ムに従って楽音信号を処理して、所定の効果を付与す
る。効果付与回路7によって各種効果の付与されたディ
ジタルの楽音信号は、ディジタル/アナログ変換器11
R及び11Lによって、アナログの楽音信号に変換さ
れ、図示していない増幅器によって増幅され、スピーカ
システム12R及び12Lから発音される。
【0011】次に、図1を参照して、図2の効果付与回
路7の詳細構成について説明する。この実施例では、効
果付与回路7がディジタル信号処理プロセッサ(DS
P)で構成されている。以下、効果付与回路7を効果用
DSP7とする。効果用DSP7は、入力レジスタ2
1、データレジスタ22,23、係数RAM24、LF
Oレジスタ25、LFO26、セレクタ27,28,2
9、変換回路30、遅延回路31、乗算器32、加算器
33、マイクロプログラムRAM34、読出回路35、
クロック発生回路36、アドレスレジスタ37、アドレ
スコントローラ38、外部遅延RAM39、出力レジス
タ40から構成され、これらの各構成要素はDSPデー
タバス41を介して相互に接続されている。なお、この
効果用DSP7とCPU1は、図2に示された通りデー
タ及びアドレスバス8を介して接続されている。なお、
外部遅延RAM39は、図1では効果用DSP7内に設
けられているように示されているが、実際は大容量RA
Mであり、効果用DSP7の外部に設けられている。従
って、この外部遅延RAM39を除く各構成要素によっ
て1チップのDSPデバイスが構成されている。
【0012】入力レジスタ21は、図2の音源6からの
ディジタル楽音信号をDSP内部に取り込むためのバッ
ファレジスタである。入力レジスタ21は、音源6から
のディジタル楽音信号を入力中に、マイクロプログラム
RAM34からの書込み信号が入力した時点で、そのデ
ィジタル楽音信号を取り込んで記憶する。入力レジスタ
21から読み出されたデータは、セレクタ28の第3端
子に供給される。データレジスタ22及び23は、加算
器33からの演算結果又は外部遅延RAM39からの読
み出されたデータをDSPデータバス41を介して入力
し、それを一時的に記憶するものである。データレジス
タ22及び23はこれらの各データを複数個分記憶可能
な記憶領域を有している。このデータレジスタ22及び
23に対するデータの書込み読出しは、マイクロプログ
ラムRAM34内のマイクロプログラムによって行われ
る。データレジスタ22から読み出されたデータはセレ
クタ27の第3端子、及びセレクタ28の第1端子にそ
れぞれ供給される。係数RAM24は、CPU1からの
係数データをデータ及びアドレスバス8を介して入力
し、それを所定の領域に格納する。係数RAM24から
読み出された係数データはセレクタ29の第1端子に供
給される。なお、係数RAM24に格納される係数デー
タは、データ及びアドレスバス8を介してCPU1によ
ってリアルタイムに書き換えられるようになっている。
これによって、ユーザは外部コントローラの操作に応じ
て効果用DSP7の演算時における係数を時々刻々変化
させることができ、効果をリアルタイムに制御すること
ができる。LFOレジスタ25はLFO26の発振周波
数などに関するデータを格納するものであり、このデー
タもデータ及びアドレスバス8を介してCPU1によっ
てリアルタイムに書き換えられるようになっている。L
FO26は、各種の変調を行うための変調波形(三角
波、鋸波、サイン波など)をLFOレジスタ25からの
データに応じて発振し、それをセレクタ28の第4端子
に出力する。
【0013】セレクタ27は、加算器33からの演算結
果又は外部遅延RAM39から読み出されたデータをD
SPデータバス41を介して第1端子に、固定値“0”
を第2端子に、データレジスタ22からのデータを第3
端子にそれぞれ入力し、その中のいずれか1つを選択し
て遅延回路31に出力する。ここで、固定値として
“0”が存在するのは、加算器33に固定値“0”を与
えて、加算器33の加算処理を行わずに、乗算器32の
乗算結果をスルーさせるためである。セレクタ28は、
データレジスタ22からのデータを第1端子に、固定値
“1”を第2端子に、入力レジスタ21からのデータを
第3端子に、LFO26からのデータの第4端子にそれ
ぞれ入力し、その中のいずれか1つを選択して乗算器3
2の第1端子に出力する。ここで、固定値として“1”
が存在するのは、乗算器32に固定値“1”を与えて、
乗算器32の乗算処理を行わずに、加算器33に供給す
るためである。セレクタ29は、係数RAM24からの
係数データを第1端子に、データレジスタ23からのデ
ータを第2端子にそれぞれ入力し、その中のいずれか1
つを選択して変換回路30に出力する。これらの各セレ
クタ27〜29の選択処理は、マイクロプログラムRA
M34からのマイクロプログラムに応じて行われる。変
換回路30は、セレクタ29によって選択されたデータ
を所定のアルゴリズムに従って変換し、それを乗算器3
2の第2端子に出力するものである。この実施の形態で
は、変換回路30は、セレクタ29からのデータを指数
関数に変換する。この変換回路30の詳細構成について
は後述する。この効果用DSP7は、乗算器32、遅延
回路31及び加算器33によって演算部が構成されてい
る。この演算部は、1サンプリング周期あたり256回
(すなわち、256ステップ)の演算を行うようになっ
ている。遅延回路31は、セレクタ27によって選択さ
れたデータの加算器33への入力タイミングを合わせる
ものである。乗算器32は、セレクタ28からの出力デ
ータと変換回路30を通過したデータとを乗算して、そ
の乗算結果を加算器33に出力する。加算器33は、遅
延回路31からの出力データと乗算器32からの出力デ
ータとを加算して、その加算結果をDSPデータバス4
1に出力する。このとき、乗算器32と加算器33はパ
イプライン方式で動作するものとし、1ステップ目で乗
算器32による乗算を途中まで行い、次の2ステップ目
でその途中からの乗算と乗算結果を用いて加算器33に
よる加算を行う(そのとき乗算器32は別の乗算を行っ
ていることになる)ものとする。
【0014】マイクロプログラムRAM34は、それぞ
れ1サンプリング周期で実行される128ステップのマ
イクロ命令からなるマイクロプログラムを格納してい
る。すなわち、マイクロプログラムRAM34は、1サ
ンプリング周期で1巡回する128段構成のシフトレジ
スタと同様の働きをする。すなわち、マイクロプログラ
ムRAM34の1アドレスは、シフトレジスタの1段に
相当し、そこにマイクロプログラムの1つの命令を格納
している。効果の種類を変更するときには、このマイク
ロプログラムRAM34内のマイクロプログラムを書き
換えることによって行うことができる。このマイクロプ
ログラムは、ROM2に複数記憶されている。従って、
CPU1は、操作パネル10上の効果指定操作子の操作
に応じたマイクロプログラムをROM2から読み出して
マイクロプログラムRAM34に書き込む。ここで、マ
イクロプログラムは、係数RAM24から出力される係
数データをそのままディジタル演算処理に使用するよう
制御する命令コードと、変換回路30で変換してからデ
ィジタル演算処理に使用するよう制御する命令コードの
両方を含む命令コードセットに基づいて作成されてい
る。読出回路35は、クロック発生回路36からの動作
クロックに同期して、マイクロプログラムRAM34に
読出アドレス(図示せず)を供給し、マイクロプログラ
ムRAM34から出力されるマイクロプログラムに対応
したデータを効果用DSP7内の各回路に供給するもの
である。クロック発生回路36は、効果用DSP7内の
各回路に動作クロックを供給するものである。外部遅延
RAM39は、遅延信号を作るために利用されるもので
あり、データの書込み/読出しがマイクロプログラムに
よって行われる。なお、書込み/読出し時のアドレス
は、アドレスコントローラ38から供給される。アドレ
スコントローラ38は、アドレスレジスタ37からの相
対アドレスを絶対アドレスに変換するため、アドレスオ
フセットを加算するものである。ここで、アドレスオフ
セットは、外部遅延RAM39の記憶領域に相当するア
ドレス範囲を、1サンプリング周期毎に1ずつ減算する
減算カウンタの出力である。アドレスレジスタ37は、
外部遅延RAM39の先頭アドレスを『0』と見なした
場合の相対アドレスを、マイクロプログラムに対応した
アクセスタイミングで出力するものである。出力レジス
タ40は、効果付与後のディジタル楽音信号を一時的に
記憶し、次段のディジタル/アナログ変換器11R及び
11Lに出力するものである。なお、この効果用DSP
7には、これ以外にも、係数RAM24の係数データを
補間して演算部に出力するための補間回路などを有する
場合もある。
【0015】次に変換回路30の詳細について説明す
る。図3は、この変換回路30の詳細を示す図である。
図から明らかなように変換回路30は、リニア−指数変
換テーブル301とセレクタ302とから構成される。
セレクタ29からの16ビット構成のデータはセレクタ
302の第1端子とリニア−指数変換テーブル301と
に入力する。リニア−指数変換テーブル301は入力デ
ータを指数関数に従って変換して、セレクタ302の第
2端子(ローレベル“0”側)に出力する。セレクタ3
02は指数変換制御信号EXPに応じて第1端子(ハイ
レベル“1”側)又は第2端子の入力データを選択的に
乗算器32に出力する。ここで、指数変換制御信号EX
Pはアクティブロウなので、図面上では、EXPの上側
にバー表示されている。このように図3の変換回路30
はリニア−指数変換テーブル301を用いて指数関数デ
ータを乗算器32に出力するような構成になっている。
【0016】図4は、変換回路30の別の構成例の詳細
を示す図である。この変換回路は、セレクタ29からの
16ビット構成のデータをシフトして、擬似的に指数関
数を生成するものである。まず、レジスタ303は16
ビット構成の入力データを一時的に記憶する。レジスタ
304は15ビット分のデータを格納するものであり、
レジスタ303の下位側12ビット分のデータをその第
3ビットから第14ビットまでの12ビット分に格納
し、最上位ビットに固定値“1”を、下位2ビット分に
固定値“0”をそれぞれ格納する。レジスタ304の1
5ビット構成のデータはシフトレジスタ309に供給さ
れる。レジスタ305は、レジスタ303の第13ビッ
トから第15ビットまでの3ビット分のデータを格納す
る。レジスタ306は、レジスタ303の最上位ビット
のデータを格納する。反転回路307はレジスタ306
の格納値を反転してオア回路308に供給する。すなわ
ち、レジスタ306の格納値がハイレベル“1”の場合
には、入力データが負の値であることを意味するので、
この反転回路307で最上位ビットを反転し、その反転
出力をオア回路308の第1端子に出力する。なお、オ
ア回路308の第2端子には、指数変換制御信号EXP
が入力しているので、オア回路308は両方の入力がロ
ーレベル“0”の時にゲート回路310にローレベル
“0”を出力し、ゲートを閉じるように制御する。シフ
トレジスタ309はレジスタ304からの15ビット構
成のデータを並列的に入力し、それを指数変換制御信号
EXP及びレジスタ305に格納されている3ビット構
成のデータに基づいて、入力データを所定ビット数だけ
シフトダウンする。シフトレジスタ309はレジスタ3
05に格納されている3ビット構成のデータが『11
1』の場合にはシフトダウンしない、『110』の場合
には1ビット、『101』の場合は2ビット、『10
0』の場合は3ビット、『011』の場合は4ビット、
『010』の場合は5ビット、『001』の場合は6ビ
ット、『000』の場合は7ビットだけシフトダウンす
る。ゲート回路310は、オア回路308からのゲート
制御信号に応じてシフトレジスタ309の出力をセレク
タ310の0側端子に供給したりしなかったりする。レ
ジスタ311は固定値“0”を格納しており、ゲート回
路310からの15ビット構成のデータの最上位ビット
にこの固定値“0”を追加して、16ビット構成のデー
タとしてセレクタ312のローレベル“0”側の端子に
供給する。セレクタ312は、ハイレベル“1”側の端
子に、レジスタ303の上位4ビット分のデータと、ゲ
ート回路310を経由して出力される下位12ビット分
のデータとの合計16ビット分のデータを入力し、ロー
レベル“0”側の端子に、ゲート回路310を経由して
出力される15ビット分のデータと、レジスタ311か
らの固定値“0”のデータとの合計16ビット分のデー
タを入力し、指数変換制御信号EXPに応じていずれか
一方を選択的に乗算器32の第2端子に出力する。
【0017】図4の変換回路の動作を図5のグラフを用
いて説明する。図5のグラフにおいて、直線L1がリニ
ア関数であり、このリニア関数の下側に位置する折れ線
L2が、定数eを底とする指数関数である。図5のグラ
フにおいて、横軸は図4の変換回路への16ビット構成
の入力データを、縦軸は変換回路による変換後の16ビ
ット構成の出力データをそれぞれ示す。まず、入力デー
タとして、『0111 0000 0000 000
0』が入力すると、レジスタ304の格納値は『100
0000 0000 0000』となり、レジスタ3
05の格納値は『111』となり、レジスタ306の格
納値は『0』となる。レジスタ305の格納値が『11
1』なのでシフトレジスタ309はシフト動作しない
で、レジスタ304の格納値をそのままゲート回路31
0を介してセレクタ312に供給する。従って、セレク
タ312からは、レジスタ311の固定値“0”が最上
位ビットに加わった『0100 0000 0000
0000』の値が出力データとして出力される。次に、
入力データとして、『0110 0000 0000
0000』が入力すると、レジスタ304の格納値は
『100 0000 0000 0000』となり、レ
ジスタ305の格納値は『110』となり、レジスタ3
06の格納値は『0』となる。レジスタ305の格納値
が『110』なのでシフトレジスタ309はレジスタ3
04の格納値を1ビットだけシフトダウンする。シフト
ダウンされた値は『010 0000 0000 00
00』となる。そして、シフトダウンされた値と、レジ
スタ311の固定値“0”が最上位ビットに加わった
『0010 0000 0000 0000』の値が出
力データとしてセレクタ312から出力されるようにな
る。以下、入力データに対して同様の変換処理が行わ
れ、図5に示すようにリニア関数は指数関数に変換され
る。
【0018】次に、図6のWAHフィルタを図1の効果
用DSP7で実現する場合の動作例を図7から図12ま
でのDSP信号処理の流れ図を用いて説明する。図6の
WAHフィルタはLFO60の出力を指数関数に変換
し、その変換後の値で乗算器63及び67の乗算係数を
制御するものである。効果用DSP7は、まず、図7の
ステップ1で、セレクタ27の固定値“0”を選択し、
セレクタ28の固定値“1”を選択する。そして、RA
M24から係数中心値を読み出す。そして、その係数中
心値をセレクタ29、変換回路30、乗算器32、加算
器33を通過(スルー)させて、DSPデータバス41
に出力する。そして、セレクタ27の第1端子を選択
し、その係数中心値を遅延回路31にて所定時間だけ遅
延させる。図8のステップ2では、セレクタ28の第4
端子を選択し、セレクタ29の第1端子を選択する。そ
して、LFO26から波形信号を読み出すと同時に係数
RAM24からリニア−指数変換テーブル301を読み
出す。LFO26からの波形信号はセレクタ28の第4
端子を経由して乗算器に、リニア−指数変換テーブル3
01に格納されるデータはセレクタ29の第1端子を経
由して変換回路30に供給される。変換回路30はリニ
ア−指数変換テーブル301に従って指数関数値を乗算
器32に出力する。乗算器32はその指数関数値と、セ
レクタ28を経由してきた波形信号とを乗算し、それを
加算器33に出力する。加算器33はステップ1で遅延
させられていた係数中心値と、乗算器32からの乗算結
果とを加算してDSPデータバス41に出力する。DS
Pデータバス41上に出力された加算値はデータレジス
タ23に変調信号として書き込まれる。このステップ2
によって、図6のLFO60、指数関数変換器61、乗
算器63及び乗算器67が構成される。
【0019】図9のステップ3では、まず、セレクタ2
7の第3端子を選択し、セレクタ28の第3端子を選択
する。そして、入力レジスタ21から入力信号を読み出
す。同時にデータレジスタ22からデータZ2を読み出
す。入力信号はセレクタ28の第3端子を経由して乗算
器32に出力される。このとき、乗算器32の第2端子
には固定値“1”が入力されるように係数RAM24、
セレクタ29及び変換回路30が制御される。従って、
入力信号は乗算器32をスルーして加算器33に供給さ
れる。データZ2はセレクタ27の第3端子を経由して
遅延回路31に出力され、そこで所定時間だけ遅延され
て、加算器33に供給される。加算器33では、入力信
号とデータZ2の反転値すなわち−Z2とを加算し、D
SPデータバス41に出力する。そして、今度は、セレ
クタ27の第1端子を選択し、セレクタ27の第1端子
を経由して、その入力信号からデータZ2の減算されて
値が遅延回路31に供給され、そこで所定時間だけ遅延
される。このステップ3によって、図6の入力信号から
データZ2を減算するレジスタ69と加算器62とが構
成される。
【0020】図10のステップ4では、セレクタ28の
第1端子を選択し、セレクタ29の第1端子を選択す
る。そして、データレジスタ22からデータZ1を読み
出す。同時に係数RAM24から係数(−1/Q)を読
み出す。そして、読み出されたデータZ1はセレクタ2
8の第1端子を経由して乗算器32に供給される。係数
(−1/Q)はセレクタ29の第1端子及び変換回路を
経由して乗算器32に供給される。このとき、変換回路
30のセレクタ302にはハイレベル“1”の指数変換
制御信号EXPが入力しており、係数(−1/Q)は変
換回路30をスルーして乗算器32に供給される。乗算
器32はデータZ1と係数(−1/Q)とを乗算して加
算器33に供給する。加算器33は、ステップ3によっ
て得られた値(入力データからデータZ2を減算した
値)と、乗算器32からの乗算値(データZ1と係数
(−1/Q)の乗算値)とを加算しDSPデータバス4
1に出力する。その値はデータレジスタ22にデータS
1として書き込まれる。このステップ4によって、図6
のデータレジスタ65と乗算器66と加算器62の一部
が構成される。
【0021】図11のステップ5では、セレクタ27の
第3端子を選択し、セレクタ28の第1端子を選択し、
セレクタ29の第2端子を選択する。データレジスタ2
2からデータZ1を読み出す。読み出されたデータZ1
はセレクタ27を経由して遅延回路31に供給される。
これと同時に、ステップ4によって得られた値すなわち
データS1をデータ22から読み出す。読み出されたデ
ータS1はセレクタ28を経由して、乗算器32に供給
される。また、同時にステップ2によって得られた値す
なわち変調信号がデータレジスタ23から読み出され
る。この変調信号はセレクタ29の第2端子及び変換回
路30(スルー状態)を経由して乗算器32に供給され
る。乗算器32はデータS1と変調信号とを乗算して加
算器33に供給する。加算器33は、遅延回路31によ
って遅延されたデータZ1と、乗算器32からの乗算値
(データS1と変調信号との乗算値)を加算し、その加
算値をDSPデータバス41に出力する。この加算値は
出力データとして出力レジスタ40に書き込まれると共
にデータレジスタ22にデータZ1として書き込まれ
る。書き込まれたデータZ1は次回の演算処理にて使用
される。なお、データレジスタ22のデータZ1を書き
換えるようにしてもよい。このステップ5によって、図
6のデータレジスタ65と乗算器63と加算器64が構
成される。
【0022】図12のステップ6では、ステップ5と同
じようにセレクタ27の第3端子を選択し、セレクタ2
8の第1端子を選択し、セレクタ29の第2端子を選択
する。ステップ5によって得られた値すなわちデータZ
1をデータレジスタ22から読み出す。読み出されたデ
ータZ1はセレクタ28を経由して、乗算器32に供給
される。また、同時にステップ2によって得られた値す
なわち変調信号がデータレジスタ23から読み出され
る。この変調信号はセレクタ29の第2端子及び変換回
路(スルー状態)を経由して乗算器32に供給される。
この時に、データレジスタ22からデータZ2が読み出
され、読み出されたデータZ2はセレクタ27の第3端
子を経由して遅延回路31に供給され、所定時間だけ遅
延される。乗算器32はデータZ1と変調信号とを乗算
して加算器33に供給する。加算器33は、遅延回路3
1によって遅延されたデータZ2と、乗算器32からの
乗算値(データZ1と変調信号との乗算値)とを加算
し、その加算値をDSPデータバス41に出力する。こ
の加算値はデータレジスタ22にデータZ2として書き
込まれる(又はデータZ2の値を書き換える)。書き込
まれたデータZ2は次回の演算処理にて使用される。こ
のステップ6によって、図6の加算器64と乗算器67
と加算器68とが構成される。以上のようにして、効果
用DSP7によって、WAHフィルタが構成される。ま
た、この実施の形態では、図8のステップ2が係数RA
M24から出力される係数データを変換回路30で指数
関数特性に従って変換してからディジタル演算処理に使
用するように制御する命令コードに基づいて作成されて
おり、これ以外のステップでは、係数RAM24から出
力される係数データをそのままディジタル演算処理に使
用するように制御する命令コードに基づいて作成されて
いる。
【0023】また、上述の実施例では、電子楽器の効果
用DSPを例に説明したが、この発明の応用はこれに限
定されるものではなく、オーディオ用、各種ディジタル
フィルタ用、電子楽器のエンベロープ発生回路用、精密
制御装置用、高品位TV用又はディジタルVTR用など
の多岐の分野で利用されているDSPに応用できること
はいうまでもない。
【0024】
【発明の効果】以上のようにこの発明によれば、DSP
以外の資源を使うことなく、指数関数などを用いて入力
音信号の周波数を変化させるという効果を楽音信号に簡
単に付与することができるという効果がある。
【図面の簡単な説明】
【図1】 図2の効果付与回路として動作するディジタ
ル信号処理プロセッサの詳細構成を示す図である。
【図2】 この発明に係るディジタル信号処理プロセッ
サを効果付与回路として使用した場合の電子楽器のハー
ドウェア構成の一例を示す図である。
【図3】 図1の変換回路の詳細構成の一例を示す図で
ある。
【図4】 図1の変換回路の詳細構成の別の一例を示す
図である。
【図5】 図4の変換回路がリニア関数値を指数関数係
数に変換するときの動作を説明するための図である。
【図6】 図1の効果付与回路によって実現されるWA
Hフィルタの一例を示す図である。
【図7】 図1の効果付与回路が図6のWAHフィルタ
を実現するための第1ステップの動作例を示す図であ
る。
【図8】 図1の効果付与回路が図6のWAHフィルタ
を実現するための第2ステップの動作例を示す図であ
る。
【図9】 図1の効果付与回路が図6のWAHフィルタ
を実現するための第3ステップの動作例を示す図であ
る。
【図10】 図1の効果付与回路が図6のWAHフィル
タを実現するための第4ステップの動作例を示す図であ
る。
【図11】 図1の効果付与回路が図6のWAHフィル
タを実現するための第5ステップの動作例を示す図であ
る。
【図12】 図1の効果付与回路が図6のWAHフィル
タを実現するための第6ステップの動作例を示す図であ
る。
【符号の説明】
1…CPU、2…ROM、3…データ及びワーキングR
AM、4…鍵盤インターフェイス、5…パネルインター
フェイス、6…音源、7…効果用ディジタル信号処理プ
ロセッサ(DSP)、8…データ及びアドレスバス、9
…鍵盤、10…操作パネル、11R,11L…ディジタ
ル/アナログ変換器、12R,12L…スピーカシステ
ム、21…入力レジスタ、22,23…データレジス
タ、24…係数RAM、25…LFOレジスタ、26…
LFO、27,28,29…セレクタ、30…変換回
路、31…遅延回路、32…乗算器、33…加算器、3
4…マイクロプログラムRAM、35…読出回路、36
…クロック発生回路、37…アドレスレジスタ、38…
アドレスコントローラ、39…外部遅延RAM、40、
出力レジスタ、41…DSPデータバス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 波形データを供給する手段と、 アルゴリズムを規定したマイクロプログラムを格納する
    マイクロプログラム記憶手段と、 係数データを格納する係数データ格納手段と、 供給される波形データに対し、前記マイクロプログラム
    によって規定されるアルゴリズムに応じて、前記係数デ
    ータ格納手段から供給される係数データを利用しながら
    ディジタル演算処理を施し、処理の施された波形データ
    を出力する演算手段とを備えたディジタル信号処理プロ
    セッサであり、 さらに係数データを入力し、前記係数データを指数関数
    特性に従って変換し、変換された係数データを出力する
    変換手段を備えており、 前記マイクロプログラムは、前記係数データ格納手段か
    ら出力される係数データをそのまま前記ディジタル演算
    処理に使用するよう制御する命令コードと、前記変換手
    段で変換して前記ディジタル演算処理に使用するよう制
    御する命令コードの両方を含む命令コードセットに基づ
    いて作成されていることを特徴とするディジタル信号処
    理プロセッサ。
  2. 【請求項2】 前記変換手段は前記係数データを指数関
    数特性に従った係数に変換するためのテーブルで構成さ
    れていることを特徴とする請求項1に記載のディジタル
    信号処理プロセッサ。
  3. 【請求項3】 前記変換手段は前記係数データをシフト
    処理することによって前記指数関数特性に従った係数に
    変換する演算手段で構成されていることを特徴とする請
    求項1に記載のディジタル信号処理プロセッサ。
JP8303607A 1996-10-28 1996-10-28 ディジタル信号処理プロセッサ Pending JPH10133659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8303607A JPH10133659A (ja) 1996-10-28 1996-10-28 ディジタル信号処理プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8303607A JPH10133659A (ja) 1996-10-28 1996-10-28 ディジタル信号処理プロセッサ

Publications (1)

Publication Number Publication Date
JPH10133659A true JPH10133659A (ja) 1998-05-22

Family

ID=17923037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8303607A Pending JPH10133659A (ja) 1996-10-28 1996-10-28 ディジタル信号処理プロセッサ

Country Status (1)

Country Link
JP (1) JPH10133659A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010181723A (ja) * 2009-02-06 2010-08-19 Yamaha Corp 信号処理集積回路及び効果付与装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010181723A (ja) * 2009-02-06 2010-08-19 Yamaha Corp 信号処理集積回路及び効果付与装置

Similar Documents

Publication Publication Date Title
JP3358324B2 (ja) 電子楽器
JP2576702B2 (ja) 電子楽器
JPH0360120B2 (ja)
US6208969B1 (en) Electronic data processing apparatus and method for sound synthesis using transfer functions of sound samples
JPH01198797A (ja) 電子楽器
JPS59168493A (ja) 楽音波形発生装置
JPH10133659A (ja) ディジタル信号処理プロセッサ
JPS58200297A (ja) 包絡線信号発生装置
JPH0535277A (ja) 電子楽器
JP3832383B2 (ja) 楽音生成装置及びプログラム
JP3016470B2 (ja) 音源装置
JP3552265B2 (ja) 音源装置および音声信号形成方法
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JPH0643863A (ja) エフェクタ
JP3085801B2 (ja) 変調信号発生装置
JP3104873B2 (ja) 音源装置
JP3832382B2 (ja) 楽音生成装置及びプログラム
JPH05249954A (ja) 効果付与装置
JP2910632B2 (ja) 波形メモリ音源装置
JP3405170B2 (ja) 楽音合成装置
JP2571918B2 (ja) 電子楽器
JP2797141B2 (ja) 楽音波形発生装置
JPS6352399B2 (ja)
JP3433764B2 (ja) 波形変更装置
JP2997626B2 (ja) 楽音生成装置及び楽音生成方法