JPH10198560A - 信号処理装置 - Google Patents

信号処理装置

Info

Publication number
JPH10198560A
JPH10198560A JP9017466A JP1746697A JPH10198560A JP H10198560 A JPH10198560 A JP H10198560A JP 9017466 A JP9017466 A JP 9017466A JP 1746697 A JP1746697 A JP 1746697A JP H10198560 A JPH10198560 A JP H10198560A
Authority
JP
Japan
Prior art keywords
microprogram
microprograms
data
delay
register
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.)
Granted
Application number
JP9017466A
Other languages
English (en)
Other versions
JP3230449B2 (ja
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 JP01746697A priority Critical patent/JP3230449B2/ja
Priority to US09/001,992 priority patent/US6085309A/en
Publication of JPH10198560A publication Critical patent/JPH10198560A/ja
Application granted granted Critical
Publication of JP3230449B2 publication Critical patent/JP3230449B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 構成の複雑化やコストアップを極力抑制しつ
つ、複数のマイクロプログラムが共通に使用するデータ
を格納し、その格納したデータを各マイクロプログラム
が容易に使用できるようにした信号処理装置を提供す
る。 【解決手段】 遅延メモリ14には、マイクロプログラ
ムRAM73に格納された各マイクロプログラムMP1
〜MP6に対応して設けられ、対応するマイクロプログ
ラムのみがアクセス可能なバンク1から6と、すべての
マイクロプログラムがアクセス可能な共通領域であるバ
ンク0とが確保されている。各マイクロプログラムは、
制御信号COFFを出力する命令により、バンク0にア
クセスすることができる。バンク0には、二以上のマイ
クロプログラムで共通に使用されるテーブルや波形デー
タが格納されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のマイクロプ
ログラムを時分割で実行し、ディジタル信号に種々の演
算処理を施す信号処理装置に関する。
【0002】
【従来の技術】例えば電子楽器において楽音にディスト
ーションやリバーブといった音響効果を付与する場合
に、DSP(ディジタルシグナルプロセッサ)を用いる
ものが知られている(例えば特開平6−259249号
公報)。このような電子楽器では、複数の音響効果のそ
れぞれに対応したマイクロプログラムを時分割で(同時
に)実行することにより、楽音に複数(例えば5個)の
音響効果が付与される。その場合、各音響効果に対応し
たマイクロプログラムは、遅延用メモリを用いて楽音信
号を遅延させ、遅延させた信号を適宜使用して所望の音
響効果を付加する処理を行う。
【0003】
【発明が解決しようとする課題】しかしながら上記従来
の装置では、遅延用メモリは、複数のマイクロプログラ
ムに対応して複数の領域に分割され、分割された各領域
は、対応するマイクロプログラムのみがアクセスできる
ように構成されているため、各マイクロプログラムが共
通に使用するテーブルや波形データがある場合には、以
下のような問題があった。
【0004】すなわち、遅延用メモリに上記共通に使用
するテーブル等を格納する場合には、分割された各領域
に同じデータを格納することになり、メモリの容量が無
駄になるという問題がある。
【0005】本発明は上述した点に鑑みなされたもので
あり、構成の複雑化やコストアップを極力抑制しつつ、
複数のマイクロプログラムが共通に使用するデータを格
納し、その格納したデータを各マイクロプログラムが容
易に使用できるようにした信号処理装置を提供すること
を目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
請求項1に記載の発明は、複数のマイクロプログラムを
時分割で実行することにより、入力されたディジタル信
号に種々の演算処理を施す信号処理装置において、前記
ディジタル信号を遅延させるための遅延用記憶手段を備
え、該遅延用記憶手段は、前記複数のマイクロプログラ
ムのうちの実行中のマイクロプログラムが前記ディジタ
ル信号を遅延させるために使用する前記複数のマイクロ
プログラムのそれぞれについて独立した複数の遅延領域
と、前記複数のマイクロプログラムのすべてがアクセス
可能な共通領域とを有することを特徴とする。
【0007】請求項2に記載の発明は、請求項1に記載
の信号処理装置において、前記複数のマイクロプログラ
ムの一部の実行を、該一部のマイクロプログラム以外の
マイクロプログラムを実行しつつ停止する実行停止手段
を備え、前記実行が停止されたマイクロプログラムに割
り当てられた期間中は、外部の処理装置が前記共通領域
にアクセスできるように構成したことを特徴とする。
【0008】請求項3に記載の発明は、複数のマイクロ
プログラムを時分割で実行することにより、入力された
ディジタル信号に種々の演算処理を施す信号処理装置に
おいて、複数のマイクロプログラムを記憶する第1記憶
手段と、時分割で前記複数のマイクロプログラムを順次
読み出す読出手段と、前記複数のマイクロプログラムの
うちの前記読出手段が読み出し中のマイクロプログラム
を判別する判別手段と、前記複数のマイクロプログラム
に対応した複数の遅延領域と、該遅延領域とは異なる共
通領域とを備える第2記憶手段と、読み出されたマイク
ロプログラムに基づいて前記種々の演算処理を実行する
演算手段であって、前記演算処理に含まれる遅延処理で
は、前記判別手段の判別に応じて実行中のマイクロプロ
グラムに対応した遅延領域をアクセスするとともに、前
記演算処理に含まれる定数アクセス処理では、前記判別
手段の判別に拘わらず前記共通領域をアクセスする演算
手段とを備えることを特徴とする。
【0009】請求項4に記載の発明は、請求項3に記載
の信号処理装置において、前記定数アクセス処理は、前
記第2記憶手段に記憶された変換テーブル、波形テーブ
ル乃至定数テーブルをアクセスする処理であることを特
徴とする。
【0010】請求項1に記載の発明によれば、遅延用記
憶手段に、複数のマイクロプログラムのうちの実行中の
マイクロプログラムがディジタル信号を遅延させるため
に使用する複数の遅延領域の他に、すべてのマイクロプ
ログラムがアクセス可能な共通領域が確保される。
【0011】請求項2に記載の発明によれば、複数のマ
イクロプログラムの一部の実行が停止されたとき、外部
の処理装置が前記共通領域にアクセス可能となる。
【0012】請求項3に記載の発明によれば、第2記憶
手段に、複数のマイクロプログラムに対応した複数の遅
延領域の他に、共通領域が確保され、入力されたディジ
タル信号の遅延処理を行うときは、実行中のマイクロプ
ログラムに対応した遅延領域がアクセスされ、定数アク
セス処理を行うときは、いずれのマイクロプログラムが
実行されていいるかに拘わらず共通領域がアクセスされ
る。
【0013】
【発明の実施の形態】以下本発明の実施の形態を図面を
参照して説明する。
【0014】図1は本発明の実施の一形態にかかる電子
楽器の構成を示すブロック図である。この電子楽器は、
選択した音響効果の名称など各種の情報を表示するため
の表示部1と、使用者が音色、音響効果の選択など各種
の設定を行うためのスイッチパネル2と、当該電子楽器
全体の制御を行うCPU3と、CPU3で実行されるプ
ログラムやプログラムの実行に必要なテーブル等が記憶
されるROM4と、CPU5のワーキングエリアとして
使用され、演算途中のデータ等を記憶するRAM5と、
使用者が演奏操作を行う鍵盤6と、演奏データなどを記
憶する外部記憶装置7と、鍵盤6の押鍵操作に応じて楽
音信号を生成する音源8と、これらの各構成要素1から
8を相互に接続するシステムバス11と、音源8から出
力されるディジタル信号をアナログ信号に変換するDA
変換器9と、DA変換器9から出力される楽音信号を増
幅してスピーカから出力するサウンドシステム10とを
主たる構成要素とする。音源8には、楽音信号生成のた
めの波形メモリ12と、例えば外部エフェクタ等の外部
回路13と、音響効果付与のために使用される遅延メモ
リ14とが接続されている。
【0015】CPU3は、スイッチパネル2のスイッチ
の操作を検出し、それに応じて音色や音響効果の選択の
処理を行い、また、鍵盤6の鍵操作を検出し、それに応
じて音源8の制御を行う。例えば、鍵盤6でいずれかの
鍵の押鍵が検出された場合、CPU3は、音源8の32
の発音チャンネルのうちの1つをその発音に割り当て、
選択されている音色の該押鍵に対応した制御信号を生成
して、音源8の制御レジスタに割り当てた発音チャンネ
ルの制御信号として書き込み、該押鍵に対応する楽音の
生成を開始させる。音源8では、さらに、生成される楽
音にそのとき選択されている音響効果が付与され、効果
の付与されたディジタル信号がDA変換器9でアナログ
信号に変換され、サウンドシステム10に供給される。
【0016】図2は、音源8の構成を詳細に示すブロッ
ク図である。音源8は、システムバス11に接続され、
CPU3からの制御信号が書き込まれる各種レジスタ等
を有する制御レジスタ21と、制御レジスタ21からの
制御信号に応じて波形メモリ12から波形データを読み
出し、所望のピッチに変換するための補間処理などを行
う読み書き回路22と、制御レジスタ21からの制御信
号に応じて読み書き回路22の出力信号にエンベロープ
を付加する音量変化制御回路23と、入力信号のレベル
を調整してミキシングをを行うミキサ24と、ミキサ2
4と外部回路13の間に介装されたインターフェース回
路25と、DSPで構成され、各種音響効果付与のため
の処理を行う信号処理回路26と、遅延メモリ14に書
き込み、また遅延メモリ14から読み出すデータを切り
換えるためのセレクタ27と、CPU3が直接遅延メモ
リ14にアクセスするときの読み書き制御を行う読み書
き回路28とを備えている。
【0017】制御レジスタ21に記憶された各発音チャ
ンネルの制御信号に応じて、読み書き回路22と音量変
化制御回路23では、時分割で32の発音チャンネル動
作を行い、32個の楽音波形を生成する。読み書き回路
23は、サンプリング周期(例えば1/48kHz)毎
に波形メモリ12から時分割で32チャンネル分の波形
データを読み出し、補間処理を行って各チャンネルで指
示された音高に応じた32個の補間サンプルを時分割で
出力する。音量変化制御回路23は、前記32個の補間
サンプルに対し、制御レジスタ21の制御信号に応じて
時分割で各発音チャンネル毎に独立の音量エンベロープ
を付与し、ミキサ24に出力する。
【0018】ミキサ24では、制御レジスタ21の制御
信号にしたがって、外部回路13からインターフェース
回路25を介して入力される8個の楽音波形と、音量変
化制御回路23から出力される前記32個の楽音波形
と、信号処理回路26から出力される8個の楽音波形と
を16個の出力別にミキシングし、得られた16個の混
合波形のうちの8個をインターフェース回路25を介し
て外部回路13に出力するとともに、残りの8個の混合
波形を信号処理回路26に出力する。
【0019】外部回路13は、例えば外部エフェクタで
あり、インターフェース回路25から入力される1ない
し複数の楽音波形に対してエフェクトを付与して、エフ
ェクトの付与された1ないし複数の楽音波形をインター
フェース回路25に出力する。
【0020】信号処理回路26は、ミキサ24から入力
される8個の混合波形に対して信号処理を施して、8個
の楽音波形をミキサ24に対して出力するとともに、4
個の楽音波形をDA変換器9に出力する。信号処理回路
26は、時分割で複数のマイクロプログラムに基づく信
号処理を実行可能であるが、ミキサ24から入力される
混合波形の8チャンネル、ミキサ24に対して楽音波形
を出力する8チャンネル、及びDA変換器9に対して楽
音波形を出力する4チャンネルは、前記複数のマイクロ
プログラムのうちの何れが使用してもよく、どのマイク
ロプログラムがどのチャンネルを使用するかを任意に設
定できるように構成されている。
【0021】セレクタ27は、信号処理回路26で実行
されるマイクロプログラムの一部の実行を停止したとき
は、CPU3が読み書き回路28を介して遅延メモリ1
4にアクセス可能とするために設けられており、特定の
マイクロプログラムの停止を示すHB信号(各マイクロ
プログラムは、付加される音響効果に対応しているの
で、エフェクタブロックとも呼び、HB信号は停止する
エフェクタブロックを示すホールトブロック信号の意味
である)が入力されたとき、CPU3のアクセスを可能
とする。
【0022】以上のように音源8は、制御レジスタ21
に書き込まれる制御信号に応じて、楽音信号を生成し、
音響効果を付加してDA変換器9に出力する。
【0023】図3は、DSPで構成される信号処理回路
26及びその信号処理回路26に制御信号を供給する制
御レジスタ21の構成要素を示すブロック図である。
【0024】この図の基づいて制御レジスタ21及び信
号処理回路26の構成を説明する前に、制御レジスタ2
1のマイクロプログラム(MP)制御部42で実行され
るマイクロプログラムと、各マイクロプログラムに対応
して設定される遅延メモリ14のバンクとの関係につい
て、図8を参照して説明する。図8は、時分割で実行さ
れる6個のマイクロプログラムがMP制御部42のマイ
クロプログラムRAM(以下「MPRAM」という)7
3(図4参照)に格納され、それに対応して遅延メモリ
14にバンク1からバンク6までの6個のバンク(メモ
リ領域)を設定した例を示している。本実施形態では、
MPRAM73は、ステップ0から383までの合計3
84ステップのマイクロプログラムが格納可能であり、
図示例では384ステップが6個のマイクロプログラム
MP1〜MP6に割り当てられている。そして、各マイ
クロプログラムMP1〜MP6は、それぞれ遅延メモリ
14の対応するバンク1〜6を使用して信号の遅延処理
を行う。
【0025】MPRAM73に記憶された全384ステ
ップのマイクロプログラムは、DA変換器9の1サンプ
リング周期(1/48kHz、以下「1DACサイク
ル」という)の384倍のステップクロック(48kH
z×384=18.432MHz、以下「Sクロック」
という)毎に1ステップずつ読み出され、信号処理回路
26を制御する制御信号に変換される。つまり、本実施
形態では1DACサイクルの間に全384ステップが1
回通り読み出される。上述した例では、この384ステ
ップの中にMP1〜MP6の6個のマイクロプログラム
が入っており、したがって各DACサイクルに6個のマ
イクロプログラムが時分割で実行される。
【0026】本実施形態では、遅延メモリ14は16ビ
ット単位のデータを256K(256×1000)個格
納する容量(約4Mビット)の容量を有している。また
遅延メモリ14のバンク0は、各マイクロプログラムが
アクセス可能な領域であり、例えば共通に使用するテー
ブルデータなどが格納される。
【0027】図3に戻り、制御レジスタ21は、低周波
発振器46に制御パラメータを供給するLFOレジスタ
41と、複数のマイクロプログラムを格納するマイクロ
プログラムRAMを備え、各マイクロプログラムを時分
割で実行することにより、後述する乗算器、加算器、各
種レジスタ、セレクタなどに制御信号を供給するMP制
御部42と、乗算器に乗算データを供給する係数レジス
タ43と、実行するマイクロプログラムの先頭ステップ
番号、各エフェクタブロックに対応する遅延メモリ14
のバンクサイズ及び遅延メモリ14の各バンクの先頭ア
ドレスを供給するブロックレジスタ44と、遅延メモリ
用アドレス発生部62にアドレスデータADを供給する
アドレスレジスタ45とを備えている。
【0028】低周波発振器46は、時分割16チャンネ
ル動作を行い、16個の異なる低周波波形(変調デー
タ)を発生する。LFOレジスタ41には、変調データ
の周波数、振幅、波形形状等を制御する制御パラメータ
がそれぞれ16個ずつ記憶され、生成する16個の変調
データを独立に制御するように構成されている。係数レ
ジスタ43は、マイクロプログラムの各ステップに対応
する384の記憶エリアを有しており、各ステップの信
号処理で乗算に使用する係数を記憶する。アドレスレジ
スタ45は、マイクロプログラムの各ステップに対応す
る384の記憶エリアを有しており、各ステップの信号
処理で遅延用メモリ14にアクセスする場合に使用する
アドレスデータADを記憶する。
【0029】信号処理回路26は、ビブラートやトレモ
ロ等の効果を付加するために楽音データを変調する変調
データを発生する低周波発振器(LFO)46と、係数
レジスタ43から供給されるデータの補間演算を行う補
間器54と、レジスタ47、48、55と、データバス
49、51、59と、データを選択するための各種セレ
クタ52、53、56と、乗算器57と、加算器58
と、遅延メモリ14に書き込むデータの圧縮処理を行う
32−16変換器61と、遅延メモリ14から読み出す
データの伸張処理を行う16−32変換器60と、遅延
メモリ14の書き込みアドレス及び読み出しアドレスの
制御を行う遅延メモリ用アドレス発生部62と、MP制
御部42から出力される制御信号を乗算器57、加算器
58、各レジスタ、各セレクタ等に供給するためのプロ
グラムバス(図示省略)とを主たる構成要素とする。
【0030】Iレジスタ47は、ミキサ24が出力した
8個の混合波形を記憶する入力領域と、LFO46が出
力した16個の変調データを記憶するLFO領域と、遅
延メモリ14から読み出されたデータ又はDバス59上
に出力された演算結果のデータを複数記憶する汎用領域
と、ミキサ24に入力する8個の楽音波形を記憶する出
力領域と、DAC出力部50に供給する楽音波形を記憶
するDAC領域とを備えている。マイクロプログラムの
各ステップの命令では、Iレジスタ47上の任意の領域
を指定して読み出し及び書き込みが可能である。複数の
マイクロプログラムを時分割で実行する場合、何れのマ
イクロプログラムでもIレジスタ47に記憶されている
8個の混合波形、16個の変調データ及びその他データ
にアクセス可能である。
【0031】時分割で実行される複数のマイクロプログ
ラムは、各マイクロプログラム毎に異なる処理アルゴリ
ズム(エフェクトアルゴリズム)を有しており、それぞ
れ異なる入力数及び出力数を備えている。各マイクロプ
ログラムの各入力は、それぞれ独立にミキシングした混
合波形を入力することが望ましい。本実施形態では、限
られた数、即ち8個の混合波形を各マイクロプログラム
に割り当てて使用する。例えば図10(b)は、同時に
実行される複数のマイクロプログラムのうち、1つ(M
P1)は2個の混合波形が入力とされ、他のもの(MP
2〜MP4)はそれぞれ1個の混合波形が入力とされる
ように設定された例を示している。混合波形を各マイク
ロプログラムに割り当てて入力するようにしており、固
定的に決められた混合波形を入力するのに比べて無駄が
少ない。
【0032】複数のマイクロプログラムの入力数の和
が、算出される混合波形の数以下である限り、各マイク
ロプログラムの入力数を自由に変更することができる。
各マイクロプログラムが8個の混合波形のうちのどの混
合波形を入力として使用するかは、CPU3が各マイク
ロプログラムの中に含まれているIレジスタ47のアク
セス命令を書き替えることにより制御する。
【0033】なお、本実施形態では、Iレジスタ47に
入力する混合波形の数は8であるが、この数はミキサ2
4の設計変更により増やしたり減らしたりしてもよい。
【0034】また出力に関しても同様に8個の出力を各
マイクロプログラムに割り当て、各マイクロプログラム
は割り当てられたIレジスタ47の出力領域に対して処
理済みの楽音波形を書き込むように構成されている。
【0035】DAC領域には、制御信号に応じて、8個
の混合波形、各マイクロプログラムの出力又はその処理
途中の波形等のうちの任意の波形が選択的に書き込ま
れ、該書き込まれた波形は、マイクロプログラムの38
4ステップが終了する毎(サンプリング周期毎)にDA
C出力部50に供給される。
【0036】また、Tレジスタ48は、Dバス59上に
出力される加算器出力を一時的に保存するテンポラリレ
ジスタであり、複数のデータを保存する複数の記憶エリ
アを有している。Tレジスタ48も、Iレジスタ47の
場合と同様に、マイクロプログラムの各ステップの命令
により、Tレジスタ48上の任意の記憶エリアを指定し
て読み出し及び書き込みが可能である。Tレジスタ48
から読み出されたデータは、Tバス51を介してセレク
タ52及び53に出力される。
【0037】セレクタ52は、制御信号に応じてIバス
49又はTバス51からのデータのいずれかを選択して
乗算器57に入力する。セレクタ53には、Dバス59
からも直接データが入力され、セレクタ53は、制御信
号に応じてIバス49、Tバス51又はDバス59から
のデータのいずれかを選択して、加算器58に入力す
る。セレクタ53、加算器58及びDバス59で構成さ
れるループにより、累算が行われる。
【0038】Yレジスタ55には、補間器54の出力デ
ータ及びDバス59のデータが入力され、セレクタ56
にデータが出力される。セレクタ56は、制御信号に応
じて補間器54の出力データ又はYレジスタの出力デー
タのいずれかを選択し、乗算器57に入力する。乗算器
57は、制御信号に応じて入力データの乗算を行って演
算結果を加算器58に入力し、加算器58は、制御信号
に応じて入力データの加算を行って演算結果をDバス5
9に出力する。Dバス59は、32−16変換器61及
び遅延メモリ用アドレス発生部62にも接続されてお
り、加算器58の出力が供給される。
【0039】32−16変換器61は、入力される32
ビットの波形データを16ビットデータに変換し、セレ
クタ27(図2参照)を介して遅延メモリ14のデータ
バスに出力する。一方16−32変換器60は、遅延メ
モリ14から読み出した16ビットデータを32ビット
の波形データに変換して、Iレジスタ47に入力する。
【0040】遅延メモリ用アドレス発生部62には、D
バス59を介してアドレスデータを変調する変調データ
が入力されるとともに、ブロックレジスタ44から各バ
ンクのサイズBS及び各バンクの先頭アドレスTADが
入力され、アドレスレジスタ45からアドレスデータA
Dが入力される。アドレス発生部62は、入力データに
基づいて修正アドレスデータMADを演算し、セレクタ
27を介して遅延メモリ14のアドレスバスに出力す
る。
【0041】以上のように構成される信号処理回路の動
作を説明する。各レジスタ、セレクタ等には、MP制御
部42で実行されているマイクロプログラムに応じた制
御信号が供給され、例えばIレジスタ47のデータとY
レジスタ55のデータの乗算を行い、さらにTレジスタ
48のデータと加算してDバス59に出力するといった
演算が実行される。また、Iレジスタ47のデータをそ
のままIバス49、セレクタ53、加算器58、Dバス
59を介して32−16変換器61に供給し、遅延メモ
リ14に格納するといった処理も行われる。その場合に
は、加算器58には、演算を行わずに単にデータを通過
させるような制御信号が供給される。したがって、図3
の構成により、データの遅延処理を含めた、種々の積和
演算処理、累算処理等を行うことができ、楽音信号に種
々の音響効果を付加して出力することができる。
【0042】例えば一定時間遅延させたデータと遅延さ
せないデータとを適当なレベル比で加算することによ
り、リバーブの効果を付加することができる。また、遅
延メモリ14にデータを書き込むとともに、格納されて
いるデータを異なる位相(例えば0度、120度、24
0度の三相)で読み出し、読み出したデータを加算して
出力することにより、コーラスの効果を付加することが
できる。
【0043】図4は、MP制御部42の構成を示すブロ
ック図であり、MP制御部42は、前述したMPRAM
73と、MPRAM73へのマイクロプログラムの書き
込みを制御する書込回路71と、各サンプリング周期毎
に、0から383まで順次カウントし、そのカウント値
SCをステップ番号として出力するステップカウンタ7
2と、エフェクタブロック(マイクロプログラム)の番
号であるブロック番号BNを発生するブロック番号(B
N)発生器74とを備えている。BN発生器74には、
ブロックレジスタ44が接続されており、ブロックレジ
スタ44は、図7に示すように、各エフェクタブロック
に対応したマイクロプログラムの先頭ステップ番号SS
を格納したSSレジスタと、遅延メモリの各バンクの先
頭アドレスTADを格納したTADレジスタと、各バン
クのサイズBSを格納するBSレジスタとを有する。図
7に示す例は、図8の例に対応しており、SSレジスタ
には、先頭ステップ番号SS2からSS6までと、
「0」が格納され、TADレジスタには、先頭アドレス
TAD1〜TAD6が格納され、BSレジスタには、バ
ンクサイズBS1〜BS6が格納されている。ここで、
SSレジスタに格納される「0」は、マイクロプログラ
ムMP6が最後のマイクロプログラムであり、その後は
ないことを示している。別の例として例えば、5個のマ
イクロプログラムをMPRAM73に記憶した場合に
は、SSレジスタにSS2からSS5までと「0」とが
格納される。全384ステップを有効に使用するため、
MP1の先頭ステップ番号は「0」に固定されている。
すなわち、SS1は常に「0」であるため、SSレジス
タに格納されていない。
【0044】MPRAM73は、図8に示すように、本
実施形態では合計384ステップのマイクロプログラム
を格納する容量を有する読み書き可能なメモリで構成さ
れる。MPRAM73が記憶するマイクロプログラム
は、ステップカウンタ72から入力されるステップ番号
SCによって、各サンプリング周期の間にステップ0か
らステップ383まで1ステップずつ順次読み出され、
読み出された各ステップの命令に対応した制御信号を信
号処理回路26の各部に出力する。
【0045】図8の例で例えば、スイッチパネル2から
入力されるエフェクトの切換指示に応じて、動作中のマ
イクロプログラムMP1,MP3〜MP6を止めずに、
マイクロプログラムMP2のみを他のマイクロプログラ
ムに変更することが可能である。その場合の内部動作に
ついて詳細に説明する。
【0046】CPU3は、前記エフェクトの切換指示に
応じて以下の処理を実行し、音源8の制御レジスタ21
を介して上記変更の制御を行う。先ず、ミキサ24を制
御してマイクロプログラムMP2の出力する楽音波形の
入力レベル及び出力レベルをフェードアウトさせる。そ
の後、CPU3は、マイクロプログラムMP2の実行の
停止を指示する。制御レジスタ21は、該停止の指示に
応じて各サンプリング周期内のマイクロプログラムMP
2の実行期間(後述するブロック番号BN=2の期間)
において、先述した停止ブロック信号(HB信号)を発
生する。一般的に、停止を指示されたマイクロプログラ
ムに対応したブロック番号BNがMP制御部42から出
力されている期間中、制御レジスタ21からHB信号が
出力される。同様に、複数のマイクロプログラムの停止
が指示された場合には、対応する複数のブロック番号B
Nの発生期間中、HB信号が出力される。
【0047】各サンプリング周期の中でHB信号が出力
されている間は、読み書き回路28からの制御信号に応
じてセレクタ27が制御され、CPU3は該読み書き回
路28を介して遅延メモリ14の読み書きを行うことが
できる。あるいは、同期間において制御レジスタ21か
らクリア信号CLRを供給することにより、後述するア
ドレス発生部62を使用して、遅延メモリ14の停止し
たマイクロプログラムMP2に対応するバンク2の初期
クリアを行うことができる。一方MP制御部42では、
HB信号の発生期間中、ステップカウンタ72によるM
PRAM73の読み出し動作が停止され、代わりに書込
回路71を通じてCPU3からMPRAM73へのマイ
クロプログラムの書き込みが可能となっている。
【0048】上記HB信号発生期間を使用して、CPU
3は、ROM4に記憶されている複数のマイクロプログ
ラムのうちスイッチパネル2の操作に応じて新たに選択
されたマイクロプログラムを読み出し、MPRAM73
のMP2記憶領域に書き込むとともに、遅延メモリ14
のバンク2を初期クリア(全サンプルを0に)する。さ
らにCPU3は、新たにMPRAM73に書き込んだマ
イクロプログラム中で使用する係数の係数レジスタ43
への設定、そのマイクロプログラムに含まれる遅延メモ
リ14を使用した処理のためのアドレスレジスタ45の
設定、及びそのマイクロプログラムでLFO46が使用
されている場合にはLFOレジスタ41の設定を行う。
その後、CPU3は、制御レジスタ21にマイクロプロ
グラムMP2の実行開始を指示するとともに、ミキサ2
4を制御して新たなマイクロプログラムMP2の入力レ
ベル及び出力レベルをフェードインする。
【0049】また、マイクロプログラムの変更はこれに
限らず、種々の態様で行うことができる。例えば、マイ
クロプログラムMP1からMP3の実行を停止し、より
プログラムサイズの小さい4個マイクロプログラムを、
マイクロプログラムMP1からMP3が格納されている
領域に書き込むこともできる。その場合、上記例と同様
に、マイクロプログラムMP1からMP3の記憶領域に
新たな4つのマイクロプログラムを書き込み、対応する
遅延メモリ14のバンク1から3をクリアするととも
に、図7に示されるSS,TAD,BSの各レジスタを
マイクロプログラムMP4からMP6がMP5からMP
7に変更されるよう順送りし、上記4つのマイクロプロ
グラムをMP1からMP4として登録する。また、新た
なバンク1からバンク4の設定も行う。そして、全設定
が終わった後、ミキサ24を制御してマイクロプログラ
ムMP1からMP4のレベルをフェードインする。ここ
で、順送りの前のマイクロプログラムMP4からMP6
が使用してIレジスタ47の前記入力領域及び出力領域
は、順送りの後のマイクロプログラムM5からMP7が
使用しており、新たなマイクロプログラムMP1からM
P4はそれとは異なる入力領域及び出力領域を使用して
いる。
【0050】このように本実施形態では、複数のマイク
ロプログラムのうちの一部のマイクロプログラムを動作
させたままで、他の一部のマイクロプログラムを異なる
サイズの、あるいは異なる数のマイクロプログラムに変
更することができる。また、ブロックレジスタの大きさ
が図7に示すように8なので、実行するマイクロプログ
ラムの最大数は8個である。
【0051】ROM4には、例えば、11種類の音響効
果に対応した11個のマイクロプログラムが格納されて
おり、使用者が上記条件(最大8個で、全ステップ数が
384以下、全入力数が8個以下、全出力数が8個以下
という条件)の範囲内で、実行するマイクロプログラム
の種類や数を任意の組み合わせで選択し、MPRAM7
3に書き込むことができる。同一のマイクロプログラム
を複数回書き込んでもよい。
【0052】BN発生器74は、ステップカウンタ72
から入力されるステップ番号SCと、ブロックレジスタ
44から入力される先頭ステップ番号SSとに基づき、
現在読み出し中のマイクロプログラムの属するブロック
番号BNを出力する。前記入力される先頭ステップ番号
SSは、現在のブロック番号BNで示されるマイクロプ
ログラムの次のマイクロプログラムの先頭ステップ番号
SSであり、ステップ番号SCがその値に達したときブ
ロック番号BNを「1」だけ増加させるように構成され
ている。図7に示す例では、エフェクタブロックが全部
で6個なので、初期値SC=0のときのBN=1から始
まって、ステップ番号SCの進行にしたがってBN=6
まで順次カウントアップし、その後、ステップ番号SC
が最終値383から最初の値0に戻るときに再びBN=
1に戻される。
【0053】図5は、遅延メモリ用アドレス発生部62
の構成を示すブロック図であり、遅延メモリ用アドレス
発生部62は、Dバス59を介して遅延メモリのアドレ
スデータを変調するための変調用データIDが書き込ま
れるインディクスレジスタ81と、エフェクタブロック
毎に対応するバンクのスタートアドレスTADからベー
ス位置までの相対アドレスをカウントし生成するベース
カウンタ82と、インディクスレジスタ81、アドレス
レジスタ45及びベースカウンタ82の出力値を加算す
る加算器83と、加算器83の出力値が対応するエフェ
クタブロックのバンクサイズBSを越えたときは、その
バンクサイズBSの範囲内にアドレス値を変更するバン
ク範囲制限回路84と、バンク範囲制限回路84の出力
値とブロックレジスタ44から入力される各バンクの先
頭アドレスTADとを加算して、修正アドレスMADを
出力する加算器85とを備えている。ベースカウンタ8
2には、ブロック番号BNがBN発生器74から供給さ
れ、後述する制御信号COFFがMPRAM73から供
給される。またバンク範囲制限回路84及び加算器85
には、それぞれ実行中のマイクロプログラムに対応する
バンクのバンクサイズBS及び先頭アドレスTADが、
ブロックレジスタ44から供給される。例えば図8の例
でマイクロプログラムMP3の実行中は、バンク範囲制
限回路84にバンクサイズBS3が供給され、加算器8
5には先頭アドレスTAD3が供給される。
【0054】ベースカウンタ82は、設定可能な最大ブ
ロック数に対応して独立した8個のカウンタを有してお
り、ブロック番号BNに応じて、1サンプリング周期中
の各マイクロプログラムMPの期間に対応するカウンタ
の値を出力する。ベースカウンタ82の各マイクロプロ
グラムMPに対応する個々のカウンタは、同MPが動作
中(通常モード)か、停止中(クリアモード)かに応じ
て異なる動作を行う。すなわち、該個々のカウンタは、
通常モードでは1DACサイクル毎に1ずつカウントダ
ウンした値(すなわち、各DACサイクル内では一定値
となる)を出力し、クリアモードでは、遅延メモリ14
の1アクセス毎に1ずつカウントダウンした値を出力す
る。
【0055】また、MPRAM73から制御信号COF
Fが出力されているときは、そのときのブロック番号B
Nに関係なく、ベースカウンタ82は「0」を出力す
る。制御信号COFFは、マイクロプログラム中の遅延
メモリ14のバンク0にアクセスする命令に応じて出力
される。バンク0は何れのマイクロプログラムからもア
クセス可能な記憶領域であり、しかも異なるDACサイ
クルでも、アドレスデータADが同じなら同じデータが
アクセスされる。一方、バンク1、2、…の各バンク
は、対応するマイクロプログラムMPのみがアクセス可
能な記憶領域であり、対応するベースカウント値に応じ
て、DACサイクルが異なれば同じアドレスデータでも
異なるアドレスデータがアクセスされる。
【0056】本実施形態では、バンクサイズBSを2の
n(整数)乗のサイズとしているので、ベースカウンタ
82はnの最大値より大きい所定ビット数のカウンタで
構成し、バンクサイズBSと無関係に上述した時間間隔
でフリーカウント動作をしている。後述するようにバン
ク範囲制限回路84により、バンクサイズBSに応じて
上位ビットがマスクされるので、最終的に得られるアド
レスは、対応するバンクの範囲内のアドレスとなる。な
お、バンクサイズBSを2のn乗のサイズとしない場合
は、バンクサイズBSをベースカウンタ82に入力する
ように構成し、ベースカウンタ82は、入力されたバン
クサイズBSの範囲でカウントダウン動作を繰り返すよ
うにする。
【0057】制御信号COFFは、ブロックレジスタ4
4にも供給されるように構成されており、ブロックレジ
スタ44に制御信号COFFが入力されると、先頭アド
レスTADとして「0」が出力される。
【0058】バンク範囲制限回路84は、本実施形態で
は、加算器83の出力アドレス値がバンクサイズBSを
越えたときは、上位ビットをマスクして、出力アドレス
値がバンク範囲内に入るようにしている。なお、バンク
サイズBSを2のn乗のサイズとしない場合は、加算器
83の出力アドレス値がバンクサイズBSを越えたとき
は、出力アドレス値からバンクサイズBSを減算した値
に変更して、バンク範囲内に入るようにする。
【0059】図5の構成によれば、通常モード時は、例
えばブロック番号BN=1であるときは、マイクロプロ
グラムMP1が実行されおり、MPRAM73から出力
されるマイクロプログラムMP1の制御信号にしたがっ
て、遅延メモリ14のバンク1の書き込み及び読み出し
が行われる。例えば、BN=1の期間において、ベース
カウンタ82の出力値CD=CDnowであるとき、ア
ドレスAD=ADwで書き込みを行うと、その書き込み
アドレスMAD=TAD1+CDnow+ADwである
(インディクスレジスタ81の変調データIDは「0」
とし、CDnow+ADwはバンクサイズBS1の範囲
内にあるとする)。ベースカウンタ82は、1DACサ
イクルで1カウントダウンするので、xDACサイクル
後のカウント値CD=CDnow−xとなる。そのと
き、アドレスAD=ADw+xで読み出しを行うと、読
み出しアドレスMAD=TAD1+CDnow−x+A
Dw+x=TAD1+CDnow+ADwとなり、xD
ACサイクル前に書き込んだデータが読み出される。基
本的には以上のように読み書きアドレスが制御される
が、さらにDバス59からインディクスレジスタ81に
供給される変調データIDを制御して、遅延メモリ14
からの読み出し時のアドレスMADに修正を加えること
ができる。例えば、変調データIDとして、LFO46
が出力する16個の変調データの任意の1個に乗算器7
で重みを乗算して得られるデータを供給すれば、遅延メ
モリ14から該LFO46の変調データで位相変調され
た遅延波形データを読み出すことができる。他のマイク
ロプログラムMP2〜MP6の実行時も同様であり、1
DACサイクル毎に、マイクロプログラムMP1〜MP
6が繰り返し実行される。
【0060】ここで、マイクロプログラムMP1にバン
ク0のアクセス命令がある場合には、先述したように、
制御信号COFFが出力され、ベースカウンタ82の出
力値CD及びブロックレジスタ44から出力される先頭
アドレスTADがともに「0」となり、バンク0のアド
レスが出力される。バンク0には、例えば図9(a)に
示すような、入出力テーブルが格納されており、アドレ
スレジスタ45からこのテーブルの先頭アドレスが出力
されるとともに、インディクスレジスタ81から入力値
に対応する差分アドレスが出力される。これにより、マ
イクロプログラムMP1は、例えば遅延メモリ14のバ
ンク0に格納された複数の変換テーブルのうちの先頭ア
ドレスADで指定されたテーブルを選択的に使用して、
インディクスレジスタに供給された入力値に対応する出
力値を決定することができる。
【0061】各マイクロプログラムMPでは、そのとき
のブロック番号BNで指定されるバンクをアクセスする
命令と、バンク0をアクセスする命令が使用可能であ
る。該バンク0をアクセスする命令により、何れのマイ
クロプログラムMPからでもバンク0のアクセスが可能
であり、例えば図9(a)に示した入出力テーブルを、
すべてのマイクロプログラムMPで使用することができ
る。
【0062】なお、バンク0に格納するデータは、図9
(a)に示すテーブルに限るものではなく、例えば同図
(b)に示すような波形データを格納するようにしても
よい。波形データは、マイクロプログラムMPで楽音生
成する際の素材の波形として使用したり、効果制御する
際の音像定位や振幅/ピッチ変調を制御する波形として
使用することができる。
【0063】次にクリアモード時おける図5のアドレス
発生部62の動作について説明する。この場合、CPU
3からの指示に応じて、変更するマイクロプログラムM
Pのブロック番号BNの期間中、制御レジスタ21はH
B信号とクリア信号CLRを発生しており、該マイクロ
プログラムに対応する遅延メモリ14のバンクは、クリ
アモードとなっている。その間、変更しないマイクロプ
ログラムに関してはHB信号が発生せず、通常モードの
動作が継続される。
【0064】クリアモードでは、インディクスレジスタ
81及びアドレスレジスタ45の出力はともに「0」と
なり、またベースカウンタ82は、クリア使用するバン
クのサイズを初期値として、前述したように1アクセス
時間毎のカウントダウン動作を行い、これをカウント値
が「0」になるまで継続する。例えば、マイクロプログ
ラムMP1が変更される場合には、CPU3はマイクロ
プログラムMP1の停止を指示し、さらに対応するバン
ク1のクリアを指示する。それに応じて、制御レジスタ
21では、対応するブロック番号BN=1の期間だけH
B信号及びクリア信号CLRが発生し、クリアモードの
動作が実行される。
【0065】一方、先頭アドレスTADとしては、その
間も通常モードと同じくブロック番号BN=1に応じた
バンク1の先頭アドレスが供給されており、加算器85
で該TAD値を前記ベースカウンタ82のカウント値と
加算することにより、クリアするバンク1の最終アドレ
スから1アクセス毎にカウントダウンするアドレスが生
成される。そして、32−16変換器61からは、遅延
メモリデータバスに「0」が出力され、それが遅延メモ
リ14の該アドレスの位置に順次書き込まれ、バンク1
の最終アドレスから順次1アドレス分のデータがクリア
される。ここで、バンク1のすべてのアドレスのクリア
が終了しないときは、次のDACサイクルのBN=1の
期間においてもクリアモードとされ、バンク1内のすべ
てのアドレスがクリアされるまで継続される。
【0066】なお既に説明したように、クリアモード中
のエフェクタブロックは、ホールトブロックとなり、対
応するマイクロプログラムの実行は停止されている。ま
た、図2のセレクタ27にHB(ホールトブロック)信
号が入力され、マイクロプログラムMP1に割り当てら
れた期間中は、CPU3が遅延メモリ14のバンク0に
アクセス可能となる。このタイミングを利用して例えば
図9に示したテーブルデータ又は波形データの書き換え
などを行うことができるので、バンク0の内容の変更を
効率よく行うことができる。
【0067】マイクロプログラムMP1以外の他のマイ
クロプログラムを変更するときも同様であり、クリアモ
ードとする(ホールトする)エフェクタブロックを複数
指定すれば1度に複数のマイクロプログラムを変更する
ことも可能である。
【0068】次に図6を参照して、遅延メモリ14にデ
ータを書き込むとき及び遅延メモリ14からデータを読
み出すときの、データ変換処理について説明する。
【0069】同図(a)は、32−16変換器61の構
成を示すブロック図であり、変換器61は、Dバス59
に接続されたレジスタ91と、32ビットの整数データ
を16ビットの浮動小数点データに変換するリニアフロ
ート変換部92と、32ビットの整数データを分割して
2個の16ビットの整数データに変換する16ビット分
割部93と、リニアフロート変換部92及び16ビット
分割部93の出力の一方を選択して遅延メモリ14のデ
ータバスに出力するセレクタ94とから成る。セレクタ
94には、MP制御部42から制御信号が入力され、そ
の制御信号に応じて選択が行われる。
【0070】図6(b)は、16−32変換器60の構
成を示すブロック図であり、変換器60は、遅延メモリ
14のデータバスに接続されたレジスタ101と、16
ビットの浮動小数点データを32ビットの整数データに
変換するフロートリニア変換部102と、2個の16ビ
ットの整数データを結合して32ビットの整数データに
変換する16ビット結合部103と、フロートリニア変
換部102及び16ビット結合部103の出力の一方を
選択してDバス59に出力するセレクタ104とから成
る。セレクタ104には、MP制御部42から制御信号
が入力され、その制御信号に応じて選択が行われる。
【0071】制御レジスタ21では、各マイクロプログ
ラム毎に高精度モードと通常精度モードの一方が選択で
きるようになっている。各マイクロプログラムで実行す
るエフェクト等の処理が、遅延信号に高い精度を要求す
る場合は、高精度モードが選択され、32−16変換器
61において16ビット分割部93の出力を選択して、
遅延メモリ14の2アドレスを使って32ビットのデー
タを2つに分割して格納する一方、高い精度が必要とさ
れない場合には、通常精度モードが選択され、リニアフ
ロート変換部92の出力を選択し、遅延メモリ14の1
アドレスに32ビットのデータを浮動小数点表示で16
ビットに圧縮したデータを格納する。これに対応して、
16−32変換器60において、高精度モードでは16
ビット結合部103の出力が、また通常精度モードでは
フロートリニア変換部102の出力がそれぞれ選択さ
れ、遅延メモリ14から読み出された16ビットデータ
に基づいて32ビットのデータがIレジスタ47に供給
される。
【0072】ここで、ベースカウンタ82の、高精度モ
ードが選択されたマイクロプログラムMPに対応するカ
ウンタでは、各サンプリング周期毎に2ずつ、すなわち
通常精度モードの場合の2倍の速さでカウントダウンが
行われる。
【0073】各モードは、例えば以下のように選択す
る。単独のパートの演奏波形を入力するマイクロプログ
ラムMPでは通常精度モードとし、複数パートの演奏波
形の混合波形を入力する場合は高精度モードとする。ま
たマイクロプログラムMPが、ディストーション等のノ
イズ的なエフェクト処理を実行する場合は通常精度モー
ドとし、残響、定位制御等のノイズを防止することが望
まれるエフェクト処理を実行する場合は、高精度モード
とする。あるいは、複数マイクロプログラムMPにバン
クを割り当てた後で遅延メモリ14にまだ余裕があれ
ば、いずれかのバンクを高精度モードに変更し、遅延メ
モリ14の容量が不足するときは、高精度モードのバン
クを通常精度モードに変更するようにしてもよい。その
結果、それほど精度が必要でない場合は、遅延メモリ1
4の記憶領域を節約することができるとともに、必要に
応じて高い精度の遅延信号を得ることができる。
【0074】以上詳述したように本実施形態では、MP
RAM73に格納されたマイクロプログラムの先頭ステ
ップ番号をブロックレジスタ44のSSレジスタに格納
し、MPRAM73に格納するマイクロプログラムの数
及びステップ数を所定範囲内で(マイクロプログラムの
数は8個以下で、ステップ数は全体で384ステップ以
下)任意に設定できるようにしたので、実行可能なマイ
クロプログラムの選択範囲が拡大し、より使い勝手を向
上させることができる。
【0075】また、各マイクロプログラムにおいて、予
め設けられた入力チャンネル(Iレジスタ47の入力領
域)及び出力チャンネル(Iレジスタ47の出力領域)
の内から、使用する入力チャンネル及び出力チャンネル
を任意に設定できるようにしたので、マイクロプログラ
ム毎に適切なチャンネルの設定を行うことができる。そ
の結果、例えば楽音に3次元的な広がりを持たせる効果
を付加する場合には出力チャンネルを4チャンネルに設
定し(本実施形態では、DA変換器への出力チャンネル
数を4としているので、全部を使用する設定とし)、2
次元的な広がりを持たせる効果を付加する場合には、2
つのマイクロプログラムで2チャンネルずつ使用する設
定とするといったことができ、限られた数の出力チャン
ネルを効率的に使用することができる。なお、図2に示
すように、信号処理回路26は、本実施形態では入力チ
ャンネルは全部で8チャンネル設けられ、出力チャンネ
ルは、DA変換器9へ出力する4チャンネル及びミキサ
24に出力する8チャンネルの合計12チャンネルが設
けられている。
【0076】図10は、時分割で実行するマイクロプロ
グラムの数及びサイズと、各マイクロプログラムが使用
する入出力チャンネル数の設定例を示す図である。同図
(a)は、ステップ数48の8個のマイクロプログラム
(MP1〜MAP8)をMPRAM73に格納し(48
×8=384ステップ)、各マイクロプログラムが入力
チャンネル及び出力チャンネルを1チャンネルずつ使用
するように設定した場合を示し、同図(b)は、ステッ
プ数192のマイクロプログラム1個(MP1)と、ス
テップ数96のマイクロプログラム1個と(MP2)、
ステップ数48のマイクロプログラム2個(MP3,M
P4)をMPRAM73に格納し、MP1が2つの入力
チャンネル及び4つの出力チャンネルを使用し、MP2
が1つの入力チャンネル及び2つの出力チャンネルを使
用し、MP3及びMP4がそれぞれ1つの入出力チャン
ネルを使用するように設定した場合を示し、同図(c)
は、ステップ数192のマイクロプログラム1個(MP
1)と、ステップ数96のマイクロプログラム2個と
(MP2,MP2)をMPRAM73に格納し、MP1
が2つの入力チャンネル及び2つの出力チャンネルを使
用し、MP2及びMP3がそれぞれ1つの入出力チャン
ネルを使用するように設定した場合を示している。この
ように本実施形態によれば、マイクロプログラム及び使
用する入出力チャンネルを所定範囲内で任意に設定で
き、使い勝手を大幅に向上させることができる。
【0077】また、遅延メモリ14に格納するデータの
圧縮処理の態様を変更できるようにし、その圧縮処理の
態様の変更に対応して読み出し時の伸張処理の態様を変
更するようにしたので、遅延信号の高い精度が必要でな
い場合は、遅延メモリ14の記憶領域を節約することが
できるとともに、必要に応じて高い精度の遅延信号を得
ることができる。
【0078】また、遅延メモリ14のバンク0をすべて
のマイクロプログラムがアクセスできる共通領域とした
ので、構成の複雑化やコストアップをほとんど招くこと
なく、二以上のマイクロプログラムで共通に使用するテ
ーブルや波形データ(図9)などを格納することがで
き、且つ格納したデータを容易に使用することができ
る。
【0079】また、バンク0を共通領域としたので、制
御信号COFFに対応してベースカウンタ82の出力及
び先頭アドレスTADをいずれも「0」とすることで、
容易に共通領域にアクセスすることができる。
【0080】また、いずれかのマイクロプログラムのホ
ールト期間中(HB信号の入力中)は、CPU3が遅延
メモリのバンク0にアクセスできるようにしたので、バ
ンク0に格納したデータの変更などを容易に行うことが
できる。
【0081】なお、本発明は上述した実施形態に限定さ
れるものではなく、種々の変形が可能である。例えば、
MPRAM73の容量を大きくして、格納可能なマイク
ロプログラムの最大個数を増加させたり、バスやレジス
タの容量を大きくして使用可能な入出力チャンネルの数
を増加さるようにしてもよい。
【0082】また、上述した実施形態では、32ビット
のデータを分割した2つの16ビットデータを1つの遅
延用メモリにシリアルに格納するようにしたが、例えば
2つの遅延用メモリを設けておき、分割した2つの16
ビットデータを並列に2つの遅延用メモリに格納するよ
うにしてもよい。また、遅延用メモリに格納するときの
圧縮処理は、32ビットのデータを16ビットのデータ
に変換するものに限るものではなく、例えば1データに
対して遅延用メモリの1.5アドレスを使用することと
して、32ビットのデータを24ビットのデータに変換
するようにしてもよい。
【0083】また上述した実施形態では、ステップカウ
ンタ72は、1DACサイクルの中で0から383の値
を順次カウントするようにしたが、該ステップカウンタ
72のカウント順序を変更し、0から383の範囲を任
意の順序で読み出せるようにしてもよい。そのようにす
ると、MPRAM73の中の複数のマイクロプログラム
MPの読み出し順序を、任意に変更することができる。
その場合、カウント順序の変更されたカウント値を係数
レジスタ43及びアドレスレジスタ45に供給し、乗算
データとアドレスデータADの読み出し順序がマイクロ
プログラムMPと同様に変更されるようにする。
【0084】ここで、任意の読み出し順序とは、例えば
もともとマイクロプログラムMP1、MP2、MP3…
の順に実行されてたマイクロプログラムを、MP1、M
P3、MP2の順あるいはMP3、MP2、MP1の順
で実行できるようにすることである。
【0085】MPRAM73の中の複数のマイクロプロ
グラムの読み出し順序が任意に変更可能であれば、MP
RAM73の中に離れて格納されている2つのマイクロ
プログラムを差し替えたい場合に、その2つマイクロプ
ログラムの記憶領域を1つにまとめて連続した記憶領域
とすることができ、その2つのいずれかの記憶領域だけ
では入りきらないステップ数のマイクロプログラムを、
他のマイクロプログラムを動作させたままで新たに書き
込むことができる。
【0086】また、複数のエフェクト種類(例えば「ホ
ール3」、「ディストーション2」などと呼ばれる)で
同じマイクロプログラム(処理アルゴリズム)が使用さ
れる場合もあり、新たなエフェクト種類が選択されたと
きでも、その選択の前後のエフェクト種類で同じマイク
ロプログラムを使用していれば、新たなマイクロプログ
ラムをMPRAM73に書き込む必要はない。その場合
には、対応するマイクロプログラムの入力レベル及び出
力レベルをフィードアウトして該マイクロプログラムを
停止し、使用していた遅延メモリのバンクをクリアし、
係数(係数レジスタ43の内容)やディレイの長さ(ア
ドレスレジスタ45の内容)を新たな値に変更して該マ
イクロプログラムを始動し、再び対応する入力レベル及
び出力レベルをフェードインする処理を行う。すなわ
ち、マイクロプログラムの停止は、マイクロプログラム
の変更時だけでなく、係数やディレイの長さの設定切換
時にも行われる。
【0087】なお、遅延メモリ14の、すべてのマイク
ロプログラムがアクセス可能な共通領域は、必ずしも遅
延メモリ14の先頭アドレス(番地0)から確保する必
要はなく、遅延メモリ14の任意のアドレスから所定の
サイズで確保すればよい。
【0088】
【発明の効果】以上詳述したように請求項1に記載の発
明によれば、遅延用記憶手段に、複数のマイクロプログ
ラムのうちの実行中のマイクロプログラムがディジタル
信号を遅延させるために使用する複数の遅延領域の他
に、すべてのマイクロプログラムがアクセス可能な共通
領域が確保されるので、構成の複雑化やコストアップを
抑制しつつ、複数のマイクロプログラムにより共通に使
用されるテーブル等を格納し、格納したデータを容易に
使用することが可能となる。より具体的には、複数のマ
イクロプログラム毎に別々にテーブル等を用意する必要
がないので、テーブル等を記憶する記憶領域を削減でき
るとともに、テーブル等を遅延用記憶手段に書き込むた
めの処理を減らすことができる。
【0089】請求項2に記載の発明によれば、複数のマ
イクロプログラムの一部の実行が停止されたとき、外部
の処理装置が前記共通領域にアクセス可能となるので、
共通領域に格納したデータの変更などを外部の処理装置
により容易に行うことができる。
【0090】請求項3に記載の発明によれば、第2記憶
手段に、複数のマイクロプログラムに対応した複数の遅
延領域の他に、共通領域が確保され、入力されたディジ
タル信号の遅延処理を行うときは、実行中のマイクロプ
ログラムに対応した遅延領域がアクセスされ、定数アク
セス処理を行うときは、いずれのマイクロプログラムが
実行されていいるかに拘わらず共通領域がアクセスされ
るので、構成の複雑化やコストアップを抑制しつつ、複
数のマイクロプログラムにより共通に使用されるテーブ
ル等を格納し、定数アクセス処理に使用することが可能
となる。より具体的には、複数のマイクロプログラム毎
に別々にテーブル等を用意する必要がないので、テーブ
ル等を記憶する記憶領域を削減できるとともに、テーブ
ル等を第2記憶手段に書き込むための処理を減らすこと
ができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態にかかる電子楽器の構成
を示すブロック図である。
【図2】図1の音源の構成を示すブロック図である。
【図3】図2の制御レジスタ及び信号処理回路の構成を
示すブロック図である。
【図4】図3のMP制御部の構成を示すブロック図であ
る。
【図5】図3の遅延メモリアドレス発生部の構成を示す
図である。
【図6】図3の32−16変換部及び16−32変換部
の構成を示すブロック図である。
【図7】図3,4,5の示されるブロックレジスタに格
納されるデータを示す図である。
【図8】時分割で実行されるマイクロプログラムと遅延
メモリとの関係を説明するための図である。
【図9】遅延メモリの共通領域(バンク0)に格納され
るデータの例を説明するための図である。
【図10】マイクロプログラムの数及びステップ数並び
に各マイクロプログラムが使用する入出力チャンネルの
設定例を示す図である。
【符号の説明】
3 CPU 8 音源 11 システムバス 14 遅延メモリ 21 制御レジスタ 26 信号処理回路 42 マイクロプログラム制御部 44 ブロックレジスタ 60 16−32変換部 61 32−16変換部 62 遅延メモリ用アドレス発生部 73 マイクロプログラムRAM

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のマイクロプログラムを時分割で実
    行することにより、入力されたディジタル信号に種々の
    演算処理を施す信号処理装置において、 前記ディジタル信号を遅延させるための遅延用記憶手段
    を備え、 該遅延用記憶手段は、前記複数のマイクロプログラムの
    うちの実行中のマイクロプログラムが前記ディジタル信
    号を遅延させるために使用する前記複数のマイクロプロ
    グラムのそれぞれについて独立した複数の遅延領域と、
    前記複数のマイクロプログラムのすべてがアクセス可能
    な共通領域とを有することを特徴とする信号処理装置。
  2. 【請求項2】 前記複数のマイクロプログラムの一部の
    実行を、該一部のマイクロプログラム以外のマイクロプ
    ログラムを実行しつつ停止する実行停止手段を備え、前
    記実行が停止されたマイクロプログラムに割り当てられ
    た期間中は、外部の処理装置が前記共通領域にアクセス
    できるように構成したことを特徴とする請求項1に記載
    の信号処理装置。
  3. 【請求項3】 複数のマイクロプログラムを時分割で実
    行することにより、入力されたディジタル信号に種々の
    演算処理を施す信号処理装置において、 複数のマイクロプログラムを記憶する第1記憶手段と、 時分割で前記複数のマイクロプログラムを順次読み出す
    読出手段と、 前記複数のマイクロプログラムのうちの前記読出手段が
    読み出し中のマイクロプログラムを判別する判別手段
    と、 前記複数のマイクロプログラムに対応した複数の遅延領
    域と、該遅延領域とは異なる共通領域とを備える第2記
    憶手段と、 読み出されたマイクロプログラムに基づいて前記種々の
    演算処理を実行する演算手段であって、前記演算処理に
    含まれる遅延処理では、前記判別手段の判別に応じて実
    行中のマイクロプログラムに対応した遅延領域をアクセ
    スするとともに、前記演算処理に含まれる定数アクセス
    処理では、前記判別手段の判別に拘わらず前記共通領域
    をアクセスする演算手段とを備えることを特徴とする信
    号処理装置。
  4. 【請求項4】 前記定数アクセス処理は、前記第2記憶
    手段に記憶された変換テーブル、波形テーブル乃至定数
    テーブルをアクセスする処理であることを特徴とする請
    求項3に記載の信号処理装置。
JP01746697A 1997-01-08 1997-01-14 信号処理装置 Expired - Fee Related JP3230449B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01746697A JP3230449B2 (ja) 1997-01-14 1997-01-14 信号処理装置
US09/001,992 US6085309A (en) 1997-01-08 1997-12-31 Signal processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01746697A JP3230449B2 (ja) 1997-01-14 1997-01-14 信号処理装置

Publications (2)

Publication Number Publication Date
JPH10198560A true JPH10198560A (ja) 1998-07-31
JP3230449B2 JP3230449B2 (ja) 2001-11-19

Family

ID=11944804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01746697A Expired - Fee Related JP3230449B2 (ja) 1997-01-08 1997-01-14 信号処理装置

Country Status (1)

Country Link
JP (1) JP3230449B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169565A (ja) * 2008-01-15 2009-07-30 Yamaha Corp 信号処理装置
JP2010113023A (ja) * 2008-11-04 2010-05-20 Yamaha Corp デジタル信号処理装置
JP2013140606A (ja) * 2013-02-18 2013-07-18 Yamaha Corp 信号処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169565A (ja) * 2008-01-15 2009-07-30 Yamaha Corp 信号処理装置
JP2010113023A (ja) * 2008-11-04 2010-05-20 Yamaha Corp デジタル信号処理装置
JP2013140606A (ja) * 2013-02-18 2013-07-18 Yamaha Corp 信号処理装置

Also Published As

Publication number Publication date
JP3230449B2 (ja) 2001-11-19

Similar Documents

Publication Publication Date Title
US4953437A (en) Method and apparatus for digitally generating musical notes
KR100366721B1 (ko) 전자음악장치및이펙터
JPS62200399A (ja) 電子楽器におけるパラメ−タ供給装置
JP2565073B2 (ja) ディジタル信号処理装置
JP3358324B2 (ja) 電子楽器
JP2924745B2 (ja) 楽音発生装置及び方法
US6085309A (en) Signal processing apparatus
JP3230449B2 (ja) 信号処理装置
JP3582276B2 (ja) 信号処理装置
JP3000894B2 (ja) 楽音発生方法
JP3978928B2 (ja) 楽音生成装置
JP3050779B2 (ja) 信号処理装置
JP2671690B2 (ja) 電子楽器
JP3603849B2 (ja) 楽音発生方法
JP3603638B2 (ja) 楽音発生方法
JP3371643B2 (ja) 信号処理装置
JP3520553B2 (ja) 音源装置
JP3521724B2 (ja) 楽音発生装置
JP3275678B2 (ja) 楽音発生方法および装置
JP3104873B2 (ja) 音源装置
JP2956552B2 (ja) 楽音発生方法および装置
JPH02179698A (ja) 処理装置
JP3693046B2 (ja) 楽音発生装置
JP5071124B2 (ja) 音源装置
JP2970570B2 (ja) 楽音発生装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070914

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080914

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090914

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees