JPH056176A - 効果付加装置 - Google Patents

効果付加装置

Info

Publication number
JPH056176A
JPH056176A JP3156582A JP15658291A JPH056176A JP H056176 A JPH056176 A JP H056176A JP 3156582 A JP3156582 A JP 3156582A JP 15658291 A JP15658291 A JP 15658291A JP H056176 A JPH056176 A JP H056176A
Authority
JP
Japan
Prior art keywords
register
waveform
stored
result
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3156582A
Other languages
English (en)
Other versions
JP3141427B2 (ja
Inventor
Shiro Ishiguro
士郎 石黒
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP03156582A priority Critical patent/JP3141427B2/ja
Publication of JPH056176A publication Critical patent/JPH056176A/ja
Application granted granted Critical
Publication of JP3141427B2 publication Critical patent/JP3141427B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 入力される原音の音高に対してオクターブ高
い音高の楽音を発生させて、これを混合することによ
り、楽音の多様性を確保する。 【構成】 入力される音響信号を2乗する2乗処理
(A)21および2乗処理(B)25と、該処理21、
25により2乗された音響信号に対して所定のオフセッ
ト値を加算するオフセット加算2倍処理(A)22およ
びオフセット加算2倍処理(B)26と、該処理22、
26により加算された音響信号を所定のレベルでクリッ
プするクリップ処理(B)23およびクリップ処理
(C)27と、該処理23、27によりクリップされた
音響信号と前記入力される音響信号とを混合して出力す
る混合処理24とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子楽器等に用いられ
る効果付加装置に係わり、詳しくは入力される原音の音
高と、この原音の音高に対してオクターブ違いの音とを
ミックスして出力するオクターバと称される効果付加装
置に関する。
【0002】
【従来の技術】楽器、特に弦楽器の分野では、オクター
ブ奏法というものが古くから知られている。このオクタ
ーブ奏法は、1つの主音と、この主音に対して音高(特
に、音階)が1オクターブ異なる音とを同時に発生する
奏法である。なお、1オクターブ異なる音階とは、主音
に対して音の周波数が2倍又は1/2倍となるものであ
る。このオクターブ奏法は、単音奏法と比べて音楽的に
厚みのある演奏ができるという特徴がある。
【0003】しかしながら、このようなオクターブ奏法
は弦の押え方が特殊で難しく、特に熟練した者しかでき
ないという欠点があった。そのため、従来からこのオク
ターブ奏法時の演奏音を作り出すオクターバと称される
エフェクタ(効果付加装置)が提案され、実用化されて
いる。
【0004】このオクターバでは、一定音高の入力され
る原音信号をまず矩形波に変換するとともに、この矩形
波を1/2に分周又は1/4に分周し、さらにこの分周
した信号と入力された原音信号とをミックスして出力す
る構成となっている。このような方式では、原音と1オ
クターブ又は2オクターブ下の音とが混合されて発生
し、より厚みの増した音となり、楽音の多様性を満足す
るものとなる。
【0005】
【発明が解決しようとする課題】ところで、このような
従来のオクターバにあっては、原音に対してオクターブ
低い音階の音しか発生できず、原音に対して1オクター
ブ高い音階の音を発生させることができなかった。した
がって、従来あるオクターバではオクターブ奏法の効果
(以下、単にオクターブ効果という)を十分に付加する
ことができず、楽音の多様性に欠けるという問題点があ
った。
【0006】すなわち、従来のオクターバは分周器を用
いることにより原音信号の持つ周波数を1/2、1/4
に分周してオクターブ違いの音を作成している。しかし
ながら、周波数を2倍にすることは、PLL等の極めて
複雑な構成を必要とし、オクターブの低い音を作り出す
ときのように簡単なハード回路構成で行うことは、難し
いからであった。
【0007】したがって、オクターブ奏法による楽音を
発生させようとする場合、従来のオクターバでは原音に
対してオクターブ低い音は出せても、1オクターブある
いはそれ以上(例えば、2オクターブ)の高い音階の音
を発生させることができず、オクターブ効果が十分でな
くなって、楽音の多様性に欠けていた。その結果、従来
のオクターバを使用しても、オクターブ高の音は演奏者
の奏法で補わなければならず、オクターブ奏法を完全に
カバーするオクターバとしての機能が十分でなかった。
【0008】そこで本発明は、入力される原音に対して
オクターブ高い音高の楽音を発生させて楽音の多様性を
確保できる効果付加装置を提供することを目的としてい
る。
【0009】
【課題を解決するための手段】本発明による効果付加装
置は、入力される音響信号を偶数倍する演算手段と、こ
の演算手段により偶数倍された音響信号に対して所定の
オフセット値を加算するオフセット加算手段と、このオ
フセット加算手段により加算された音響信号を所定のレ
ベルでクリップするクリップ手段と、このクリップ手段
によりクリップされた音響信号と前記入力される音響信
号とを混合して出力する混合手段と、を備えたことを特
徴とする。
【0010】
【作用】本発明では、入力される音響信号は最初に偶数
倍乗、例えば2乗され、その後、偶数倍乗された音響信
号に対して所定のオフセット値が加算される。このと
き、負のオフセット値を適切に選ぶことにより、2乗さ
れた音響信号が反転を繰り返すゼロのライン位置が移動
して周期が1/2(周波数では2倍)となる。
【0011】また、加算された音響信号は所定のレベル
でデジタル的にクリップされ、次いで、クリップされた
音響信号と入力される音響信号とが混合して出力され
る。
【0012】この場合、クリップ処理では、例えばDS
Pが用いられ、DSP内の加算手段により加算された音
響信号同士を加算するとともに、この加算結果をDSP
内のレジスタで1ビットずつ上位へシフトさせることに
よって2倍し、その後、このような加算およびその結果
の2倍という処理を所定回数だけ繰り返すような処理が
行われる。
【0013】そのため、クリップ処理の演算結果をラッ
チするレジスタが桁あふれを起こし、クリップ波形の上
部が一定レベルでカットされて矩形波となる。したがっ
て、入力される原音に対して周期が1/2(周波数では
2倍)となる波形、すなわち1オクターブ高い音高の楽
音がハード回路で発生する。
【0014】なお、周期が1/2(周波数では2倍)と
なった波形に対して上記同様の処理を繰り返すことによ
り、例えば周期が1/4(周波数では4倍)の波形も容
易に生成できる。したがって、入力される音響信号(原
音)に対してオクターブ高い音高の信号をハード回路で
簡単に発生でき、楽音の多様性を確保できる。
【0015】
【実施例】以下、図面を参照して本発明の一実施例につ
いて説明する。図1は本発明に係る効果付加装置を電子
楽器に適用したときの一実施例の回路図である。図1に
おいて、1はピックアップであり、演奏者の弾弦による
弦の振動はピックアップ1によって検出され、アナログ
の電気信号に変換される。次いで、アナログの電気信号
は増幅器(オペアンプ)2によって増幅されて電子部3
に供給される。電子部3は入力信号に対してオクターブ
高い音階の楽音をハード回路によって付加するオクター
バに相当するもので、本実施例の大きな特徴部分であ
る。
【0016】このようにしてオクターブ効果が付加され
た楽音信号はコンデンサ4を介してトーンコントローラ
5によって音色が調整された後(コンデンサ4およびト
ーンコントローラ5からなるフィルタのカットオフ周波
数を変えることによって音色が調整される)、さらにボ
リウムコントローラ6によって音量が調整され、出力ジ
ャック7から外部(例えば、スピーカ)に取り出され
る。
【0017】次に、図2は電子部3の内部構成を示すブ
ロック図である。同図において、電子部3はA/D変換
器11、DSP(Digital signal Procc-esor)12、
D/A変換器13、CPU14、ROM15およびRA
M16によって構成される。A/D変換器11は増幅器
2によって増幅されたアナログの電気信号をA/D変換
してDSP12に供給し、DSP12は入力されるデジ
タルの楽音信号を処理してオクターブ効果を付加する。
【0018】CPU14は、図3に示すように、処理開
始の最初にイニシャライズされ(ステップS101)、
次いでDSP12に対してオクターブ効果付加のための
処理プログラム(マイクロプログラム)や処理に必要な
係数を転送する(ステップS102)という制御を行う
ものである。この場合、CPU14はROM15に記憶
されているプログラムに基づきRAM16をワークメモ
リとして電子部全体を制御する。そして、DSP12に
よってオクターブ効果の付加された楽音信号はD/A変
換器13によってデジタル信号からアナログ信号に変換
されて出力される。
【0019】次に、図4はDSP12におけるオクター
ブ効果付加のための処理を疑似的にブロック化した図で
ある。同図において用いられる各波形の一部を説明する
と、次の通りである(各波形の全体は後述の図33参
照)。
【0020】W(INP):入力波形 W(OTO):1/2分周した波形 W(OT1):1/4分周した波形 W(ML2):2倍した波形 W(MX2):4倍した波形 W(OUT):出力波形 そして、出力波形W(OUT)は入力波形W(IN
P)、1/2分周した波形W(OTO)、1/4分周し
た波形W(OT1)、2倍した波形W(ML2)および
4倍した波形W(MX2)を混合した波形である。ま
た、これらのうち1/2分周した波形W(OTO)、1
/4分周した波形W(OT1)、2倍した波形W(ML
2)および4倍した波形W(MX2)は矩形波となって
いる。
【0021】次に、オクターブ効果付加処理の動作原理
を、図4のブロック図を用いて説明する。最初に、原音
に対して1オクターブ上の音を発生する動作原理を説明
する。以下の説明においては、各処理内容を実行するハ
ード的な回路構成について、逐次その回路図を参照して
説明する。
【0022】原音に対して1オクターブ上の音を発生す
る処理は、入力波形W(INP)に対して2乗処理
(A)21、オフセット加算2倍処理(A)22および
クリップ処理(B)23を順次実行することにより得ら
れる。
【0023】すなわち、入力波形W(INP)は、まず
2乗処理(A)21に導かれて入力波形W(INP)自
体が2乗され、2乗波形W(ML0)が得られる。この
2乗処理(A)21を実行するハード的な回路構成は図
5のように示され、入力波形W(INP)自体は乗算器
31によって2乗され、乗算器31から2乗波形W(M
L0)が出力される。
【0024】次いで、2乗波形W(ML0)はオフセッ
ト加算2倍処理(A)22に導かれ、2乗波形W(ML
0)に対してマイナス(負)の値を有する所定のオフセ
ット値W(HF1)が加算され、その後、この加算結果
が2倍されて2倍波形W(ML2)が得られる。
【0025】このオフセット加算2倍処理(A)22を
実行するハード的な回路構成も同じく図5のように示さ
れ、2乗波形W(ML0)に対して加算器32によって
マイナスの値を有するオフセット値W(HF1)が加算
された後、乗算器33に送られる。乗算器33では加算
結果を乗算係数[2]によって示される数だけ乗算す
る。この場合、乗算係数が[2]であるから、乗算器3
3では送られてきた加算結果が2倍され、2倍波形W
(ML2)が得られる。
【0026】次いで、2倍波形W(ML2)はクリップ
処理(B)23に導かれ、2倍波形W(ML2)がDS
Pによって所定のレベルでデジタル的に振幅をカットす
ることが行われてクリップ波形W(ML3)が出力さ
れ、このクリップ波形W(ML3)は混合処理24に送
られる。
【0027】具体的な処理内容を述べると、DSP12
内では入力される2倍波形W(ML2)同士を加算する
とともに、この加算結果を2倍し(レジスタで1ビット
ずつ上位へシフトさせる処理を行う)、その後、このよ
うな加算およびその結果の2倍という処理を所定回数
(本実施例では5回)繰り返す。そして、このようにし
て、入力波形の振幅を増大させ、波形をラッチしている
DSPのレジスタが桁あふれを起こして、あたかも波形
の上部が一定レベルでカットされたかのような波形にし
て一定振幅の矩形波を発生させる。
【0028】このクリップ処理(B)23を実行するハ
ード的な回路構成は図6のように示される。図6におい
て、まず、入力される2倍波形W(ML2)同士は加算
器41によって加算され、その後、乗算器42に送られ
る。乗算器42では加算結果を乗算係数[2]によって
示される数だけ乗算する。この場合、乗算係数が[2]
であるから、乗算器42では送られてきた加算結果が2
倍され、2倍波形が得られる。この2倍波形は次段に送
られ、同様の加算および2倍処理が実行順次されてい
く。
【0029】すなわち、加算器41および乗算器42と
同様の処理を行う一連の加算器43、45、47、49
および乗算器44、46、48、50が、以後4段継続
している。したがって、全体では入力される2倍波形W
(ML2)に対して5段の加算および2倍の乗算処理が
ハード的に実行される。このとき、各段の演算波形をラ
ッチしているDSPのレジスタが桁あふれを起こして波
形の上部が一定レベルでカットされたようになって一定
振幅の矩形波が発生し、乗算器50からクリップ波形W
(ML3)として出力される。
【0030】上述したような原音に対して1オクターブ
上の音を発生する処理を実際の波形図を参照して説明す
ると、図7のようになる。図7(a)に示すように、入
力される波形c(例えば、上記入力波形W(INP)あ
るいは後述のW(ML2))が正弦波であるとすると、
これを2乗した場合、その結果f(例えば、上記2乗波
形W(ML0)あるいは後述のW(MX0))は図7
(b)のようになり、f=c2で表される。すなわち、
正弦波の負の部分がなくなり、全体的にやや三角波に近
似した波形となる。
【0031】次いで、図7(c)に示すように、2乗波
形f=c2に対してマイナスの値を有するオフセット値
s(例えば、W(HF1)あるいは後述のW(HX
1))を加算すると、その結果gはg=s+fとなる。
オフセット値sとしてs=cosθを採用すると、上記
三角波に近似した波形が下に下がってゼロのラインが三
角波の中程に移動したような形となる。これにより、正
弦波cに比べると、周期が1/2(周波数では2倍)と
なる。
【0032】次いで、オフセットした波形g=s+fを
2倍して図7(d)に示すような波形(例えば、W(M
L2)あるいは後述のW(MX2))とする。これによ
り、周期は変らないが、振幅を2倍に引き延ばした波形
h=2×gが得られる。
【0033】次いで、図7(e)に示すように、振幅を
2倍に引き延ばした波形hに対してクリップ処理を行う
ため、まず入力される波形h同士を加算するとともに、
この加算結果を2倍し(レジスタで1ビットずつ上位へ
シフトさせる)、さらに、このような加算およびその結
果の2倍という処理を5回繰り返すと、入力波形hの振
幅が増大し、波形をラッチしているDSPのレジスタが
桁あふれを起こして、波形の上部が一定レベルでカット
されたような波形となって、一定振幅の矩形波i(例え
ば、W(ML3)あるいは後述のW(MX3))が発生
する。
【0034】この矩形波iは上記正弦波cに比べると、
周期が1/2(周波数では2倍)となっている。したが
って、正弦波cに対して1オクターブ上の矩形波iが発
生したことになる。
【0035】次に、原音に対して2オクターブ上の音を
発生する動作原理を説明する。この2オクターブ上の音
は、上記オフセット加算2倍処理(A)22の結果であ
る2倍波形W(ML2)に対して、さらに同様の2乗処
理(B)25、オフセット加算2倍処理(B)26およ
びクリップ処理(C)27を順次実行することにより得
られる。
【0036】すなわち、オフセット加算2倍処理(A)
22の結果である2倍波形W(ML2)は、まず2乗処
理(B)25に導かれて2倍波形W(ML2)自体が2
乗され、2乗波形W(MX0)が得られる。この2乗処
理(B)25を実行するハード的な回路構成は図8のよ
うに示され、2倍波形W(ML2)自体が乗算器51に
よって2乗され、乗算器51から2乗波形W(MX0)
が出力される。
【0037】次いで、2乗波形W(MX0)はオフセッ
ト加算2倍処理(B)26に導かれ、2乗波形W(MX
0)に対してマイナスの値を有する所定のオフセット値
W(HX1)が加算され、その後、この加算結果が2倍
されて2倍波形W(MX2)が得られる。
【0038】このオフセット加算2倍処理(A)26を
実行するハード的な回路構成も同じく図8のように示さ
れ、2乗波形W(MX0)に対して加算器52によって
マイナスの値を有するオフセット値W(HX1)が加算
された後、乗算器53に送られる。乗算器53では加算
結果を乗算係数[2]によって示される数だけ乗算す
る。この場合、乗算係数が[2]であるから、乗算器5
3では送られてきた加算結果が2倍され、2倍波形W
(MX2)が得られる。
【0039】次いで、2倍波形W(MX2)はクリップ
処理(C)27に導かれ、2倍波形W(MX2)がDS
Pによって振幅を引延ばされるとともに、所定のレベル
でデジタル的に振幅をカットすることが行われてクリッ
プ波形W(MX3)が出力され、このクリップ波形W
(MX3)は同様に混合処理24に送られる。
【0040】このクリップ処理(C)27を実行するハ
ード的な回路構成は図9のように示される。図9におい
て、まず、入力される2倍波形W(MX2)同士は加算
器61によって加算され、その後、乗算器62に送ら
れ、加算結果が2倍されて2倍波形が得られる。この2
倍波形は次段に送られ、同様の加算および2倍処理が実
行順次されていく。すなわち、加算器61および乗算器
62と同様の処理を行う一連の加算器63、65、6
7、69および乗算器64、66、68、70が、以後
4段継続している。
【0041】したがって、全体では入力される2倍波形
W(MX2)に対して5段の加算および2倍の乗算処理
がハード的に実行される。このとき、各段の演算波形を
ラッチしているDSPのレジスタが桁あふれを起こして
波形の上部が一定レベルでカットされたようになって一
定振幅の矩形波が発生し、乗算器70からクリップ波形
W(MX3)として出力される。
【0042】この場合、入力波形として既に2倍された
2倍波形W(ML2)を用いているから、上記の処理に
よって前述した原音に対して1オクターブ上の音を発生
する動作原理の場合と同様の論理により、原音に対して
2オクターブ上の音を発生させることができる。
【0043】次に、原音に対して1オクターブ下の音を
発生する動作原理を説明する。この1オクターブ下の音
は、入力波形W(INP)に対してクリップ処理(A)
28とCPO分周処理29を順次実行することにより得
られる。
【0044】すなわち、入力波形W(INP)は、まず
クリップ処理(A)28に導かれ、入力波形W(IN
P)がDSPによって所定のレベルでデジタル的に振幅
をカットすることが行われてクリップ波形W(CPO)
が出力され、このクリップ波形W(CPO)は次段のC
PO分周処理29に送られる。
【0045】このクリップ処理(A)28を実行するハ
ード的な回路構成は図10のように示される。図10に
おいて、まず、入力波形W(INP)同士は加算器71
によって加算され、その後、乗算器72に送られ、加算
結果が2倍されて2倍波形が得られる。この2倍波形は
次段に送られ、同様の加算および2倍処理が実行順次さ
れていく。
【0046】すなわち、加算器71および乗算器72と
同様の処理を行う一連の加算器73、75、77、79
および乗算器74、76、78、80が、以後4段継続
している。したがって、全体では入力される入力波形W
(INP)に対して5段の加算および2倍の乗算処理が
ハード的に実行される。
【0047】このとき、前述の場合と同様に各段の演算
波形をラッチしているDSPのレジスタが桁あふれを起
こして波形の上部が一定レベルでカットされたようにな
って一定振幅の矩形波が発生し、乗算器80からクリッ
プ波形W(CPO)として出力される。
【0048】次いで、クリップ波形W(CPO)はCP
O分周処理29に導かれ、クリップ波形W(CPO)に
対して周波数を1/2に分周する処理が行われて周期が
2倍になった分周波形W(OTO)が出力され、この分
周波形W(OTO)は直接に混合処理24に送られると
ともに、さらに1/2分周して周期を4倍にするために
OTO分周処理30に送られる。
【0049】ここで、本実施例における分周処理の動作
原理について、図11を参照して説明する。いま、図1
1(a)に示すようにスレショルドレベルTHOを横切
って振幅が変化している矩形波に近い入力波形がある場
合、このスレショルドレベルTHOを横切るタイミング
は矢印で示す部分となっている。
【0050】入力波形がスレショルドレベルTHOに対
してどのような状態にあるかを、図11(b)に示すよ
うに[0]〜[3]という4つの区分で分けることで、
全ての状態を含むことができる。
【0051】[0]:波形がスレショルドレベルTHO
の下側にある一定の状態。
【0052】[1]:波形が上から下にスレショルドレ
ベルTHOを横切って変化している状態。
【0053】[2]:波形がスレショルドレベルTHO
の上側にある一定の状態。
【0054】[3]:波形が下から上にスレショルドレ
ベルTHOを横切って変化している状態。
【0055】ここで、上記4つの区分値[0]〜[3]
のそれぞれについて“3”および“4”という値を各々
減算した場合、双方の減算結果について、符号の不一致
状態を考察すると、以下のように、[3]の状態のみマ
イナスおよびゼロ(ゼロは正とする)という結果となっ
て符号が不一致状態となる。
【0056】 [0]のとき:[0]−3=−3(符号が負)、[0]
−4=−4(符号が負) [1]のとき:[1]−3=−2(符号が負)、[1]
−4=−3(符号が負) [2]のとき:[2]−3=−1(符号が負)、[2]
−4=−2(符号が負) [3]のとき:[3]−3= 0(符号が正)、[3]
−4=−1(符号が負) したがって、この事実から[3]−3=0(符号が正)
と、[3]−4=−1(符号が負)となるときを検知す
ると、波形が下から上にスレショルドレベルTHOを横
切って変化している状態のみが捉えられ、これは図11
(c)に矢印で示す部分となる。
【0057】次に、波形が下から上にスレショルドレベ
ルTHOを横切って変化している区分[3]の状態に同
期してレベルが反転する矩形波を生成すると、図11
(d)に示すようになる。この矩形波は図11(a)に
示すような入力波形に対して周期が2倍の波形となり、
周波数を1/2に分周する処理が実行されたことにな
る。
【0058】次に、上記分周処理の動作原理に基づいて
クリップ波形W(CPO)の周波数を1/2に分周する
CPO分周処理29を実行するハード的な回路構成は図
12のように示される。
【0059】図12において、CPO分周処理29は入
力波形がスレショルドレベルTHOを横切ったか否か
(図11(a)に相当)を検出する横断検出部29a
と、入力波形の4つの区分状態(図11(b)に相当)
を検出し、波形の立上がり状態(図11(c)に相当)
のみに起因する符号の不一致を検出する不一致検出部2
9bと、波形の立上がりタイミングに同期してレベルが
反転する矩形波を生成する(図11(d)に相当)矩形
波生成部29cとからなる。
【0060】最初に、横断検出部29aの処理から説明
する。クリップ処理(A)28からのクリップ波形W
(CPO)は所定のサンプルタイミングで送られてお
り、まず減算器81に入力される。そして、所定のスレ
ショルドレベルTHOからクリップ波形W(CPO)を
減算する処理が行われ、その後、符号検出器82によっ
て減算結果の値の符号が検出されて不一致検出器83に
出力される。
【0061】このとき、THO>W(CPO)であれ
ば、減算結果の値の符号は正となり、これはクリップ波
形W(CPO)がスレショルドレベルTHOに対して下
側から上に向けてTHOを横切る方向に変化しているこ
とを意味する。
【0062】一方、スレショルドレベルTHOは他の減
算器84にも入力されており、この減算器84には、さ
らに前回の入力波形(この場合は前回のサンプルタイミ
ングで入力されたクリップ波形)W(INQ)が入力さ
れている。
【0063】前回のクリップ波形(以下、前クリップ波
形という)W(INQ)は遅延器85から与えられてお
り、遅延器85は前回のサンプルタイミング(1周期前
のサンプルタイミング)で入力されたクリップ波形W
(CPO)を取り込んで格納している。したがって、遅
延器85はクリップ波形W(CPO)を遅延させて格納
しているのと等価な処理を行っている。
【0064】減算器84の減算結果は符号検出器86に
出力され、ここで減算結果の値の符号が検出されて同じ
く不一致検出器83に出力される。このとき、THO>
W(INQ)であれば、減算結果の値の符号は正とな
り、これは前クリップ波形W(INQ)がスレショルド
レベルTHOに対して下側から上に向けてTHOを横切
る方向に変化していることを意味する。
【0065】不一致検出器83では各符号検出器82、
86から送られてくる符号検出結果が不一致であるか否
かが検出され、各符号検出結果が一致していれば、入力
されるクリップ波形W(CPO)が同一の方向に変化し
ており、スレショルドレベルTHOを横切っていないと
判断する。
【0066】一方、各符号検出結果が不一致であれば、
入力されるクリップ波形W(CPO)の変化方向が前回
と異なって不一致の時点でスレショルドレベルTHOを
横切ったと判断する。そして、不一致検出器83は不一
致状態を検出したとき、信号SをラッチW(FGO)8
7に出力する。したがって、信号Sは入力されるクリッ
プ波形W(CPO)がスレショルドレベルTHOを横切
るタイミングに正確に同期して出力されることになる。
この処理は図11(a)の状態を検出することに相当す
る。
【0067】ラッチW(FGO)87は信号Sが入力さ
れる毎に定数W(ONE)=1をラッチする。なお、当
初は前クリップ波形W(INQ)が存在しないので、そ
の場合は定数W(ZRO)=0をラッチする。これによ
り、入力されるクリップ波形W(CPO)がスレショル
ドレベルTHOを横切る毎にラッチW(FGO)87に
よって定数W(ONE)がラッチされ、次段の不一致検
出部29bの加算器88に出力される。
【0068】また、クリップ波形W(CPO)は一定の
サンプルタイミングで入力されているから、例えばクリ
ップ波形W(CPO)がスレショルドレベルTHOを横
切る前にクリップ波形W(CPO)の次回のサンプルタ
イミングに至ると、その時点でラッチW(FGO)87
には信号Sが入力されず、定数W(ZRO)がラッチさ
れて加算器88に供給される。
【0069】次に、不一致検出部29bの処理について
説明する。入力されるクリップ波形W(CPO)は減算
器89に入力され、前述の減算器81の場合とは逆に、
クリップ波形W(CPO)からスレショルドレベルTH
Oを減算する処理が行われ、その後、符号検出器90に
よって減算結果の値の符号が検出されて演算器(AL
U)91に出力される。
【0070】このとき、W(CPO)>THOであれ
ば、減算結果の値の符号は正となり、これはクリップ波
形W(CPO)がスレショルドレベルTHOの上側にあ
る(詳しくはクリップ波形のレベルがTHOより大き
い)ことを意味する。また、W(CPO)<THOであ
れば、減算結果の値の符号は負となり、これはクリップ
波形W(CPO)がスレショルドレベルTHOの下側に
ある(詳しくはクリップ波形のレベルがTHOより小さ
い)ことを意味する。
【0071】符号検出器90による符号の判別結果から
加算あるいは減算の2種類の命令信号が演算器(AL
U)91に対して出力される。演算器(ALU)91は
2つの同一の定数W(ONE)=1をそれぞれ2つの入
力端子に受けており、符号検出器90による符号の判別
結果から加算の命令信号(符号が正のとき)を受入れる
と、2つの同一の定数W(ONE)=1を加算して波形
状態値W(FG1)=2を加算器88に出力する。
【0072】一方、符号検出器90による符号の判別結
果から減算の命令信号(符号が負のとき)を受入れる
と、2つの同一の定数W(ONE)=1同士を減算して
波形状態値W(FG1)=0を加算器88に出力する。
【0073】加算器88には、入力されるクリップ波形
W(CPO)がスレショルドレベルTHOを横切る毎に
ラッチW(FGO)87から定数W(ONE)が供給さ
れる。また、クリップ波形W(CPO)がスレショルド
レベルTHOを横切る前にクリップ波形W(CPO)の
次回のサンプルタイミングに至ると、ラッチW(FG
O)87では定数W(ZRO)がラッチされて加算器8
8に供給される。加算器88は、この定数W(ONE)
あるいはW(ZRO)と波形状態値W(FG1)とを加
算して波形状態値W(FG3)を演算し、減算器92、
93に出力する。
【0074】この波形状態値W(FG3)は入力される
クリップ波形W(CPO)の状態に応じて前述の4つの
区分値[0]〜[3]の何れかの値となる。すなわち、
符号検出器90による符号の判別結果が正のときは、ク
リップ波形W(CPO)がスレショルドレベルTHOの
上側にある。したがって、演算器(ALU)91では符
号検出器90から加算の命令信号(符号が正のとき)を
受け入れて2つの定数W(ONE)=1同士が加算さ
れ、波形状態値W(FG1)=2が加算器88に出力さ
れる。
【0075】一方、ラッチW(FGO)87は入力され
るクリップ波形W(CPO)がスレショルドレベルTH
Oを横切る毎に定数W(ONE)=1をラッチして加算
器88に出力しているから、加算器88の出力はクリッ
プ波形W(CPO)がスレショルドレベルTHOを横切
る毎に演算器(ALU)91からの波形状態値W(FG
1)=2にラッチW(FGO)87からの波形状態値W
(FG0)=1を加えたものとなる。
【0076】例えば、クリップ波形W(CPO)がスレ
ショルドレベルTHOを横切るタイミングで波形状態値
W(FG0)=1のときは、加算器88の出力である波
形状態値W(FG3)は[3]となる。その後、クリッ
プ波形W(CPO)がスレショルドレベルTHOを横切
った後のタイミングで波形状態値W(FG0)=0にな
ると、加算器88の出力である波形状態値W(FG3)
は[2]となる。
【0077】また、符号検出器90による符号の判別結
果が負のときは、クリップ波形W(CPO)がスレショ
ルドレベルTHOの下側にある。したがって、演算器
(ALU)91では符号検出器90から減算の命令信号
(符号が負のとき)を受け入れて2つの定数W(ON
E)=1同士が減算され、波形状態値W(FG1)=0
が加算器88に出力される。
【0078】一方、ラッチW(FGO)87は入力され
るクリップ波形W(CPO)がスレショルドレベルTH
Oを横切る毎に定数W(ONE)=1をラッチして加算
器88に出力しているから、加算器88の出力はクリッ
プ波形W(CPO)がスレショルドレベルTHOを横切
る毎に演算器(ALU)91からの波形状態値W(FG
1)=0にラッチW(FGO)87からの波形状態値W
(FG0)=1を加えたものとなる。
【0079】例えば、クリップ波形W(CPO)がスレ
ショルドレベルTHOを横切るタイミングで波形状態値
W(FG0)=1のときは、加算器88の出力である波
形状態値W(FG3)は[1]となる。その後、クリッ
プ波形W(CPO)がスレショルドレベルTHOを横切
った後のタイミングで波形状態値W(FG0)=0にな
ると、加算器88の出力である波形状態値W(FG3)
は[0]となる。
【0080】このようにして波形状態値W(FG3)は
入力されるクリップ波形W(CPO)の状態に応じて前
述の4つの区分値[0]〜[3]の何れかの値をとる。
【0081】4つの区分値[0]〜[3]を判別した
後、波形状態値W(FG3)は減算器92、93に入力
される。これらの減算器92、93の他方の入力端子に
はそれぞれ定数W(SAN)=3、定数W(YON)=
4が入力されている。
【0082】したがって、減算器92では波形状態値W
(FG3)から定数W(SAN)=3を減算する処理が
行われ、その後、符号検出器94によって減算結果の値
の符号が検出されて不一致検出器95に出力される。こ
のとき、W(FG3)≦W(SAN)であるから、減算
結果の値の符号はW(FG3)=3のときのみ正とな
り、これは波形状態値W(FG3)=3の状態のみを判
別できることを意味する。
【0083】一方、減算器93では波形状態値W(FG
3)から定数W(YON)=4を減算する処理が行わ
れ、その後、符号検出器96によって減算結果の値の符
号が検出されて不一致検出器95に出力される。このと
き、波形状態値W(FG3)は[3]以下の値であるか
ら、W(FG3)<W(YON)の状態となって減算結
果の値の符号は全て負となる。
【0084】不一致検出器95では各符号検出器94、
96から送られてくる符号検出結果が不一致であるか否
かが検出され、各符号検出結果が一致していれば、波形
状態値W(FG3)が[3]以外の数と判断し、不一致
であれば、波形状態値W(FG3)=[3]の状態にあ
ると判断する。そして、不一致検出器95は不一致状態
を検出したとき、信号SをラッチW(OTO)97に出
力する。
【0085】したがって、信号Sは波形状態値W(FG
3)=[3]であるタイミングに正確に同期して出力さ
れることになる。この処理は図11(c)の状態を検出
することに相当する。
【0086】次に、矩形波生成部29cの処理について
説明する。不一致検出器95からは不一致状態が検出さ
れたとき、信号SがラッチW(OTO)97に出力され
るが、この信号Sは波形状態値W(FG3)=[3]で
あるタイミングに正確に同期して出力される。ラッチW
(OTO)97は信号Sが入力される毎に乗算器98の
出力である反転値W(INV)をラッチする。
【0087】なお、乗算器98には、その前段の乗算器
99の演算結果が入力されており、乗算器99はラッチ
W(OTO)97にラッチされている値に対して図13
に示す負の符号を有する符号反転係数P(MIN)を乗
算して乗算器98に出力する。
【0088】図13は演算に使用する係数や各オクター
ブ波形の混合比率を決定する数値を示すもので、これら
の値はROM15に格納されている。
【0089】したがって、乗算器99はラッチW(OT
O)97にラッチされた値を負に反転させて乗算器98
に出力することになる。乗算器98では、乗算器99の
乗算結果を乗算係数[2]によって示される数だけ乗算
する。この場合、乗算係数が[2]であるから、乗算器
98は送られてきた乗算結果を2倍し、反転値W(IN
V)として再びラッチW(OTO)97に戻す。
【0090】このように、ラッチW(OTO)97では
信号Sが入力される毎に乗算器98の出力である反転値
W(INV)がラッチされて分周処理の出力(分周波
形)W(OTO)として取り出される。また、この分周
処理の出力は信号Sの入力が行われない時点でも取り出
される。
【0091】この場合、信号Sの入力タイミングは図1
1(c)に矢印で示すように入力波形が下から上にスレ
ショルドレベルTHOを横切って変化している状態に対
応しているから、このタイミングに同期するようにラッ
チW(OTO)97の出力波形(すなわち、分周処理の
出力波形)は図11(d)に示すように、そのレベルが
ゼロのラインを横切って上から下へ、あるいは下から上
へと反転変化する矩形波となる。
【0092】この矩形波は図11(a)に示すような入
力波形に対して周期が2倍の波形となり、周波数を1/
2に分周する処理が実行されたことになる。
【0093】次に、原音に対して2オクターブ下の音を
発生する動作原理を説明する。この2オクターブ下の音
は、CPO分周処理29の出力である1/2に分周され
たラッチW(OTO)97の分周波形W(OTO)に対
して、さらに1/2の分周を実行するOPO分周処理3
0を通すことにより得られる。
【0094】すなわち、OPO分周処理30への入力波
形として既に1/2に分周された分周波形W(OTO)
を用いているから、OPO分周処理30では前述した原
音に対して1オクターブ下の音を発生する動作原理の場
合と同様の論理により、原音に対して2オクターブ下の
音を発生させることができる。
【0095】OPO分周処理30を実行するハード的な
回路構成は図14のように示される。図14に示す回路
は、前述した図12の回路と同様であるが、演算に使用
する定数や入力波形、出力波形等が異なる。
【0096】OPO分周処理30は入力波形がスレショ
ルドレベルTXOを横切ったか否か(図11(a)に相
当)を検出する横断検出部30aと、入力波形の4つの
区分状態(図11(b)に相当)を検出し、波形の立上
がり状態(図11(c)に相当)のみに起因する符号の
不一致を検出する不一致検出部30bと、波形の立上が
りタイミングに同期してレベルが反転する矩形波を生成
する(図11(d)に相当)矩形波生成部30cとから
なる。
【0097】最初に、横断検出部30aの処理から説明
する。1/2に分周された分周波形W(OTO)は、ま
ず減算器101に入力される。そして、所定のスレショ
ルドレベルTXOから分周波形W(OTO)を減算する
処理が行われ、その後、符号検出器102によって減算
結果の値の符号が検出されて不一致検出器103に出力
される。このとき、TXO>W(OTO)であれば、減
算結果の値の符号は正となり、これは分周波形W(OT
O)がスレショルドレベルTXOに対して下側から上に
向けてTXOを横切る方向に変化していることを意味す
る。
【0098】一方、スレショルドレベルTXOは他の減
算器104にも入力されており、この減算器104に
は、さらに前回の入力波形(前回のサンプルタイミング
で入力された分周波形)W(IXQ)が入力されてい
る。前回の分周波形(以下、前分周波形という)W(I
XQ)は遅延器105から与えられており、遅延器10
5は前回のサンプルタイミング(1周期前のサンプルタ
イミング)で入力された分周波形W(OTO)を取り込
んで格納している。したがって、遅延器105は分周波
形W(OTO)を遅延させて格納しているのと等価な処
理を行う。
【0099】減算器104の減算結果は符号検出器10
6に出力され、ここで減算結果の値の符号が検出されて
同じく不一致検出器103に出力される。このとき、T
XO>W(IXQ)であれば、減算結果の値の符号は正
となり、これは前分周波形W(IXQ)がスレショルド
レベルTXOに対して下側から上に向けてTXOを横切
る方向に変化していることを意味する。
【0100】不一致検出器103では各符号検出器10
2、106から送られてくる符号検出結果が不一致であ
るか否かが検出され、各符号検出結果が一致していれ
ば、入力される分周波形W(OTO)が同一の方向に変
化しており、スレショルドレベルTXOを横切っていな
いと判断する。
【0101】一方、各符号検出結果が不一致であれば、
入力される分周波形W(OTO)の変化方向が前回と異
なって不一致の時点でスレショルドレベルTXOを横切
ったと判断する。そして、不一致検出器103は不一致
状態を検出したとき、信号SをラッチW(FXO)10
7に出力する。したがって、信号Sは入力される分周波
形W(OTO)がスレショルドレベルTXOを横切るタ
イミングに正確に同期して出力されることになる。この
処理は、図12の場合と同じく図11(a)の状態を検
出することに相当する。
【0102】ラッチW(FXO)107は信号Sが入力
される毎に定数W(ONE)=1をラッチする。なお、
当初は前クリップ波形W(IXQ)が存在しないので、
その場合は定数W(ZRO)=0をラッチする。これに
より、入力される分周波形W(OTO)がスレショルド
レベルTXOを横切る毎にラッチW(FXO)107に
よって定数W(ONE)がラッチされ、次段の不一致検
出部30bの加算器108に出力される。
【0103】また、分周波形W(OTO)は一定のサン
プルタイミングで入力されているから、例えば分周波形
W(OTO)がスレショルドレベルTXOを横切る前に
分周波形W(OTO)の次回のサンプルタイミングに至
ると、その時点でラッチW(FXO)107には信号S
が入力されず、定数W(ZRO)がラッチされて加算器
108に供給される。
【0104】次に、不一致検出部30bの処理について
説明する。入力される分周波形W(OTO)は減算器1
09に入力され、前述の減算器101の場合とは逆に、
分周波形W(OTO)からスレショルドレベルTXOを
減算する処理が行われ、その後、符号検出器110によ
って減算結果の値の符号が検出されて演算器(ALU)
111に出力される。
【0105】このとき、W(CPO)>TXOであれ
ば、減算結果の値の符号は正となり、これは分周波形W
(OTO)がスレショルドレベルTXOの上側にある
(詳しくは分周波形のレベルがTXOより大きい)こと
を意味する。また、W(CPO)<TXOであれば、減
算結果の値の符号は負となり、これは分周波形W(OT
O)がスレショルドレベルTXOの下側にある(詳しく
は分周波形のレベルがTXOより小さい)ことを意味す
る。
【0106】符号検出器110による符号の判別結果か
ら加算あるいは減算の2種類の命令信号が演算器(AL
U)111に対して出力される。演算器(ALU)11
1は2つの同一の定数W(ONE)=1をそれぞれ2つ
の入力端子に受けており、符号検出器110による符号
の判別結果から加算の命令信号(符号が正のとき)を受
入れると、2つの同一の定数W(ONE)=1を加算し
て波形状態値W(FX1)=2を加算器108に出力す
る。
【0107】一方、符号検出器110による符号の判別
結果から減算の命令信号(符号が負のとき)を受入れる
と、2つの同一の定数W(ONE)=1同士を減算して
波形状態値W(FX1)=0を加算器108に出力す
る。
【0108】加算器108には、入力される分周波形W
(OTO)がスレショルドレベルTXOを横切る毎にラ
ッチW(FXO)107から定数W(ONE)が供給さ
れる。また、分周波形W(OTO)がスレショルドレベ
ルTXOを横切る前に分周波形W(OTO)の次回のサ
ンプルタイミングに至ると、ラッチW(FXO)107
では定数W(ZRO)がラッチされて加算器108に供
給される。
【0109】加算器108は、この定数W(ONE)あ
るいはW(ZRO)と波形状態値W(FX1)とを加算
して波形状態値W(FX3)を演算し、減算器112、
113に出力する。
【0110】この波形状態値W(FX3)は入力される
分周波形W(OTO)の状態に応じて前述の4つの区分
値[0]〜[3]の何れかの値となる。すなわち、符号
検出器110による符号の判別結果が正のときは、分周
波形W(OTO)がスレショルドレベルTXOの上側に
ある。したがって、演算器(ALU)111では符号検
出器110から加算の命令信号(符号が正のとき)を受
け入れて2つの定数W(ONE)=1同士が加算され、
波形状態値W(FX1)=2が加算器108に出力され
る。
【0111】一方、ラッチW(FXO)107は入力さ
れる分周波形W(OTO)がスレショルドレベルTXO
を横切る毎に定数W(ONE)=1をラッチして加算器
108に出力しているから、加算器108の出力は分周
波形W(OTO)がスレショルドレベルTXOを横切る
毎に演算器(ALU)111からの波形状態値W(FX
1)=2にラッチW(FXO)107からの波形状態値
W(FX0)=1を加えたものとなる。
【0112】例えば、分周波形W(OTO)がスレショ
ルドレベルTXOを横切るタイミングで波形状態値W
(FX0)=1のときは、加算器108の出力である波
形状態値W(FX3)は[3]となる。その後、分周波
形W(OTO)がスレショルドレベルTXOを横切った
後のタイミングで波形状態値W(FX0)=0になる
と、加算器108の出力である波形状態値W(FX3)
は[2]となる。
【0113】また、符号検出器110による符号の判別
結果が負のときは、分周波形W(OTO)がスレショル
ドレベルTXOの下側にある。したがって、演算器(A
LU)111では符号検出器110から減算の命令信号
(符号が負のとき)を受け入れて2つの定数W(ON
E)=1同士が減算され、波形状態値W(FX1)=0
が加算器108に出力される。
【0114】一方、ラッチW(FXO)107は入力さ
れる分周波形W(OTO)がスレショルドレベルTXO
を横切る毎に定数W(ONE)=1をラッチして加算器
108に出力しているから、加算器108の出力は分周
波形W(OTO)がスレショルドレベルTXOを横切る
毎に演算器(ALU)111からの波形状態値W(FX
1)=0にラッチW(FXO)107からの波形状態値
W(FX0)=1を加えたものとなる。
【0115】例えば、分周波形W(OTO)がスレショ
ルドレベルTXOを横切るタイミングで波形状態値W
(FX0)=1のときは、加算器108の出力である波
形状態値W(FX3)は[1]となる。その後、分周波
形W(OTO)がスレショルドレベルTXOを横切った
後のタイミングで波形状態値W(FX0)=0になる
と、加算器108の出力である波形状態値W(FX3)
は[0]となる。
【0116】このようにして波形状態値W(F3)は入
力される分周波形W(OTO)の状態に応じて前述の4
つの区分値[0]〜[3]の何れかの値をとる。
【0117】4つの区分値[0]〜[3]を判別した
後、波形状態値W(FX3)は減算器112、113に
入力される。これらの減算器112、113の他方の入
力端子にはそれぞれ定数W(SAN)=3、定数W(Y
ON)=4が入力されている。したがって、減算器11
2では波形状態値W(FX3)から定数W(SAN)=
3を減算する処理が行われ、その後、符号検出器114
によって減算結果の値の符号が検出されて不一致検出器
115に出力される。
【0118】このとき、W(FX3)≦W(SAN)で
あるから、減算結果の値の符号はW(FX3)=3のと
きのみ正となり、これは波形状態値W(FX3)=3の
状態のみを判別できることを意味する。
【0119】一方、減算器113では波形状態値W(F
X3)から定数W(YON)=4を減算する処理が行わ
れ、その後、符号検出器116によって減算結果の値の
符号が検出されて不一致検出器115に出力される。
【0120】このとき、波形状態値W(FX3)は
[3]以下の値であるから、W(FX3)<W(YO
N)の状態となって減算結果の値の符号は全て負とな
る。
【0121】不一致検出器115では各符号検出器11
4、116から送られてくる符号検出結果が不一致であ
るか否かが検出され、各符号検出結果が一致していれ
ば、波形状態値W(FX3)が[3]以外の数と判断
し、不一致であれば、波形状態値W(FX3)=[3]
の状態にあると判断する。
【0122】そして、不一致検出器115は不一致状態
を検出したとき、信号SをラッチW(OT1)117に
出力する。したがって、信号Sは波形状態値W(FX
3)=[3]であるタイミングに正確に同期して出力さ
れることになる。この処理は図11(c)の状態を検出
することに相当する。
【0123】次に、矩形波生成部30cの処理について
説明する。不一致検出器115からは不一致状態が検出
されたとき、信号SがラッチW(OT1)117に出力
されるが、この信号Sは波形状態値W(FX3)=
[3]であるタイミングに正確に同期して出力される。
ラッチW(OT1)117は信号Sが入力される毎に乗
算器118の出力である反転値W(IXV)をラッチす
る。
【0124】なお、乗算器118には、その前段の乗算
器119の演算結果が入力されており、乗算器119は
ラッチW(OT1)117にラッチされている値に対し
て同様に図13に示す負の符号を有する符号反転係数P
(MIN)を乗算して乗算器118に出力する。したが
って、乗算器119はラッチW(OT1)117にラッ
チされた値を負に反転させて乗算器118に出力するこ
とになる。
【0125】乗算器118では、乗算器119の乗算結
果を乗算係数[2]によって示めされる数だけ乗算す
る。この場合、乗算係数が[2]であるから、乗算器1
18は送られてきた乗算結果を2倍し、反転値W(IX
V)として再びラッチW(OT1)117に戻す。
【0126】このように、ラッチW(OT1)117で
は信号Sが入力される毎に乗算器118の出力である反
転値W(IXV)がラッチされて1/4分周処理の出力
(分周波形)W(OT1)として取り出される。また、
この分周処理の出力は信号Sの入力が行われない時点で
も取り出されている。
【0127】この場合、信号Sの入力タイミングは図1
1(c)に矢印で示すように入力波形が下から上にスレ
ショルドレベルTXOを横切って変化している状態に対
応しているから、このタイミングに同期するようにラッ
チW(OT1)117の出力波形(すなわち、分周処理
の出力波形)は図11(d)に示すように、そのレベル
がゼロのラインを横切って上から下へ、あるいは下から
上へと反転変化する矩形波となる。
【0128】この矩形波は図11(a)に示すような入
力波形に対して周期が2倍の波形となり、周波数を1/
2に分周する処理が実行されたことになる。その結果、
入力波形として既に1/2に分周された分周波形W(O
TO)が用いられているから、OPO分周処理30では
前述の原音に対して2オクターブ下の音を発生させるこ
とが可能になる。
【0129】上記の各分周処理を分かりやすく波形図で
示すと、図15のようになる。まず、原音に相当する入
力波形W(INP)が図15(a)のようにほぼ正弦波
であるとき、この波形をクリップ処理(A)28を通し
てクリップ波形W(CPO)に変換すると、図15
(b)のような矩形波になる。
【0130】次いで、この矩形波W(CPO)をCPO
分周処理29に通すと、図15(c)に示すように周期
が1/2に分周された矩形波W(OTO)となる。さら
に、1/2に分周されたこの矩形波W(OTO)をOT
O分周処理30に通すと、図15(d)に示すように周
期が1/4に分周された矩形波W(OT1)となる。
【0131】このようにして原音に相当する入力波形W
(INP)が1/2ずつ2回に分けて分周され、結局、
1/4に分周された矩形波W(OT1)が得られる。
【0132】次に、混合処理24について説明する。混
合処理24を行うブロックには入力波形W(INP)、
1/2分周した波形W(OTO)、1/4分周した波形
W(OT1)、2倍した波形W(ML3)および4倍し
た波形W(MX3)の5つの波形が入力されており、混
合処理24ではこれらの各波形をある一定の混合比率に
よって混合し、混合の結果として出力波形W(OUT)
を出力する。
【0133】この混合処理24を実行するハード的な回
路構成は図16のように示される。まず、原音に相当す
る入力波形W(INP)は乗算器121に導かれ、図1
3に示す一定の混合比率P(WOO)と乗算されて加算
器122に送られる。
【0134】ここで、混合比率P(WOO)は、混合の
結果としての出力波形W(OUT)に対して原音に相当
する入力波形W(INP)をどの程度混合するかという
割合を示すものである。したがって、入力波形W(IN
P)は乗算器121を介することにより、混合比率P
(WOO)で決定される割合に調整されて加算器122
に出力される。
【0135】1/2分周した波形W(OTO)、すなわ
ち1オクターブ下の音は乗算器123に導かれ、図13
に示す一定の混合比率P(MO1)と乗算されて加算器
122に送られる。
【0136】ここで、混合比率P(MO1)は、混合の
結果としての出力波形W(OUT)に対して1オクター
ブ下の音に相当する1/2分周した波形W(OTO)を
どの程度混合するかという割合を示すものである。した
がって、1/2分周した波形W(OTO)は乗算器12
3を介することにより、混合比率P(MO1)で決定さ
れる割合に調整されて加算器122に出力される。
【0137】1/4分周した波形W(OT1)、すなわ
ち2オクターブ下の音は乗算器124に導かれ、図13
に示す一定の混合比率P(MO2)と乗算されて加算器
125に送られる。
【0138】ここで、混合比率P(MO2)は、混合の
結果としての出力波形W(OUT)に対して2オクター
ブ下の音に相当する1/4分周した波形W(OT1)を
どの程度混合するかという割合を示すものである。した
がって、1/4分周した波形W(OT1)は乗算器12
4を介することにより、混合比率P(MO2)で決定さ
れる割合に調整されて加算器125に出力される。
【0139】2倍した波形W(ML3)、すなわち1オ
クターブ上の音は乗算器126に導かれ、図13に示す
一定の混合比率P(MO3)と乗算されて加算器127
に送られる。
【0140】ここで、混合比率P(MO3)は、混合の
結果としての出力波形W(OUT)に対して1オクター
ブ上の音に相当する2倍した波形W(ML3)をどの程
度混合するかという割合を示すものである。したがっ
て、2倍した波形W(ML3)は乗算器126を介する
ことにより、混合比率P(MO3)で決定される割合に
調整されて加算器127に出力される。
【0141】4倍した波形W(MX3)、すなわち2オ
クターブ上の音は乗算器128に導かれ、図13に示す
一定の混合比率P(MO4)と乗算されて加算器129
に送られる。
【0142】ここで、混合比率P(MO4)は、混合の
結果としての出力波形W(OUT)に対して2オクター
ブ上の音に相当する4倍した波形W(ML3)をどの程
度混合するかという割合を示すものである。したがっ
て、4倍した波形W(MX3)は乗算器128を介する
ことにより、混合比率P(MO4)で決定される割合に
調整されて加算器129に出力される。
【0143】加算器122では、混合比率P(WOO)
で決定される割合に調整された入力波形W(INP)
と、混合比率P(MO1)で決定される割合に調整され
た1オクターブ下の分周波形W(OTO)とが加算され
る。さらに、この加算器122の出力は、混合比率P
(MO2)で決定される割合に調整された2オクターブ
下の分周波形W(OT1)と加算器125において加算
される。
【0144】以下、同様にして加算器127では、加算
器125の出力と、混合比率P(MO3)で決定される
割合に調整された1オクターブ上の分周波形W(ML
3)とが加算される。さらに、この加算器127の出力
は、混合比率P(MO4)で決定される割合に調整され
た2オクターブ上の分周波形W(MX3)と加算器12
9において加算される。
【0145】したがって、加算器129からは原音に相
当する入力波形W(INP)、1オクターブ下の分周波
形W(OTO)、2オクターブ下の分周波形W(OT
1)、1オクターブ上の分周波形W(ML3)、2オク
ターブ上の分周波形W(MX3)の5つの波形が、それ
ぞれ図13に示す各混合比率P(WOO)〜P(MO
4)で決定された割合に調整された出力波形W(OU
T)が出力されることになる。
【0146】上記において、本実施例では2乗処理
(A)21および2乗処理(B)25が演算手段に相当
し、オフセット加算2倍処理(A)22およびオフセッ
ト加算2倍処理(B)26が加算手段に相当する。ま
た、クリップ処理(B)23およびクリップ処理(C)
27がクリップ手段に相当し、混合処理24が混合手段
に相当する。
【0147】次に、上記オクターブ効果付加処理を実行
するためのDSPのハード的な回路構成は図17のよう
に示される。図17において、プログラムメモリ131
は所定のマイクロプログラムを格納するメモリであり、
図2のCPU14からの指示に従って所定の動作プログ
ラムを制御回路132に出力する。このとき、プログラ
ムメモリ131には特に図示しないアドレスカウンタが
接続されている。そして、プログラムメモリ131は、
このアドレスカウンタからのアドレス指示に従ってプロ
グラム内容を順次制御回路132に供給する。
【0148】制御回路132はプログラムメモリ131
の出力内容に基づいて後述する各レジスタ、メモリ間の
データ転送と演算、各ゲートやラッチを開閉制御するた
めの各種信号、並びにサンプルタイミング毎にインクリ
メントされるカウンタ値SCを出力し、所望の信号処理
動作を実行する。
【0149】係数メモリ(P)133は図に示すような
各種の係数を格納するレジスタであり、これらの係数は
CPU14の制御によって図2のRAM16から読み出
されて係数メモリ(P)133に格納される。
【0150】ワークメモリ(W)134は後述する図3
3に示すように、DSP12内で作成される波形信号等
を一時的に退避させておく作業用のメモリである。入力
レジスタ(PI)135は図2のA/D変換器11から
のデジタル楽音信号を格納し、同信号を内部バス136
を介して各部へ供給する。
【0151】前述の係数メモリ(P)133、係数メモ
リ(P)133の出力および入力レジスタ(PI)13
5の出力は、後述する各レジスタからの出力とともにゲ
ート137〜140のゲート端子に入力され、ゲート1
37〜140からの出力はレジスタ(MO)141、
(M1)142、(A0)143、(A1)144に入
力される。
【0152】レジスタ(MO)141、(M1)142
には乗算器145に供給される演算途中のデータが格納
され、レジスタ(A0)143、(A1)144には加
減算器146に供給される演算途中のデータが格納され
る。
【0153】また、レジスタ(M1)142の出力、お
よび後述するレジスタ(SR)153の出力はゲート1
47を介して乗算器145に入力されるとともに、レジ
スタレジスタ(A0)143の出力、および後述するレ
ジスタ(MR)150の出力はゲート148を介して加
減算器146に入力され、さらにレジスタ(A1)14
4の出力、および後述するレジスタ(AR)151の出
力はゲート149を介して加減算器146に入力され
る。
【0154】加減算器146は制御回路132からの命
令に基づいて加算、減算を実行するとともに、必要に応
じて単にデータを通過させるのみの処理(いわゆるスル
ー処理)を行う。
【0155】乗算器145の乗算結果はレジスタ(M
R)150に格納され、レジスタ(MR)150の出力
はゲート138、およびゲート148に供給される。ま
た、加減算器146の演算結果はレジスタ(AR)15
1に格納され、レジスタ(AR)151の出力はゲート
149に供給されるとともに、クリッパ回路152を介
してレジスタ(SR)153に供給される。
【0156】クリッパ回路152は、通常はオーバフロ
ー(桁あふれ)を防止するためのものであるが、本実施
例では、この機能を積極的に活用して矩形波を生成する
処理にも用いている。この場合には、前述したような波
形の上部を一定レベルでカットして矩形波となるような
クリップ処理を行う。すなわち、クリッパ回路152
は、例えば複数ビットのレジスタからなり、そのビット
数以上のデータを入力することによりレジスタに桁あふ
れを起こさせて結果的に波形の上部を一定レベルでカッ
トして矩形波とする。また、入力するデータを1ビット
ずつ上位へシフトさせることによって2倍するというシ
フト処理を実行する。
【0157】また、レジスタ(AR)151の出力F
(AR)はレジスタ(SFO)154、レジスタ(SF
1)155を順次介して比較器156の一方の入力端子
に供給される。これらのレジスタ(SFO)154、
(SF1)155はレジスタ(AR)151に格納され
たデータについて、その最上位の符号ビット(1ビッ
ト)をラッチするものである。
【0158】レジスタ(SFO)154の出力SFOは
直接に比較器156の他方の入力端子に供給されるとと
もに、前述した制御回路132に供給される。比較器1
56はレジスタ(SFO)154の出力SFOと、レジ
スタ(SF1)155の出力SF1とを比較(結局、最
上位の符号ビットの比較)し、その比較結果COMPを
同じく制御回路132に出力する。
【0159】レジスタ(SR)153の出力はゲート1
47に供給され、また、ある1音についての処理の演算
結果として内部バス136を介してワークメモリ(W)
134に格納される。
【0160】上述の演算結果がワークメモリ(W)13
4に記憶されて一連の処理が終了すると、同メモリに記
憶されたデータは出力レジスタ(OR)157に転送さ
れ、同レジスタから図2のD/A変換器13に出力され
る。
【0161】次に、図17で示される構成のDSP12
の具体的な動作について、図18〜図32の動作フロー
チャートに基づき説明する。なお、これらの動作は、D
SP12がプログラムメモリ131に記憶されたマイク
ロプログラムを実行する処理として実現される。また、
係数メモリ(P)133に格納されている係数(定数)
または変数、あるいはワークメモリ(W)134内に一
時的に格納されるデータについてのメモリ上でのアドレ
スと名称および内容は、図13および図33に示される
通りである。
【0162】まず、図4に示したDSP12におけるオ
クターブ効果付加のための処理を疑似的にブロック化し
た動作につき、図18の動作フローチャートに基づき説
明する。なお、図18による動作は、図2のCPU14
がROM15に格納されたプロセグラムをRAM16を
ワークメモリにして実行する処理として実現される。
【0163】図18において、原音に対してオクターブ
効果付加を実行するためには、まず、楽音信号をDSP
12に取り込む入力処理が行われ(ステップS20
1)、その後、図4に示す各処理ブロックに移行する。
これにより、入力波形(原音)が取込まれるとともに、
この原音に対して各種オクターブ効果の付加が可能にな
る。
【0164】最初に、入力波形(原音)をクリップする
クリップ処理(A)28が実行され(ステップS20
2)、その後、このクリップ波形を1/2に分周する処
理であるCPO分周処理29(ステップS203)、お
よび1/4に分周する処理であるOTO分周処理30
(ステップS204)が順次実行される。これにより、
原音に対して1オクターブ、および2オクターブ下の音
が得られる。
【0165】次いで、入力波形を2乗する2乗処理
(A)21が実行され(ステップS205)、その後、
この2乗波形に対して所定のオフセット値を加算すると
ともに、2倍するオフセット加算2倍処理(A)22
(ステップS206)、およびクリップ処理(B)23
(ステップS207)が順次実行される。これにより、
原音に対して1オクターブ上の音が得られる。
【0166】次いで、オフセット加算2倍処理(A)2
2の出力である原音の周波数を2倍した波形W(ML
2)に対して、さらに2乗する2乗処理(B)25が実
行され(ステップS208)、その後、この2乗波形に
対して所定のオフセット値を加算するとともに、2倍す
るオフセット加算2倍処理(B)26(ステップS20
9)、およびクリップ処理(C)27(ステップS21
0)が順次実行される。これにより、原音に対して2オ
クターブ上の音が得られる。
【0167】次いで、上述のように原音に対して上下に
各種オクターブ程異なる音を得た後は、混合処理24が
実行され(ステップS211)、その後、出力処理が行
われる(ステップS212)。これにより、入力される
原音に対して上下に各種オクターブ程異なる音がある一
定の混合比率によって混合され、オクターブ効果の付加
された楽音信号がDSP12から取り出される。
【0168】以上の各処理の詳細は、図19以降の各図
に示され、次に詳細な処理内容を説明する。まず、図1
9は入力処理(ステップS201)の詳細を示すもので
ある。
【0169】図19において、図2のA/D変換器11
からの楽音信号は入力レジスタ(PI)135に格納さ
れ、同信号はDSP12内で入力波形W(INP)とし
て各部へ供給される(ステップS301)。これによ
り、入力波形(原音)がDSP12内に取込まれ、以後
のオクターブ効果付加の処理に移行できる。
【0170】図20はクリップ処理(A)28(ステッ
プS202)の詳細を示すものである。図20におい
て、入力レジスタ(PI)135に格納された入力波形
W(INP)は、レジスタ(A0)143およびレジス
タ(A1)144に格納される(ステップS401)。
【0171】次いで、レジスタ(A0)143に格納さ
れた入力波形W(INP)と、レジスタ(A1)144
に格納された入力波形W(INP)とがそれぞれゲート
148およびゲート149を介して加減算器146に供
給されて加算され、その演算結果がレジスタ(AR)1
51に格納される(ステップS402)。これにより、
図10の加算器71の機能と等価な処理が実現される。
【0172】そのあと、レジスタ(AR)151に格納
された演算結果はクリッパ回路152によって2倍さ
れ、レジスタ(SR)153に移される(ステップS4
03)。これは、クリッパ回路152においてレジスタ
(AR)151に格納された演算結果を1ビットずつ上
位へシフトさせることによって2倍するという処理で実
現される。これにより、図10の乗算器72の機能と等
価な処理が実現される。
【0173】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS40
4)。
【0174】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS405)。これにより、図10の加算
器73の機能と等価な処理が実現される。
【0175】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS406)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図10の
乗算器74の機能と等価な処理が実現される。
【0176】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS40
7)。
【0177】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS408)。これにより、図10の加算
器75の機能と等価な処理が実現される。
【0178】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS409)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図10の
乗算器76の機能と等価な処理が実現される。
【0179】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS41
0)。
【0180】以下、同様の処理があと2回継続して行わ
れる。すなわち、レジスタ(A0)143およびレジス
タ(A1)144に格納されたレジスタ(SR)153
からの同一データは、それぞれゲート148およびゲー
ト149を介して加減算器146に供給されて加算さ
れ、その演算結果がレジスタ(AR)151に格納され
る(ステップS411)。これにより、図10の加算器
77の機能と等価な処理が実現される。
【0181】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS412)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図10の
乗算器78の機能と等価な処理が実現される。
【0182】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS41
3)。
【0183】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS414)。これにより、図10の加算
器79の機能と等価な処理が実現される。
【0184】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS415)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図10の
乗算器80の機能と等価な処理が実現される。
【0185】このようにしてレジスタ(SR)153に
格納された演算結果SRは、内部バス136を介してク
リップ波形W(CPO)としてワークメモリ(W)13
4に格納される(ステップS416)。
【0186】次に、図21、図22はCPO分周処理
(ステップS203)の詳細を示すものである。図21
において、まず定数W(ZRO)が係数メモリ(P)1
33から読み出されてレジスタ(A0)143に移さ
れ、さらに、そのデータがゲート149を介した後、加
減算器146を通過(いわゆるスルー)してレジスタ
(AR)151に格納される(ステップS501)。
【0187】また、レジスタ(AR)151に格納され
たデータはクリッパ回路152を介してレジスタ(S
R)153に移されるとともに、その後、レジスタ(S
R)153から内部バス136を介してラッチデータW
(FGO)としてワークメモリ(W)134に格納され
る(同じくステップS501)。これにより、図12の
ラッチW(FGO)87が当初、定数W(ZRO)をラ
ッチする処理と等価な機能が実現される。
【0188】次いで、ワークメモリ(W)134からス
レショルドレベルW(THO)が読み出されてレジスタ
(A1)144に格納されるとともに(ステップS50
2)、ワークメモリ(W)134から前述のクリップ波
形W(CPO)が読み出されてレジスタ(A0)143
に格納される(ステップS503)。
【0189】その後、レジスタ(A1)144に格納さ
れたスレショルドレベルW(THO)と、レジスタ(A
0)143に格納されたクリップ波形W(CPO)とが
それぞれゲート149およびゲート148を介して加減
算器146に供給され、スレショルドレベルW(TH
O)からクリップ波形W(CPO)を減算する処理が行
われ、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS504)。これにより、図12の減算
器81の機能と等価な処理が実現される。
【0190】そのあと、レジスタ(AR)151に格納
された演算結果のうち、符号を表す最上位のビットF
(AR)は1ビットだけレジスタ(SF0)154に移
され、ここでデジタル値である演算結果データの符号が
検出される(ステップS505)これにより、図12の
符号検出器82の機能と等価な処理が実現される。
【0191】また、ワークメモリ(W)134からスレ
ショルドレベルW(THO)が読み出されてレジスタ
(A1)144に格納されるとともに(ステップS50
6)、ワークメモリ(W)134から前クリップ波形W
(INQ)が読み出されてレジスタ(A0)143に格
納される(ステップS507)。これにより、図12の
遅延器85の機能と等価な処理が実現される。
【0192】その後、レジスタ(A1)144に格納さ
れたスレショルドレベルW(THO)と、レジスタ(A
0)143に格納された前クリップ波形W(INQ)と
がそれぞれゲート149およびゲート148を介して加
減算器146に供給され、スレショルドレベルW(TH
O)から前クリップ波形W(INQ)を減算する処理が
行われ、その演算結果がレジスタ(AR)151に格納
される(ステップS508)。
【0193】これにより、図12の減算器84の機能と
等価な処理が実現される。また、係数メモリ(P)13
3から定数W(ONE)が読み出されてレジスタ(A
0)143に格納される(同じくステップS508)。
【0194】そのあと、前述のレジスタ(SF0)15
4に格納された符号ビット(SF0)はレジスタ(SF
1)155に移されるとともに、レジスタ(AR)15
1に格納された演算結果のうち、符号を表す1ビットの
最上位ビットF(AR)がレジスタ(SF0)154に
格納される(ステップS509)。
【0195】また、レジスタ(A0)143に格納され
た定数W(ONE)が加減算器146をスルーしてレジ
スタ(AR)151に格納される(同じくステップS5
09)。このようにしてデータは順次、レジスタ間を移
動する。これにより、図12の符号検出器86の機能と
等価な処理が実現される。
【0196】次いで、レジスタ(AR)151に格納さ
れた定数W(ONE)がクリッパ回路152を通過して
レジスタ(SR)153に移される(ステップS51
0)。したがって、レジスタ(SR)153には定数W
(ONE)=1がラッチされる。
【0197】次いで、レジスタ(SF1)155に格納
された符号ビット(SF1)と、レジスタ(SF0)1
54に格納された符号ビット(SF0)とが比較器15
6で比較される(ステップS511)。これにより、図
12の不一致検出器83の機能と等価な処理が実現され
る。
【0198】比較の結果、各符号が一致していなければ
(不一致のとき:NOのとき)、入力されるクリップ波
形W(CPO)の変化方向が前回と異なって不一致の時
点でスレショルドレベルW(THO)を横切ったと判断
されて、レジスタ(SR)153にラッチされている定
数W(ONE)=1がワークメモリ(W)134の所定
アドレスに格納される(ステップS512)。これによ
り、図12のラッチW(FG0)87に定数W(ON
E)=1がラッチされる機能と等価な処理が実現され
る。
【0199】一方、比較の結果、各符号が一致していれ
ば(一致のとき:YESのとき)、入力されるクリップ
波形W(CPO)が同一の方向に変化しており、スレシ
ョルドレベルW(THO)を横切っていないと判断され
てレジスタ(SR)153にラッチされている定数W
(ONE)=1をワークメモリ(W)134に格納する
という処理が行われず、次のサンプルタイミングにおけ
るクリップ波形W(CPO)がレジスタ(A1)144
に格納される(ステップS513)。これにより、次の
サンプルタイミングに対応する処理に移行する機能が実
現される。
【0200】次いで、ワークメモリ(W)134からス
レショルドレベルW(THO)が読み出されてレジスタ
(A0)143に格納される(ステップS514)。そ
の後、レジスタ(A1)144に格納されたクリップ波
形W(CPO)と、レジスタ(A0)143に格納され
たスレショルドレベルW(THO)とがそれぞれゲート
148およびゲート149を介して加減算器146に供
給され、クリップ波形W(CPO)からスレショルドレ
ベルW(THO)を減算する処理が行われ、その演算結
果がレジスタ(AR)151に格納される(ステップS
515)。これにより、図12の減算器89の機能と等
価な処理が実現される。
【0201】また、係数メモリ(P)133から定数W
(ONE)が読み出されてレジスタ(A0)143に格
納される(同じくステップS515)。同様に、係数メ
モリ(P)133から定数W(ONE)が読み出されて
レジスタ(A1)144にも格納される(ステップS5
16)。
【0202】さらに、レジスタ(AR)151に格納さ
れた演算結果のうち、符号を表す1ビットの最上位ビッ
トF(AR)がレジスタ(SF0)154に格納されて
符号が検出される(ステップS516)。これにより、
図12の符号検出器90の機能と等価な処理が実現され
る。
【0203】次いで、レジスタ(SF0)154に格納
された符号を表す最上位ビットSF0がSF0=1であ
るか否かが判別され(ステップS517)、SF0=1
のときは符号が負であると判断されてレジスタ(A1)
144に格納された定数W(ONE)と、レジスタ(A
0)143に格納された定数W(ONE)とがそれぞれ
ゲート149およびゲート148を介して加減算器14
6に供給され、定数W(ONE)から定数W(ONE)
を減算する処理が行われ、その演算結果がレジスタ(A
R)151に格納される(ステップS518)。
【0204】また、レジスタ(AR)151に格納され
た演算結果はクリッパ回路152を通過してレジスタ
(SR)153に移され、その後、レジスタ(SR)1
53にラッチされた演算結果がワークメモリ(W)13
4の所定アドレスに格納される(同じくステップS51
8)。これにより、図12のラッチW(FG1)91に
定数W(FG1)=0がラッチされる機能と等価な処理
が実現される。
【0205】一方、レジスタ(SF0)154に格納さ
れた符号を表す最上位ビットSF0がSF0≠1のとき
は、符号が正であると判断されてレジスタ(A1)14
4に格納された定数W(ONE)と、レジスタ(A0)
143に格納された定数W(ONE)とがそれぞれゲー
ト149およびゲート148を介して加減算器146に
供給され、定数W(ONE)と定数W(ONE)とを加
算する処理が行われ、その演算結果がレジスタ(AR)
151に格納される(ステップS519)。
【0206】また、レジスタ(AR)151に格納され
た演算結果はクリッパ回路152を通過してレジスタ
(SR)153に移され、その後、レジスタ(SR)1
53にラッチされた演算結果がワークメモリ(W)13
4の所定アドレスに格納される(同じくステップS51
9)。これにより、図12のラッチW(FG1)91に
定数W(FG1)=2がラッチされる機能と等価な処理
が実現される。
【0207】次いで、ワークメモリ(W)134からラ
ッチW(FG0)87にラッチされた定数W(FG0)
に相当するデータが読み出されてレジスタ(A1)14
4に格納される(ステップS520)。
【0208】また、ワークメモリ(W)134からラッ
チW(FG1)19にラッチされた定数W(FG1)に
相当するデータが読み出されてレジスタ(A0)143
に格納される(ステップS521)。
【0209】その後、レジスタ(A1)144に格納さ
れたデータW(FG0)と、レジスタ(A0)143に
格納されたデータW(FG1)とがそれぞれゲート14
9およびゲート148を介して加減算器146に供給さ
れ、データW(FG0)およびデータW(FG1)を加
算する処理が行われ、その演算結果がレジスタ(AR)
151に格納される(ステップS522)。これによ
り、図12の加算器88の機能と等価な処理が実現され
る。
【0210】次いで、レジスタ(AR)151に格納さ
れた演算結果はクリッパ回路152を通過してレジスタ
(SR)153に移され(ステップS522)、その
後、レジスタ(SR)153にラッチされた演算結果が
ワークメモリ(W)134の所定アドレスに演算結果W
(FG3)として格納される(同じくステップS52
4)。これにより、図12の加算器88の演算結果W
(FG3)がラッチされる機能と等価な処理が実現され
る。
【0211】次いで、ワークメモリ(W)134に格納
されているクリップ波形W(CPO)が読み出されてレ
ジスタ(A0)143に移される(ステップS52
5)。
【0212】ここで、以後のCPO分周処理(ステップ
S203)の詳細は図22に移る。図22において、レ
ジスタ(A0)143に格納されたクリップ波形W(C
PO)が加減算器146をスルーしてレジスタ(AR)
151に転送される(ステップS526)。また、レジ
スタ(AR)151に格納されたクリップ波形W(CP
O)がクリッパ回路152を通過してレジスタ(SR)
153にセットされる(ステップS527)。
【0213】その後、レジスタ(SR)153にセット
されたクリップ波形W(CPO)が前クリップ波形W
(INQ)としてワークメモリ(W)134に格納され
る(ステップS528)。これにより、図12の遅延器
85に前回のクリップ波形W(INQ)がセットされて
出力される機能と等価な処理が実現される。
【0214】次いで、ワークメモリ(W)134から波
形状態値W(FG3)が読み出されてレジスタ(A1)
144に格納される(ステップS529)。また、係数
メモリ(P)133から定数W(SAN)=3が読み出
されてレジスタ(A0)143に格納される(ステップ
S530)。
【0215】その後、レジスタ(A1)144に格納さ
れた波形状態値W(FG3)と、レジスタ(A0)14
3に格納された定数W(SAN)とがそれぞれゲート1
49およびゲート148を介して加減算器146に供給
され、波形状態値W(FG3)から定数W(SAN)を
減算する処理が行われ、その演算結果がレジスタ(A
R)151に格納される(ステップS531)。これに
より、図12の減算器92の機能と等価な処理が実現さ
れる。
【0216】そのあと、レジスタ(AR)151に格納
された演算結果のうち、符号を表す最上位のビットF
(AR)が1ビットだけレジスタ(SF0)154に移
され、ここでデジタル値である演算結果データの符号が
検出される(ステップS532)。これにより、図12
の符号検出器94の機能と等価な処理が実現される。
【0217】また、ワークメモリ(W)134から波形
状態値W(FG3)が読み出されてレジスタ(A1)1
44に格納される(ステップS533)。続いて、係数
メモリ(P)133から定数W(YON)=4が読み出
されてレジスタ(A0)143に格納される(ステップ
S534)。
【0218】その後、レジスタ(A1)144に格納さ
れた波形状態値W(FG3)と、レジスタ(A0)14
3に格納された定数W(YON)とがそれぞれゲート1
49およびゲート148を介して加減算器146に供給
され、波形状態値W(FG3)から定数W(YON)を
減算する処理が行われ、その演算結果がレジスタ(A
R)151に格納される(ステップS535)。これに
より、図12の減算器93の機能と等価な処理が実現さ
れる。
【0219】また、ワークメモリ(W)134から反転
値W(INV)が読み出されてレジスタ(A01)14
3に格納される(同じくステップS535)。
【0220】次いで、レジスタ(A01)143に格納
された反転値W(INV)がゲート148および加減算
器146をスルーしてレジスタ(AR)151にセット
される。また、前述のレジスタ(SF0)154に格納
された符号ビット(SF0)がレジスタ(SF1)15
5に移されるとともに、レジスタ(AR)151にセッ
トされた反転値W(INV)のうち、符号を表す最上位
ビットF(AR)がレジスタ(SF0)154に格納さ
れる(ステップS536)。
【0221】このようにしてデータが順次、レジスタ間
を移動する。これにより、図12の符号検出器96の機
能と等価な処理が実現される。
【0222】次いで、レジスタ(AR)151にセット
された反転値W(INV)がクリッパ回路152を通過
してレジスタ(SR)153に移される(ステップS5
37)。したがって、レジスタ(SR)153には反転
値W(INV)がラッチされる。
【0223】次いで、レジスタ(SF1)155に格納
された符号ビット(SF1)と、レジスタ(SF0)1
54に格納された符号ビット(SF0)とが比較器15
6で比較される(ステップS538)。これにより、図
12の不一致検出器95の機能と等価な処理が実現され
る。
【0224】比較の結果、各符号が一致していなければ
(不一致のとき:NOのとき)、入力されるクリップ波
形W(CPO)の変化方向が前回と異なって不一致の時
点でスレショルドレベルW(THO)を横切ったと判断
されて、レジスタ(SR)153にラッチされている反
転値W(INV)がワークメモリ(W)134の所定ア
ドレスに1/2の分周波形W(OTO)として格納され
る(ステップS539)。これにより、図12のラッチ
W(OTO)97に分周波形W(OTO)がラッチされ
る機能と等価な処理が実現される。
【0225】一方、比較の結果、各符号が一致していれ
ば(一致のとき:YESのとき)、入力されるクリップ
波形W(CPO)が同一の方向に変化しており、スレシ
ョルドレベルW(THO)を横切っていないと判断され
てレジスタ(SR)153にラッチされている反転値W
(INV)をワークメモリ(W)134に格納するとい
う処理が行われず、次のサンプルタイミングにおける分
周波形W(OTO)がレジスタ(M1)142に格納さ
れる(ステップS540)。これにより、次のサンプル
タイミングに対応する処理に移行する機能が実現され
る。
【0226】次いで、係数メモリ(P)133から負の
符号を有する符号反転係数P(MIN)が読み出されて
レジスタ(M0)141に格納される(ステップS54
1)。その後、レジスタ(M0)141に格納された符
号反転係数P(MIN)が乗算器145に供給されると
ともに、レジスタ(M1)142に格納された分周波形
W(OTO)がゲート147を介して乗算器145に供
給され、両者の乗算が行われれ、その演算結果がレジス
タ(MR)150に格納される(ステップS542)。
これにより、図12の乗算器99の機能と等価な処理が
実現される。
【0227】次いで、レジスタ(MR)150に格納さ
れたデータがゲート148および加減算器146をスル
ーしてレジスタ(AR)151にセットされる。その
後、レジスタ(AR)151にセットされたデータがク
リッパ回路152によって2倍され、レジスタ(SR)
153に移される(ステップS544)。このとき、ク
リッパ回路152ではレジスタ(AR)151に格納さ
れたデータが1ビットずつ上位へシフトして2倍され
る。
【0228】このようにしてレジスタ(SR)153に
格納されたデータSRは、内部バス136を介して反転
値W(INV)として分周波形W(OTO)と同じアド
レスでワークメモリ(W)134に格納される(ステッ
プS545)。これにより、図12の乗算器98の機能
と等価な処理が実現される。
【0229】次に、図23、図24はOTO分周処理
(ステップS204)の詳細を示すものである。図23
において、まず定数W(ZRO)が係数メモリ(P)1
33から読み出されてレジスタ(A0)143に移さ
れ、さらにそのデータがゲート148を介した後、加減
算器146を通過(いわゆるスルー)してレジスタ(A
R)151に格納される(ステップS601)。
【0230】また、レジスタ(AR)151に格納され
たデータはクリッパ回路152を介してレジスタ(S
R)153に移されるとともに、その後、レジスタ(S
R)153から内部バス136を介してラッチデータW
(FGO)としてワークメモリ(W)134に格納され
る(同じくステップS601)。これにより、図14の
ラッチW(FGO)107が当初、定数W(ZRO)を
ラッチする処理と等価な機能が実現される。
【0231】次いで、ワークメモリ(W)134からス
レショルドレベルW(TXO)が読み出されてレジスタ
(A1)144に格納されるとともに(ステップS60
2)、ワークメモリ(W)134から前述の1/2の分
周波形W(OPO)が読み出されてレジスタ(A0)1
43に格納される(ステップS603)。
【0232】その後、レジスタ(A1)144に格納さ
れたスレショルドレベルW(TXO)と、レジスタ(A
0)143に格納された分周波形W(OPO)とがそれ
ぞれゲート149およびゲート148を介して加減算器
146に供給され、スレショルドレベルW(TXO)か
ら分周波形W(OPO)を減算する処理が行われ、その
演算結果がレジスタ(AR)151に格納される(ステ
ップS604)。これにより、図14の減算器101の
機能と等価な処理が実現される。
【0233】そのあと、レジスタ(AR)151に格納
された演算結果のうち、符号を表す最上位のビットF
(AR)は1ビットだけレジスタ(SF0)154に移
され、ここでデジタル値である演算結果データの符号が
検出される(ステップS605)これにより、図14の
符号検出器102の機能と等価な処理が実現される。
【0234】また、ワークメモリ(W)134からスレ
ショルドレベルW(TXO)が読み出されてレジスタ
(A1)144に格納されるとともに(ステップS60
6)、ワークメモリ(W)134から前入力波形W(I
XQ)が読み出されてレジスタ(A0)143に格納さ
れる(ステップS607)。これにより、図14の遅延
器105の機能と等価な処理が実現される。
【0235】その後、レジスタ(A1)144に格納さ
れたスレショルドレベルW(TXO)と、レジスタ(A
0)143に格納された前入力波形W(IXQ)とがそ
れぞれゲート149およびゲート148を介して加減算
器146に供給され、スレショルドレベルW(TXO)
から前入力波形W(IXQ)を減算する処理が行われ、
その演算結果がレジスタ(AR)151に格納される
(ステップS608)。
【0236】これにより、図14の減算器104の機能
と等価な処理が実現される。また、係数メモリ(P)1
33から定数W(ONE)が読み出されてレジスタ(A
0)143に格納される(同じくステップS608)。
【0237】そのあと、前述のレジスタ(SF0)15
4に格納された符号ビット(SF0)がレジスタ(SF
1)155に移されるとともに、レジスタ(AR)15
1に格納された演算結果のうち、符号を表す1ビットの
最上位ビットF(AR)がレジスタ(SF0)154に
格納される(ステップS609)。これにより、符号が
検出される。
【0238】また、レジスタ(A0)143に格納され
た定数W(ONE)が加減算器146をスルーしてレジ
スタ(AR)151に格納される(同じくステップS6
09)。このようにしてデータは順次、レジスタ間を移
動する。これにより、図14の符号検出器106の機能
と等価な処理が実現される。
【0239】次いで、レジスタ(AR)151に格納さ
れた定数W(ONE)がクリッパ回路152を通過して
レジスタ(SR)153に移される(ステップS61
0)。したがって、レジスタ(SR)153には定数W
(ONE)=1がラッチされる。
【0240】次いで、レジスタ(SF1)155に格納
された符号ビット(SF1)と、レジスタ(SF0)1
54に格納された符号ビット(SF0)とが比較器15
6で比較される(ステップS611)。これにより、図
14の不一致検出器103の機能と等価な処理が実現さ
れる。
【0241】比較の結果、各符号が一致していなければ
(不一致のとき:NOのとき)、入力される分周波形W
(OTO)の変化方向が前回と異なって不一致の時点で
スレショルドレベルW(TXO)を横切ったと判断され
て、レジスタ(SR)153にラッチされている定数W
(ONE)=1がワークメモリ(W)134の所定アド
レスに格納される(ステップS512)。これにより、
図14のラッチW(FG0)107に定数W(ONE)
=1がラッチされる機能と等価な処理が実現される。
【0242】一方、比較の結果、各符号が一致していれ
ば(一致のとき:YESのとき)、入力される分周波形
W(OTO)が同一の方向に変化しており、スレショル
ドレベルW(TXO)を横切っていないと判断されてレ
ジスタ(SR)153にラッチされている定数W(ON
E)=1をワークメモリ(W)134に格納するという
処理が行われず、次のサンプルタイミングにおける分周
波形W(OTO)がレジスタ(A1)144に格納され
る(ステップS613)。これにより、次のサンプルタ
イミングに対応する処理に移行する機能が実現される。
【0243】次いで、ワークメモリ(W)134からス
レショルドレベルW(TXO)が読み出されてレジスタ
(A0)143に格納される(ステップS614)。そ
の後、レジスタ(A1)144に格納された分周波形W
(OTO)と、レジスタ(A0)143に格納されたス
レショルドレベルW(TXO)とがそれぞれゲート14
8およびゲート149を介して加減算器146に供給さ
れ、分周波形W(OTO)からスレショルドレベルW
(TXO)を減算する処理が行われ、その演算結果がレ
ジスタ(AR)151に格納される(ステップS61
5)。これにより、図14の減算器109の機能と等価
な処理が実現される。
【0244】また、係数メモリ(P)133から定数W
(ONE)が読み出されてレジスタ(A0)143に格
納される(同じくステップS615)。同様に、係数メ
モリ(P)133から定数W(ONE)が読み出されて
レジスタ(A1)144にも格納される(ステップS6
16)。
【0245】さらに、レジスタ(AR)151に格納さ
れた演算結果のうち、符号を表す1ビットの最上位ビッ
トF(AR)がレジスタ(SF0)154に格納されて
符号が検出される(ステップS616)。これにより、
図14の符号検出器110の機能と等価な処理が実現さ
れる。
【0246】次いで、レジスタ(SF0)154に格納
された符号を表す最上位ビットSF0がSF0=1であ
るか否かが判別され(ステップS617)、SF0=1
のときは符号が負であると判断されてレジスタ(A1)
144に格納された定数W(ONE)と、レジスタ(A
0)143に格納された定数W(ONE)とがそれぞれ
ゲート149およびゲート148を介して加減算器14
6に供給され、定数W(ONE)から定数W(ONE)
を減算する処理が行われ、その演算結果がレジスタ(A
R)151に格納される(ステップS618)。
【0247】また、レジスタ(AR)151に格納され
た演算結果はクリッパ回路152を通過してレジスタ
(SR)153に移され、その後、レジスタ(SR)1
53にラッチされた演算結果がワークメモリ(W)13
4の所定アドレスに波形状態値W(FX1)=0として
格納される(同じくステップS618)。これにより、
図14の演算器(ALU)111の機能と等価な処理が
実現される。
【0248】一方、レジスタ(SF0)154に格納さ
れた符号を表す最上位ビットSF0がSF0≠1のとき
は、符号が正であると判断されてレジスタ(A1)14
4に格納された定数W(ONE)と、レジスタ(A0)
143に格納された定数W(ONE)とがそれぞれゲー
ト149およびゲート148を介して加減算器146に
供給され、定数W(ONE)と定数W(ONE)とを加
算する処理が行われ、その演算結果がレジスタ(AR)
151に格納される(ステップS619)。
【0249】また、レジスタ(AR)151に格納され
た演算結果はクリッパ回路152を通過してレジスタ
(SR)153に移され、その後、レジスタ(SR)1
53にラッチされた演算結果がワークメモリ(W)13
4の所定アドレスに波形状態値W(FX1)=2として
格納される(同じくステップS619)。これにより、
図14の演算器(ALU)111の機能と等価な処理が
実現される。
【0250】次いで、ワークメモリ(W)134からラ
ッチW(FX0)107にラッチされた定数W(FX
0)に相当するデータが読み出されてレジスタ(A1)
144に格納される(ステップS620)。
【0251】また、ワークメモリ(W)134から演算
器(ALU)111の演算結果W(FX1)に相当する
データが読み出されてレジスタ(A0)143に格納さ
れる(ステップS621)。
【0252】その後、レジスタ(A1)144に格納さ
れたデータW(FX0)と、レジスタ(A0)143に
格納されたデータW(FX1)とがそれぞれゲート14
9およびゲート148を介して加減算器146に供給さ
れ、データW(FX0)およびデータW(FX1)を加
算する処理が行われ、その演算結果がレジスタ(AR)
151に格納される(ステップS622)。これによ
り、図14の加算器108の機能と等価な処理が実現さ
れる。
【0253】次いで、レジスタ(AR)151に格納さ
れた演算結果はクリッパ回路152を通過してレジスタ
(SR)153に移され(ステップS623)、その
後、レジスタ(SR)153にラッチされた演算結果が
ワークメモリ(W)134の所定アドレスに演算結果の
波形状態値W(FX3)として格納される(ステップS
624)。
【0254】これにより、図14の加算器108の演算
結果W(FX3)がラッチされる機能と等価な処理が実
現される。
【0255】次いで、ワークメモリ(W)134に格納
されている分周波形W(OTO)が読み出されてレジス
タ(A0)143に移される(ステップS625)。
【0256】ここで、以後のOTO分周処理(ステップ
S203)の詳細は図24に移る。図24において、レ
ジスタ(A0)143に格納された分周波形W(OT
O)が加減算器146をスルーしてレジスタ(AR)1
51に転送される(ステップS626)。また、レジス
タ(AR)151に格納された分周波形W(OTO)が
クリッパ回路152を通過してレジスタ(SR)153
にセットされる(ステップS627)。
【0257】その後、レジスタ(SR)153にセット
された分周波形W(OTO)が前入力波形W(IXQ)
としてワークメモリ(W)134に格納される(ステッ
プS628)。これにより、図14の遅延器105に前
回の入力波形W(IXQ)がセットされて出力される機
能と等価な処理が実現される。
【0258】次いで、ワークメモリ(W)134から波
形状態値W(FX3)が読み出されてレジスタ(A1)
144に格納される(ステップS629)。また、係数
メモリ(P)133から定数W(SAN)=3が読み出
されてレジスタ(A0)143に格納される(ステップ
S630)。
【0259】その後、レジスタ(A1)144に格納さ
れた波形状態値W(FX3)と、レジスタ(A0)14
3に格納された定数W(SAN)とがそれぞれゲート1
49およびゲート148を介して加減算器146に供給
され、波形状態値W(FX3)から定数W(SAN)を
減算する処理が行われ、その演算結果がレジスタ(A
R)151に格納される(ステップS631)。これに
より、図14の減算器112の機能と等価な処理が実現
される。
【0260】そのあと、レジスタ(AR)151に格納
された演算結果のうち、符号を表す最上位のビットF
(AR)が1ビットだけレジスタ(SF0)154に移
され、ここでデジタル値である演算結果データの符号が
検出される(ステップS632)。これにより、図14
の符号検出器114の機能と等価な処理が実現される。
【0261】また、ワークメモリ(W)134から波形
状態値W(FX3)が読み出されてレジスタ(A1)1
44に格納される(ステップS633)。続いて、係数
メモリ(P)133から定数W(YON)=4が読み出
されてレジスタ(A0)143に格納される(ステップ
S634)。
【0262】その後、レジスタ(A1)144に格納さ
れた波形状態値W(FX3)と、レジスタ(A0)14
3に格納された定数W(YON)とがそれぞれゲート1
49およびゲート148を介して加減算器146に供給
され、波形状態値W(FX3)から定数W(YON)を
減算する処理が行われ、その演算結果がレジスタ(A
R)151に格納される(ステップS635)。これに
より、図14の減算器113の機能と等価な処理が実現
される。
【0263】また、ワークメモリ(W)134から反転
値W(IXV)が読み出されてレジスタ(A01)14
3に格納される(同じくステップS635)。
【0264】次いで、レジスタ(A01)143に格納
された反転値W(IXV)がゲート148および加減算
器146をスルーしてレジスタ(AR)151にセット
される。また、前述のレジスタ(SF0)154に格納
された符号ビット(SF0)がレジスタ(SF1)15
5に移されるとともに、レジスタ(AR)151にセッ
トされた反転値W(IXV)のうち、符号を表す最上位
ビットF(AR)がレジスタ(SF0)154に格納さ
れる(ステップS636)。
【0265】このようにしてデータが順次、レジスタ間
を移動する。これにより、図14の符号検出器116の
機能と等価な処理が実現される。
【0266】次いで、レジスタ(AR)151にセット
された反転値W(IXV)がクリッパ回路152を通過
してレジスタ(SR)153に移される(ステップS6
37)。したがって、レジスタ(SR)153には反転
値W(IXV)がラッチされる。
【0267】次いで、レジスタ(SF1)155に格納
された符号ビット(SF1)と、レジスタ(SF0)1
54に格納された符号ビット(SF0)とが比較器15
6で比較される(ステップS638)。これにより、図
14の不一致検出器115の機能と等価な処理が実現さ
れる。
【0268】比較の結果、各符号が一致していなければ
(不一致のとき:NOのとき)、入力される分周波形W
(OTO)の変化方向が前回と異なって不一致の時点で
スレショルドレベルW(TXO)を横切ったと判断され
て、レジスタ(SR)153にラッチされている反転値
W(IXV)がワークメモリ(W)134の所定アドレ
スに1/4の分周波形W(OT1)として格納される
(ステップS639)。
【0269】これにより、図14のラッチW(OT1)
117に1/4の分周波形W(OT1)がラッチされる
機能と等価な処理が実現される。
【0270】一方、比較の結果、各符号が一致していれ
ば(一致のとき:YESのとき)、入力される分周波形
W(OTO)が同一の方向に変化しており、スレショル
ドレベルW(TXO)を横切っていないと判断されてレ
ジスタ(SR)153にラッチされている反転値W(I
XV)をワークメモリ(W)134に格納するという処
理が行われず、次のサンプルタイミングにおける分周波
形W(OT1)がレジスタ(M1)142に格納される
(ステップS640)。これにより、次のサンプルタイ
ミングに対応する処理に移行する機能が実現される。
【0271】次いで、係数メモリ(P)133から負の
符号を有する符号反転係数P(MIN)が読み出されて
レジスタ(M0)141に格納される(ステップS64
1)。その後、レジスタ(M0)141に格納された符
号反転係数P(MIN)が乗算器145に供給されると
ともに、レジスタ(M1)142に格納された分周波形
W(OT1)がゲート147を介して乗算器145に供
給され、両者の乗算が行われれ、その演算結果がレジス
タ(MR)150に格納される(ステップS642)。
これにより、図14の乗算器119の機能と等価な処理
が実現される。
【0272】次いで、レジスタ(MR)150に格納さ
れたデータがゲート148および加減算器146をスル
ーしてレジスタ(AR)151にセットされる(ステッ
プS643)。その後、レジスタ(AR)151にセッ
トされたデータがクリッパ回路152によって2倍さ
れ、レジスタ(SR)153に移される(ステップS6
44)。このとき、クリッパ回路152ではレジスタ
(AR)151に格納されたデータが1ビットずつ上位
へシフトして2倍される。
【0273】このようにしてレジスタ(SR)153に
格納されたデータSRは、内部バス136を介して反転
値W(IXV)として分周波形W(OT1)と同じアド
レスでワークメモリ(W)134に格納される(ステッ
プS645)。これにより、図14の乗算器118の機
能と等価な処理が実現される。
【0274】次に、図25は2乗処理(A)(ステップ
S205)の詳細を示すものである。図25において、
入力レジスタ(PI)135に格納された原音に対応す
る入力波形W(INP)がレジスタ(M1)142にセ
ットされるとともに(ステップS701)、レジスタ
(M0)141にもセットされる(ステップS70
2)。
【0275】次いで、レジスタ(M1)142にセット
された入力波形W(INP)がゲート147を介して乗
算器145に供給されるとともに、レジスタ(M0)1
41にもセットされた入力波形W(INP)が乗算器1
45に供給される。そして、両者が乗算器145におい
て乗算され、その演算結果がレジスタ(MR)150に
格納される(ステップS703)。
【0276】そのあと、レジスタ(MR)150に格納
された演算結果がゲート148および加減算器146を
スルーしてレジスタ(AR)151にセットされる(ス
テップS704)。その後、レジスタ(AR)151に
セットされたデータがクリッパ回路152を通過してレ
ジスタ(SR)153に移される(ステップS70
5)。このとき、クリッパ回路152ではレジスタ(A
R)151に格納されたデータのオーバフロー(桁あふ
れ)が防止される。
【0277】このようにしてレジスタ(SR)153に
格納されたデータは、内部バス136を介して2乗波形
W(ML0)としてワークメモリ(W)134に格納さ
れる(ステップS706)。これにより、図5の乗算器
31の機能と等価な処理が実現される。
【0278】次に、図26はオフセット加算2倍処理
(A)(ステップS206)の詳細を示すものである。
図26において、まず上述の2乗波形W(ML0)がワ
ークメモリ(W)134から読み出されてレジスタ(A
1)144にセットされるとともに(ステップS80
1)、係数メモリ(P)133から負の値を有する所定
のオフセット値W(HF1)が読み出されてレジスタ
(A0)143にセットされる(ステップS802)。
【0279】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納された各データ、すなわち
2乗波形W(ML0)およびオフセット値W(HF1)
がそれぞれゲート148およびゲート149を介して加
減算器146に供給されて加算され、その演算結果がレ
ジスタ(AR)151に格納される(ステップS80
3)。これにより、図5の加算器32の機能と等価な処
理が実現される。
【0280】そのあと、レジスタ(AR)151に格納
された演算結果がクリッパ回路152によって2倍さ
れ、レジスタ(SR)153に移される(ステップS8
04)。これは、クリッパ回路152においてレジスタ
(AR)151に格納された演算結果を1ビットずつ上
位へシフトさせることによって2倍するという処理で実
現される。これにより、図5の乗算器33の機能と等価
な処理が実現される。
【0281】このようにしてレジスタ(SR)153に
格納された演算結果SRは、内部バス136を介して2
倍波形W(ML2)としてワークメモリ(W)134に
格納される(ステップS805)。
【0282】次に、図27はクリップ処理(B)(ステ
ップS207)の詳細を示すものである。図27におい
て、まず上述の2倍波形W(ML2)がワークメモリ
(W)134から読み出されてレジスタ(A0)143
にセットされるとともに、レジスタ(A1)144にも
セットされる(ステップS901)。
【0283】次いで、各レジスタ(A0)143および
レジスタ(A1)144に格納された2倍波形W(ML
2)がそれぞれゲート148およびゲート149を介し
て加減算器146に供給されて加算され、その演算結果
がレジスタ(AR)151に格納される(ステップS9
02)。これにより、図6の加算器41の機能と等価な
処理が実現される。
【0284】そのあと、レジスタ(AR)151に格納
された演算結果はクリッパ回路152によって2倍さ
れ、レジスタ(SR)153に移される(ステップS9
03)。これは、クリッパ回路152においてレジスタ
(AR)151に格納された演算結果を1ビットずつ上
位へシフトさせることによって2倍するという処理で実
現される。これにより、図6の乗算器42の機能と等価
な処理が実現される。
【0285】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS90
4)。
【0286】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS905)。これにより、図6の加算器
43の機能と等価な処理が実現される。
【0287】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS906)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図6の乗
算器44の機能と等価な処理が実現される。
【0288】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS90
7)。
【0289】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS908)。これにより、図6の加算器
45の機能と等価な処理が実現される。
【0290】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS909)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図6の乗
算器46の機能と等価な処理が実現される。
【0291】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS91
0)。
【0292】以下、同様の処理があと2回継続して行わ
れる。すなわち、レジスタ(A0)143およびレジス
タ(A1)144に格納されたレジスタ(SR)153
からの同一データは、それぞれゲート148およびゲー
ト149を介して加減算器146に供給されて加算さ
れ、その演算結果がレジスタ(AR)151に格納され
る(ステップS911)。これにより、図6の加算器4
7の機能と等価な処理が実現される。
【0293】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS912)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図6の乗
算器48の機能と等価な処理が実現される。
【0294】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS91
3)。
【0295】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS914)。これにより、図6の加算器
49の機能と等価な処理が実現される。
【0296】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS915)。このとき、クリッパ回路152ではレジ
スタ(AR)151に格納された演算結果が1ビットず
つ上位へシフトして2倍される。これにより、図6の乗
算器50の機能と等価な処理が実現される。
【0297】このようにしてレジスタ(SR)153に
格納された演算結果SRは、内部バス136を介してク
リップ波形W(ML3)としてワークメモリ(W)13
4に格納される(ステップS916)。
【0298】次に、図28は2乗処理(B)(ステップ
S208)の詳細を示すものである。図28において、
まずワークメモリ(W)134に格納された上述のクリ
ップ波形W(ML3)がレジスタ(M1)142にセッ
トされるとともに(ステップS1001)、レジスタ
(M0)141にもセットされる(ステップS100
2)。
【0299】次いで、レジスタ(M1)142にセット
されたクリップ波形W(ML3)がゲート147を介し
て乗算器145に供給されるとともに、レジスタ(M
0)141にもセットされたクリップ波形W(ML3)
が乗算器145に供給される。そして、両者が乗算器1
45において乗算され、その演算結果がレジスタ(M
R)150に格納される(ステップS1003)。
【0300】そのあと、レジスタ(MR)150に格納
された演算結果がゲート148および加減算器146を
スルーしてレジスタ(AR)151にセットされる(ス
テップS1004)。その後、レジスタ(AR)151
にセットされたデータがクリッパ回路152を通過して
レジスタ(SR)153に移される(ステップS100
5)。このとき、クリッパ回路152ではレジスタ(A
R)151に格納されたデータのオーバフロー(桁あふ
れ)が防止される。
【0301】このようにしてレジスタ(SR)153に
格納されたデータは、内部バス136を介して2乗波形
W(MX0)としてワークメモリ(W)134に格納さ
れる(ステップS1006)。これにより、図8の乗算
器51の機能と等価な処理が実現される。
【0302】次に、図29はオフセット加算2倍処理
(B)(ステップS209)の詳細を示すものである。
図29において、まず上述の2乗波形W(MX0)がワ
ークメモリ(W)134から読み出されてレジスタ(A
1)144にセットされるとともに(ステップS101
1)、係数メモリ(P)133から負の値を有する所定
のオフセット値W(HX1)が読み出されてレジスタ
(A0)143にセットされる(ステップS101
2)。
【0303】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納された各データ、すなわち
2乗波形W(MX0)およびオフセット値W(HX1)
がそれぞれゲート148およびゲート149を介して加
減算器146に供給されて加算され、その演算結果がレ
ジスタ(AR)151に格納される(ステップS101
3)。これにより、図8の加算器52の機能と等価な処
理が実現される。
【0304】そのあと、レジスタ(AR)151に格納
された演算結果がクリッパ回路152によって2倍さ
れ、レジスタ(SR)153に移される(ステップS1
014)。これは、クリッパ回路152においてレジス
タ(AR)151に格納された演算結果を1ビットずつ
上位へシフトさせることによって2倍するという処理で
実現される。これにより、図8の乗算器53の機能と等
価な処理が実現される。
【0305】このようにしてレジスタ(SR)153に
格納された演算結果SRは、内部バス136を介して2
倍波形W(MX2)としてワークメモリ(W)134に
格納される(ステップS1015)。
【0306】次に、図30はクリップ処理(C)(ステ
ップS210)の詳細を示すものである。図30におい
て、まず上述の2倍波形W(MX2)がワークメモリ
(W)134から読み出されてレジスタ(A0)143
にセットされるとともに、レジスタ(A1)144にも
セットされる(ステップS1021)。
【0307】次いで、各レジスタ(A0)143および
レジスタ(A1)144に格納された2倍波形W(MX
2)がそれぞれゲート148およびゲート149を介し
て加減算器146に供給されて加算され、その演算結果
がレジスタ(AR)151に格納される(ステップS1
022)。これにより、図9の加算器61の機能と等価
な処理が実現される。
【0308】そのあと、レジスタ(AR)151に格納
された演算結果はクリッパ回路152によって2倍さ
れ、レジスタ(SR)153に移される(ステップS1
023)。これは、クリッパ回路152においてレジス
タ(AR)151に格納された演算結果を1ビットずつ
上位へシフトさせることによって2倍するという処理で
実現される。これにより、図9の乗算器62の機能と等
価な処理が実現される。
【0309】次いで、レジスタ(SR)153に格納さ
れた演算結果がゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS10
24)。
【0310】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS1025)。これにより、図9の加算
器63の機能と等価な処理が実現される。
【0311】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS1026)。このとき、クリッパ回路152ではレ
ジスタ(AR)151に格納された演算結果が1ビット
ずつ上位へシフトして2倍される。これにより、図9の
乗算器64の機能と等価な処理が実現される。
【0312】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS10
27)。
【0313】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS1028)。これにより、図9の加算
器65の機能と等価な処理が実現される。
【0314】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS1029)。このとき、クリッパ回路152ではレ
ジスタ(AR)151に格納された演算結果が1ビット
ずつ上位へシフトして2倍される。これにより、図9の
乗算器66の機能と等価な処理が実現される。
【0315】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS10
30)。
【0316】以下、同様の処理があと2回継続して行わ
れる。すなわち、レジスタ(A0)143およびレジス
タ(A1)144に格納されたレジスタ(SR)153
からの同一データは、それぞれゲート148およびゲー
ト149を介して加減算器146に供給されて加算さ
れ、その演算結果がレジスタ(AR)151に格納され
る(ステップS1031)。これにより、図9の加算器
67の機能と等価な処理が実現される。
【0317】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS1032)。このとき、クリッパ回路152ではレ
ジスタ(AR)151に格納された演算結果が1ビット
ずつ上位へシフトして2倍される。これにより、図9の
乗算器68の機能と等価な処理が実現される。
【0318】次いで、レジスタ(SR)153に格納さ
れた演算結果はゲート139を介してレジスタ(A0)
143に移されるとともに、同じくゲート140を介し
てレジスタ(A1)144に移される(ステップS10
33)。
【0319】次いで、レジスタ(A0)143およびレ
ジスタ(A1)144に格納されたレジスタ(SR)1
53からの同一データは、それぞれゲート148および
ゲート149を介して加減算器146に供給されて加算
され、その演算結果がレジスタ(AR)151に格納さ
れる(ステップS1034)。これにより、図9の加算
器69の機能と等価な処理が実現される。
【0320】そのあと、レジスタ(AR)151に格納
された演算結果は、同様にクリッパ回路152によって
2倍され、レジスタ(SR)153に移される(ステッ
プS1035)。このとき、クリッパ回路152ではレ
ジスタ(AR)151に格納された演算結果が1ビット
ずつ上位へシフトして2倍される。これにより、図9の
乗算器70の機能と等価な処理が実現される。
【0321】このようにしてレジスタ(SR)153に
格納された演算結果SRは、内部バス136を介してク
リップ波形W(MX3)としてワークメモリ(W)13
4に格納される(ステップS1036)。
【0322】次に、図31は混合処理(ステップS21
1)の詳細を示すものである。図31において、まず入
力レジスタ(PI)135に格納された入力波形W(I
NP)が読み出されてレジスタ(M1)142にセット
されるとともに、係数メモリ(P)133に格納されて
いる一定の混合比率W(W00)が読み出されてレジス
タ(M0)141にセットされる(ステップS104
1)。
【0323】次いで、レジスタ(M1)142にセット
された入力波形W(INP)がゲート147を介して乗
算器145に供給されるとともに、レジスタ(M0)1
41にセットされた混合比率W(W00)が乗算器14
5に供給される。そして、両者が乗算器145において
乗算され、その演算結果がレジスタ(MR)150に格
納される(ステップS1042)。これにより、図16
の乗算器121の機能と等価な処理が実現される。
【0324】また、各レジスタ(M1)142およびレ
ジスタ(M0)141が空になったので、続いてワーク
メモリ(W)134に格納されている1/2の分周波形
W(OTO)が読み出されてレジスタ(M1)142に
セットされるとともに、係数メモリ(P)133に格納
されている一定の混合比率W(MO1)が読み出されて
レジスタ(M0)141にセットされる(同じくステッ
プS1042)。
【0325】そのあと、レジスタ(MR)150に格納
されている演算結果がゲート148および加減算器14
6をスルーしてレジスタ(AR)151に移されて空と
なる(ステップS1043)。
【0326】その後、レジスタ(M1)142にセット
された1/2の分周波形W(OTO)がゲート147を
介して乗算器145に供給されるとともに、レジスタ
(M0)141にセットされた混合比率W(MO1)が
乗算器145に供給される。そして、両者が乗算器14
5において乗算され、その演算結果がレジスタ(MR)
150に格納される(同じくステップS1043)。こ
れにより、図16の乗算器123の機能と等価な処理が
実現される。
【0327】続いて、ワークメモリ(W)134に格納
されている1/4の分周波形W(OT1)が読み出され
てレジスタ(M1)142にセットされるとともに、係
数メモリ(P)133に格納されている一定の混合比率
W(MO2)が読み出されてレジスタ(M0)141に
セットされる(同じくステップS1043)。
【0328】次いで、レジスタ(MR)150に格納さ
れているデータ、すなわち1/2の分周波形W(OT
O)を混合比率W(MO1)で調整したデータがゲート
148を介して加減算器146に供給されるとともに、
レジスタ(AR)151に格納されているデータ、すな
わち入力波形W(INP)を混合比率W(W00)で調
整したデータがゲート149を介して加減算器146に
供給される。
【0329】そして、両者が加減算器146において加
算され、その演算結果がレジスタ(AR)151に格納
される(ステップS1044)。これにより、図16の
加算器122の機能と等価な処理が実現される。すなわ
ち、入力波形W(INP)と1/2の分周波形W(OT
O)が所定の比率で混合される。
【0330】そのあと、レジスタ(M1)142にセッ
トされた1/4の分周波形W(OT1)がゲート147
を介して乗算器145に供給されるとともに、レジスタ
(M0)141にセットされた混合比率W(MO2)が
乗算器145に供給される。そして、両者が乗算器14
5において乗算され、その演算結果がレジスタ(MR)
150に格納される(同じくステップS1044)。こ
れにより、図16の乗算器124の機能と等価な処理が
実現される。
【0331】続いて、ワークメモリ(W)134に格納
されている原音を2倍した波形W(ML3)が読み出さ
れてレジスタ(M1)142にセットされるとともに、
係数メモリ(P)133に格納されている一定の混合比
率W(MO3)が読み出されてレジスタ(M0)141
にセットされる(同じくステップS1044)。
【0332】次いで、レジスタ(MR)150に格納さ
れているデータ、すなわち1/4の分周波形W(OT
1)を混合比率W(MO2)で調整したデータがゲート
148を介して加減算器146に供給されるとともに、
レジスタ(AR)151に格納されているデータ、すな
わち入力波形W(INP)と1/2の分周波形W(OT
O)とが所定の比率で混合されたデータ(混合波形)が
ゲート149を介して加減算器146に供給される。
【0333】そして、両者が加減算器146において加
算され、その演算結果がレジスタ(AR)151に格納
される(ステップS1045)。
【0334】これにより、図16の加算器125の機能
と等価な処理が実現される。すなわち、入力波形W(I
NP)、1/2の分周波形W(OTO)および1/4の
分周波形W(OT1)が所定の比率で混合される。
【0335】そのあと、レジスタ(M1)142にセッ
トされた原音を2倍した波形W(ML3)がゲート14
7を介して乗算器145に供給されるとともに、レジス
タ(M0)141にセットされた混合比率W(MO3)
が乗算器145に供給される。そして、両者が乗算器1
45において乗算され、その演算結果がレジスタ(M
R)150に格納される(同じくステップS104
5)。これにより、図16の乗算器126の機能と等価
な処理が実現される。
【0336】続いて、ワークメモリ(W)134に格納
されている原音を4倍した波形W(MX3)が読み出さ
れてレジスタ(M1)142にセットされるとともに、
係数メモリ(P)133に格納されている一定の混合比
率W(MO4)が読み出されてレジスタ(M0)141
にセットされる(同じくステップS1045)。
【0337】次いで、レジスタ(MR)150に格納さ
れているデータ、すなわち原音を2倍した波形W(ML
3)を混合比率W(MO3)で調整したデータがゲート
148を介して加減算器146に供給されるとともに、
レジスタ(AR)151に格納されているデータ、すな
わち入力波形W(INP)、1/2の分周波形W(OT
O)および1/4の分周波形W(OT1)が所定の比率
で混合されたデータ(3つの混合波形)がゲート149
を介して加減算器146に供給される。
【0338】そして、両者が加減算器146において加
算され、その演算結果がレジスタ(AR)151に格納
される(ステップS1046)。
【0339】これにより、図16の加算器127の機能
と等価な処理が実現される。すなわち、入力波形W(I
NP)、原音の1/2の分周波形W(OTO)、1/4
の分周波形W(OT1)およびが原音の2倍波形W(M
L3)が所定の比率で混合される。
【0340】そのあと、レジスタ(M1)142にセッ
トされた原音を4倍した波形W(MX3)がゲート14
7を介して乗算器145に供給されるとともに、レジス
タ(M0)141にセットされた混合比率W(MO4)
が乗算器145に供給される。そして、両者が乗算器1
45において乗算され、その演算結果がレジスタ(M
R)150に格納される(同じくステップS104
6)。これにより、図16の乗算器128の機能と等価
な処理が実現される。
【0341】次いで、レジスタ(MR)150に格納さ
れているデータ、すなわち原音を4倍した波形W(MX
3)を混合比率W(MO4)で調整したデータがゲート
148を介して加減算器146に供給されるとともに、
レジスタ(AR)151に格納されているデータ、すな
わち入力波形W(INP)、1/2の分周波形W(OT
O)、1/4の分周波形W(OT1)および原音を2倍
した波形W(ML3)が所定の比率で混合されたデータ
(4つの混合波形)がゲート149を介して加減算器1
46に供給される。
【0342】そして、両者が加減算器146において加
算され、その演算結果がレジスタ(AR)151に格納
される(ステップS1047)。
【0343】これにより、図16の加算器129の機能
と等価な処理が実現される。すなわち、入力波形W(I
NP)、原音の1/2の分周波形W(OTO)、1/4
の分周波形W(OT1)、原音の2倍波形W(ML3)
および原音の4倍波形W(MX3)が所定の比率で混合
される。
【0344】その後、レジスタ(AR)151にセット
された上記データがクリッパ回路152を通過してレジ
スタ(SR)153に移される(ステップS104
8)。このとき、クリッパ回路152ではレジスタ(A
R)151に格納されたデータのオーバフロー(桁あふ
れ)が防止される。
【0345】このようにしてレジスタ(SR)153に
格納された演算結果SRは、内部バス136を介して混
合演算の結果である出力波形W(OUT)としてワーク
メモリ(W)134の所定のアドレスに格納される(ス
テップS1048)。
【0346】次に、図32は出力処理(ステップS21
2)の詳細を示すものである。図32において、混合演
算の結果としてワークメモリ(W)134の所定のアド
レスに格納された出力波形W(OUT)PI)がレジス
タ(OR)157からDSP12の外部のD/A変換器
13に取り出される(ステップS1051)。これによ
り、混合波形を外部に取り出す機能が実現される。
【0347】なお、本実施例では、効果付加処理のため
に信号をデジタル的に処理するDSPを用いているの
で、このようなDSPを他のデジタル信号処理装置と組
み合われば、電子楽器の分野でも上記のような弦楽器で
生成されるもの以外の種々の楽音に対して音響効果を付
加することができる。
【0348】また、本実施例では原音より1オクターブ
および2オクターブ高い音を作成しているが、より高い
音、例えば8オクターブ高い音を作り出すことも可能で
ある。
【0349】また、上記実施例は本発明を電子楽器に適
用した例であるが、本発明はこれに限るものではなく、
電子楽器以外の他の音響装置(例えば、カラオケ装置)
についても幅広く適用が可能である。
【0350】
【発明の効果】本発明によれば、入力される音響信号
(原音)に対して周期が1/2(周波数では2倍)ある
いは1/4(周波数では4倍)等となる波形、すなわち
1オクターブあるいは2オクターブ等の高い音高の音響
信号を簡単なハード回路で発生させることができ、この
オクターブ高の音を原音に混合させてやることにより、
音の厚みが増したオクターブ効果を付加することができ
る。その結果、これによって楽音の多様性を確保するこ
とができる。
【図面の簡単な説明】
【図1】本発明の効果付加装置を電子楽器に適用した一
実施例の構成を示す回路図である。
【図2】同実施例の電子部の内部構成を示すブロック図
である。
【図3】同実施例のCPUの動作フローチャートであ
る。
【図4】同実施例のDSPにおけるオクターブ効果付加
のための処理を疑似的に示すブロック図である。
【図5】同実施例の2乗処理(A)およびオフセット加
算2倍処理(A)を実行するハード回路を示す回路図で
ある。
【図6】同実施例のクリップ処理(B)を実行するハー
ド回路を示す回路図である。
【図7】同実施例の1オクターブ上の音を発生する処理
を説明する波形図である。
【図8】同実施例の2乗処理(B)およびオフセット加
算2倍処理(B)を実行するハード回路を示す回路図で
ある。
【図9】同実施例のクリップ処理(C)を実行するハー
ド回路を示す回路図である。
【図10】同実施例のクリップ処理(A)を実行するハ
ード回路を示す回路図である。
【図11】同実施例の分周処理の動作原理を説明する波
形図である。
【図12】同実施例のCPO分周処理を実行するハード
回路を示す回路図である。
【図13】同実施例で使用する係数を示す図である。
【図14】同実施例のOPO分周処理を実行するハード
回路を示す回路図である。
【図15】同実施例の分周処理を説明する波形図であ
る。
【図16】同実施例の混合処理を実行するハード回路を
示す回路図である。
【図17】同実施例のDSPの構成を示す回路図であ
る。
【図18】同実施例のオクターブ効果付加のための全体
処理の動作フローチャートである。
【図19】同実施例の入力処理の詳細を示す動作フロー
チャートである。
【図20】同実施例のクリップ処理(A)の詳細を示す
動作フローチャートである。
【図21】同実施例のCPO分周処理の詳細を示す動作
フローチャートである。
【図22】同実施例のCPO分周処理の詳細を示す動作
フローチャートである。
【図23】同実施例のOPO分周処理の詳細を示す動作
フローチャートである。
【図24】同実施例のOPO分周処理の詳細を示す動作
フローチャートである。
【図25】同実施例の2乗処理(A)の詳細を示す動作
フローチャートである。
【図26】同実施例のオフセット加算2倍処理(A)の
詳細を示す動作フローチャートである。
【図27】同実施例のクリップ処理(B)の詳細を示す
動作フローチャートである。
【図28】同実施例の2乗処理(B)の詳細を示す動作
フローチャートである。
【図29】同実施例のオフセット加算2倍処理(B)の
詳細を示す動作フローチャートである。
【図30】同実施例のクリップ処理(C)の詳細を示す
動作フローチャートである。
【図31】同実施例の混合処理の詳細を示す動作フロー
チャートである。
【図32】同実施例の出力処理の詳細を示す動作フロー
チャートである。
【図33】同実施例で使用するデータを示す図である。
【符号の説明】
3:電子部 11:A/D変換器 12:DSP(Digital signal Proccesor) 13:D/A変換器 14:CPU 15:ROM 16:RAM 21:2乗処理(A)(演算手段) 22:オフセット加算2倍処理(A)(加算手段) 23:クリップ処理(B)(クリップ手段) 24:混合処理(混合手段) 25:2乗処理(B)(演算手段) 26:オフセット加算2倍処理(B)(加算手段) 27:クリップ処理(C)(クリップ手段) 28:クリップ処理(A) 29:CPO分周処理 30:OPO分周処理 31、33、42、44、46、48、50、51、5
3、62、64、66、68、70、72、74、7
6、78、80、98、99、118、119、12
1、123、124、126、128、145:乗算器 32、41、43、45、47、49、52、61、6
3、65、67、69、71、73、75、77、7
9、88、108、122、125、127、129:
加算器 81、84、89、92、93、101、104、10
9、112、113:減算器 82、86、90、96、102、106、110、1
14、116:符号検出器 83、95、103、115:不一致検出器 85、105:遅延器 87、97、107、117:ラッチ 91:演算器(ALU) 111:演算器(ALU) 131:プログラムメモリ 132:制御回路 133:係数メモリ(P) 134:ワークメモリ(W) 135:入力レジスタ(PI) 136:内部バス 137〜140、147、148、149:ゲート 141:レジスタ(MO) 142:レジスタ(M1) 143:レジスタ(A0) 144:レジスタ(A1) 146:加減算器 150:レジスタ(MR) 151:レジスタ(AR) 152:クリッパ回路 153:レジスタ(SR) 154:レジスタ(SFO) 155:レジスタ(SF1) 156:比較器 157:出力レジスタ(OR)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 入力される音響信号を偶数倍する演算手
    段と、この演算手段により偶数倍された音響信号に対し
    て所定のオフセット値を加算するオフセット加算手段
    と、このオフセット加算手段により加算された音響信号
    を所定のレベルでクリップするクリップ手段と、このク
    リップ手段によりクリップされた音響信号と前記入力さ
    れる音響信号とを混合して出力する混合手段と、を備え
    たことを特徴とする効果付加装置。
  2. 【請求項2】 前記クリップ手段は、入力される信号同
    士を加算する加算手段と、この加算手段からの加算結果
    を2倍する乗算手段と、この乗算手段からの乗算結果を
    ラッチする所定ビット数のレジスタ手段と、最初に、前
    記オフセット加算手段からの出力信号を前記加算手段に
    入力させ、その後、前記レジスタ手段にラッチされた信
    号を前記加算手段に入力させる動作を所定回数繰り返
    し、該繰り返し動作が所定回数終了した後に、前記レジ
    スタ手段にラッチされた信号を出力信号として出力させ
    る制御手段と、を有することを特徴とする請求項1記載
    の効果付加装置。
JP03156582A 1991-06-27 1991-06-27 効果付加装置 Expired - Fee Related JP3141427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03156582A JP3141427B2 (ja) 1991-06-27 1991-06-27 効果付加装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03156582A JP3141427B2 (ja) 1991-06-27 1991-06-27 効果付加装置

Publications (2)

Publication Number Publication Date
JPH056176A true JPH056176A (ja) 1993-01-14
JP3141427B2 JP3141427B2 (ja) 2001-03-05

Family

ID=15630915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03156582A Expired - Fee Related JP3141427B2 (ja) 1991-06-27 1991-06-27 効果付加装置

Country Status (1)

Country Link
JP (1) JP3141427B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113345394A (zh) * 2020-02-17 2021-09-03 北京字节跳动网络技术有限公司 音频数据的处理方法、装置、电子设备及存储介质
CN116994545A (zh) * 2023-09-25 2023-11-03 苏州至盛半导体科技有限公司 K歌系统原音动态调节方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113345394A (zh) * 2020-02-17 2021-09-03 北京字节跳动网络技术有限公司 音频数据的处理方法、装置、电子设备及存储介质
CN113345394B (zh) * 2020-02-17 2023-12-22 抖音视界有限公司 音频数据的处理方法、装置、电子设备及存储介质
CN116994545A (zh) * 2023-09-25 2023-11-03 苏州至盛半导体科技有限公司 K歌系统原音动态调节方法和装置
CN116994545B (zh) * 2023-09-25 2023-12-08 苏州至盛半导体科技有限公司 K歌系统原音动态调节方法和装置

Also Published As

Publication number Publication date
JP3141427B2 (ja) 2001-03-05

Similar Documents

Publication Publication Date Title
KR0160493B1 (ko) 디지탈 오디오 신호 발생 장치 및 데이타 처리 장치
JPS6147435B2 (ja)
US4179972A (en) Tone wave generator in electronic musical instrument
JP2576647B2 (ja) 波形発生装置
US5625158A (en) Musical tone generating apparatus
JP3141427B2 (ja) 効果付加装置
US5283386A (en) Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means
US4833963A (en) Electronic musical instrument using addition of independent partials with digital data bit truncation
JPH07325581A (ja) 楽音発生装置
JPS6322312B2 (ja)
JP2768241B2 (ja) 信号処理装置
JPH02135564A (ja) データ処理装置
JPH02179693A (ja) 処理装置
JP2611406B2 (ja) デジタル音声信号発生装置
JP2769690B2 (ja) 遅延装置
JP3217745B2 (ja) 電子楽器
JP2643387B2 (ja) デジタル音声信号発生装置
JP3104318B2 (ja) 効果付加装置
JP3134334B2 (ja) ディストーション回路
JP3651675B2 (ja) 電子楽器
JPH0743597B2 (ja) 楽音発生装置
JP3337450B2 (ja) 電子楽器
JP3144046B2 (ja) 効果付加装置
JPH0643863A (ja) エフェクタ
JPH02125296A (ja) 電子楽器

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees