JPH06167976A - 変調信号発生装置及びそれを用いた効果付加装置 - Google Patents

変調信号発生装置及びそれを用いた効果付加装置

Info

Publication number
JPH06167976A
JPH06167976A JP4345572A JP34557292A JPH06167976A JP H06167976 A JPH06167976 A JP H06167976A JP 4345572 A JP4345572 A JP 4345572A JP 34557292 A JP34557292 A JP 34557292A JP H06167976 A JPH06167976 A JP H06167976A
Authority
JP
Japan
Prior art keywords
register
output
value
modulation signal
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.)
Pending
Application number
JP4345572A
Other languages
English (en)
Inventor
Masatoshi Watanuki
正敏 綿貫
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 JP4345572A priority Critical patent/JPH06167976A/ja
Publication of JPH06167976A publication Critical patent/JPH06167976A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 演奏速度に対応した周期の変調信号を発生で
きる変調信号発生装置及びこの変調信号発生装置を用い
た効果付加装置を提供することを目的としている。 【構成】 レート設定回路6には、エフェクタ8のLF
Oで発生させる変調信号の振幅値及び周期のデータが制
御スイッチ5から、またCPU3からMIDI情報が入
力される。レート設定回路6はこのMIDI情報を調べ
て1サンプリング時間におけるLFOのレートを算出
し、その振幅値と周期に応じたレートRTをエフェクタ
8に出力する。エフェクタ8は、LFOとしての三角波
ジェネレータを備えており、レート設定回路6からのレ
ートRTに同期した変調信号を発生する。そして、エフ
ェクタ8はこのレートRTの変調信号に基づいて音源7
から入力される楽音信号を変調し、ビブラート等の効果
を付加して、発音回路9から発音させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子楽器等から発生さ
れる楽音信号に対して効果を付加する際に用いられる変
調信号を発生する変調信号発生装置及びこの変調信号発
生装置を用いた効果付加装置に関する。
【0002】
【従来の技術】電子弦楽器(例えば、ギター等)や電子
オルガン及びシンセサイザー等の電子楽器、さらには他
の音源で発生された音を加工して出力する楽音出力装置
等の音を取り扱う装置においては、いかに豊かな音色の
楽音を出すかが重要な課題となる。
【0003】この豊かな音を出すための手段として、従
来から音源等で発生された音の電気信号にビブラートや
トレモロ等の効果を付加する効果付加処理を施すことが
行なわれている。
【0004】従来、トレモロやコーラス、ビブラートと
いったモジュレーション関連の効果付加装置は、一般
に、LFO(Low Frequency Oscillator:低周波発振
器)を使用し、LFOの発生する一定周期の低周波信号
により楽音信号を変調している。例えば、この低周波信
号により、楽音信号の周波数を変調すると、ビブラート
効果が付加され、楽音信号の振幅を変調すると、トレモ
ロ効果が付加される。
【0005】ところが、このように一定周期の低周波信
号により楽音信号の周波数や振幅というパラメータを変
化させると、このパラメータの変化が発生する楽音の速
さと無関係に発生して、楽音の変化と付加する効果のか
かり具合の変化とがまったくばらばらになり、このよう
な状態で効果の付加された楽音の演奏は、それ自体極度
に不安定感のあるものとなる。
【0006】そこで、従来、演奏の速度と付加する効果
の周期とを同期させるために、LFOの発生する変調信
号の周期を決定するパラメータを演奏速度が変わる毎
に、演奏中に手動により設定し直している。
【0007】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の効果付加装置にあっては、変調信号の周期を
決定するパラメータを演奏をしながら手動により設定す
ることが非常に煩雑であるだけでなく、演奏速度が変わ
る毎に設定操作を行なうことは、実際上不可能に近く、
不安定感のある演奏になるという問題があった。
【0008】そこで、本発明は、演奏速度の変化に同期
した変調信号を発生することのできる変調信号発生装置
及びこの変調信号発生装置を用いた効果付加装置を提供
することを目的としている。
【0009】
【課題を解決するための手段】本発明の変調信号発生装
置は、請求項1に記載するように、演奏される曲の速さ
に対応した情報を検出する速さ検出手段と、前記速さ検
出手段で検出された情報に基づいた周期を有する変調信
号を発生する変調信号発生手段と、を備えることによ
り、上記目的を達成している。
【0010】この場合、前記速さ検出手段は、例えば、
請求項2に記載するように、演奏される曲のテンポ情報
を検出してもよい。
【0011】また、本発明の効果付加装置は、請求項3
に記載するように、演奏される曲の速さに対応する情報
を検出する速さ検出手段と、前記速さ検出手段で検出さ
れた情報に基づいた周期を有する変調信号を発生する変
調信号発生手段と、前記変調信号発生手段の発生する変
調信号に従って前記演奏される曲を構成する楽音信号を
変調する変調手段と、を備えることにより、上記目的を
達成している。
【0012】この場合、前記速さ検出手段は、例えば、
請求項4に記載するように、演奏される曲のテンポ情報
を検出してもよい。
【0013】また、前記変調手段は、例えば、請求項5
に記載するように、前記演奏される曲を構成する楽音信
号の周波数を前記変調信号に従って変調してもよい。
【0014】
【作用】本発明の変調信号発生装置によれば、演奏され
る曲の速さに対応した情報、例えば、演奏される曲のテ
ンポ情報を、速さ検出手段により検出し、この検出され
た情報に基づいた周期を有する変調信号を、変調信号発
生手段により発生する。
【0015】したがって、演奏速度の変化に同期した変
調信号を発生することができ、演奏速度の変化に同期し
た処理を行なうのに利用することができる。
【0016】また、本発明の効果付加装置によれば、演
奏される曲の速さに対応する情報、例えば、演奏される
曲のテンポ情報を、速さ検出手段により検出し、この検
出される情報に基づいた周期を有する変調信号を、変調
信号発生手段により発生する。そして、この変調信号に
従って、変調手段により、演奏される曲を構成する楽音
信号、例えば、楽音信号の周波数を変調する。
【0017】したがって、演奏される曲の楽音信号を演
奏速度の変化に同期させて変調することができ、楽音の
変化と効果のかかり具合の変化とを調和のとれたものと
することができる。その結果、演奏自体を安定感のある
ものとすることができる。
【0018】
【実施例】以下、本発明を図面に基づいて説明する。
【0019】第1図〜第20図は本発明に係る変調信号
発生装置及びこの変調信号発生装置を用いた効果付加装
置の一実施例を示す図である。
【0020】まず、構成を説明する。
【0021】図1は、変調信号発生装置及びこれを用い
た効果付加装置を適用した電子楽器1のブロック図であ
り、電子楽器1は、鍵盤2、CPU(Central Processi
ng Unit)3、自動演奏メモリ4、制御スイッチ5、レ
ート設定回路6、音源7、エフェクタ8及び発音回路9
等を備えている。
【0022】制御スイッチ5は、電子楽器1による演奏
の各種条件を決定するための複数のスイッチを備え、特
に、鍵盤2を使用したマニュアル演奏モードと自動演奏
モードとの切換スイッチ、エフェクタ8により付加する
効果の設定を行なうスイッチ、また、このエフェクタ8
により効果を付加する際にレート設定回路6により発生
させる変調信号のレートを設定するレートスイッチ等の
各種スイッチを備えている。
【0023】鍵盤2は、複数の鍵、例えば、82鍵を備
え、CPU3は、鍵盤2を走査して、鍵操作に応じた楽
音情報を音源7に出力して、音源7に楽音を発生させる
とともに、音源7の発生した楽音に制御スイッチ5の設
定に応じた効果をエフェクタ8に付加させる。
【0024】エフェクタ8で効果の付加された楽音は、
発音回路9に出力され、発音回路9は、入力される楽音
を外部に放音したり、他の外部装置に出力する。すなわ
ち、発音回路9は、A/D変換回路、増幅回路、スピー
カ及び出力端子等を備え、エフェクタ8から入力される
楽音をアナログに変換した後、増幅して、スピーカから
発生したり、出力端子から外部装置に出力する。
【0025】また、CPU3は、制御スイッチ5で自動
演奏が選択されると、自動演奏メモリ4に記憶されてい
る演奏情報を読み出し、MIDI情報として音源7及び
レート設定回路6に出力するとともに、クロックφをレ
ート設定回路6に出力する。レート設定回路6は、制御
スイッチ5による変調に関するスイッチの設定状態とC
PU3から入力されるクロックφ及びMIDI情報に基
づいてエフェクタ8に変調レートRTを出力する。エフ
ェクタ8は、音源7から入力される楽音をレート設定回
路6から入力される変調レートに基づいて変調して、効
果を付加し、効果を付加した楽音を発音回路9に出力す
る。
【0026】このレート設定回路6は、図2に示すよう
に構成されている。
【0027】すなわち、レート設定回路6は、比較器1
1、トグルフリップフロップ12、カウンタ13、フリ
ップフロップ14、15、加減算器16、乗算器17、
倍数テーブル18、フリップフロップ19、20、比較
器21及び除算器22等を備えており、比較器11に
は、MIDIクロックをチェックするための設定値(F
8H)と、CPU3からのMIDI情報が入力されてい
る。
【0028】比較器11は、入力されるMIDI情報が
設定値(F8H)になると、パルスをトグルフリップフ
ロップ12に出力し、トグルフリップフロップ12は、
比較器11からパルスが入力される毎に、その出力を反
転させる。トグルフリップフロップ12の出力は、それ
ぞれフリップフロップ14とフリップフロップ15のク
ロック端子に入力されており、各フリップフロップ1
4、15のD端子には、カウンタ13のカウント出力が
入力されている。
【0029】カウンタ13には、CPU3からのクロッ
クφが入力されており、カウンタ13は、クロックφが
入力される毎に、すなわち、1サンプリング毎に1だけ
インクリメントされて、そのカウント結果をフリップフ
ロップ14及びフリップフロップ15に出力する。した
がって、カウンタ13のカウント結果は、比較器11が
パルスを出力する毎、すなわち、MIDIのタイミング
クロックが入力される毎に、フリップフロップ14とフ
リップフロップ15に交互にラッチされる。
【0030】フリップフロップ14とフリップフロップ
15のラッチ出力は、加減算器16に入力され、加減算
器16は、トグルフリップフロップ12の出力を参照し
て、フリップフロップ14、15の出力のうち後からラ
ッチされたフリップフロップの出力から先にラッチされ
たフリップフロップの出力を減算する。なお、この加減
算器16は、カウンタ13のカウント出力のビット数の
制限によるカウント値の大小関係が反転した場合、例え
ば、後からのカウント値が次のカウントサイクルに入っ
た場合にも、正常に演算する処理を行なう。
【0031】加減算器16は、その減算結果を乗算器1
7に出力し、乗算器17には倍数テーブル18からの倍
数値が入力されている。この倍数テーブル18には、制
御スイッチ5により設定された周期が入力されており、
倍数テーブル18は、この周期をテーブルを参照してそ
の倍数を読み出して乗算器17に出力する。
【0032】乗算器17は、加減算器16から入力され
る減算結果に倍数テーブル18から入力される倍数値を
乗算して、その乗算結果を比較器21及びフリップフロ
ップ19、20に出力する。
【0033】比較器21には、さらにフリップフロップ
20のラッチ出力が入力されており、比較器21は、乗
算器17の乗算結果とフリップフロップ20のラッチ出
力を比較して、比較結果が異なるとき、パルスをフリッ
プフロップ19及びフリップフロップ20のクロック端
子に出力する。この比較器21がパルスを出力するとき
は、通常、制御スイッチ5により周期が変更されたとき
であり、この周期が変更されたときに、乗算器17の乗
算結果が、既にフリップフロップ19やフリップフロッ
プ20にラッチされている乗算結果と異なる値となる。
そして、比較器21がフリップフロップ19及びフリッ
プフロップ20にパルスを出力すると、フリップフロッ
プ19及びフリップフロップ20は、乗算器17から入
力される新たな乗算結果をラッチし、フリップフロップ
20はそのラッチ結果を比較器21に出力し、またフリ
ップフロップ19はそのラッチ結果を除算器22に出力
する。
【0034】除算器22には、フリップフロップ19の
ラッチ出力の他に、制御スイッチ5から変調の深さ(d
epth)を設定するスイッチにより設定された値に対
応するLFO振幅値が入力され、除算器22は、このL
FO振幅値をフリップフロップ19のラッチ出力で除算
して、その除算結果を1サンプリング時間におけるLF
Oの変調レートRTとして、図1のエフェクタ8に出力
する。
【0035】すなわち、レート設定回路6は、制御スイ
ッチ5によりエフェクタ8で楽音を変調する際の変調周
期が設定され、LFO振幅値が設定されると、CPU3
から入力されるMIDI情報を調べ、1サンプリング時
間におけるLFOのレートを算出して、エフェクタ8に
出力する。また、演奏の途中で、制御スイッチ5によ
り、変調周期やLFO振幅値が変更されると、その変更
に応じてLFOの変調レートRTを算出して、エフェク
タ8に出力する。
【0036】エフェクタ8は、その全体動作を図3に示
すような機能ブロック図として表わすことができる。
【0037】図3において、30は、効果付加のための
各種係数(G、−FMD、DT)を記憶手段する係数R
AMであり、係数RAM30に記憶された係数G、−F
MD、DTは、CPU3により読み出され図示しない内
部バスを介して後述する各部の回路に供給される。ま
た、31は、LFOとして三角波を発生する三角波ジェ
ネレータであり、三角波ジェネレータ31は、上記レー
ト設定回路6から入力されるレートRTに応じたレート
の低周波の三角波を発生して、後段に設けられたローパ
スフィルタ(LPF)32に出力する。ここで、発生さ
せる波形としては三角波又は矩形波といったハードウェ
ア又は演算器等で簡単に発生できる波形が有利である。
【0038】なお、本実施例ではLFOによる発振波形
として三角波を発生するものを用いているが、倍音成分
の多い波形(例えば、鋸歯状波、矩形波)であればどの
ようなものでもよい。この三角波ジェネレータ31の具
体的構成については図4及び図5で後述する。
【0039】三角波ジェネレータ31の出力側には、三
角波ジェネレータ31で発生した波形(三角波)の高調
波成分をカットするローパスフィルタ(LPF)32が
設けられており、ローパスフィルタ(LPF)32はカ
ットオフ周波数に対応するLPF用係数Gに基づいて三
角波の高調波成分を所定のカットオフ周波数により所定
のゲインでカットする。これにより、三角波ジェネレー
タ31の出力波形(図4(A)参照)は、図4(B)に
示すように高調波成分がカットされ正弦波に近い波形と
なる。また、このローパスフィルタ(LPF)32のカ
ットオフ周波数は、CPU3によって係数RAM30か
ら読み出されて与えられる係数Gによって任意に変更可
能であり、従って、三角波ジェネレータ31からの出力
波形は三角波から正弦波(完全な正弦波とはならないが
正弦波と殆ど同様の効果を得ることができる。以下、単
に正弦波という。)へと連続した任意の波形を選ぶこと
ができる。
【0040】ローパスフィルタ(LPF)32の出力W
(SIN)は加算器33、34及び乗算器35、36か
らなる反転・シフト回路37に入力される。反転・シフ
ト回路37は、アドレスを読み出す場合のオフセット値
を大きくとることによって変調の深さを上げても読出ア
ドレスが書込アドレスを越えないようにするための回路
であり、この反転・シフト回路37の加算器33、34
にはワークメモリ(W)84(後述)から読み出された
シフト定数W(0.5)が入力され、乗算器35、36
には係数RAM30から読み出された変調パラメータ−
FMDが入力される。
【0041】ここで、出力信号W(SIN)は、右チャ
ンネル(Rch)、左チャンネル(Lch)それぞれに
変調効果を付加するために加算器33、34に分けて入
力され、この加算器33、34は、入力された正弦波W
(SIN)にアドレスのオフセットに対応するシフト定
数W(0.5)を加算し、その加算出力を乗算器35、
36に出力する。
【0042】乗算器35、36は、所望の変調効果にお
ける変調深さを制御するために設けられているもので、
所定のオフセットデータが加算されてシフトされた信号
波形に、変調深さに対応する変調パラメータ(モジュレ
ーションデプス)−FMDを乗算し(符号がマイナスで
あるため信号波形は反転される)、その乗算結果を各々
あるビットから上位は整数部として加算器38、39に
与え、下位ビットは小数部として後述する補間回路4
8、52に与える。この乗算器35、36の出力は図4
(C)で示される。なお、図4(C)破線に示す波形は
FMDが1以下の場合の乗算器35、36の出力を示し
ている。図4(C)に示すようにLPF37の出力は遅
延時間が長くなる方向に反転・シフトされた後に変調の
深さがかかるように変えられているので、変調の深さを
いかなる程度にしても読出アドレスが書込アドレスを越
えることはない。従って、遅延時間によって変調の深さ
に制限が設けられることはなく、より自由度の高い効果
を付加することができる。
【0043】サンプリングカウンタ(SC)40は、サ
ンプリングサイクル毎にカウントアップするカウンタで
あり、サンプリングカウンタ(SC)40の出力は後述
するメモリ44のサンプリングカウンタ(SC)入力端
子WAに入力されるとともに、加算器41に入力され、
加算器41でディレイタイム(書き込んでから読み出す
までの時間差)に対応するパラメータDTが加算され
る。この加算結果は前記加算器38、39に入力され、
加算器38、39で前記乗算器35、36による乗算結
果の整数部に各々加算されて加算器42、43に入力さ
れる一方、リードアドレスRAR0,RAL0としてメ
モリ44に入力される。加算器42、43は加算器3
8、39で加算されたデータに1を加算するインクリメ
ントを行ない、インクリメントしたデータはリードアド
レスRAR1、RAL1としてメモリ44に入力され
る。
【0044】変調効果を付加すべき入力楽音信号は、後
述する入力レジスタ(PI)86(図8参照)からメモ
リ44の入力端子INに供給され、入力端子WAに入力
されるサンプリングカウンタ(SC)40の出力に従っ
てアドレスが決定されて、そのアドレスに順次書き込ま
れる。そして、入力楽音信号はリードアドレスRAR
0、RAR1、RAL0、RAL1が、入力端子WAか
ら入力されたアドレスと等しくなるまでの時間遅延され
た後に読み出される。これにより、メモリ44からは入
力楽音信号を周波数変調したものと等価な楽音信号が出
力されることになる。リードアドレスRAR0、RAR
1、RAL0、RAL1でメモリ44の対応する出力端
子OR0、OR1、OL0、OL1から読み出されたデ
ータは、加算器45、46及び乗算器47からなるRチ
ャンネル補間回路48と加算器49、50及び乗算器5
1からなるLチャンネル補間回路52に各々出力され
る。各補間回路48、52は、サンプリング周期の間が
アドレス指定されたときメモリ44から読み出されたデ
ータを直接補間して出力するためのものである。具体的
には、右チャンネル(Rch)の補間回路48について
は、リードアドレスRAR0で読み出された出力OR0
とその次のリードアドレスRAR1で読み出された出力
OR1とを加算器45に入力し、加算器45で出力OR
1から出力OR0を減算した後、乗算器47に出力す
る。そして、乗算器47でこの減算値に前記反転・シフ
ト回路37からの低周波信号(正弦波W(SIN))の
小数部RARDを乗算し、この乗算値に加算器46で出
力OR0を加算することによって行なう。左チャンネル
(Lch)の補間回路52についても同様である。補間
回路48、52の出力はさらに加算器53、54に入力
され、加算器53、54で各々入力楽音信号の原音に加
算され、コーラス効果を付加されて出力される。
【0045】図5(A)は、図3の三角波ジェネレータ
31の一例を示すブロック図である。
【0046】図5(A)において、三角波ジェネレータ
31は、レジスタW(SAW)61と、このレジスタW
(SAW)61の出力にワークメモリ(W)84(図8
参照)から読み出したレートW(RAT)を加算しレジ
スタW(SAW)61の入力側に帰還させる加算器62
と、レジスタW(SAW)61及び加算器62からなる
ループにより生じたのこぎり波出力が入力され、該入力
信号にワークメモリ(W)84から読み出した所定のシ
フト定数W(0.5)を加算する加算器63とから構成
されている。加算器63でシフト定数W(0.5)が加
算されることによって三角波ジェネレータ31からは三
角波W(TRI)が出力される。
【0047】図6は、図3のローパスフィルタ(LP
F)32の一例を示すブロック図である。
【0048】図6において、ローパスフィルタ(LP
F)32は、遅延素子71と、入力された三角波W(T
RI)にLPF用係数(1−G)を乗算する乗算器72
と、遅延素子71の出力にLPF用係数Gを乗算する乗
算器73と、乗算器72の出力と乗算器73の出力を加
算し正弦波近似の出力波形W(SIN)を出力する加算
器74とにより構成されている。
【0049】また、図7は、図3の反転・シフト回路3
7部分を抽出したブロック図であり、反転・シフト回路
37は、ローパスフィルタ(LPF)32により高調波
成分が除去され正弦波近似の波形W(SIN)が入力さ
れ、この波形W(SIN)にシフト定数W(0.5)を
加算する前記加算器33、34と、加算器33、34の
出力に変調の深さを決めるモジュレーションデプス(−
FM)を乗算して右チャンネル用LFOデータW(RA
R)及び左チャンネル用LFOデータW(RAL)とし
て出力する前記乗算器35、36とにより構成されてい
る。
【0050】図8は、エフェクタ8の内部構成を示す図
であり、エフェクタ8には、DSP(Digital Signal P
rocessor )が使用されている。
【0051】図8において、プログラムメモリ81は、
所定のプログラムを格納するメモリであり、CPU3か
らの指示に従って所定の動作プログラムを制御回路82
に出力する。また、プログラムメモリ81には、図示し
ないアドレスカウンタが接続されており、プログラムメ
モリ81は、このアドレスカウンタのアドレス指定によ
り順次プログラム内容を制御回路82に供給する。
【0052】制御回路82は、プログラムメモリ81の
出力内容により、後述する各レジスタ、メモリ間のデー
タ転送及び演算、各ゲートやラッチを開閉制御するため
の各種制御信号及びサンプリングカウンタ(SC)出力
を出力し、所望の信号処理動作を実行する。
【0053】係数メモリ(P)83は、後述する図9に
示すように、三角波発生、LPF出力、反転・シフト実
現のための各種係数G、1−G、−FMDを格納するレ
ジスタであり、かかる係数G、1−G、−FMDは、C
PU3が前記係数RAM30から読み出してDSP14
内の係数メモリ(P)83に与える。
【0054】ワークメモリ(W)84は、後述する図1
0に示すように、エフェクタ8内で作成される波形信号
等を一時的に退避させておくワーク用メモリである。
【0055】また、遅延オフセットメモリ(T)85
は、後述する図11に示すように、入力信号データメモ
リ44への書き込みの際の遅延時間のオフセット値−D
T、−DT+1を格納するレジスタであり、かかる係数
DTは、CPU3が前記係数RAM30から読み出して
エフェクタ8内の遅延オフセットメモリ(T)85に与
える。
【0056】入力レジスタ(PI)86は、図示しない
音源等からのディジタル入力信号データを格納し、内部
バス87を介して各部へ供給する。
【0057】前記係数メモリ(P)83、ワークメモリ
(W)84の出力及び入力レジスタ(PI)86の出力
は、後述する各レジスタからの出力とともにゲート88
〜91のゲート端子に入力され、ゲート88〜91から
の出力は、レジスタ(M0)92、(M1)93、(A
0)94、(A1)95に入力される。レジスタ(M
0)92、(M1)93は、乗算器96に供給する演算
途中のデータを格納し、レジスタ(A0)94、(A
1)95は、加減算器97に供給する演算途中のデータ
を格納する。また、レジスタ(M1)93の出力及び後
述するレジスタ(SR)94の出力は、ゲート98を介
して乗算器96に入力されるとともに、レジスタ(A
0)94の出力及び後述するレジスタ(MR)101の
出力は、ゲート99を介して加減算器97に入力され、
レジスタ(A1)95の出力及び後述するレジスタ(A
R)102の出力は、ゲート100を介して加減算器9
7に入力される。前記乗算器96の乗算結果はレジスタ
(MR)101に格納され、レジスタ(MR)101の
出力は、ゲート89及びゲート99に供給される。ま
た、前記加減算器97の演算結果は、レジスタ(AR)
102に格納され、レジスタ(AR)102の出力は、
ゲート100に供給されるとともに、オーバフローを防
止するためのクリッパ回路103を介してレジスタ(S
R)104に供給される。レジスタ(SR)104の出
力は、ゲート98に供給され、また、ある1音について
の処理の演算結果として内部バス87を介してワークメ
モリ(W)84に供給される。
【0058】上記演算結果がワークメモリ(W)84に
記憶され一連の処理が終了すると、ワークメモリ(W)
84に記憶されたデータは、出力レジスタ(OR)10
5に転送され、該出力レジスタ(OR)105は、転送
されたデータを後段の装置に出力する。
【0059】一方、前記レジスタ(AR)102の出力
は、レジスタ(LF)106に入力され、遅延オフセッ
トメモリ(T)85の出力は、レジスタ(TR)107
に入力される。レジスタ(AR)102の出力及びレジ
スタ(LF)106の出力は、ゲート108を介して加
算器110に入力され、また、サンプリングカウンタ
(SC)40の出力は、後述するレジスタ111からの
出力とともにゲート109を介して加算器110に入力
される。加算器110の演算結果は、レジスタ111に
格納されるとともに、レジスタ(EA)112に入力さ
れ、サンプリングカウンタ(SC)40の出力が格納さ
れたレジスタ(EA)112の値は、アドレスとして遅
延用メモリ(E)114に与えられる。前記入力レジス
タ(PI)86に格納された加工すべき入力楽音信号
は、内部バス87を介してレジスタ(EO)113に供
給され、レジスタ(EO)113の出力は、遅延用メモ
リ(E)114に供給される。アドレスの差値により所
定の遅延分がかかって変調された遅延用メモリ(E)1
14からの出力は、レジスタ(EI)115に出力され
る。
【0060】そして、変調効果が付加され上記レジスタ
(EI)115に格納された楽音信号データは、内部バ
ス87を介して例えばレジスタ(A0)94、(A1)
95に転送され、ここで後述する図18の処理動作に従
って右チャンネル(左チャンネル)処理される。
【0061】図9は、係数メモリ(P)83のメモリマ
ップを示す図であり、アドレス1に、ローパスフィルタ
(LPF)の波形を変えるパラメータに対応するLPF
用係数G、アドレス2に、ローパスフィルタ(LPF)
の波形を変えるパラメータに対応するLPF用係数(1
−G)、アドレス3に、周波数変調の深さに対応する変
調情報(モジュレーションデプス)(−FMD)をそれ
ぞれ記憶する。この係数メモリ(P)83に格納される
係数F、1−G、−FMDは、CPU3が係数RAM3
0から読み出してきてエフェクタ8の係数メモリ73に
与えるものである。
【0062】図10は、演算途中の信号を一時的に格納
しておくワークメモリ(W)84のメモリマップを示す
図であり、アドレス0に、三角波ジェネレータ31出力
に対応するTRI、アドレス1に、LPF出力に対応す
るSIN(W(SIN))、アドレス2に、シフト定数
に対応する係数0.5(W(0.5))、アドレス3
に、右チャンネル用LFOデータの内容に対応するRA
R(W(RAR))、アドレス4に、左チャンネル用L
FOデータの内容に対応するRAL(W(RAL))、
アドレス5に、入力信号データバッファの内容に対応す
るIN(W(IN))、アドレス6に、右チャンネル出
力に対応するROT(W(ROT))、アドレス7に、
左チャンネル出力に対応するLOT(W(LOT))、
アドレス8に、のこぎり波データの内容に対応するSA
W(W(SAW))、アドレス9に、レート値RAT
(W(RAT))をそれぞれ記憶する。
【0063】図11は、図8の遅延オフセットメモリ
(T)85のメモリマップを示す図であり、アドレス0
に、遅延オフセットメモリ(T)85に書き込んでから
読み出すまでの時間差に対応するディレイタイムオフセ
ット(−DT)、アドレス1に、書き込んでから読み出
すまでの時間差に対応するディレイタイムオフセット
(−DT+1)をそれぞれ記憶する。
【0064】次に、本実施例の動作を説明する。
【0065】この電子楽器1による効果付加処理は、エ
フェクタ8により行なわれ、このエフェクタ8での効果
付加処理に必要なプログラムやパラメータは、CPU3
により設定される。以下説明する各図において、符号S
n(n=1、2、‥‥)はフローの各ステップを示して
いる。
【0066】まず、このCPU3によるパラメータ設定
処理について、図12に基づいて説明する。
【0067】パラメータ設定処理は、係数RAM30か
ら各係数を読み込んでエフェクタ8に係数G、FMD、
DTを設定する処理であり、本フローは所定の周期毎に
割込み処理される。
【0068】パラメータ設定処理では、まず、制御スイ
ッチ5を走査し(ステップS1)、制御スイッチ5の状
態変化があったかどうかチェックする(ステップS
2)。変化があるときは、制御スイッチ5の状態変化か
らどのパラメータを設定すべきかを判別し(ステップS
3)、変化がないときはそのまま処理を終了する。
【0069】ステップS3で、LFOを変えるパラメー
タを設定すべきであると判別したときには、LPF用係
数Gを再設定し(ステップS4)、LFOの変調の深さ
を変えるパラメータを設定すべきであると判別したとき
は、モジュレーションデプスFMDを再設定して処理を
終える(ステップS5)。一方、書き込んでから読み出
すまでの遅延時間を設定すべきであると判別したとき
は、ディレイタイムオフセットDTを再設定して処理を
終える(ステップS6)。
【0070】次に、エフェクタ8による効果付加処理に
ついて、図13に基づいて以下説明する。
【0071】エフェクタ8は、図13に示すエフェクタ
処理を実行することにより、図3に示した機能動作を実
現し、図13のフローチャートは、エフェクタ8のプロ
グラムメモリ81に格納されているプログラムをフロー
チャート表現にしたものである。なお、本フローの各ス
テップの具体的動作は図14〜図18において後述す
る。
【0072】図13において、エフェクタ処理は、ま
ず、低周波信号出力として三角波ジェネレータ31によ
り三角波を発生する三角波ジェネレータ処理(ステップ
S11)を行ない、発生した三角波をLPF32を通過
させるLPFの演算を実行することによって高調波成分
をカットオフして正弦波近似の波形信号W(SIN)を
求めるLPF処理(ステップS12)を行なう。次い
で、反転・シフト回路37により波形信号W(SIN)
を反転・シフトして変調の深さをいかなる値にしても読
み出しアドレスが書き込みアドレスを超えないように処
理する反転シフト処理(ステップS13)を行ない、反
転・シフト処理後の入力信号データをメモリ44へ書き
込む入力信号データ書込処理(ステップS14)を行な
う。次いで、右チャンネル(Rch)について変調及び
補間を行なう右チャンネル処理(ステップS15)を行
ない、左チャンネル(Lch)について変調及び補間を
行なう左チャンネル処理(ステップS16)を行なって
本フローの処理を終える。
【0073】上記エフェクタ処理における各処理につい
て、以下、順次説明する。
【0074】まず、三角波ジェネレータ処理について、
図14に基づいて説明する。
【0075】三角波ジェネレータ処理は、三角波ジェネ
レータ31を実現するための処理であり、本処理動作を
図8に示したエフェクタ8上で実行することにより図3
に示す三角波ジェネレータ31が実現される。
【0076】三角波ジェネレータ処理は、まず、ステッ
プS21で、ワークメモリ(W)84からのこぎり波デ
ータW(SAW)を読み出し、こののこぎり波データW
(SAW)をレジスタ(A0)94にセットする(W
(SAW)→A0)。次いで、ステップS22で、ワー
クメモリ(W)84からレート値W(RAT)を読み出
し、このレート値W(RAT)をレジスタ(A1)95
にセットする(W(RAT)→A1)。
【0077】このレート値W(RAT)は、図1のレー
ト設定回路6からワークメモリ(W)84に出力された
レートRTがワークメモリ(W)84にレート値W(R
AT)として書き込まれたものであり、上述のように、
演奏される曲の速さ(テンポ)に同期している。
【0078】次いで、ステップS23で、レジスタ(A
0)94のデータW(SAW)とレジスタ(A1)95
のレート値W(RAT)とを加算して、この加算値をレ
ジスタ(AR)102にセットし(A0+A1→A
R)、このあとレジスタ(AR)102の値をレジスタ
(SR)104に移す(AR→SR)。そして、ステッ
プS23で、ワークメモリ(W)84からシフト定数
(0.5)を読み出してレジスタ(A1)95にセット
する(W(0.5)→A1)。すなわち、図5(A)に
おいて、ワークメモリ(W)84から読み出されたのこ
ぎり波データW(SAW)に演奏される曲の速さに同期
したレート値W(RAT)を加算器62で加算してのこ
ぎり波を発生する処理に対応する(図5(B)参照)。
したがって、発生されるのこぎり波は、演奏される曲の
速さに同期したものとなる。
【0079】次いで、ステップS24で、レジスタ(S
R)104に格納されている加算値が負か(SR<0)
否かを判別し、加算値が負のときはステップS25に進
む。ステップS25では、次回の処理のためにレジスタ
(SR)104に格納されている加算値をワークメモリ
(W)84内の所定記憶エリア(SAW)に記憶し(S
R→W(SAW))、シフト定数(0.5)がセットさ
れたレジスタ(A1)95の値からのこぎり波データW
(SAW)がセットされたレジスタ(A0)94の値を
減算して、この減算値をレジスタ(AR)102にセッ
トする(A1−A0→AR)。そして、このレジスタ
(AR)102の値はレジスタ(SR)104に移され
る(AR→SR)。すなわち、SR<0のときは、図5
(B)に示すように、発生したのこぎり波が負の値のと
きであるから、図5(A)において加算器63によりシ
フト定数(0.5)から前記処理したのこぎり波データ
を減算することによって、図5(C)(ア)に示す部分
の三角波を発生させる処理に対応する処理を行なう。
【0080】一方、ステップS24で加算値が正(SR
≧0)のときは、ステップS26に進み、ステップS2
6で、次回の処理のためにレジスタ(SR)104に格
納されている加算値をワークメモリ(W)84内の所定
記憶エリア(SAW)に記憶し(SR→W(SA
W))、シフト定数(0.5)がセットされたレジスタ
(A1)95の値にのこぎり波データW(SAW)がセ
ットされたレジスタ(A0)94の値を加算し、この加
算値をレジスタ(AR)102にセットする(A1−A
0→AR)。このレジスタ(AR)102の値はレジス
タ(SR)104に移される(AR→SR)。すなわ
ち、SR≧0のときは、図5(B)に示すように発生し
たのこぎり波が正の値のときであるから、図5(A)に
おいて加算器63によりシフト定数(0.5)に前記処
理したのこぎり波データを加算することによって単調増
加させ、図5(C)(イ)に示す部分の三角波を発生さ
せる処理に対応する処理を行なう。
【0081】ステップS27では、前記ステップS25
あるいはステップS26で演算された加減算値をワーク
メモリ(W)84内の所定記憶エリア(TRI)に記憶
して(SR→W(TRI))今回の処理を終え、再び上
記ステップS21に戻り、同様の処理を1サンプリング
周期毎に繰り返す。これにより、エフェクタ8は、1サ
ンプリング周期毎に時分割で上記フローを実行すること
により図5(C)に示す三角波を発生する三角波ジェネ
レータ31が実現できる。
【0082】次に、図13のステップS12のLPF処
理について、図15に基づいて説明する。
【0083】LPF処理は、図3のローパスフィルタ
(LPF)32を実現するための処理動作を示すもので
あり、このLPF処理動作を図8に示したエフェクタ8
上で実行することにより図6に示すローパスフィルタ
(LPF)32が実現される。図15及び図6中〜
は処理動作中の状態を説明するための符号である。
【0084】LPF処理は、まず、ステップS31で、
係数メモリ(P)83からLPF用係数(1−G)を読
み出し、この係数(1−G)をレジスタ(M0)92に
セットする(P(1−G)→M0)とともに、ワークメ
モリ(W)84から前記図14の三角波ジェネレータ処
理によって演算され格納された三角波データW(TR
I)を読み出してレジスタ(M1)93にセットする
(W(TRI)→M1)。次いで、ステップS32で、
係数(1−G)がセットされたレジスタ(M0)92の
値と三角波データW(TRI)がセットされたレジスタ
(M1)93の値を乗算してその値をレジスタ(MR)
101にセットし(M0×M1→MR)、係数メモリ
(P)83からLFP用係数Gを読み出してレジスタ
(M0)92にセットする(P(G)→M0)ととも
に、ワークメモリ(W)84から前回のLPF出力W
(SIN)を読み出してレジスタ(M1)93にセット
する(W(SIN)→M1)。すなわち、図6におい
て、入力された三角波データW(TRI)に乗算器72
によりLPF用係数(1−G)を乗算する処理に対応す
る(参照)。
【0085】次いで、ステップS33で、レジスタ(M
R)101にセットされている乗算値をレジスタ(A
R)102に移し(MR→AR)、係数Gがセットされ
たレジスタ(M0)92の値と前回のLPF出力W(S
IN)がセットされたレジスタ(M1)93の値を乗算
してその値をレジスタ(MR)101にセットする(M
0×M1→MR)。すなわち、図6において、1サンプ
リング周期前の遅延素子71の出力に相当する前回のL
PF出力W(SIN)に乗算器73でLPF用係数Gを
乗算する処理に対応する(参照)。
【0086】次いで、ステップS34で、前記ステップ
S32で乗算した乗算値がセットされているレジスタ
(AR)102の値に前記ステップS33で乗算した乗
算値がセットされているレジスタ(MR)101を加算
し、この加算値をレジスタ(AR)102にセットする
(AR+MR→AR)。すなわち、図6の加算器74ま
で入力された三角波データW(TRI)に係数(1−
G)を乗算した値に前回のLPF出力W(SIN)に係
数Gを乗算した値が加算される処理に対応する(参
照)。
【0087】次いで、ステップS35で、レジスタ(A
R)102の値をレジスタ(SR)104に移し、ステ
ップS36で、上記演算によりレジスタ(SR)104
にセットされた値をLPF出力の内容に対応する正弦波
近似の出力データSINとしてワークメモリ(W)84
の該当するアドレスに書き込む(SR→W(SI
N))。この書き込みを完了すると、今回の処理を終え
(参照)、再び上記ステップS31に戻って、同様の
処理を1サンプリング周期毎に繰り返す。
【0088】以上の処理により、エフェクタ8は三角波
ジェネレータ31からの三角波W(SIN)の高調波分
をカットするローパスフィルタ(LPF)32としての
機能が実現される。すなわち、低周波発振器(LFO)
出力として発振した三角波W(SIN)がその出力段に
設けられたローパスフィルタ(LPF)32によって高
調波分がカットされ正弦波に近い波形にまで変化され
る。この場合、前記係数Gの値を変えることによってカ
ットオフ周波数を変化させ三角波に近いものから正弦波
に近いものまで容易に変更可能であり、またかかる変更
は係数の値を変更するだけであるからリアルタイムで処
理することができる。
【0089】次に、図13のステップS13の反転シフ
ト処理について、図16に基づいて説明する。
【0090】反転シフト処理は、図3の反転・シフト回
路37を実現するための処理動作を示すものであり、こ
の反転シフト処理動作を図8に示したエフェクタ8上で
実行することにより図7に示す反転・シフト回路37が
実現される。反転・シフト回路37は右チャンネルと左
チャンネルで同様の処理を行なうものであり、以下、図
16及び図7において左チャンネル処理動作は破線で囲
んで示す。なお、図中〜は処理動作中の状態を説明
するための符号である。
【0091】反転シフト処理では、まず、ステップS4
1で、ワークメモリ(W)84から前記図15のLPF
処理によって得られた正弦波データに対応するLPF出
力W(SIN)を読み出し、このLPF出力W(SI
N)をレジスタ(A0)94にセットする(W(SA
W)→A0)。次いで、ステップS42で、ワークメモ
リ(W)84からシフト定数(0.5)を読み出し、こ
のシフト定数(0.5)をレジスタ(A1)95にセッ
トする(W(RAT)→A1)。そして、ステップS4
3で、LPF出力W(SIN)がセットされたレジスタ
(A0)94の値とシフト定数(0.5)がセットされ
たレジスタ(A1)95の値とを加算し、この加算値を
レジスタ(AR)102にセットする(A0+A1→A
R)。すなわち、図7に示すように、ワークメモリ
(W)84から読み出したLPF出力データW(SI
N)にシフト定数W(0.5)を加算器33で加算して
正弦波に対してオフセットをかける処理に対応する処理
を行なう(参照)。
【0092】次いで、ステップS44で、レジスタ(A
R)102の値をレジスタ(SR)104に移し(AR
→SR)、シフト定数W(0.5)がセットされたレジ
スタ(A1)95の値からLPF出力W(SIN)がセ
ットされたレジスタ(A0)94の値を減算してレジス
タ(AR)102にセットし(A1−A0→AR)〈左
チャンネル処理〉、係数メモリ(P)83からモジュレ
ーションデプス(−FMD)を読み出してレジスタ(M
0)92にセットする(P(−FMD)→M0)。すな
わち、図7に示すように、ワークメモリ(W)84から
読み出したシフト定数W(0.5)からLPF出力デー
タW(SIN)を加算器34で減算して左チャンネル側
において正弦波に対応してオフセットをかける処理に対
応する処理を行なう(参照)。
【0093】次いで、ステップS45で、モジュレーシ
ョンデプス(−FMD)がセットされているレジスタ
(M0)92の値と前記レジスタ(SR)104にセッ
トされた値とを乗算してその値をレジスタ(MR)10
1にセットし(M0×SR→MR)、レジスタ(AR)
102の値をレジスタ(SR)104に移す(AR→S
R)〈左チャンネル処理〉。すなわち、図7において、
LPF出力データW(SIN)にシフト定数W(0.
5)を加算器33で加算した値に乗算器35でモジュレ
ーションデプス(−FMD)を乗算する処理に対応する
処理を行なう(参照)。
【0094】次いで、ステップS46で、レジスタ(M
R)101の値をレジスタ(AR)102に移し(MR
→AR)、モジュレーションデプス(−FMD)がセッ
トされているレジスタ(M0)92の値と前記レジスタ
(SR)104にセットされた値とを乗算してその値を
レジスタ(MR)101にセットする(M0×SR→M
R)〈左チャンネル処理〉。すなわち、図7において、
シフト定数W(0.5)からLPF出力データW(SI
N)を減算した値に乗算器36でモジュレーションデプ
ス(−FMD)を乗算する処理に対応する処理を行なう
(参照)。
【0095】次いで、ステップS47で、レジスタ(A
R)102の値をレジスタ(SR)104に移し(AR
→SR)、レジスタ(MR)101の値をレジスタ(A
R)102に移す(MR→AR)〈左チャンネル処
理〉。
【0096】次いで、ステップS48で、レジスタ(S
R)104にセットされた値を右チャンネル用LFOデ
ータRARとしてワークメモリ(W)84の該当するア
ドレスに書き込む(SR→W(RAR))とともに、左
チャンネル処理のためのレジスタ(AR)102の値を
レジスタ(SR)104に移す(AR→SR)〈左チャ
ンネル処理〉。
【0097】次いで、ステップS49で、レジスタ(S
R)104にセットされた値を左チャンネル用LFOデ
ータRALとしてワークメモリ(W)84の該当するア
ドレスに書き込んで(SR→W(RAL))、今回の処
理を終え、上記ステップS41に戻り、同様の処理を1
サンプリング周期毎に繰り返す。
【0098】このように、反転シフト処理では、右チャ
ンネル処理と同様の処理を行なう左チャンネル処理が図
16中破線で囲んだように右チャンネルのステップより
も一段遅れて実行されることとなり、図7に示す反転・
シフト回路37が実現できる。
【0099】次に、図13のステップS14における入
力信号データ書込処理について、図17に基づいて説明
する。
【0100】入力信号データ書込処理は、入力信号デー
タのメモリ44への書き込みを実現するための処理であ
り、図8に示したエフェクタ8上で実行される。
【0101】入力信号データ書込処理は、図17に示す
ように、まず、ステップS51で、サンプリングカウン
タ(SC)40の値をレジスタ(EA)112に格納し
(これがアドレスとなる)(SC→EA)、入力レジス
タ(PI)86の入力楽音信号をレジスタ(EO)11
3に格納する(PI→EO)とともに、入力レジスタ
(PI)86の入力楽音信号を後の処理のためにワーク
メモリ(W)84の入力信号データバッファW(IN)
に転送する(PI→W(IN))。
【0102】次いで、ステップS52で、入力楽音信号
が格納されているレジスタ(EO)113の値をサンプ
リングカウンタ(SC)40の値が格納されているレジ
スタ(EA)112の値をアドレスにして遅延用メモリ
(E)114に入れ(EO→E(EA))、入力信号デ
ータの遅延用メモリ(E)114への書込処理を終了す
る。
【0103】次に、図13のステップS15における右
チャンネル処理について、図18に基づいて説明する。
【0104】右チャンネル処理は、図8に示したエフェ
クタ8上で実行することにより図3に示す右チャンネル
処理を実現するための処理である。図18及び図3中
〜は処理動作中の状態を説明するための符号である。
【0105】右チャンネル処理では、まず、ステップS
61で、ワークメモリ(W)84から右チャンネル用L
FOデータW(RAR)の整数部のみを読み出してレジ
スタ(LF)106に転送する(W(RAR)→L
F)。次いで、ステップS62で、サンプリングカウン
タ(SC)40の値、レジスタ(LF)106にセット
されている右チャンネル用LFOデータW(RAR)及
び遅延オフセットメモリ(T)85から読み出したディ
レイタイムオフセット(−DT+1)を加算し、これら
の加算値をアドレスカウンタとしてのレジスタ(EA)
112にセットする(SC+LF+T(−DT+1)→
EA)。すなわち、変調信号(正弦波)が格納されてい
るレジスタ(LF)106の値にサンプリングカウンタ
(SC)40の値を加算し、さらに遅延分(−DT+
1)を加算してレジスタ(EA)112に格納する。こ
こで、レジスタ(EA)112はアドレスカウンタとし
ての機能を有し、レジスタ(EA)112に格納された
値をアドレスにして読み出すことになる(参照)。
【0106】次いで、ステップS63で、レジスタ(E
A)112に格納されている値をレジスタ(EI)11
5に移し(E(EA)→EI)、サンプリングカウンタ
(SC)40の値、レジスタ(LF)106にセットさ
れている右チャンネル用LFOデータW(RAR)及び
遅延オフセットメモリ(T)85から読み出したディレ
イタイムオフセット(−DT)を加算して、これらの加
算値をアドレスカウンタとしてのレジスタ(EA)11
2にセットする(SC+LF+T(−DT)→EA)。
すなわち、変調信号(正弦波)が格納されているレジス
タ(LF)106の値にサンプリングカウンタ(SC)
40の値と、遅延分(−DT)とが加算されてレジスタ
(EA)112に格納されることになり、サンプリング
カウンタ(SC)に遅延分(−DT+1)が加算され変
調がかけられた値が読み出されて、これがレジスタ(E
I)115に入ることになる。また、ステップS62で
読み出された加算値(EA)はステップS63で読み出
された加算値(EA)よりアドレスが1進んだものとな
っている。
【0107】次いで、ステップS64で、レジスタ(E
I)115にセットされている値をレジスタ(A1)9
5に転送し(EI→AI)、サンプリングカウンタ(S
C)40の値、右チャンネル用LFOデータW(RA
R)及びディレイタイムオフセット(−DT+1)が格
納されているレジスタ(EA)112の値をレジスタ
(EI)115に移す(E(EA)→EI)。次いで、
ステップS65で、レジスタ(EI)115にセットさ
れている値をレジスタ(A0)94に転送し(EI→A
0)、ステップS66で前記加算値が格納されているレ
ジスタ(A1)95の値から1つ先のアドレスによって
読み込まれた前の加算値が格納されているレジスタ(A
0)94の値を減算して差分をとりその差分をレジスタ
(AR)102にセットする(A1−A0→AR)。す
なわち、図3において、整数部のみ出力されたメモリ4
4の変調出力OR1から変調出力OR0を加算器45で
減算して乗算器47に与えるための処理に対応する(
参照)。
【0108】次いで、ステップS67で、前記差分値が
セットされているレジスタ(AR)102の値をレジス
タ(SR)104に移し(AR→SR)、ワークメモリ
(W)84から右チャンネル用LFOデータW(RA
R)の小数部のみを読み出して、レジスタ(M0)92
に転送する(W(RAR)→M0)。すなわち、前記ス
テップS61で既に整数部を読み込んでいるので、補間
を行なうためにここで小数部を読み込んでおく。
【0109】次いで、ステップS68で、前記差分値が
セットされているレジスタ(SR)104の値と右チャ
ンネル用LFOデータW(RAR)が格納されているレ
ジスタ(M0)92の値を乗算して、その乗算値をレジ
スタ(MR)101にセットし(M0×SR→MR)、
前記レジスタ(A0)94の値をレジスタ(A1)95
に移す(A0→A1)。すなわち、図3において、加算
器45から出力された差分値に乗算器47で右チャンネ
ル用LFOデータ(小数部)W(RAR)を乗算する処
理に対応する(参照)。
【0110】次いで、ステップS69で、前記乗算値が
セットされているレジスタ(M0)92の値に前記レジ
スタ(A1)95の値を加算してこの加算値をレジスタ
(AR)102にセットし(MR+A1→AR)、ワー
クメモリ(W)84から入力信号データバッファW(I
N)を読み出して、レジスタ(A0)94に転送する
(W(IN)→A0)。すなわち、図3に示すように、
乗算器47から出力された補間値に加算器46で1つ先
のアドレスによって読み込まれた整数部の出力OR0を
加算することによって補間後の出力を加算器53に与え
るための処理に対応する処理を行なう(参照)。
【0111】次いで、ステップS70で、前記入力信号
データバッファW(IN)が格納されているレジスタ
(A0)94の値と前記加算値がセットされているレジ
スタ(AR)102を加算し、この加算値をレジスタ
(AR)102にセットする(A0+AR→AR)。す
なわち、図3において、周波数変調(ビブラート)のか
かっている補間器48の出力に原音(入力楽音信号)を
加算器53で加算してコーラス効果を付加する処理に対
応する(参照)。
【0112】次いで、ステップS71で、レジスタ(A
R)102にセットされた値をレジスタ(SR)104
に移し(AR→SR)、ステップS72で、レジスタ
(SR)104にセットされた値を右チャンネル出力R
OTとしてワークメモリ(W)84の該当する複数エリ
アのアドレスに書き込む(SR→W(ROT)。
【0113】次いで、ステップS73で、ワークメモリ
(W)84から上記処理で記憶された右チャンネル出力
W(ROT)を読み出してレジスタ(OR)95に転送
して(W(ROT)→OR)右チャンネル処理を終え、
再び上記ステップS61に戻り、同様の処理を1サンプ
リング周期毎に繰り返すと図3に示す右チャンネル処理
が実現される。また、左チャンネル処理も全く同様にし
て処理することができる。
【0114】図19は、ローパスフィルタ(LPF)3
2の出力を変化させたときの周波数変調の状態を示す波
形図である。
【0115】図19において、ローパスフィルタ(LP
F)32のカットオフ周波数Gを変えることにより、L
PF32の出力が図19(A)から図19(C)へと変
化させたとき、補間器48、52出力が入力信号のピッ
チに対してどのように周波数変調されるかを示してい
る。すなわち、三角波ジェネレータ31出力(同図
(A)参照)はLPF32を通過させることによって、
図19(C)に示すように、高調波成分がカットされ正
弦波に近似した波形となる。そして、この正弦波信号が
入力されると同図(D)に示すような入力信号のピッチ
の変化が得られる。また、LPF32に与えられる係数
を変更すると、同図(B)に示す波形から同図(D)に
示す波形まで任意かつリアルタイムで所望の周波数変調
が実現できる。そして、この三角波ジェネレータ31の
出力は、レート設定回路6から入力されるレートRTに
より、演奏される曲の速さと同期されており、この三角
波ジェネレータ31の出力をLPF32により正弦波に
近似した波形としている。
【0116】以上説明したように、本実施例によれば、
演奏される曲の速さに対応した情報、例えば、演奏され
る曲のテンポ情報を速さ検出手段としてのレート設定回
路6により検出し、この検出された情報に基づいた同期
の変調信号(三角波の波形信号データ)を、変調信号発
生手段としての三角波ジェネレータ31により発生して
いるので、演奏速度に同期した変調信号を発生すること
ができ、演奏速度に同期した処理を行なうのに利用する
ことができる。また、この変調信号に従って、変調手段
としてのエフェクタ8により、演奏される曲を構成する
楽音信号の周波数を変調しているので、演奏される曲の
楽音信号を演奏速度に同期させて変調することができ、
楽音の変化と付加する効果のかかり具合の変化とを調和
のとれたものとすることができる。その結果、演奏自体
を安定感のあるものとすることができる。
【0117】また、本実施例では、三角波ジェネレータ
31により、0を中心にして特定周期で正又は負側に変
化する波形信号データを出力し、三角波ジェネレータ3
1からの波形信号データに反転・シフト回路37により
最大波高値に対応するシフト定数W(0.5)を加算し
て、更にシフト定数W(0.5)が加算された波形信号
データに変調の深さを決め、かつ波形信号データを反転
させる負のモジュレーションデプス(−FMD)を乗算
するようにしているので、変調の深さを大きくしても無
変調時より遅延時間を大きくする方向へのみ変調がかか
るようになり、図20に示すように変調も深さを上げて
も、読出アドレスは書込アドレスを超えることはない。
その結果、無変調時の遅延時間から変調の深さの最大値
を制限しなくて済み、自由度の高い効果付加装置を実現
することができる。
【0118】さらに、本実施例では、遅延時間に対応す
るパラメータにより最短遅延時間が設定でき、前記パラ
メータに対しピッチが変わらず一定であるため、パラメ
ータの設定が容易になるという利点がある。
【0119】なお、本実施例では、変調信号発生手段と
して三角波ジェネレータ31を用いているが、これに限
らず、演奏曲の速さに基づいた同期の変調信号を発生す
るものであれば何でもよい。
【0120】
【発明の効果】本発明の変調信号発生装置によれば、テ
ンポ等の演奏される曲の速さに対応した情報を検出し、
この検出情報に基づいた同期の変調信号を発生している
ので、この変調信号を利用して、演奏速度に同期した種
々の処理を行なうことができる。
【0121】また、本発明の効果付加装置によれば、テ
ンポ等の演奏される曲の速さに対応する情報に基づいた
同期の変調信号に従って、演奏される曲を構成する楽音
信号の周波数等を変調しているので、演奏される曲の楽
音信号を演奏速度に同期させて変調することができ、楽
音の変化と効果のかかり具合の変化とを調和のとれたも
のとすることができる。その結果、演奏自体を安定感の
あるものとすることができる。
【図面の簡単な説明】
【図1】本願発明の変調信号発生装置及びそれを用いた
効果付加装置の一実施例を適用した電子楽器のブロック
構成図。
【図2】図1のレート設定回路の詳細な回路ブロック
図。
【図3】図1のエフェクタの機能ブロック図。
【図4】図3の機能ブロック図における各部の信号波形
を示す波形図。
【図5】図3の三角波ジェネレータの回路ブロック図と
これにより形成される信号波形の波形図。
【図6】図3のローパスフィルタ(LPF)の回路ブロ
ック図。
【図7】図3の反転シフト回路の回路ブロック図。
【図8】図1のエフェクタの内部回路構成図。
【図9】図8の係数メモリ(P)のメモリマップを示す
図。
【図10】図8のワークメモリ(W)のメモリマップを
示す図。
【図11】図8の遅延オフセットメモリのメモリマップ
を示す図。
【図12】図1のCPUによるパラメータ設定処理を示
すフローチャート。
【図13】そのエフェクタのメイン処理を示すフローチ
ャート。
【図14】図13の三角波ジェネレータ処理の詳細な処
理内容を示すフローチャート。
【図15】図13のLPF処理の詳細な処理内容を示す
フローチャート。
【図16】図13の反転シフト処理の詳細な処理内容を
示すフローチャート。
【図17】図13の入力信号データ書込処理の詳細な処
理内容を示すフローチャート。
【図18】図13の右チャンネル処理の詳細な処理内容
を示すフローチャート。
【図19】ローパスフィルタ(LPF)出力を変化させ
たときの周波数変調の状態を説明するための波形図。
【図20】書込アドレスと変調された読出アドレスとの
関係の説明図。
【符号の説明】
1 電子楽器 2 鍵盤 3 CPU 4 自動演奏メモリ 5 制御スイッチ 6 レート設定回路 7 音源 8 エフェクタ 9 発音回路 11 比較器 12 トグルフリップフロップ 13 カウンタ 14、15 フリップフロップ 16 加減算器 17、35、36、47、51 乗算器 18 倍数テーブル 19、20 フリップフロップ 21 比較器 22 除算器 30 係数RAM 31 三角波ジェネレータ 32 ローパスフィルタ(LPF) 33、34、38、39、41〜50、53、54 加
算器 37 反転・シフト回路 40 サンプリングカウンタ(SC) 44 メモリ 48 Rチャンネル補間回路 52 Lチャンネル補間回路 81 プログラムメモリ 82 制御回路 83 係数メモリ(P) 84 ワークメモリ(W) 85 遅延オフセットメモリ(T) 86 入力レジスタ(PI)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 演奏される曲の速さに対応した情報を検
    出する速さ検出手段と、 前記速さ検出手段で検出された情報に基づいた周期を有
    する変調信号を発生する変調信号発生手段と、 を備えたことを特徴とする変調信号発生装置。
  2. 【請求項2】 前記速さ検出手段は、演奏される曲のテ
    ンポ情報を検出することを特徴とする請求項1記載の変
    調信号発生装置。
  3. 【請求項3】 演奏される曲の速さに対応する情報を検
    出する速さ検出手段と、 前記速さ検出手段で検出された情報に基づいた周期を有
    する変調信号を発生する変調信号発生手段と、 前記変調信号発生手段の発生する変調信号に従って前記
    演奏される曲を構成する楽音信号を変調する変調手段
    と、 を備えたことを特徴とする効果付加装置。
  4. 【請求項4】 前記速さ検出手段は、演奏される曲のテ
    ンポ情報を検出することを特徴とする請求項3記載の効
    果付加装置。
  5. 【請求項5】 前記変調手段は、前記演奏される曲を構
    成する楽音信号の周波数を前記変調信号に従って変調す
    ることを特徴とする請求項3または請求項4記載の効果
    付加装置。
JP4345572A 1992-11-30 1992-11-30 変調信号発生装置及びそれを用いた効果付加装置 Pending JPH06167976A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4345572A JPH06167976A (ja) 1992-11-30 1992-11-30 変調信号発生装置及びそれを用いた効果付加装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4345572A JPH06167976A (ja) 1992-11-30 1992-11-30 変調信号発生装置及びそれを用いた効果付加装置

Publications (1)

Publication Number Publication Date
JPH06167976A true JPH06167976A (ja) 1994-06-14

Family

ID=18377503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4345572A Pending JPH06167976A (ja) 1992-11-30 1992-11-30 変調信号発生装置及びそれを用いた効果付加装置

Country Status (1)

Country Link
JP (1) JPH06167976A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016142962A (ja) * 2015-02-04 2016-08-08 ヤマハ株式会社 プログラム及び波形生成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016142962A (ja) * 2015-02-04 2016-08-08 ヤマハ株式会社 プログラム及び波形生成装置

Similar Documents

Publication Publication Date Title
US4200021A (en) Electronic musical instruments which form musical tones by repeatedly generating musical tone waveform elements
US5243658A (en) Modulation effect adding apparatus
JP2999806B2 (ja) 楽音発生装置
US5254805A (en) Electronic musical instrument capable of adding musical effect to musical tones
JPH06167976A (ja) 変調信号発生装置及びそれを用いた効果付加装置
US5559298A (en) Waveform read-out system for an electronic musical instrument
JP3038835B2 (ja) 効果付加装置
JP4179243B2 (ja) 波形発生装置及びプログラム
JP2705348B2 (ja) 楽音信号発生装置
JPS638955Y2 (ja)
JP2734223B2 (ja) 楽音合成装置
JPS638954Y2 (ja)
US6806413B1 (en) Oscillator providing waveform having dynamically continuously variable waveshape
JP2995235B2 (ja) 効果付加装置
JP2606684B2 (ja) 周波数変調楽音合成原理による波形加工装置
JP2643761B2 (ja) 周波数変調楽音合成原理による波形加工装置
JP2970438B2 (ja) 波形メモリ型楽音発生装置
JPH043875B2 (ja)
JP2555883B2 (ja) 楽音波形発生装置
JP3007093B2 (ja) 楽音波形発生装置
JP3433764B2 (ja) 波形変更装置
JP3235315B2 (ja) フォルマント方式音源
JP2003058161A (ja) 楽音信号形成回路
JPH0643863A (ja) エフェクタ
JPH06149250A (ja) 変調信号発生装置