JP2877012B2 - 楽音合成装置 - Google Patents

楽音合成装置

Info

Publication number
JP2877012B2
JP2877012B2 JP6317210A JP31721094A JP2877012B2 JP 2877012 B2 JP2877012 B2 JP 2877012B2 JP 6317210 A JP6317210 A JP 6317210A JP 31721094 A JP31721094 A JP 31721094A JP 2877012 B2 JP2877012 B2 JP 2877012B2
Authority
JP
Japan
Prior art keywords
interpolation
waveform data
waveform
sample
tone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP6317210A
Other languages
English (en)
Other versions
JPH08179774A (ja
Inventor
正忠 和智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP6317210A priority Critical patent/JP2877012B2/ja
Publication of JPH08179774A publication Critical patent/JPH08179774A/ja
Application granted granted Critical
Publication of JP2877012B2 publication Critical patent/JP2877012B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、波形データを波形メ
モリに予め記憶させておき、合成時に、読み出した波形
データにしたがって楽音を合成する楽音合成装置に関す
る。
【0002】
【従来の技術】従来より、複数の波形データを、それぞ
れ、サンプル番号の順番で1つの波形メモリに記憶さ
せ、かかる波形メモリから複数の波形データを時分割に
て読み出すとともに、これら読み出した波形データの各
々にしたがって、複数チャンネルにて楽音を合成する楽
音合成装置が知られている。ここで、波形メモリには、
マスクROMが用いられ、波形データは、その製造段階
で書き込まれるようになっている。
【0003】かかる波形データは、音色毎に用意され、
その音色を特徴付ける基本的な波形の所定周期分の振幅
値がデータとして時系列的に記憶される一方、読み出し
時には、発生すべき音高(ピッチ)に対応して、読み出
し間隔を変化させ、再生波形の周期が音高に合致するよ
うになっている。この際、求めるべきサンプル番号は、
ピッチを考慮して求められるため、記憶時のサンプル番
号とは本来的に一致しない。このため、求めるべきサン
プル番号に対応する波形データは、エリアシング・ノイ
ズ(折り返し雑音)を防止するべく、その前後に位置す
るアドレスで記憶された波形データから、補間されて求
められるようになっている。
【0004】ところで、マスクROMのアクセスタイム
は、高速のものでも100〜120ns(ナノ秒)程度
である。ここで、かかるアクセスタイムを余裕を持たせ
て154〜156nsと設定し、サンプリング周波数を
50kHzとすると、1サンプリング周期内で128回
ものアクセスが可能である。補間のために1音あたりに
読み出し(アクセス)する回数を2回とすると、1サン
プルあたりの最大チャンネル数は64となる。この最大
チャンネル数は、補間精度を向上させるべく、1音あた
りのアクセス回数を増やせば当然のことながら比例して
減少する。
【0005】ここで、最大チャンネル数が64というこ
とは、64音もの異なる音色を同時に合成することが可
能であることを意味する。フル・オーケストラを再現す
る場合でもこれで十分と考えられていたのではあるが、
近年では、同時発音数をさらに増やして欲しい、あるい
は同時発音数はこれで十分だけど、補間回数を増やして
品質を上げて欲しい、というユーザサイドからの要求が
ある。
【0006】
【発明が解決しようとする課題】このような要求を解決
するには、1サンプリング周期におけるROMへのアク
セス回数を増やせば良いが、上述したように、2点補間
・64音同時発音は、ROMにおけるアクセスタイムの
限界近くで行なわれており、これ以上、アクセス回数は
増やせない。したがって、このままでは、ユーザサイド
の要求に応えることができない。
【0007】これら要求を解決するには、記憶内容が同
一である波形メモリとその読み出し装置とのペアを複数
用意することが考えられる。しかしながら、この技術で
は、複数用意される波形メモリには、まったくの同一デ
ータが重複して記憶されるため、その記憶効率が極めて
悪い上に、実装の観点から言えば、同一物が複数用意さ
れるのでスペース的にも無駄が生じるという問題があ
る。
【0008】この発明は、上述した問題に鑑みてなされ
たもので、その目的とするところは、波形メモリの記憶
効率を損なうことなく、ROMのアクセスタイムを見掛
け上、短縮して、同時発音数あるいは補間回数をより増
やすことが可能な楽音合成装置を提供することにある。
【0009】
【課題を解決するための手段】上述した問題を解決する
ため、請求項1に記載の発明にあっては、複数の波形サ
ンプルからなる波形データを記憶する複数の記憶手段で
あって、連続する波形サンプルについては異なる手段に
記憶する複数の記憶手段と、各アクセスタイミング毎
に、前記複数の記憶手段にアクセスして連続する波形サ
ンプルを読み出す読出手段と、複数の処理手段とを具備
し、前記複数の処理手段の各々は、前記読出手段により
1回のアクセスにおいて読み出された連続する波形サン
プルに基づいて楽音信号を発生するための処理を、それ
ぞれ異なるアクセスタイミングにおいて行うことを特徴
としている。
【0010】また、請求項2に記載の発明にあっては、
複数の波形サンプルからなる波形データを記憶する複数
の記憶手段であって、連続する波形サンプルについては
異なる手段に記憶する複数の記憶手段と、整数部および
小数部からなるサンプル番号を発生するサンプル番号発
生手段と、各アクセスタイミング毎に、前記複数の記憶
手段にアクセスして連続する波形サンプルを読み出す読
出手段であって、前記サンプル番号発生手段によるサン
プル番号の整数部に応じて、サンプル番号の連続する波
形サンプルを読み出す読出手段と、複数の処理手段とを
具備し、前記複数の処理手段の各々は、前記読出手段に
より1回のアクセスにおいて読み出された連続する波形
サンプルを前記サンプル番号発生手段によるサンプル番
号の小数部に応じて補間して、該サンプル番号に対応す
る波形サンプルを求める補間処理とともに、求めた波形
サンプルに基づいて楽音信号を発生するための発生処理
を、それぞれ異なるアクセスタイミングにおいて行う
とを特徴としている。
【0011】
【0012】
【0013】
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【0021】
【実施例】
1:要部構成 この発明による実施例の説明をする前に、本願の要部構
成について図1を参照して説明する。この図において、
符号11、12は、それぞれ別個に構成されたROMで
あるが、このうちROM11にはサンプル番号が偶数番
目の波形データが、ROM12には奇数番目の波形デー
タが、それぞれサンプル番号の若い順に記憶されてい
る。ここで、波形データのサンプル番号がm番である波
形データをD(m)と一般に表記した場合、ROMのア
ドレスn番地においては、ROM11には波形データD
(2n)が、ROM12には波形データD(2n+1)
がそれぞれ記憶される(図2参照)。すなわち、ROM
11、12には、波形データが、そのサンプル番号の順
番にして交互に記憶されていることになる。これらRO
M11、12には、アクセス部1が接続される。このア
クセス部1は、ROM11、12にそれぞれアドレスを
供給するとともに、双方から読み出された波形データの
処理をする読出制御部21、22から構成される。
【0022】かかる構成において、読出制御部21、2
2が、キーオン信号KON1あるいはKON2にしたが
って、例えば、ROM11、12の同一アドレスn番地
を同時にアクセスすれば、1度のアクセスにおいて連続
する2つの波形データD(2n)およびD(2n+1)
を読み出すことができる。そして、同期信号SYNCに
したがって、次のタイミングにおいて、次のアドレス
(n+1)番地にアクセスすることにより、これに続く
波形データD(2n+2)、D(2n+3)を読み出す
ことができる。このように、ROM11あるいは12か
らは、1度のアクセスにおいて2つの異なる波形データ
を読み出すことができる。この結果、見掛け上、アクセ
スタイムが半減したのと同等の効果が得られる。また、
ROM11、12には、それぞれサンプル番号が偶数、
奇数番目となる波形データが記憶されて、別個の記憶内
容となるので、記憶効率が損なわれるということない。
以上が本願の要部構成である。
【0023】1−1:補間 次に、補間(2点)を行なう場合の構成について考え
る。この場合、図1における読出制御部21、22の各
々は、それぞれROM11、12から読み出された波形
データに基づき補間を行なう補間部も有する。このた
め、ROM11、12から読み出された波形データは読
出制御部21、22の双方に供給されるようになってい
る。ここで、読出制御部21、22には、それぞれ図示
しないCPU等の制御ユニットが接続されて、発音すべ
き音高情報等の情報が供給される。そして、読出制御部
21、22は、これら情報等に基づき求めるべき波形デ
ータのサンプル番号を計算する。このとき計算されるサ
ンプル番号は、上述した理由により必ずしも記憶時のア
ドレスとは一致せず、小数部を伴う。そこで、このサン
プル番号の整数部をiとし、小数部をjとする。
【0024】この場合、読出制御部21、22は、整数
部iが偶数ならばROM11、12へのアドレスを双方
とも(i/2)番地とする一方、整数部iが奇数ならば
ROM11へのアドレスを(i/2+1/2)番地と
し、ROM12へのアドレスを(i/2−1/2)番地
とする。すなわち、整数部iが奇数ならばROM11へ
のアドレスは、iを2で除算した商を「1」だけインク
リメントしたものとなる一方、ROM12へのアドレス
はiを2で除算した商(余りは無視)そのものとなる
(図3参照)。かかるアドレスを、それぞれ読出制御部
21、22がそれぞれROM11、12へ供給すること
によって、求めるべきサンプル番号の前後に位置する2
つの波形データが同時に読み出されるようになってい
る。
【0025】なお、図1では、読出制御部21、22が
ROM11、12へアドレスを別個に生成する構成とな
っているが、求めるべきサンプル番号が偶数であれば、
両者のアドレスは同一であるし、奇数であっても、RO
M11へのアドレスはROM12へのそれよりも「1」
だけ歩進させたものに過ぎない。したがって、アドレス
に関しては、どちらか一方であるいは別個で生成する構
成として、サンプル番号の偶・奇数に応じて生成するこ
とが可能である。が、この構成については、後述する。
【0026】次に、読出制御部21、22の各補間部
は、このようにして読み出した2つの波形データにした
がい次のような計算を行なって、求めるべきサンプル番
号に対応する補間結果x(i、j)を得る。すなわち、
補間部は、整数部iが偶数であるならば、
【数1】 とする一方、整数部iが奇数ならば、
【数2】 とする。ここで、Da(i)という表記は、ROM11
を説明の便宜上aとして、このROMから読み出された
波形データであって、サンプル番号がi番の波形データ
(のサンプル)を意味する一方、Db(i)という表記
は、ROM12を説明の便宜上bとして、このROMか
らから読み出された波形データであって、サンプル番号
がi番の波形データ(のサンプル)を意味する。このよ
うにして計算した補間の内容を図4に示す。この図に示
すように、求めるべき補間結果は、その前後に記憶され
た波形データの各々を小数部jにしたがって内分したも
のである。すなわち、線形補間近似である。なお、この
図は、整数部iが偶数の場合を示すが、奇数の場合につ
いては、ROM11へのアドレスが「1」だけ先行する
点に注意する以外、説明を要しないのであろう。
【0027】このように、2点補間を行なう場合であっ
ても、1回のいわば並列的なアクセスにおいて、すでに
補間結果を求めることが可能な状態である。このため、
1サンプルあたりのアクセス回数の限界が128回であ
っても、2点補間・128音同時発音が可能となるので
ある。また、仮に4点補間を行なう場合であっても、2
回の並列アクセスで補間結果を求めることが可能な状態
となるので、4点補間・64音同時発音が可能となるの
である。
【0028】なお、本願は、波形データを別個のROM
の2つに分けて記憶したが、それ以上、例えば4個に分
けて記憶することも可能である。この場合でも、波形デ
ータのサンプル番号を、4を法とする剰余類(剰余系)
に分け、これら4つの分類にそれぞれ4個のRAMを対
応させ、それぞれサンプル番号順に記憶する必要はあ
る。例えば、ROMをA、B、C、Dの4つ構成し、A
には、データD(0)、D(4)、……、D(4n)
を、Bには、データD(1)、D(5)、……、D(4
n+1)を、Cには、データD(2)、D(6)、…
…、D(4n+2)を、Dには、データD(3)、D
(7)、……、D(4n+3)を、それぞれ記憶させ
る。この場合、時分割発音チャンネル毎に、並列アクセ
スを1回を行なえば、連続する波形データを4個得られ
るので、その時点で4点補間を行なうことが可能であ
る。また、並列アクセスを2回を行なえば、波形データ
を8個得られるので、その時点で8点補間を行なうこと
も可能である。
【0029】さて、波形データを3個以上に分けて記憶
するような場合であって、2点補間を行なう場合には、
求めるべきサンプル番号の前後に位置する少なくとも2
つの波形データを読めば、補間を行なうことができる。
したがって、個々のROMからすべての波形データを読
み出す必要はなく、2個以上、ROMの個数以下の数だ
けの波形データを(同時に)読み出せば足りるのであ
る。
【0030】2:実施例 ところで、本願を具体的に構成・製造する場合におい
て、上述した読出制御部21、22をセル化して集積し
た方が、生産効率や、実装上のスペース等の観点からは
都合が良い。しかしながら、前述したように、一般に同
時発音数は64音もあれば十分であり、本願のようにそ
れ以上の128音も要求される場合等は、従来に比べれ
ば少ない。したがって、本願が集積化による大量生産、
低コストという恩恵を受けるには、このままでは難があ
る。そこで、従来のように1つのROMに記憶され、そ
のサンプル番号が連続する波形データを読み出しを行な
う構成と、本願のような読み出しを行なう構成とを、構
成自体については変更をせずに、外部からの簡単な指令
や結線のみによって切り換え可能としてチップの共通化
を図れば、従来の需要に対応して製造が可能となり、本
願を低コストで製作することも可能となる。以下、これ
を可能にした実施例について、実際の電子楽器を適用し
たものを例にとって説明する。
【0031】2−1:実施例の構成 図5は、この電子楽器の構成を示すブロック図である。
この図において、符号100はCPUであり、バス10
1を介して接続された各部を、ROM102に記憶され
た制御プログラムで制御し、その際、必要なレジスタや
フラグ等の変数をRAM103に設定する。
【0032】符号104は鍵盤であり、各鍵の操作状態
を検出してその検出情報を出力する機能も有する。符号
105はパネルインジケータであり、例えば、液晶パネ
ルやLED等で構成され、この電子楽器の設定状態など
を表示する。符号106はパネルスイッチであり、各種
スイッチや操作子から構成され、この電子楽器の各種設
定や、楽音に付与する効果の設定を行なう。パネルスイ
ッチ106は、設定の状態をバス101を介してCPU
100に供給し、CPU100は、この設定状態に対応
してレジスタやフラグ等を書き換えるとともに、その設
定状態をパネルインジケータ105に表示させるように
なっている。
【0033】符号200は本願発明に係る楽音合成装置
であり、楽音信号の波形データを、押下された鍵に対応
する音高で、そのときの押鍵速度に応じた大きさで、パ
ネルスイッチ106等により設定された音色に対応して
合成等するものであるが、詳細については後述する。符
号107はD/A変換器であり、楽音合成装置200に
より出力されたディジタルの楽音信号をアナログ信号に
変換する。符号108はサウンドシステムであり、アン
プ、スピーカ等から構成され、アナログ信号に変換され
た楽音信号を、実際に発音させるものである。なお、こ
の電子楽器は、外部機器と接続することが可能である。
接続された場合には、例えばMIDI規格の信号の供給
を受けて、鍵盤104以外の指令によって楽音信号の波
形データが生成されることとなる。
【0034】2−1−1:楽音合成装置の構成 次に、楽音合成装置200の構成について説明する。こ
の楽音合成装置200は、128音同時発音(2点補
間)を行なう場合には、図6(a)に示すように、2つ
のROM211、212と、2つの読出制御部221、
222とから構成される一方、128音同時発音を行な
わず、同時発音数が64音(2点補間)で十分である場
合には、図6(b)に示すようにROM213と読出制
御部223との1組のみから構成される。
【0035】前者の場合、ROM211、212には、
図1におけるROM11、12と同様に、波形データ
が、そのサンプル番号の順番を交互にして順次記憶され
る。読出制御部221、222は、それぞれROM21
1、212から波形データの同時読出を交互に行なう。
この実施例では、偶数スロットにおいては読出制御部2
11が、奇数スロットにおいては読出制御部212は読
出制御部212が、それぞれROM211、212から
2つの波形データを読み出しを行なうものとする。さら
に、読出制御部211、212の各々は、読み出した2
つの波形データに対して補間処理を行なって、サンプル
番号に対応する波形データを求める。すなわち、1度の
スロット(1度のアクセス)において、2つの波形デー
タが読み出されて補間処理が行なわれる結果、サンプル
番号に対応する1つの波形データが出力されるようにな
っている。一方、後者の場合、ROM213には、従来
と同様に、波形データがサンプル番号順に連続して記憶
される。読出制御部223は、ROM213から波形デ
ータを読み出し、2回読み出したならば、補間処理をし
て、サンプル番号に対応する波形データを求める。すな
わち、2つのスロットタイムにおいて、2つの波形デー
タが読み出されて補間処理が行なわれる結果、サンプル
番号に対応する1つの波形データが出力されるようにな
っている。なお、この場合の、読出制御部221〜22
3の構成それ自体は、後述するように互いに同一であ
る。
【0036】2−1−1−1:128音同時発音(2点
補間) 次に、前者の場合、すなわち128音同時発音を行なう
場合の詳細構成について図7を参照して説明する。この
場合、読出制御部221は、同222と同期して動作を
行なう必要があるので、同期信号SYNCが読出制御部22
2に供給される。まず、読出制御部221について説明
する。この図において、符号221aはバス101(図
5参照)に接続される音源レジスタであり、楽音生成に
必要な各種パラメータをCPU100から受信する。符
号221bは、128チャンネル分のアドレスを個々に
生成する能力を有するアドレスカウンタであり、発音す
べき楽音の情報から、求めるべき波形データのサンプル
番号をチャンネル毎に求める。このサンプル番号の整数
部をi、小数部をjとする。
【0037】このうち小数部jは、補間処理に必要とな
るので、補間部211dと読出制御部222側の補間部
222dとに供給される。また、整数部iは、アドレス
加工部221cに供給されて、アドレス加工部221c
による出力結果の最下位ビットLSBを間引いたものが
ROM211のアドレスとして供給される一方、整数部
iそのものの最下位ビットLSBを間引いたものがRO
M212のアドレスとして供給される。なお、厳密に言
えば、補間処理においては、整数部iが奇数であるか整
数部であるかの情報が必要となるため、整数部iの最下
位ビットLSBは補間部221d、222dに供給され
るが、この図では省略してある。ここで、アドレス加工
部221cは、図8に示すように、整数部i全体を被加
算入力とし、整数部iのLSBを桁上入力端子Cinとし
た半加算器HAにより構成されるものである。これによ
り、整数部iは、奇数である場合のみ「1」だけ歩進し
て出力されるようになっている。
【0038】前述した補間処理で説明したように、RO
M211へのアドレスは、整数部iが偶数ならば整数部
iをそのまま2で除算した商とする一方、整数部iが奇
数ならば整数部iを2で除算した商を「1」だけインク
リメントしたものとする必要がある。これは、整数部i
が奇数であるならば「1」だけインクリメントして2で
除算した商と同義である。また、ROM212へのアド
レスは、整数部iをそのまま2で除算した商とする必要
がある。しかし、これは整数部iを十進で考えた場合で
あって、整数部iが二進で表記される場合においては、
アドレス加工部211cによる歩進と、最下位ビットL
SBの間引きとによって簡単に作成できる。すなわち、
整数部iが奇数ならば「1」だけインクリメントさせる
のは、アドレス加工部221cによる歩進で構成でき、
また、2で除算するのは、最下位ビットLSBを間引く
ことによって構成できるのである。
【0039】次に、ROM211および212から読み
出された2つの波形データは、読出制御部211の補間
部221dに供給される。ここで、補間部221dの構
成について図9を参照して説明する。この図において、
ラッチ回路L1は、ROM211から読み出された波形
データを偶数スロットのみにおいてラッチするものであ
り、ゲート回路G1は、1つのスロットをさらに2つの
タイミングにわけ、そのタイミングのいずれか一方にお
いて、整数部iが偶数/奇数にしたがって開くものであ
る。同様に、ラッチ回路L2は、ROM212から読み
出された波形データを偶数スロットのみにおいてラッチ
するものであり、ゲート回路G2は、2つのタイミング
のいずれか一方において、ゲート回路G1とは排他的に
開くものである。詳細には、整数部iが偶数ならば、最
初のタイミングにおいて、ゲートG1は開き、ゲートG
2は閉じ、次のタイミングにおいて、逆に、ゲートG1
は閉じ、ゲートG2は開く。一方、整数部iが奇数なら
ば、最初のタイミングにおいて、ゲートG1は閉じ、ゲ
ートG2は開き、次のタイミングにおいて、逆に、ゲー
トG1は開き、ゲートG2は閉じる。また、補間係数発
生部CGは、小数部jから(1−j)を求めるととも
に、スロットを2つに分けた初めのタイミングにおいて
小数部jを、次のタイミングにおいて(1−j)を、そ
れぞれ乗算係数として乗算器Mの他方の入力端に供給す
るものである。補間用累算器AAは、乗算器Mによる2
つのタイミングにおける各乗算結果を累算するものであ
る。
【0040】再び、図7に戻る。補間用累算器AAによ
る累算結果は、すなわち補間部221dの補間結果は、
フィルタ221eに供給されフィルタリングされる。こ
のフィルタ221eは、CPU100からのパラメータ
FCPによりその特性、例えばカットオフ周波数などが
音色に対応して変化するものである。フィルタ221e
の出力結果は、エンベロープ付与器221fによって、
パラメータEGPにより規定されるエンベロープが付与
されて、発音後の減衰特性が模倣するようになってい
る。なお、パラメータFCP、EGPともに、CPU1
00からバスを介して音源レジスタ221aに供給され
たものである。そして、エンベロープ付与器221gに
よりエンベロープが付与されたデータは、アキュムレー
タ221gによって時分割状態が解かれて、読出制御部
221による偶数スロットの出力として、読出制御部2
22に供給される。
【0041】次に、読出制御部222の構成について説
明する。この読出制御部222は、図7を見ても判るよ
うに、読出制御部221に比べて、アドレスカウンタ2
21bおよびアドレス加工部221cが省略されている
点以外共通である。逆に言えば、読出制御部222は、
アドレスカウンタおよびアドレス加工部が冗長的とはな
るが、構成的には、読出制御部221と同一のものが利
用できる。読出制御部222は、読出制御部221と同
様な構成であるが、全体としてみれば、奇数スロットの
出力を担当している。このため、補間部222d(図9
と同構成)におけるラッチ回路L1、L2は、奇数スロ
ットにおいてのみ、ROM211、212から読み出さ
れた波形データをぞれぞれラッチする。アキュムレータ
222gは、読出制御部221による偶数スロットの出
力と、エンベロープ付与器222fによる出力とを累算
し、この累算結果を、楽音合成装置200の出力として
D/A変換器107に供給する。
【0042】2−1−1−2:64音同時発音 次に、図6(b)に示すように、64音同時発音を行な
う場合の構成についてて説明する。この場合、図7にお
いて、ROM212および読出制御部222を省略し、
ROM211に、サンプル番号順に連続する波形データ
が記憶され(これをROM213とする)、累算器22
1gの出力がそのままD/A変換器107に供給され
る、と考える。また、ROM213へのアドレスは、ア
ドレス加工部221cにおける桁上入力端子Cinの入力
が遮断された半加算器HAの出力のフルビットであり、
このため、アドレスカウンタ221bによる整数部i
が、そのままROM211のアドレスとして供給され
る。すなわち、ROMの記憶態様が変更するだけで、図
6(b)における読出制御部223の構造そのものは読
出制御部221と全く同一である。
【0043】ここで、アドレスカウンタ221bは、発
音すべき楽音の情報から、求めるべき波形データのサン
プル番号を求める点では128音同時発音する場合と同
じであるが、2つのスロットタイムを用いて(補間し
て)1つの波形データを得る構成となるために、次のよ
うなアドレスを生成する。すなわち、アドレスカウンタ
211bは、生成したサンプル番号のうちの整数部i
を、偶数スロットにおいて供給し、次に、当該整数部i
を「1」だけインクリメントしたものを、当該偶数スロ
ットの次の奇数スロットにおいて供給する。これによ
り、小数部jを含むサンプル番号の前後に位置する2つ
の波形データが、偶数スロットと次の奇数スロットにお
いて読み出されることとなる。
【0044】この場合、補間部221dでは、各スロッ
トにおいてラッチ回路L1がラッチを行ない、ゲート回
路G1が開く。また、補間係数発生部CGは、小数部j
から(1−j)を求めるのは、128音同時発音と同様
であるが、整数部iが偶数、奇数である場合にかかわら
ず、はじめの偶数スロットにおいて係数(1−j)を供
給し、次の奇数スロットにおいて係数jを供給する。そ
して、補間用累算器AAは、偶数スロットにおける乗算
結果と、その次の奇数スロットの乗算結果とを累算し
て、この累算結果を、楽音合成装置200の出力として
D/A変換器107に供給する。
【0045】2−2:実施例の動作 次に、上述した実施例の動作について説明する。図5に
おいて、鍵盤104が押下されると、当該鍵の音高や押
鍵速度などが検出され、CPU100は、検出された音
高に対応する楽音の発生を開始すべく、発音割り当てを
行ない、楽音合成装置200の発音チャンネル(全12
8あるいは64チャンネル)のうちのいずれかの発音チ
ャンネルを確保する。さらに、パネルスイッチ106に
より選択された音色に関し、押鍵速度に応じた大きさで
振幅を規定するべく、また、押下力の変化によって当該
発音の音色に変化を付けるべく、押鍵速度や鍵圧力に応
じてEGP、FCP等のパラメータが生成される。これ
らパラメータは、CPU100によって生成され、発音
の開始を指示する発音トリガ信号とともに、確保された
楽音合成装置200の発音チャンネルに供給される。ま
た、外部機器に接続される場合も同様であり、MIDI
規格のノートオンの受信に応じて、パラメータEGP、
FCP等の情報が生成され、発音トリガ信号とともに、
楽音合成装置200への割当てにより確保された発音チ
ャンネルに供給される等の処理が行なわれる。
【0046】2−2−1:楽音合成装置の動作 上述のように1サンプル周期におけるROMへの最大ア
クセス回数は128回であるから、1サンプル周期にお
けるスロットを、図11(a)に示すように「0」〜
「127」の128個に分けることができる。かかる構
成では、1つスロットが、128個の各発音チャンネル
における各1つの音色の生成のために割り当てられ、1
回の読出が行なわれるようになっている。まず、押鍵に
より、ある1つの音色を発音させる旨の情報(ノートオ
ン)が生成されると、あるいは外部機器から、ある1つ
の音色を発音させる旨の情報が供給されると、CPU1
00は、その音色の生成のために、空いている発音チャ
ンネルのいずれか1つに割り当てる。この際、すべての
発音チャンネルに発音がすでに割り当てられているよう
な場合には、例えば、発音開始指示から時間が経過して
減衰が最も進行している発音チャンネルに強制的に割り
当てるような処理を行なっても良い。
【0047】2−2−1−1:128音同時発音 128音同時発音の場合には、上述したように、読出制
御部221、222の各々が、各発音チャンネル毎のR
OM211、212の同時読出をそれぞれ偶数スロッ
ト、奇数スロットにおいて交互に行なう。さて、その発
音(音色)に割り当てられた発音チャンネルにおいて、
楽音合成装置200におけるアドレスカウンタ221b
は、ノートオンによって当該発音に対応して求めるべき
波形データのサンプル番号を求める。なお、このカウン
トでは、再生波形を音高に応じて時間的に伸張させるた
め、音高を示すピッチも参照される。
【0048】ここで、1サンプル周期間の各スロットに
おいて、いかなるデータが読み出されて供給されるかを
示すタイムテーブルを図11(a)に示す。同図におい
て、「Ax」(xは数字)という表記は、ROMから読
み出された波形データのサンプルが、(Aを意味する)
読出制御部211に供給されて、x番目のチャンネルに
おける補間サンプルの演算に用いられることを意味し、
「Bx」という表記は、ROMから読み出された波形デ
ータのサンプルが、(Bを意味する)読出制御部212
に供給されてx番目のチャンネルにおける補間サンプル
の演算に用いられることを意味する。すなわち、ROM
211および212から読み出された2つの波形データ
のサンプルは、偶数スロットでは読出制御部211に供
給され、奇数ロットでは読出制御部212に供給され
て、次のような補間処理が交互に行なわれる。
【0049】すなわち、整数部iが偶数であれば、1つ
のスロットにおける初めのタイミングにおいて、ゲート
回路G1のみが開き、また、補正係数発生部CGが係数
(1−j)を供給するので、乗算器Mでは、式(1)の
右辺第1項の演算が行なわれる。次のタイミングにおい
ては、ゲート回路G2のみが開き、また、補正係数発生
部CGが小数部jを供給するので、乗算器Mでは、式
(1)の右辺第2項の演算が行なわれる。そして、補間
用累算器AAが、初めと次のタイミングにおける乗算結
果を累算することにより、式(1)に示される補間結果
が得られる。また、整数部iが奇数であれば、初めのタ
イミングにおいて、ゲート回路G1のみが開き、また、
補正係数発生部CGが小数部jを供給するので、乗算器
Mでは、式(2)の右辺第1項の演算が行なわれる。次
のタイミングにおいては、ゲート回路G2のみが開き、
また、補正係数発生部CGが係数(1−j)を供給する
ので、乗算器Mでは、式(2)の右辺第2項の演算が行
なわれる。そして、補間用累算器AAが、初めと次のタ
イミングにおける乗算結果を累算することにより、式
(2)に示される補間結果が得られる。
【0050】このように、補間部221dにおいては、
整数部iが偶数、奇数に応じて式(1)、(2)のどち
らか一方の計算が行なわれ、偶数スロットで2つの波形
データのサンプルから小数部jを考慮した補間結果を得
るようになっている。同様に、補間部222dにおいて
は、奇数スロットでの補間結果を得るようになってい
る。これら各スロット(発音チャンネル)の補間結果
は、それぞれフィルタ処理、エンベロープ処理の後、生
成された各発音チャンネルの楽音サンプルは、アキュム
レータ221g、222gによって、偶数スロット、奇
数スロット毎にD/A変換器107のサンプリング周期
にわたって累算されるので、結局、アキュムレータ22
2gの累算結果は、128もの各スロット毎に生成され
た128チャンネルの楽音1サンプルとなる。ただし、
該サンプリング周期にわたる累算の初期値としてアキュ
ムレータ221gはゼロを設定する一方、アキュムレー
タ222gは、アキュムレータ221gによる(サンプ
リング周期の)直前の偶数スロットの楽音結果を設定す
る。
【0051】2−2−1−2:64音同時発音 次に、64音同時発音を行なう場合のタイムテーブル
を、図11(b)に示す。この場合では、ROM213
(211)および読出制御部223(221)のみの構
成となるので、データBxという概念はない。このた
め、2つのスロットにおいて2つの波形データのサンプ
ルが読み出されて、その2サンプルの間で補間処理が行
なわれる。この際、ROM213から読みだされた波形
データは、ラッチ回路L1(図9参照)にのみに供給さ
れるので、偶数スロットにおいて、整数部iのアドレス
に対応する1つめ波形データがラッチされて、係数(1
−j)が乗算され、その次の奇数スロットにおいて、整
数部(i+1)のアドレスに対応する2つめの波形デー
タがラッチされ、他方の係数jが乗算される。そして、
補間用累算器AAにより、双方のスロットにおける乗算
結果が累算されて、次の式(3)の補間結果が得られ
る。
【数3】 このように、補間部221dにおいては、式(3)の計
算が行なわれ、偶数スロットと次の奇数スロットとで読
み出された2つの波形データサンプルから各発音チャン
ネルの補間結果を得るようになっている。この各発音チ
ャンネルの補間結果は、フィルタ処理、エンベロープ処
理の後、該処理によって生成された各発音チャンネルの
楽音サンプルは、アキュムレータ221gによって、D
/A変換器107のサンプリング周期にわたり(64チ
ャンネル分)累算されるので、結局、アキュムレータ2
21gの累算結果は、64チャンネルの楽音1サンプル
となる。
【0052】かかる実施例によれば、波形データの連続
したサンプルを交互に記憶した2つのROM211、2
12と、同一の構成を有する2つの読出制御部221、
222とによって、D/A変換器107のサンプリング
周期あたりのアクセス回数が128回であっても、12
8音同時発音(2点補間)を行なうことが可能である。
しかも、記憶内容を変更した1つのROM213と、1
つの読出制御部223(221)とによって、サンプル
番号が連続する波形データを読み出し、補間を行なうこ
とも可能である。
【0053】なお、アキュムレータ221g、222g
から入出力される楽音サンプルについては、D/A変換
器107の1サンプリング周期あたりに1サンプルだけ
受け渡しできればよいので、各読出制御部からは複数ビ
ットで構成されるサンプルをシリアルデータに変換し
て、1ビットのシリアルデータとして入出力するように
構成している。128音発音の場合は、偶数スロットに
て読み出された波形データに基づく64チャンネル分の
楽音サンプルの累算値が、アキュムレータ221gから
シリアルデータとして出力される。該累算値を受け取っ
たアキュムレータ222gは、その値をパラレルデータ
に戻し、該パラレルデータを初期値として、奇数スロッ
トで読み出された波形データに基づく残りの64チャン
ネル分の楽音サンプルを累算し、得られた全128チャ
ンネル分の累算値を後段のD/A変換器107に出力す
る。一方、64音発音の場合、偶数スロットと奇数スロ
ットを1つずつ使用して読み出された波形データに基づ
く64チャンネル分の楽音サンプルがアキュムレータ2
21gで累算され、累算結果が該アキュムレータ221
gから1ビットのシリアルデータとしてD/A変換器1
07に送出される。
【0054】上述した実施例えは、読出制御部221、
222を互いに異なる構成とし、全128発音チャンネ
ル分のアドレスカウンタを221bを、読出制御部22
1側にまとめた構成をとっている。かかる構成によれ
ば、読出制御部222側にはアドレス線が無くなり、接
続端子の少ない、小さなLSIにより読出制御部222
を構成することが可能となる。しかしながら、この構成
を変更し、読出制御部221、222の回路を同一の構
成とすることも可能である。回路を共通化すれば、それ
ぞれのために専用のLSIマスクパターンを作成する必
要がなくなり、設計が簡易化される。
【0055】2−3:変形例 そこで、この点を考慮した変形例について説明する。図
10にその構成のブロック図を示す。なお、この図は、
128音同時発音を行なう場合の構成であり、図7と同
一の構成には、同一の符号を付与し、その説明を省略す
る。この図に示す構成が、図7と相違する点は、主に、
読出制御部の双方にアドレスカウンタ221s、222
sを設けた点にある。このアドレスカウンタ221s、
222sは、それぞれ64チャンネル分のアドレスを個
々に生成する能力を有するものであり、それぞれ偶数ス
ロット、奇数スロットにおいて、発音すべき楽音の情報
から、求めるべき波形データのサンプル番号をチャンネ
ル毎に求める。
【0056】ここで、補間制御部221uは、図7では
図示しなかったが、整数部iが偶数であるか奇数である
かに応じて、補間部221d(222d)におけるゲー
ト回路G1、G2の開閉タイミングを制御するものであ
る(既述)。また、ゲート221t、222tは、それ
ぞれ偶数スロット、奇数スロットにおいて互いに排他的
に開く。これにより、偶数スロットにおいては、アドレ
スカウンタ221sによる整数部iを2で除算した商が
ROM212のアドレスとして供給される一方、整数部
iが奇数である場合のみ当該整数部iを「1」だけイン
クリメントしたものを2で除算した商がROM211の
アドレスとして供給されることとなる。また、奇数スロ
ットにおいては、アドレスカウンタ222sによる整数
部iを2で除算した商がROM212のアドレスとして
供給される一方、整数部iが奇数である場合のみ当該整
数部iを「1」だけインクリメントしたものを2で除算
した商がROM211のアドレスとして供給されること
となる。すなわち、この図ではROM211、212が
図7に示した構成と比べて場所的には入れ替わっている
が、構成的には全く同一のアドレス動作が行なわれる。
したがって、この変形例でも、上述した実施例と同様
に、求めるべきサンプル番号の前後に位置する2つの波
形データを読み出して補間を行なう動作が、偶数スロッ
トにおいては読出制御部231によって、奇数スロット
においては読出制御部232によって、それぞれ交互に
行なわれる。
【0057】次に、かかる変形例において、64音同時
発音(2点補間)を行なう場合には、読出制御部232
の構成に、サンプル番号の順番で波形データを記憶する
ROM213が接続される。この際、ゲート221tは
開きぱなっしとすることによって、上述した実施例と同
一構成となることが判る。したがって、この場合でも、
サンプル番号が連続する波形データを読み出し、補間を
行なうことも可能である。
【0058】この変形例では、128音同時発音を行な
う構成と、64音同時発音を行なう構成とでは、読出制
御部231、232をほぼ同一とすることができるの
で、図7に示した読出制御部221のままで同一構成化
した場合の実施例のようにアドレスカウンタが一方にお
いて冗長的となる点が解決される。ただし、この変形例
においては、該実施例と比べると、次のような欠点も有
する。すなわち、この変形例では、読出制御部231側
から読出制御部232側へアドレスを供給し、さらに、
その途中においてROM212へアドレスを供給する構
成となるため、LSIの外部におけるアドレス線の引き
回しパターンが複雑化するのである。
【0059】なお、上述した実施例および変形例では、
128音同時発音(2点補間)を行なう場合において、
求めるべきサンプル番号の前後に位置する2つの波形デ
ータを同スロットにおいて読み出すようにしたが、例え
ば、図12(a)に示すように、スロットと求めるべき
ROMとを千鳥足状にして読み出す構成としても良い。
ただし、この場合には、一方のROMに供給するアドレ
スを、1スロット分遅延させたり、補間部におけるラッ
チ回路L1、L2、ゲート回路G1、G2の各動作タイ
ミングを適切にする必要はある。
【0060】また、上述した実施例および変形例におけ
る補間処理は、2点補間を行なう場合に例にとって説明
したが、本願はこれに限られない。現時点では、128
音同時発音を行なうという要求よりも、64音同時発音
でもかまわないから、むしろ4点補間を行なって品質の
高い波形データが欲しいという要求の方が多い。この場
合には、求めるべきサンプル番号の前後に位置する4つ
の波形データが、例えば、図12(b)に示すように、
2つのスロットにまたがってROM211、212から
読み出される。そして、当該2スロットの間において、
補間部における各部(ラッチやゲート)の動作タイミン
グと、小数部j等の供給タイミングとを適切に一致させ
て、当該2スロット終了時において、補間用累算器AA
に累算結果すなわち補間結果を出力させる構成とすれば
良い。この場合でも、各部の構成に変更はない。
【0061】上述した実施例および変形例では、記憶手
段として波形データが予め記憶された読出専用のROM
を例にとって説明したが、本願はこれにとらわれない。
例えば、DRAMのような書込も可能なメモリでも良
い。ただし、この場合、書込時において本実施例のよう
にサンプル番号の順に、2個あるいはそれ以上の個数の
DRAMに波形データを順次記憶する必要はある。くわ
えて、上述した実施例における補間については、線形補
間近似を例にとって説明したが、本願ではこれに限られ
ることなく、例えば6点ラグランジュ補間のような複数
点補間システムでも適用が可能である。
【0062】
【発明の効果】以上説明したように、この発明によれ
ば、波形メモリやROMなどのような記憶手段の記憶効
率を損なうことなく、アクセスタイムを見掛け上短縮す
るとともに、同時発音数あるいは補間回数を増やすこと
が可能となる。
【0063】
【0064】
【0065】
【0066】
【図面の簡単な説明】
【図1】 この発明における要部構成を示すブロック図
である。
【図2】 同構成におけるROMの記憶内容を示す図で
ある。
【図3】 同構成における補間内容を示す図である。
【図4】 同構成における補間処理の内容を説明するた
めの図である。
【図5】 この発明による実施例を電子楽器に適用した
場合の構成を示すブロック図である。
【図6】 (a)は、同実施例において128音同時発
音を行なう場合の構成を示すブロック図であり、(b)
は、同実施例において64音同時発音を行なう場合の構
成を示すブロック図である。
【図7】 同実施例の構成を示すブロック図である。
【図8】 同実施例におけるアドレス加工部の構成を示
すブロック図である。
【図9】 同実施例における補間部の構成を示すブロッ
ク図である。
【図10】 同実施例の変形例の構成を示すブロック図
である。
【図11】 (a)は、同実施例において128音同時
発音を行なう場合の動作を説明するためのタイムテーブ
ルであり、(b)は、同実施例において64音同時発音
を行なう場合の動作を説明するためのタイムテーブルで
ある。
【図12】 (a)は、同実施例において128音同時
発音を行なう場合の別動作を示すタイムテーブルであ
り、(b)は、同実施例において4点補間・64音同時
発音を行なう場合の動作を説明するためのタイムテーブ
ルである。
【符号の説明】11、12、211、212……ROM(記憶手段)、
221、222……読出制御部(読出手段)、221
b、221s、222s……アドレスカウンタ(サンプ
ル番号発生手段)、221d、222d……補間部、2
21e、222e……フィルタ、221f、222f…
…エンベロープ付与器(221d、222d、221
e、222e、221fおよび222fはいずれも処理
手段)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の波形サンプルからなる波形データ
    を記憶する複数の記憶手段であって、連続する波形サン
    プルについては異なる手段に記憶する複数の記憶手段
    と、 各アクセスタイミング毎に、前記複数の記憶手段にアク
    セスして連続する波形サンプルを読み出す読出手段と、 複数の処理手段とを具備し、 前記複数の処理手段の各々は、前記読出手段により1回
    のアクセスにおいて読み出された連続する波形サンプル
    に基づいて楽音信号を発生するための処理を、それぞれ
    異なるアクセスタイミングにおいて行う ことを特徴とす
    る楽音合成装置。
  2. 【請求項2】 複数の波形サンプルからなる波形データ
    を記憶する複数の記憶手段であって、連続する波形サン
    プルについては異なる手段に記憶する複数の記憶手段
    と、 整数部および小数部からなるサンプル番号を発生するサ
    ンプル番号発生手段と、 各アクセスタイミング毎に、前記複数の記憶手段にアク
    セスして連続する波形サンプルを読み出す読出手段であ
    って、前記サンプル番号発生手段によるサンプル番号の
    整数部に応じて、サンプル番号の連続する波形サンプル
    を読み出す読出手段と、 複数の処理手段とを具備し、 前記複数の処理手段の各々は、前記読出手段により1回
    のアクセスにおいて読み出された連続する波形サンプル
    を前記サンプル番号発生手段によるサンプル番号の小数
    部に応じて補間して、該サンプル番号に対応する波形サ
    ンプルを求める補間処理とともに、求めた波形サンプル
    に基づいて楽音信号を発生するための発生処理を、それ
    ぞれ異なるアクセスタイミングにおいて行う ことを特徴
    とする楽音合成装置。
JP6317210A 1994-12-20 1994-12-20 楽音合成装置 Expired - Lifetime JP2877012B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6317210A JP2877012B2 (ja) 1994-12-20 1994-12-20 楽音合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6317210A JP2877012B2 (ja) 1994-12-20 1994-12-20 楽音合成装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10115631A Division JP3134840B2 (ja) 1998-04-24 1998-04-24 波形サンプルの補間装置

Publications (2)

Publication Number Publication Date
JPH08179774A JPH08179774A (ja) 1996-07-12
JP2877012B2 true JP2877012B2 (ja) 1999-03-31

Family

ID=18085701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6317210A Expired - Lifetime JP2877012B2 (ja) 1994-12-20 1994-12-20 楽音合成装置

Country Status (1)

Country Link
JP (1) JP2877012B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2904576B2 (ja) * 1990-11-30 1999-06-14 松下電器産業株式会社 波形発生装置

Also Published As

Publication number Publication date
JPH08179774A (ja) 1996-07-12

Similar Documents

Publication Publication Date Title
EP0463411B1 (en) Musical tone waveform generation apparatus
US4202234A (en) Digital generator for musical notes
US4785706A (en) Apparatus for generating a musical tone signal with tone color variations independent of tone pitch
US4681007A (en) Sound generator for electronic musical instrument
JPH0887270A (ja) 電子楽器
JP2877012B2 (ja) 楽音合成装置
JP3134840B2 (ja) 波形サンプルの補間装置
JP3855711B2 (ja) 音波形データ用ディジタル信号処理装置
JP4070347B2 (ja) 楽音信号発生装置
US4936184A (en) Music generator
JP3087744B2 (ja) 楽音発生装置
EP0201998B1 (en) Electronic musical instrument
JPH0435760B2 (ja)
JPH03174592A (ja) 電子楽器の音源回路
JPH09269779A (ja) 効果付加装置
JP3094759B2 (ja) 楽音信号分配処理装置
JP2642092B2 (ja) デジタルエフェクト装置
JP3176901B2 (ja) 楽音情報処理装置及び楽音情報処理方法
JPH1185155A (ja) ミキシング装置および楽器用集積回路
JP3092250B2 (ja) 楽音合成装置
JP2970372B2 (ja) 音源パラメータ供給装置
JP2560276B2 (ja) デジタルエフエクト装置
JPH0468632B2 (ja)
JP2970570B2 (ja) 楽音発生装置
JPS6412398B2 (ja)

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100122

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110122

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120122

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 15

EXPY Cancellation because of completion of term