JP2950461B2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JP2950461B2
JP2950461B2 JP6139613A JP13961394A JP2950461B2 JP 2950461 B2 JP2950461 B2 JP 2950461B2 JP 6139613 A JP6139613 A JP 6139613A JP 13961394 A JP13961394 A JP 13961394A JP 2950461 B2 JP2950461 B2 JP 2950461B2
Authority
JP
Japan
Prior art keywords
waveform
storage means
sample
tone
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6139613A
Other languages
English (en)
Other versions
JPH07325581A (ja
Inventor
太一 小杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing 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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP6139613A priority Critical patent/JP2950461B2/ja
Priority to US08/452,304 priority patent/US5689079A/en
Publication of JPH07325581A publication Critical patent/JPH07325581A/ja
Application granted granted Critical
Publication of JP2950461B2 publication Critical patent/JP2950461B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/08Instruments in which the tones are synthesised from a data store, e.g. computer organs by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子楽器等に用いる楽音
発生装置に関し、特に楽音発生装置の発音開始時の制御
に関するものである。
【0002】
【従来の技術】従来、電子楽器等の楽音発生装置におい
ては、楽音波形のサンプル値を波形メモリに記憶してお
き、この波形データを所望の音高に対応した読み出し周
波数(アドレス間隔)で読み出すことにより楽音を発生
する方式があり、この方式の楽音発生回路においては、
ノイズを低減するために、読み出されたサンプル値の補
間演算を行うものがあった。サンプル値の補間演算を行
うためには、発生すべき楽音波形の位相情報の近傍(少
なくとも前後)の複数サンプル値が必要である。近年、
楽音発生回路において楽音発生チャネル数が増大してい
るために、各発生チャネルの時分割演算タイミングに同
期して、補間に必要な全ての波形サンプル値を波形メモ
リから読み出すことは、非常に高速のメモリを必要と
し、経済的ではない。
【0003】そこで、その時点までに読み出された位相
情報近傍の複数サンプル値を一時的に蓄積しておく記憶
手段をチャネルごとに設け、この記憶手段の内容を用い
て補間演算を行う方式がある。この記憶手段の内容の更
新は、発生すべき楽音波形の位相情報の整数部(即ち波
形メモリの読み出しアドレス)が歩進したときに行われ
る。しかし、この方式においては、発音開始時におい
て、記憶手段の内容がその発音とは無関係な値となって
いるために、補間結果が不正な値となってしまうという
問題点があった。そこで、この問題を解決するために、
記憶手段の内容を例えば0にリセットしてしまう方法も
提案されているが、この方法においては楽音の立ち上が
り特性を損なうという問題点があった。
【0004】更に別の方法として、特開平3−2695
97号公報に開示されているような方法がある。即ち、
発音開始時のみは、波形メモリの波形読出しアドレスを
指定する波形アドレス発生手段の動作態様を、これに続
く発音中のそれとは異なるように変更し、さらに具体的
にいえば、発音開始時には正常な補間演算のために必要
な複数の波形サンプル値を波形メモリから読み出すため
の複数のアドレスを短時間に連続して発生するように
し、これに基づいて読出された複数の波形サンプル値を
補間演算のための一時記憶手段に短時間で転送するよう
にしている。
【0005】
【発明が解決しようとする課題】上記したような従来の
楽音発生装置において、特に最後に述べた方式において
は高速のメモリを用いる必要もなく、また立ち上がり特
性も損なわないが、この方式を実現するためには、複雑
な波形メモリ読み出しアドレス発生回路を必要とすると
いう問題点があった。具体的にいえば、アドレス発生回
路の動作態様がキーオンに応答する発音開始時とその後
の発音中とで異なるので、そのように切換可能にする回
路構成や制御手段が複雑になるという問題点があった。
本発明の目的は、前記のような従来技術の問題点を改良
し、アドレス発生回路の構成や動作の複雑化をもたらす
ことなしに、発音開始時の補間演算がその後の発音中と
同様に実行されて楽音の立ち上がり特性が損なわれるこ
とのない楽音発生装置を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、楽音波形のサ
ンプル値を記憶する波形記憶手段と、前記波形記憶手段
の波形読出しアドレスを生成するアドレス発生手段と、
前記波形読出しアドレスに基づいて順次読出された複数
のサンプル値を一時的に記憶する一時記憶手段と、前記
一時記憶手段に記憶された複数のサンプル値を基に楽音
波形の補間演算を行う補間手段と、楽音の発生動作を制
御する主制御手段とを有する楽音発生装置において、発
音開始時において補間演算に必要なサンプル初期値が、
前記アドレス発生手段で生成された波形読出アドレスに
基づいて読出されて前記一時記憶手段に書き込まれるの
ではなく、前記主制御手段によって前記一時記憶手段に
直接書き込まれることを特徴とする。また本発明は、前
記サンプル初期値を記憶し、かつ前記主制御手段によっ
てアクセス可能な第2記憶手段と、発音開始時に、前記
第2記憶手段から前記サンプル初期値を読み出し、前記
一時記憶手段に書き込むための転送手段とをさらに具備
したことを特徴とする。
【0007】
【作用】本発明はこのような手段により、発音開始時に
は、楽音発生動作を制御する主制御装置であるマイクロ
プロセッサによって、補間演算に必要な複数のサンプル
初期値がサンプル値一時記憶手段に書き込まれるので、
最初の出力から正しい補間演算が実行可能となり、楽音
波形の立ち上がり特性が損なわれることがなくなる。本
発明は、補間演算のためのサンプル値一時記憶手段に、
主制御装置から前記サンプル初期値を書き込むための回
路を付加するのみで実施可能であるから、波形メモリ読
み出しアドレス発生回路に何らかの回路や機能を付加す
る必要は全くなく、波形メモリ読み出しアドレス発生回
路は従来どおり、発音開始から同じ動作態様を維持する
ことができる。また、主制御装置は通常マイクロプロセ
ッサ(CPU)によって構成されているので、発音開始
時に補間演算に必要な複数のサンプル初期値を、例えば
プログラム用のROMに記憶しておけば、新たなメモリ
は不要である。さらに、ROMに記憶した複数のサンプ
ル初期値のデータを波形メモリに重複して記憶する必要
がないことは当然である。
【0008】
【実施例】以下、本発明の一実施例を図面を参照して詳
細に説明する。図2は本発明を適用した電子楽器のハー
ドウェア構成を表すブロック図である。CPU1はキー
アサイン、発音制御など電子楽器全体の楽音発生動作
御を行うマイクロプロセッサ(すなわち、主制御手段)
である。また、タイマ割り込み回路も内蔵している。R
OM2には、制御プログラム、音色パラメータ、周波数
情報テーブル、効果付加回路の動作制御マイクロプログ
ラム、自動演奏用の演奏データ等が格納されている。音
色パラメータは、波形のアドレス情報、本発明に関わる
波形サンプル初期値、波形のサンプリングレート、エン
ベロープ制御情報等からなる。また周波数情報テーブル
は音高(キーナンバ)および波形のサンプリングレート
から波形の読み出し周波数(アドレス間隔)を決定する
ためのデータテーブルである。
【0009】RAM3には、楽器内の各種制御データ、
パネル回路4の現在状態、入力された演奏データ等が記
憶される。パネル回路4は、音色選択スイッチ、効果選
択スイッチ、効果付加量設定スイッチ、音量設定スイッ
チ等の各種スイッチ、LEDあるいはLCD等の表示装
置、およびそれらのインターフェース回路からなる。鍵
盤回路5は、例えばそれぞれ2つのスイッチを有する複
数の鍵と、該スイッチの状態を読み取るスキャン回路、
スイッチの状態変化に応じてキーオン、オフを検出する
キーイベント検出回路、押鍵の強さを検出するタッチ検
出回路などからなる。
【0010】楽音発生回路6は、例えば予め波形が記憶
されている波形ROM8から、入力された演奏情報の音
高に対応したアドレス間隔で波形情報を読み出し、デジ
タル楽音信号を発生する回路であり、時分割動作によ
り、同時に64チャネルの楽音信号を独立して発生させ
る。効果付加回路7は、楽音信号に例えば残響効果を付
加するための回路であり、後述するように演算回路等か
ら構成されており、信号遅延手段として遅延RAM9を
用いる。なお、図2に点線で示すように、楽音発生回路
6と効果付加回路7を1つのLSIにした場合に、端子
数の減少を図るために、CPU1との接続(バス12)
と共に波形ROM8、遅延RAM9との接続もメモリバ
ス13によるバス接続構成をとっている。
【0011】D/A変換器10はデジタル楽音信号をD
/A変換する。サウンドシステム11は、アンプ、スピ
ーカ(あるいはヘッドホン、イヤホン等)からなり、楽
音信号を増幅し、楽音を発生する。なおこの他に、MI
DIインターフェース回路、フロッピィディスク、メモ
リカード等の記憶媒体のドライバ(読み取り、書き込み
装置)等を備えてもよい。
【0012】図1は、楽音発生回路6の構成を示すブロ
ック図である。波形アドレス発生回路20は、詳細は後
述するが、CPU1からセットされた、発音したい楽音
の周波数に比例した周波数情報を累算して、波形ROM
8から波形サンプル値を読み出すためのアドレスWAを
各チャネルごとに時分割出力する。また補間用に楽音信
号の位相情報の小数部(アドレスの小数部)frおよび
整数部iの歩進信号incを出力する。サンプル補間回
路21は、詳細はやはり後述するが、波形ROM8から
読み出された複数の波形サンプル値を一時的に記憶し、
波形アドレス発生回路20から出力される位相情報の小
数部frを基に、波形サンプル値の補間演算を行い、位
相情報に対応したサンプル値出力W(i+fr)を出力
する。
【0013】エンベロープ発生回路22は、CPU1か
らセットされたパラメータに基づき周知の方式により所
望のエンベロープ信号を発生する。乗算器23は、補間
回路21からのサンプル値出力Wとエンベロープ信号と
を乗算して、デジタル楽音信号を生成し、効果付加回路
7に出力する。インターフェース回路24は、CPU1
からのデータ転送を楽音発生回路6内の動作タイミング
に同期させるための同期回路等からなり、セットされる
データは内部バスCDによって各回路に供給される。タ
イミング制御回路25は、各チャネルの時分割演算タイ
ミングを指定するカウンタを含み、楽音発生回路6の動
作タイミングを制御するクロック、アドレス、ラッチ信
号等を発生する。
【0014】図3は、メモリバス13に関連する回路を
示すブロック図である。図2には図示していないが、楽
音発生回路6および効果付加回路7とメモリバス13と
の間にはアドレス制御回路30が存在する。この回路
は、楽音発生回路6から出力される波形ROM8の読み
出しアドレスWAと、効果付加回路7から出力される遅
延RAM9の読み出しあるいは書き込みアドレスDAと
を入力し、共通のアドレス信号MAと個別のイネーブル
信号−CED、−CEWを出力する。
【0015】図4は、アドレス信号MAと各イネーブル
信号の関係を示すタイミングチャートである。MAには
WAとDAとが交互に出力され、1サンプリング周期に
おいて、WA(0)からWA(63)までの全チャネル
の波形サンプル値が読み出される。また、WA出力時に
は−CEWが0(有効)となり、DA出力時には−CE
Dが0(有効)となる。波形ROM8からは−CEWに
同期して波形サンプル値がデータバスMDに読み出さ
れ、楽音発生回路6に取り込まれると共に、効果付加回
路7は−CEDに同期して遅延RAM9にアクセスす
る。
【0016】図5は、図1の波形アドレス発生回路20
の構成を示すブロック図である。FN−RAM40は、
波形読み出し周波数(アドレス間隔)情報(当実施例で
は1より小さい値をとる)をチャネルごとに記憶する6
4ワードのメモリであり、このメモリの内容はCPU1
によって設定される。CPU1による書き込み以外の場
合は、チャネル指定カウンタによりアドレスが指定さ
れ、読み出された周波数情報はレジスタ41にラッチさ
れ、加算器42によって位相情報の小数部frと加算さ
れる。加算器42は、加算結果の小数部のみを出力し、
また加算結果が1以上になった場合には、キャリー(桁
上がり)信号を歩進信号incとして出力する。加算器
42の出力は、新たな位相情報の小数部frとして、セ
レクタ(SEL)43を介してΣaF−RAM44に書
き込まれる。なおセレクタ43は、CPU1がRAM4
4にデータをセットする場合に切り替わる。
【0017】歩進信号incはインクリメンタ(+1加
算器)46を起動し、インクリメンタ46は現在の読み
出しアドレスWAに1を加算した値をコンパレータ51
およびセレクタ47に出力する。なお歩進信号incが
発生されない場合にはインクレメンタ46はWAをその
まま出力する。コンパレータ51はインクリメンタ46
の出力と、LE−RAM54から読み出されたループエ
ンドアドレスとを比較する。そして、比較結果が不一致
であれば、インクリメンタ46の出力値をセレクタ47
が出力するように、また一致した場合にはLT−RAM
52から読み出されたループトップアドレスが出力され
るように、セレクタ制御信号を発生する。セレクタ47
の出力は新たな読み出しアドレスWAとしてΣaI−R
AM49に記憶される。ΣaI−RAM49は、楽音波
形の位相情報の整数部iをチャネルごとに記憶する64
ワードのRAMである。波形アドレスWAは、補間のた
めの先読みが必要なために、厳密にはWA=i+3とな
るように設定される(発音開始時にCPUが開始アドレ
ス情報として設定する。)。なお5個のRAMの内容
は、全てCPU1から内部バスCDを介して設定可能で
ある。
【0018】図11は、波形ROM8に記憶されている
波形データを示す概念図である。1つの音色に対応する
波形データは、記憶容量を削減するために、発音開始か
ら所定の長さだけ記憶されており、後半の音色変化のほ
とんど無い部分の先頭にループトップアドレスが設定さ
れている。読み出し時には開始アドレスから読み出しを
開始し、音色変化の大きな前半のアタック部分は1度だ
け読み出し、ループエンドアドレスに達すると、再びル
ープトップアドレスに戻って、音色変化のほとんど無い
部分の波形の読み出しを必要なだけ繰り返す。(図11
における波形は説明用であり、実際のものとは異なる) 次に補間について説明する。図12は、補間演算を説明
するための概念図である。図12(J)は、発音開始時
(図11のJ)における波形サンプル値と出力楽音信号
レベルの関係を示しており、図12(K1)、(K2)
は途中の場合を示している。この実施例においては、4
つのサンプリング値を用いて補間を行っている。今、連
続した4つのサンプリング値をW(i−1)、W
(i)、W(i+1)、W(i+2)とし、位相情報の
小数部frによって決まる補間係数をC(i−1)、C
(i)、C(i+1)、C(i+2)とすると、補間出
力は下記の式によって決定できる。(*は乗算を表
す。) W(i+fr)=C(i−1)*W(i−1)+C
(i)*W(i)+C(i+1)*W(i+1)+C
(i+2)*W(i+2)。
【0019】この、補間係数Cは、ラグランジュ補間で
は、C(i−1)=(1/6)*(fr*(fr*(f
r*(−1)+3)−2)+0)、C(i)=(1/
2)*(fr*(fr*(fr*(1)−2)−1)+
2)、C(i+1)=(1/2)*(fr*(fr*
(fr*(−1)+1)+2)+0)、C(i+2)=
(1/6)*(fr*(fr*(fr*(1)+0)−
1)+0)となり、またBスプライン曲線による補間で
はC(i−1)=(1/6)*(fr*(fr*(fr
*(−1)+3)−3)+1)、C(i)=(1/6)
*(fr*(fr*(fr*(3)−6)+0)+
4)、C(i+1)=(1/6)*(fr*(fr*
(fr*(−3)+3)+3)+1)、C(i+2)=
(1/6)*(fr*(fr*(fr*(1)+0)+
0)+0)となる。本発明においてはいずれの係数(あ
るいはその他の係数)も利用可能である。
【0020】図12(K1)において、波形ROM8に
は、アドレスの整数部分(i)に対応するサンプル値の
みが記憶されている。位相情報(アドレス)の現在値が
i+frである場合に、現在値Qのレベルは、前述した
式により、(i−1)から(i+2)までの4つのサン
プル値およびfrから求められる。そして、図12(K
2)に示すように、アドレスが累算されて位相情報が
(i+1)を超えると歩進信号incが発生し、現在値
R(i+1+fr)の補間に必要な(i+3)のサンプ
ル値が波形メモリ8から読み出されてサンプル補間回路
に蓄積される。なお、iから(i+2)までのサンプル
値はすでに読み出されて、蓄積されている。
【0021】図12(J)は発音開始時の状態を示して
おり、現在値Pがアドレスの0と1の間にある場合に、
補間演算を行うためには−1、0、1、2の4つのアド
レス値に対応するサンプル初期値W-1、W0 、W1 、W
2 が必要となる。ところが発音開始時にはサンプル値が
読み出されていないために、正しい補間演算を行うこと
ができない。そこで、発音開始時にはCPU1からサン
プル補間回路21の一時記憶メモリ62、65、68、
71(図6)に、補間演算に必要なサンプル初期値を転
送するように構成する。またこのために必要なサンプル
初期値は、例えばROM2内に格納しておく。従って、
波形ROM8にはアドレス3に対応するデータW3 以降
を記憶しておき、W-1からW2 までをROM2に記憶し
ておけばよい。なお、発音開始時に1つのサンプル値は
波形ROM8から読み出して利用可能であるとすれば、
アドレス2に対応するデータW2 以降を波形ROM8に
記憶しておけばよく、またアドレス0に対応する最初の
サンプル値W0 は必ず0であるとすれば、W0 はROM
2に記憶しておく必要はない。
【0022】図6は、サンプル補間回路21の構成を示
すブロック図である。4つのRAM62、65、68、
71はそれぞれ波形ROM8から読み出した波形サンプ
ル値をチャネルごとに記憶する64ワードの一時記憶
モリである。現在のアドレスの整数部がiである場合
に、W(i+2)RAM62はサンプル値W(i+2)
を記憶しており、以下同様に、W(i+1)RAM65
はW(i+1)を、W(i)RAM68はW(i)を、
W(i−1)RAM71はW(i−1)を記憶してい
る。歩進信号incが発生すると、タイミング制御回路
25から書き込み信号WRが出力され、W(i+2)R
AM62には波形ROM8から読み出されたデータMD
(=W(i+3))が書き込まれ、後続するW(i+
1)RAM65にはW(i+2)が、W(i)RAM6
8にはW(i+1)が、W(i−1)RAM71にはW
(i)が書き込まれる。
【0023】なお、発音開始時には各RAM内には無関
係なデータが残っているので、CPU1から必要なサン
プル値を内部バスCD、セレクタ(SEL)61、6
4、67、70を経由して各RAM内に転送する。レジ
スタ63、65、69、72はそれぞれ各RAMの出力
を保持するたものものであり、レジスタ60はメモリバ
ス13から波形サンプル値データをラッチするためのも
のである。
【0024】C(i+2)ROM78、C(i+1)R
OM79、C(i)ROM80、C(i−1)ROM8
1は、それぞれ前述した補間係数C(i+2)、C(i
+1)、C(i)、C(i−1)を記憶するROMであ
り、位相情報frをアドレスとして、対応する補間係数
が読み出される。乗算器73、74、75、76はそれ
ぞれ読み出された補間係数と各RAMから読み出された
補間用サンプル値とを乗算する。各乗算器の出力は加算
器77によって加算され、補間されたサンプル値W(i
+fr)が出力される。
【0025】図7は、効果付加回路7の構成を示すブロ
ック図である。インターフェース回路90は、バス12
とのインターフェースを行い、CPU1からのデータ転
送を効果付加回路7内の動作タイミングに同期させるた
めの同期回路等からなり、データは各パラメータRAM
91、92あるいは演算動作制御回路100に供給され
る。演算動作制御回路100は、例えば動作制御マイク
ロプログラムを記憶するインストラクションメモリと、
読み出されたインストラクションをデーコードするイン
ストラクションデコーダ等からなり、効果付加回路7の
演算動作を制御する各種制御信号を発生する。
【0026】本実施例ではインストラクションメモリは
RAMで構成されており、その内容はCPU1によって
設定される。なお効果付加回路7の演算動作態様を変更
する必要がない場合にはインストラクションメモリをR
OMにするか、あるいは制御回路をワイヤードロジック
で設計してもよい。パラメータRAM91、92はそれ
ぞれメインおよびサブ演算回路93、94のための演算
用パラメータを記憶するメモリであり、記憶されるパラ
メータとしては、入出力の利得係数、フィルタ係数、残
響音作成演算のための各種係数、楽音信号の遅延長(遅
延サンプル数)等がある。これらのパラメータはインタ
ーフェース回路90を介して、CPU1からセットされ
る。
【0027】メインおよびサブ用のレジスタファイル9
5、96は、主に演算途中のデータを一時的に保管する
ための複数のレジスタからなり、1、2次程度のIIR
フィルタを実現する際の遅延手段としても利用される。
また入力レジスタ99、出力レジスタ98、外部メモリ
インターフェース回路97、あるいはレジスタファイル
間でのデータの授受も行う。メイン用のレジスタファイ
ル95は32ビット程度、サブ用は20ビット程度の語
長を有している。外部メモリインターフェース回路97
はメモリバス13に接続されている遅延RAM9のアク
セス制御回路であり、遅延RAM9のアドレス情報DA
を出力し、メモリバスに書き込みデータを送出するか、
あるいは読み出されたデータを取り込んでレジスタファ
イル95に転送する。
【0028】メインおよびサブ演算回路93、94は例
えば図8に示すような構成を有している。図8におい
て、乗算器101はレジスタファイルからのデータとパ
ラメータRAMからのデータとを乗算し、バレルシフタ
102に出力する。バレルシフタ102は入力データを
所望の桁だけシフトして加算器103に出力する。加算
器103はアキュムレータ104の出力とバレルシフタ
102の出力とを加算し、アキュムレータ104に出力
する。アキュムレータ104は一時的なデータ保管用レ
ジスタであり、その出力はレジスタファイルにも出力さ
れる。
【0029】図9は、図7の効果付加回路における効果
付加処理の演算内容を示す機能ブロック図である。Aブ
ロックにおいては、楽音発生回路6から発生された複数
のチャネルの楽音信号は乗算器110により、それぞれ
所望のゲイン比に対応した係数を乗算され、加算器11
1によって加算、合成される。なお、図9における三角
形は全て乗算器、丸にプラスは加算器である。Bブロッ
クにおいても、同様の演算が行われるが、乗算器の係数
はそのチャネルの信号をどの程度残響音作成部に入力さ
せるかを決定する。Cブロックにおいては、Aブロック
およびDブロックから発生された楽音信号が、それぞれ
残響音の混合比に対応した係数を乗算され、加算器によ
って加算されて、出力信号が得られる。以上のA、B、
Cブロックの演算はサブ演算回路94によって実行さ
れ、そのために、サブ演算回路94は乗算器が16×1
2ビット、加算器が24ビット程度の精度を有してい
る。
【0030】Dブロックにおいては、残響音作成処理が
行われる。残響音の作成方式は各種提案されているが、
その一例を示すと、遅延時間がそれぞれ異なる複数の遅
延素子112(遅延RAM9により実現されている)に
より遅延された信号にそれぞれ所定の係数を乗算し、各
乗算器の出力信号をそれぞれの遅延素子の入力信号に加
算すると共に、各遅延素子の出力信号を加算、合成する
ことによって残響音を作成する。この残響音作成演算は
メイン演算回路93により実行される。そして、図示し
たような残響音の作成、あるいはIIRフィルタ等のフ
ィードバックループを含む演算には大きな演算精度が要
求される。従って、メイン演算回路93は乗算器が24
×16ビット、加算器が36ビット程度の精度を有して
いる。また一般に遅延RAMとしては数百〜数万サンプ
ルを遅延させる必要がある。
【0031】図10は、本発明を適用した電子楽器のC
PU1のメイン処理を示すフローチャートである。電源
が投入されると、ステップS1においては、CPU1、
RAM3、楽音発生回路6、効果付加回路7内のレジス
タやメモリが初期化される。ステップS2においては、
パネルイベントが有るか否かが判定され、結果が肯定で
あればステップS3に移行する。パネルイベントとはパ
ネル上のスイッチ等の状態変化(オフからオン、あるい
はその逆)のことである。ステップS3においては、各
スイッチの状態変化に基づき、対応するパネルイベント
処理が行われる。
【0032】ステップS4においては、キーイベントが
有るか否かが判定され、結果が否定の場合にはステップ
S14に移行するが、肯定の場合にはステップS5に移
行する。ステップS5においては、キーナンバ情報およ
びタッチ情報を生成し、ステップS6においては、キー
イベントがキーオンであるか否かが判定され、結果が肯
定であればステップS8に移行するが、否定であればス
テップS7に移行する。ステップS7においては、発音
終了処理が実行され、発音が十分に減衰すると、チャネ
ルの割り当てが解除される。ステップS6においてキー
オンであった場合にはステップS8に移行し、キーオン
に対応する発音が、楽音発生回路6の空いている楽音発
生チャネルに割り当てられる。
【0033】ステップS9においては、キー情報、タッ
チ情報に基づき、楽音の周波数、音色、エンベロープ情
報等を決定する。ステップS10においては、音色情報
等によって決定される読み出し開始アドレス、ループト
ップアドレス、ループエンドアドレスを、それぞれ波形
アドレス発生回路20内のΣaI−RAM49、LT−
RAM52、LE−RAM54に設定する。ステップS
11においては、例えばROM2に格納されている、ス
テップS10の読み出し開始アドレスに対応した波形サ
ンプル初期値をサンプル補間回路21内の各RAM(す
なわち、サンプル値一時記憶メモリ)に設定する。ステ
ップS12においては、周波数情報を波形アドレス発生
回路20内のFN−RAM40に設定する。ステップS
13においては、エンベロープ情報をエンベロープ発生
回路22に設定する。ステップS14においては、MI
DI処理、自動演奏処理、効果付加処理等が実行され、
ステップS2に戻る。
【0034】以上、実施例を説明したが、次のような変
形例も考えられる。補間演算については、前後の4サン
プル値を用いる例を開示したが、例えば前後の2サンプ
ル以上の任意の数のサンプル値を用いた補間演算が可能
である。補間係数CはROMに記憶させておく例を開示
したが、位相情報の小数部frから前述した式に基づき
演算によって求めることもできる。波形メモリがCPU
からアクセス可能であれば、発音開始時に補間演算に必
要な複数の波形サンプル値は波形メモリに記憶しておけ
ばよい。効果付加回路としては残響音の付加回路を開示
したが、例えば効果付加回路のマイクロプログラムを変
更することにより、フィルタ処理等の任意の効果付加処
理が実施可能である。
【0035】
【発明の効果】以上述べたように、本発明の楽音発生装
置によれば、発音開始時に、制御装置であるCPU
補間演算に必要な複数のサンプル初期値を補間手段の一
時記憶メモリに書き込むので、最初の出力から正しい補
間演算が実行可能となり、立ち上がり特性が損なわれる
ことがなくなる。また本発明は、波形メモリ読み出しア
ドレス発生回路には何ら回路を付加することなく、サン
プル値補間回路内の一時記憶手段に制御装置からデー
(サンプル初期値)を書き込むための回路またはソフ
トウェアを追加するのみで実施可能である。また、前記
制御装置は通常マイクロプロセッサ(CPU)により
構成されているので、発音開始時に補間演算に必要な複
数の波形サンプル初期値を、例えばプログラム用のRO
Mに記憶しておけば、新たなメモリは不要である。さら
に、波形メモリにはROMに記憶したデータは重複して
記憶する必要はない。前記波形アドレス発生回路は、楽
音発生開始時もその後の発音継続中も、常時一定の態様
で読出アドレス生成動作をして波形メモリから楽音波形
デ−タを順次読出し、これを前記一時記憶手段に供給す
ればよいので、従来技術では不可能であった、発音開始
直後の補間演算を正確にすることと、波形アドレス発生
回路などの動作や制御の複雑化を防止することとを両立
させることが容易になる
【図面の簡単な説明】
【図1】楽音発生回路6の構成を示すブロック図であ
る。
【図2】本発明の電子楽器のハードウェア構成を表すブ
ロック図である。
【図3】メモリバス13に関連する回路を示すブロック
図である。
【図4】アドレス信号MAと各イネーブル信号の関係を
示すタイミングチャートである。
【図5】波形アドレス発生回路20の構成を示すブロッ
ク図である。
【図6】サンプル補間回路21の構成を示すブロック図
である。
【図7】効果付加回路7の構成を示すブロック図であ
る。
【図8】演算回路の構成を示すブロック図である。
【図9】効果付加処理の演算内容を示す機能ブロック図
である。
【図10】電子楽器のCPU1のメイン処理を示すフロ
ーチャートである。
【図11】波形ROM8に記憶されている波形データを
示す概念図である。
【図12】補間演算を説明するための概念図である。
【符号の説明】
1…CPU、2…ROM、3…RAM、4…パネル回
路、5…鍵盤回路、6…楽音発生回路、7…効果付加回
路、8…波形ROM、9…遅延RAM、10…D/A変
換器、11…サウンドシステム、12…バス、13…メ
モリバス

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】楽音波形のサンプル値を記憶する波形記憶
    手段と、 前記波形記憶手段の波形読出しアドレスを生成するアド
    レス発生手段と、 前記波形読出しアドレスに基づいて順次読み出された複
    数のサンプル値を一時的に記憶する一時記憶手段と、 前記一時記憶手段に記憶された複数のサンプル値を基に
    楽音波形の補間演算を行う補間手段と、 楽音の発生動作を制御する主制御手段とを有する楽音発
    生装置において、 発音開始時において補間演算に必要なサンプル初期値の
    少なくとも一部は、前記アドレス発生手段で生成された
    波形読出アドレスに基づいて読み出されて前記一時記憶
    手段に書き込まれるのではなく、前記主制御手段によっ
    て前記一時記憶手段に直接書き込まれることを特徴とす
    る楽音発生装置。
  2. 【請求項2】前記サンプル初期値を記憶し、かつ前記主
    制御手段によってアクセス可能な第2記憶手段と、 発音開始時に、前記第2記憶手段から前記サンプル初期
    値を読み出し、前記一時記憶手段に書き込むための転送
    手段とをさらに具備したことを特徴とする請求項1に記
    載の楽音発生装置。
  3. 【請求項3】前記第2記憶手段に記憶されるサンプル初
    期値データは前記波形記憶手段に記憶される波形サンプ
    ル値データとは重複せず、かつこれと連続していること
    を特徴とする請求項2に記載の楽音発生装置。
  4. 【請求項4】前記第2記憶手段は、前記主制御手段のた
    めのプログラムを記憶するプログラム記憶手段であるこ
    とを特徴とする請求項2または3に記載の楽音発生装
    置。
  5. 【請求項5】発音開始時に生成される波形読出しアドレ
    スに基づいて読出されたサンプル値が、前記サンプル初
    期値に加えて前記一時記憶手段に記憶され、前記サンプ
    ル初期値と共に、発音開始時の補間演算に使用されるこ
    とを特徴とする請求項1ないし4のいずれかに記載の楽
    音発生装置。
  6. 【請求項6】前記波形記憶手段は前記主制御手段からア
    クセス可能であり、前記第2記憶手段が前記波形記憶手
    段内に設定されたことを特徴とする請求項2ないし5の
    いずれかに記載の楽音発生装置。
JP6139613A 1994-05-31 1994-05-31 楽音発生装置 Expired - Fee Related JP2950461B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6139613A JP2950461B2 (ja) 1994-05-31 1994-05-31 楽音発生装置
US08/452,304 US5689079A (en) 1994-05-31 1995-05-26 Musical tone generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6139613A JP2950461B2 (ja) 1994-05-31 1994-05-31 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH07325581A JPH07325581A (ja) 1995-12-12
JP2950461B2 true JP2950461B2 (ja) 1999-09-20

Family

ID=15249375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6139613A Expired - Fee Related JP2950461B2 (ja) 1994-05-31 1994-05-31 楽音発生装置

Country Status (2)

Country Link
US (1) US5689079A (ja)
JP (1) JP2950461B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3261878B2 (ja) * 1994-08-10 2002-03-04 ヤマハ株式会社 音響信号発生装置
US6326537B1 (en) * 1995-09-29 2001-12-04 Yamaha Corporation Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
US6972362B2 (en) * 2002-01-09 2005-12-06 Rohm Co., Ltd. Method and device for generating electronic sounds and portable apparatus utilizing such device and method
JP4645337B2 (ja) * 2005-07-19 2011-03-09 カシオ計算機株式会社 波形データ補間装置
WO2021042112A1 (en) * 2019-08-29 2021-03-04 Microchip Technology Incorporated Pre-processing of data using autonomous memory access and related systems, methods, and devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH079590B2 (ja) * 1986-10-16 1995-02-01 株式会社河合楽器製作所 電子楽器
US5194681A (en) * 1989-09-22 1993-03-16 Yamaha Corporation Musical tone generating apparatus
JP2623942B2 (ja) * 1990-09-05 1997-06-25 ヤマハ株式会社 楽音信号発生装置
JP2722907B2 (ja) * 1991-12-13 1998-03-09 ヤマハ株式会社 波形発生装置

Also Published As

Publication number Publication date
JPH07325581A (ja) 1995-12-12
US5689079A (en) 1997-11-18

Similar Documents

Publication Publication Date Title
US5625158A (en) Musical tone generating apparatus
JP2950461B2 (ja) 楽音発生装置
JPH05119777A (ja) 電子楽器
JPH0820872B2 (ja) 波形発生装置
KR100236686B1 (ko) 데이터 샘플열 액세스 장치
JP2634561B2 (ja) 可変遅延回路
US5687105A (en) Processing device performing plural operations for plural tones in response to readout of one program instruction
JPH0331273B2 (ja)
JP3252296B2 (ja) 波形データ出力装置
JPH07334151A (ja) 効果付加装置およびそれを用いた楽音発生装置
JP2576616B2 (ja) 処理装置
JP3371643B2 (ja) 信号処理装置
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP3543203B2 (ja) 電子楽器
JPH02179693A (ja) 処理装置
JP2684820B2 (ja) サラウンド回路
JP2727931B2 (ja) 波形メモリ音源
JPS5846036B2 (ja) 電子楽器
US5932826A (en) Effect adder circuit with a coefficient smoothing circuit for an electronic musical instrument
JP3104281B2 (ja) 楽音発生装置
JPS6335994B2 (ja)
JP3651675B2 (ja) 電子楽器
JP3447715B2 (ja) 楽音生成装置及び楽音生成方法
JP2907040B2 (ja) 波形メモリのテスト機能を備えた音源装置
JP3504387B2 (ja) 電子楽器

Legal Events

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

Free format text: PAYMENT UNTIL: 20070709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees