JP3092592B2 - サウンド合成装置 - Google Patents

サウンド合成装置

Info

Publication number
JP3092592B2
JP3092592B2 JP10137598A JP13759898A JP3092592B2 JP 3092592 B2 JP3092592 B2 JP 3092592B2 JP 10137598 A JP10137598 A JP 10137598A JP 13759898 A JP13759898 A JP 13759898A JP 3092592 B2 JP3092592 B2 JP 3092592B2
Authority
JP
Japan
Prior art keywords
data
input
channel
sound
waveform
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.)
Expired - Fee Related
Application number
JP10137598A
Other languages
English (en)
Other versions
JPH10293590A (ja
Inventor
康善 中嶋
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 JP10137598A priority Critical patent/JP3092592B2/ja
Publication of JPH10293590A publication Critical patent/JPH10293590A/ja
Application granted granted Critical
Publication of JP3092592B2 publication Critical patent/JP3092592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、同期発音制御機能を
備えたサウンド合成装置に関し、例えばディジタル信号
処理装置を用いてディジタル的にサウンド合成するもの
に関する。
【0002】
【従来の技術】近年、技術の進歩と集積回路技術の進歩
に伴い、ディジタル楽音波形信号の合成や楽音波形信号
に対する楽音効果又は音響効果の付与等のための所定の
信号演算処理をマイクロプログラム方式によって実行す
る専用のLSI(大規模集積回路)が出現するに至って
おり、電子楽器,音源装置やその他の楽音又はサウンド
信号処理装置にも、このような装置が搭載され、利用さ
れるようになっている。この種の信号処理装置は、一般
に、ディジタル・シグナル・プロセッサ(略称DSP)
と呼ばれている。
【0003】例えば、電子楽器にこのDSPを採用して
ディジタル楽音波形信号を合成する場合、従来の電子楽
器では、特定の波形合成方式(例えばフォルマント音合
成方式やFM(周波数変調)合成方式)における一連の
演算処理のすべてを行なうための回路構成を有する単一
のDSPを構成し、当該一連の演算処理を記述したマイ
クロプログラムをそのDSPに格納し、実行させるよう
にしていた。
【0004】
【発明が解決しようとする課題】このような従来のDS
Pでは、楽音波形合成や処理のための一連の演算処理を
すべてその単一のDSPで実行するように構成しなけれ
ばならない。そのため、今日の電子楽器における演算内
容の高度化、多機能化、音源の多チャンネル化等の傾向
に従って、演算サイクル数が増加するに伴い、より一層
の高速処理が要求されることになる。しかし、高速処理
化には限度があるので、そのような要求を満たすことは
困難になってきている。また、複数種類の楽音合成方式
を混在させて楽音合成システムを構成するような場合
(例えばFM合成音とノイズフォルマント音を同時に発
生するような場合、あるいは通常のフォルマント合成音
とノイズフォルマント音を同時に発生するような場
合)、個別の楽音合成方式毎に独立の上記一連の演算処
理を実行するようにそれぞれ構成しなければならないた
め、システム構成が必然的に大型化してしまい、効率の
良いシステムを構成するのが困難であった。更には、1
つの楽音合成方式しか持たないシステムでも、その一部
の演算処理の内容を変更するような場合は、DSPの構
成全体をそのような変更に合わせて設計変更しなければ
ならないので、その点でも効率が悪い。したがって、従
来のDSPシステムは、楽音波形合成若しくは処理のた
めの演算処理内容を変更したいという要求に対して効率
的に対応することができず、また、楽音合成方式自体を
切替え可能にしたり、複数種類の楽音合成方式を混在さ
せたりする、多機能型の楽音合成用DSPシステムを効
率的に構成することも困難であった。
【0005】
【0006】 この発明は上述の点に鑑みてなされたも
で、演算の高速性,装置の汎用性,設計・製作の容易
性,経済性を兼ね具えた効率的なディジタル信号処理装
置を提供し、そのようなディジタル信号処理装置をベー
スに用いた効率的なサウンド合成装置を提供しようとす
るものである。更には、簡単な構成かつ容易な制御で多
様なサウンド合成を可能にした、効率的なサウンド合成
装置を提供しようとするものである。
【0007】
【課題を解決するための手段】この発明に係るサウンド
合成装置は、複数のチャンネルにおいて、夫々独立に与
えられるパラメータに基づいて個別にサウンド信号を発
生するサウンド信号発生手段と、前記各チャンネルにつ
いて、他チャンネルとの同期発音をすべきか否かを指定
する同期発音指定データを設定する設定手段と、発音指
定情報を発生し、前記サウンド信号発生手段の複数のチ
ャンネルに供給する発音指定情報発生手段と、前記設定
手段により設定された同期発音指定データが他チャンネ
ルとの同期発音を指定していないチャンネルにおいて
は、当該チャンネルに対して前記発音指定情報発生手段
から供給された発音指定情報に基づいてサウンドを発生
させ、前記設定手段により設定された同期発音指定デー
タが他チャンネルとの同期発音を指定しているチャンネ
ルにおいては、当該チャンネルとは異なる他チャンネル
に対して前記発音指定情報発生手段から供給された発音
指定情報に基づいてサウンドを発生させるよう、前記サ
ウンド信号発生手段を制御する制御手段とを具えるもの
である。
【0008】
【0009】別の観点に従えば、この発明に係るサウン
ド合成装置は、複数のチャンネルにおいて、夫々独立に
与えられるパラメータに基づいて個別にサウンド信号を
発生するサウンド信号発生手段と、前記各チャンネルに
対応して、少なくとも発音指定情報と他チャンネルとの
同期発音をすべきか否かを指定する同期発音指定データ
とを含む前記パラメータを、夫々供給するパラメータ供
給手段と、前記各チャンネルに対応して供給される前記
同期発音指定データに基づき、同期発音指定がなされて
いるチャンネルにおいては所定の他チャンネルのサウン
ド発生に同期してサウンドを発生させるよう、前記サウ
ンド信号発生手段を制御する制御手段とを具え、同期し
てサウンドを発生するチャンネルの数が異なる楽音を同
時に発生可能にしたものである。
【0010】 この発明によれば、他チャンネルとの同
期発音をすべきか否かを指定する同期発音指定データが
各チャンネル毎に独立に与えられるので、同期発音指定
データが各チャンネル毎に任意に可変設定されるもので
あり、これによって、様々な組み合わせで複数チャンネ
ルを発音同期制御することができる。そのとき、発音同
期制御に使用するパラメータ以外のパラメータ、例えば
音色設定・制御用のパラメータ等は、各チャンネル毎に
任意に設定できるので、発音同期するチャンネル同士で
異なるフォルマント構成あるいは倍音成分構成の音を組
み合わせて全体として1つの複雑な楽音信号を合成する
ことができる。従って、単に、各チャンネル毎の同期発
音指定データを任意に設定するだけで、様々な組み合わ
せで複数チャンネルを発音同期させて多様なフォルマン
ト構成又は倍音成分群の組合せからなる楽音信号を合成
することを、容易に、且つ限られた楽音発生チャンネル
構成を用いて、実現することができる、という効果を奏
する。
【0011】
【実施例】以下、添付図面を参照してこの発明の実施例
を詳細に説明する。 〔全体構成の概略説明〕図1は、この発明に係るディジ
タル信号処理装置を採用した電子楽器の一実施例を示
す。ディジタル信号処理部DSPSは、4個のディジタ
ルシグナルプロセッサDSP1,DSP2,DSP3,
DSP4を含んでいる。各DSP1,DSP2,DSP
3,DSP4は、パラメータバスPBUS及びコンピュ
ータインターフェースCIFを介して電子楽器のマイク
ロコンピュータ部COM(CPU,ROM,RAMを含
む)に対して相互に並列的に接続されている。マイクロ
コンピュータ部COMからは、操作子部OPS(演奏操
作子及びパネル操作子を含む)に基づき、発生すべき楽
音の音高,音色,音量等を設定するための各種のパラメ
ータデータが、個々のディジタルシグナルプロセッサ
(以下単にDSPという)に対応して与えられる。これ
らのパラメータは、コンピュータインターフェースCI
F及びパラメータバスPBUSを介して各DSP1〜D
SP4のうちの所定のものに分配入力される。また、各
DSP1〜DSP4は、データバスDBUSを介して相
互に接続されており、各DSP間でデータのやり取りを
行ないうる。また、各DSP1〜DSP4は、データバ
スDBUSを介して、出力ポートであるデータインター
フェースDIFに接続されており、該データインターフ
ェースDIF を介してディジタル/アナログ変換器D
ACに接続されている。演算処理の最終結果である合成
された楽音波形信号データが所定のDSP(実施例では
DSP1)から出力され、これがデータインターフェー
スDIFを介してDA変換器DACに送られる。アナロ
グ変換された出力楽音波形信号は、サウンドシステムS
Sを介して発音される。
【0012】また、PCM(パルスコードモジュレーシ
ョン)方式により外部からサンプリングした楽音波形デ
ータを記憶した波形メモリWMが、メモリインターフェ
ースMIF及びデータバスDBUSを介して各DSP1
〜DSP4に接続され、且つ、インターフェースMIF
及びパラメータバスPBUS及びインターフェースCI
Fを介してマイクロコンピュータ部COMに接続されて
いる。なお、クロックパルス発生器CLKGから、シス
テムクロックパルスが、各DSP1〜DSP4に与えら
れる。
【0013】このディジタル信号処理部DSPSでは、
ディジタル楽音波形合成のための各種の演算及び処理が
分類されて、各DSP1〜DSP4に割り当てられてい
る。例えば、DSP1は、複数の楽音発生チャンネル
(一例として、以下では18チャンネルとする)につい
て、各チャンネル毎の楽音波形のプログレシブ位相デー
タを作成するための演算(以下、「位相演算」という)
と、別のDSP(例えばDSP4)によって生成された
各チャンネルの楽音波形データを合計する演算(以下、
「ミキシング演算」という)とを行う。DSP2は、各
チャンネル毎の各種のエンベロープデータを作成するた
めの演算(以下、「エンベロープ演算」という)を行
う。DSP3は、楽音波形生成に使用するための各チャ
ンネル毎のノイズ信号を作成するための演算(以下、
「ノイズ演算」という)を行うとともに、PCM波形の
読出しのための演算(以下、「PCM演算」という)を
行う。DSP4は、DSP1,DSP2,DSP3によ
って作成された位相データ,エンベロープデータ,ノイ
ズ信号を用いて各チャンネル毎の楽音波形を生成するた
めの演算(以下、「波形生成演算」という)を行う。
【0014】ディジタル信号処理部DSPSにおいて各
DSP1〜DSP4に入出力される情報の流れを機能的
に示すと、図2のようである。マイクロコンピュータ部
COMから、パラメータバスPBUS及びインターフェ
ースCIFを介して、各DSP1〜DSP4に、それぞ
れの処理内容に応じた所定の各種のパラメータデータが
与えられる。それらのパラメータデータの符号及びその
内容の一例を一覧にして示すと、図19のとおりであ
る。それぞれのパラメータデータがどのDSPに与えら
れるかについては、追って説明する。
【0015】DSP2は、マイクロコンピュータ部CO
Mからの各種エンベロープ設定用のパラメータデータに
基づき、各チャンネル毎の各種エンベロープデータを作
成し、作成したエンベロープデータを、データバスDB
USを介してDSP1,DSP4に送る。これらのエン
ベロープデータには、振幅制御用のエンベロープデータ
EGに限らず、ピッチ制御用エンベロープデータ(例え
ばアタックグライドデータAG)や波形補間用の係数デ
ータIP等、時間経過に従って次第に値が変化するデー
タが含まれる。
【0016】DSP1は、マイクロコンピュータ部CO
Mからのピッチ設定用及び音色設定用のパラメータデー
タ及びDSP2からのピッチ制御用エンベロープデータ
に基づき、各チャンネル毎の発生音のピッチに対応する
プログレシブ位相データPGを作成し、作成した位相デ
ータPGを、データバスDBUSを介してDSP4に送
る。
【0017】DSP3は、マイクロコンピュータ部CO
Mからの音色設定用のパラメータデータに基づき、各チ
ャンネル毎の相関ノイズ信号BWRを作成し、作成した
信号BWRを、データバスDBUSを介してDSP4に
送る。また、PCM波形生成時には、DSP3は、波形
メモリWMとの間でデータのやり取りを行なう。
【0018】DSP4は、マイクロコンピュータ部CO
Mからの音色設定用及び音量設定用のパラメータデータ
と、DSP1,DSP2,DSP3からの位相データP
G,エンベロープデータ(EGとIPを考慮した音量レ
ベルデータLVL),相関ノイズ信号BWRとを用い
て、各チャンネル毎に所定の音高及び音色及び音量を持
つ楽音波形データを生成し、生成した楽音波形データ
を、データバスDBUSを介してDSP1に送る。
【0019】DSP1は、DSP4からの各チャンネル
の楽音波形データを合計し、合計した楽音波形データ
を、データバスDBUS及びインターフェースDIFを
介してDA変換器DACに送る。
【0020】〔DSPの基本的構造例の説明〕次に、各
DSP1,DSP2,DSP3,DSP4のハードウェ
アの基本的構造の一例を、図3に示す。図において、D
SPnは、個別の各DSP1〜DSP4のいずれか1つ
に相当する。マイクロプログラム供給部5は、マイクロ
プログラムを記憶する記憶装置である。各DSPn(つ
まりDSP1〜DSP4)のマイクロプログラム供給部
5には、ディジタル波形合成のための各種演算のうち、
当該DSPに割り当てた演算を記述したマイクロプログ
ラムが夫々記憶されている。例えば、DSP1のマイク
ロプログラム供給部5には、前述の「位相演算」と「ミ
キシング演算」のためのマイクロプログラムが記憶され
ている。DSP2のマイクロプログラム供給部5には、
前述の「エンベロープ演算」のマイクロプログラムが記
憶されている。DSP3のマイクロプログラム供給部5
には、前述の「ノイズ演算」と「PCM演算」のマイク
ロプログラムが記憶されている。DSP4のマイクロプ
ログラム供給部5には、前述の「波形生成演算」のマイ
クロプログラムが記憶されている。
【0021】尚、この実施例においては、外部の波形メ
モリWMを使用しない楽音波形生成演算として、フォル
マント音合成方式とFM合成方式の2つのタイプを利用
できる。そのため、DSP1のマイクロプログラム供給
部5には、フォルマント音合成方式のためのマイクロプ
ログラムと、FM合成方式のためのマイクロプログラム
の、2種類のマイクロプログラムが記憶されている。ま
た、DSP4のマイクロプログラム供給部5にも、同様
の2種類のマイクロプログラムが記憶されている。これ
に対し、「エンベロープ演算」を行うDSP2と、「ノ
イズ演算」を行うDSP3とにおいては、上記2つの波
形合成方式のいずれにおいてもそれぞれの演算内容は共
通しているので、いずれの方式で楽音波形を合成する場
合でも共通のマイクロプログラムを実行する。
【0022】制御信号発生部6は、マイクロプログラム
供給部5内のマイクロプログラムから命令語を取り出し
て解読し、該命令に基づく制御信号を発生する制御装置
である。各DSP1〜DSP4の制御信号発生部6は、
バスPBUSを介して与えられる各種パラメータのうち
楽音の発音開始を指示するキーオン信号KONに応じ
て、命令語の取出し及び解読を開始する。また、DSP
1,DSP4の制御信号発生部6は、バスPBUSを介
して与えられる各種パラメータのうち楽音合成アルゴリ
ズムを指定するパラメータALGに応じてフォルマント
音合成方式のマイクロプログラムとFM合成方式のマイ
クロプログラムのいずれかを選択し、更に、選択された
マイクロプログラムにおけるマイナーな部分的処理内容
の変更又は選択を、該指定された楽音合成アルゴリズム
に応じて行う制御を行う。こうしてマイクロプログラム
供給部5から供給されるプログラムに基づき制御信号発
生部6から発生した各種の制御信号は、演算及び記憶部
7に与えられる。
【0023】演算及び記憶部7は、制御信号発生部6か
ら与えられる各種の制御信号に従って演算,記憶,選
択,遅延,データ変換等の各種動作を行うものであり、
主として、データインターフェースIF,演算部(AL
U)8,デュアルポート型ランダムアクセスメモリRA
Mnを含んでいる。演算部4は、四則演算や論理演算等
の演算を実行する演算装置である。既に図2を用いて説
明したように、各DSP1〜DSP4には、マイクロコ
ンピュータ部COMからバスPBUSを介して各種パラ
メータデータが与えられ、また、DSP1,DSP4に
は、他のDSPからもバスDBUSを介してデータが与
えられる。各DSP1〜DSP4の演算部8には、こう
した外部からのデータが、データインターフェースIF
を介して入力される。更に、図3に示すように、演算部
8には、演算部8自身の演算出力も、適宜遅延して、あ
るいはRAMnに記憶された後に、データインターフェ
ースIFを介して再び入力される。各DSP1〜DSP
4の演算部8は、マイクロプログラム供給部5内のプロ
グラムの命令に基づく制御信号発生部6からの制御信号
に従い、これらのデータを用いて、当該DSPに割り当
てられた所定の演算を実行する。
【0024】デュアルポート型ランダムアクセスメモリ
RAMnは、入力データポートと出力データポートを別
々に有しており、したがって読出しと書込みとが同時に
可能なランダムアクセスメモリである。図において、R
AMnは、個別の各DSP1〜DSP4におけるデュア
ルポートRAM1,RAM2,RAM3,RAM4のい
ずれか1つに相当するものであることを示している。デ
ュアルポートRAMnの記憶データ(すなわち、当該D
SPの演算部8の演算結果を示すデータ)は、該RAM
nから読み出され、自己のDSP内で利用されるか、又
はバスDBUSを介して他のDSPに送られるか、又は
DA変換器DACに送られる。前述の通り、DSP1と
DSP4には他のDSPからのデータがバスDBUSを
介して与えられるようになっている。図3において、バ
スDBUSのデータ取り込むラインLXは、DSP1と
DSP4において設けられる。
【0025】各DSPnのデュアルポートRAMnの記
憶マップを、図4に示す。図4(a)は、DSP1のデ
ュアルポートRAM1の記憶マップである。RAM1に
は、波形信号の瞬時位相(プログレシブ位相)を示す位
相データとして、フォルマント音合成のための2系列の
ピッチ位相データPGp1,PGp2の記憶領域がそれ
ぞれ18チャンネル分設けられており、また、フォルマ
ント音合成のための2系列の中心周波数位相データPG
f1,PGf2の記憶領域がそれぞれ18チャンネル分
設けられている。尚、中心周波数位相データPGf1,
PGf2の記憶領域は、FM合成方式を選択した場合に
は、2つのFM演算用オペレータOP1,OP2の位相
データの記憶領域としても使用される。更に、RAM1
には、フォルマント音合成のための2系列の窓関数位相
データPGw1,PGw2の記憶領域がそれぞれ18チ
ャンネル分設けられ、ノイズ信号用の位相データPGu
の記憶領域が18チャンネル分設けられ、各チャンネル
の楽音波形データをパンニング制御のための左右のスピ
ーカーに対応して夫々合計した左右の楽音波形混合デー
タMIXL,MIXRを夫々記憶するための記憶領域が
設けられている。
【0026】図4(b)は、DSP2のデュアルポート
RAM2の記憶マップである。RAM2には、ピッチ制
御用のエンベロープデータとして、通常の楽音波形信号
用のアタックグライドデータAG(楽音立上り時のピッ
チの時間的変動を制御するデータ)の記憶領域と、ノイ
ズフォルマント音合成用のアタックグライドデータAG
uの記憶領域とがそれぞれ18チャンネル分設けられて
いる。また、RAM2には、振幅の時変動制御用とし
て、3系列のエンベロープデータEGの記憶領域がそれ
ぞれ18チャンネル分設けられ、また、時変動する補間
係数として使用する3系列の補間データIPの記憶領域
がそれぞれ18チャンネル分設けられている。更に、R
AM2には、フォルマント音合成またはFM合成のため
に使用される2系列の音量レベルデータLVL1,LV
L2と、ノイズフォルマント音合成用の音量レベルデー
タLVLuの記憶領域とがそれぞれ18チャンネル分設
けられている。また、エンベロープ波形のセグメントを
記憶するための記憶領域も設けられている。尚、3系列
のエンベロープデータEG,補間データIPのうち、1
系列はPCM用のデータであり、2系列がフォルマント
音合成またはFM合成のためのデータである。音量レベ
ルデータLVL1,LVL2,LVLuは、それぞれエ
ンベロープデータEGと補間データIPとの乗算値であ
る。尚、DSP2からDSP4に対して、レベルデータ
LVL1,LVL2,LVLuは出力されるが、エンベ
ロープデータEGや補間データIPそれ自体は外部に出
力されずに内部で処理される。
【0027】図4(c)は、DSP3のデュアルポート
RAM3の記憶マップを示す。RAM3には、データB
WR(ローパスノイズ信号に直流成分を付加した後、そ
の帯域幅を制限したデータであり、相関ノイズ信号とも
いう)の記憶領域が18チャンネル分設けられ、データ
LPF(ローパスノイズ信号)の記憶領域が18チャン
ネル分設けられ、演算の途中でワーキングRAMとして
用いる記憶領域TmpMが18チャンネル分設けられて
いる。
【0028】図4(d)は、DSP4のデュアルポート
RAM4の記憶マップを示す。RAM4は、第1の波形
データTR1の記憶領域が18チャンネル分設けられ、
第2の波形データTR2の記憶領域が18チャンネル分
設けられ、フィードバック波形データFRの記憶領域が
18チャンネル分設けられ、ノイズ波形データTRuの
記憶領域が18チャンネル分設けられ、ノイズ波形を求
める演算の途中でワーキングRAMとして用いる記憶領
域「Funvoiced」が設けられている。波形デー
タTR1の記憶領域は、フォルマント音合成時には1系
列目の楽音波形データの記憶領域となり、FM合成時に
はオペレータOP1の楽音波形データの記憶領域とな
る。波形データTR2の記憶領域は、フォルマント音合
成時には1系列目の楽音波形データと2系列目の楽音波
形データとの加算データの記憶領域または2系列目の楽
音波形データのみの記憶領域となり、FM合成時にはオ
ペレータOP1の楽音波形データとオペレータOP2の
楽音波形データとの加算データの記憶領域またはオペレ
ータOP2の楽音波形データのみの記憶領域となる。フ
ィードバック波形データFRの記憶領域は、FM合成モ
ード時のオペレータOP1での自己フィードバックFM
演算のために使用するフィードバック波形データの記憶
領域となる。
【0029】〔個別DSPのハードウェア構成具体例の
説明〕次に、個々のDSP1〜DSP4の演算及び記憶
部7の具体的ハードウェア構成の説明に移るが、その前
に、各DSP1〜DSP4の演算及び記憶部7の構成の
基本的共通点を述べておく。図2及び図3を用いて説明
したように、各DSP1〜DSP4の演算及び記憶部7
には、マイクロコンピュータ部COMからの各種パラメ
ータデータや、他のDSPからのデータや、演算及び記
憶部7自身の演算結果を示すデータが与えられる。DS
P1〜DSP4の演算及び記憶部7には、これらのデー
タのうち演算器ALUの演算対象となるデータを入力す
るセレクタが設けられている。当該セレクタの選択制御
入力には、マイクロプログラム供給部5内のプログラム
の命令に基づく制御信号発生部6からの制御信号が与え
られる。そして、その制御信号に従い当該セレクタで選
択されたデータが、演算器ALUに入力される。これに
より、各DSP1〜DSP4において、当該DSPに割
り当てた演算の処理順序に従ったデータが当該セレクタ
で順次選択され、そのデータを用いて、演算器ALUに
おいて順次演算が実行される。
【0030】まず、DSP1の演算及び記憶部7の具体
的ハードウェア構成の一例を、図5に示す。DSP1
は、前述のとおり、ディジタル波形合成のための各種の
演算のうち、「位相演算」「ミキシング演算」を行う。
DSP1の演算及び記憶部7には、バスPBUSを介し
て所定のパラメータデータが与えられ、また、DSP2
のデュアルポートRAM2から読み出した各チャンネル
毎のアタックグライドデータAG,AGuが与えられ、
また、後に説明するDSP4のデュアルポートRAM4
から読み出した各チャンネルの楽音波形データが与えら
れる。マイクロコンピュータ部COMからDSP1に与
えられるパラメータデータ及びその内容は、次のとおり
である(図19参照)。
【0031】パラメータFNUM:ピッチ周波数ナンバ
ーを指定するパラメータ。 パラメータRBP:隣り合う複数のチャンネルを同一の
ピッチで同時にキーオンするためのフラグ。 パラメータFORM:フォルマント音の中心周波数を指
定するパラメータ。 パラメータUFORM:無声フォルマント音(unvoiced
formant:ノイズフォルマント音ということもある)の
中心周波数を指定するパラメータ。 パラメータVIB:ビブラートのオン・オフを指定する
パラメータ。 パラメータDVB:ビブラートの深さや速さを指定する
パラメータ。 パラメータFOM:フォルマント音の中心周波数の変調
のオン・オフを指定するパラメータ。 パラメータDFM:フォルマント音の中心周波数の変調
の深さや速さを指定するパラメータ。 パラメータUFOM:無声フォルマント音の中心周波数
の変調のオン・オフを指定するパラメータ。 パラメータUDFM:無声フォルマント音の中心周波数
の変調の深さや速さを指定するパラメータ。 パラメータURVF:フォルマント追従制御フラグ。 パラメータPAN:フォルマント音またはFM音のパン
ニングを指定するパラメータ。 パラメータBW:フォルマント音の帯域幅(=窓関数時
間幅)を指定するパラメータ。 パラメータMULT1:フォルマント音合成時の周波数
倍数またはFM合成時のオペレータOP1の周波数倍数
を指定するパラメータ。 パラメータMULT2:FM合成時のオペレータOP2
の周波数倍数を指定するパラメータ。
【0032】周波数設定用のパラメータFNUM,FO
RM,UFORMは、変調用のパラメータVIB,DV
B,FOM,DFM,UFOM,UDFMに従って変調
部12で変調され、リニア−ログ変換器13で対数に変
換された後、セレクタ10に入力される。セレクタ1
0,11は、演算器ALU1の演算対象となるデータを
選択するものである。
【0033】セレクタ10には、他に、ディジタルシグ
ナルプロセッサDSP4のRAM4から読み出した出力
データ#RAM4(特に各チャンネルの楽音波形デー
タ)と、DSP1内のレジスタREG1の出力データ#
REG1と、演算器ALU1から遅延回路18,19及
びアウトプットコントローラ20を経由して与えられる
データであるデータ#1とが入力される。これらの入力
データのうちいずれかのデータが、このDSP1に対応
するマイクロプログラム供給部5内のプログラムの命令
に基づく制御信号発生部6からの制御信号に従い、セレ
クタ10で選択される。選択されたデータは、ログ−リ
ニア変換/シフト器14及び遅延回路15を経由し、演
算器ALU1の「A」入力に入力される。
【0034】セレクタ11には、他のディジタルシグナ
ルプロセッサDSP2のRAM2から読み出した出力デ
ータ#RAM2(特にアタックグライドデータAG,A
Gu)と、レジスタREG1の出力データ#REG1
と、DSP1のRAM1のいずれかの記憶領域から読み
出した出力データ#RAM1と、「0」を示すデータと
が入力される。これらの入力データのうちいずれかのデ
ータが、DSP1の制御信号発生部6からの制御信号に
従い、セレクタ11で選択される。選択されたデータ
は、ログ−リニア変換/シフト/±符号器16及び遅延
回路17を経由し、演算器ALU1の「B」入力に入力
される。
【0035】ログ−リニア変換/シフト器14は、コン
トローラ23の制御のもと、入力されたデータに対して
ログ−リニア変換かシフト(桁送り)かのいずれかの処
理を行なうものである。ログ−リニア変換/シフト/±
符号器16は、コントローラ23の制御のもと、入力さ
れたデータに対してログ−リニア変換かシフトか正負の
符号の反転かのいずれかの処理またはシフト及び正負の
符号の反転の両方の処理を行なうものである。パン制御
パラメータPANはPANテーブル21に入力され、こ
れに基づき、PANテーブル21から左右の音量レベル
制御データ(サウンドシステムSSの左右のスピーカー
から出力される音量レベルをそれぞれ制御するデータ)
が出力される。これらのパンニング用の左右音量レベル
制御データと、フォルマント帯域幅指定パラメータBW
または周波数倍数指定パラメータMULT1,MULT
2のうちのいずれかのデータが、セレクタ22で選択さ
れてコントローラ23に入力される。コントローラ23
は、このデータやDSP1の制御信号発生部6からの制
御信号に従い、ログ−リニア変換/シフト器14及びロ
グ−リニア変換/シフト/±符号器16を制御する。
【0036】演算器ALU1は、基本的には、「A」入
力及び「B」入力に与えられたデータを加算する演算を
行う。演算器ALU1の演算出力は、遅延回路18,遅
延回路19,アウトプットコントローラ20を経由した
後、前述のようにデータ#1としてセレクタ10に入力
され、また、制御信号発生部からの制御信号に従い、レ
ジスタREG1に記憶されたり、遅延回路24を経由し
てRAM1に書き込まれたりする。
【0037】アウトプットコントローラ20は、DSP
1の制御信号発生部6からの制御信号に従い、演算器A
LU1の演算出力のオーバーフローを管理したり、発音
開始時にRAM1内の対応する位相データの値を初期化
する際の初期値を供給したりする(更に、後述するよう
に、フォルマント音合成時には、ピッチ周波数位相デー
タPGp1,PGp2がオーバーフローしたとき、対応
する系列のフォルマント中心周波数位相データPGf
1,PGf2及び窓関数位相データPGw1,PGw2
に所定リセット値を供給する)コントローラである。
【0038】レジスタREG1の記憶データは、前述の
ようにセレクタ10,11に入力される。RAM1に書
き込まれたデータは、DSP1の制御信号発生部6から
の制御信号に従ってRAM1から読み出され、遅延回路
25を経由して前述のように再びセレクタ11に入力さ
れる。また、RAM1に書き込まれた各チャンネル毎の
位相データは、必要に応じてDSP4の制御信号発生部
6からの制御信号に従ってRAM1から読み出され、遅
延回路25を経由して、DSP4の演算及び記憶部7に
送られる。また、RAM1に記憶された各チャンネルの
楽音波形データの合計データは、遅延回路25及びオー
バーフローコントローラ(図示せず)を経由して、DA
変換器DAC(図1)に送られる。前記オーバーフロー
コントローラは、RAM1から読み出した各チャンネル
の楽音波形データの合計データのオーバーフローを管理
するコントローラである。各遅延回路15,17,1
8,19,24,25は、入力されたデータを、それぞ
れクロック信号の1クロック分の時間Dだけ遅延して出
力する。
【0039】エンベロープデータ作成のための演算を実
行するDSP2は、既存のエンベロープ発生器と同様な
周知の演算を実行することによって、前述の通り、アタ
ックグライドデータAG,AGu,レベルデータLVL
1,LVL2,LVLu等を作成し、必要なタイミング
でデータバスDBUSに送出する。本明細書ではこのD
SP2の演算及び記憶部7のハードウェア構成の詳細な
説明は省略する。
【0040】次に、DSP3の演算及び記憶部7のハー
ドウェア構成の一例を、図6に示す。DSP3には、バ
スPBUSを介して、ノイズ信号の作成のためのパラメ
ータデータとして、ノイズの帯域幅を指定するパラメー
タNBWに従うデータ,ノイズスペクトルの鋭さを指定
するパラメータNRESデータ,ノイズスペクトルのス
カート部分の広がり形状を指定するパラメータNSKT
が与えられる。
【0041】セレクタ30には、上記パラメータNB
W,NRESに従うデータと、演算器ALU3から遅延
回路37,オーバーフロー/アンダーフローコントロー
ラ(OF/UF)38,シフタ39を経由して与えられ
る演算出力データ#3と、ホワイトノイズ発生回路32
から出力されるホワイトノイズ信号とが入力される。こ
れらの入力データのうちいずれかのデータが、DSP3
の制御信号発生部6からの制御信号に従い、セレクタ3
0で選択される。選択されたデータは、遅延回路33を
経由して演算器ALU3のA入力に入力される。
【0042】セレクタ31には、RAM3の出力データ
#RAM3と、レジスタREG3の出力データ#REG
3とが入力され、マイクロプログラムの命令に基づく制
御信号に従い、所定の入力データが選択出力される。選
択されたデータは、正または負の符号を示す信号「±」
を最上位ビットに付加され、ゲート回路34,遅延回路
35を経由し、演算器ALU3のB入力に入力される。
ゲート回路34の制御入力には、並直列変換器36の出
力データが入力される。並直列変換器36は、レジスタ
AREGの出力データ#AREGを直列に変換して出力
する。ゲート回路34及び並直列変換器36は、シリア
ル乗算のための部分積を演算するためのものである。
【0043】演算器ALU3は、A入力に入力したデー
タとB入力に入力したデータとを加算し、その演算出力
が、遅延回路37,オーバーフロー/アンダーフローコ
ントローラ38,シフタ39を経由したデータ#3とし
てセレクタ30に入力されるとともに、制御信号発生部
6からの制御信号に従い、レジスタREG3やAREG
に記憶されたり、遅延回路40を経由してRAM3に書
き込まれたりする。
【0044】オーバーフロー/アンダーフローコントロ
ーラ38は、演算器ALU3の演算出力のオーバーフロ
ーやアンダーフローを管理し、演算の有効桁を任意桁に
管理するものである。シフタ39は、シリアル乗算の際
のデータシフトあるいは所定の係数パラメータ(例え
ば、ノイズスペクトルスカートパラメータNSKTまた
は補間係数パラメータIP)に応じたデータシフト処理
を行なうものである。レジスタREG3,レジスタAR
EGは、入力されたデータを制御信号に応じてラッチす
ることもそのまま通過させることも可能なレジスタであ
る。また、レジスタREG3は、書込みタイミングと出
力タイミングに時間的ずれがないものとする。
【0045】RAM3に書き込まれたデータは、DSP
3の制御信号発生部6からの制御信号に従って該RAM
3から読み出され、遅延回路41を経由してデータ#R
AM3としてセレクタ31に入力される。また、RAM
3に書き込まれたデータは、DSP4の制御信号発生部
6からの制御信号に従ってRAM3から読み出されるこ
ともできる。その場合は、遅延回路41を経由し、リニ
ア−ログ変換器42により対数に変換され、遅延回路4
3を経由してデータ#RAM3LとしてDSP4に送ら
れる。各遅延回路33,35,37,40,41は、入
力されたデータを、それぞれクロック信号の1クロック
分の時間Dだけ遅延して出力する。遅延回路43は、入
力されたデータを、クロック信号の3クロック分の時間
3Dだけ遅延して出力する。
【0046】次に、DSP4の演算及び記憶部7の構成
の一例を、図7に示す。DSP4には、バスPBUSを
介して、パラメータRHY(リズム音生成モードのオン
・オフを指定するパラメータ),パラメータWF1(フ
ォルマント音合成時の周期関数の基本波形またはFM合
成時のオペレータOP1の基本波形を指定するパラメー
タ),パラメータWF2(FM合成時のオペレータOP
2の基本波形を指定),パラメータFBL(FM合成時
の自己フィードバックレベルを設定するパラメータ),
パラメータSKT(フォルマント音のスカート部分の特
性を設定するパラメータ)(図19参照)のデータが与
えられる。
【0047】セレクタ50には、演算器ALU4から遅
延回路55,オーバーフロー/アンダーフローコントロ
ーラ(OF/UF)56を経由して与えられる演算出力
データ#4と、DSP2のRAM2から読み出したデー
タ#RAM2(各チャンネルのレベルデータLVL1,
LVL2,LVLu)と、DSP1のRAM1から読み
出したデータ#RAM1(各チャンネルの位相データP
Gp1,PGp2,PGf1,PGf2,PGw1,P
Gw2,PGu)をリズム音発生器52を経由させたも
のとが入力される。リズム音発生器52は、バスPBU
Sから与えられるパラメータRHYに従い、入力された
位相データを乱してリズム音系の位相データを作成する
ためのものである。これらの入力データのうちいずれか
のデータが、DSP4の制御信号発生部6からの制御信
号に従い、セレクタ50で選択される。選択されたデー
タは、遅延回路53を経由して演算器ALU4のA入力
に入力される。
【0048】セレクタ51には、RAM4から読み出し
たデータ#RAM4と、レジスタREG4の出力データ
#REG4と、DSP3から読み出した前記出力データ
#RAM3Lとが入力される。これらの入力データのう
ちいずれかのデータが、DSP4の制御信号発生部6か
らの制御信号に従い、セレクタ51で選択される。選択
されたデータは、遅延回路54を経由して演算器ALU
4のB入力に入力される。演算器ALU4は、A入力に
入力したデータとB入力に入力したデータとを加算し、
その演算出力が、遅延回路55,オーバーフローコント
ローラ56を経由して出力データ#4としてセレクタ5
0に入力されるとともに、次のそれぞれの経路を経由し
てセレクタ64に入力される。その1つの経路では、遅
延回路57を経由し、ログ−リニア変換器58で真数に
変換された後、遅延回路59を経由してセレクタ64の
「α」入力に入力される。別の1つの経路では、ウェー
ブシェイプシフタ60,遅延回路61を経由し、ログs
inテーブル62で対数のsin波形データに変換され
た後、遅延回路63を経由してセレクタ64の「β」入
力に入力される。更に別の経路では、出力データ#4が
そのままセレクタ64の「γ」入力に入力される。
【0049】オーバーフロー/アンダーフローコントロ
ーラ56は、演算器ALU4における演算結果のオーバ
ーフローやアンダーフローを管理する(すなわち、演算
の有効桁を管理する)ものである。ウェーブシェイプシ
フタ60は、バスPBUSから与えられる基本波形選択
指定パラメータWF1,WF2に従い、入力された位相
データに対して、位相値をシフトしたり特定区間だけ該
位相値をゼロにしたりする変更処理を行なうものであ
る。このような処理には、例えば特公平6−44193
号公報において本出願人が既に開示している方式を基本
的には使用することができる。また、このウェーブシェ
イプシフタ60は、フォルマント音窓関数波形の発生時
には、入力された位相データに対して、位相値を1ビッ
トシフトダウン(すなわち、位相値を2分の1にする)
する処理を行なう。これにより、2分の1のレートにシ
フトダウンされた位相データによって、ログsinテー
ブル62から、入力位相データのピッチ周期の1周期に
対してログsin波形の前半周期が読み出されることに
なる。
【0050】セレクタ64の出力は、シフト/ログ−リ
ニア変換器65に入力される。シフト/ログ−リニア変
換器65は、入力されたデータに対してシフトかログ−
リニア変換かいずれかの処理を制御信号に応じて行なう
ものである。バスPBUSを介して、FM用フィードバ
ックレベルパラメータFBLまたはフォルマント音スカ
ート特性指定パラメータSKTが、コントローラ66に
入力される。コントローラ66は、このパラメータに従
い、シフト/ログ−リニア変換器65に対してシフト量
指定データを与える。ここで、パラメータSKTは、フ
ォルマント音窓関数波形の発生時にシフト/ログ−リニ
ア変換器65からsin(正弦波)の「2×SKT」乗
の波形を出力させるようにするために、1ビットシフト
アップして(すなわち、データの値を2倍して)コント
ローラ66に入力される。例えば、SKT=「1」のと
きは、入力データを1ビットシフトアップすることによ
り、sin波の前半波から成る対数表現のsin波形デ
ータに「2」を掛けることにより、真数表現に変換した
ときにsinの2乗の関数値に相当する波形となる波形
データを生成し、これを窓関数として利用できるように
する。sinの2乗の関数値に相当する波形は、サイン
波の半波の波形の裾野に広がりを与えるものであり、窓
関数に適している。
【0051】シフト/ログ−リニア変換器65の出力デ
ータは、制御信号発生部6からの制御信号に従い、レジ
スタREG4に一時記憶されたり、遅延回路67を経由
してRAM4に書き込まれたりする。レジスタREG4
は、シフトレジスタであり、その出力データ#REG4
は、セレクタ51に入力される。RAM4に書き込まれ
たデータは、DSP4の制御信号発生部6からの制御信
号に従ってRAM4から読み出され、遅延回路68を経
由して出力データ#RAM4としてセレクタ51に入力
される。また、RAM4に書き込まれたデータは、DS
P1の制御信号発生部6からの制御信号に従ってRAM
4から読み出され、遅延回路68を経由してDSP1に
送られる。
【0052】〔各DSPの協働による楽音合成動作の説
明〕次に、ディジタル信号処理部DSPS内の各DSP
1,DSP2,DSP3,DSP4がそれぞれのマイク
ロプログラムに基づいて並行的に演算を実行することに
より楽音波形が合成されていく過程の説明を行う。図8
は、各DSP1〜DSP4が並行的に各チャンネルの演
算を実行する際の、チャンネルタイミングを示すタイム
チャートである。同図において、1〜18は、各チャン
ネル1〜18の時分割演算タイミングを示す。同図に示
すように、各DSP1〜DSP4は、各チャンネルの演
算を、システムクロックパルスが21クロック分与えら
れる時間毎に順次チャンネルを切り替えつつ実行する。
すなわち、システムクロックパルスが21×18=37
8クロック分与えられる時間を1サイクルとして、18
チャンネルで時分割に使用される。
【0053】各DSP1〜DSP4は、それぞれにプロ
グラムされている処理内容に応じて、相互にタイミング
をずらして各チャンネルの演算を実行する。すなわち、
同図に示すように、DSP2が或るチャンネル(例えば
チャンネル1)の「エンベロープ演算」を実行するタイ
ミングに対して、DSP1が当該チャンネル1の「位相
演算」を実行するタイミングと、DSP3が当該チャン
ネル1の「ノイズ演算」を実行するタイミングとは、2
チャンネルタイム分(つまり42クロック分)遅れてお
り、DSP4が当該チャンネル1の楽音波形データの
「波形生成演算」を実行するタイミングは、それよりも
更に1チャンネルタイム(21クロック)分遅れてお
り、DSP1が当該チャンネル1の「ミキシング演算」
を実行するタイミングは、それよりも更に1チャンネル
(21クロック)分遅れている。
【0054】これにより、或るチャンネルのエンベロー
プデータがDSP2において作成された後、2チャンネ
ル分遅れたタイミングで、そのエンベロープデータを用
いて、当該チャンネルの位相データ及びノイズ信号がD
SP1,DSP3において作成される。次に、更に1チ
ャンネル分遅れたタイミングで、これらのエンベロープ
データ,位相データ,ノイズ信号を用いて、当該チャン
ネルの楽音波形データがDSP4において作成され、続
いて、更に1チャンネル分遅れたタイミングで、DSP
1において、当該チャンネルの楽音波形データが他のチ
ャンネルの楽音波形データと合計されることになる。こ
のように、各DSP1〜DSP4に並行的に演算を実行
させることに加え、それぞれにプログラムされた処理内
容に応じて、各DSP1〜DSP4に相互にチャンネル
タイミングをずらして各チャンネルの演算を実行させる
ことにより、一層高速に楽音波形データを作成すること
が可能になる。
【0055】次に、各DSP1〜DSP4が図8に示し
た時分割チャンネルタイミングで動作することを前提と
して、各DSPの協働に基づく楽音波形の合成動作を説
明する。図10,図12及び図14は、各DSP1〜D
SP4内の回路要素を、プログラムされた処理の流れに
沿って相互に組み合わせて示した演算機能展開ブロック
図であり、各DSP1〜DSP4が相互に関連し合って
協働している状態を機能的に表すものである。尚、DS
P2の回路要素については、説明の便宜上、図10,図
12及び図14には示していない。
【0056】まず、各DSP1〜DSP4の協働に基づ
いてフォルマント音合成方式による楽音波形の合成を行
う動作例について説明することにする。以下では、2系
列のピッチ周波数位相データ及びフォルマント中心周波
数位相データに基づき2系列のフォルマント音波形を求
め、それらのフォルマント音波形を加算することによっ
て最終的なフォルマント音波形を得る方式での楽音波形
の合成動作を説明することにする。このように2系列
(または3系列以上であってもよい)の位相データに基
づき2系列(または3系列以上であってもよい)のフォ
ルマント音波形を合成し、それらを加算することによっ
て最終的なフォルマント音波形を得る方式は、例えば特
開平2−254497号公報において本出願人が既に開
示している方式を基本的には使用することができる。な
お、各DSP1〜DSP4が「フォルマント音合成方
式」のモードで演算処理を行うべきことは、操作子部O
PS(図1)又はその他適宜手段による音色等の選択/
設定操作に応じて与えられる楽音合成アルゴリズムパラ
メータALGの値によって指示される。例えば、該パラ
メータALGが“0”のとき、「フォルマント音合成方
式」のモードで演算処理を行うべきことを指示する。
【0057】−フォルマント音合成のためのDSP1の
動作例− 図9は、フォルマント音を合成する際の、DSP1の
「位相演算」及び「ミキシング演算」のマイクロプログ
ラムの各ステップ毎の動作例を示す。マイクロプログラ
ムの1サイクルはステップS0〜S20の21ステップ
から成り、1ステップがシステムクロックの1周期に対
応する。この1サイクルは図8の1チャンネルタイミン
グに対応しており、各チャンネル毎のプログラムサイク
ルが図8のように18チャンネル時分割で実行される。
ステップS0〜S10,S13〜S18が「位相演算」
のためのステップであり、ステップS11,S12,S
19,S20が「ミキシング演算」のためのステップで
ある。図9において、(a)は演算器ALU1の「A」
入力に入力する状態に設定されるデータを示し、(b)
は演算器ALU1の「B」入力に入力する状態に設定さ
れるデータを示し、(c)はデータ#1の内容を示し、
(d)はレジスタREG1に書込み入力されるデータの
内容を示し、(e)はRAM1に書き込まれるデータ入
力の内容を示す。図10は、DSP1での位相データの
作成動作の過程を示す機能ブロック図である。したがっ
て、同図は実際のハードウェア回路構成を示す図ではな
い。
【0058】(1)ステップS0におけるDSP1の動
作 ステップS0では、フォルマント音の2系列のピッチ周
波数位相データPGp1,PGp2を作成するために使
用されるピッチ周波数ナンバーFNUMの値を変調する
ための演算を、演算器ALU1(図5)を用いて行う。
図9(a),(b)では、演算器ALU1のA入力及び
B入力への入力データを簡略化して示しており、ステッ
プS0では、演算器ALU1のA入力としてピッチ周波
数ナンバーFNUMに相当する位相増分値データが入力
され、演算器ALU1のB入力としてアタックグライド
データAGが入力される状態に設定される。なお、図9
(a)でFNUMと共に括弧書きされたn又はn-1の意
味については後述する。
【0059】詳しくは、図5において、変調部12に対
する入力パラメータとしてピッチ周波数ナンバーFNU
Mと、ビブラート用のパラメータVIB,DVBが与え
られ、かつ、セレクタ10では、リニア−ログ変換器1
3からの出力を選択する状態とされる。これによって、
ビブラート変調制御されたピッチ周波数ナンバーFNU
Mを対数値に変換したデータがリニア−ログ変換器13
から出力され、これが、セレクタ10で選択されて、ロ
グ−リニア変換/シフト器14及び遅延回路15を介し
て演算器ALU1のA入力に入力される。なお、このス
テップS0では、コントローラ23の制御によって、ロ
グ−リニア変換/シフト器14及びログ−リニア変換/
シフト/±器16では、変換又はシフト動作のどちらも
行わず、入力データをそのまま通す。
【0060】一方、所定のタイミングでDSP2のRA
M2から対応するチャンネルの対数表現のアタックグラ
イドデータAGが読み出され、これがデータ#RAM2
としてデータバスDBUSを介してDSP1に与えら
れ、セレクタ11に入力される。セレクタ11ではこの
データ#RAM2即ちAGを選択して出力し、ログ−リ
ニア変換/シフト/±器16及び遅延回路17を介して
演算器ALU1のB入力に入力する。従って、対数表現
からなるビブラート制御されたピッチ周波数ナンバーF
NUMとアタックグライドデータAGが演算器ALU1
で加算される。周知のように、対数同士の加算は、その
対数の真数(つまりリニア数)同士の乗算に相当するの
で、真数のレベルでは、ビブラート制御されたピッチ周
波数ナンバーFNUMにアタックグライドデータAGを
掛けて、アタックグライド変調を施すための演算処理を
行ったことになる。
【0061】このようにして、ステップS0では、ピッ
チ周波数ナンバーFNUMの値を変調するための演算が
行われ、変調されたピッチ周波数ナンバーFNUMが対
数値にて得られる。この変調されたピッチ周波数ナンバ
ーFNUMは、各遅延回路15,17,18,19によ
る通算3クロックの遅延ののち、後述するステップS3
のタイミングで、アウトプットコントローラ20を経て
出力データ#1として出力される。
【0062】参考のために、以上の演算処理を図10の
演算機能展開図に沿って整理する。図10で図5と同一
符号の頭文字が付された回路要素は、同一又は対応する
ものを示す。また、図10における各回路要素の符号の
末尾に括弧書きで記されたステップ番号は、その回路要
素がそのステップで機能することを示している。例え
ば、「ALU1(S0)」と付記されているのは、当該
回路要素がステップS0で機能する演算器ALU1に対
応することを示している。従って、ステップS0の処理
については、図10で(S0)の表示が付された回路の
ルートを注目されたい。なお、後述する図12,図14
においても同様の表記法を採用している。
【0063】図10では、ビブラートデータ発生器12
a(S0),アンドゲート12b(S0)及び加算器1
2c(S0)が変調部12(図5)に対応しており、ビ
ブラート深さ及び速さパラメータDVBに応じた深さと
速さを持つ周期的なビブラートデータがビブラートデー
タ発生器12a(S0)から発生され、アンドゲート1
2b(S0)に入力される。アンドゲート12b(S
0)はビブラートオン/オフパラメータVIBがビブラ
ートオンを指定するとき可能化され、上記の周期的なビ
ブラートデータを出力する。アンドゲート12b(S
0)から出力されたビブラートデータが加算器12c
(S0)でピッチ周波数ナンバーFNUMに加算され、
ピッチ周波数ナンバーFNUMをビブラート変調したデ
ータが出力される。この加算器12c(S0)の出力が
リニア−ログ変換器13(S0)で対数値に変換され、
そして、上述のように、演算器ALU1(S0)でアタ
ックグライドデータAGと加算される。
【0064】(チャンネル同期動作の説明)上記のよう
にステップS0でピッチ周波数ナンバーFNUMの変調
演算が行われることに関連して、以下、「チャンネル同
期動作」機能の説明を行う。「チャンネル同期動作」と
は、隣接する複数の楽音発生チャンネルで同一のピッチ
の楽音を自動的に同時に発音制御する機能である。この
機能のためにチャンネル同期動作フラグRBPが使用さ
れる。このフラグRBPは各チャンネル毎に設けられて
おり、例えば、チャンネル1のフラグRBPが「0」
で、その隣のチャンネル2及び3のフラグRBPが夫々
「1」の場合、チャンネル2及び3では、チャンネル1
に割り当てられている楽音と同じピッチの楽音をチャン
ネル1のキーオンタイミング(発音タイミング)と同じ
タイミングで自動的に発音するように制御される。この
チャンネル同期動作フラグRBPは、音色設定又は選択
操作若しくは操作子部OPSにおける選択操作等に応じ
て、マイクロコンピュータ部COMから各チャンネル毎
に与えられる。
【0065】従って、ステップS0の処理において、現
在処理中の当該チャンネル(このチャンネル番号をnで
示す)のチャンネル同期動作フラグRBPが「0」であ
れば、変調部12に供給するピッチ周波数ナンバーFN
UMとして、当該チャンネルnに割り当てられている楽
音のピッチを示すピッチ周波数ナンバーFNUMnを与
えるようにする。その場合は、DSP2におけるエンベ
ロープ発生を含めて、キーオン/オフに関連する各種処
理は、当該チャンネルnに割り当てられている楽音のキ
ーオン信号KON(すなわちKONn)に基づいて行う
ようにする。
【0066】他方、ステップS0の処理において、現在
処理中の当該チャンネルnのチャンネル同期動作フラグ
RBPが「1」であれば、変調部12に供給するピッチ
周波数ナンバーFNUMとして、当該チャンネルnの1
つ前のチャンネルn−1(例えばn=2であれば、n−
1=1)に割り当てられている楽音のピッチを示すピッ
チ周波数ナンバーFNUMn−1を与えるようにする。
その場合は、DSP2におけるエンベロープ発生を含め
て、キーオン/オフに関連する各種処理は、当該1つ前
のチャンネルn−1に割り当てられている楽音のキーオ
ン信号KON(すなわちKONn-1)に基づいて行うよ
うにする。なお、チャンネル番号は1が最小であると
し、n=1のときは、当該チャンネルn=1のチャンネ
ル同期動作フラグRBPの値とは無関係に自己のチャン
ネルのピッチ周波数ナンバーFNUMnとキーオン信号
KON(すなわちKONn)を使用するものとする。
【0067】したがって、フラグRBPが「1」のとき
には、隣り合うチャンネルnとチャンネルn−1(チャ
ンネルn−1でもRBPのデータが「1」のときには、
RBPのデータが「0」である最も番号の小さいチャン
ネルまでの隣り合うすべてのチャンネル)で、同一のピ
ッチと発音開始タイミングで同期して楽音波形合成処理
が行なわれる。一例として、チャンネル1のフラグRB
Pが「0」であり、チャンネル2,3,4のフラグRB
Pがそれぞれ「1」であり、以下、チャンネル5からチ
ャンネル18までのフラグRBPがそれぞれ「0」,
「1」,「1」,「1」,「0」,「1」,「1」,
「1」,「1」,「0」,「0」,「1」,「0」,
「0」である場合には、チャンネル1から4では、すべ
てチャンネル1に割り当てられた楽音と同じピッチ及び
発音開始タイミングで同期して楽音波形合成処理が行な
われ、チャンネル5乃至8では、すべてチャンネル5に
割り当てられた楽音と同じピッチ及び発音開始タイミン
グで同期して楽音波形合成処理が行なわれ、チャンネル
9乃至13では、すべてチャンネル9に割り当てられた
楽音と同じピッチ及び発音開始タイミングで同期して楽
音波形合成処理が行なわれ、チャンネル14では、該チ
ャンネル14に割り当てられた楽音のピッチと発音開始
タイミングで独立して楽音波形合成処理が行なわれ、チ
ャンネル15及び16では、チャンネル15に割り当て
られた楽音と同じピッチ及び発音開始タイミングで同期
して楽音波形合成処理が行なわれ、チャンネル17及び
18では、夫々のチャンネルに割り当てられた楽音のピ
ッチと発音開始タイミングで独立して楽音波形合成処理
が行なわれる。
【0068】このように、隣接する複数のチャンネルで
同一のピッチと同一のキーオンタイミングに基づき楽音
波形合成処理を行なうことにより、楽音のピッチは同一
であるが、各チャンネル毎に独立のフォルマント周波数
ナンバーFORMのデータに従う互いに異なるフォルマ
ント中心周波数でフォルマント音を夫々合成し、かつそ
れらのフォルマント音の発音タイミングは完全に同期す
るので、互に同期している各チャンネルの楽音(フォル
マント音)は、見かけ上1つの楽音信号として聞き取ら
れ、結局、複数の異なるフォルマント成分からなる多峰
フォルマント特性の楽音を得ることができるようにな
る。
【0069】(2)ステップS2におけるDSP1の動
作 ステップS2では、フォルマント音の2系列の中心周波
数位相データPGf1,PGf2を作成するために使用
されるフォルマント周波数ナンバーFORMの値を変調
するための演算を、演算器ALU1(図5)を用いて行
う。図9(a),(b)に示すように、ステップS2で
は、演算器ALU1のA入力としてフォルマント周波数
ナンバーFORMに相当する位相増分値データが入力さ
れ、演算器ALU1のB入力としてアタックグライドデ
ータAGが入力される状態に設定される。
【0070】詳しくは、図5において、変調部12に対
する入力パラメータとしてフォルマント周波数ナンバー
FORMと、フォルマント音中心周波数変調用のパラメ
ータDFM,FOMが与えられ、かつ、セレクタ10で
は、リニア−ログ変換器13からの出力を選択する状態
とされる。これによって、周波数変調制御されたフォル
マント周波数ナンバーFORMを対数値に変換したデー
タがリニア−ログ変換器13から出力され、これが、セ
レクタ10で選択されて、ログ−リニア変換/シフト器
14及び遅延回路15を介して演算器ALU1のA入力
に入力される。なお、このステップS2では、コントロ
ーラ23の制御によって、ログ−リニア変換/シフト器
14及びログ−リニア変換/シフト/±器16では、変
換又はシフト動作のどちらも行わず、入力データをその
まま通す。
【0071】一方、DSP2のRAM2から読み出され
た出力データ#RAM2として、対応するチャンネルの
対数表現のアタックグライドデータAGがセレクタ11
に入力され、これがセレクタ11で選択され、ログ−リ
ニア変換/シフト/±器16及び遅延回路17を介して
演算器ALU1のB入力に入力される。従って、対数表
現からなる周波数変調制御されたフォルマント周波数ナ
ンバーFORMとアタックグライドデータAGが演算器
ALU1で加算される。これにより、真数のレベルで
は、周波数変調制御されたフォルマント周波数ナンバー
FORMにアタックグライドデータAGを掛けて、アタ
ックグライド変調を施すための演算処理を行ったことに
なる。
【0072】このようにして、ステップS2では、フォ
ルマント周波数ナンバーFORMの値を変調するための
演算が行われ、変調されたフォルマント周波数ナンバー
FORMが対数値にて得られる。この変調されたフォル
マント周波数ナンバーFORMは、各遅延回路15,1
7,18,19による通算3クロックの遅延ののち、後
述するステップS5のタイミングで、アウトプットコン
トローラ20を経て出力データ#1として出力される。
【0073】ステップS2における以上の演算処理を図
10の演算機能展開図に沿って整理すると、図10で
は、変調データ発生器12d(S2),アンドゲート1
2e(S2)及び加算器12f(S2)が変調部12
(図5)に対応しており、周波数変調深さ及び速さパラ
メータDFMに応じた深さと速さを持つ周期的な周波数
変調データが変調データ発生器12d(S2)から発生
され、アンドゲート12e(S2)に入力される。アン
ドゲート12e(S2)は周波数変調オン/オフパラメ
ータFOMが周波数変調オンを指定するとき可能化さ
れ、上記の周期的な周波数変調データを出力する。アン
ドゲート12e(S2)から出力された周波数変調デー
タが加算器12f(S2)でフォルマント周波数ナンバ
ーFORMに加算され、フォルマント周波数ナンバーF
ORMを周波数変調したデータが出力される。この加算
器12f(S2)の出力が、リニア−ログ変換器13
(S2)で対数値に変換され、演算器ALU1(S2)
でアタックグライドデータAGと加算される。
【0074】(3)ステップS3におけるDSP1の動
作 図9(a),(b)に示すように、ステップS3では、
演算器ALU1のA入力としてデータ#1が入力され、
演算器ALU1のB入力として値「0」を示すデータが
入力される状態に設定される。
【0075】詳しくは、図5において、セレクタ10で
はデータ#1を選択する状態とされ、セレクタ11では
値「0」を示すデータを選択する状態とされる。データ
#1としては、ステップS0で変調済のピッチ周波数ナ
ンバーFNUM(対数値)が3クロック遅れたこのステ
ップS3のタイミングで与えられる(図9(c))。ま
た、ステップS3では、コントローラ23の制御によっ
て、ログ−リニア変換/シフト器14は、セレクタ10
から出力される変調済のピッチ周波数ナンバーFNUM
の対数値を真数に変換するが、ログ−リニア変換/シフ
ト/±器16では、変換又はシフト動作のどちらも行わ
ず、セレクタ11から出力される「0」データをそのま
ま通す。従って、真数に変換された変調済のピッチ周波
数ナンバーFNUMと「0」が演算器ALU1で加算さ
れることになるが、これは単に真数値からなるピッチ周
波数ナンバーFNUMを通過させているだけであること
を意味する。
【0076】このようにして、ステップS3では、対数
表現からなる変調済のピッチ周波数ナンバーFNUMを
真数に変換するための演算が行われる。こうして変換さ
れたピッチ周波数ナンバーFNUMの真数値は、各遅延
回路15,17,18,19による通算3クロックの遅
延ののち、後述するステップS6のタイミングで、アウ
トプットコントローラ20を経てレジスタREG1に書
き込まれる。ステップS3における上記演算処理を図1
0の演算機能展開図に示すと、図10ではログ−リニア
変換器14(S3)がステップS3におけるログ−リニ
ア変換/シフト器14(図5)による演算機能に対応し
ており、ステップS0で実行された演算器ALU1(S
0)における演算結果、つまり変調済のピッチ周波数ナ
ンバーFNUMが、ログ−リニア変換器14(S3)に
入力されて真数に変換される。
【0077】(4)ステップS4におけるDSP1の動
作 ステップS4では、無声フォルマント音の中心周波数位
相データPGuを作成するために使用される無声フォル
マント周波数ナンバーUFORMの値を変調するための
演算を、演算器ALU1(図5)を用いて行う。図9
(a),(b)に示すように、ステップS4では、演算
器ALU1のA入力として無声フォルマント周波数ナン
バーUFORMに相当する位相増分値データが入力さ
れ、演算器ALU1のB入力としてアタックグライドデ
ータAGuが入力される状態に設定される。
【0078】詳しくは、図5において、変調部12に対
する入力パラメータとして無声フォルマント周波数ナン
バーUFORMと、無声フォルマント音中心周波数変調
用のパラメータUDFM,UFOMが与えられ、かつ、
セレクタ10では、リニア−ログ変換器13からの出力
を選択する状態とされる。これによって、周波数変調制
御された無声フォルマント周波数ナンバーUFORMを
対数値に変換したデータがリニア−ログ変換器13から
出力され、これが、セレクタ10で選択されて、ログ−
リニア変換/シフト器14及び遅延回路15を介して演
算器ALU1のA入力に入力される。なお、このステッ
プS4では、コントローラ23の制御によって、ログ−
リニア変換/シフト器14及びログ−リニア変換/シフ
ト/±器16では、変換又はシフト動作のどちらも行わ
ず、入力データをそのまま通す。
【0079】一方、DSP2のRAM2から読み出され
た出力データ#RAM2として、対応するチャンネルの
対数表現のアタックグライドデータAGuがセレクタ1
1に入力され、これがセレクタ11で選択され、ログ−
リニア変換/シフト/±器16及び遅延回路17を介し
て演算器ALU1のB入力に入力される。従って、対数
表現からなる周波数変調制御された無声フォルマント周
波数ナンバーUFORMとアタックグライドデータAG
uが演算器ALU1で加算される。これにより、真数の
レベルでは、周波数変調制御された無声フォルマント周
波数ナンバーUFORMにアタックグライドデータAG
uを掛けて、アタックグライド変調を施すための演算処
理を行ったことになる。
【0080】このようにして、ステップS4では、無声
フォルマント周波数ナンバーUFORMの値を変調する
ための演算が行われ、変調された無声フォルマント周波
数ナンバーUFORMが対数値にて得られる。この変調
された無声フォルマント周波数ナンバーUFORMは、
各遅延回路15,17,18,19による通算3クロッ
クの遅延ののち、後述するステップS7のタイミング
で、アウトプットコントローラ20を経て出力データ#
1として出力される。
【0081】図10の演算機能展開図では、変調データ
発生器12g(S4),アンドゲート12h(S4)及
び加算器12i(S4)が変調部12(図5)に対応し
ており、周波数変調深さ及び速さパラメータUDFMに
応じた深さと速さを持つ周期的な周波数変調データが変
調データ発生器12g(S4)から発生され、アンドゲ
ート12h(S4)に入力される。アンドゲート12h
(S4)は周波数変調オン/オフパラメータUFOMが
周波数変調オンを指定するとき可能化され、上記の周期
的な周波数変調データを出力する。アンドゲート12h
(S4)から出力された周波数変調データが加算器12
i(S4)で無声フォルマント周波数ナンバーUFOR
Mに加算され、無声フォルマント周波数ナンバーUFO
RMを周波数変調したデータが出力される。この加算器
12i(S4)の出力が、リニア−ログ変換器13(S
4)で対数値に変換され、演算器ALU1(S4)でア
タックグライドデータAGuと加算される。
【0082】(5)ステップS5におけるDSP1の動
作 図9(a),(b)に示すように、ステップS5では、
演算器ALU1のA入力としてデータ#1が入力され、
演算器ALU1のB入力として値「0」を示すデータが
入力される状態に設定される。詳しくは、図5におい
て、データ#1として、ステップS2で変調済のフォル
マント周波数ナンバーFORM(対数値)が与えられ、
かつ、セレクタ10では、このデータ#1を選択する状
態とされる。なお、このステップS5では、コントロー
ラ23の制御によって、ログ−リニア変換/シフト器1
4は、この対数値を真数に変換するが、ログ−リニア変
換/シフト/±器16では、変換又はシフト動作のどち
らも行わず、入力データをそのまま通す。
【0083】一方、値「0」を示すデータがセレクタ1
1に入力され、これがセレクタ11で選択され、ログ−
リニア変換/シフト/±器16及び遅延回路17を介し
て演算器ALU1のB入力に入力される。従って、真数
に変換された変調済のフォルマント周波数ナンバーFO
RMと「0」が演算器ALU1で加算される。このよう
にして、ステップS5では、変調済のフォルマント周波
数ナンバーFORMを真数に変換するための演算が行わ
れる。この変調済のピッチ周波数ナンバーFNUMの真
数値は、各遅延回路15,17,18,19による通算
3クロックの遅延ののち、後述するステップS8のタイ
ミングで、アウトプットコントローラ20を経てレジス
タREG1に書き込まれる。
【0084】図10の演算機能展開図では、ログ−リニ
ア変換器14(S5)がログ−リニア変換/シフト器1
4(図5)に対応しており、演算器ALU1(S2)か
ら出力された変調済のフォルマント周波数ナンバーFO
RMが、ログ−リニア変換器14(S5)に入力されて
真数に変換されることが示されている。
【0085】(6)ステップS6におけるDSP1の動
作 ステップS6では、2系列のピッチ周波数位相データP
Gp1,PGp2を作成するために使用されるピッチ周
波数ナンバーFNUMの値を所定数倍の大きさにするた
めの演算を、演算器ALU1(図5)を用いて行う。こ
のステップS6では、ステップS3の処理によって真数
値に変換されたピッチ周波数ナンバーFNUMが3クロ
ック遅れてレジスタREG1の入力に与えられ、これ
が、図9(d)に示すように、レジスタREG1に取り
込まれてストアされる。レジスタREG1の出力データ
#REG1には、書き込み入力との間で時間遅れがない
ものとし、取り込まれた真数値のピッチ周波数ナンバー
FNUMがデータ#REG1として即出力される。
【0086】また、図9(a),(b)に示すように、
ステップS6では、演算器ALU1のA入力及びB入力
としてデータ#REG1を処理したデータが入力される
状態に設定される。すなわち、図5において、データ#
REG1として、ステップS3で真数に変換されたピッ
チ周波数ナンバーFNUMがセレクタ10及び11に与
えられ、かつ、セレクタ10及び11では、このデータ
#REG1を選択する状態とされる。一方、このステッ
プS6では、周波数倍数パラメータMULT1がセレク
タ22を介してコントローラ23に与えられ、該パラメ
ータに基づくコントローラ23の制御によって、ログ−
リニア変換/シフト器14では、所定桁数分だけのシフ
ト動作(この桁数についてはすぐ後に述べる)を行な
い、ログ−リニア変換/シフト/±器16では、所定桁
数分だけのシフト動作(この桁数についてもすぐ後に述
べる)及び正負符号の反転動作を行なう(通常、周波数
ナンバーの正符号を負符号に反転する)。なお、この正
負符号の反転動作は、演算機ALU1を引算器として機
能させるための処理である。
【0087】従って、所定桁シフトしたピッチ周波数ナ
ンバーFNUMから、所定桁シフトしたピッチ周波数ナ
ンバーFNUMが演算器ALU1で減算される。ここ
で、これらの桁数は、この減算の結果が、最初のピッチ
周波数ナンバーFNUMの値よりもパラメータMULT
1の示す倍数だけ大きくなるように設定される。例え
ば、パラメータMULT1の示す倍数が「3」である場
合には、ログ−リニア変換/シフト器14における所定
シフト桁数を「2」とし、ログ−リニア変換/シフト/
±符号器16における所定シフト桁数を「0」とする。
これにより、2ビットシフトアップすることにより4倍
だけ大きくされたピッチ周波数ナンバーFNUMに、シ
フトしていないが符号が負に反転されたピッチ周波数ナ
ンバーFNUMを加算することにより、「4×FNUM
−FNUM=3×FNUM」の引算が行われることにな
り、その結果、最初のピッチ周波数ナンバーFNUMの
値よりも3倍だけ大きくされたピッチ周波数ナンバーデ
ータが得られる。このように、パラメータMULT1の
示す倍数に対して、2系列で夫々所定のシフト数のシフ
ト演算(2のn乗演算)を行うことと引算とを組合せる
ことにより、合計で、2のn乗倍以外の任意の倍数(例
えば、3倍、5倍、6倍、7倍等)の演算を行うことが
できる。
【0088】このステップS6で所望倍数の大きさに変
更されたピッチ周波数ナンバーFNUMデータは、各遅
延回路15,17,18,19による通算3クロックの
遅延の後、後述するステップS9のタイミングで、アウ
トプットコントローラ20を経てレジスタREG1に書
き込まれる。
【0089】このステップS6に対応する演算機能展開
図は、図10では、ログ−リニア変換器14(S3)に
引き続く経路に示されており、そこに示されたシフタ1
4(S6)がログ−リニア変換/シフト器14(図5)
に対応し、シフタ16a(S6)及び反転回路16b
(S6)がログ−リニア変換/シフト/±器16(図
5)に対応しており、シフトコントローラ23(S6)
がコントローラ23(図5)に対応している。すなわ
ち、ステップS3におけるログ−リニア変換器14(S
3)による処理によって真数値に変換されたピッチ周波
数ナンバーFNUM(真数値)が、ステップS6では、
シフタ14(S6)及び16a(S6)に入力される。
このシフタ14(S6)及び16a(S6)は、パラメ
ータMULT1に従うシフトコントローラ23(S6)
の制御のもと、ピッチ周波数ナンバーFNUMを上述の
ようにそれぞれ所定桁数だけシフトする。シフタ16a
(S6)の出力は、パラメータMULT1に従うシフト
コントローラ23(S6)の制御のもと、反転回路16
b(S6)で正負の符号を反転して負の値にされる。そ
して、シフタ14(S6)の出力と反転回路16b(S
6)の出力が、演算器ALU1(S6)で加算される。
【0090】(7)ステップS7におけるDSP1の動
作 ステップS7では、変調した無声フォルマント周波数ナ
ンバーUFORMを累算して逐次変化するプログレシブ
位相データPGuを作成する演算を、演算器ALU1
(図5)を用いて行う。図9(a),(b)に示すよう
に、ステップS7では、演算器ALU1のA入力として
データ#1が入力され、演算器ALU1のB入力として
前回サイクルで求められた位相データPGuが入力され
る状態に設定される。
【0091】詳しくは、図5において、ステップS4で
処理された無声フォルマント周波数ナンバーUFORM
(対数値)が3クロック遅れてステップS7でデータ#
1として出力され、かつ、セレクタ10ではこのデータ
#1を選択する状態とされる。また、このステップS7
では、コントローラ23の制御によって、ログ−リニア
変換/シフト器14は、この対数値を真数に変換する
が、ログ−リニア変換/シフト/±器16では、変換又
はシフト動作のどちらも行わず、入力データをそのまま
通す。
【0092】一方、このステップS7では、RAM1か
ら、対応するチャンネルの位相データPGuが読み出さ
れ、出力データ#RAM1としてセレクタ11に入力さ
れる。また、セレクタ11ではこのRAM読み出しデー
タ#RAM1を選択する状態に設定される。このデータ
#RAM1つまりノイズ信号用のプログレシブ位相デー
タPGuは、ログ−リニア変換/シフト/±器16及び
遅延回路17を通過して演算器ALU1のB入力に入力
される。こうして、演算器ALU1では、無声フォルマ
ント周波数ナンバーUFORM(真数値)が、RAM1
から読み出されたプログレシブ位相データPGuに加算
される。この加算結果は、各遅延回路15,17,1
8,19,24による通算4クロックの遅延ののち、後
述するステップS11のタイミングで、アウトプットコ
ントローラ20を経てRAM1の位相データPGuの記
憶領域に記憶される。このようにして、ステップS7で
は、無声フォルマント周波数ナンバーUFORMが各サ
イクル毎に累算されて、その累算結果として位相データ
PGuが生成され、RAM1にストアされる。
【0093】このステップS7に対応する演算機能展開
図は、図10では、演算器ALU1(S4)に引き続く
経路に示されており、そこに示されたログ−リニア変換
器14(S7)がログ−リニア変換/シフト器14(図
5)に対応し、位相発生器ALU1&RAM1(S7)
が演算器ALU1とRAM1(図5)に対応している。
ステップS4における演算器ALU1(S4)の演算に
よって得られた無声フォルマント周波数ナンバーUFO
RM(対数値)が、ログ−リニア変換器14(S7)に
入力されて真数に変換された後、位相発生器ALU1&
RAM1(S7)で累算されて、位相データPGuが作
成される。
【0094】(8)ステップS8におけるDSP1の動
作 図9(a),(b)に示すように、ステップS8では、
演算器ALU1のA入力としてデータ#REG1が入力
され、演算器ALU1のB入力として値「0」を示すデ
ータが入力される状態に設定される。
【0095】詳しくは、図5において、ステップS5で
真数に変換した変調済のフォルマント周波数ナンバーF
ORMが3クロック遅れてこのステップS8でレジスタ
REG1に取り込まれ(図9(d)参照)、かつ、デー
タ#REG1としてレジスタREG1から出力される。
セレクタ10ではこのデータ#REG1を選択する状態
とされ、セレクタ11では「0」を選択する。また、コ
ントローラ23の制御によって、ログ−リニア変換/シ
フト器14及びログ−リニア変換/シフト/±器16で
は、変換又はシフト動作のどちらも行わず、入力データ
をそのまま通す。従って、真数値からなるフォルマント
周波数ナンバーFORMが演算器ALU1を通過するだ
けである。
【0096】演算器ALU1から出力されるフォルマン
ト周波数ナンバーFORMは、各遅延回路15,17,
18,19による通算3クロックの遅延ののち、後述す
るステップS11のタイミングで、アウトプットコント
ローラ20を経てレジスタREG1に書き込まれる。こ
のステップS8では、ステップS11以降のタイミング
におけるデータ#REG1の内容を、変調済のフォルマ
ント周波数ナンバーFORM(真数値)とするための処
理を行うだけであるので、特に図10には示さない。
【0097】(9)ステップS9におけるDSP1の動
作 ステップS9では、ステップS6で所定数倍の大きさに
したピッチ周波数ナンバーFNUMのデータを用いて1
系列目のピッチ周波数位相データPGp1を作成する演
算を、演算器ALU1(図5)を用いて行う。図9
(a),(b)に示すように、ステップS9では、演算
器ALU1のA入力としてデータ#REG1が入力さ
れ、演算器ALU1のB入力として1系列目のピッチ周
波数位相データPGp1が入力される状態に設定され
る。
【0098】詳しくは、図5において、ステップS6で
処理したピッチ周波数ナンバーFNUMが3クロック遅
れてこのステップS9でレジスタREG1に取り込まれ
(図9(d)参照)、かつ、データ#REG1としてレ
ジスタREG1から出力される。セレクタ10ではこの
データ#REG1を選択する状態とされる。また、この
ステップS9では、コントローラ23の制御によって、
ログ−リニア変換/シフト器14では、このピッチ周波
数ナンバーデータを1ビットシフトダウンする(その理
由はすぐ後に述べる)が、ログ−リニア変換/シフト/
±器16では、変換又はシフト動作のどちらも行わず、
入力データをそのまま通す。
【0099】一方、このステップS9では、RAM1か
ら、対応するチャンネルの位相データPGp1が読み出
され、出力データ#RAM1としてセレクタ11に入力
される。また、セレクタ11ではこのRAM読み出しデ
ータ#RAM1を選択する状態に設定される。このデー
タ#RAM1つまりピッチ周波数用のプログレシブ位相
データPGp1は、ログ−リニア変換/シフト/±器1
6及び遅延回路17を通過して演算器ALU1のB入力
に入力される。従って、1ビットシフトダウンした上記
ピッチ周波数ナンバーデータと、RAM1から読み出さ
れた位相データPGp1が、演算器ALU1で加算され
る。尚、ログ−リニア変換/シフト器14でピッチ周波
数ナンバーデータを1ビットシフトダウンしたのは、こ
のフォルマント音合成方式による波形合成動作の説明の
冒頭で述べたように、2系列のフォルマント音波形を加
算することによって最終的なフォルマント音波形を得る
ようにしているので、それぞれの系列のピッチ周波数位
相データを本来の大きさの2分の1の大きさにしておく
ためである。
【0100】こうして、演算器ALU1では、ピッチ周
波数ナンバーの1/2の値が、RAM1から読み出され
たプログレシブ位相データPGp1に加算される。この
加算結果は、各遅延回路15,17,18,19,24
による通算4クロックの遅延ののち、後述するステップ
S13のタイミングで、アウトプットコントローラ20
を経てRAM1の位相データPGp1の記憶領域に記憶
される。このようにして、ステップS9では、変調した
ピッチ周波数ナンバーFNUMの値を所定数倍の大きさ
にして得たピッチ周波数ナンバーデータの1/2の値が
各サイクル毎に累算されて、その累算結果として1系列
目のピッチ周波数位相データPGp1が得られる。尚、
電子楽器の演奏操作子のキーオン時(つまり楽音発音開
始時)には、この位相データPGp1はアウトプットコ
ントローラ20により所定値(例えば「0」)に初期設
定される。このようにして作成される1系列目のピッチ
周波数位相データPGp1の値の変化の一例を、図17
(a)に示す。
【0101】このステップS9に対応する演算機能展開
図は、図10では、演算器ALU1(S6)に引き続く
経路に示されており、そこに示された位相発生器ALU
1&RAM1(S9,S10)が演算器ALU1とRA
M1(図5)に対応している。ステップS6における演
算器ALU1(S6)の演算によって得られたピッチ周
波数ナンバーデータが、位相発生器ALU1&RAM1
(S9)で累算されて、ピッチ周波数位相データPGp
1が作成される。
【0102】(10)ステップS10におけるDSP1
の動作 ステップS10では、ステップS6で所定数倍の大きさ
にしたピッチ周波数ナンバーFNUMのデータを用いて
2系列目のピッチ周波数位相データPGp2を作成する
演算を、演算器ALU1(図5)を用いて行う。図9
(a),(b)に示すように、ステップS10では、演
算器ALU1のA入力としてデータ#REG1が入力さ
れ、演算器ALU1のB入力として2系列目のピッチ周
波数位相データPGp2が入力される状態に設定され
る。
【0103】詳しくは、図5において、データ#REG
1として、ステップS9におけると同じピッチ周波数ナ
ンバーデータが与えられ、かつ、セレクタ10では、こ
のデータ#REG1を選択する状態とされる。なお、こ
のステップS10でも、コントローラ23の制御によっ
て、ログ−リニア変換/シフト器14では、このピッチ
周波数ナンバーデータを1ビットシフトダウンする(そ
の理由は、ステップS9において述べたのと同じであ
る)が、ログ−リニア変換/シフト/±器16では、変
換又はシフト動作のどちらも行わず、入力データをその
まま通す。
【0104】一方、このステップS10では、RAM1
から、対応するチャンネルの位相データPGp2が読み
出され、出力データ#RAM1としてセレクタ11に入
力され、これがセレクタ11で選択され、ログ−リニア
変換/シフト/±器16及び遅延回路17を介して演算
器ALU1のB入力に入力される。従って、1ビットシ
フトダウンした上記ピッチ周波数ナンバーデータと、R
AM1から読み出された位相データPGp2が、演算器
ALU1で加算される。この加算結果は、各遅延回路1
5,17,18,19,24による通算4クロックの遅
延ののち、後述するステップS14のタイミングで、ア
ウトプットコントローラ20を経てRAM1の位相デー
タPGp2の記憶領域に記憶される。
【0105】このようにして、ステップS10では、変
調したピッチ周波数ナンバーFNUMの値を所定数倍の
大きさにして得たピッチ周波数ナンバーデータの1/2
の値が各サイクル毎に累算されて、その累算結果として
2系列目のピッチ周波数位相データPGp2が得られ
る。尚、電子楽器の演奏操作子のキーオン時には、この
位相データPGp2は、アウトプットコントローラ20
によって、前記位相データPGp1の初期値に対して1
80度位相がずれた値(すなわち、位相データPGp1
の初期値が最小値「0」のときは、最大位相値の半分の
値すなわち180度又はπに対応する値)に初期設定さ
れる。このようにして作成される2系列目のピッチ周波
数位相データPGp2の一例を、図17(b)に示す。
この図にも表れているように、1系列目のピッチ周波数
位相データPGp1と2系列目のピッチ周波数位相デー
タPGp2とは、初期設定が最大位相値の半分だけずら
されていることにより、相互に半周期だけずれて発生す
る。
【0106】このステップS10に対応する演算機能展
開図は、ステップS9と同様に、図10では、演算器A
LU1(S6)に引き続く経路に示されており、そこに
示された位相発生器ALU1&RAM1(S9,S1
0)が演算器ALU1とRAM1(図5)に対応してい
る。ステップS6における演算器ALU1(S6)の演
算によって得られたピッチ周波数ナンバーデータが、位
相発生器ALU1&RAM1(S10)で累算されて、
ピッチ周波数位相データPGp2が作成される。
【0107】(11)ステップS13におけるDSP1
の動作 ステップS11,12は、「ミキシング演算」を行なう
ステップなので、詳しくはDSP4の動作の説明の後で
説明することとし、ステップS13の説明に移る。ステ
ップS8で処理された真数表現からなる変調済のフォル
マント周波数ナンバーFORMは、3クロック後のステ
ップS11でレジスタREG1の入力に与えられ、該レ
ジスタREG1に取り込まれる(図9(d)参照)。ス
テップS13では、レジスタREG1にストアされてい
てデータ#REG1として出力される上記フォルマント
周波数ナンバーFORMを累算することにより、1系列
目の中心周波数位相データPGf1を作成する演算を、
演算器ALU1(図5)を用いて行う。
【0108】図9(a),(b)に示すように、ステッ
プS13では、演算器ALU1のA入力としてデータ#
REG1が入力され、演算器ALU1のB入力として1
系列目の中心周波数位相データPGf1が入力される状
態に設定される。詳しくは、図5において、セレクタ1
0では、データ#REG1を選択する状態とされ、レジ
スタREG1から出力されるフォルマント周波数ナンバ
ーFORMを選択出力する。また、コントローラ23の
制御によって、ログ−リニア変換/シフト器14及びロ
グ−リニア変換/シフト/±器16では、変換又はシフ
ト動作のどちらも行わず、入力データをそのまま通す。
【0109】一方、RAM1からは、対応するチャンネ
ルの1系列目の中心周波数位相データPGf1が読み出
されてデータ#RAM1としてセレクタ11に入力さ
れ、これがセレクタ11で選択され、ログ−リニア変換
/シフト/±器16及び遅延回路17を介して演算器A
LU1のB入力に入力される。従って、演算器ALU1
では、フォルマント周波数ナンバーFORMが、RAM
1から読み出された位相データPGf1に加算される。
この加算結果は、各遅延回路15,17,18,19,
24による通算4クロックの遅延ののち、後述するステ
ップS17のタイミングで、アウトプットコントローラ
20を経てRAM1の位相データPGf1の記憶領域に
記憶される。このようにして、ステップS13では、フ
ォルマント周波数ナンバーFORMが各サイクル毎に累
算されて1系列目の中心周波数位相データPGf1が作
成される。尚、この位相データPGf1は、電子楽器の
演奏操作子のキーオン時には、アウトプットコントロー
ラ20により所定の初期値(例えば「0」)に初期設定
され、また、1系列目のピッチ周波数位相データPGp
1のオーバーフロー時にも、アウトプットコントローラ
20により所定の初期値(例えば「0」)にリセットさ
れる。このようにして作成される1系列目の中心周波数
位相データPGf1の一例を、図17(c)に示す。
【0110】このステップS13に対応する演算機能展
開図は、図10では、ログ−リニア変換器14(S5)
に続くセレクタSEL1の経路に示されている。このセ
レクタSEL1はDSP1の制御信号発生部6(図3)
の処理機能に対応し、位相発生器ALU1&RAM1
(S13,S16)が演算器ALU1とRAM1(図
5)に対応している。ステップS5の処理によってログ
−リニア変換器14(S5)で真数値に変換されたフォ
ルマント周波数ナンバーFORMが、フォルマント音合
成モードのときにセレクタSEL1で選択されて位相演
算のために利用可能とされ、位相発生器ALU1&RA
M1(S13,S16)で累算されて、1系列目の中心
周波数位相データPGf1が作成される。
【0111】(12)ステップS14におけるDSP1
の動作 ステップS14では、フォルマント帯域幅(=窓関数時
間幅)指定パラメータBWに基づき1系列目の窓関数位
相データPGw1を作成するための累算演算を、演算器
ALU1(図5)を用いて行う。図9(a),(b)に
示すように、ステップS14では、演算器ALU1のA
入力としてフォルマント帯域幅指定パラメータBWに基
づく窓関数周波数ナンバー(便宜上BWと示している)
が入力され、演算器ALU1のB入力として1系列目の
窓関数位相データPGw1が入力される状態に設定され
る。
【0112】詳しくは、図5において、セレクタ10で
は、いずれのデータも選択しない状態とされる。そし
て、フォルマント帯域幅指定パラメータBWが、セレク
タ22を介してコントローラ23に入力され、それに従
うコントローラ23の制御のもとで、ログ−リニア変換
/シフト器14から、パラメータBWに応じた窓関数周
波数ナンバーが出力される。一方、対応するチャンネル
の窓関数位相データPGw1がRAM1から読み出さ
れ、これがデータ#RAM1としてセレクタ11に入力
され、該セレクタ11で選択されて、ログ−リニア変換
/シフト/±器16をそのまま通り、遅延回路17を介
して演算器ALU1のB入力に入力される。従って、上
記窓関数周波数ナンバーと、RAM1から読み出された
位相データPGw1が、演算器ALU1で加算される。
【0113】この加算結果は、各遅延回路15,17,
18,19による通算3クロックの遅延ののち、後述す
るステップS17のタイミングで、アウトプットコント
ローラ20を経て出力データ#1として出力される。
尚、この窓関数位相データPGw1は、電子楽器の演奏
操作子のキーオン時には、アウトプットコントローラ2
0により所定値(例えば「0」)に初期設定され、ま
た、1系列目のピッチ周波数位相データPGp1のオー
バーフロー時にも、アウトプットコントローラ20によ
り所定値(例えば「0」)にリセットされる。ステップ
S14に対応する演算機能展開図は、図10では、窓関
数周波数ナンバー発生器14(S14,S15)の経路
に示されている。窓関数周波数ナンバー発生器14(S
14,S15)は図5のログ−リニア変換/シフト器1
4に対応し、窓関数用位相発生器ALU1&RAM1
(S14,S15)が演算器ALU1とRAM1に対応
している。
【0114】(13)ステップS15におけるDSP1
の動作 ステップS15では、ステップS14のときとほぼ同様
に、フォルマント帯域幅指定パラメータBWに基づき2
系列目の窓関数位相データPGw2を作成する演算を、
演算器ALU1(図5)を用いて行う。ステップS15
の処理がステップS14のときと異なる点は、RAM1
からは、対応するチャンネルの2系列目の窓関数位相デ
ータPGw2が読み出されてデータ#RAM1としてセ
レクタ11に入力され、これがセレクタ11で選択され
る点である。従って、演算器ALU1では、窓関数周波
数ナンバーBWが、RAM1から読み出された位相デー
タPGw2に加算される。この加算結果は、各遅延回路
15,17,18,19による通算3クロックの遅延の
のち、後述するステップS18のタイミングで、アウト
プットコントローラ20を経て出力データ#1として出
力される。尚、この位相データPGw2は、電子楽器の
演奏操作子のキーオン時には、アウトプットコントロー
ラ20によって位相データPGw1の初期値から180
度ずれた値(PGw1の初期値が「0」ならば、最大位
相値の半分の値すなわち180度又はπ)に初期設定さ
れ、また、2系列目のピッチ周波数位相データPGp2
のオーバーフロー時にも、アウトプットコントローラ2
0により所定の初期値にリセットされる。
【0115】ステップS15に対応する演算機能展開図
は、図10では、窓関数周波数ナンバー発生器14(S
14,S15)の経路に示されている。窓関数周波数ナ
ンバー発生器14(S14,S15)は図5のログ−リ
ニア変換/シフト器14に対応し、窓関数用位相発生器
ALU1&RAM1(S14,S15)が演算器ALU
1とRAM1に対応している。
【0116】(14)ステップS16におけるDSP1
の動作 ステップS16では、ステップS13のときとほぼ同様
に、レジスタREG1にストアされていてデータ#RE
G1として出力されるフォルマント周波数ナンバーFO
RMを累算することにより、2系列目の中心周波数位相
データPGf2を作成する演算を、演算器ALU1(図
5)を用いて行う。ステップS16の処理がステップS
13のときと異なる点は、RAM1からは、対応するチ
ャンネルの2系列目の中心周波数位相データPGf2が
読み出されてデータ#RAM1としてセレクタ11に入
力され、これがセレクタ11で選択される点である。従
って、演算器ALU1では、フォルマント周波数ナンバ
ーFORMが、RAM1から読み出された2系列目の中
心周波数位相データPGf2に加算される。この加算結
果は、各遅延回路15,17,18,19,24による
通算4クロックの遅延ののち、後述するステップS20
のタイミングで、アウトプットコントローラ20を経て
RAM1の位相データPGf2の記憶領域に記憶され
る。このようにして、ステップS16では、フォルマン
ト周波数ナンバーFORMが各サイクル毎に累算されて
2系列目の中心周波数位相データPGf2が作成され
る。尚、この位相データPGf2は、電子楽器の演奏操
作子のキーオン時には、アウトプットコントローラ20
によって所定の初期値(例えば「0」)に初期設定さ
れ、また、2系列目のピッチ周波数位相データPGp2
のオーバーフロー時にも、アウトプットコントローラ2
0により所定の初期値にリセットされる。このようにし
て作成される2系列目の中心周波数位相データPGf2
の一例を、図17(d)に示す。
【0117】このステップS16に対応する演算機能展
開図は、図10では、ログ−リニア変換器14(S5)
に続くセレクタSEL1(S13,S16)の経路に示
されている。このセレクタSEL1(S13,S16)
はDSP1の制御信号発生部6(図3)の処理機能に対
応し、位相発生器ALU1&RAM1(S13,S1
6)が演算器ALU1とRAM1(図5)に対応してい
る。ステップS5の処理によってログ−リニア変換器1
4(S5)で真数値に変換されたフォルマント周波数ナ
ンバーFORMが、フォルマント音合成モードのときに
セレクタSEL1で選択されて位相演算のために利用可
能とされ、位相発生器ALU1&RAM1(S16)で
累算されて、2系列目の中心周波数位相データPGf2
が作成される。
【0118】(15)ステップS17におけるDSP1
の動作 ステップS17では、実際に使用する1系列目の窓関数
位相データPGw1として、ステップS14の処理で作
成した窓関数位相データPGw1と1系列目のピッチ周
波数位相データPGp1のうちのいずれかを選択する処
理を行う。図9(a),(b)に示すように、ステップ
S17では、演算器ALU1のA入力としてデータ#1
が入力され、演算器ALU1のB入力として1系列目の
ピッチ周波数位相データPGp1が入力される状態に設
定される。
【0119】詳しくは、図5において、ステップS14
の処理で得た窓関数位相データPGw1が3クロック遅
れてデータ#1として与えられ、かつ、セレクタ10で
は、このデータ#1を選択する状態とされる。また、R
AM1からは対応するチャンネルの1系列目のピッチ周
波数位相データPGp1が読み出され、この読み出し出
力がデータ#RAM1としてセレクタ11に入力され、
これがセレクタ11で選択される。また、コントローラ
23の制御によって、ログ−リニア変換/シフト器14
では、変換又はシフト動作のどちらも行わず、入力デー
タをそのまま通すが、ログ−リニア変換/シフト/±器
16では正負の符号を反転して負の値に変換する。
【0120】従って、演算器ALU1では、窓関数周波
数ナンバーBWを累算することによりステップS14で
得た窓関数位相データPGw1(演算器ALU1のA入
力)から、ピッチ周波数位相データPGp1(演算器A
LU1のB入力)を減算する。この減算結果が正である
(すなわち、窓関数周波数ナンバーBWの累算によって
得た窓関数位相データPGw1がピッチ周波数位相デー
タPGp1よりも大きい)場合には、ステップS14の
処理で得られた窓関数位相データPGw1が各遅延回路
15,17,18,19,24による通算4クロックの
遅延及びアウトプットコントローラ20の処理を経て、
次のステップS18のタイミングで、RAM1の入力に
入力されるとき、これがRAM1の位相データPGw1
の記憶領域に記憶されるように制御される。他方、この
減算結果が負またはゼロである(すなわち、窓関数周波
数ナンバーBWの累算によって得た窓関数位相データP
Gw1がピッチ周波数位相データPGp1と等しいかそ
れよりも小さい)場合には、ピッチ周波数位相データP
Gp1の値が、RAM1の位相データPGw1の記憶領
域に記憶される。なお、実際の処理においては、ステッ
プS13のときに、ピッチ周波数位相データPGp1を
RAM1の位相データPGp1の記憶領域に記憶すると
きに、該位相データPGp1をRAM1の位相データP
Gw1の記憶領域にも記憶しておき、上記のように減算
結果の正値に応じて位相データPGw1の記憶領域の記
憶が書き替えられない限り、位相データPGp1が位相
データPGw1としてRAM1に記憶保持されるように
する。
【0121】ここで、アウトプットコントローラ20の
処理を経てRAM1に入力される窓関数位相データPG
w1の例を、図17(e)に示す。図17(e)は、ス
テップS14で得た窓関数位相データPGw1の方がピ
ッチ周波数位相データPGp1よりも大きい場合の例で
ある。このようにステップS14で得た窓関数位相デー
タPGw1の方がピッチ周波数位相データPGp1より
も大きい場合は、窓関数位相データPGw1の値は、ピ
ッチ周波数位相データPGp1の値よりも先に最大値に
達する。アウトプットコントローラ20(図5)では、
窓関数位相データPGw1の値が所定最大値を越えたと
き、該窓関数位相データPGw1の値を該所定最大値に
保持する(スライスする)よう出力制御する。従って、
窓関数位相データPGw1の変化波形は、図17(e)
に示されるように傾斜部とフラットな部分とを持つこと
になる。一方、ステップS14で得た窓関数位相データ
PGw1がピッチ周波数位相データPGp1と同じかそ
れよりも小さい場合は、窓関数位相データPGw1は、
図17(a)に示されたピッチ周波数位相データPGp
1と同じ内容となる。
【0122】(16)ステップS18におけるDSP1
の動作 ステップS18では、ステップS17のときとほぼ同様
の手順に従い、実際に使用する2系列目の窓関数位相デ
ータPGw2として、ステップS15の処理で作成した
窓関数位相データPGw2と2系列目のピッチ周波数位
相データPGp2のうちのいずれかを選択する処理を行
う。ステップS18の処理がステップS17のときと異
なる点は、ステップS15の処理で得た窓関数位相デー
タPGw2が3クロック遅れてデータ#1としてセレク
タ10に与えられ、選択される点と、RAM1からは対
応するチャンネルの2系列目のピッチ周波数位相データ
PGp2が読み出され、この読み出し出力がデータ#R
AM1としてセレクタ11に入力され、これがセレクタ
11で選択される点である。
【0123】従って、ステップS17のときと同様に、
演算器ALU1の減算機能を用いて、ステップS15で
の累算処理によって求めた窓関数位相データPGw2と
2系列目のピッチ周波数位相データPGp2との比較を
行い、累算処理によって求めた位相データPGw2がデ
ータPGp2よりも大であればこれが次のステップS1
9のタイミングでRAM1の位相データPGw2の記憶
領域に書き込まれる(図9(e))が、そうでなけれ
ば、データPGp2がRAM1の位相データPGw2の
記憶領域に書き込まれる。
【0124】アウトプットコントローラ20の処理を経
てRAM1に入力される窓関数位相データPGw2の例
を、図17(f)に示す。図17(f)は、ステップS
15で得た窓関数位相データPGw2の方がピッチ周波
数位相データPGp2よりも大きい場合の例である。こ
のようにステップS15で得た窓関数位相データPGw
2の方がピッチ周波数位相データPGp2よりも大きい
場合は、窓関数位相データPGw2の値は、ピッチ周波
数位相データPGp2の値よりも先に最大値に達する。
アウトプットコントローラ20(図5)では、前述と同
様に、窓関数位相データPGw2の値が所定最大値を越
えたとき、該窓関数位相データPGw2の値を該所定最
大値に保持する(スライスする)よう出力制御する。従
って、窓関数位相データPGw2の変化波形は、図17
(f)に示されるように傾斜部とフラットな部分とを持
つことになる。一方、ステップS15で得た窓関数位相
データPGw2がピッチ周波数位相データPGp2と同
じかそれよりも小さい場合は、窓関数位相データPGw
2は、図17(b)に示されたピッチ周波数位相データ
PGp2と同じ内容となる。
【0125】ステップS17及びS18に対応する演算
機能展開図は、図10では、コンパレータC1(S1
7,S18)及びセレクタSEL2(S17,S18)
の経路に示されている。コンパレータC1(S17,S
18)が演算器ALU1での減算機能に対応し、セレク
タSEL2(S17,S18)が演算器ALU1の減算
結果に応じてRAM1の書き込みを制御する機能に対応
している。窓関数用位相発生器ALU1&RAM1(S
14,S15)から出力されるデータが位相発生器AL
U1&RAM1(S9,S10)からの位相データPG
p1又はPGp2よりも大きいときには、コンパレータ
C1の出力に応じてセレクタSEL2(S17,S1
8)では窓関数用位相発生器ALU1&RAM1(S1
4,S15)の出力を窓関数位相データPGw1又はP
Gw2として選択し、そうでないときは、コンパレータ
C1の出力に応じてセレクタSEL2(S17,S1
8)では位相発生器ALU1&RAM1(S9,S1
0)の出力PGp1又はPGp2を窓関数位相データP
Gw1又はPGw2として選択する。
【0126】以上のような処理により、窓関数位相デー
タPGw1及びPGw2に基づいて後述するように作成
される窓関数波形の繰返し周期が必ず楽音のピッチに同
期化され、窓の時間幅がパラメータBW(つまり窓関数
位相データPGw1及びPGw2の傾き)によって制御
されるようになる。尚、このような窓関数位相データの
作成制御方式の詳細については、例えば特開平3−84
596号公報で本出願人が既に提案しているものを利用
することができる。なお、ステップS19,20は、
「ミキシング演算」を行なうステップなので、DSP4
の動作の説明の後で説明することにする。
【0127】なお、図10の演算機能展開図において、
変調部12の内部処理機能例として符号12を頭文字と
するいくつかの回路の要素が示されている。ここにおい
て、各変調用のデータ発生器12a(S0),12d
(S2),12g(S4)から発生したビブラート等の
変調用データによって、ピッチ周波数ナンバーFNUM
を変更/変調制御するための演算手段として加算器12
c(S0),12f(S2),12i(S4)が用いら
れている。この段階ではピッチ周波数ナンバーFNUM
は真数であるため、本当は、セント値に比例する周波数
変更制御を行うためには、乗算器を用いることが好まし
い。しかし、この変調部12における周波数変更量は最
大でもわずかな量であるので、図10に示したように加
算器を使用しても悪影響はなく、むしろ、コスト的には
安くつく。しかし、DSP1の構成及びマイクロプログ
ラムを変更して、これらのビブラート等の変調用データ
を対数値で与えて、例えば、アタックグライドデータA
Gをピッチ周波数ナンバーFNUMに加算(真数レベル
では乗算)するときに一緒に加算してやるようにすれ
ば、真数レベルでの乗算によって、セント値に比例する
周波数変更制御を行うようにすることができるのは勿論
である。
【0128】−DSP3によるノイズ信号関連の動作例
− 次に、図11を参照して、図6のDSP3における「ノ
イズフォルマント音合成演算」に関連するマイクロプロ
グラムの各ステップ毎の動作例について説明する。図9
に示したDSP1のマイクロプログラム動作例と同様
に、このマイクロプログラムの1サイクルもステップS
0〜S20の21ステップから成り、1ステップがシス
テムクロックの1周期に対応する。この1サイクルも図
8の1チャンネルタイミングに対応しており、各チャン
ネル毎のプログラムサイクルが図8のように18チャン
ネル時分割で実行される。図11において、(a)は図
6の演算器ALU3の「A」入力に入力する状態に設定
されるデータを示し、(b)は図6の演算器ALU3の
「B」入力に入力する状態に設定されるデータを示し、
(c)は図6のシフタ39から出力されるデータ#3の
内容を示し、(d)は図6のレジスタREG3に書込み
入力されるデータの内容を示し、(e)は図6のレジス
タAREGに書込み入力されるデータの内容を示し、
(f)は図6のRAM3に書き込まれるデータ入力の内
容を示す。図12は、図6に示されたハードウェア構成
からなるDSP3におけるノイズ信号の作成動作の過程
を示す演算機能展開ブロック図であり、図10と同様、
実際のハードウェア回路構成を示す図ではない。
【0129】(1)ステップS0におけるDSP3の動
作 ステップS0では、ノイズフォルマント音合成用の変調
信号として使用される相関ノイズ信号を作成するために
使用されるローパスノイズ信号のスペクトル構成を制御
するための演算を、演算器ALU3(図6)を用いて行
う。すなわち、ローパスノイズ信号のスペクトルレベル
を低域部で相対的に強化することにより、このローパス
ノイズ信号を基にした相関ノイズ信号を用いた変調演算
処理によって作成されるノイズフォルマント音における
フォルマントのピーク部の鋭さを制御するための処理で
ある。図11(a),(b)では、演算器ALU3のA
入力及びB入力への入力データを簡略化して示してお
り、このステップS0では、演算器ALU3のA入力と
してノイズフォルマントの鋭さを指定するパラメータN
RESに従うデータが入力され、演算器ALU3のB入
力としてローパスノイズ信号LPFが入力される状態に
設定される。
【0130】詳しくは、図6において、セレクタ30で
は、パラメータNRESに従うデータを選択する状態と
され、該データが、遅延回路33を介して演算器ALU
3のA入力に入力される。また、RAM3からは対応す
るチャンネルのローパスノイズ信号LPFの記憶領域か
らローパスノイズ信号LPFが読み出され、これが出力
データ#RAM3としてセレクタ31に入力される。該
セレクタ31では、RAM3からの出力データ#RAM
3を選択する状態に設定され、該ローパスノイズ信号L
PFを選択する。このとき、符号付加データ+/−とし
て正符号+を付加するデータが与えられ、前記ローパス
ノイズ信号に正符号+を付加したデータがゲート回路3
4及び遅延回路35を介して演算器ALU3のB入力に
入力される。なお、ゲート回路34は後述するシリアル
乗算の際に開閉制御されるものであり、それ以外のとき
は常時可能化されていて入力データをそのまま通過す
る。
【0131】従って、演算器ALU3において、パラメ
ータNRESに従うデータが、ローパスノイズ信号LP
Fに対して加算される。なお、ローパスノイズ信号LP
Fとは、後述するようにホワイトノイズ信号に対してロ
ーパスフィルタ処理を施した信号である。このローパス
ノイズ信号LPFに対してパラメータNRESに従うデ
ータを加算することは、ローパスノイズ信号LPFに対
してパラメータNRESに対応する直流成分を加算する
ことを意味し、これによってローパスノイズ信号LPF
のスペクトル構成において低域部(周波数0の直流部)
のレベルが強化され、結果的に合成されるノイズフォル
マント音のフォルマントエンベロープの鋭さを制御する
ことができる。
【0132】このようにして、ステップS0では、ロー
パスノイズ信号LPFの低域スペクトルを制御するため
の演算が行われる。この演算結果は、各遅延回路33,
35,37及びオーバーフロー・アンダーフローコント
ローラ(OF/UF)38及びシフタ39を経て、通算
2クロックの遅延ののち、後述するステップS2のタイ
ミングでレジスタAREGに書き込まれる(図11
(e)参照)。オーバーフロー・アンダーフローコント
ローラ(OF/UF)38はステップS0ではリミッタ
として機能する。また、シフタ39はステップS0では
シフト動作を行わず、入力データをそのまま通過する。
【0133】参考のために、以上の演算処理を図12の
演算機能展開図に沿って整理する。図12でも、図6と
同一符号が付された回路要素は同一のものを示してお
り、演算器ALU3(S0)のようにステップ番号を括
弧書きして付加した回路要素はそのステップ番号に対応
するステップで機能することを示している。図12にお
いて、ステップS0での処理に対応するのは、演算器A
LU3(S0)において、パラメータNRESに従って
係数テーブルTB1(S0)から読み出される係数デー
タを、演算器ALU3(S5)から出力されるローパス
ノイズ信号LPFに加算する経路である。演算器ALU
3(S0)の演算結果は、リミッタ38(S0)に入力
され、所定のリミッタ処理が施される。このリミッタ3
8(S0)は図6のオーバーフロー・アンダーフローコ
ントローラ38によるリミッタ機能に対応している。
【0134】(2)ステップS1におけるDSP3の動
作 ステップS1では、ノイズフォルマントの帯域幅を制御
するために、相関ノイズ信号の変化許容範囲の下限を求
める演算を、演算器ALU3(図6)を用いて行う。図
11(a),(b)に示すように、ステップS1では、
演算器ALU3のA入力としてノイズの帯域幅を指定す
るパラメータNBWに従うデータが入力され、演算器A
LU3のB入力として相関ノイズ信号BWRが入力され
る状態に設定される。
【0135】詳しくは、図6において、セレクタ30で
は、パラメータNBWに従うデータを選択する状態とさ
れ、該データが、遅延回路33を介して演算器ALU3
のA入力に入力される。また、RAM3からは対応する
チャンネルの相関ノイズ信号BWRの記憶領域から該相
関ノイズ信号BWRが読み出され、これが出力データ#
RAM3としてセレクタ31に入力される。該セレクタ
31では、RAM3からの出力データ#RAM3を選択
する状態に設定され、該相関ノイズ信号BWRを選択す
る。このとき、符号付加データ+/−として負符号−を
付加するデータが与えられ、前記相関ノイズ信号BWR
に負符号−を付加したデータがゲート回路34及び遅延
回路35を介して演算器ALU3のB入力に入力され
る。従って、演算器ALU3では、パラメータNBWに
従うデータから、前回のサイクルで求められた相関ノイ
ズ信号BWRを、減算する。これにより、前回のサイク
ルで求められた相関ノイズ信号BWRとノイズ帯域幅指
定値NBWとの差が求められ、相関ノイズ信号BWRの
変化許容範囲の下限値が負符号を付して算出される。実
際の相関ノイズ信号BWRの変化許容範囲の下限値は正
符号からなるものであるが、演算処理の都合上、このス
テップS1ではとりあえず負符号で上記差を求め、追っ
て正符号に変換するようにしている。
【0136】このようにして、ステップS1では、相関
ノイズ信号の変化許容範囲のうちの下限を求める演算が
行われる。この演算結果は、各遅延回路33,35,3
7及びオーバーフロー・アンダーフローコントローラ3
8及びシフタ39を経て、通算2クロックの遅延のの
ち、後述するステップS3のタイミングでレジスタRE
G3に書き込まれるとともに、遅延回路40でさらに1
クロック遅延されて、後述するステップS4のタイミン
グでRAM3の当該チャンネルの記憶領域TmpMに一
時記憶される(図11(d)及び(f)参照)。ステッ
プS1でも、オーバーフロー・アンダーフローコントロ
ーラ(OF/UF)38はリミッタとして機能し、シフ
タ39はシフト動作を行わずに入力データをそのまま通
過する。
【0137】図12の演算機能展開図では、ステップS
1での処理に対応するのは、演算器ALU3(S1)に
おいて、パラメータNRWに従って係数テーブルTB2
(S1)から読み出される係数データを、インバータI
NV1(S1)で正負符号反転された前回の相関ノイズ
信号BWRに加算する経路である。演算器ALU3(S
1)の演算結果は、リミッタ38(S1)に入力され、
所定のリミッタ処理が施される。インバータINV1
(S1)は符号付加データ+/−によって負符号−を付
加する機能に対応している。また、インバータINV1
(S1)の入力側のシフトレジスタ(S/R)として機
能するRAM3(S20)は、RAM3からデータ#R
AM3として前回の相関ノイズ信号BWRを供給する機
能に対応している。
【0138】(3)ステップS2におけるDSP3の動
作 ステップS2では、ノイズフォルマントの帯域幅を制御
するために、相関ノイズ信号の変化許容範囲の上限を求
める演算を、演算器ALU3(図6)を用いて行う。図
11(a),(b)に示すように、ステップS2では、
ステップS1と同様に、演算器ALU3のA入力として
ノイズの帯域幅を指定するパラメータNBWに従うデー
タが入力され、演算器ALU3のB入力として相関ノイ
ズ信号BWRが入力される状態に設定される。ステップ
S2の処理が、ステップS1と相違する点は、セレクタ
31の出力データに対して符号付加データ+/−として
正符号+を付加する処理が行われる点である。これによ
り、演算器ALU3ではパラメータNBWに従うデータ
を前回のサイクルで求められた相関ノイズ信号BWRに
加算し、相関ノイズ信号BWRの変化許容範囲の上限値
が正符号を付して算出される。
【0139】図12の演算機能展開図では、ステップS
2の処理に対応するのは、演算器ALU3(S2)にお
いて、パラメータNRWに従って係数テーブルTB2
(S1)から読み出される係数データを、シフトレジス
タRAM3(S20)から出力される前回の相関ノイズ
信号BWRに加算し、これをリミッタ38(S2)で処
理する経路である。
【0140】(4)ステップS3におけるDSP3の動
作 ステップS3では、後のステップS5との組合せによっ
て、ホワイトノイズ信号WNに対してローパスフィルタ
演算処理を施すことにより、ローパスノイズ信号LPF
を求める。図11(a),(b)に示すように、ステッ
プS3では、演算器ALU3のA入力としてホワイトノ
イズ信号WNが入力され、演算器ALU3のB入力とし
てローパスノイズ信号LPFが入力される状態に設定さ
れる。
【0141】詳しくは、図6において、セレクタ30で
は、ホワイトノイズ発生器32から出力されたホワイト
ノイズ信号WNを選択する状態とされ、該信号WNが、
遅延回路33を介して演算器ALU3のA入力に入力さ
れる。また、RAM3からは対応するチャンネルのロー
パスノイズ信号LPFの記憶領域からローパスノイズ信
号LPFが読み出され、これが出力データ#RAM3と
してセレクタ31に入力される。該セレクタ31では、
RAM3からの出力データ#RAM3を選択する状態に
設定され、該ローパスノイズ信号LPFを選択する。こ
のとき、符号付加データ+/−として負符号−を付加す
るデータが与えられ、前記ローパスノイズ信号に負符号
−を付加したデータがゲート回路34及び遅延回路35
を介して演算器ALU3のB入力に入力される。
【0142】従って、演算器ALU3では、ホワイトノ
イズ信号WNから、前回のサンプリングサイクルで求め
られたローパスノイズ信号LPFを、減算する。この減
算結果は、各遅延回路33,35,37及びオーバーフ
ロー・アンダーフローコントローラ38及びシフタ39
を経て、通算2クロックの遅延ののち、ステップS5に
おいてデータ#3として出力される。オーバーフロー・
アンダーフローコントローラ(OF/UF)38はステ
ップS3ではリミッタとして機能する。また、シフタ3
9は、ステップS3では、ノイズスペクトルの広がり形
状を指定するパラメータNSKTに基づきシフトダウン
処理を行う。パラメータNSKTがローパスフィルタ係
数に相当し、このシフトダウン処理が係数乗算処理に相
当する。
【0143】図12の演算機能展開図では、ステップS
3の処理に対応するのは、ホワイトノイズ発生器32
(S3)からのホワイトノイズ信号WNを、演算器AL
U3(S3)で、インバータINV2(S3)で正負符
号反転された1サンプル前のローパスノイズ信号LPF
に加算する経路である。演算器ALU3(S3)の演算
結果は、リミッタ38(S3)に入力され、所定のリミ
ッタ処理が施される。また、インバータINV1(S
3)の入力側のシフトレジスタ(S/R)として機能す
るRAM3(S5)は、RAM3からデータ#RAM3
として前サンプルのローパスノイズ信号LPFを供給す
る機能に対応している。
【0144】(5)ステップS4におけるDSP3の動
作 ステップS4では、ノイズフォルマントの帯域幅を制御
するために、相関ノイズ信号の変化許容幅を求める演算
を、演算器ALU3(図6)を用いて行う。図11
(a),(b)に示すように、ステップS4では、演算
器ALU3のA入力としてデータ#3が入力され、演算
器ALU3のB入力としてデータ#REG3が入力され
る状態に設定される。
【0145】詳しくは、図6において、セレクタ30に
は、データ#3として、ステップS2の演算結果データ
(相関ノイズ信号BWRの変化許容範囲の上限値)が入
力され、これがセレクタ30で選択され、遅延回路33
を介して演算器ALU3のA入力に入力される。一方、
セレクタ31には、データ#REG3として、ステップ
S1の演算結果データ(相関ノイズ信号BWRの変化許
容範囲の下限値に負符号を付加した値)が入力され、こ
れがセレクタ31で選択される。負符号が付加された相
関ノイズ信号BWRの変化許容範囲の下限値は、ゲート
回路34及び遅延回路35を介して演算器ALU3のB
入力に入力される。従って、相関ノイズ信号BWRの変
化許容範囲の上限絶対値から、変化許容範囲の下限絶対
値が、演算器ALU3で減算される。これにより、相関
ノイズ信号BWRの上限値と下限値との間の変化許容幅
が求められる。
【0146】このようにして、ステップS4では、相関
ノイズ信号BWRの変化許容幅を求める演算が行われ
る。この演算結果は、各遅延回路33,35,37によ
る通算2クロックの遅延ののち、シフタ39で1ビット
シフトダウンされ、後述するステップS6のタイミング
でレジスタREG3に書き込まれる(図9(d)参
照)。図12の演算機能展開図では、ステップS4の処
理に対応するのは、演算器ALU3(S4)の部分であ
る。
【0147】(6)ステップS5におけるDSP3の動
作 図11(a),(b)に示すように、ステップS5で
は、演算器ALU3のA入力としてデータ#3が入力さ
れ、演算器ALU3のB入力としてローパスノイズ信号
LPFが入力される状態に設定される。詳しくは、図6
において、セレクタ30には、データ#3として、ステ
ップS3の演算結果データ(入力ホワイトノイズ信号W
Nから前サンプルのローパスノイズ信号LPFを減算し
た後、パラメータNSKTに応じた係数演算処理を施し
た値)が入力され、これがセレクタ30で選択され、遅
延回路33を介して演算器ALU3のA入力に入力され
る。一方、セレクタ31には、RAM3からの出力デー
タ#RAM3として、当該チャンネルのローパスノイズ
信号LPFの記憶領域から読み出した前サンプルのロー
パスノイズ信号LPFが入力され、これがセレクタ31
で選択され、正の符号を付加された後アンドゲート回路
34及び遅延回路35を介して演算器ALU3のB入力
に入力される。
【0148】従って、演算器ALU3では係数演算処理
済みのデータが前サンプルのローパスノイズ信号LPF
に加算される。この加算結果は、各遅延回路33,3
5,37及びオーバーフロー・アンダーフローコントロ
ーラ38,シフタ39を経て通算2クロックの遅延のの
ち、遅延回路40でさらに1クロック遅延されて、後述
するステップS8のタイミングでRAM3の当該チャン
ネルのローパスノイズ信号LPFの記憶領域に記憶され
る。こうして、ステップS3とS5の処理の組合せで、
ホワイトノイズ信号WNに対してローパスフィルタ演算
処理が施され、得られるローパスフィルタ出力つまりロ
ーパスノイズ信号LPFがRAM3にストアされる。こ
の場合、RAM3は、ローパスノイズ信号LPFを1サ
ンプル時間遅延する機能、つまり図12のシフトレジス
タRAM3(S5)の機能を果たす。図12の演算機能
展開図では、ステップS5の処理に対応するのは、演算
器ALU3(S5)とシフトレジスタRAM3(S5)
の部分である。
【0149】(7)ステップS6〜S17におけるDS
P3の動作 ステップS6〜S17では、ステップS4で求めた相関
ノイズ信号BWRの変化許容幅データを、ステップS2
のときにレジスタAREGにストアされたローパスノイ
ズ信号LPF(以下では、12ビットのデータであると
する)によってスケーリングするために、該変化許容幅
とローパスノイズ信号LPFとをシリアル演算によって
乗算する処理を行う。前述の通りステップS0で処理さ
れたローパスノイズ信号LPFがステップS2のときに
レジスタAREGにストアされ、これが並直列変換器3
7で並列/直列変換されて、12ビット直列のシリアル
ローパスノイズ信号SLPFとして、ステップ6からス
テップS17までの12クロックの間で順次下位ビット
からシリアル出力される。
【0150】まず、ステップS6では、図11(a),
(b)に示すように、演算器ALU3の「A」入力には
何も入力されず、演算器ALU3のB入力として部分積
データ#REG3・SLPFが入力される状態に設定さ
れる。詳しくは、図6において、セレクタ31には、デ
ータ#REG3として、ステップS4の演算結果データ
(すなわち相関ノイズ信号BWRの変化許容幅を示すデ
ータ、以下単に「変化許容幅データ」と呼ぶ)が入力さ
れ、これがセレクタ31で選択され、正の符号を付加さ
れた後ゲート回路34に入力される。ゲート回路34の
制御入力には、並直列変換器37からシリアルローパス
ノイズ信号SLPFの最初の1ビット(該ローパスノイ
ズ信号LPFの最下位ビットの値)を示す信号が与えら
れる。したがって、ゲート回路34からは、該SLPF
のビットが「0」の場合には部分積出力データとしてオ
ール「0」を出力し、該SLPFのビットが「1」の場
合にはデータ#REG3の値をそのまま出力する。これ
により、上記変化許容幅データと上記ローパスノイズ信
号LPFの最下位ビットの値との部分積を求める乗算が
行なわれる。この乗算結果は、遅延回路35を介して演
算器ALU3のB入力に入力される。
【0151】演算器ALU3は、シリアル乗算によって
求めた部分積を加算するために機能する。最初の2ステ
ップつまり、ステップS6とS7では、演算器ALU3
のA入力にはデータが入力されず、演算器ALU3のB
入力に与えられられた部分積データがそのまま通過す
る。これは、部分積データが遅延回路35,37によっ
て通算2クロック遅延されるからである。従って、この
ステップS6では、上記部分積データが、演算器ALU
3からそのまま出力され、各遅延回路35,37による
通算2クロックの遅延ののち、オーバーフロー・アンダ
ーフローコントローラ38を経由し、シフタ39で2ビ
ットシフトダウンされ、後述するステップS8のタイミ
ングでデータ#3として出力される(図11(c)参
照)。ステップS8以降では、このデータ#3がセレク
タ30で選択されて演算器ALU3のA入力に与えられ
る。演算器ALU3の出力をシフタ39で2ビットシフ
トダウンする理由は、2ビット上位の部分積演算結果
(つまり演算器ALU3のB入力)に加算するので、デ
ータの重みを合わせるためである。
【0152】次のステップS7では、変化許容幅データ
#REG3とシリアルローパスノイズ信号SLPFの下
位から2ビット目のデータとの乗算がゲート回路34で
行われる。その乗算結果が2クロック遅れで、かつ2ビ
ットシフトダウンされて、ステップS9のときにデータ
#3として出力される(図11(c)参照)。
【0153】ステップS8では、変化許容幅データ#R
EG3とシリアルローパスノイズ信号SLPFの下位か
ら3ビット目のデータとの乗算がゲート回路34で行わ
れる。このステップS8からステップS18の間では、
図11(a)に示すように、シフタ39の出力データ#
3がセレクタ30で選択されて演算器ALU3のA入力
に与えられるようになる。従って、SLPFの最下位ビ
ットに関する部分積(演算器ALU3のA入力)と、S
LPFの下位から3ビット目に関する部分積(演算器A
LU3のB入力)とが、演算器ALU3で加算され、部
分積和が求められる。演算器ALU3から出力される部
分積和は、各遅延回路33,35,37による通算2ク
ロックの遅延ののち、オーバーフロー・アンダーフロー
コントローラ38を経由し、シフタ39で2ビットシフ
トダウンされ、後述するステップS10のタイミングで
データ#3として出力される(図11(c)参照)。
【0154】ステップS9では、変化許容幅データ#R
EG3とシリアルローパスノイズ信号SLPFの下位か
ら4ビット目のデータとの乗算がゲート回路34で行わ
れる。このとき、SLPFの下位から2ビット目に関す
る部分積に対応するデータ#3がセレクタ30で選択さ
れて演算器ALU3のA入力に与えられるようになる。
従って、SLPFの下位から2ビット目に関する部分積
(演算器ALU3のA入力)と、SLPFの下位から4
ビット目に関する部分積(演算器ALU3のB入力)と
が、演算器ALU3で加算され、部分積和が求められ
る。演算器ALU3から出力される部分積和は、各遅延
回路33,35,37による通算2クロックの遅延のの
ち、オーバーフロー・アンダーフローコントローラ38
を経由し、シフタ39で2ビットシフトダウンされ、後
述するステップS11のタイミングでデータ#3として
出力される(図11(c)参照)。
【0155】以下、同様にして、ステップS10,S1
2,S14,S16で、信号SLPFの下位から奇数ビ
ット目に関する部分積が順次求められるともに、それま
でに求められた該奇数ビット目に関する部分積同士の和
が求められる。ステップS16の処理によって求められ
た該奇数ビット目に関する部分積同士の総和は、通算2
クロック遅れでステップS18のタイミングでデータ#
3としてシフタ39から出力される(図11(c)参
照)。また、同様にして、ステップS11,S13,S
15,S17で、信号SLPFの下位から偶数ビット目
に関する部分積が順次求められるともに、それまでに求
められた該偶数ビット目に関する部分積同士の和が求め
られる。ステップS17の処理によって求められた該偶
数ビット目に関する部分積同士の総和は、通算2クロッ
ク遅れでステップS19のタイミングでシフタ39から
出力され、レジスタREG3に書き込まれる(図11
(c)参照)。
【0156】以上によって、変化許容幅データとローパ
スノイズ信号LPFとがシリアル乗算されることによ
り、相関ノイズ信号BWRの変化許容幅データを、ラン
ダムに変化するローパスノイズ信号LPFによってスケ
ーリングするための乗算が行われる。ただし、ステップ
S17までの処理では、奇数ビット目に関する部分積同
士の総和と偶数ビット目に関する部分積同士の総和とが
別々に求められており、最終的なスケーリング結果(乗
算結果)を得るためには、両者を更に加算する必要があ
る。なお、ステップS6〜S17の処理は図12では乗
算器ALU3(S6〜S17)の部分に対応する。
【0157】(8)ステップS18〜S20におけるD
SP3の動作 図11(a),(b)に示すように、ステップS18で
は、演算器ALU3のA入力としてデータ#3が入力さ
れ、演算器ALU3のB入力としてRAM3の一時記憶
領域データTmpMが入力される状態に設定される。
【0158】詳しくは、図6において、セレクタ30に
は、データ#3として、上述のステップS16の演算結
果(すなわち奇数ビット目に関する部分積同士の総和)
が入力され、これがセレクタ30で選択され、遅延回路
33を介して演算器ALU3のA入力に入力される。ま
た、RAM3からは当該チャンネルの一時記憶領域Tm
pMの記憶データ(すなわち、ステップS4において領
域TmpMに取り込んだ、ステップS1の演算結果であ
る相関ノイズ信号BWRの下限値に負符号を付加した
値)が読み出され、データ#RAM3として出力され
る。セレクタ31では、このRAM3から読み出したデ
ータ#RAM3つまり「相関ノイズ信号BWRの下限値
に負符号を付加した値」を選択する。このセレクタ31
の出力データは、正負符号データ+/−として正符号+
が付加され(つまり負符号を正符号に反転する)、ゲー
ト回路34及び遅延回路35を介して演算器ALU3の
B入力に入力される。
【0159】従って、演算器ALU3において、「相関
ノイズ信号BWRの下限値(正符号付き)」(B入力)
に対して、「相関ノイズ信号BWRの変化許容幅データ
をローパスノイズ信号LPFによってスケーリングした
値の一部の値(奇数ビット目に関する部分積同士の総
和;A入力)が加算される。この加算結果は、通算2ク
ロック遅れでステップS20のタイミングでシフタ39
から出力され、データ#3としてセレクタ30に入力さ
れる。次のステップS19では、前述の通り、ステップ
S17の処理によって求められた偶数ビット目に関する
部分積同士の総和が、通算2クロック遅れで、シフタ3
9から出力され、レジスタREG3に書き込まれる(図
11(c)参照)。
【0160】次のステップS20では、図11(a),
(b)に示すように、演算器ALU3のA入力としてデ
ータ#3が入力され、演算器ALU3のB入力としてデ
ータ#REG3が入力される状態に設定される。すなわ
ち、図6において、セレクタ30ではデータ#3を選択
し、上記ステップS18の演算結果が、演算器ALU3
のA入力に入力される。また、セレクタ31では、レジ
スタREG3の出力データ#REG3を選択し、上記ス
テップS17の処理によって求められた偶数ビット目に
関する部分積同士の総和が、演算器ALU3のB入力に
入力される。従って、ステップS20では、演算器AL
U3において、「相関ノイズ信号BWRの下限値(正符
号付き)」に対して「相関ノイズ信号BWRの変化許容
幅データをローパスノイズ信号LPFによってスケーリ
ングした値の一部の値(奇数ビット目に関する部分積同
士の総和)を加算した値(A入力)に対して、「相関ノ
イズ信号BWRの変化許容幅データをローパスノイズ信
号LPFによってスケーリングした値の残りの値(偶数
ビット目に関する部分積同士の総和;B入力)が、加算
される。こうして、「相関ノイズ信号BWRの変化許容
幅データをローパスノイズ信号LPFによってスケーリ
ングした値」が「相関ノイズ信号BWRの下限値」に加
算され、新たな「相関ノイズ信号BWR」が得られる。
演算器ALU3から出力される「相関ノイズ信号BW
R」は、遅延回路33,35,37,40による通算3
クロック遅れで次のチャンネルのためのステップS2の
タイミングで、RAM3の対応するチャンネルの「相関
ノイズ信号BWR」の記憶領域に書き込まれる。
【0161】以上のようして作成されてRAM3に書き
込まれた相関ノイズ信号BWRは、次のサイクルにおけ
る対応するチャンネルに関するDSP3の上記ステップ
S1,S2で読み出されて、更新のために利用される。
また、RAM3に書き込まれた相関ノイズ信号BWR
は、他のDSP4におけるノイズフォルマント音合成演
算で利用されるために、所定のタイミングで該DSP3
のRAM3から読み出され、遅延回路41を経てリニア
−ログ変換器42で対数値に変換された後、遅延回路4
3を経てデータ#RAM3LとしてバスDBUSに送出
され、DSP4に与えられる。
【0162】以上のステップS18〜S20の演算処理
を図12に沿って示すと、加算器ALU3(S4)の出
力(すなわち「相関ノイズ信号BWRの下限値(負符号
付き)」をインバータINV3(S18)で正符号付き
に戻し、これを演算器ALU3(S18,20)で乗算
器MULT(S6〜17)の出力に加算し、シフトレジ
スタ(S/R)として機能するRAM3(S20)にス
トアするようにした経路に対応している。シフトレジス
タ(S/R)として機能するRAM3(S20)から次
のサンプリングサイクルで読み出された相関ノイズ信号
BWRは、リニア−ログ変換器42で対数値に変換され
て外部(データバスDBUS)に出力されると共に、自
己のデータ更新のためにDSP3の内部で利用される。
【0163】尚、上述したような、ノイズフォルマント
制御用の各パラメータNRES,NSKT,NBW等を
使用して、ノイズフォルマントのスカート部分と帯域幅
とを独立に制御できるようにしたノイズフォルマント音
合成方式の具体例については例えば特開平4−3465
02号公報において本出願人が既に開示している方式を
基本的には使用することができるので、該方式それ自体
の詳細は必要に応じて同公報を参照されたい。
【0164】−DSP4によるフォルマント音合成に関
連する動作例− 次に、図13を参照して、図7のDSP4のマイクロプ
ログラムの各ステップ毎の動作例について説明する。D
SP4のマイクロプログラムの1サイクルもステップS
0〜S20の21ステップから成り、1ステップがシス
テムクロックの1周期に対応する。この1サイクルも図
8の1チャンネルタイミングに対応しており、各チャン
ネル毎のプログラムサイクルが図8のように18チャン
ネル時分割で実行される。図13において、(a)は図
7の演算器ALU4の「A」入力に入力する状態に設定
されるデータを示し、(b)は図7の演算器ALU4の
「B」入力に入力する状態に設定されるデータを示し、
(c)は図7のオーバーフロー/アンダーフローコント
ローラ(OF/UF)56から出力されるデータ#4の
内容を示し、(d)は図7のレジスタREG4に書込み
入力されるデータの内容を示し、(e)は図7のRAM
4に書き込まれるデータ入力の内容を示す。図14は、
図7に示されたハードウェア構成からなるDSP4にお
ける波形合成演算処理(但しディジタルミキサーALU
1&RAM1(S11,S12,S19,S20)のみ
はDSP1での動作になる)を示す演算機能展開ブロッ
ク図であり、図10,図12と同様、実際のハードウェ
ア回路構成を示す図ではない。
【0165】(1)ステップS0におけるDSP4の動
作 ステップS0では、1系列目のフォルマント音波形を生
成するために周期関数波形を作成する演算の一過程を実
行する。図13(a),(b)に示すように、ステップ
S0では、演算器ALU4のA入力として1系列目の中
心周波数位相データPGf1が入力され、演算器ALU
4のB入力には何も入力されない状態に設定される。
【0166】詳しくは、所定のタイミングでDSP1の
RAM1から当該チャンネルの1系列目の中心周波数位
相データPGf1が読み出され、該読み出されたデータ
PGf1がデータ#RAM1として、図5のDSP1か
らデータバスDBUSに送出され、該データバスDBU
Sを経由して図7のDSP4に入力され、リズム音発生
器52に入力される。リズム音発生器52では、リズム
音生成オン/オフパラメータRHYに従い、リズム音
(つまり打楽器音)を生成するモードのときは該位相デ
ータPGf1の位相を乱して出力し、そうでないときは
該位相データPGf1の位相を乱さずにそのまま出力す
る。リズム音発生器52で制御された位相データPGf
1は、セレクタ50に入力される。ステップS0の処理
では、セレクタ50では、このリズム音発生器52の出
力データを選択する状態に設定される。一方、セレクタ
51では、いずれのデータも選択されない。
【0167】従って、リズム音生成オン/オフパラメー
タRHYに従って位相を乱すか又は乱さない制御がなさ
れた1系列目の中心周波数位相データPGf1が、遅延
回路53を経て演算器ALU4をそのまま通過し、遅延
回路55及びオーバーフロー/アンダーフローコントロ
ーラ56を経由し、それからウェーブシェイプシフタ6
0,遅延回路61,ログsinテーブル62及び遅延回
路63を経由してセレクタ64の「β」入力側に与えら
れる。すなわち、このステップS0での処理に対応し
て、セレクタ64では「β」入力が選択される。したが
って、ステップS0での処理により上記のように演算処
理されてオーバーフロー/アンダーフローコントローラ
(OF/UF)56を経由した上記位相データPGf1
が、ウェーブシェイプシフタ60,遅延回路61,ログ
sinテーブル62及び遅延回路63を経由してセレク
タ64の「β」入力に至る経路で処理され、該セレクタ
64で選択されて出力される。
【0168】ウェーブシェイプシフタ60では、基本波
形選択指定パラメータWF1に従い、上記位相データP
Gf1の位相値をシフトしたり、特定区間だけ該位相値
をゼロにしたりする位相操作処理を行なう。これによっ
て位相データPGf1の時間対位相値の変化特性をがら
りと変えて、該変更された位相データに基づき後述のよ
うにログsinテーブル62から読み出される波形デー
タの基本的波形形状を単純なサイン波から複雑な波形ま
で任意に変更する。すなわち、位相データが時間に対し
て単純にリニアに変化すれば、単純なサイン波が読み出
されるが、断続的に変化する等の特殊な変化を示せば特
殊な経時用の波形が読み出されることになる。ログsi
nテーブル62では、ウェーブシェイプシフタ60で処
理された位相データを入力してこの位相値に対応する対
数表現のサイン波形振幅値データを読み出す。こうし
て、フォルマント中心周波数の位相データに対応する周
期関数波形データが対数値にて出力される。セレクタ6
4から出力された対数値の波形データは、シフト/ログ
−リニア変換器65をそのまま通過し、上記各遅延回路
53,55,61,63による通算4クロックの遅延の
のち、後述するステップS4のタイミングで、レジスタ
REG4に書き込まれる(図13(d)参照)。
【0169】ステップS0に対応する演算機能展開図
は、図14では、ノイズ付与器52(S0,S10)か
ら始まる経路に示されており、ノイズ付与器52(S
0,S10)がリズム音発生器52(図7)に対応し、
演算器ALU4(S0,S10)が演算器ALU4(図
7)に対応し、シフト・リニア−ログsin変換器60
&62(S0,S10)がウェーブシェイプシフタ60
及びログsinテーブル62(図7)に対応している。
DSP1からの中心周波数位相データPGf1が、パラ
メータRHYに従いノイズ付与器52(S0,S10)
で位相を乱す/乱さないの制御がされた後、演算器AL
U4(S0,S10)をそのまま通過し、シフト・リニ
ア−ログsin変換器60&62(S0,S10)で、
パラメータWF1に従う上述の処理を施され、最終的
に、制御された位相データPGf1に応じて対数表現の
sin波形データが読み出される。
【0170】(2)ステップS2におけるDSP4の動
作 ステップS1における動作は、ひとつ前のチャンネルか
らの続きの動作なので、ステップS20における動作の
説明の後に説明を行なうことにする。ステップS2で
は、1系列目のフォルマント音波形を生成するために窓
関数波形を作成する演算を実行する。図13(a),
(b)に示すように、ステップS2では、演算器ALU
4のA入力として1系列目の窓関数波形位相データPG
w1が入力され、演算器ALU4のB入力には何も入力
されない状態に設定される。
【0171】詳しくは、所定のタイミングでDSP1の
RAM1から当該チャンネルの1系列目の窓関数波形位
相データPGw1が読み出され、該データPGw1がデ
ータ#RAM1として、図5のDSP1からデータバス
DBUSに送出され、該データバスDBUSを経由して
図7のDSP4に入力され、リズム音発生器52に入力
される。この場合、リズム音生成オン/オフパラメータ
RHYは、オフであり、窓関数波形位相データPGw1
はリズム音発生器52で何の変更も施されずにそのまま
セレクタ50に入力される。セレクタ50では、このデ
ータ#RAM1つまりデータPGw1を選択する状態に
設定される。一方、セレクタ51では、いずれのデータ
も選択されない。従って、窓関数波形位相データPGw
1が、遅延回路53を経て演算器ALU4をそのまま通
過し、遅延回路55及びオーバーフロー/アンダーフロ
ーコントローラ(OF/UF)56を経由し、それから
ウェーブシェイプシフタ60,遅延回路61,ログsi
nテーブル62及び遅延回路63を経由してセレクタ6
4の「β」入力側に与えられる。
【0172】すなわち、このステップS2での処理に対
応して、セレクタ64で「β」入力が選択される。した
がって、上記位相データPGw1が、ウェーブシェイプ
シフタ60,遅延回路61,ログsinテーブル62及
び遅延回路63を経由してセレクタ64から出力され
る。ステップS2に対応する処理では、ウェーブシェイ
プシフタ60では、窓関数波形位相データPGw1の1
サイクルに対応してログsinテーブル62からサイン
波形の前半の一山(つまり半波)を窓関数波形として出
力させるようにするために、該窓関数波形位相データP
Gw1の位相値を1ビットシフトダウンする。ログsi
nテーブル62では、シフトダウンされた窓関数波形位
相データPGw1の位相値に対応するサイン波形振幅値
の対数値を読み出す。こうして1系列目の窓関数波形デ
ータが対数値で求められる。
【0173】一方、フォルマントのスカート特性指定パ
ラメータSKTがコントローラ66で1ビットシフトア
ップされ、これがシフト/ログ−リニア変換器65に入
力される。上述のようにセレクタ64から出力された1
系列目の窓関数波形の対数値データ「log sin(PG
w1)」は、シフト/ログ−リニア変換器65に入力さ
れ、上記スカート特性指定パラメータSKTを1ビット
シフトアップしたデータ(つまり2×SKT)に従い、
2×SKTビットだけシフトアップされる。すなわち、
「(2×SKT)・log sin(PGw1)」とされ、
これは真数で表現すればsin(PGw1)の2×SK
T乗の波形に変換されることを意味する。このことは、
サイン波形の半波として読み出された窓関数波形sin
(PGw1)が2のn乗の波形変換されて、すその(ス
カート部)にひろがりのある窓関数波形に変換されるこ
とを意味する。こうして得られるサイン波の2×SKT
乗の半波波形からなる窓関数波形の対数表現データは、
上記各遅延回路53,55,61,63による通算4ク
ロックの遅延ののち、後述するステップS6のタイミン
グで、レジスタREG4に書き込まれる(図13(d)
参照)。なお、このステップS2では、シフト/ログ−
リニア変換器65は、上記のようにシフタとして機能
し、ログ−リニア変換器としては機能しない。
【0174】ステップS2に対応する演算機能展開図
は、図14では、演算器ALU4(S2,S12)から
始まる経路に示されており、演算器ALU4(S2,S
12)が図7の演算器ALU4に対応し、シフト・リニ
ア−ログsin2乗変換器60&62(S2,S12)
が図7のウェーブシェイプシフタ60とログsinテー
ブル62に対応し、シフタ65(S2,S12)がシフ
ト/ログ−リニア変換器65に対応している。DSP1
からの中心周波数位相データPGf1が、演算器ALU
4(S2,S12)をそのまま通過し、シフト・リニア
−ログsin2乗変換器60&62(S2,S12)で
1ビットシフトダウンされ且つsin波形の対数値に変
換された後、パラメータSKTのデータに従いシフタ6
5(S2,S12)で所定ビットシフトアップされる。
【0175】(3)ステップS5におけるDSP4の動
作 ステップS5では、1系列目のフォルマント中心周波数
に対応する周期関数波形データの音量レベルを制御する
演算を実行する。図13(a),(b)に示すように、
ステップS5では、演算器ALU4のA入力として音量
レベルデータLVL1が入力され、演算器ALU4のB
入力としてデータ#REG4が入力される状態に設定さ
れる。
【0176】詳しくは、所定のタイミングでDSP2の
RAM2から当該チャンネルの対数表現の音量レベルデ
ータLVL1が読み出され(前述の通りこのデータLV
L1はエンベロープ波形が加味されている)、該データ
LVL1がデータバスDBUSに送出され、該データバ
スDBUSを介して図7のDSP4に取り込まれ、デー
タ#RAM2としてセレクタ50に入力される。ステッ
プS5では、セレクタ50では、データ#RAM2すな
わち音量レベルデータLVL1を選択する状態に設定さ
れる。一方、1系列目の中心周波数位相データPGf1
に基づいてステップS0で求めた周期関数波形の対数値
データが、4クロック遅れてステップS4でレジスタR
EG4に取り込まれた後、ステップS5にレジスタRE
G4からデータ#REG4として出力され、かつ、セレ
クタ51ではこのデータ#REG4を選択する状態に設
定される。
【0177】従って、上記フォルマント中心周波数の周
期関数波形の対数値と上記音量レベルデータLVL1
が、演算器ALU4で加算される。これにより、真数の
レベルでは、音量レベルデータLVL1を掛けることに
より該周期関数波形に音量エンベロープを付与する処理
を行なうことになる。この演算結果は、各遅延回路5
3,54,55による通算2クロックの遅延ののち、オ
ーバーフロー/アンダーフローコントローラ56を経
て、後述するステップS6のタイミングで、データ#4
として出力される(図13(c)参照)。ステップS5
に対応する演算機能展開図は、図14では、シフト・リ
ニア−ログsin2乗変換器60&62(S0,S1
0)からの周期関数波形の対数値と、DSP2からの対
数表現の音量レベルデータLVL1が、演算器ALU4
(S5,S15)で加算される経路に示されている。
【0178】(4)ステップS7におけるDSP4の動
作 ステップS7では、1系列目のフォルマント音波形を生
成するためにフォルマント中心周波数に対応する上記音
量エンベロープ制御済みの周期関数波形とピッチに対応
する上記窓関数波形を乗算する演算を実行する。図13
(a),(b)に示すように、ステップS7では、演算
器ALU4のA入力としてデータ#4が入力され、演算
器ALU4のB入力としてデータ#REG4が入力され
る状態に設定される。
【0179】詳しくは、ステップS5で処理した音量エ
ンベロープ制御済みのフォルマント中心周波数に対応す
る上記周期関数波形の対数値データが、2クロック遅れ
てステップS7でデータ#4として出力され、かつ、セ
レクタ50ではこのデータ#4を選択する状態に設定さ
れる。一方、1系列目の窓関数波形位相データPGw1
に基づいてステップS2で求めた窓関数波形の対数値デ
ータが、4クロック遅れてステップS6でレジスタRE
G4に取り込まれた後、ステップS7にレジスタREG
4からデータ#REG4として出力され、かつ、セレク
タ51ではこのデータ#REG4を選択する状態に設定
される。従って、上記周期関数波形の対数値と上記窓関
数波形の対数値が、演算器ALU4で加算される。これ
により、真数のレベルでは、フォルマント長身周波数に
対応する周期関数波形とピッチに対応する窓関数波形と
を乗算することにより、1系列目のフォルマント音波形
信号を合成する振幅変調演算処理を行なったことにな
る。
【0180】このステップS7の処理に対応して、セレ
クタ64では「α」入力が選択される。したがって、上
記振幅変調演算結果たる演算器ALU4の出力データ
(対数値)は、遅延回路55及びオーバーフロー/アン
ダーフローコントローラ56を経由した後、遅延回路5
7を経てログ−リニア変換器58で真数に変換され、遅
延回路59を経てセレクタ64から出力される。セレク
タ64から出力された上記振幅変調演算結果たる真数デ
ータは、シフト/ログ−リニア変換器65をそのまま通
過し、遅延回路67を経由してRAM4に入力される。
従って、上記振幅変調演算結果たる真数データすなわち
合成された1系列目のフォルマント音の波形データは、
上記各遅延回路53,54,55,57,59,67に
よる通算5クロックの遅延ののち、後述するステップS
12のタイミングで、RAM4の当該チャンネルの1系
列目のフォルマント音波形データTR1の記憶領域に書
き込まれる(図13(e)参照)。
【0181】1系列目のフォルマント中心周波数位相デ
ータPGf1に基づく1系列目の周期関数波形の一例を
示すと、図18(a)のようになり、1系列目の窓関数
波形位相データPGw1に基づく1系列目の窓関数波形
の一例を示すと、図18(c)のようになり、これらを
乗算して生成される1系列目のフォルマント音波形の一
例を示すと、図18(e)のようになる。この1系列目
のフォルマント音波形のピッチは、ピッチ周波数ナンバ
ーデータに従う正規のピッチ(f0)の1/2(周期で
は2倍)である。なお、図18(c),(d)の窓関数
波形において、各窓波形の間のレベル0の区間は、図1
7(e),(f)の位相データPGw1,PGw2にお
ける最大位相値の平坦部に対応している。
【0182】ステップS7に対応する演算機能展開図
は、図14では、演算器ALU4(S7,S17)から
始まる経路に示されており、演算器ALU4(S7,S
17)が図7の演算器ALU4に対応し、リミッタ56
(S7,S17)が図7のオーバーフロー/アンダーフ
ローコントローラ56に対応し、ログ−リニア変換器5
8(S7,S17)が図7のログ−リニア変換器58に
対応し、レジスタRAM4(S7)が図7のRAM4に
対応している。ゲートG1は、フォルマント音合成モー
ドのときのみその経路が可能化されることを示してい
る。演算器ALU4(S5,S15)からの周期関数波
形の対数値と、フォルマント音合成モードのときにゲー
トG1を経由してシフタ65(S2,S12)から与え
られる窓関数波形の対数値とが、演算器ALU4(S
7,S17)で加算された後、リミッタ56(S7,S
17)を経由し、ログ−リニア変換器58(S7,S1
7)で真数に変換されて、レジスタRAM4(S7)に
記録される。
【0183】(5)ステップS10におけるDSP4の
動作 ステップS10では、ステップS0と同様にして、2系
列目のフォルマント音波形を生成するために周期関数波
形を作成する演算の一過程を実行する。ステップS0と
異なる点は、DSP1のRAM1(図5)から当該チャ
ンネルの2系列目の中心周波数位相データPGf2が読
み出され、該データPGf2が、データ#RAM1とし
てリズム音発生器52を経てセレクタ50で選択される
点である。この2系列目の中心周波数位相データPGf
2も、前記1系列目のデータPGf1と同様に、遅延回
路53,演算器ALU4,遅延回路55,オーバーフロ
ーコントローラ56,ウェーブシェイプシフタ60,遅
延回路61,ログsinテーブル62,遅延回路63,
セレクタ64,シフト/ログ−リニア変換器65を経由
して、前述と同様に処理される(ただし、ウェーブシェ
イプシフタ60では、2系列目用の基本波形選択指定パ
ラメータWF2に従った位相操作処理が施される)。そ
して、通算4クロックの遅延ののち、後述するステップ
S14のタイミングで、レジスタREG4に書き込まれ
る(図13(d)参照)。ステップS10に対応する演
算機能展開図は、図14では、前述のノイズ付与器52
(S0,S10)から始まる経路に示されている。
【0184】(6)ステップS12におけるDSP4の
動作 ステップS12では、ステップS2と同様にして、2系
列目のフォルマント音波形を生成するために窓関数波形
を作成する演算を実行する。ステップS2と異なる点
は、DSP1のRAM1(図5)から当該チャンネルの
2系列目の窓関数波形位相データPGw2が読み出さ
れ、該データPGw2が、リズム音発生器52を経てセ
レクタ50で選択される点である。この2系列目の窓関
数波形位相データPGw2も、前記1系列目のデータP
Gw1と同様に、遅延回路53,演算器ALU4,遅延
回路55,オーバーフローコントローラ56,ウェーブ
シェイプシフタ60,遅延回路61,ログsinテーブ
ル62,遅延回路63,セレクタ64,シフト/ログ−
リニア変換器65を経由し、通算4クロックの遅延のの
ち、後述するステップS16のタイミングで、レジスタ
REG4に書き込まれる(図13(d)参照)。ステッ
プS12に対応する演算機能展開図は、図14では、前
述のノイズ付与器52(S2,S12)から始まる経路
に示されている。
【0185】(7)ステップS13におけるDSP4の
動作 ステップS13では、無声フォルマント音の中心周波数
に対応する周期関数波形を作成する演算を実行する。図
13(a),(b)に示すように、ステップS13で
は、演算器ALU4のA入力として無声フォルマント音
の中心周波数位相データPGuが入力され、演算器AL
U4のB入力には何も入力されない状態に設定される。
【0186】詳しくは、所定のタイミングでDSP1の
RAM1から当該チャンネルの位相データPGuが読み
出され、該位相データPGuがデータ#RAM1として
データバスDBUSに送出される(図5)。このデータ
#RAM1つまりPGuがデータバスDBUSからDS
P4(図7)に取り込まれ、リズム音発生器52をその
まま通過してセレクタ50に入力される。セレクタ50
では、このデータ#RAM1つまりPGuを選択する状
態に設定される。一方、セレクタ51では、いずれのデ
ータも選択されない。従って、無声フォルマント音の中
心周波数位相データPGuが、遅延回路53を経て演算
器ALU4をそのまま通過し、遅延回路55及びオーバ
ーフロー/アンダーフローコントローラ56を経由し、
それからウェーブシェイプシフタ60,遅延回路61,
ログsinテーブル62及び遅延回路63を経由してセ
レクタ64の「β」入力側に与えられる。
【0187】すなわち、このステップS13での処理に
対応して、セレクタ64では「β」入力が選択される。
したがって、ステップS13での処理により上記のよう
に演算処理されてオーバーフロー/アンダーフローコン
トローラ56を経由した上記位相データPGf1が、ウ
ェーブシェイプシフタ60,遅延回路61,ログsin
テーブル62及び遅延回路63を経由してセレクタ64
の「β」入力に至る経路で処理され、該セレクタ64で
選択されて出力される。こうして、無声フォルマント音
の中心周波数位相データPGuに対応する周期関数波形
の対数値データがログsinテーブル62から読み出さ
れる。セレクタ64から出力された対数値データは、シ
フト/ログ−リニア変換器65をそのまま通過し、上記
各遅延回路53,55,61,63による通算4クロッ
クの遅延ののち、後述するステップS17のタイミング
で、レジスタREG4に書き込まれる(図13(d)参
照)。
【0188】ステップS13に対応する演算機能展開図
は、図14では、ログsinテーブル62(S13)の
経路に示されており、DSP1から与えられる位相デー
タPGuの値に応じてログsinテーブル62(S1
3)でsin波形の対数値データが読み出される。尚、
マイクロコンピュータ部COM(図1)から与えられる
パラメータのうちフォルマント追従制御フラグURVF
が“1”の場合は、ノイズフォルマント音合成のための
中心周波数として無声フォルマント周波数UFORMを
使用せずに、フォルマント周波数FORMを使用するモ
ードを指示する。その場合は、DSP4の制御信号発生
部6では、供給された該フォルマント追従制御フラグU
RVFが“1”ならば、このステップS13の処理のた
めにDSP1のRAM1から読み出される中心周波数位
相データとして、上記無声フォルマント音の中心周波数
位相データPGuではなく、フォルマント音の中心周波
数位相データPGf1またはPGf2を読み出す。従っ
て、フォルマント追従制御フラグURVFが“1”の場
合は、このステップS13では、フォルマント音の中心
周波数位相データPGf1またはPGf2に応じて無声
フォルマント音合成用の中心周波数に対応する周期関数
波形データを作成する演算を行う。
【0189】(8)ステップS15におけるDSP4の
動作 ステップS15では、ステップS5と同様に、2系列目
のフォルマント中心周波数に対応する周期関数波形デー
タの音量レベルを制御する演算を実行する。図13
(a),(b)に示すように、ステップS15では、演
算器ALU4のA入力として音量レベルデータLVL2
が入力され、演算器ALU4のB入力としてデータ#R
EG4が入力される状態に設定される。
【0190】詳しくは、所定のタイミングでDSP2の
RAM2から当該チャンネルの対数表現の音量レベルデ
ータLVL2が読み出され(前述の通りこのデータLV
L2はエンベロープ波形が加味されている)、該データ
LVL2がデータバスDBUSに送出され、該データバ
スDBUSを介して図7のDSP4に取り込まれ、デー
タ#RAM2としてセレクタ50に入力される。ステッ
プS15では、セレクタ50で、データ#RAM2すな
わち音量レベルデータLVL2を選択する状態に設定さ
れる。一方、2系列目の中心周波数位相データPGf2
に基づいてステップS10で求めた周期関数波形の対数
値データが、4クロック遅れてステップS14でレジス
タREG4に取り込まれた後、ステップS15にレジス
タREG4からデータ#REG4として出力され、か
つ、セレクタ51ではこのデータ#REG4を選択する
状態に設定される。
【0191】従って、上記2系列目のフォルマント中心
周波数の周期関数波形の対数値と上記音量レベルデータ
LVL2が、演算器ALU4で加算される。これによ
り、真数のレベルでは、音量レベルデータLVL2を掛
けることにより該周期関数波形に音量エンベロープを付
与する処理を行なうことになる。この演算結果は、各遅
延回路53,54,55による通算2クロックの遅延の
のち、オーバーフロー/アンダーフローコントローラ5
6を経て、後述するステップS17のタイミングで、デ
ータ#4として出力される(図13(c)参照)。ステ
ップS15に対応する演算機能展開図は、ステップS5
と同様に、図14の演算器ALU4(S5,S15)を
通る経路に対応している。
【0192】(9)ステップS16におけるDSP4の
動作 ステップS16では、相関ノイズ信号BWRの音量レベ
ルを制御する演算を実行する。図13(a),(b)に
示すように、ステップS16では、演算器ALU4のA
入力としてノイズ用の音量レベルデータLVLuが入力
され、演算器ALU4のB入力として相関ノイズ信号B
WRが入力される状態に設定される。
【0193】詳しくは、所定のタイミングでDSP2の
RAM2から当該チャンネルの対数表現の音量レベルデ
ータLVLuが読み出され、該データLVLuがデータ
バスDBUSに送出され、該データバスDBUSを介し
て図7のDSP4に取り込まれ、データ#RAM2とし
てセレクタ50に入力される。ステップS16では、セ
レクタ50で、データ#RAM2すなわちノイズ用の音
量レベルデータLVLuを選択する状態に設定される。
一方、所定のタイミングでDSP3のRAM3から当該
チャンネルの相関ノイズ信号BWRが読み出され、これ
がリニア−ログ変換器42(図6)で対数値に変換さ
れ、遅延回路43(図6)で適宜遅延された後、データ
#RAM3LとしてデータバスDBUSに送出され、該
データバスDBUSを介して図7のDSP4に取り込ま
れ、セレクタ51に入力される。ステップS16では、
セレクタ51で、データ#RAM3Lすなわち当該チャ
ンネルの相関ノイズ信号BWRを選択する状態に設定さ
れる。
【0194】こうして、演算器ALU4では、対数表現
からなる相関ノイズ信号BWRに音量レベルデータLV
Luを加算する。これは、真数のレベルでは、音量レベ
ルデータLVLuを掛けることにより相関ノイズ信号B
WRに音量エンベロープを付与する処理を行なったこと
になる。演算器ALU4の出力は、遅延回路55で1ク
ロック分遅延され、オーバーフローコントローラ56を
経由し、図13(c)に示すように、ステップS18に
データ#4としてセレクタ50に入力される。ステップ
S16に対応する演算機能展開図は、図14では、DS
P3からの相関ノイズ信号BWRとDSP2からの音量
レベルデータLVLuが、演算器ALU4(S16)で
演算される経路に示されている。
【0195】(10)ステップS17におけるDSP4
の動作 ステップS17では、ステップS7と同様にして、2系
列目のフォルマント音波形を生成するためにフォルマン
ト中心周波数に対応する上記音量エンベロープ制御済み
の周期関数波形とピッチに対応する上記窓関数波形を乗
算する演算を実行する。図13(a),(b)に示すよ
うに、ステップS17では、演算器ALU4のA入力と
してデータ#4が入力され、演算器ALU4のB入力と
してデータ#REG4が入力される状態に設定される。
【0196】詳しくは、ステップS15で処理した2系
列目用の音量エンベロープ制御済みのフォルマント中心
周波数に対応する上記周期関数波形の対数値データが、
2クロック遅れてステップS17でデータ#4として出
力され、セレクタ50で選択される。また、2系列目の
窓関数波形位相データPGw2に基づいてステップS1
2で求めた窓関数波形の対数値データが、4クロック遅
れてステップS16でレジスタREG4に取り込まれた
後、ステップS17にレジスタREG4からデータ#R
EG4として出力され、セレクタ51で選択される。従
って、2系列目に関する上記周期関数波形の対数値と上
記窓関数波形の対数値が、演算器ALU4で加算され
る。これにより、真数のレベルでは、フォルマント長身
周波数に対応する周期関数波形とピッチに対応する窓関
数波形とを乗算することにより、2系列目のフォルマン
ト音波形データを合成する振幅変調演算処理を行なう。
【0197】このステップS17の処理に対応して、セ
レクタ64では「α」入力が選択される。したがって、
上記振幅変調演算結果たる演算器ALU4の出力データ
(対数値)は、遅延回路55及びオーバーフロー/アン
ダーフローコントローラ56を経由した後、遅延回路5
7を経てログ−リニア変換器58で真数に変換され、遅
延回路59を経てセレクタ64から出力される。このセ
レクタ64の出力はシフト/ログ−リニア変換器65を
そのまま通過し、通算4クロックの遅延ののち、次のチ
ャンネルのステップS0のタイミングで、レジスタRE
G4に書き込まれる(図13(d)参照)。
【0198】2系列目のフォルマント中心周波数位相デ
ータPGf2に基づく2系列目の周期関数波形の一例を
示すと、図18(b)のようになり、2系列目の窓関数
波形位相データPGw2に基づく2系列目の窓関数波形
の一例を示すと、図18(d)のようになり、これらを
乗算して生成される2系列目のフォルマント音波形の一
例を示すと、図18(f)のようになる。このフォルマ
ント音波形のピッチも、ピッチ周波数ナンバーデータに
従うピッチ(1/f0)の1/2(周期では2倍)にな
っている。ステップS17に対応する演算機能展開図
は、ステップS7と同じく、図14では演算器ALU4
(S7,S17)から始まる経路に示されている。
【0199】(11)ステップS18におけるDSP4
の動作 ステップS18では、ノイズフォルマント音波形を生成
するために中心周波数に対応する周期関数波形と上記音
量エンベロープ制御済みの相関ノイズ信号BWRを乗算
する演算を実行する。図13(a),(b)に示すよう
に、ステップS18では、演算器ALU4のA入力とし
てデータ#4が入力され、演算器ALU4のB入力とし
てデータ#REG4が入力される状態に設定される。
【0200】詳しくは、ステップS16で処理した相関
ノイズ信号BWRの対数値データが、2クロック遅れて
ステップS18でデータ#4として出力され、かつ、セ
レクタ50ではこのデータ#4を選択する状態に設定さ
れる。一方、ステップS13で求めたノイズ合成用の中
心周波数に対応する周期関数波形の対数値データが、4
クロック遅れてステップS17でレジスタREG4に取
り込まれた後、ステップS18にレジスタREG4から
データ#REG4として出力され、かつ、セレクタ51
ではこのデータ#REG4を選択する状態に設定され
る。従って、上記ノイズ合成用の中心周波数に対応する
周期関数波形の対数値データと上記相関ノイズ信号BW
Rの対数値データが、演算器ALU4で加算される。こ
れにより、真数のレベルでは、該中心周波数に対応する
周期関数波形に相関ノイズ信号BWRを乗算することに
より、該周期関数波形を相関ノイズ信号BWRで振幅変
調した信号を求める処理を行なったことになる。こうし
て、ノイズフォルマント音が合成される。
【0201】このステップS18の処理に対応して、セ
レクタ64では「α」入力が選択される。したがって、
上記振幅変調演算結果たる演算器ALU4の出力データ
(対数値)は、遅延回路55及びリミッタとして機能す
るオーバーフロー/アンダーフローコントローラ56を
経由した後、遅延回路57を経てログ−リニア変換器5
8で真数に変換され、遅延回路59を経てセレクタ64
から出力される。このセレクタ64の出力はシフト/ロ
グ−リニア変換器65をそのまま通過し、更に遅延回路
67を解してRAM4に入力され、通算5クロックの遅
延ののち、次のチャンネルのステップS2のタイミング
で、RAM4の当該チャンネルのノイズフォルマント波
形データTRuの記憶領域に書き込まれる(図13
(e)参照)。
【0202】ステップS18に対応する演算機能展開図
は、図14では、演算器ALU4(S18)を通る経路
に示されており、演算器ALU4(S18)が図7の演
算器ALU4に対応し、リミッタ56(S18)が図7
のオーバーフロー/アンダーフローコントローラ56に
対応し、リニア−ログ変換器58(S18)が図7のリ
ニア−ログ変換器58に対応し、レジスタRAM4(S
18)が図7のRAM4に対応している。セレクタSE
L1は、前記フォルマント追従制御フラグURVFの値
に応じた中心周波数に対応する周期関数波形の選択機能
に対応している。すなわち、フラグURVFが“0”で
あれば、ログsinテーブル62(S13)の経路から
の無声フォルマント周波数位相データPGuに対応する
周期関数波形データを選択して演算器ALU4(S1
8)に与えるが、フラグURVFが“1”のときはシフ
ト・リニア−ログsin変換器60&62(S0,S1
0)の経路からのフォルマント周波数位相データPGf
1又はPGf2に対応する周期関数波形データを選択し
て演算器ALU4(S18)に与える。
【0203】(12)ステップS20におけるDSP4
の動作 このステップS20では、次のチャンネルのステップS
1の処理との組合せによって、1系列目のフォルマント
音波形と2系列目のフォルマント音波形を加算すること
により最終的なフォルマント音波形データを生成する演
算を実行する。図13(a),(b)に示すように、ス
テップS20では、演算器ALU4のA入力には何も入
力されない状態に設定され、演算器ALU4のB入力と
して1系列目の波形データTR1が入力される。
【0204】詳しくは、所定のタイミングでRAM4か
ら当該チャンネルの波形データTR1(すなわち1系列
目のフォルマント音波形データ)が読み出され、該デー
タTR1が、遅延回路68を経由してデータ#RAM4
としてセレクタ51に入力される。セレクタ51では、
このデータ#RAM4を選択する状態に設定される。セ
レクタ50では、いずれのデータも選択されない。従っ
て、上記1系列目のフォルマント音波形データTR1
が、遅延回路54を経て演算器ALU4をそのまま通過
する。このデータTR1は、各遅延回路54,55によ
る通算2クロックの遅延ののち、オーバーフロー/アン
ダーフローコントローラ56を経て、次のチャンネルの
ステップS1のタイミングで、データ#4として出力さ
れる(図13(c)参照)。
【0205】(13)次のチャンネルのステップS1に
おけるDSP4の動作 図13(a),(b)に示すように、ステップS1で
は、演算器ALU4のA入力としてデータ#4が入力さ
れ、演算器ALU4のB入力としてデータ#REG4が
入力される状態に設定される。
【0206】詳しくは、前チャンネルのステップS20
で読み出した波形データTR1(1系列目のフォルマン
ト音波形データ)が、2クロック遅れてステップS1で
データ#4として出力され、かつ、セレクタ50ではこ
のデータ#4を選択する状態に設定される。一方、前チ
ャンネルのステップS17で求めた2系列目のフォルマ
ント音波形データが、4クロック遅れてステップS0で
レジスタREG4に取り込まれ(図13(d))、その
次のステップS1でレジスタREG4からデータ#RE
G4として出力され、かつ、セレクタ51ではこのデー
タ#REG4を選択する状態に設定される。従って、1
系列目のフォルマント音波形データと2系列目のフォル
マント音波形データが、演算器ALU4で加算される。
これにより、最終的なフォルマント音波形が生成され
る。
【0207】このステップS1での処理に対応して、セ
レクタ64では「γ」入力が選択され、また、オーバー
フロー/アンダーフローコントローラ56はリミッタと
して機能し、シフト/ログ−リニア変換器65は入力を
そのまま通過させる状態に設定される。従って、演算器
ALU4から出力される最終的に合成されたフォルマン
ト音波形データは、遅延回路55,オーバーフロー/ア
ンダーフローコントローラ56及びセレクタ64を経由
し、シフト/ログ−リニア変換器65をそのまま通過
し、通算3クロックの遅延ののち、ステップS4のタイ
ミングで、RAM4の当該チャンネルの波形データTR
2の記憶領域に書き込まれる(図13(e)参照)。
【0208】こうして最終的に2系列分のフォルマント
音波形を加算した合成フォルマント音波形の一例を、図
18(g)に示す。同図にも表れているように、ほぼ交
互に180度ずれた窓関数波形による変調により合成さ
れた、夫々が1/2f0の周波数を持つ1系列目と2系
列目のフォルマント音波形(図18の(e),(f))
が加算合成されることにより、ピッチ周波数ナンバーデ
ータに従う正規のピッチ(1/f0)に対応するピッチ
を持つ合成フォルマント音波形が得られる。この合成フ
ォルマント音波形がRAM4の波形データTR2の記憶
領域に記憶される。
【0209】尚、上記ステップS20及びS1の処理の
変形例として、1系列目のフォルマント音波形データと
2系列目のフォルマント音波形データを加算せずに、2
系列目のフォルマント音波形データのみをRAM4の波
形データTR2の記憶領域に書き込むようにしてもよ
い。その場合は、RAM4における波形データTR1の
記憶領域には1系列目のフォルマント音波形データが記
憶され、波形データTR2の記憶領域には2系列目のフ
ォルマント音波形データが記憶されることになる。
【0210】ステップS20及びS1に対応する演算機
能展開図は、図14では、レジスタALU4&RAM4
(S17,S20,S1)の経路に示されており、ログ
−リニア変換器58(S7,S17)からの1系列目の
フォルマント音波形データと2系列目のフォルマント音
波形データが、レジスタALU4&RAM4(S17,
S20,S1)で加算されて保持される。このレジスタ
ALU4&RAM4(S17,S20,S1)の経路
は、図7のALU4とRAM4の処理に対応している。
【0211】−DSP1によるフォルマント音ミキシン
グ演算の動作例− 次に、図5及び図9に戻り、DSP1の「ミキシング演
算」の動作例を説明する。 (1)ステップS11におけるDSP1の動作 ステップS11では、各チャンネルの合成フォルマント
音波形データを、サウンドシステムSSの左側のスピー
カー用に合計する演算を実行する。図13(a),
(b)に示すように、ステップS11では、図5の演算
器ALU1のA入力として波形データTR2が入力さ
れ、演算器ALU1のB入力としてデータMIXLが入
力される状態に設定される。
【0212】詳しくは、所定のタイミングでDSP4の
RAM4(図7)から当該チャンネルの波形データTR
2(1系列目のフォルマント音波形データと2系列目の
フォルマント音波形データを加算した最終的なフォルマ
ント音波形データ)が読み出され、該データTR2がデ
ータバスDBUSを介してDSP1に与えられ、図5に
おけるデータ#RAM4としてセレクタ10に入力され
る。セレクタ10では、このデータを選択する状態に設
定される。また、フォルマント音のパンニングを指定す
るパラメータPANに従ってPANテーブル21から読
み出された左レベル制御データが、セレクタ22を経て
コントローラ23に与えられる。セレクタ10から出力
された上記波形データTR2が、パラメータPANに対
応する左レベル制御データに応じたコントローラ23の
制御によりログ−リニア変換/シフト器14でシフトさ
れ(つまり左レベル制御データに応じてレベル制御さ
れ)、遅延回路15を経て演算器ALU1の「A」入力
に入力される。
【0213】一方、DSP1のRAM1から左楽音混合
データMIXLが読み出され、該データMIXLが、デ
ータ#RAM1として、図5のセレクタ11に入力さ
れ、該セレクタ11で選択される。このデータMIXL
は、ログ−リニア変換/シフト/±符号器16をそのま
ま通過し、遅延回路17を経て演算器ALU1の「B」
入力に入力される。従って、左レベル制御データに応じ
てレベル制御された上記当該チャンネルの合成フォルマ
ント音波形データTR2と上記左楽音混合データMIX
Lが、演算器ALU1で加算される。この加算結果は、
各遅延回路15,17,18,19,24による通算4
クロックの遅延ののち、図9のステップS15のタイミ
ングで、アウトプットコントローラ20を経てRAM1
の左楽音混合データMIXLの記憶領域にストアされる
(図9(e))。このようにして、各チャンネル毎の図
9のステップS11の処理によって、パン用に左レベル
制御された各チャンネルの合成フォルマント音波形デー
タのサンプル値が順次合計され、RAM1の左楽音混合
データMIXLの記憶領域にストアされる。
【0214】(2)ステップS12におけるDSP1の
動作 ステップS12では、ステップS11と同様にして、各
チャンネルの合成フォルマント音波形データを、サウン
ドシステムSSの右側のスピーカー用に合計する演算を
実行する。ステップS11と異なる点は、フォルマント
音のパンニングを指定するパラメータPANに従ってP
ANテーブル21から右レベル制御データを読み出し、
セレクタ22を経てコントローラ23に与えるようにす
る点と。RAM1からデータ#RAM1として右楽音混
合データMIXRを読み出し、該データMIXRをセレ
クタ11で選択する点である。従って、右レベル制御デ
ータに応じてレベル制御された合成フォルマント音波形
データTR2と上記右楽音混合データMIXRが、演算
器ALU1で加算される。この加算結果は、各遅延回路
15,17,18,19,24による通算4クロックの
遅延ののち、ステップS16のタイミングで、アウトプ
ットコントローラ20を経てRAM1の右楽音混合デー
タMIXRの記憶領域にストアされる(図9(e))。
このようにして、各チャンネル毎の図9のステップS1
2の処理によって、パン用に右レベル制御された各チャ
ンネルの合成フォルマント音波形データのサンプル値が
順次合計され、RAM1の右楽音混合データMIXRの
記憶領域にストアされる。
【0215】(3)ステップS19におけるDSP1の
動作 ステップS19では、各チャンネルのノイズフォルマン
ト音波形データを対象にして左レベル制御を行い、ステ
ップS11と同様に、サウンドシステムSSの左側のス
ピーカー用に合計する演算を実行する。ステップS11
と異なる点は、DSP4のRAM4から当該チャンネル
のノイズ波形データ(ノイズフォルマント音波形デー
タ)TRuが読み出されてデータバスDBUSを介して
DSP1に与えられ、該データTRuがセレクタ10で
選択される点と、無声フォルマント音のパンニングを指
定するパラメータuPANに従ってPANテーブル21
からノイズ用の左レベル制御データが読み出され、セレ
クタ22を経てコントローラ23に与えられる点であ
る。また、ステップS15においてRAM1に書き込ま
れた左楽音混合データMIXLが読み出されて、データ
#RAM1としてセレクタ11に入力される。従って、
パラメータuPANに従い左レベル制御されたノイズ波
形データTRuと上記左楽音混合データMIXLが、演
算器ALU1で加算される。この加算結果は、各遅延回
路15,17,18,19,24による通算4クロック
の遅延ののち、次のチャンネルのステップS3のタイミ
ングで、アウトプットコントローラ20を経てRAM1
の左楽音混合データMIXLの記憶領域にストアされる
(図9(e))。
【0216】(4)ステップS20におけるDSP1の
動作 ステップS20では、ステップS19と同様に、各チャ
ンネルのノイズフォルマント音波形データを対象にして
右レベル制御を行い、ステップS12と同様に、サウン
ドシステムSSの右側のスピーカー用に合計する演算を
実行する。ステップS19と異なる点は、RAM1から
右楽音混合データMIXRが読み出され、該データMI
XRがセレクタ11で選択される点である。従って、パ
ラメータuPANに従い右レベル制御された波形データ
TRuと上記右楽音混合データMIXRが、演算器AL
U1で加算される。この加算結果は、各遅延回路15,
17,18,19,24による通算4クロックの遅延の
のち、次のチャンネルのステップS4のタイミングで、
アウトプットコントローラ20を経てRAM1の右楽音
混合データMIXRの記憶領域にストアされる(図9
(e))。
【0217】なお、左楽音混合データMIXL及び右楽
音混合データMIXRの値は、全チャンネルのフォルマ
ント音波形データ及びノイズ波形データについての各1
サンプルデータ値の合計累算を完了する毎に夫々更新さ
れる。なお、上記では、1系列目と2系列目のフォルマ
ント音波形データとを加算した合成フォルマント音波形
データがRAM4の波形データTR2の記憶領域に記憶
されているものとして説明したが、前述の変形例のよう
に2系列目のフォルマント音波形データのみをRAM4
の波形データTR2の記憶領域に記憶した場合には、波
形データTR1と波形データTR2と波形データTRu
の三者の夫々についてパン用のレベル制御をした上で合
計するようにすればよい。
【0218】図9のステップS11,S12,S19,
S20に対応する演算機能展開図は、図14のディジタ
ルミキサー14&ALU1&RAM1(S11,S1
2,S19,S20)の経路に示されている。図14に
示されたセレクタSEL2は、レジスタRAM4(S1
7,S20,S1)つまりDSP4のRAM4に記憶さ
れた波形データTR2を選択的に読み出して上記ミキシ
ング処理のためにDSP1に送出する機能に対応してい
る。
【0219】以上のようにして、DSP1,DSP2,
DSP3,DSP4の協働に基づき、フォルマント音合
成方式によって楽音波形データ(左及び右楽音混合デー
タMIXL,MIXR)が作成され、DSP1のRAM
1に記憶される。こうして作成された楽音波形データ
(MIXL,MIXR)が、所定のタイミングでDSP
1のRAM1から読み出されて、データバスDBUS及
びインターフェースDIFを介してDA変換器DACに
送られる。
【0220】−FM合成に関連するDSP1の動作例− 次に、各DSP1〜DSP4の協働に基づいてFM合成
方式による楽音波形の合成演算を行なう場合の動作例に
ついて説明する。尚、DSP2及びDSP3は、前述の
フオルマント音合成方式とこのFM合成方式において共
通のマイクロプログラムを実行するので、それらの動作
例の説明は省略する。なお、以下の例では、FM(周波
数変調)用の波形演算要素として、2つの演算要素を使
用するものとしており、各演算要素をオペレータOP1
及びOP2と呼ぶことにする。例えば、或るFM演算ア
ルゴリズムでは、オペレータOP1で変調波信号を発生
し、オペレータOP2では該変調波信号による搬送波信
号の位相変調つまり周波数変調演算とその結果に基づく
変調された波形信号の生成演算を行う。そこで、説明の
便宜上、以下では、オペレータOP1で生成する波形を
変調波と呼び、オペレータOP2で生成する波形を搬送
波と呼ぶことにする。しかし、この言葉の意味は厳密な
ものではないことに注意されたい。すなわち、別のFM
演算アルゴリズムでは、どちらのオペレータ出力も他の
オペレータの発生波形の位相を変調しない場合もある
し、また、更に別のFM演算アルゴリズムでは、或るオ
ペレータの出力波形データによって自らの位相を変調す
る場合もある。また、場合によっては、オペレータOP
2の出力波形によってオペレータOP1の発生波形の位
相を変調するようにしてもよい。概ね、DSP1ではオ
ペレータOP1及びOP2の位相データ発生演算を行
い、DSP4ではオペレータOP1及びOP2における
発生位相データに基づく変調波波形発生と搬送波の位相
変調演算及び変調された位相データに基づく波形発生演
算の処理を行う。実行すべきFM演算アルゴリズムは、
前述の楽音合成アルゴリズムパラメータALGによって
指定される。例えば、該パラメータALGの値が“0”
以外のとき、FM合成方式のモードで楽音合成演算を行
うべきことを指示し、そのときのALGの値「1」また
は「2」等々に応じて所定のFM演算アルゴリズムが選
択される。なお、以下述べる例では、各FM演算アルゴ
リズムは、共通のFM合成用のマイクロプログラムを使
用して実現することができ、あとは、一部の所定ステッ
プでの処理に使用するデータを選択的に変更する処理を
行うだけで夫々のFM演算アルゴリズムを実現すること
ができる。
【0221】図15は、FM合成方式に基づいて楽音合
成を行なうときの、DSP1におけるマイクロプログラ
ムの各ステップ毎の動作例を示すものであり、図9の例
と同様に、DSP1では「位相演算」及び「ミキシング
演算」を行う。従って、この図15の動作例を理解する
には、既に詳しく説明したフォルマント音合成方式のた
めの図9の動作例を参照することができるので、重複す
る説明は省く。また、この図15のプログラムに基づい
てDSP1が実行する処理の演算機能展開図は、図10
に示されたものに対応している。ただし、図10の各回
路機能要素の番号の末尾に括弧付きで付されたステップ
番号は、図9のプログラムに対応するものであるので、
必ずしも図15のステップに対応しているとは限らない
ことを予めご承知願いたい。
【0222】図15において、ステップS0,S3,S
6では、ピッチ周波数ナンバーFNUMの変更制御処理
を行い、FM用の第1のオペレータOP1のための周波
数ナンバーつまり変調波周波数ナンバーを作成する。ス
テップS9では、ステップS0〜S6で求めたオペレー
タOP1の周波数ナンバーの累算演算を行うことにより
該オペレータOP1のプログレシブ位相データ(つまり
変調波位相データ)PGf1を作成する。また、ステッ
プS2,S5,S8では、ピッチ周波数ナンバーFNU
Mに基づく周波数ナンバーの変更処理を行い、FM用の
第2のオペレータOP2のための周波数ナンバーつまり
搬送波周波数ナンバーを作成する。そして、ステップS
16では、ステップS2〜S8で求めたオペレータOP
2の周波数ナンバーの累算演算を行うことにより該オペ
レータOP2のプログレシブ位相データ(つまり搬送波
位相データ)PGf2を作成する。なお、説明の便宜
上、各オペレータOP1,OP2における位相データP
Gf1,PGf2は、前述のフォルマント音合成処理の
ときの中心周波数位相データPGf1,PGf2と同じ
符号を用いるが、その内容は全く別ものである。
【0223】図15における上記ステップ以外の「位相
演算」のステップの処理手順は、図9の同一ステップと
略同じであり(但し、FM合成演算にとっては不要なデ
ータを作成するステップも存在しているが、その結果は
FM合成演算においては使用されないので問題ない)、
また、「ミキシング演算」のステップの処理手順も、図
9の同一ステップと略同じである。そこで、以下では、
ステップS0,S3,S6での処理及びその処理結果に
基づくステップS9の処理と、ステップS2,S5,S
8での処理及びその処理結果に基づくステップS16の
処理について特に説明することにする。
【0224】(1)ステップS0,S3,S6における
DSP1の動作 図15において、ステップS0,S3,S6では、図9
のステップS0,S3,S6と全く同じ処理手順によ
り、ピッチ周波数ナンバーFNUMの変更制御処理を行
う。しかし、処理手順は同じあっても、その処理に使用
されるパラメータの具体的内容が、FM合成とフォルマ
ント音合成とでは全く異なっているので、結果的に作成
されるデータは全く別ものであるのは言うまでもない。
すなわち、図15のステップS0,S3,S6では、図
9のステップS0,S3,S6と全く同じ処理手順を実
行することによって、ピッチ周波数ナンバーFNUMに
基づく周波数ナンバーの変更処理を行うが、変更された
ピッチ周波数ナンバーとして、オペレータOP1のため
の周波数ナンバーつまり変調波周波数ナンバーが生成さ
れる。まず、ステップS0では、発生すべき楽音のピッ
チを示すピッチ周波数ナンバーFNUMをアタックグラ
イドデータAGに応じて変更制御する処理を行う。この
場合、前述と同様に、チャンネル同期動作フラグRBP
の内容に応じて「チャンネル同期動作」処理も行われる
(つまり、ピッチ周波数ナンバーFNUMとしてFNU
Mn又はFNUMn−1が使用される)。
【0225】次のステップS3では、図9と同様に、変
更制御されたピッチ周波数ナンバーFNUMの対数値を
真数値に変換する処理をログ−リニア変換/シフト器1
4(図5)を介して行う。この変換結果はステップS6
のときにアウトプットコントローラ20(図5)から出
力され、レジスタREG1に取り込まれる。レジスタR
EG1に取り込まれたデータは時間遅れなしに出力さ
れ、データ#REG1としてセレクタ10及び11に入
力される。こうして、ステップS6においては、ステッ
プS3の処理によって真数値に変換されたピッチ周波数
ナンバーFNUMがデータ#REG1としてセレクタ1
0及び11に入力され、これが夫々選択されて演算器A
LU1のA入力及びB入力に与えられる。一方、このス
テップS6では、FM変調波用の周波数倍数パラメータ
MULT1がセレクタ22を介してコントローラ23に
与えられ、該パラメータに基づくコントローラ23の制
御によって、ログ−リニア変換/シフト器14及びログ
−リニア変換/シフト/±器16では、夫々所定桁数分
だけのシフト動作と正負符号の反転動作を行なう。これ
は、前述の通り、2のn乗倍以外の任意の倍数(たとえ
ば3倍,5倍,6倍,7倍等)の演算を行うためであ
る。
【0226】こうして、楽音のピッチ周波数をパラメー
タMULT1によって設定された所望の倍数だけ倍増し
た周波数からなる周波数ナンバーデータが変調波周波数
ナンバーとして生成される。このステップS6でピッチ
周波数の所望倍数の大きさに変更された変調波周波数ナ
ンバーデータは、各遅延回路15,17,18,19に
よる通算3クロックの遅延の後、後述するステップS9
のタイミングで、アウトプットコントローラ20を経て
レジスタREG1に書き込まれる。ステップS0,S
3,S6に対応する演算処理は、図10におけるビブラ
ートデータ発生器12a(S0)から演算器ALU1
(S6)に至る経路に対応している。
【0227】(2)ステップS9におけるDSP1の動
作 図15(a),(b)に示すように、ステップS9で
は、演算器ALU1のA入力としてデータ#REG1が
入力され、演算器ALU1のB入力として変調波位相デ
ータPGf1の現在値(すなわち前回までの累算結果)
が入力される状態に設定される。
【0228】詳しくは、図5において、ステップS6の
処理で得られた変調波周波数ナンバーデータが3クロッ
ク遅れてこのステップS9でレジスタREG1にストア
され(図15(d)参照)、かつ、データ#REG1と
して該レジスタREG1から即出力される。また、セレ
クタ10ではこのデータ#REG1を選択する。このデ
ータ#REG1は、ログ−リニア変換/シフト器14を
そのまま通過し、遅延回路15を経て演算器ALU1の
A入力に入力される。一方、RAM1から、当該チャン
ネルの変調波位相データPGf1の現在値(すなわち前
回までの累算結果)が読み出され、データ#RAM1と
してセレクタ11に入力される。また、セレクタ11で
はこのデータを選択する状態に設定される。このデータ
#RAM1は、ログ−リニア変換/シフト/±器16を
そのまま通過し、遅延回路17を経て演算器ALU1の
B入力に入力される。
【0229】従って、演算器ALU1では、上記変調波
周波数ナンバーが変調波位相データPGf1の現在値に
加算され、変調波位相データPGf1の値が変調波周波
数ナンバーの値の分だけ増加される。この加算結果は、
各遅延回路15,17,18,19,24による通算4
クロックの遅延ののち、後述するステップS13のタイ
ミングで、アウトプットコントローラ20を経てRAM
1の当該チャンネルの変調波位相データPGf1の記憶
領域に記憶される。このステップS9に対応する演算処
理は、図10における演算器ALU1(S6)からセレ
クタSEL1を経て位相発生器ALU1&RAM1(S
13,S16)に至る経路において位相データPGf1
を生成する部分に対応している。なお、セレクタSEL
1は、FM合成モードのときに演算器ALU1(S6)
の出力を選択して位相発生器ALU1&RAM1(S1
3,S16)で累算されるようにする選択機能を示して
いる。
【0230】(3)ステップS2,S5,S8における
DSP1の動作 図15において、ステップS2,S5,S8では、上記
ステップS0,S3,S6と全く同じ処理手順により、
ピッチ周波数ナンバーFNUMの変更制御処理を行う。
しかし、処理手順は同じあっても、その処理に使用され
るパラメータの具体的内容が異なっているので、結果的
に作成されるデータは異なる。すなわち、図15のステ
ップS2,S5,S8では、ステップS0,S3,S6
と全く同じ処理手順を実行することによって、ピッチ周
波数ナンバーFNUMに基づく周波数ナンバーの変更処
理を行うが、変更されたピッチ周波数ナンバーとして、
オペレータOP2のための周波数ナンバーつまり搬送波
周波数ナンバーが生成される。
【0231】ステップS2,S5の処理では、ステップ
S0,S3と同様に、発生すべき楽音のピッチを示すピ
ッチ周波数ナンバーFNUMをアタックグライドデータ
AGに応じて変更制御する。ステップS8では、ステッ
プS6と同様に、ステップS5の処理によって真数値に
変換されたピッチ周波数ナンバーFNUMがデータ#R
EG1としてセレクタ10及び11に入力され、これが
夫々選択されて演算器ALU1のA入力及びB入力に与
えられる。一方、このステップS8では、FM搬送波用
の周波数倍数パラメータMULT2がセレクタ22を介
してコントローラ23に与えられ、該パラメータに基づ
くコントローラ23の制御によって、ログ−リニア変換
/シフト器14及びログ−リニア変換/シフト/±器1
6では、夫々所定桁数分だけのシフト動作と正負符号の
反転動作を行なう。これは、前述の通り、2のn乗倍以
外の任意の倍数の演算を行うためである。
【0232】こうして、楽音のピッチ周波数をパラメー
タMULT2によって設定された所望の倍数だけ倍増し
た周波数からなる周波数ナンバーデータが搬送波周波数
ナンバーとして生成される。このステップS8でピッチ
周波数の所望倍数の大きさに変更された搬送波周波数ナ
ンバーデータは、各遅延回路15,17,18,19に
よる通算3クロックの遅延の後、ステップS11のタイ
ミングで、アウトプットコントローラ20を経てレジス
タREG1に書き込まれる(図15(d)参照)。ステ
ップS2,S5,S8に対応する演算処理も、図10に
おいてはビブラートデータ発生器12a(S0)から演
算器ALU1(S6)に至る経路に対応している。
【0233】(4)ステップS16におけるDSP1の
動作 図15(a),(b)に示すように、ステップS16で
は、演算器ALU1のA入力としてデータ#REG1が
入力され、演算器ALU1のB入力として搬送波位相デ
ータPGf2の現在値(すなわち前回までの累算結果)
が入力される状態に設定される。詳しくは、図5におい
て、前記ステップS11でレジスタREG1に取り込ま
れた搬送波周波数ナンバーデータが、データ#REG1
としてレジスタREG1から出力され、セレクタ10に
入力されている。ステップS16に対応する処理におい
て、セレクタ10ではこのデータ#REG1を選択する
状態とされる。このデータ#REG1は、ログ−リニア
変換/シフト器14をそのまま通過し、遅延回路15を
経て演算器ALU1のA入力に入力される。一方、RA
M1から、当該チャンネルの搬送波位相データPGf2
の現在値(すなわち前回までの累算結果)が読み出さ
れ、データ#RAM1としてセレクタ11に入力され、
該セレクタ11で選択される。セレクタ11から出力さ
れた搬送波位相データPGf2は、ログ−リニア変換/
シフト/±器16をそのまま通過し、遅延回路17を経
て演算器ALU1のB入力に入力される。
【0234】従って、演算器ALU1では、上記搬送波
周波数ナンバーが搬送波位相データPGf2の現在値に
加算され、搬送波位相データPGf2の値が搬送波周波
数ナンバーの値の分だけ増加される。この加算結果は、
各遅延回路15,17,18,19,24による通算4
クロックの遅延ののち、後述するステップS20のタイ
ミングで、アウトプットコントローラ20を経てRAM
1の当該チャンネルの搬送波位相データPGf2の記憶
領域に記憶される。このステップS16に対応する演算
処理は、図10における演算器ALU1(S6)からセ
レクタSEL1を経て位相発生器ALU1&RAM1
(S13,S16)に至る経路において位相データPG
f2を生成する部分に対応している。
【0235】(5)ステップS4,S7におけるDSP
1の動作 図15のステップS4,S7における処理動作は、図9
における対応するステップと同じであり、ノイズフォル
マント音用の中心周波数に対応する位相データPGuを
作成する処理を行う。FM合成モードにおいても、ノイ
ズフォルマント音合成すなわちノイズ波形データTRu
の合成を行うことが可能である。ステップS7で求めら
れたノイズ用の位相データPGuはステップS11でR
AM1のデータPGuの記憶領域に記憶され、前述と同
様に、DSP4の処理によってノイズフォルマント音合
成のために利用される。ステップS4,S7に対応する
演算処理は、図10における変調データ発生器12g
(S4)から位相発生器ALU1&RAM1(S7)に
至る経路に対応している。
【0236】(6)ステップS11,S12,S19,
S20におけるDSP1の動作 図15におけるステップS11,S12,S19,S2
0における処理動作は、基本的には、図9における対応
するステップと同じであり、パンニング用のパラメータ
PAN,uPANに応じた左右のレベル制御データを各
チャンネル毎のRAM1における波形データTR1,T
R2,TRuに乗算し、レベル制御済みの波形データを
全チャンネル分合計して夫々左右の楽音混合データMI
XL,MIXRを得る。これらのステップS11,S1
2,S19,S20における「ミキシング演算」処理
は、前述と同様に、図14の機能図におけるディジタル
ミキサーALU1&RAM1(S11,S12,S1
9,S20)の経路に対応する。
【0237】(7)他のステップの動作 図15のステップS10,S13〜S15,S17,S
18における演算器ALU1の処理動作は、基本的に
は、図9における対応するステップと同じであり、概ね
位相データPGp1,PGp2,PGw1,PGw2の
演算処理に関わっている。ただし、FM合成において
は、これらの位相データは全く使用しないので、無意味
な処理である。プログラム作成の簡略化の都合上、フォ
ルマント音合成プログラムと一部重複しているだけであ
るから、これらのステップの動作内容をすべて無にした
プログラムを使用してもよい。なお、図15におけるス
テップS17で、ステップS13の結果をRAM1のデ
ータPGp1の記憶領域に記憶するようにしている点
が、図9におけるステップS17の処理とは異なつてい
る。これは、FM合成においてはステップS13におけ
る演算器ALU1の演算処理は無意味であるため、この
演算結果を図9におけるステップS17の処理と同様に
データPGf1の記憶領域に書き込んだのでは、ステッ
プS13におけるRAM書き込み処理でRAM1のデー
タPGf1の記憶領域に書き込んだ正しい変調波位相デ
ータPGf1を損なってしまうことになるので、それを
防ぐために、FM合成においては事実上使用されないR
AM1のデータPGp1の記憶領域に書き込むようにし
ているのである。すなわち、あってもなくてもFM合成
処理に実質的な影響を及ぼさないステップでは、フォル
マント音合成処理のプログラムが一部残されているが、
そのようなステップでも、FM合成処理に影響を及ぼす
ことがある一部の処理は別の無意味な処理に書き替えて
いるのである。
【0238】−DSP4によるFM合成に関連する動作
例− 図16は、FM合成方式に基づいて楽音合成を行なうと
きの、DSP4におけるマイクロプログラムの各ステッ
プ毎の動作例を示すものであり、図13の例と同様に、
DSP4では「波形生成演算」のための処理を行う。従
って、この図16の動作例を理解するには、既に詳しく
説明したフォルマント音合成方式のための図13の動作
例を参照することができるので、重複する説明は省く。
また、この図16のプログラムに基づいてDSP4が実
行する処理の演算機能展開図は、図14に示されたもの
に対応している。ただし、図14の各回路機能要素の番
号の末尾に括弧付きで付されたステップ番号は、図13
のプログラムに対応するものであるので、必ずしも図1
6のステップに対応しているとは限らない。しかし、図
14において、図16に示されたFM合成用のステップ
にのみ対応している部分には、ステップ番号とともに
「FM」と付記してあり、これは図16のステップに対
応している。
【0239】図16において、ステップS0,S4,S
5,S9,S11,S14では、主にオペレータOP1
における自己フィードバックFM演算を含む波形データ
の生成処理を行う。ステップS10,S14,S15,
S19,S20,S1,S4では、主にオペレータOP
2におけるFM演算を含むFM合成された波形データの
生成処理を行う。ステップS13,S16,S18,S
2では、図13と同様に、ノイズフォルマント音波形デ
ータの作成処理を行う。なお、自己フィードバックFM
演算とは、公知のように、或る位相データの入力に応じ
て発生した波形データを位相入力側にフィードバックし
て、自己の該入力位相データを変調する演算を行うこと
である。この実施例では、オペレータOP1において自
己フィードバックFM演算を行うことができるようにな
っている。
【0240】(1)ステップS0,S4におけるDSP
4の動作 ステップS0ではオペレータOP1の波形データ生成処
理が行われる。図16(a),(b)に示すように、ス
テップS0では、演算器ALU4のA入力としてOP1
の(変調波)位相データPGf1が入力され、演算器A
LU4のB入力としてフィードバック波形データFRが
入力される状態に設定される。詳しくは、所定のタイミ
ングでDSP1のRAM1(図5)から当該チャンネル
についてのオペレータOP1の位相データPGf1が読
み出され、これがデータ#RAM1としてデータバスD
BUSを介して図7のDSP4に与えられ、図7におけ
るリズム音発生器52を通過してセレクタ50に入力さ
れ、選択される。一方、図7のRAM4から当該チャン
ネルのフィードバック波形データFRが読み出され、該
データFRがデータ#RAM4としてセレクタ51に入
力され、選択される。RAM4では、自己フィードバッ
クFM演算に使用するために、オペレータOP1で生成
した波形データをフィードバック波形データFRとして
記憶しておく記憶領域を有している。なお、通常、FM
合成モードでは、リズム音発生器52は使用されず、デ
ータ#RAM1として与えられるデータは何も変更され
ずに通過してセレクタ50に入力される。こうして、演
算器ALU4では、OP1の位相データPGf1にフィ
ードバック波形データFRが加算される。これにより、
オペレータOP1の波形発生用の位相データPGf1が
自己の発生波形によって自己フィードバック変調される
ことになる。
【0241】ステップS0の処理に対応して、図7のセ
レクタ64でβ入力が選択される。したがって、演算器
ALU4の上記演算結果データが、遅延回路55及びオ
ーバーフロー/アンダーフローコントローラ56を経由
した後、ウェーブシェイプシフタ60,遅延回路61,
ログsinテーブル62及び遅延回路63を経てセレク
タ64から出力される。ウェーブシェイプシフタ60で
は、パラメータWF1に応じて、前述と同様に、特定位
相区間での位相値変換処理を行う。ただし、このとき供
給されるパラメータWF1は、FM合成用オペレータO
P1のために用意されたものである。ログsinテーブ
ル62では、上記のように自己フィードバック変調され
且つ必要に応じて位相値変換処理が施されたOP1用の
位相データPGf1に応じて、対数値で表現されたsi
n波形データを読み出す。こうして、ステップS0の処
理によって、オペレータOP1における自己フィードバ
ックFM演算と波形データの生成処理がなされる。
【0242】セレクタ64のβ入力を介して選択された
対数表現から成るオペレータOP1の波形データ(例え
ば変調波波形データ)は、シフト/ログ−リニア変換器
65をそのまま通過し、上記各遅延回路53,55,6
1,63による通算4クロックの遅延の後のステップS
4のタイミングで、レジスタREG4に書き込まれる
(図16(d)参照)。勿論、実現しようとするFM演
算アルゴリズムによっては、オペレータOP1で自己フ
ィードバックFMを行わないものがある。その場合は、
上記ステップS0において、RAM4からのフィードバ
ック波形データFRの読出しを行わないか又はセレクタ
51でいずれの入力データも選択しないように制御する
ものとする。これにより、演算器ALU4ではOP1の
位相データPGf1を変更せずにまま出力し、自己フィ
ードバックFMされない波形データがログsinテーブ
ル62から読み出される。
【0243】(2)ステップS5におけるDSP4の動
作 ステップS5では、オペレータOP1の波形データの振
幅レベルを制御する演算を行う。図16(a),(b)
に示すように、ステップS5では、演算器ALU4のA
入力として振幅レベルデータLVL1が入力され、演算
器ALU4のB入力としてデータ#REG4が入力され
る状態に設定される。詳しくは、DSP2のRAM2か
ら当該チャンネルについてのオペレータOP1の振幅レ
ベルを設定する対数表現の振幅レベルデータLVL1が
読み出され、該データLVL1がデータ#RAM2とし
てデータバスDBUSを介してDSP4に与えられ、図
7のセレクタ50に入力される。セレクタ50では、こ
のデータ#RAM2つまりLVL1を選択する。一方、
前記ステップS4でレジスタREG4に取り込まれたオ
ペレータOP1の波形データの対数値データが、レジス
タREG4からデータ#REG4として出力され、セレ
クタ51で選択される。従って、対数表現からなるOP
1の波形データと振幅レベルデータLVL1が演算器A
LU4で加算され、真数のレベルでは、振幅レベルデー
タLVL1をOP1の波形データに乗算する処理を行う
ことになる。振幅レベルデータLVL1は時間的に変化
するエンベロープデータからなっており、オペレータO
P1から発生する波形データが変調波波形データの場合
は、変調波信号の振幅制御係数つまり変調指数として機
能する。
【0244】このステップS5の処理に対応して、図7
のセレクタ64ではα入力が選択される。したがって、
遅延回路55及びオーバーフロー/アンダーフローコン
トローラ56を経由した演算器ALU4の演算結果が、
遅延回路57を経てログ−リニア変換器58に与えられ
て真数に変換され、遅延回路59を経てセレクタ64か
ら出力される。セレクタ64から出力された真数表現か
らなる振幅レベル制御済みのOP1の波形データは、上
記各遅延回路53,55,57,59による通算4クロ
ックの遅延ののち、シフト/ログ−リニア変換器65を
そのまま通過し、後述するステップS9のタイミングで
レジスタREG4に書き込まれる(図16(d)参照)
と共に、遅延回路67を経て更に1クロック遅延された
ステップS10のタイミングで、RAM4の当該チャン
ネルのOP1の波形データTR1の記憶領域にストアさ
れる(図16(e)参照)。ステップS10のタイミン
グでRAM4の所定記憶領域にストアされた波形データ
TR1が当該チャンネルのオペレータOP1で生成出力
する波形データに相当する。
【0245】(3)ステップS9,S11,S14にお
けるDSP4の動作 これらのステップS9,S11,S14では、オペレー
タOP1の自己フィードバックレベル制御を行う共に、
自己フィードバックによるハンチング(若しくは発振)
現象を防止するための処理を行う。まず、ステップS9
では、RAM4の所定記憶領域にストアされている当該
チャンネルのオペレータOP1の波形データTR1(前
回のサンプリングサイクルで生成された波形データに相
当する)が読み出され、データ#RAM4としてセレク
タ51に入力されて選択される。セレクタ50では、い
ずれのデータも選択されない。従って、前回のサンプリ
ングサイクルで生成されたOP1の波形データTR1
が、遅延回路54を経て演算器ALU4をそのまま通過
し、遅延回路55及びオーバーフロー/アンダーフロー
コントローラ56を経由し、通算2クロックの遅延のの
ち、ステップS11のタイミングで、データ#4として
出力される(図16(c)参照)。
【0246】ステップS11では、上記データ#4とし
て出力された前回のサンプリングサイクルで生成された
OP1の波形データTR1がセレクタ50に入力され、
選択される。また、ステップS9の処理によってレジス
タREG4に記憶された今回のサンプリングサイクルで
生成されたOP1の波形データTR1がデータ#REG
4としてセレクタ51に入力され、選択される。これに
より、当該チャンネルに関する前回及び今回の2つのサ
ンプリングサイクルで生成されたOP1の波形データT
R1が演算器ALU4で加算される。このように前回及
び今回の2つのサンプリングサイクルで生成されたOP
1の波形データTR1を加算する理由は、自己フィード
バックによるハンチング(若しくは発振)現象を防止す
るためである。
【0247】このステップS11での処理に対応して、
図7においては、セレクタ64でγ入力が選択され、か
つ、フィードバックレベル指定パラメータFBLに従っ
てコントローラ66からフィードバックレベル制御係数
が発生され、シフト/ログ−リニア変換器65ではこの
フィードバックレベル制御係数に応じた量だけ入力デー
タをシフトダウンすると共に、ハンチング現象防止用の
上記加算処理に伴う平均化演算(1/2演算)のために
更に1ビットのシフトダウン処理を行う。したがって、
演算器ALU4の演算結果が、遅延回路55,オーバー
フロー/アンダーフローコントローラ56を経てそのま
まセレクタ64から出力され、シフト/ログ−リニア変
換器65によるシフトダウン処理によって平均化演算と
フィードバックレベル制御演算とが施される。シフト/
ログ−リニア変換器65の出力は、遅延回路67を経て
RAM4に入力され、上記各遅延回路53,54,5
5,67による通算3クロックの遅延の後のステップS
14のタイミングで、RAM4の当該チャンネルのフィ
ードバック波形データFRの記憶領域にストアされる
(図16(e)参照)。
【0248】上述のステップS0,S4,S5,S9,
S11,S14の処理によるオペレータOP1における
波形データTR1及びフィードバック波形データFRの
生成処理は、図14の演算機能展開図においては、位相
データPGf1がノイズ付与器52(S0,S10)に
入力され、その後の経路を経てレジスタRAM4(S
7)に波形データTR1としてストアされるまでの経
路、及びフィードバックレベルコントローラ及びレジス
タ65&RAM4(S9FM,S11FM)でフィード
バックレベル制御されると共にフィードバック波形デー
タFRとしてストアされるまでの経路、に対応してい
る。この場合、セレクタSEL2は、フィードバックレ
ベルコントローラ及びレジスタ65&RAM4(S9F
M,S11FM)つまりRAM4からフィードバック波
形データFRを読み出して加算器ALU4(S0,S1
0)に与えるようにする機能に対応している。
【0249】(4)ステップS10におけるDSP4の
動作 ステップS10ではオペレータOP2の波形データ生成
処理が行われる。図16(a),(b)に示すように、
ステップS10では、演算器ALU4のA入力としてO
P2の位相データPGf2(搬送波位相データ)が入力
され、演算器ALU4のB入力としてOP1の波形デー
タTR1(変調波波形データ)が入力される状態に設定
される。詳しくは、所定のタイミングでDSP1のRA
M1(図5)から当該チャンネルについてのオペレータ
OP2の位相データPGf2が読み出され、これがデー
タ#RAM1としてデータバスDBUSを介して図7の
DSP4に与えられ、図7におけるリズム音発生器52
を通過してセレクタ50に入力され、選択される。一
方、図7のRAM4から当該チャンネルのOP1の波形
データTR1が読み出され、該データTR1がデータ#
RAM4としてセレクタ51に入力され、選択される。
従って、演算器ALU4では、OP2の位相データPG
f2(搬送波位相データ)にOP1の波形データTR1
(変調波波形データ)が加算され、周波数変調演算が行
われる。
【0250】ステップS10の処理に対応して、図7の
セレクタ64でβ入力が選択される。したがって、演算
器ALU4の上記演算結果データが、遅延回路55及び
オーバーフロー/アンダーフローコントローラ56を経
由した後、ウェーブシェイプシフタ60,遅延回路6
1,ログsinテーブル62及び遅延回路63を経てセ
レクタ64から出力される。ウェーブシェイプシフタ6
0では、パラメータWF2に応じて、前述と同様に、特
定位相区間での位相値変換処理を行う。ただし、このと
き供給されるパラメータWF2は、FM合成用オペレー
タOP2のために用意されたものである。ログsinテ
ーブル62では、上記のように周波数変調され且つ必要
に応じて位相値変換処理が施されたOP2用の位相デー
タPGf2に応じて、対数値で表現されたsin波形デ
ータを読み出す。こうして、ステップS10の処理によ
って、オペレータOP2におけるFM演算とこれに基づ
くFM合成された波形データの生成処理がなされる。
【0251】セレクタ64のβ入力を介して選択された
対数表現から成るオペレータOP2の波形データ(すな
わちFM合成された波形データ)は、シフト/ログ−リ
ニア変換器65をそのまま通過し、上記各遅延回路5
3,55,61,63による通算4クロックの遅延の後
のステップS14のタイミングで、レジスタREG4に
書き込まれる(図16(d)参照)。勿論、実現しよう
とするFM演算アルゴリズムによっては、オペレータO
P2でFM演算を行わないものがある。その場合は、上
記ステップS10において、RAM4からの波形データ
TR1の読出しを行わないか又はセレクタ51でいずれ
の入力データも選択しないように制御するものとする。
これにより、演算器ALU4ではOP2の位相データP
Gf2を変更せずにまま出力し、FM合成されない波形
データがログsinテーブル62から読み出される。
【0252】(5)ステップS15におけるDSP4の
動作 ステップS15では、前記ステップS5と同様に、オペ
レータOP2の生成波形データの振幅レベルを制御する
演算を行う。ステップS15での処理手順は前記ステッ
プS5とほぼ同様である。ただし、ステップS15で
は、DSP2のRAM2から当該チャンネルについての
オペレータOP2の振幅レベルを設定する対数表現の振
幅レベルデータLVL2が読み出されてデータ#RAM
2としてセレクタ50で選択されて演算器ALU4のA
入力に与えられ、前記ステップS14でレジスタREG
4に取り込まれたオペレータOP2の生成波形データの
対数値データがデータ#REG4としてセレクタ51で
選択されて演算器ALU4のB入力に与えられる。従っ
て、対数表現からなるOP2の生成波形データ(FM合
成された波形データ)と振幅レベルデータLVL2が演
算器ALU4で加算され、真数のレベルでは、振幅レベ
ルデータLVL2をOP2の生成波形データに乗算する
処理を行うことになる。振幅レベルデータLVL2は時
間的に変化するエンベロープデータからなっており、オ
ペレータOP2から発生する波形データの出力音量レベ
ルを設定する音量レベル設定データとして機能する。
【0253】このステップS15の処理に対応して、図
7のセレクタ64ではα入力が選択され、演算器ALU
4の演算結果をログ−リニア変換器58で真数に変換し
たデータが該セレクタ64で選択出力される。セレクタ
64から出力された真数表現からなる振幅レベル制御済
みのOP2の生成波形データ(FM合成波形データ)
は、各遅延回路53,55,57,59による通算4ク
ロックの遅延ののち、シフト/ログ−リニア変換器65
をそのまま通過し、ステップS19のタイミングでレジ
スタREG4に書き込まれる(図16(d)参照)。こ
うしてレジスタREG4にストアされた、真数表現から
なる振幅レベル制御済みのOP2の生成波形データ(F
M合成波形データ)は、3クロック後の次のチャンネル
に関するステップS1のときに後述するように演算処理
され、更にその3クロック後のステップS4のときにR
AM4の当該チャンネルのOP2の波形データTR2の
記憶領域にストアされる(図16(c)及び(e)参
照)。
【0254】(6)ステップS20,S1,S4におけ
るDSP4の動作 ステップS20では、或る特定のFM演算アルゴリズム
が選択されていることを条件に、RAM4の当該チャン
ネルのOP1の波形データTR1の記憶領域から該デー
タTR1を読み出し、データ#RAM4としてセレクタ
51に入力し、該セレクタ51で選択する処理を行う。
このとき、演算器ALU4のA入力には何も入力しな
い。従って、OP1の波形データTR1が、遅延回路5
4を経て演算器ALU4をそのまま通過し、遅延回路5
5及びオーバーフロー/アンダーフローコントローラ5
6を経由し、通算2クロックの遅延ののち、次のチャン
ネルのステップS1のタイミングで、データ#4として
出力される(図16(c)参照)。
【0255】次のチャンネルのステップS1では、図1
6(a),(b)に示すように、演算器ALU4のA入
力としてデータ#4(つまりOP1の波形データTR
1)を選択入力し、演算器ALU4のB入力としてデー
タ#REG4(つまり上記ステップS19のタイミング
でレジスタREG4にストアされた、真数表現からなる
振幅レベル制御済みのOP2の生成波形データ)を選択
入力する。従って、OP1の波形データTR1とOP2
の波形データが、演算器ALU4で加算される。このス
テップS1の処理に対応して、セレクタ64でγ入力が
選択される。したがって、演算器ALU4の結果が、遅
延回路55,オーバーフロー/アンダーフローコントロ
ーラ56を経てそのままセレクタ64から出力され、シ
フト/ログ−リニア変換器65をそのまま通過して遅延
回路67を経由してRAM4に入力される。従って、ス
テップS1の処理に対応する演算器ALU4の結果が、
各遅延回路53,54,55,67による通算3クロッ
クの遅延ののち、ステップS4のタイミングでRAM4
の当該チャンネルの波形データTR2の記憶領域にスト
アされる(図16(e)参照)。
【0256】なお、上記特定のFM演算アルゴリズムが
選択されていない場合は、上記ステップS20におい
て、RAM4からのOP1の波形データTR1の読出し
を行わないか又はセレクタ51でいずれの入力データも
選択しないように制御するものとする。これにより、ス
テップS1における演算器ALU4の演算ではOP2の
生成波形データ(FM合成波形データ)を変更せずにそ
のまま出力し、これがステップS4のタイミングでRA
M4の当該チャンネルの波形データTR2の記憶領域に
ストアされる。こうして、最終的には、RAM4におけ
る所定の記憶領域にストアされた波形データTR2が、
FM合成方式によって合成された楽音信号の波形データ
として利用される。
【0257】上述のステップS10,S14,S15,
S19,S20,S1,S4の処理によるオペレータO
P2におけるFM合成波形データの生成処理は、図14
の演算機能展開図においては、位相データPGf2がノ
イズ付与器52(S0,S10)に入力され、その後の
経路を経てレジスタALU4&RAM4(S17,S2
0,S1)に波形データTR2としてストアされるまで
の経路に対応している。この場合、セレクタSEL2
は、レジスタRAM4(S7)つまりRAM4からOP
1の波形データTR1を読み出して加算器ALU4(S
0,S10)に与えるようにする機能に対応している。
【0258】(7)その他の説明 図16のステップS13,S16,S18,S2では、
図13の同じステップと同様に、ノイズフォルマント音
波形データの作成処理を行い、当該チャンネルのノイズ
波形データTRuをRAM4の所定の記憶領域にストア
する。なお、図16のステップS2,S12では、図1
3における対応するステップと同様に窓関数位相データ
PGw1,PGw2の演算処理に関わっているが、FM
合成においては、これらの位相データは全く使用しない
ので、無意味な処理である。プログラム作成の簡略化の
都合上、フォルマント音合成プログラムと一部重複して
いるだけであるから、これらのステップの動作内容をす
べて無にしたプログラムを使用してもよい。
【0259】以上のようなDSP4におけるFM合成演
算処理によって作成され、RAM4に記憶された各チャ
ンネル毎の波形データTR2及びTRu(必要に応じて
TR1も)は、前述したDSP1における「ミキシング
演算」のために、DSP4のRAM4から読み出されて
データバスDBUSを介してDSP1に与えられ、該D
SP1における図15の前記ステップS11,S12,
S19,S20の処理によって、パンニング用のパラメ
ータPAN,uPANに応じた左右レベル制御されると
共に全チャンネル分合計されて、夫々左右の楽音混合デ
ータMIXL,MIXRとして出力され、これがデータ
バスDBUS及びインターフェースDIFを介してDA
変換器DACに送られ、サウンドシステムSSに与えら
れることになる。
【0260】参考のために、上述したような各DSP1
〜DSP4の協働によって実現されるFM合成用のオペ
レータOP1,OP2の機能ブロック図を示すと図20
のようであり、FM演算アルゴリズムの例を機能ブロッ
ク図によって示すと図21(a),(b)のようであ
る。図20において、ピッチ周波数ナンバーFNUMに
応じて変調波又は搬送波の位相データPGf1又はPG
f2を発生する位相発生器PGの機能は、前述の通りD
SP1によって実現されている。また、この位相データ
PGf1又はPGf2を、フィードバック波形データF
R又は変調波波形データTR1によって変調する加算器
ADと、この加算出力によって波形データを読み出す波
形メモリSWMと、読み出した波形データに振幅レベル
データLVL1又はLVL2を乗算する乗算器MULと
を含む部分の機能は、前述の通りDSP4によって実現
されている。また、振幅レベルデータLVL1又はLV
L2を発生するエンベロープ発生器EGの機能はDSP
2によって実現されている。
【0261】図21の(a)は、楽音合成アルゴリズム
パラメータALGの値が「1」のときに指定されるFM
演算アルゴリズムを示している。このアルゴリズムでは
オペレータOP1が自己フィードバックFM演算を行
い、その生成波形データTR1を変調波波形データとし
て、オペレータOP2の位相データPGf2を位相変調
し、FM合成された波形データがオペレータOP2の生
成波形データTR2として出力される。そのためには、
図16のステップS0では、ALU4のB入力としてフ
ィードバック波形データFRを供給してオペレータOP
1が自己フィードバックFM演算を行うようにし、ステ
ップS10では、ALU4のB入力として波形データT
R1を供給してオペレータOP2で位相データPGf2
に波形データTR1を加算するようにし、ステップS2
0では、ALU4のB入力として波形データTR1を供
給しないようにしてその後のステップS1でTR1とT
R2の加算が実質的に行われないようにする。
【0262】図21の(b)は、楽音合成アルゴリズム
パラメータALGの値が「2」のときに指定されるFM
演算アルゴリズムを示している。このアルゴリズムで
は、オペレータOP1が自己フィードバックFM演算を
行うが、オペレータOP2ではFM演算を行わず、両者
の生成波形データTR1とTR2を加算して出力する。
そのためには、図16のステップS0では、ALU4の
B入力としてフィードバック波形データFRを供給して
オペレータOP1が自己フィードバックFM演算を行う
ようにし、ステップS10では、ALU4のB入力とし
て波形データTR1を供給しないようにしてオペレータ
OP2で位相データPGf2の変調が行われないように
し、ステップS20では、ALU4のB入力として波形
データTR1を供給してその後のステップS1でTR1
とTR2の加算が実質的に行われるようにする。なお、
図21(a),(b)において、ノイズフォルマント音
発生部NFGは、DSP3,DSP4においてノイズ波
形データTRuを発生する処理機能に対応するものであ
る。このノイズ波形データTRuをFM合成した楽音波
形データに加算する処理は、DSP1の「ミキシング演
算」の処理機能に対応している。勿論、ノイズ波形デー
タTRuを付加するか否かは適宜選択可能である。な
お、上記以外の任意のFM演算アルゴリズムが適宜実現
可能であることは言うまでもない。
【0263】〔変更例の説明〕以上述べた通り、本発明
に係るディジタル信号処理装置では、複数のディジタル
シグナルプロセッサDSP1〜DSP4の協働に基づ
き、楽音波形合成演算が行われる。尚、上記実施例で
は、ディジタル楽音波形合成のための演算及び処理を、
4個のディジタルシグナルプロセッサに分担させて割り
振っているが、これに限らず、任意の複数個のディジタ
ルシグナルプロセッサに分担させて処理させるようにし
てよい。また、この実施例では、ディジタル楽音波形合
成のための演算及び処理を、「位相演算」,「エンベロ
ープ演算」,「ノイズ演算」,「波形生成演算」,「ミ
キシング演算」の5種類に分類しているが、これに限ら
ず、適宜の種類の演算に分類するようにしてよい。
【0264】すなわち、上記実施例では、ディジタル楽
音波形合成のための一連の演算処理を、「位相演算」,
「エンベロープ演算」,「ノイズ演算」,「波形生成演
算」,「ミキシング演算」の5種類に分類し、これを4
つのDSP1〜DSP4に分担させて割り振っている
が、演算処理の分割の仕方及びDSPの使用数は、実現
すべき楽音処理の使用や楽音発生チャンネル数及びDS
Pの能力等に応じて、適宜定めることができるものであ
る。例えば、楽音発生チャンネル数を増す場合は、同じ
演算処理を行う複数のDSPを異なるチャンネルグルー
プに対応して併設するようにしてもよい。また、この発
明に係る1つのシステムの中に組み込むDSPの数を適
宜に増加又は減少することができるように構成してもよ
い。例えば、特にDSPの増加に対応できるように、図
1のパラメータバスPBUS及びデータバスDBUSを
延長又は拡張できるように構成し、必要な数のDSPを
増設できるようにしてよい。その場合、DSPのみなら
ず、パラメータ供給制御を行うためのマイクロコンピュ
ータCOM側の制御プロセッサ(CPU)やメモリ、各
種入出力インターフェース等も必要に応じて増設するよ
うにしてよい。それによって、演算処理機能の追加や楽
音発生チャンネルの増加に対処することができる。
【0265】また、上記実施例では、楽音合成方式とし
てフォルマント音合成方式とFM合成方式の2種類の方
式が実現可能であり、夫々に対応するマイクロプログラ
ムをディジタルシグナルプロセッサに記憶させるように
しているが、これに限らず、更に別の楽音波形合成方式
によるマイクロプログラムを記憶させる、若しくは別の
2種類の楽音波形合成方式によるマイクロプログラムを
記憶させる、若しくは、いずれか1種類の楽音波形合成
方式によるマイクロプログラムのみを記憶させる等々、
任意に変形してよい。また、本発明は、上記実施例のよ
うにディジタル楽音波形合成のための演算及び処理を複
数のディジタルシグナルプロセッサに分担させて実行す
る例に限らず、残響,コーラス,ピッチチェンジのよう
な各種の楽音効果を付与するための演算及び処理機能を
複数のディジタルシグナルプロセッサに分担させ、それ
らの協働によって各楽音効果若しくは音響効果の付与処
理を行うようにしてもよい。その場合、処理の対象とな
るディジタル楽音信号若しくはサウンド信号が、ディジ
タル信号処理部に入力され、処理される。勿論、ディジ
タル楽音波形合成処理と楽音効果等の付与処理とを組み
合わせて実行するように構成してもよい。更には、人声
音のような音声音を合成若しくは処理する装置において
もこの発明を適用することができるし、ビデオゲームや
ビデオ・オーディオソフト等で使用する擬音等の効果音
を合成若しくは処理する装置においてもこの発明を適用
することができるものであり、要するにサウンド信号の
合成及び/または処理の全般においてこの発明を適用す
ることができる。
【0266】また、各DSP1〜DSP4におけるマイ
クロプログラム供給部5(図3)でのマイクロプログラ
ムの記憶法は、必要なすべてのマイクロプログラムをゲ
ートアレイによって固定的に記憶しておき、楽音合成ア
ルゴリズムの指定に応じて任意のマイクロプログラムを
選択読み出しするようにしてもよいし、または、記憶す
るマイクロプログラム内容をマイクロコンピュータ部C
OM側の制御によって任意に書き替えることができるよ
うにしたものでもよい。後者のようなプログラム書き替
え法を採用する場合、全ステップの書替えを行うのでは
なく、例えば前述のフォルマント音合成方式とFM合成
方式との間で共通部分や無視できる部分があったよう
に、共通部分や無視できる部分のプログラムは書き替え
ずに、必要な部分の一部書替えのみを行うようにすると
よい。そうすると、プログラム書替えに要する時間が短
くて済み、また、マイクロコンピュータ部COM側で用
意しておくべき書替え用のマイクロプログラムデータは
全ステップのデータである必要がなくなるので、記憶容
量を節約することができる。また、上記実施例において
は各DSP1〜DSP4毎にマイクロプログラム供給部
5を設けたが、これに限らず、各DSPに対応するマイ
クロプログラムを記憶したメモリ(あるいはゲートアレ
イ)をそれぞれ共通のプログラムカウンタ(あるいはプ
ログラムカウンタに類するタイミング信号発生器)で順
次演算ステップに合わせて読み出し、各DSPに対して
それぞれに対応するマイクロプログラムを供給するよう
な方式としてもよい。
【0267】なお、上記実施例において、或るDSP
(例えばDSP1)で作成してそのRAMに記憶してい
るデータを、他のDSP(例えばDSP4)で利用する
場合、各DSP毎のマイクロプログラムに従って夫々の
読み出し動作や取り込み動作を行い、結果的に複数DS
Pによる協働した処理が行えるようになっている。しか
し、本発明は、このように各DSP毎のマイクロプログ
ラムに従って夫々の読み出し動作や取り込み動作を行う
実施態様に限定されるものではなく、例えば、或るDS
P(例えばDSP1)で作成してそのRAMに記憶して
いるデータを、他のDSP(例えばDSP4)で利用し
たい場合、該他のDSP(例えばDSP4)から或るD
SP(例えばDSP1)に対して要求信号を送出し、そ
の要求信号に応じて或るDSP(例えばDSP1)では
必要なデータをそのRAMから読み出して、該他のDS
P(例えばDSP4)に与えるようにしてもよい。
【0268】〔チャンネル同期動作の追加説明〕各チャ
ンネル毎のチャンネル同期動作フラグRBPの値に応じ
た同期発音制御例について更に説明する。図22及び図
23は、前述のような各DSP1〜DSP4の協働によ
って時分割的に実現される各楽音発生チャンネルCH1
〜CH18を、概念的に、並列的に図示した機能的ブロッ
ク図である。図22は、全チャンネルCH1〜CH18の
チャンネル同期動作フラグRBPの値が「0」の状態、
すなわち、どのチャンネルも他のチャンネルとの同期発
音制御を行わない状態を示す。KON1〜KON18は各
チャンネル毎のキーオン信号KONであり、また、FN
UM1〜FNUM18は各チャンネル毎のピッチ周波数ナ
ンバーFNUMである。この状態では、マイクロコンピ
ュータ部COM及びインタフェースCIFを介して、夫
々のチャンネルに対応して独立に供給されるキーオン信
号KON1〜KON18及びピッチ周波数ナンバーFNU
M1〜FNUM18が、各チャンネルCH1〜CH18に個別
に与えられる。また、各チャンネルCH1〜CH18に対
応するその他のパラメータ群(図19に示したFNUM
とKON以外のパラメータ群)も、マイクロコンピュー
タ部COM及びインタフェースCIFを介して夫々のチ
ャンネルに対応して与えられる。各チャンネルCH1〜
CH18では、これらのパラメータに基づき、指定された
楽音合成アルゴリズムに従う音色特徴を持つ楽音信号
を、独自の音高と発音タイミングで、夫々発生する。図
23は、いくつかのチャンネルについて、チャンネル同
期動作フラグRBPの値が「1」の状態、すなわち、他
のチャンネルとの同期発音指定がなされている状態を例
示的に示す。図の例では、チャンネルCH1がRBP=
0,チャンネルCH2〜CHkが夫々RBP=1,チャン
ネルCHk+1,CHk+2が夫々RBP=0,チャンネルC
Hk+3がRBP=1、チャンネルCH18がRBP=0の
例を示している。なお、kは適宜の数とする。
【0269】前述の通り、RBP=1のチャンネルで
は、それより小さなチャンネル番号の隣接チャンネルに
発音同期するよう制御されるので、図23の例では、チ
ャンネルCH2はチャンネルCH1に発音同期するよう制
御され、また、チャンネルCH2〜CHkではすべてR
BP=1であるから、結局、これらのチャンネルCH2
〜CHkは、すべて、それより小さなチャンネル番号の
順次隣接チャンネルのうちチャンネル同期動作フラグR
BPの値が「0」であるチャンネルCH1に発音同期す
るよう制御される。こうして、チャンネルCH2〜CHk
がチャンネルCH1に発音同期するよう指定され、これ
らのチャンネルCH2〜CHkには、すべて同じチャンネ
ルCH1のキーオン信号KON1及びピッチ周波数ナンバ
ーFNUM1が供給されて、同じ音高及び発音タイミン
グで楽音信号が夫々発生される。その他のパラメータ群
(図19に示したFNUMとKON以外のパラメータ
群)は、夫々のチャンネルCH1〜CHk毎に独立に与え
られる個別のデータからなるものであるので、各チャン
ネルCH1〜CHkで発生される楽音信号の音高と発音タ
イミングは共通であるが、音色等その他の楽音特性は、
夫々のチャンネルに対応する特有のものである。従っ
て、例えば、各チャンネルCH1〜CHkでの楽音合成方
式としてフォルマント音合成方式を採用する場合は、夫
々のフォルマント周波数ナンバーFORM等を異ならせ
ることにより、音高と発音タイミングは同じであるが、
フォルマント中心周波数が異なる複数の楽音信号を各チ
ャンネルCH1〜CHkで合成することができ、結果的
に、多フォルマント構造の1つの楽音信号を合成するこ
とと等価となる。勿論、発音同期すべき各チャンネルC
H1〜CHkでの楽音合成方式としてはフォルマント音合
成方式に限らず、FM合成方式であってもよく、若しく
は或るチャンネルはフォルマント音合成方式、別のチャ
ンネルはFM方式、というように両方式を混在させたも
のであってもよく、その場合も複数の倍音成分群の組合
せからなる楽音信号を容易に合成することができる。
【0270】更に、図23の例では、チャンネルCHk+
1とCHk+2が夫々RBP=0であるから、これらのチャ
ンネルCHk+1とCHk+2では夫々独自のキーオン信号K
ONk+1,KONk+2とピッチ周波数ナンバーFNUMk+
1,FNUMk+2及びその他のパラメータに基づき、夫々
独立に楽音信号が発生される。また、チャンネルCHk+
3ではRBP=1であるから、その前のチャンネルCHk
+2に発音同期するように制御される。以下、同様に、残
りのチャンネルについても、夫々のチャンネル同期動作
フラグRBPの値に応じて、隣接チャンネルとの発音同
期又は非同期の制御がなされる。上記実施例において、
発音同期すべきことが指定された或るチャンネルCHk
のキーオン信号KONkとピッチ周波数ナンバーFNU
Mkを所定チャンネルCHk-1(つまり隣接チャンネル)
のものに変更又は一致すなわち同期化させる処理は、図
1の構成のどの部分で行うようにしてもよい。例えば、
コンピュータインタフェースCIFにおいて、マイクロ
コンピュータ部COMから与えられる各チャンネルのパ
ラメータをバッファしておき、そこで、各チャンネルの
フラグRBPの内容をチェックして、その内容に応じて
上記のように発音同期動作条件を満足させるように夫々
のチャンネルのキーオン信号KONとピッチ周波数ナン
バーFNUMを供給するようにしてもよい。あるいは、
DSP1及びDSP2の内部で各チャンネルのフラグR
BPの内容をチェックして、その内容に応じて上記のよ
うに発音同期動作条件を満足させるように夫々のチャン
ネルのキーオン信号KONとピッチ周波数ナンバーFN
UMを供給するようにしてもよい。
【0271】上記から明らかなように、各チャンネル毎
のチャンネル同期動作フラグRBPの値は、任意に可変
できるので、その都度の楽音発生機会毎に、各チャンネ
ルのフラグRBPの値を任意に可変設定することによ
り、様々な組み合わせで複数チャンネルを発音同期させ
て多様なフォルマント構成又は倍音成分群組合せからな
る楽音信号を合成することを、容易に、且つ限られた楽
音発生チャンネル構成を用いて、実現することができ
る、という効果を奏する。なお、上記の例では、チャン
ネル同期動作フラグRBPによって同期発音すべきこと
が指定された複数チャンネルでは、発音タイミングと音
高を共通にしているが、これに限らず、発音タイミング
を共通にし、音高はわずかにずらす若しくは整数倍でず
らす等の適宜の変形を施してもよい。あるいは、発音タ
イミングと音高に限らず、一部の音色設定用又は音量設
定用パラメータ等を共通にしてもよい。あるいは、発音
開始タイミングをわずかに若しくは適量ずらすようにし
てもよい。
【0272】また、上記実施例では、チャンネル同期動
作フラグRBPの値“1”によって他のチャンネルと同
期発音すべきことが指定されると、それより小さいチャ
ンネル番号の隣接チャンネルに連鎖的に同期させるよう
にしているが、その反対に、それより大きいチャンネル
番号の隣接チャンネルに連鎖的に同期させるようにして
もよいものである。また、上記実施例のように隣接チャ
ンネルに連鎖的に同期させずに、隣接する1チャンネル
のみに同期するように変更することも可能である。ま
た、上記実施例では、同期発音指定データとしてフラグ
RBPのみを用いて制御しており、それはそれで制御が
容易であるという利点を持つものであるが、これに限ら
ず、その他のデータを用いてもよい。例えば、チャンネ
ル同期動作フラグRBPにプラスして同期すべき所望の
チャンネルを指定するチャンネルデータを付加してもよ
く、そうすれば、隣接チャンネルに限らず、任意のチャ
ンネル同士を同期させることができる。また、変形例と
して、発音同期動作モードのときは、所定の1つのチャ
ンネルを基本チャンネルと定め、同期発音すべきことが
指定された任意のチャンネルを該基本チャンネルに同期
させるようにしてもよい。その他、種々の変形が許容さ
れる。
【0273】また、上記実施例では、上記のチャンネル
同期動作を実現するにあたって、複数の楽音発生チャン
ネルを具備する楽音信号発生装置として図1に示すよう
なディジタル信号処理部DSPSを使用しているが、こ
れに限らず、その他の任意の構成の楽音信号発生装置を
用いてもよい。例えば、図1に示すような並列構成のマ
ルチDSPに限らず、1つのディジタル信号処理回路を
用いて複数チャンネル分の楽音信号発生装置を構成し、
それにおいて上記のチャンネル同期動作を実施するよう
にしてもよい。あるいは、マイクロコンピュータを用い
たソフトウェア処理によって任意の楽音合成アルゴリズ
ムを実現するようにした楽音信号発生装置において上記
のチャンネル同期動作を実施するようにしてもよい。あ
るいは、純ハードウェア構成の複数チャンネル時分割処
理方式の楽音信号発生回路を用いたものにおいて上記の
チャンネル同期動作を実施するようにしてもよい。ある
いは、複数チャンネルの個別楽音信号発生回路を並列的
に具備したものにおいて上記のチャンネル同期動作を実
施するようにしてもよい。
【0274】この明細書中で示された発明若しくは技術
事項のいくつかを項目別に列挙すると、次のようであ
る。 (項目1) 目的とするサウンド信号処理のために必要
な複数のパラメータを供給するパラメータ供給手段と、
複数の独立したディジタル信号処理手段であって、これ
らのディジタル信号処理手段の各一つが、演算処理に必
要なパラメータを入力し、該入力されたパラメータと設
定されたプログラムとに従ってディジタル入力データに
対して所定の演算処理を施し、処理を施したデータを出
力するものである、前記複数のディジタル信号処理手段
と、前記各ディジタル信号処理手段に共通に接続された
第1のバスを含み、前記パラメータ供給手段から供給さ
れた前記複数のパラメータの各々を該第1のバスを介し
て所定のディジタル信号処理手段に対して分配し入力す
るパラメータ入力手段と、前記各ディジタル信号処理手
段に共通に接続された第2のバスを含み、該第2のバス
を介して前記各ディジタル信号処理手段の出力データを
伝達するデータ伝達手段とを具え、少なくとも1つの所
定の前記ディジタル信号処理手段では、他の前記ディジ
タル信号処理手段からの出力データを前記第2のバスを
介して取り込み、取り込んだデータを入力データとして
用いて前記所定の演算処理を施し、これにより、前記複
数の各ディジタル信号処理手段による演算処理の組合せ
により前記目的とするサウンド信号処理が遂行され、そ
の結果として処理されたサウンド信号が前記複数のディ
ジタル信号処理手段のうち所定のディジタル信号処理手
段の出力データとして前記第2のバスに与えられること
を特徴とするディジタル信号処理装置。 (項目2) 前記ディジタル信号処理手段の各々におい
ては、前記プログラムを複数のステップで時分割的に実
行することにより前記所定の演算処理を遂行し、一方、
前記各ディジタル信号処理手段間では各々の前記所定の
演算処理が同時並行的に実行される項目1に記載のディ
ジタル信号処理装置。 (項目3) 前記ディジタル信号処理手段の各々が、演
算部と、その演算結果を格納する格納部と、前記所定の
演算処理の手順を定義するマイクロプログラムを記憶し
たプログラム記憶部と、該マイクロプログラムに従って
前記演算部及び格納部を制御して該所定の演算処理を実
行させる制御部とを含むものである項目1に記載のディ
ジタル信号処理装置。 (項目4) 前記ディジタル信号処理手段の各々が、1
個の集積回路によって構成されている項目1又は3に記
載のディジタル信号処理装置。 (項目5) 少なくとも1つの前記ディジタル信号処理
手段が、所望の音高周波数に対応する楽音波形の位相デ
ータを発生する演算処理を行うものである項目1に記載
のディジタル信号処理装置。 (項目6) 少なくとも1つの前記ディジタル信号処理
手段が、楽音を時間的に制御するためのエンベロープ信
号データを発生する演算処理を行うものである項目1又
は5に記載のディジタル信号処理装置。 (項目7) 少なくとも1つの前記ディジタル信号処理
手段が、他の前記ディジタル信号処理手段から出力され
た位相データとエンベロープ信号データとを前記第2の
バスを介して取り込み、これらのデータに基づき楽音波
形データを発生する演算処理を行うものである項目1又
は5又は6に記載のディジタル信号処理装置。 (項目8) 前記目的とするサウンド信号処理は、ディ
ジタルサウンド波形信号を合成する処理及びディジタル
サウンド波形信号に対して音響効果を付与する処理のう
ち少なくとも1つである項目1に記載のディジタル信号
処理装置。
【0275】(項目9) 複数のチャンネルでサウンド
信号を合成するサウンド信号合成装置において、サウン
ド合成のための一連の信号処理を複数の信号処理部分に
分割したうちの各一つの信号処理部分に対応する演算処
理を夫々実行するための複数の演算処理手段であって、
該各演算処理手段は並列的に設けられていて、対応する
前記各演算処理を同時並行的に行うものであり、かつ、
前記演算処理手段の各一つが、個々の演算処理手段に独
自の時分割処理タイミングで各チャンネル毎の演算処理
を時分割的に実行し、この演算処理結果を出力するもの
であり、かつ、前記演算処理手段の少なくとも1つが他
の前記演算処理手段の演算処理結果を用いて前記演算処
理を行うものである、前記複数の演算処理手段と、前記
各演算処理手段が共通に接続されたバスを含み、各演算
処理手段の演算処理結果を該バスを介して他の演算処理
手段又はサウンド信号の出力ポートに与えるデータ伝達
手段と、前記各演算処理手段に対して各チャンネル毎の
サウンド信号合成に必要なパラメータを供給するパラメ
ータ供給手段とを具えるサウンド信号合成装置。 (項目10) 前記各演算処理手段におけるチャンネル
時分割処理タイミングが、各演算処理手段相互の演算処
理結果の利用形態に合わせて相互にずらされているもの
である項目9に記載のサウンド信号合成装置。 (項目11) 前記演算処理手段のうちの1つが、楽音
を時間的に制御するためのエンベロープ信号データを発
生する演算処理を行うものであり、前記演算処理手段の
うちの別の1つが、前記発生されたエンベロープ信号デ
ータに対応して制御された楽音波形信号を発生する演算
処理を行うものである項目9に記載のサウンド信号合成
装置。 (項目12) 前記演算処理手段のうちの1つが、所望
の音高周波数に対応する楽音波形の位相データを発生す
る演算処理を行うものである項目9又は11に記載のサ
ウンド信号合成装置。 (項目13) 前記演算処理手段のうちの或る第1の演
算処理手段が、所定の第1のサウンド合成アルゴリズム
に従って第1のサウンド波形信号を合成する演算処理を
行うものであり、前記演算処理手段のうちの或る第2の
演算処理手段が、所定の第2のサウンド合成アルゴリズ
ムに従って第2のサウンド波形信号を合成する演算処理
を行うものであり、前記演算処理手段のうちの或る第3
の演算処理手段が、サウンドを時間的に制御するための
エンベロープ信号データを発生する演算処理を行うもの
であり、前記第1及び第2の演算処理手段において合成
する前記第1及び第2のサウンド波形信号のエンベロー
プを前記第3の演算処理手段において発生したエンベロ
ープ信号データによって制御するようにした項目9に記
載のサウンド信号合成装置。 (項目14) 少なくとも前記第1の演算処理手段で
は、前記第1のサウンド合成アルゴリズムをパラメータ
に応じて変更することができる項目13に記載のサウン
ド信号合成装置。 (項目15) 前記各演算処理手段は、演算処理結果を
記憶する記憶手段を含み、この記憶手段を介して該演算
処理結果を前記バスに与えるようにした項目9に記載の
サウンド信号合成装置。 (項目16) 前記記憶手段は、対応する演算処理手段
におけるチャンネル時分割処理タイミングに対応して該
演算処理手段の演算処理結果の書き込み制御を行い、該
演算処理結果を利用しようとする他の演算処理手段にお
けるチャンネル時分割処理タイミングに対応して該演算
処理結果の読み出し制御を行うものである項目15に記
載のサウンド信号合成装置。
【0276】(項目17) 目的とするサウンド信号処
理のために必要な複数のパラメータを供給するパラメー
タ供給手段と、複数の独立したディジタル信号処理手段
であって、これらのディジタル信号処理手段の各一つ
が、演算処理に必要なパラメータを入力し、該入力され
たパラメータと設定されたプログラムとに従ってディジ
タル入力データに対して所定の演算処理を施す演算処理
部と、該演算処理部から出力される処理結果データを記
憶するための書き込みポートと読み出しポートを夫々有
するデュアルポートメモリとを含むものである、前記複
数のディジタル信号処理手段と、前記各ディジタル信号
処理手段に共通に接続された第1のバスを含み、前記パ
ラメータ供給手段から供給された前記複数のパラメータ
の各々を該第1のバスを介して所定のディジタル信号処
理手段に対して分配し入力するパラメータ入力手段と、
前記各ディジタル信号処理手段に共通に接続された第2
のバスを含み、該第2のバスを介して前記各ディジタル
信号処理手段の前記デュアルポートメモリの読み出しポ
ートから読み出した出力データを伝達するデータ伝達手
段とを具え、少なくとも1つの所定の前記ディジタル信
号処理手段では、他の前記ディジタル信号処理手段から
の出力データを前記第2のバスを介して取り込み、取り
込んだデータを入力データとして用いて前記所定の演算
処理を施すようになっており、前記デュアルポートメモ
リを介して前記処理結果データを他のディジタル信号処
理手段の利用に供することにより、各ディジタル信号処
理手段が独立のタイミングで動作できるようにしたこと
を特徴とするディジタル信号処理装置。
【0277】(項目18) 複数のチャンネルにおい
て、夫々独立に与えられるパラメータに基づいて個別に
サウンド信号を発生するサウンド信号発生手段と、前記
各チャンネルに対応して、少なくとも発音指定情報と他
チャンネルとの同期発音をすべきか否かを指定する同期
発音指定データとを含む前記パラメータを、夫々供給す
るパラメータ供給手段と、前記各チャンネルに対応して
供給される前記同期発音指定データに基づき、同期発音
指定がなされているチャンネルにおいては所定の他のチ
ャンネルのサウンド発生に同期してサウンドを発生させ
るよう、前記サウンド信号発生手段を制御する制御手段
とを具えるサウンド信号合成装置。 (項目19) 前記所定の他のチャンネルは、前記同期
発音指定がなされているチャンネルに隣接している同期
発音指定がなされていないチャンネルである前記項目1
8に記載のサウンド信号合成装置。 (項目20) 前記制御手段は、前記同期発音指定がな
されているチャンネルにおけるサウンド発生タイミング
と音高を、前記所定の他のチャンネルのサウンド発生タ
イミングと音高に同期させるよう制御する前記項目18
又は19に記載のサウンド信号合成装置。 (項目21) 前記パラメータには、音色設定・制御用
のパラメータが含まれており、前記サウンド信号発生手
段においては、これらの音色設定・制御用のパラメータ
については、前記同期発音指定の可否に拘らず、各チャ
ンネルに対応する独自の該パラメータを使用して各チャ
ンネルにおけるサウンド信号合成を行うものである前記
項目20に記載のサウンド信号合成装置。
【0278】
【発明の効果】 以上のように、この発明によれば、他
チャンネルとの同期発音をすべきか否かを指定する同期
発音指定データを各チャンネル毎に独立に与え、これに
基づき複数の任意のチャンネル同士で発音同期制御を行
うようにしたので、様々な組み合わせで複数チャンネル
を発音同期制御することができる
【0279】 また、発音同期するチャンネル同士で異
なるフォルマント構成あるいは倍音成分構成の音を組み
合わせて全体として1つの複雑な楽音信号を合成するこ
とができ、従って、単に、各チャンネル毎の同期発音指
定データを任意に設定するだけで、様々な組み合わせで
複数チャンネルを発音同期させて多様なフォルマント構
成又は倍音成分群の組合せからなる楽音信号を合成する
ことを、容易に、且つ限られた楽音発生チャンネル構成
を用いて、実現することができる。
【図面の簡単な説明】
【図1】 この発明に係るディジタル信号処理装置を採
用した電子楽器の一実施例の全体構成ブロック図。
【図2】 図1における各DSP間の信号及び情報の流
れを示す機能ブロック図。
【図3】 1つのDSPの基本的構造例を示すブロック
図。
【図4】 図1における各DSP内に設けられるデュア
ルポートRAMの記憶マップの一例を示す図。
【図5】 図1におけるDSP1のハードウェア構成例
を示すブロック図。
【図6】 図1におけるDSP3のハードウェア構成例
を示すブロック図。
【図7】 図1におけるDSP4のハードウェア構成例
を示すブロック図。
【図8】 各DSPの時分割処理チャンネルタイミング
の関係を例示するタイムチャート。
【図9】 フォルマント音合成方式に従って処理を行う
時のDSP1のマイクロプログラムの各ステップの動作
例を示すタイムチャート。
【図10】 DSP1によって実行される演算処理機能
を展開して示す機能ブロック図。
【図11】 DSP3のマイクロプログラムの各ステッ
プの動作例を示すタイムチャート。
【図12】 DSP3によって実行される演算処理機能
を展開して示す機能ブロック図。
【図13】 フォルマント音合成方式に従って処理を行
う時のDSP4のマイクロプログラムの各ステップの動
作例を示すタイムチャート。
【図14】 DSP4によって実行される演算処理機能
を展開して示す機能ブロック図。
【図15】 FM合成方式に従って処理を行う時のDS
P1のマイクロプログラムの各ステップの動作例を示す
タイムチャート。
【図16】 FM合成方式に従って処理を行う時のDS
P4のマイクロプログラムの各ステップの動作例を示す
タイムチャート。
【図17】 フォルマント音合成時にDSP1で作成さ
れる各種位相データの例を示す波形図。
【図18】 フォルマント音合成時にDSP4で生成さ
れる各種楽音波形の一例を示す波形図。
【図19】 電子楽器のマイクロコンピュータ部から各
DSPに与えられるパラメータデータの一例を示す一覧
図。
【図20】 所定の複数のDSPの協働によって実現さ
れるFM合成演算用の1つのオペレータにおける演算処
理機能を略示する機能ブロック図。
【図21】 FM合成演算用の複数のオペレータの組合
せによって実現されるFM合成演算アルゴリズムの例を
示す機能ブロック図。
【図22】 チャンネル同期動作の一例を、全チャンネ
ルのチャンネル同期動作フラグRBPの値が「0」の状
態の場合について、各チャンネルを概念的に並列的に配
置して、示す機能的ブロック図。
【図23】 チャンネル同期動作の別の例を、或るいく
つかのチャンネルのチャンネル同期動作フラグRBPの
値が「1」の状態の場合について、各チャンネルを概念
的に並列的に配置して、示す機能的ブロック図。
【符号の説明】
DSPS ディジタル信号処理部 DSP1,DSP2,DSP3,DSP4 ディジタル
シグナルプロセッサ COM マイクロコンピュータ部 OPS 操作子部 CIF コンピュータインターフェース PBUS パラメータバス DBUS データバス DIF データインターフェース DAC ディジタル/アナログ変換器 SS サウンドシステム CLKG クロック発生器 MIF メモリインターフェース WM 波形メモリ 5 マイクロプログラム供給部 6 制御信号発生部 7 演算及び記憶部 8 演算部 ALU1,ALU2,ALU3,ALU4 演算器 RAM1〜RAM4 デュアルポート型のランダムアク
セスメモリ REG1,REG2,REG3,REG4,AREG
レジスタ

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のチャンネルにおいて、夫々独立に
    与えられるパラメータに基づいて個別にサウンド信号を
    発生するサウンド信号発生手段と、 前記各チャンネルについて、他チャンネルとの同期発音
    をすべきか否かを指定する同期発音指定データを設定す
    る設定手段と、 発音指定情報を発生し、前記サウンド信号発生手段の複
    数のチャンネルに供給する発音指定情報発生手段と、 前記設定手段により設定された同期発音指定データが他
    チャンネルとの同期発音を指定していないチャンネルに
    おいては、当該チャンネルに対して前記発音指定情報発
    生手段から供給された発音指定情報に基づいてサウンド
    を発生させ、前記設定手段により設定された同期発音指
    定データが他チャンネルとの同期発音を指定しているチ
    ャンネルにおいては、当該チャンネルとは異なる他チャ
    ンネルに対して前記発音指定情報発生手段から供給され
    た発音指定情報に基づいてサウンドを発生させるよう、
    前記サウンド信号発生手段を制御する制御手段とを具え
    るサウンド合成装置。
  2. 【請求項2】 複数のチャンネルにおいて、夫々独立に
    与えられるパラメータに基づいて個別にサウンド信号を
    発生するサウンド信号発生手段と、 前記各チャンネルに対応して、少なくとも発音指定情報
    と他チャンネルとの同期発音をすべきか否かを指定する
    同期発音指定データとを含む前記パラメータを、夫々供
    給するパラメータ供給手段と、 前記各チャンネルに対応して供給される前記同期発音指
    定データに基づき、同期発音指定がなされているチャン
    ネルにおいては所定の他チャンネルのサウンド発生に同
    期してサウンドを発生させるよう、前記サウンド信号発
    生手段を制御する制御手段とを具え、同期してサウンド
    を発生するチャンネルの数が異なる楽音を同時に発生可
    能にしたサウンド合成装置。
  3. 【請求項3】 同期発音の対象となる前記他チャンネル
    は、前記同期発音指定がなされているチャンネルに隣接
    している同期発音指定がなされていないチャンネルであ
    る請求項1または2に記載のサウンド合成装置。
  4. 【請求項4】 前記制御手段は、同期発音制御にあたっ
    て、前記同期発音指定がなされているチャンネルにおけ
    るサウンド発生タイミングと音高を、前記他チャンネル
    のサウンド発生タイミングと音高に同期させるよう制御
    する請求項1乃至3のいずれかに記載のサウンド合成装
    置。
  5. 【請求項5】 前記パラメータには、音色設定・制御用
    のパラメータが含まれており、前記サウンド信号発生手
    段においては、これらの音色設定・制御用のパラメータ
    については、前記同期発音指定の可否に拘らず、各チャ
    ンネルに対応する独自の該パラメータを使用して各チャ
    ンネルにおけるサウンド信号合成を行うものである請求
    項1乃至4のいずれかに記載のサウンド合成装置。
JP10137598A 1995-02-28 1998-05-02 サウンド合成装置 Expired - Fee Related JP3092592B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10137598A JP3092592B2 (ja) 1995-02-28 1998-05-02 サウンド合成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-67110 1995-02-28
JP6711095 1995-02-28
JP10137598A JP3092592B2 (ja) 1995-02-28 1998-05-02 サウンド合成装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP7117672A Division JP2812246B2 (ja) 1995-01-13 1995-04-20 ディジタル信号処理装置

Publications (2)

Publication Number Publication Date
JPH10293590A JPH10293590A (ja) 1998-11-04
JP3092592B2 true JP3092592B2 (ja) 2000-09-25

Family

ID=26408294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10137598A Expired - Fee Related JP3092592B2 (ja) 1995-02-28 1998-05-02 サウンド合成装置

Country Status (1)

Country Link
JP (1) JP3092592B2 (ja)

Also Published As

Publication number Publication date
JPH10293590A (ja) 1998-11-04

Similar Documents

Publication Publication Date Title
KR100386918B1 (ko) 디지탈신호 처리장치와 음성 및 악음 합성장치
JPS644199B2 (ja)
US5703312A (en) Electronic musical instrument and signal processor having a tonal effect imparting function
JPH027078B2 (ja)
JP3358324B2 (ja) 電子楽器
JP2812246B2 (ja) ディジタル信号処理装置
JP3092592B2 (ja) サウンド合成装置
JP3092591B2 (ja) ディジタル信号処理装置
JPH0950281A (ja) 可変アルゴリズム音源および音色編集装置
JPH0310959B2 (ja)
US5687105A (en) Processing device performing plural operations for plural tones in response to readout of one program instruction
JP3011064B2 (ja) 楽音処理装置
JP3016470B2 (ja) 音源装置
JP3552265B2 (ja) 音源装置および音声信号形成方法
JP3094759B2 (ja) 楽音信号分配処理装置
JPH08146965A (ja) 楽音生成装置
JPS6352399B2 (ja)
JP3104873B2 (ja) 音源装置
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JP2910632B2 (ja) 波形メモリ音源装置
JPH01269994A (ja) 楽音信号発生装置
JP3520553B2 (ja) 音源装置
JP2518082B2 (ja) 楽音信号発生装置
JPH06149250A (ja) 変調信号発生装置
JP3405170B2 (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: 20090728

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees