JPH0944157A - 信号処理装置 - Google Patents

信号処理装置

Info

Publication number
JPH0944157A
JPH0944157A JP7210996A JP21099695A JPH0944157A JP H0944157 A JPH0944157 A JP H0944157A JP 7210996 A JP7210996 A JP 7210996A JP 21099695 A JP21099695 A JP 21099695A JP H0944157 A JPH0944157 A JP H0944157A
Authority
JP
Japan
Prior art keywords
program
memory
area
signal processing
tone
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
JP7210996A
Other languages
English (en)
Other versions
JP3050779B2 (ja
Inventor
Sei Hasebe
聖 長谷部
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 JP7210996A priority Critical patent/JP3050779B2/ja
Priority to EP95114273A priority patent/EP0702348B1/en
Priority to DE69517896T priority patent/DE69517896T2/de
Priority to US08/527,147 priority patent/US5703312A/en
Priority to KR1019950030304A priority patent/KR100366721B1/ko
Publication of JPH0944157A publication Critical patent/JPH0944157A/ja
Application granted granted Critical
Publication of JP3050779B2 publication Critical patent/JP3050779B2/ja
Priority to KR1020020029921A priority patent/KR100411940B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 複数のプログラムを実行するDSPにおい
て、データを記憶するメモリの割当てを行う。 【構成】プログラムを記憶するプログラムメモリと、該
プログラムが使用するメモリ領域を含む記憶手段と、該
メモリ領域の変更を指示する指示手段と、該指示手段の
指示にしたがって、メモリ領域を変更するメモリ領域可
変手段を備える。また、演奏情報を出力する演奏情報発
生手段と、該演奏情報に従って楽音発生または楽音処理
のためのプログラムを選択する選択手段と、該選択され
たプログラムにしたがって楽音発生または楽音処理を行
う演算手段と、該選択されたプログラムが使用するメモ
リ領域を割り当てる割当手段とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、信号処理に関
し、特に楽音発生や楽音処理を行うものであり、効率的
なメモリ使用を行い、かつ動的なプログラムの選択、メ
モリの割当を行うものに関する。
【0002】
【従来の技術】従来、音声や楽音に各種効果を付与する
目的、または音声や楽音を発生させる目的で信号処理装
置(Digital Signal Processor 以下DSPと略す)が
用いられている。最近では1サンプリング周期内で複数
の処理を行うことが一般的になってきている。
【0003】
【発明が解決しようとする課題】LSI技術の進歩によ
りさらに大きな信号処理ができるようになり、1サンプ
リング周期内で処理できるプログラム量が増大している
が、これを単に複雑な処理を行うのではなく、複数の異
なるプログラムを演奏情報に応じて臨機応変に使用でき
るDSPが求められている。
【0004】この発明は以上のような要請に答えるもの
であって、複数の異なる処理を演奏情報などによって選
択できるDSPを提供することである。
【0005】また、プログラムが使用するデータを遅延
する目的で使用するメモリについて以下のような問題が
ある。複数の処理を1サンプリング周期で処理すると、
遅延用のメモリに確保される各処理に必要とされる領域
を複数用意しなければならない。そして通常はその確保
される領域は固定されているので、決まった領域を確保
していた。ところが、その固定された領域は起こりうる
最大の領域であるので、通常は使わない領域が多く、メ
モリを有効に活用しているとはいえなかった。例えば、
処理の1つとして入力信号に遅延を与えるディレイとい
うエフェクタがある。パラメータとしてディレイ量を与
えると入力信号がそのディレイ量に応じて変化する。デ
ィレイ量は例えば0.1〜5000m秒という範囲で可変でき
る。この場合、ディレイのために確保されるメモリは最
大のディレイ量の5000m秒に対応した領域を確保してい
た。ところが、実際は最大のディレイ量を設定すること
はまれであり、通常はそれよりかなり少ないディレイ量
で使われることが多い。その場合は、確保されたほとん
どのメモリは使われないことになる。
【0006】複数の処理を行う場合は、使われないメモ
リが存在する一方で、他方ではメモリをたくさん使いた
い処理がある場合も起こりうる。また、発音しようとす
る周波数に応じて遅延時間などが異なる場合がある。そ
の場合でも確保されるメモリ量は周波数に関係なく一定
量確保され、使用されないメモリが存在していた。この
発明はこのような問題も解決するものであり、プログラ
ムが使用するメモリ領域を動的に移動してメモリを効率
よく使用できるようにした。
【0007】また、プログラムが使用する遅延メモリは
新たに異なる処理のために使用されるときはクリアされ
ていなければならないが、この発明ではプログラムの実
行に影響されず、迅速にクリアする方法も提供する。
【0008】
【課題を解決するための手段】これら課題を解決するた
めに、請求項1記載の信号処理装置によれば、プログラ
ムを記憶するプログラムメモリと、該プログラムが使用
するメモリ領域を含む記憶手段と、該メモリ領域の変更
を指示する指示手段と、該指示手段の指示にしたがっ
て、メモリ領域を変更するメモリ領域可変手段を備え、
前記プログラムメモリからよみだされたプログラムの指
示に従って該変更されたメモリ領域を使用して信号処理
を行うようにしている。
【0009】また請求項2記載の信号処理装置によれ
ば、演奏情報を出力する演奏情報発生手段と、該演奏情
報に従って楽音発生または楽音処理のためのプログラム
を選択する選択手段と、該選択されたプログラムにした
がって楽音発生または楽音処理を行う演算手段と、該選
択されたプログラムが使用するメモリ領域を割り当てる
割当手段とを備え、前記選択されたプログラムは前記演
算手段を用いて演算処理を行い、その演算結果を前記割
り当てられたメモリ領域に記憶させ、読出すことによっ
て楽音発生または楽音処理を指示するようにしている。
【0010】また請求項3記載の信号処理装置によれ
ば、信号処理のためのプログラムを記憶するプログラム
メモリと、該記憶されたプログラムが使用する複数のメ
モリ領域を含むメモリ手段と、前記複数のメモリ領域の
うち、少なくとも1つのメモリ領域をクリアするための
指示を行うクリア指示手段と、クリア指示されたメモリ
領域を前記プログラムが前記メモリ手段を使用しないタ
イミングでクリアを行うクリア手段とを備えている。
【0011】また請求項4記載の信号処理装置によれ
ば、演奏情報を出力する演奏情報発生手段と、異なるア
ルゴリズムに基づくプログラムを複数記憶するプログラ
ム記憶手段と、該演奏情報に従って楽音発生または楽音
処理のためのプログラムを前記複数記憶されたプログラ
ムの中から選択する選択手段と、前記選択手段で選択さ
れたプログラムを前記プログラム記憶手段から読み出す
プログラム読出し手段と、前記プログラム読出し手段に
よって読み出されたプログラムに応じて演算を行う演算
手段とを備え、前記選択されたプログラムによって異な
る演算処理を行い、楽音発生または楽音処理を行うよう
にしている。
【0012】
【発明の実施の形態】図3はこの発明にかかる信号処理
装置を備えた電子楽器の回路構成を示すもので、この電
子楽器では、楽音発生、効果付与などがマイクロコンピ
ュータによって制御されるようになっている。アドレス
・データバス46には、CPU(中央処理装置)50、
RAM49、ROM48、鍵盤47、LCD40、操作
子41、音源42、DSP43などが接続されている。
鍵盤47は、多数の鍵を有するもので、各鍵盤を操作す
ると、その操作が鍵操作情報として検出されるようにな
っている。演奏情報入力手段としては、鍵盤47の他
に、MIDI規格に基づく演奏情報受信装置をアドレス
・データバス46に接続し、他のMIDI機器から演奏
情報を入力するようにしてもよい。CPU50は、RO
M48に記憶されているプログラムに従って楽音発生、
効果付与などのための各種処理を実行するものである。
楽音発生に関して、CPU50は、鍵盤47で押鍵され
た鍵を検出する処理、押鍵された鍵に関する音高情報及
びキーオン信号を音源42に供給してディジタル楽音信
号を発生させる処理などを行う。
【0013】音源42は、各々ディジタル楽音信号や励
振波形信号を発生するための複数の楽音チャンネルを有
するもので、これらのチャンネルからの楽音信号は分割
的にDSP43に供給される。鍵盤47で複数の鍵が同
時に押されると、これらの鍵に対応する音高情報及びキ
ーオン信号が複数の楽音発生チャンネルに供給され、各
々楽音発生チャンネルから楽音信号が同時的に発生され
る。音源42で発生された楽音信号または励振波形信号
はDSP43に送られ、各種効果付与のための処理や、
楽音生成のための処理を行う。外部RAM33はDSP
43の内部に記憶されるマイクロプログラムの指示に応
じてデータの書込み、読出しのために使用される。DS
P43と外部RAM33の詳しい動作については後述す
る。DSP43で処理された楽音信号はDAC44に出
力される。DAC44ではデジタル/アナログ変換を行
い、変換されたアナログ信号はサウンドシステム45に
送られる。サウンドシステム45は増幅器とスピーカか
ら構成され、アナログ信号を所定のレベルまで増幅した
あと、スピーカにより音響エネルギーとして放音され
る。
【0014】図2は、この発明にかかる信号処理装置の
動作を説明するための図であり、DSP43の内部に備
えられるマイクプログラムメモリに記憶された複数のプ
ログラムのそれぞれが使用する外部RAM33の領域が
示されている。図ではマイクロプログラムメモリには5
つのプログラムが記憶されている。この6つのプログラ
ムはCPU50の指示により、ROM48に記憶されて
いる多数のプログラムのうちから6つを選択してマイク
ロプログラムメモリに転送される。この実施例ではDS
P43が1サンプリング周期で実行できるプログラムス
テップ数を512とするが、マイクロプログラムメモリ
は512ステップ以上記憶する容量でもよい。これは、
瞬時にプログラムを割り当てるために割り当てる可能性
のあるプログラムをあらかじめロードしておく必要があ
るからである。
【0015】実際に実行されるプログラムはマイクロプ
ログラムメモリに転送されたプログラムのうち、プログ
ラムステップの合計が512以下になるように選択され
る。さらに、同じプログラムを1サンプリング周期中で
何度も指定し実行してもよい。また、プログラムの実行
順序も自由に変更できる。どのような組み合わせでもか
まわないが、この実施例では1サンプリング周期で実行
できるプログラムの数は4つまでとする。
【0016】図2に示されるマイクロプログラムメモリ
のうち、網掛け表示されているプログラムは実行される
プログラムであり、これ等のプログラムが使用する外部
RAMの領域が矢印によって示されている。外部RAM
33の領域は5つに分けられ、そのうち領域1はプログ
ラム1が、領域2はプログラム4が、領域4はプログラ
ム2が、領域5はプログラム6が使用していることを示
している。また、領域3はどのプログラムによっても使
用されておらず、空き領域であることが示されている。
【0017】これらの領域はさまざまな状況に応じて、
大きさを変更することができる。また、どのプログラム
がどの領域を使用するかは自由に設定することができ、
プログラムによって使用されている領域の場所を変更す
ることも可能である。例えば、プログラム1がディレイ
エフェクトプログラムの場合、操作子41によって設定
された、またはあらかじめ決められたディレイ量に応じ
て領域1の大きさを動的に変化させることが可能とな
る。また、フィードバックループを含むアルゴリズムの
音源プログラムがプログラム4に記憶されている場合、
例えば鍵盤47からの新たな押鍵に対応して今までの使
用していた領域2を、クリアされている領域3に動的に
アサインすることができるようになる。
【0018】図1は、この発明の信号処理装置の内部構
成を説明するための図である。1はアドレスカウンタで
あり、カウンタ2、比較器3、エリアサイズレジスタ
4、ボトムアドレスレジスタ5、加算器6から構成され
ている。アドレスカウンタ1は複数あり、その数は1サ
ンプリング周期に実行できるプログラムの数に等しい。
この実際に動作するプログラムをチャンネルと呼ぶこと
にする。この実施例では最大で4つのチャンネルがあ
り、サンプリング周期の頭からチャンネルA、チャンネ
ルB、チャンネルC、チャンネルDが順次実行される。
【0019】各チャンネルに割り当てられるプログラム
はマイクロプログラムメモリに記憶されているプログラ
ムの中から自由に選択できる。図4には各チャンネルに
割り当てられたプログラムが1サンプリング周期内で順
次実行される様子が示されている。チャンネルAにはプ
ログラム1、チャンネルBにはプログラム4、チャンネ
ルCにはプログラム2がわりあてられていることから、
割り当てられるプログラムの順番はマイクロプログラム
メモリに記憶される順番と関係ないことがわかる。 ま
た、チャンネルDにはプログラム6が割り当てられてい
るが、このプログラム6を既にチャンネルBで実行され
たプログラム4を割り当ててもよい。
【0020】このように、順番と回数は自由に割り当て
られるが、各チャンネルに割り当てたプログラムの合計
ステップは1サンプリング周期で実行できる総ステップ
数をこえる事ができないので、割当には注意を要する。
またステップの合計は総ステップ数以下でも、プログラ
ムが最後まで実行されないうちに次のチャンネルに割り
当てられたプログラムが実行されないようにしなければ
ならない。これは、CPUが管理することで解決され
る。
【0021】図1にもどって説明を続ける。カウンタ2
には、図4に示すようなサンプリング周期に一致した周
期をもつφ0のクロックが供給されているので、カウン
タ2はサンプリング周期毎に1づつ計数する。その出力
は加算器6に2の補数表現として供給される一方、比較
器3にも供給される。比較器3にはエリアサイズレジス
タ4から複数の領域のうちの1つの領域の大きさが供給
されている。そして、カウンタ2の出力がエリアサイズ
と一致するとカウンタ2をリセットするリセット信号を
出力する。したがって、カウンタ2はエリアサイズに一
致する値を出力するとすぐに0になるので、実質的にカ
ウンタ2は0からエリアサイズー1の間で計数動作を繰
り返す。
【0022】加算器6にはカウンタ2の出力とボトムア
ドレスレジスタ5から各領域のボトムアドレスが供給さ
れ、それらを加算するが、カウンタ2の出力は2の補数
表現として供給されているので、実質的にボトムアドレ
スからカウンタ2の出力を減算してセレクタ7に出力す
る。複数のアドレスカウンタ1には各チャンネルに割り
当てられたプログラムの使用する外部RAM33におけ
る領域を決定するためのエリアサイズ、ボトムアドレス
がインターフェース34を介してCPU50からそれぞ
れ書き込まれる。
【0023】各アドレスカウンタ1の出力はセレクタ7
に供給され、割り当てられたプログラムの動作中に選択
されるようにセレクト信号が制御される。セレクト信号
はカウンタ8から供給される。カウンタ8には1サンプ
リング周期の先頭で立ち上がるクロックφ0がリセット
信号として供給されており、カウンタ8は1サンプリン
グ周期の先頭で0を出力する。次に、プログラムカウン
タ10にはやはりクロックφ0がリセット信号として供
給されているため、サンプリング周期の先頭で0にな
る。プログラムカウンタ10には1プログラムステップ
の実行時間に対応する周期のクロックφ1が供給されて
いる。マイクロプログラムの総ステップ数を512とす
ると、クロックφ1はサンプリング周期の1/512の
周期のクロックである。
【0024】プログラムカウンタ10の出力は比較器1
1、12、13のほか、アドレスレジスタ18やマイク
ロプログラムメモリ部29などにも供給される。比較器
11〜13にはそれぞれ、トップステップレジスタ1
4、15、16からそれぞれのチャンネルに割り当てら
れたプログラムが実行を開始する先頭ステップが供給さ
れる。この実施例では、1サンプリング周期で実行する
プログラムの数は4つとしているが、トップステップレ
ジスタは3つである。これは、最初のチャンネルAの先
頭ステップは0であり、クロックφ0でカウンタ8をリ
セットすることから、チャンネルAのトップステップレ
ジスタは必要ないからである。
【0025】トップステップレジスタ14、15、16
にはインターフェース34を介してCPU50からチャ
ンネルB、C、Dに割り当てられたプログラムが実行を
開始する先頭ステップが書き込まれる。これによって、
各チャンネルの境界も自由に設定されることがわかる。
これは割り当てるプログラムサイズを制約せず、効率的
にDSPを使用するために必要である。プログラムカウ
ンタ10の出力が各チャンネルに割り当てられたプログ
ラムの開始ステップと一致すると、比較器11、12、
13のいずれかが一致信号を出力し、オア回路9を介し
てカウンタ8に供給される。従って、カウンタ8は各チ
ャンネルの境界で計数し、セレクタ7はこの計数結果に
応じて各チャンネルに対応した複数のアドレスカウンタ
1の出力を順次切り替えていく。これによって、各チャ
ンネルに割り当てられたプログラムが使用する外部RA
M33の領域のアドレスが実行されるチャンネルに応じ
て切り替えられていく。
【0026】セレクタ7で選択された各チャンネルに対
応するアドレスカウンタ1の出力は加算器17におい
て、アドレスレジスタ18の出力値に加算される。アド
レスレジスタ18はマイクロプログラムの総ステップ数
512に対応するアドレスをもち、プログラムカウンタ
10の出力値をアドレスとして読み出される。この読出
しのタイミングは、マイクロプログラムメモリ29の読
出しと同期して行われる。アドレスレジスタ18に記憶
されるアドレスは外部RAM33をアクセスするための
のアドレスであり、複数に分割された外部RAM33の
領域の先頭アドレスを0とした相対アドレスで記憶され
る。アドレスレジスタ18の出力を加算器17において
アドレスカウンタ1からの出力と加算することにより、
実際のアドレスである絶対アドレスとなって外部RAM
33をアドレッシングする。
【0027】演算部30は乗算部と加算部からなり、乗
算に必要な係数を供給する係数レジスタを備え、マイク
ロプログラムメモリ29からの制御信号にしたがって、
所定の演算をおこない、その演算結果を必要に応じてセ
レクタ31を介して、外部RAM33に記憶させ、所定
時間経過後読出してさらに演算させることで複雑な信号
処理を行う。最終的な出力はDAC24に送られる。
【0028】マイクロプログラム部29はマイクロプロ
グラムメモリを備え、インターフェース34を介してC
PU50からマイクロプログラムが書き込まれ、プログ
ラムカウンタ10の出力に応じて順次マイクロプログラ
ムを出力するが、その詳細は図5に示される。この図
で、プログラムカウンタ10からトップステップレジス
タ16までは図1のものと同一であるので説明を省略す
る。オア回路108にはオア回路9の出力とクロックφ
0が供給され、その出力はカウンタ107にリセット信
号として供給されているので、カウンタ107は各チャ
ンネルの先頭でリセットされ、クロックφ1により計数
して、出力を加算器101に供給する。
【0029】一方、プログラムトップアドレスレジスタ
103〜106はチャンネルに対応して4つ設けられ、
CPUからインターフェース34を介して各チャンネル
に割り当てられるべきマイクロプログラムメモリ100
に記憶されたプログラムの先頭アドレスを書込まれ、セ
レクタ102に出力するようになっている。図2を参照
して説明すると、プログラムトップアドレスレジスタ1
03にはプログラム1の先頭アドレスが、同104には
プログラム4の先頭アドレスが、同105にはプログラ
ム2の先頭アドレスが、同106にはプログラム6の先
頭アドレスが書き込まれる。
【0030】カウンタ8は、各チャンネルの実行タイム
スロットに応じて、0、1、2、3と出力するので、セ
レクタ102は各チャンネルA、B、C、Dに割り当て
られたプログラムの先頭アドレスを順次選択して加算器
101に出力する。加算器101は選択された先頭アド
レスとカウンタ107の出力を加算してマイクロプログ
ラムメモリ100に供給する。マイクロプログラムメモ
リ100はカウンタ107から与えられた出力をアドレ
スとしてマイクロプログラムを読出す。読み出されたマ
イクロプログラムは演算部30をはじめ、DSP43の
各部、外部RAM33に制御信号として供給され、信号
処理を行う。
【0031】図1に戻って説明する。マイクロプログラ
ムメモリ部29から負論理の外部RAM33への書込
み、または読出し信号が出力されているときはアンド回
路28の出力は”0”になるので、アンド回路26の出
力も”0”であり、セレクタ32には”0”が供給され
る。この時、セレクタ32は加算器17の出力を外部R
AM33にアドレスとして供給する。また、セレクタ3
1にもアンド回路26の出力”0”が供給されるのでセ
レクタ31は演算部30の信号線を選択する。この結
果、演算部30と外部RAMのデータ端子が結ばれる。
【0032】アンド回路26の出力はセレクタ27にも
セレクト信号として供給されているので、アンド回路2
6の出力が”0”のときはマイクロプログラムメモリ部
29から出力されるライトイネーブル信号を外部RAM
33のライトイネーブル端子に供給する。この結果、マ
イクロプログラムが外部RAMに対して読み出しまたは
書込みを行っているときはデータ端子は演算部と、アド
レス端子は各チャンネルに割り当てられたプログラムに
対応するアドレス出力と接続されるので通常の外部RA
Mに対する読出し、書込みを行う事になる。なお、外部
RAM33のアウトプットイネーブル端子には直接マイ
クロプログラムメモリからのアウトプットイネーブル信
号が供給される。
【0033】一方、マイクロプログラムメモリ部29の
外部RAM33への書込みまたは読出し信号を出力しな
いときは、アンド回路28の出力は”1”となり、アン
ド回路20と26に与えられる。アンド回路20にはク
ロックφ1も供給されており、外部RAM33へのアク
セスがない間、1ステップ毎にカウンタ19を計数させ
るクロックを出力する。カウンタ19にはインターフェ
ース34を介してCPU50からリセット信号が与えら
れる。
【0034】カウンタ19の出力は加算器21に与えら
れ、加算器21では、スタートアドレスレジスタ22か
ら外部RAM33の消去したい特定の領域の先頭アドレ
スであるスタートアドレスと加算される。加算器21
は、外部RAM33が使われていない期間を利用して、
消去したい外部RAMのエリアのスタートアドレスから
順次、消去するアドレスを出力する。その出力は、セレ
クタ32に供給され、アンド回路26の出力が”1”の
ときに外部RAM33をアクセスするアドレスとして選
択される。アンド回路26の出力はセレクタ27、32
にも選択信号として供給されていて、出力値が”1”の
とき、それぞれ”0”を選択するようになっているの
で、外部RAM33に対して書き込み指示となりデー
タ”0”を加算器21の出力に対応する外部RAM33
のアドレスに書込むことになる。
【0035】加算器21の出力は比較器23にも与えら
れ、加算器36の出力と比較され、一致したときにフリ
ップフロップ25にリセット信号として出力する。加算
器36ではエンドアドレスレジスタ24から供給される
エンドアドレスと”1”を加算する。フリップフロップ
25にはインターフェース34を介してCPU50から
セット信号が送られ、セットされる。セットされたフリ
ップフロップ25はアンド回路26に”1”を出力し、
比較器23が一致信号を出力するとリセットされる。リ
セットされたフリップフロップ25は”0”を出力し
て、アンド回路26の出力を”0”にするので、セレク
タ27、31、33はそれぞれ、マイクロプログラムメ
モリ29からのライトイネーブル信号、加算器17から
の出力、演算部30からの出力信号を選択するようにな
る。また、加算器21の出力はインターフェース34を
介してCPU50にも送られ、クリアが完了したことを
知らせる。
【0036】CPU50はクリアしたい外部RAM33
の領域の先頭アドレスをスタートアドレスとして、スタ
ートアドレスレジスタ22に書込む。また、その領域の
最後のアドレスをエンドアドレスとしてエンドアドレス
レジスタ24に書込む。その後、カウンタ19とフリッ
プフロップ25にそれぞれ、リセット、セット信号を送
ることによってマイクロプログラムメモリが外部RAM
33をアクセスしない期間スタートアドレスからエンド
アドレスまで順次”0”を書込み続け、加算器21の出
力がエンドアドレス+1のアドレスとなった時点で、ク
リアを終了し、インターフェース34を介してCPU5
0にクリア終了フラグとして送られる。CPU50はク
リア終了フラグを読みとるとクリア済み領域として記憶
し、クリア済み領域を必要とする割当に備える。また、
他にクリアが必要な領域が有れば、同様にしてクリアを
実行する。
【0037】このような構成をとることにより、外部R
AM33をマイクロプログラムが使用しない期間に任意
の領域を消去することができるので、マイクロプログラ
ムを実行したままでクリアを行うことができ、クリアの
ためにマイクロプログラムの処理を中断することがな
い。このため、クリア領域をダイナミックにアサインす
る用途に特に適した構成となる。
【0038】次にこの信号処理装置を利用した応用例に
ついて説明する。図6は図3に示した電子楽器の動作を
説明するためのメインフローチャートである。最初に電
源が投入されるとステップ60にて初期設定を行い、各
部レジスタのクリア、初期値ロード等が行われる。特に
DSP43については、デフォルトで定められているプ
ログラムとそのプログラムに対応する係数とアドレスを
ROM48から読出し、それぞれマイクロプログラムメ
モリ29、演算部30内の係数レジスタ、アドレスレジ
スタ18に転送される。
【0039】初期設定を終了するとステップ61の割当
処理を実行する。この処理はサブルーチンとなってお
り、図7のフローチャートに対応するプログラムを実行
する。最初にステップ70にてノートオンのイベントが
起こったかどうかが判断される。これは鍵盤37にてい
づれかの鍵盤が押下されたことを検出するか、または図
示せぬ外部のMIDI機器からのノートオンイベントを
受け取ったときに「yes」となってステップ71に進
む。
【0040】ステップ71ではDSP43の4つのチャ
ンネルのうち、割り当てられていないチャンネルがある
かどうか判断する。ここでいう割当とは発音していな
い、または実質的に出力に関与していないチャンネルの
ことである。そのチャンネルに割り当てられているプロ
グラムは動作はしているが、出力が絞られている。判断
が「yes」のときは使われていないチャンネルがある
ので、ステップ72に進み、音色、キーコードなどの楽
音パラメータによって割り当てるプログラムを決定し、
空きチャンネルに対応するプログラムトップアドレスレ
ジスタに割り当てるプログラムの先頭アドレスを書込
む。
【0041】ステップ71で「no」の判断となったと
きは、ステップ73に進み、最も音量の小さいチャンネ
ルをダンプ処理して発音を停止する。それによって強制
的に空きチャンネルを作り出す。ステップ74では、空
きチャンネルのプログラムステップ数と決定されたプロ
グラムのステップ数を比較し、空きチャンネルのプログ
ラム数が等しいか大きい時は、割当が可能なため、判断
が「yes」となりステップ75に進む。判断が「n
o」のときは、空きチャンネルに割り当てる事ができな
いため、ステップ76に進み、再度プログラムを決定す
る。具体的には置換可能なプログラムサイズの小さなも
のにする。
【0042】ステップ75では音色、キーコード、遅延
時間などのパラメータによって外部メモリの使用サイズ
を決定し、クリア済みの領域に割り当てる。これは、空
きチャンネルに対応するアドレスカウンタ1内のエリア
サイズレジスタに領域のサイズ、ボトムアドレスレジス
タにボトムアドレスを書込むことで実行される。ステッ
プ77では割り当てられたプログラムに対するアドレス
データ、係数データをアドレスレジスタ18、演算部3
0内の係数レジスタの、割り当てるチャンネルに対応す
る領域に転送する。
【0043】ステップ78では、音源42の対応するチ
ャンネルに発音指示を行い、発音させる。音源42とD
SP43のチャンネルは説明を簡単にするため、それぞ
れ一致させているものとする。またDSP43の対応す
るチャンネルにも発音指示を送る。これは具体的には係
数の補間を開始させたり、エンベロープの発生を開始さ
せるものであるが、これはプログラムのアルゴリズムに
依存する事項なため詳しくは説明しない。
【0044】ステップ80では、使われていなく、かつ
クリアされていない外部RAMの領域をクリアするため
に、その領域のスタートアドレス、エンドアドレスをス
タートアドレスレジスタ22、エンドアドレスレジスタ
24に書込む。その処理が終了すると、メインルーチン
に戻る。
【0045】ステップ70にてノートオンイベントがな
いと判断された場合は、ステップ78に進み、ノートオ
フイベントがあるかどうか判断される。ノートオフがあ
るとステップ79に進み、ノートオフされたキーコード
で発音中の音源チャンネル、DSPチャンネルに対して
キーオフ処理を行う。
【0046】ステップ82では、キーオフによって生じ
た空きチャンネルの一つ前のチャンネルが使用されてい
て、その一つ前に割り当てられているプログラムの大き
さが以前に割り当てられていたプログラムより小さいと
きには、使用されていないプログラムステップが存在す
るので、空きチャンネルに対応するトップステップレジ
スタを書き換えて、使用されないプログラムステップが
生じないようにする。これは、空きチャンネルが持つプ
ログラムステップをなるべく大きくして、大きなプログ
ラムが割り当てられるときに対処するためである。その
後、ステップ76の処理を行う。ステップ78でノート
オフイベントがないと判断されたときはメインルーチン
に戻る。
【0047】メインルーチンに戻って、ステップ62を
実行する。このステップも図8に示すサブルーチンとな
っている。ステップ90ではディレイ時間が変更された
かどうか判断される。ここで、操作子41や図示しない
外部MIDI機器からのパラメータチェンジメッセージ
などで遅延時間が変更された場合にはステップ91にて
遅延時間に応じた必要な外部RAMの領域を決定する。
さらにステップ92にてその領域が実際に割当可能かを
判断する。これは、領域を小さくする場合は割当は可能
だが、大きくする場合は使われていない外部RAMの領
域がない場合が考えられるからである。割当できない場
合にはステップ90に戻り、再度遅延時間の変更を待
つ。この際、エラーメッセージをLCD40に表示して
遅延時間の変更を演奏者に促すのがよい。
【0048】ステップ92にて、割当が可能な場合には
ステップ93にて、ステップ91にて決定された領域に
対応するエリアサイズ、ボトムアドレスをそのエフェク
トが割り当てられているチャンネルに対応するエリアサ
イズレジスタ4、ボトムアドレスレジスタ5に転送す
る。ステップ94では、領域を縮小した場合に生じるク
リアが必要な領域のスタートアドレス、エンドアドレス
をスタートアドレスレジスタ22、エンドアドレスレジ
スタ24に書込み、カウンタ19をリセット、フリップ
フロップ25をセットしてクリアを開始させる。その
後、メインルーチンに戻る。ステップ90で遅延時間が
変更されないと判断された場合もメインルーチンに戻
る。
【0049】メインルーチンに戻って、ステップ63で
はインターフェース35にアクセスしてクリア終了フラ
グを読出し、ステップ64にてクリアが終了したかどう
か判断する。クリアが終了した場合には、ステップ65
にて空き領域を記憶し、次回の割当に備える。また、他
にクリアが必要な領域がある場合には再度クリアの指示
を行う。その処理が終了するとステップ66にてその他
の処理を行いステップ61に戻る。また、ステップ64
にてクリアが終了していないと判断したときはステップ
66に進みその他の処理を行う。このようにステップ6
1〜66を繰り返し実行することで、クリア終了フラグ
を定期的に読出すので、クリア終了の時刻を常に認識で
きる。
【0050】
【発明の効果】以上説明したようにこの信号処理装置
は、プログラムが使用するメモリ領域を変更できるの
で、メモリを効率に使用できる。また演奏情報によっ
て、楽音発生または楽音処理のためのプログラムを選択
し、選択されたプログラムに応じた楽音発生または楽音
処理を実行できるので、その時点、時点で異なる演奏情
報に適した楽音処理を行うことができる。またクリアが
必要なメモリ領域を、プログラムがメモリを使用しない
タイミングでクリアを行うようにしたので、プログラム
の実行に関係なくクリアが行えるという効果がある。
【図面の簡単な説明】
【図1】この発明の信号処理装置のブロック図である。
【図2】マイクロプログラムメモリと外部RAMに記憶
される内容を説明する図である。
【図3】この発明の信号処理装置を含む電子楽器のブロ
ック図である。
【図4】この発明の信号処理装置の動作を説明するため
のタイムチャートである。
【図5】この発明の信号処理装置のマイクロプログラム
メモリ部のブロック図である。
【図6】この発明の信号処理装置を応用した電子楽器の
フローチャートである。
【図7】割当処理のフローチャートである。
【図8】エフェクト処理のフローチャートである。
【符号の説明】
1:アドレスカウンタ 3:比較器 4:エリアサイズ
レジスタ 5:ボトムアドレスレジスタ 6:加算器
7:セレクタ 8:カウンタ 10:プログラムカウン
タ 11〜13:比較器 14〜16:トップステップ
レジスタ 18:アドレスレジスタ 22:スタートア
ドレスレジスタ 24:エンドアドレスレジスタ 2
5:フリップフロップ 26:アンド回路29:マイク
ロプログラムメモリ部 30:演算部 33:外部RA

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】プログラムを記憶するプログラムメモリ
    と、 該プログラムが使用するメモリ領域を含む記憶手段と、 該メモリ領域の変更を指示する指示手段と、 該指示手段の指示にしたがって、メモリ領域を変更する
    メモリ領域可変手段を備え、前記プログラムメモリから
    よみだされたプログラムの指示に従って該変更されたメ
    モリ領域を使用して信号処理を行う信号処理装置。
  2. 【請求項2】演奏情報を出力する演奏情報発生手段と、 該演奏情報に従って楽音発生または楽音処理のためのプ
    ログラムを選択する選択手段と、 該選択されたプログラムにしたがって楽音発生または楽
    音処理を行う演算手段と、 該選択されたプログラムが使用するメモリ領域を割り当
    てる割当手段とを備え、前記選択されたプログラムは前
    記演算手段を用いて演算処理を行い、その演算結果を前
    記割り当てられたメモリ領域に記憶させ、読出すことに
    よって楽音発生または楽音処理を指示することを特徴と
    する信号処理装置。
  3. 【請求項3】信号処理のためのプログラムを記憶するプ
    ログラムメモリと、 該記憶されたプログラムが使用する複数のメモリ領域を
    含むメモリ手段と、 前記複数のメモリ領域のうち、少なくとも1つのメモリ
    領域をクリアするための指示を行うクリア指示手段と、 クリア指示されたメモリ領域を前記プログラムが前記メ
    モリ手段を使用しないタイミングでクリアを行うクリア
    手段とを備えた信号処理装置。
  4. 【請求項4】演奏情報を出力する演奏情報発生手段と、 異なるアルゴリズムに基づくプログラムを複数記憶する
    プログラム記憶手段と、 該演奏情報に従って楽音発生または楽音処理のためのプ
    ログラムを前記複数記憶されたプログラムの中から選択
    する選択手段と、 前記選択手段で選択されたプログラムを前記プログラム
    記憶手段から読み出すプログラム読出し手段と、 前記プログラム読出し手段によって読み出されたプログ
    ラムに応じて演算を行う演算手段とを備え、前記選択さ
    れたプログラムによって異なる演算処理を行い、楽音発
    生または楽音処理を行うことを特徴とする信号処理装
    置。
JP7210996A 1994-09-13 1995-07-26 信号処理装置 Expired - Fee Related JP3050779B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP7210996A JP3050779B2 (ja) 1995-07-26 1995-07-26 信号処理装置
EP95114273A EP0702348B1 (en) 1994-09-13 1995-09-11 Electronic musical instrument and signal processor having a tonal effect imparting function
DE69517896T DE69517896T2 (de) 1994-09-13 1995-09-11 Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal
US08/527,147 US5703312A (en) 1994-09-13 1995-09-12 Electronic musical instrument and signal processor having a tonal effect imparting function
KR1019950030304A KR100366721B1 (ko) 1994-09-13 1995-09-13 전자음악장치및이펙터
KR1020020029921A KR100411940B1 (ko) 1994-09-13 2002-05-29 신호처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7210996A JP3050779B2 (ja) 1995-07-26 1995-07-26 信号処理装置

Publications (2)

Publication Number Publication Date
JPH0944157A true JPH0944157A (ja) 1997-02-14
JP3050779B2 JP3050779B2 (ja) 2000-06-12

Family

ID=16598606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7210996A Expired - Fee Related JP3050779B2 (ja) 1994-09-13 1995-07-26 信号処理装置

Country Status (1)

Country Link
JP (1) JP3050779B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202320A (ja) * 2006-03-06 2006-08-03 Sharp Corp 表示装置、表示方法及び記録媒体
JP2010113023A (ja) * 2008-11-04 2010-05-20 Yamaha Corp デジタル信号処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202320A (ja) * 2006-03-06 2006-08-03 Sharp Corp 表示装置、表示方法及び記録媒体
JP2010113023A (ja) * 2008-11-04 2010-05-20 Yamaha Corp デジタル信号処理装置

Also Published As

Publication number Publication date
JP3050779B2 (ja) 2000-06-12

Similar Documents

Publication Publication Date Title
USRE31004E (en) Electronic musical instrument utilizing data processing system
JPS62200399A (ja) 電子楽器におけるパラメ−タ供給装置
KR100411940B1 (ko) 신호처리장치
JP3444947B2 (ja) 楽音信号発生装置
JP2924745B2 (ja) 楽音発生装置及び方法
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JP3050779B2 (ja) 信号処理装置
US4644841A (en) Electronic musical instrument
JPS6326398B2 (ja)
JP2974356B2 (ja) 電子楽器のゆらぎ発生装置
JP2773601B2 (ja) 信号処理装置
JP3230449B2 (ja) 信号処理装置
US5403968A (en) Timbre control apparatus for an electronic musical instrument
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP2947525B2 (ja) エンベロープ発生器
JPH0210556Y2 (ja)
US5371319A (en) Key assigner for an electronic musical instrument
JPH0584919B2 (ja)
JP3610759B2 (ja) ディジタル信号処理装置
JP3539480B2 (ja) 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH09128221A (ja) 信号処理装置
JP5141012B2 (ja) アルペジオ生成装置及びプログラム
JP2970570B2 (ja) 楽音発生装置
JPH073639B2 (ja) オ−トリズム装置
JPH08152884A (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: 20090331

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090331

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100331

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120331

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130331

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20140331

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees