JP3016470B2 - 音源装置 - Google Patents
音源装置Info
- Publication number
- JP3016470B2 JP3016470B2 JP7198117A JP19811795A JP3016470B2 JP 3016470 B2 JP3016470 B2 JP 3016470B2 JP 7198117 A JP7198117 A JP 7198117A JP 19811795 A JP19811795 A JP 19811795A JP 3016470 B2 JP3016470 B2 JP 3016470B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- waveform
- processing
- address
- 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
Links
- 238000000034 method Methods 0.000 claims description 107
- 238000004364 calculation method Methods 0.000 claims description 88
- 230000000694 effects Effects 0.000 claims description 86
- 238000009825 accumulation Methods 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 4
- 239000000523 sample Substances 0.000 claims 3
- 241001385733 Aesculus indica Species 0.000 claims 1
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 239000011295 pitch Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 15
- 230000003111 delayed effect Effects 0.000 description 13
- 241001342895 Chorus Species 0.000 description 12
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 101000869719 Homo sapiens Sodium-dependent phosphate transporter 2 Proteins 0.000 description 10
- 102100032419 Sodium-dependent phosphate transporter 2 Human genes 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 4
- 238000004091 panning Methods 0.000 description 4
- 101150099000 EXPA1 gene Proteins 0.000 description 3
- 102100029095 Exportin-1 Human genes 0.000 description 3
- 101150029975 MPM1 gene Proteins 0.000 description 3
- 101100119348 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) EXP1 gene Proteins 0.000 description 3
- 101100269618 Streptococcus pneumoniae serotype 4 (strain ATCC BAA-334 / TIGR4) aliA gene Proteins 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000012636 effector Substances 0.000 description 3
- 108700002148 exportin 1 Proteins 0.000 description 3
- IORPOFJLSIHJOG-UHFFFAOYSA-N 3,7-dimethyl-1-prop-2-ynylpurine-2,6-dione Chemical compound CN1C(=O)N(CC#C)C(=O)C2=C1N=CN2C IORPOFJLSIHJOG-UHFFFAOYSA-N 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 102100029091 Exportin-2 Human genes 0.000 description 1
- 101710147878 Exportin-2 Proteins 0.000 description 1
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- INJRKJPEYSAMPD-UHFFFAOYSA-N aluminum;silicic acid;hydrate Chemical compound O.[Al].[Al].O[Si](O)(O)O INJRKJPEYSAMPD-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- FTGYKWAHGPIJIT-UHFFFAOYSA-N hydron;1-[2-[(2-hydroxy-3-phenoxypropyl)-methylamino]ethyl-methylamino]-3-phenoxypropan-2-ol;dichloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CN(C)CCN(C)CC(O)COC1=CC=CC=C1 FTGYKWAHGPIJIT-UHFFFAOYSA-N 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Description
し、詳しくは、時分割で各チャンネルごとに波形を処理
する部分とそれら複数チャンネルの波形を累算して効果
を付与する部分とを1つの波形演算部で共用した音源装
置に関する。
ナル・プロセッサ(DSP)を用いて各種の効果(エフ
ェクト)付与処理を行なわせるものがあった。例えば、
特開平6−12069号公報に記載された電子楽器など
である。該公報に記載された電子楽器では、音源部から
時分割で発生される各チャンネルの楽音波形を演算部で
各チャンネルごとに時分割でフィルタリング処理し、演
算部から時分割で出力された各チャンネルごとの波形デ
ータにEG(エンベロープジェネレータ)部でエンベロ
ープを付与し、アキュムレータ部でチャンネル累算し
て、ステレオのL信号およびR信号を作成する。累算結
果は、パンニング回路を経て再び演算部に入力し、演算
部で効果付与され放音される。
ネルごとの処理を行なうとともに、その出力を外部のア
キュムレータ部で累算し、累算結果を再び演算部に戻し
て効果付与していた。
算部において各チャンネルごとに時分割で処理した後、
それらの出力を外部で累算して再び演算部に戻し効果を
付与しているので、波形データの受渡しラインが複雑に
なる。
処理を行なうとともに効果付与などの累算結果に対する
処理を行なう演算手段を備えた音源装置において、時分
割各チャンネルの処理結果を外部に出すことなく、音源
装置の内部で累算し効果付与の処理に受渡し、これによ
り全体として単純化しかつ回路規模の小さな回路で音源
装置を構成することを目的とする。
中央処理装置からの命令を受けて、ディジタル楽音波形
を出力する音源装置であって、複数チャンネルの波形デ
ータを生成するための第1プログラムと、複数ブロック
の効果付与処理を行なうための第2プログラムとを記憶
した記憶手段と、前記第1プログラム、および前記第2
プログラムを時分割で並行して実行する波形演算手段で
あって、前記波形演算手段は、楽音のサンプリング周期
をチャンネル数分に分割した第1の時分割タイミングで
前記第1プログラムを実行することにより、前記サンプ
リング周期毎に複数チャンネルの波形データを生成出力
する一方、前記サンプリング周期をエフェクトブロック
数分に分割した、前記第1の時分割タイミングとは異な
る、第2の時分割タイミングで、前記第2プログラムを
実行することにより、前記サンプリング周期毎に生成さ
れた前記複数チャンネルの波形データに対し複数ブロッ
クの効果付与処理を行なうことを特徴とする。請求項2
に係る発明は、中央処理装置からの命令を受けて、ディ
ジタル楽音波形を出力する音源装置であって、複数チャ
ンネルの波形データを生成するための第1プログラム
と、チャンネル累算処理を行なう第2プログラムと、複
数ブロックの効果付与処理を行なうための第3プログラ
ムとを記憶した記憶手段と、前記第1プログラム、前記
第2プログラム、および前記第3プログラムを時分割で
並行して実行する波形演算手段であって、前記波形演算
手段は、楽音のサンプリング周期をチャンネル数分に分
割した第1の時分割タイミングで前記第1プログラムを
実行することにより複数チャンネルの波形データを生成
出力し、同第1の時分割タイミングで前記第2プログラ
ムを実行することにより時分割チャンネル周期で出力さ
れる前記各チャンネルの波形データを全チャンネルにわ
たり累算して累算結果を出力し、前記サンプリング周期
をエフェクトブロック数分に分割した、前記第1の時分
割タイミングとは異なる、第2の時分割タイミングで、
前記第3プログラムを実行することにより、前記累算結
果に対し複数ブロックの効果付与処理を実行することを
特徴とする。 請求項3に係る発明は、中央処理装置から
の命令を受けて、ディジタル楽音波 形を出力する音源装
置であって、複数チャンネルの波形データを生成するた
めの複数の各時分割チャンネルにおける処理を行なう第
1プログラムと、複数ブロックの効果付与処理を行なう
第2プログラムとを記憶した記憶手段と、生成する前記
波形データおよび前記楽音データのサンプリング周期内
で時分割で、前記第1プログラム、および前記第2プロ
グラムを互いに並列実行する波形演算手段であって、前
記第1プログラムでは、時分割チャンネル周期で各チャ
ンネルの波形データを生成出力し、前記第2プログラム
では、サンプリング周期毎に生成された前記複数チャン
ネルの波形データに対し前記発音チャンネル数とは異な
る数の複数ブロックの効果付与処理を行なうものとを備
えたことを特徴とする。 請求項4に係る発明は、中央処
理装置からの命令を受けて、ディジタル楽音波形を出力
する音源装置であって、複数チャンネルの波形データを
生成するための複数の各時分割チャンネルにおける処理
を行なう第1プログラムと、チャンネル累算処理を行な
う第2プログラムと、複数ブロックの効果付与処理を行
なう第3プログラムとを記憶した記憶手段と、生成する
前記波形データおよび前記楽音データのサンプリング周
期内で時分割で、前記第1プログラム、前記第2プログ
ラム、および前記第3プログラムを互いに並列実行する
波形演算手段であって、前記第1プログラムでは、時分
割チャンネル周期で各チャンネルの波形データを生成出
力し、前記第2プログラムでは、時分割チャンネル周期
で出力される前記各チャンネルの波形データに対して累
算を行ない発音チャンネル数とは異なる数の複数の累算
結果を出力し、前記第3プログラムでは、前記累算結果
に対して効果付与処理を実行し、発音チャンネル数とは
異なる複数系列の、効果の付与された楽音データを出力
するものとを備えたことを特徴とする。
ャンネル処理、前記第2プログラムは時分割チャンネル
解除処理、前記第3プログラムはサンプリング周期処理
の意味合いがある。
載の発明における第1プログラムが、サンプル補間演算
およびフィルタ処理のうちの少なくとも1つを含み、チ
ャンネル毎に生成される波形データに対する所望の楽音
特性付与を行なうプログラムであることを特徴とする。
3に記載の第2プログラムまたは請求項2もしくは4に
記載の第3プログラムでは、前記複数ブロックのうちの
少なくとも1つのブロックにおいて、当該ブロックの効
果付与処理の内容を変更可能になっている点を特徴とす
る。
載の発明において、さらに遅延用メモリを備え、請求項
1もしくは3に記載の第2プログラムまたは請求項2も
しくは4に記載の第3プログラムは、前記遅延用メモリ
を用いた波形データの遅延処理を含む効果付与処理を行
ない、該効果付与処理において、書き込み時は、所定ビ
ット数の波形データを短いビット数の複数データに分割
して前記遅延用メモリに書き込み、読み出し時は、前記
遅延用メモリから前記短いビット数の複数データを読み
出し、元の所定ビット数のデータを合成する点を特徴と
するものである。
に記載の発明において、前記波形演算手段が、前記第1
プログラムと前記第2プログラムと前記第3プログラム
がそれぞれアクセス可能な共通記憶手段を備え、前記共
通記憶手段を介することにより、各プログラム間でデー
タの受け渡しが行なわれる点を特徴とする。
に記載の発明において、さらに効果選択手段を備え、前
記波形演算手段は、前記効果選択手段による選択に応じ
て、前記第1プログラムおよび前記第2プログラムには
変更を加えず、前記第3プログラムのみを変更して実行
する点を特徴とする。
時分割チャンネル解除処理、およびサンプリング周期処
理を1つの波形演算手段で実行することができるので、
全体の構成が簡単になる。
実施例を説明する。
置を適用した電子楽器の全体のブロック構成を示す。図
1は、この電子楽器の音源部のハードウエア的なブロッ
ク構成を示す。また図3は、音源部内におけるデータの
流れに着目した機能的な流れ図である。図1〜図3にお
いて、同一の番号は同一のものを示すものとする。
体構成を説明する。この電子楽器は、鍵盤201、表示
部202、スイッチ群(SW)203、中央処理装置
(CPU)204、リードオンリメモリ(ROM)20
5、ランダムアクセスメモリ(RAM)206、音源部
207、波形メモリ208、遅延用ダイナミックRAM
(DRAM)209、ディジタルアナログ変換器(DA
C)210、サウンドシステム(SS)211、および
CPUバス212を備えている。鍵盤201、表示部2
02、スイッチ群203、CPU204、ROM20
5、RAM206、および音源部207は、CPUバス
212により相互に接続されている。
の複数の鍵を備えた鍵盤である。表示部202は、電子
楽器のパネル上に設けられており、各種の情報を表示す
る。スイッチ群203は、パネル上に設けられており、
ユーザはこれを操作することにより電子楽器に対して各
種の指示を与えることができる。CPU204は、この
電子楽器全体の動作を制御する。特に、通常の演奏時に
は、鍵盤201の操作を検出し、その操作に応じて音源
部207に発音の指示を出す。
ラム(音源部207を制御するための音源コントロール
プログラムなど)や各種の定数データなどを格納する。
RAM206は、ワークレジスタなどに用いる。音源部
207は、CPU204の指示に応じて、波形メモリ2
08から波形データを読み出し、効果付与などの加工を
施して、楽音波形として出力する。音源部207から出
力された楽音波形は、DAC210によりアナログ信号
に変換され、サウンドシステム211により放音され
る。
ンプリングされた波形データが格納されている。波形メ
モリ208は、ROMで構成してもよいし、RAMで構
成してもよい。RAMで構成する場合は、演奏前に、波
形データを波形メモリ208にロードするようにする。
本実施例では、波形メモリ208はあらかじめ波形デー
タが格納されているROMである。DRAM209は、
音源部207における遅延用のDRAMである。音源部
207内において楽音波形に効果付与などの処理を施す
際に、例えばあるタイミングであるデータをDRAM2
09に書き込み、所定のクロックの後に読み出して演算
に用いるというようにして、遅延したデータを得るのに
DRAM209を用いる。
る。まず、図3を参照して、音源部内部のデータの流れ
に着目して音源部207内の各処理機能を説明し、その
後、図1を参照して音源部207の内部のどのハードウ
エアブロックで上記各処理機能を実現しているかを説明
する。
04(音源コントロールプログラムが実行されている)
から送出された指定情報(音源部207に対する命令や
パラメータ情報である)を格納するための制御レジスタ
である。CPU204は、REG302に所定の指定情
報をセットして発音の開始指示を出す。セットする指定
情報としては、図3に示したように、メモリ読み出しピ
ッチ(周波数ナンバ)、メモリ読み出し区間、波形フォ
ーマット、カットオフ周波数、エンベロープ、パンニン
グ、エフェクト用係数、およびエフェクト用遅延DRA
Mアドレスなどの指定情報がある。
楽音波形の発生の動作を開始する。まず、アドレス発生
部(ADC)303で波形メモリ208の読み出しアド
レスWMAを順次発生する。読み出しアドレスWMA
は、指定された読み出し区間の先頭から、指定された読
み出しピッチを順次累算した値である。特に、この電子
楽器では後述する波形補間部(ITP)305で2点直
線補間を行なうので、連続する2点分の読み出しアドレ
スを順に出力する。また、アドレス発生部303は、補
間用の位相情報(読み出しピッチを累算したときに出現
する小数部データ)を出力する。
2点分のアドレスにしたがって、2点の波形データが、
波形メモリ208から読み出される。読み出された波形
データは、波形再生部(DEC)304により波形再生
される。波形メモリ208に格納されている波形データ
は、所定のフォーマットで圧縮されており、波形再生部
304はその圧縮を解除する機能を果たす。圧縮の波形
フォーマットは、REG302により指定される。この
実施例では、もともと16ビットの波形データを8ビッ
トに圧縮して波形メモリ208に格納しているので、波
形再生部304では、8ビットから16ビットに戻す圧
縮解除処理を行なう。
された2点分の波形データとアドレス発生部303から
の位相情報を用いて補間処理を行ない、補間結果(1点
分の楽音波形データ)を周波数成分制御部(DCF)3
06に出力する。なお、波形補間部305からいったん
音源部207の外に出て再び周波数成分制御部306に
入力する点線の矢印312は、補間結果を外部で加工し
て再び周波数成分制御部306に入力するようなインタ
ーフェースを備えていることを示している。
成分制御部306でフィルタリングを行ない、音量変化
制御部(EGM)307でエンベロープを付与する。周
波数成分制御部306におけるカットオフ周波数などの
パラメータは、REG302で指定され、エンベロープ
ジェネレータ(EG)311で指定されたフィルタエン
ベロープ波形が生成され周波数成分制御部306に与え
られる。エンベロープ形状を規定する各種のパラメータ
も、同様に、エンベロープジェネレータ(EG)311
で音量エンベロープ波形を生成し音量変化制御部307
に与えられる。さらに、音量変化制御部307は、RE
G302により指定されたパンニング指定情報に基づい
てパンニングの処理を行なう。
割で動作する。加算制御部(ACC)308は、各チャ
ンネルの楽音波形データをチャンネル累算し、累算結果
として次段のドライ、コーラス、バリエーションの入力
のそれぞれについてL(左側)とR(右側)のステレオ
2系列(パラレル)およびリバーブ入力のモノラル1系
列の全部で7系列の楽音波形データを出力する。
各入力の系列の楽音波形データのそれぞれに対して対応
する各種の効果(エフェクト)を付与する。付与する効
果に関する係数はREG302により指定される。音響
効果制御部309は、効果付与処理を行なうに際して、
所定時間遅延したデータを得るため、DRAM209に
データを書き込み所定の時間の後に読み出す処理を行な
う。なお、本明細書において、DSPとはマイクロプロ
グラムによってエフェクト演算を行なう可変アルゴリズ
ム回路と定義する。逆にいえば、マイクロプログラムで
動作するのでない、かつ、エフェクト演算を行なってい
ない、補間やフィルタリングの部分は狭義の音源部とし
てDSPとは区別できる。
および読み出しアドレス(遅延データの読み出しアドレ
ス)はREG302で指定され、図3ではREG302
から「アドレス指定」の矢印が音響効果制御部(DS
P)309に直接入力し、音響効果制御部309からD
RAM209にアドレスDMAが入力するように図示し
ているが、実際には波形メモリ208に対するアドレス
発生部303を共用してDRAM209に対するアドレ
スDMAを発生するようにしている。これについては、
後に詳しく説明する。
済みのステレオ2系列パラレルの楽音波形データをシリ
アルデータとして、DAC210(図2)に出力する。
着目して音源部207の内部の機能を説明した図であ
る。したがって、音源部内部のハードウエア構成と比較
すると、1つのハードウエアブロックで図3で説明した
複数の機能を果たす部分がある。次に、図1を参照し
て、ハードウエアの観点から見た音源部207の構成を
説明する。
スタ101、アドレス発生部102、圧縮解除部10
3、波形演算部104、DACインターフェース(DA
CI/O)105、およびエンベロープ発生器106を
備えている。また、図1では不図示であるが、波形演算
部制御クロック発生部を備えている。波形演算部制御ク
ロック発生部については図12で後述する。
2の一部に相当する。アドレス発生部102は、図3の
アドレス発生部303に相当するとともに、遅延用DR
AM209の書き込み/読み出しアドレスDMAの発生
も行なう。圧縮解除部103は、図3の波形再生部30
4に相当する。エンベロープ発生器106は、図3のエ
ンベロープジェネレータ311に相当する。エンベロー
プ発生器106は、図3でも述べたように、音量エンベ
ロープ波形の発生のほかにフィルタリングのパラメータ
(フィルタエンベロープ)などを発生する。すなわち、
エンベロープ発生器106は、複数の関数を発生する機
能を備えたものである。
05、周波数成分制御部306、音量変化制御部30
7、加算制御部308、および音響効果制御部309に
相当する。また、DACI/O105は、図3の出力制
御部310に相当する。
の内部に設けられているワークメモリ領域である。図4
に、ARAM114のメモリマップを示す。ARAM1
14は、第1チャンネルから第32チャンネルの各チャ
ンネルごとの領域からなる。各チャンネルの領域は、現
アドレス下位ADL、現アドレス上位ADH、遅延量D
L1、および遅延量DL2の4つの情報を格納する領域
からなる。各領域の大きさは16ビットである。ただ
し、アドレス下位ADLは、16ビットのうち下位14
ビット分のみ使用する。
に関する波形メモリ読み出しアドレスを累算していくと
きの現在のアドレス値のうちの下位アドレスを格納する
領域である。現アドレス上位ADHは、そのアドレス値
のうち上位アドレスを格納する領域である。遅延量DL
1は、当該チャンネルに関する効果付与処理において、
DRAM209から遅延したデータを読み出す(書き込
みに用いてもよい)ときの遅延量を格納する領域であ
る。遅延量DL2も同様である。遅延量DL1およびD
L2の値は、効果付与のマイクロプログラムを設定する
ときに、CPU204からの指示に基づいて制御レジス
タ101を介してARAM114に設定される。
ものを示すとともに、その領域に格納されたデータをも
示すものとする。例えば、現アドレス下位ADLという
ときは、現在のアドレス値の下位アドレスを格納する領
域そのものを示すとともに、その領域に格納されるアド
レス値の下位アドレスデータをも示すものとする。以
下、各領域に付した記号も同様である。
DHは、アドレスの小数部および整数部に対応する場合
もあるが、一般には対応していない。アドレス整数部は
波形メモリのアドレスと対応し、各値に対応して波形メ
モリの波形サンプルが1つずつ存在しているアドレスを
言う。アドレス小数部は、それよりも細かい単位で、波
形メモリに記憶された連続する2サンプルの中間位置を
示す情報である。
形演算部104の内部に設けられているワークメモリ領
域であり、効果付与のマイクロプログラムが設定され
る。効果付与のマイクロプログラムは、CPU204か
らの指示に基づいて制御レジスタ101を介して設定さ
れる。波形演算部104は、時分割で並行して複数の機
能を果たすように動作するが(その詳細は後述する)、
効果付与を実行するタイムスロットにおいてはMPM1
11のマイクロプログラムが順次実行されることとな
る。さらに、そのマイクロプログラムによる効果付与動
作において遅延したデータが必要であるときは、アドレ
ス発生部102から発生する遅延用DRAM209の書
き込みアドレスおよび読み出しアドレスを用いて遅延用
DRAM209に書き込み/読み出しを行なうようにし
ている。
部に設けられているワークメモリ領域であり、MPM1
11のマイクロプログラムが実行されるときに用いる係
数データを記憶する領域である。係数データとしては、
MPM111のマイクロプログラムの1ステップに対応
して、その1ステップを実行するときに用いる1つの係
数が格納できるようになっている。各ステップにおいて
用いる係数データは、CPU204からの指示に基づい
て制御レジスタ101を介して設定される。
部に設けられているワークメモリ領域である。図5に、
TRAM112のメモリマップを示す。TRAM112
の先頭には、フィルタ演算用遅延データを格納する領域
が、各チャンネルに2つ(D1とD2)づつ設けられて
いる。1つの遅延データ格納領域の大きさは24ビット
である。各領域D1,D2は、波形演算部104が図3
の周波数成分制御部306に相当するフィルタ演算動作
を行なうときに、データを書き込み遅延して読み出して
演算に用いるというように、フィルタ演算においてデー
タを一時的に保持するために用いられる。
力分の累算値を格納する領域REV,DL,DR,CH
L,CHR,VAL,VARが設けられている。各領域
の大きさは24ビットである。これらの領域は、波形演
算部104が図3の加算制御部308に相当するチャン
ネル累算動作を行なうときに、その累算結果を格納する
領域である。7出力分の領域が容易されているのは、フ
ィルタ演算の結果の各時分割チャンネルの1サンプル出
力に対して7系統の出力を作成するためである。7系統
の出力を作成するのは、次の段における効果の付与が7
系統に分かれているからである。7系統とは、具体的に
は、リバーブ用累算値REV、ドライL用累算値DL、
ドライR用累算値DR、コーラスL用累算値CHL、コ
ーラスR用累算値CHR、バリエーションL用累算値V
AL、およびバリエーションR用累算値VARの7つで
ある。なお、Lはステレオの左側系統、Rはステレオの
右側系統を示す。
ェクト演算用テンポラリデータを格納するための24ビ
ット×57個の領域が設けられている。これは、波形演
算部104が効果付与動作を行なう際のテンポラリデー
タの格納用の領域である。
て詳しく説明する。図6は、アドレス発生部102のブ
ロック構成を示す。アドレス発生部102は、ARAM
114、加減算器601、セレクタA602、セレクタ
B603、ラッチ604、合成器605、ゲート60
6、1ビットダウンシフタ607、DRAMアドレス発
生器608、ラッチ609、14ビットダウンシフタ6
10、波形メモリアドレス発生器611、ラッチ61
2、ラッチ613、ラッチ614、および減算器615
を備えている。
例えばセレクタA602やB603は各タイムスロット
ごとに所定の入力を選択出力するように制御される。ま
た、1ビットダウンシフタ607や14ビットダウンシ
フタ610は、ダウンシフトの処理を行なわず入力をそ
のまま出力するように制御される場合もある。各タイム
スロットにおける各部の動作は、図7を参照して後述す
る。
ットの加減算器であり、セレクタA602の選択出力デ
ータとセレクタB603の選択出力データとを入力して
加算または減算を実行する。この加減算器601では、
加減算の結果が出るまでに2クロック分の遅延があるの
で「2D」と表記してある。以下、処理に遅延が生じる
ブロックには同様に表記するものとする。
のデータ、データ「1」、データ「0」、制御レジスタ
101からのデータADMPX、およびゲート606を
介して入力するデータLFOが入力する。セレクタB6
03には、データ「0」、データPIT2、ラッチ61
2,613からのデータ、14ビットダウンシフタ61
0からのデータ、およびラッチ614からのデータが入
力する。
要なデータを制御レジスタ101から読み出したもので
ある。LFOは、不図示の低周波発振器から出力される
データである。PIT2は、後述する図8の波形演算部
104内の可変シフタ809からの出力である。
イミングチャートを示す。縦に引かれた点線により区切
られた各区間が1クロックのタイムスロットを示す。図
7は、1DAC周期768クロック(24クロック×時
分割32チャンネル)動作のうちの1チャンネル分を取
り出した図である。1チャンネル分の24クロックの各
区間には順にスロット番号(0から23)を付ける。図
7では、0,4,8,12,16,20のスロット番号
が記載してある。なお、このクロック図は複数の処理の
時分割の様子を示したものであり、各ブロックにおける
処理の遅れは省略されている。
字が記載されたスロットおよびその下の行702に示す
11,12の数字が記載されたスロットは、1チャンネ
ル分の波形メモリアドレス発生の動作を行なうタイムス
ロットを示している。また、それらの数字は下記の処理
番号に対応している。例えば、スロット番号0の位置に
は「1」と記載されており、スロット番号2の位置には
「2」と記載されているが、これはスロット番号0のス
ロットで下記の処理番号1の処理を行ない、スロット番
号2のスロットで下記の処理番号2の処理を行なうとい
うことを示している。なお、行702は行701の下に
記載しているが、実際には当該チャンネルに関する処理
番号1〜10の処理を行701に示すスロットで実行し
た後、次のチャンネルの行702に示すスロットで処理
番号11,12の処理を行なっている。
〜12の処理を下記に示す。
ゲート606からの入力データを選択出力し、セレクタ
B603はデータ「0」を選択出力する。加減算器60
1は、これらのデータを加算する。加算結果UDは、2
クロック後に出力され、次の処理番号2で使われること
になる。処理番号1において、ゲート606が開いてい
れば、LFO+0を計算することになる。ゲート606
が閉じていれば、0+0を計算することになる。ゲート
606の制御については後述する。
算結果UDが加減算器601から出力される。このとき
1ビットダウンシフタ607は入力データの1ビットダ
ウンシフトを行ない、14ビットダウンシフタ610は
シフトを行なわず入力データをそのまま出力するように
なっている。したがって、処理番号1の加算結果UDを
1ビットダウンシフトしたデータがセレクタB603に
入力する。また、このときセレクタA602はゲート6
06からの入力データを選択出力し、セレクタB603
は処理番号1の加算結果UDを1ビットダウンシフトし
たデータを選択出力する。加減算器601は、これらの
データを加算する。加算結果は、2クロック後に出力さ
れ、次の処理番号3で使われることになる。以上より、
処理番号2において、ゲート606が開いていれば、L
FO+UD↓1を計算することになる。UD↓1は、デ
ータUDを1ビットダウンシフトしたデータを示す。
わりに処理番号2の結果を用いること以外は処理番号2
と同じ処理である。すなわち、処理番号3において、ゲ
ート606が開いていれば、LFO+UD↓1を計算す
ることになる。
号4の処理でピッチ(周波数ナンバ)PIT0に加算す
る値を算出する処理である。ピッチPIT0は周波数リ
ニアのデータであるため、そのまま累算して求めたアド
レスで発音すると、聴感上のずれが生じる。そこで、ピ
ッチに応じて(具体的には、ピッチの所定の上位ビット
に応じて処理番号1〜3におけるゲート606の開閉を
制御して)処理番号1〜3の結果をピッチPIT0に加
算して、スケーリングするようにしている。
処理番号2,3で閉じるようにすれば、処理番号3の処
理結果は、LFOを2ビットダウンシフトした値、すな
わちLFO/4となる。また、ゲート606を処理番号
2で開き処理番号1,3で閉じるようにすれば、処理番
号3の処理結果は、LFOを1ビットダウンシフトした
値、すなわちLFO/2となる。また、ゲート606を
処理番号3で開き処理番号1,2で閉じるようにすれ
ば、処理番号3の処理結果はLFO自体となる。このよ
うに処理番号1〜3におけるゲート606の開閉を制御
して得た値をピッチPIT0に加算してスケーリングす
る。
入力データADMPXを選択出力し、セレクタB603
は処理番号3の結果であるデータUDを選択出力する
(ダウンシフタ607,610は何れもスルー(入力デ
ータをそのまま出力)する)。このときの入力データA
DMPXは、制御レジスタからのピッチPIT0であ
る。加減算器601は、ADMPX(PIT0)+UD
を計算し出力する。なお、ADMPX(PIT0)は、
時分割の各タイムスロットで種々のデータがADMPX
として入力するが、この時点ではPIT0が入力するこ
とを示す。以下でも時分割で種々のデータが入力する信
号については同様に表記する。
601から出力され1ビットダウンシフタ607に入力
するが、その時点では1ビットダウンシフタ607はシ
フトを行なわず入力データをそのまま出力するようにな
っている。1ビットダウンシフタ607をスルーした加
算結果は、ラッチ609にラッチされ、ピッチデータP
IT1として出力される。ピッチデータPIT1は、後
述する図8の波形演算部104内のセレクタG808に
入力し、可変シフタ809でオクターブ分のシフトを行
ない、ピッチデータPIT2として出力される。これ
は、ピッチPIT0,PIT1はオクターブ内のピッチ
を示すデータであるので、オクターブ分のシフトを行な
う必要があり、そのシフトを波形演算部104で行なう
ようにしたものである。ピッチデータPIT2は、次の
処理番号5のタイミングでセレクタB603に入力す
る。
ARAM(図4)114の現アドレス下位ADLを選択
出力し、セレクタB603は上記ピッチデータPIT2
を選択出力する。合成器605は、ARAM114の現
アドレス下位ADLをスルーするように制御される。ま
た、ピッチデータPIT2は、この時点で波形演算部1
04から出力されるようになっている。なお、ARAM
114の現アドレス上位ADHと下位ADLの初期値
(すなわち、波形メモリの読み出しスタートアドレス)
は、CPU204が音源部207に発音開始を指示する
際に、CPU204から直接ARAM114に書き込ま
れる(後述する図14(b)のステップS13)。
PIT2を計算し、2クロック後に加算結果を出力す
る。これがピッチ(周波数ナンバ)の累算を行なう部分
である。この加算結果は、ARAM114の現アドレス
下位ADLに再び格納されるとともに、1ビットダウン
シフタ607に入力する。
算結果が1ビットダウンシフタ607に入力するが、こ
のとき1ビットダウンシフタ607はシフトを行なわず
入力データをそのまま出力し、14ビットダウンシフタ
610は14ビットのダウンシフトを実行するようにな
っている。したがって、処理番号5の加算結果UDは、
14ビットダウンシフトされ(データUD↓14と表記
する)、セレクタB603に入力する。セレクタB60
3は、このデータUD↓14を選択出力する。また、セ
レクタA602はARAM114の現アドレス上位AD
Hを選択出力する。したがって、加減算器601は、A
RAM(ADH)+UD↓14を計算し、2クロック後
に加算結果を出力する。この加算は、処理番号5におけ
る累算の結果、現アドレス下位ADLから上位にあふれ
た分を上位ADHに加える処理である。この加算結果U
Dは、ARAM114の現アドレス上位ADHに再び格
納されるとともに、ダウンシフタ607,610をスル
ーしてセレクタB603に入力し、さらにラッチ612
にラッチされる。
の処理である。この実施例において、波形メモリ208
上の波形データは、アタック部とそれに引き続くループ
部とから構成されており、アドレス発生処理では、ルー
プ部の先頭位置(すなわちアタック部の最終位置)をア
ドレス0の基準としている。したがって、発音開始時に
ARAM114の現アドレスに設定される初期値(アタ
ック部の先頭を示すアドレス)は負数となる。ループ部
の先頭位置が基準(アドレス0)だからである。
あるときは、アタック部のアドレスを発生しているとい
うことが分かる。加算結果が負数かどうかは、サインフ
ラグなどにより知ることができるから、処理番号6の加
算の後、現在発生しているアドレスがアタック部のアド
レスかループ部のアドレスかは判別できる。アタック部
のアドレスであるときは、処理番号6までの処理により
アドレスの整数部と小数部はARAM114に格納され
ているから(さらに整数部はラッチ612にラッチされ
ている)、以下の処理番号7〜10の処理は行なわず、
処理番号11,12を行なう。ループ部のアドレスであ
るときは、処理番号7〜10を行ない、引き続き処理番
号11,12を行なう。
入力データADMPXを選択出力し、セレクタB603
は処理番号6の結果であるデータUDを選択出力する
(ダウンシフタ607,610は何れもスルー)。デー
タUDは、アドレスの整数部である。このときの入力デ
ータADMPXは、制御レジスタからのマイナスループ
レングス「−LL」である。ループレングスLLとは読
み出すべき波形データのループ部のデータ長を示し、マ
イナスループレングス「−LL」はループレングスLL
にマイナスを付けて負数にしたものである。したがっ
て、加減算器601は、ADMPX(−LL)+UDを
計算し、2クロック後に加算結果を出力する。加算結果
は、合成部605に入力する。合成部605は、その加
算結果(アドレス整数部)とARAM114の現アドレ
ス下位ADLとを結合して、セレクタA602に入力す
るようにする。
発生したとき(すなわち加算結果が負数であるとき)は
算出したアドレスUDの位置が未だループ部内部である
ことになり、キャリーが発生しなかったとき(すなわち
加算結果が正数であるとき)は算出したアドレスUDの
位置がループ部を超えたということになる。そこで、キ
ャリーが発生したときは以下の処理番号8〜10の処理
は行なわず、処理番号11,12を行なう。キャリーが
発生しなかったときは、ループ部の先頭付近のアドレス
に戻るために、以下の処理番号8〜10を行なう。
合成部605のデータを選択出力し、セレクタB603
はデータ「0」を選択出力する。加減算器601は、
(合成部605のデータ)+0を計算し、2クロック後
に加算結果を出力する。この処理は、次の処理番号9で
合成部605のデータをセレクタB603に戻すために
行なうものである。
入力データADMPXを選択出力し、セレクタB603
は処理番号8の結果であるデータUDを選択出力する
(ダウンシフタ607,610は何れもスルー)。この
データUDは、合成部605からのデータである。ま
た、このときの入力データADMPXは、補正用のデー
タLFRである。加減算器601は、ADMPX(LF
R)+UDを計算し、2クロック後に加算結果を出力す
る。この加算結果は、ARAM114の現アドレス下位
ADLに再び格納されるとともに、1ビットダウンシフ
タ607に入力する。
の戻りアドレス(小数部も含む)が算出されることにな
る。その戻りアドレスの小数部は、直接ARAM114
の現アドレス下位ADLに格納される。なお、合成部6
05からのデータはループ部の先頭付近のアドレスにな
っているはずであるが、それにさらにLFRを加算する
のは1アドレスの中の微妙な戻り位置(小数部)を調整
するためである。LFRを加算することにより精密なル
ープを行なうようにしている。
の加算結果が1ビットダウンシフタ607に入力する
が、このとき1ビットダウンシフタ607はシフトを行
なわず入力データをそのまま出力し、14ビットダウン
シフタ610は14ビットのダウンシフトを実行するよ
うになっている。したがって、処理番号9の加算結果U
D(戻りアドレス)は、14ビットダウンシフトされて
セレクタB603に入力する。セレクタB603はこの
14ビットダウンシフトされたデータUD↓14を選択
出力する。このデータが、ループ部の先頭付近の戻りア
ドレス(整数部)である。また、セレクタA602はデ
ータ「0」を選択出力する。したがって、加減算器60
1は、0+UD↓14を計算し、2クロック後に加算結
果を出力する。この加算結果(戻りアドレスの整数部)
は、ARAM114の現アドレス上位ADHに格納され
るとともに、ラッチ612にラッチされる。
にラッチ612にアドレス整数部が格納されている。ま
た、処理番号11では、セレクタA602は入力データ
ADMPXを選択出力し、セレクタB603はラッチ6
12のデータを選択出力する。このときの入力データA
DMPXは、波形データのアドレス基準値WADであ
る。加減算器601は、ADMPX(WAD)+ラッチ
612を計算し、2クロック後に加算結果を出力する。
上ループ部の先頭位置をアドレス0の基準として処理を
行なっているが、波形データは実際には波形メモリ20
8の所定のアドレスに格納されている。そこで、波形デ
ータのアドレス基準値WAD(当該波形データのループ
部先頭位置の波形メモリ上でのアドレス)を加算して、
読み出しアドレスを波形メモリ上のアドレスに変換す
る。
るとともに(ダウンシフタ607,610は何れもスル
ー)、波形メモリアドレス発生器611を介して波形メ
モリ208へのアドレスWMDとして出力される。波形
メモリアドレス発生器611は、読み出しアドレスを、
実際にメモリをアクセスする際に必要なローアドレスと
カラムアドレスに変換する機能を果たす。
2はデータ「1」を選択出力し、セレクタB603はラ
ッチ614のデータを選択出力する。加減算器601
は、1+ラッチ614のデータを計算し、2クロック後
に加算結果を出力する。これは、2点補間を行なうため
に、処理番号11で得たアドレスの次のアドレスを算出
するものである。加算結果は、ラッチ614に格納され
るとともに(ダウンシフタ607,610は何れもスル
ー)、波形メモリアドレス発生器611を介して波形メ
モリへのアドレスWMDとして出力される。なお、小数
部すなわちARAM114の現アドレス下位ADLは、
適当なタイミングでラッチ604にラッチされ、補間用
小数部FRACとして出力される。さらに、減算器61
5により1−FRACが計算され出力される。
を採用したが、例えば4点補間を行なう場合には、引き
続き処理番号13,14で処理番号12と同じ処理を行
なえば、処理番号12で得たアドレスの次および次の次
のアドレスを順次出力するようにできる。
されている場合、圧縮波形のサンプルを飛ばし読みする
と元の波形がデコードできないので、2サンプルを供給
するために、2以上のサンプルを読み出す場合もある。
さらに、長いビットの波形サンプル(例えば、16ビッ
ト)が2アドレスにまたがって記憶されている場合は、
連続する4アドレスを読み出すことにより、直線補間に
必要な2サンプルが再生できる。
の概要を下記に式のみで処理番号別に示す。
(ADL) 6.ARAM(ADH)+UD↓14→UD,ARAM
(ADH),ラッチ612 7.ADMPX(−LL)+UD→合成器(ARAM
(ADL)と合成) 8.(合成器+0→UD) 9.(ADMPX(LFR)+UD→UD,ARAM
(ADL)) 10.(0+UD↓14→ARAM(ADH),ラッチ
612)…処理番号8〜10は、処理番号7でキャリー
非発生時のみ 11.ADMPX(WAD)+ラッチ612→ラッチ6
14,WMA 12.1+ラッチ614→ラッチ614,WMA (13.1+ラッチ614→ラッチ614,WMA) (14.1+ラッチ614→ラッチ614,WMA)
て説明する。図7の行703に示す1,2,…,6の数
字が記載されたスロットは、遅延用DRAM209の書
き込み/読み出しアドレス発生処理を行なうスロットを
示している。また、それらの数字は下記の処理番号に対
応している。以下、遅延用DRAMアドレス発生に係る
処理番号1〜6の処理について説明する。
データ「1」を選択出力し、セレクタB603はラッチ
613のデータを選択出力する。加減算器601は、ラ
ッチ613のデータ−1を計算する。計算結果は再びラ
ッチ613に格納される(ダウンシフタ607,610
は何れもスルー)。
4が波形データに効果付与するためのエフェクト演算を
行なうとき、これを単にDSPと呼ぶものとする)の基
準カウント値を格納するラッチである。DSPは所定の
ステップ数のマイクロプログラムを繰り返し実行するル
ープ処理を行なうが、その1回のループの時間が1DA
Cサイクルに一致するようになっている。基準カウント
値はDSPが遅延用DRAM209にアクセスするとき
の基準アドレスになるが、この基準カウント値は上記の
ループ処理が1回終わるごとにカウントダウンされる。
処理番号1ではそのカウントダウンの処理を行なう。1
DACサイクルに1回カウントダウンすればよいから、
本処理番号1の処理は、1DACサイクルのうちの何れ
かのタイミングで1回実行される。なお、基準カウント
値の初期値は、このアドレス発生部102が動作を開始
した時点で、あるいは基準カウント値が0に至った1D
ACサイクルの次の1DACサイクルで、ラッチ613
に外部からセットするようになっている。
ARAM114の遅延量DL1を選択出力し(合成器6
05はスルーする)、セレクタB603はラッチ613
の基準カウント値を選択出力する。加減算器601は、
基準カウント値+DL1を計算し、2クロック後に加算
結果を出力する。基準カウント値は、処理番号1で説明
したように1DACサイクルごとにカウントダウンされ
ていくから、基準カウント値+DL1は、現時点から遅
延量DL1以前のアドレスを示すことになる。したがっ
て、本処理番号2により遅延量DL1だけ遅延したアド
レスが生成される。加減算器601の加算結果は、ダウ
ンシフタ607,610をスルーしてセレクタB603
に入力し、次の処理番号3の処理で使用される。なお、
基準カウント値+DL1の計算結果が遅延用DRAM2
09の最終アドレスを越えることは考慮する必要が無い
ように、遅延用DRAM209のメモリサイズは1Mビ
ットや4Mビットなどに合せてある。すなわち、加算結
果の所定の上位ビットを捨てればよいようになってい
る。
ゲート606からの入力データを選択出力し、セレクタ
B603は処理番号2の加算結果UD(遅延量DL1だ
け遅延したアドレス)を選択出力する。ゲート606は
開くように制御されるので、加減算器601は、LFO
+UDを計算する。LFOを加算するのは、変調をかけ
るためである。LFOは、このタイミングで不図示の低
周波発振器から出力される低周波信号である。加算結果
は、ダウンシフタ607をスルーし、DRAMアドレス
発生器608を介して、遅延用DRAM209の書き込
み/読み出しアドレスDMAとして出力される。DRA
Mアドレス発生器608は、算出したアドレスを、実際
にメモリをアクセスする際に必要なローアドレスとカラ
ムアドレスに変換する機能を果たす。
する場合にのみ実行される処理であるので後述する。
号2および3の処理と同様である。ただし、遅延量DL
1の代わりに遅延量DL2を用いる。すなわち、処理番
号5でその基準カウント値に遅延量DL2を加算し、処
理番号6でLFOを加算して、遅延用DRAM209の
アドレスDMAを出力する。
発生が行なえるが、そのアクセスは時分割32チャンネ
ルの波形メモリアドレス発生処理とは無関係である。1
DACサイクルは24クロック×32チャンネルである
から、1DACサイクル中に64回の遅延アドレス発生
を行なえるが、ここではその64回のうちの適当な2回
で遅延アドレス発生を行なっている。その2回のアクセ
スの遅延量を指定するために、ARAM114に遅延量
DL1とDL2を記憶している。
ータをアクセスするための遅延用DRAMアドレスの発
生処理であるが、これらを利用して遅延用DRAM20
9をクリアするためのアドレス発生を行なうことができ
る。その場合は、処理番号4の処理を追加する。以下、
遅延用DRAM209をクリアするためのアドレス発生
処理について説明する。
ドレス発生処理と同じ処理を行なう。ただし、処理番号
1は、1DACサイクルで1回のみ実行するのでなく、
1DACサイクルの全チャンネルのスロット番号1のス
ロットで常に実行する。また、処理番号2では遅延量D
L1をデータ「0」とし、処理番号3ではLFOをデー
タ「0」とする。さらに、処理番号4〜6でも同じ処理
を行なう。
をカウントダウンし、その値を出力する処理を、全チャ
ンネルの処理番号1〜3と4〜6で行ない、DRAMの
ベタのアドレス(アドレス最終値からアドレス0に向か
う)を出力する。このベタのアドレスで、DRAM20
9の各アドレス位置をクリア(初期設定)する。なお、
DRAMクリア用のアドレス発生を行なうときは、ラッ
チ613には初期値としてDRAM209の最終アドレ
スを設定する。また、アドレス0を出力したらそこでア
ドレス発生の処理を終了する。
処理の概要を下記に式のみで処理番号別に示す。
…1DACサイクルに1回またはDRAMクリア時 2.ARAM(DL1)+ラッチ613→UD 3.LFO+UD→RAOUT 4.(ラッチ613−1→ラッチ613)…DRAMク
リア時 5.ARAM(DL2)+ラッチ613→UD 6.LFO+UD→RAOUT
しく説明する。図8は、波形演算部104のブロック構
成を示す。波形演算部104は、図1に示したMPM1
11、TRAM112、CRAM113のほか、セレク
タC801、セレクタD802、ラッチ803、乗算器
804、セレクタE805、DRAMインターフェース
(DRAMI/O)806、セレクタF807、セレク
タG808、可変シフタ809、セレクタH810、セ
レクタI811、加減算器812、乗数発生器813、
指数発生器814、およびDRAMI/O815を備え
ている。波形演算部104は、時分割で動作し、セレク
タや乗算器、加減算器などは、各タイムスロットごとに
所定の動作を行なうように制御される。各タイムスロッ
トにおける各部の動作は、図9を参照して後述する。
ット×24ビットの乗算器であり、セレクタC801の
選択出力データとセレクタD802の選択出力データと
を入力して乗算を実行する。この乗算器804では、乗
算の結果が出るまでに4クロック分の遅延(4D)があ
る。加減算器812は、29ビットの加減算器であり、
セレクタH810の選択出力データとセレクタI811
の選択出力データとを入力して加算または減算を実行す
る。この加減算器812では、加減算の結果が出るまで
に4クロック分の遅延(4D)がある。
ングチャートを示す。図9および図8を参照して、各タ
イムスロットにおける波形演算部104の各部の動作を
説明する。図9の表記の仕方は図7と同様である。すな
わち図9は、1DAC周期768クロック(24クロッ
ク×時分割32チャンネル)動作のうちの1チャンネル
分を取り出した図である。なお、1つの発音チャンネル
の演算は、最初の24スロットの15,19番スロット
で補間演算、2番目の24スロットの6,10,14,
18,22番スロットおよび3番目の24スロットの2
番スロットでフィルタ演算、…のように複数の24スロ
ットにまたがって実行される。
れたスロットは、当該チャンネルにおける波形データの
補間演算処理を行なうタイムスロットを示している。補
間演算処理の処理番号1,2の処理について説明する。
1−FRACを選択出力し、セレクタD802は波形デ
ータWAVEを選択出力する。1−FRACは、図6の
アドレス発生部102の減算器615から出力されるデ
ータであり、1から小数部FRACを減算したものであ
る。波形データWAVEは、アドレス発生部102から
出力された読み出しアドレスにしたがって波形メモリ2
08から読み出された波形データである。
行なうので、アドレス発生部102は2点のアドレスを
順次出力する(波形メモリアドレス発生の処理番号11
と12)が、ここでは始めに出力されるアドレス(波形
メモリアドレス発生の処理番号11で出力されたアドレ
ス)により読み出された波形データがWAVEとして入
力する。乗算器804は、(1−FRAC)×WAVE
を計算し、4クロック後に計算結果MPYOを出力す
る。
果MPYOを選択出力し、セレクタH810はセレクタ
E805からのデータMPYOを選択出力するから、加
減算器812にはデータMPYOが入力する。このと
き、セレクタI811は、データ「0」を選択出力す
る。加減算器812は、MPYO+0を計算し、4クロ
ック後に加算結果FAOを出力する。
FRACを選択出力し、セレクタD802は波形データ
WAVEを選択出力する。FRACは、図6のアドレス
発生部102のラッチ604から出力される小数部デー
タFRACである。波形データWAVEは、アドレス発
生部102から出力された読み出しアドレスにしたがっ
て波形メモリ208から読み出された波形データであ
り、特に2点のうちの後の波形データ(波形メモリアド
レス発生の処理番号12で出力されたアドレスで読み出
した波形データ)である。乗算器804は、FRAC×
WAVEを計算し、4クロック後に計算結果MPYOを
出力する。
果MPYOを選択出力し、セレクタH810はセレクタ
E805からのデータMPYOを選択出力するから、加
減算器812にはデータMPYOが入力する。このとき
セレクタI811は、上記処理番号1の処理結果である
加減算器812からのデータFAOを選択出力する。加
減算器812は、MPYO+FAOを計算し、4クロッ
ク後に加算結果NOUTを出力する。この結果NOUT
が、2点の波形データを小数部FRACに基づいて直線
補間した結果である。
矢印312に示したように外部に出力されて加工された
後に再び波形演算部104に戻り、フィルタ演算に用い
られる。具体的には、次のフィルタ演算の処理番号1で
セレクタI811への入力NINに戻ってくる。なお、
補間結果をそのままフィルタ演算に渡す場合はTRAM
112に補間結果を保持する領域を設けておき、そこに
格納して、フィルタ演算で必要なタイミングでTRAM
112からセレクタI811に入力するようにすればよ
い。
で処理番号別に示す。
記載されたスロットは、当該チャンネルにおける波形デ
ータのフィルタ演算処理を行なうタイムスロットを示し
ている。フィルタ演算処理の処理番号1〜6の処理につ
いて説明する。
データMODを選択出力し、セレクタD802はTRA
M112のフィルタ演算用遅延データD1を選択出力す
る。このときの入力データMODは、制御レジスタから
のデータ「−q」である。qはフィルタ演算におけるフ
ィルタリング特性を規定するパラメータである。乗算器
804は、MOD(−q)×TRAM(D1)を計算
し、計算結果MPYOを出力する。なお、MOD(−
q)は、時分割の各タイムスロットで種々のデータがM
ODとして入力するが、この時点では−qが入力するこ
とを示している。また、TRAM(D1)は、図5に示
したTRAM112のうちデータD1を用いることを示
している。以下でも同様に表記する。
乗算器804から出力されセレクタE805に入力する
が、その時点ではセレクタE805は乗算結果MPYO
を選択出力し、セレクタH810は該セレクタE805
からの入力を選択出力する。したがって、この乗算結果
MPYOが加減算器812に入力する。一方、セレクタ
I811は入力データNIN(上述した補間演算の結果
NOUTを外部で加工して戻ってきたデータ)を選択出
力するから、加減算器812のもう一方の入力はNIN
である。加減算器812は、MPYO+NINを計算
し、4クロック後に加算結果FAOを出力する。この加
算結果FAOは次の処理番号2で使用される。
データ「−1」を選択出力し、セレクタD802はTR
AM112のフィルタ演算用遅延データD2を選択出力
する。乗算器804は、−1×TRAM(D2)を計算
し、計算結果MPYOを出力する。上記乗算結果MPY
Oは、4クロック後に乗算器804から出力されセレク
タE805に入力するが、その時点ではセレクタE80
5は乗算結果MPYOを選択出力し、セレクタH810
は該セレクタE805からの入力を選択出力する。した
がって、この乗算結果MPYOが加減算器812に入力
する。
果FAOを選択出力する。したがって、加減算器812
は、MPYO+FAOを計算し、4クロック後に加算結
果を出力する。この加算結果は、TRAM112のテン
ポラリエリアXに書き込まれ、処理番号4で使用され
る。テンポラリエリアXは、遅延データD1の格納領域
を用いて差し支えないので、ここでは該領域を用いてい
る。
TRAM112のフィルタ演算用遅延データD1を選択
出力し、セレクタH810はデータ「0」を選択出力す
る。加減算器812は、TRAM(D1)+0を計算
し、加算結果FAOを4クロック後に出力する。これは
フィルタ演算用遅延データD1を次の処理番号4で使用
するためにタイミングを合せるための処理である。
フィルタ演算ための処理以外に、図6の波形メモリアド
レス発生処理の処理番号4で説明したように、1オクタ
ーブ内でのピッチを示すピッチデータPIT1をシフト
して、オクターブ分も合せたピッチデータPIT2とし
て出力する処理を行なっている。具体的には、まずセレ
クタC801はデータMODを選択出力する。このとき
データMODとして、オクターブ分のシフト量を示すオ
クターブデータOCT(MODの上位5ビット)が入力
している。セレクタF807は、セレクタC801が選
択出力するデータMODの上位5ビット、すなわちオク
ターブデータOCTを選択出力する。セレクタG808
はピッチデータPIT1を選択出力するから、可変シフ
タ809には、セレクタG808からピッチデータPI
T1が入力し、セレクタF807からオクターブデータ
OCTが入力することになる。可変シフタ809は、ピ
ッチデータPIT1をオクターブデータOCTだけシフ
トし、シフト結果(オクターブ分を含むピッチデータP
IT2)を出力する。このピッチデータPIT2が、図
6の波形メモリアドレス発生処理の処理番号5で使用さ
れる。
エンベロープ発生器106からのデータEGOUTを選
択出力し、セレクタD802はTRAM112のテンポ
ラリエリアXからのデータ(処理番号2で設定)を選択
出力する。EGOUTとしてはフィルタ演算における周
波数特性を規定するパラメータKが入力する。乗算器8
04は、EGOUT(K)×TRAM(X)を計算し、
計算結果MPYOを出力する。上記乗算結果MPYO
は、4クロック後に乗算器804から出力されセレクタ
E805に入力するが、その時点ではセレクタE805
は乗算結果MPYOを選択出力し、セレクタH810は
該セレクタE805からの入力を選択出力する。したが
って、この乗算結果MPYOが加減算器812に入力す
る。
結果FAOを選択出力する。したがって、加減算器81
2は、MPYO+FAOを計算し、4クロック後に加算
結果を出力する。この加算結果は、TRAM112のフ
ィルタ演算用遅延データD1に書き込まれる。
TRAM112のフィルタ演算用遅延データD2を選択
出力し、セレクタH810はデータ「0」を選択出力す
る。加減算器812は、TRAM(D2)+0を計算
し、加算結果FAOを4クロック後に出力する。これは
フィルタ演算用遅延データD2を次の処理番号6で使用
するためにタイミングを合せるための処理である。ま
た、本処理番号5のスロットでは、上記のフィルタ演算
ための処理以外の処理も行なっているが、ここでは省略
する。
エンベロープ発生器106からのデータEGOUTを選
択出力し、セレクタD802はTRAM112のフィル
タ演算用遅延データD1を選択出力する。EGOUTと
してはフィルタ演算における周波数特性を規定するパラ
メータKが入力する。乗算器804は、EGOUT
(K)×TRAM(D1)を計算し、計算結果MPYO
を出力する。上記乗算結果MPYOは、4クロック後に
乗算器804から出力されセレクタE805に入力する
が、その時点ではセレクタE805は乗算結果MPYO
を選択出力し、セレクタH810は該セレクタE805
からの入力を選択出力する。したがって、この乗算結果
MPYOが加減算器812に入力する。
結果FAOを選択出力する。したがって、加減算器81
2は、MPYO+FAOを計算し、4クロック後に加算
結果を出力する。この加算結果は、TRAM112のフ
ィルタ演算用遅延データD2に書き込まれる。この書き
込みデータD2が、フィルタ演算の結果である。
のみで処理番号別に示す。
IT2) TRAM(D1)+0→FAO 4.EGOUT(K)×TRAM(X)→MPYO MPYO+FAO→TRAM(D1) 5.(その他の処理) TRAM(D2)+0→FAO 6.EGOUT(K)×TRAM(D1)→MPYO MPYO+FAO→TRAM(D2)
リズムを示す。上記処理番号1は、遅延部1007で遅
延したデータD1にqを乗算し(1009)、マイナス
を付けて、加算部1001で入力データNINと加算す
る処理に相当する。処理番号2は、遅延部1008で遅
延したデータD2にマイナスを付けて、加算部1002
で加算部1001の出力データに加算する処理に相当す
る。処理番号3と4は、加算部1002の出力データに
エンベロープ発生器106からのパラメータKを乗算
(1003)し、遅延データD1と加算(1004)す
る部分に相当する。処理番号5と6は、加算部1004
の出力データにエンベロープ発生器106からのパラメ
ータKを乗算(1005)し、遅延データD2と加算
(1006)する部分に相当する。
記載されたスロットは、時分割チャンネル出力累算処理
を行なうタイムスロットを示している。この処理の処理
番号1〜7の処理について説明する。
用スロットを使ってTRAM112の遅延データD2、
すなわち上記フィルタ演算の結果データD2をラッチ8
03にラッチしておく。
データEGOUTを選択出力し、セレクタD802はラ
ッチ803のデータを選択出力する。このときエンベロ
ープ発生器106から出力されるEGOUTは、リバー
ブ用のエンベロープデータEGREVである。乗算器8
04は、EGOUT(EGREV)×ラッチ803のデ
ータを計算し、計算結果MPYOを出力する。この乗算
結果MPYOは、4クロック後に乗算器804から出力
されセレクタE805に入力するが、その時点ではセレ
クタE805は乗算結果MPYOを選択出力し、セレク
タH810は該セレクタE805からの入力を選択出力
する。したがって、この乗算結果MPYOが加減算器8
12に入力する。
のリバーブ用累算値REVを選択出力する。なお、第1
チャンネルの処理のときに、TRAM112のリバーブ
用累算値REVの領域はゼロクリアしておく。加減算器
812は、MPYO+TRAM(REV)を計算し、4
クロック後に加算結果を出力する。この加算結果は、再
びTRAM112のリバーブ用累算値REVに格納され
る。以上のようにして、各チャンネルの波形データにリ
バーブ用エンベロープデータEGREVを乗算して累算
し、全チャンネルについて累算した結果を得る。累算結
果は、TRAM112のリバーブ用累算値REVに格納
されていることになる。
と以下のようになる。
演算結果データ→MPYO MPYO+TRAM(REV)→TRAM(REV)
理番号1と同じである。ただし、EGOUTは、リバー
ブ用エンベロープデータEGREVの代わりに、それぞ
れ、ドライL用エンベロープデータEGDL、ドライR
用エンベロープデータEGDR、コーラスL用エンベロ
ープデータEGCHL、コーラスR用エンベロープデー
タEGCHR、バリエーションL用エンベロープデータ
EGVAL、およびバリエーションR用エンベロープデ
ータEGを用いる。これらのエンベロープデータは、そ
れぞれ処理番号2〜7のタイミングでエンベロープ発生
器106から出力される。また、TRAM112内の累
算値を格納する領域は、リバーブ用累算値REVの代わ
りに、それぞれ、ドライL用累算値DL、ドライR用累
算値DR、コーラスL用累算値CHL、コーラスR用累
算値CHR、バリエーションL用累算値VAL、および
バリエーションR用累算値VARの各領域を用いる。
算結果データ→MPYO MPYO+TRAM(DL)→TRAM(DL) 3.EGOUT(EGDR)×フィルタ演算結果データ
→MPYO MPYO+TRAM(DR)→TRAM(DR) 4.EGOUT(EGCHL)×フィルタ演算結果デー
タ→MPYO MPYO+TRAM(CHL)→TRAM(CHL) 5.EGOUT(EGCHR)×フィルタ演算結果デー
タ→MPYO MPYO+TRAM(CHR)→TRAM(CHR) 6.EGOUT(EGVAL)×フィルタ演算結果デー
タ→MPYO MPYO+TRAM(VAL)→TRAM(VAL) 7.EGOUT(EGVAR)×フィルタ演算結果デー
タ→MPYO MPYO+TRAM(VAR)→TRAM(VAR)
ロットは、波形演算部104によるエフェクト演算処理
を行なうタイムスロットを示している。波形演算部10
4によるエフェクト演算処理は、従来のディジタル・シ
グナル・プロセッサ(DSP)で行なわれていたエフェ
クト演算処理と同様の処理である。すなわち、MPM1
11(図1)のマイクロプログラムが1ステップずつ図
9の○印のスロットで読み出され、該マイクロプログラ
ムにより波形演算部104の各部が制御されてエフェク
ト演算動作を行なう。
累算処理によりTRAM112に7系統の累算値が設定
されているから、それらの累算値をセレクタD802を
介して乗算器804に入力し、CRAM113から係数
データCOEFを読み出してセレクタC801を介して
乗算器804に入力する。そして、乗算結果をセレクタ
E805およびセレクタH810を介して(あるいはセ
レクタG808を介して可変シフタ809でシフトし
て)、加減算器812に入力し加減算を行なう。加減算
器812のもう一方の入力としては、加減算器812の
出力、あるいはTRAM112の累算値やエフェクト演
算用テンポラリデータを用いる。加減算の結果は、加減
算器812の入力側に戻したり、TRAM112とセレ
クタD802を介して乗算器804の入力側に戻すこと
ができる。さらに、加減算器812の計算結果に応じて
乗数発生部813で乗数YMを発生し、セレクタC80
1を介してその乗数YMを乗算器804に入力すること
もできる。以上のようにして、従来のDSPと同様にエ
フェクト演算を行なうことができる。
数点データと浮動小数点データとの相互の変換を行なえ
るように可変シフタ809を備えている。遅延用DRA
M209に格納されるデータなどは浮動小数点データで
あるが、加減算は固定小数点データに施すからである。
データCOEFが浮動小数点データであるときは、係数
データCOEFの指数部(上位5ビット)をセレクタF
807を介して可変シフタ809にシフト量として入力
し、係数データCOEFの仮数部(下位10ビット)を
乗算器804に入力して乗算を行ない、乗算結果はセレ
クタE805およびセレクタG808を介して可変シフ
タ809に入力する。そして、可変シフタ809でその
乗算結果を係数データCOEFの指数部に応じてシフト
して固定小数点データに変換する。
た浮動小数点データを固定小数点データに変換するとき
は、以下のようにする。まず、遅延用DRAM209か
らの読み出しは高速ページモードで4ビット×4回で行
なわれるので、DRAMI/O806でそれらを結合し
て16ビットの浮動小数点データに変換し、その指数部
EXP1はセレクタF807を介して可変シフタ809
にシフト量として入力する。仮数部は、セレクタG80
8を介して可変シフタ809に入力し、指数部EXP1
に応じてシフトして固定小数点データに変換する。
ータの出力を浮動小数点データに変換するときは、以下
のようにする。まず、加減算器812からの固定小数点
データの出力を指数発生部814に入力する。指数発生
部814は、入力した固定小数点データから指数部EX
P2を求めるとともに、入力データをスルーしてセレク
タG808を介して可変シフタ809に入力するように
する。可変シフタ809は、その入力データを指数部E
XP2に応じてシフトアップし、仮数部を生成する。そ
の仮数部は可変シフタ809からDRAMI/O815
に入力し、また指数発生部814から指数部EXP1
(これはEXP2の符号を変えたもの、すなわち−EX
P2である)がDRAMI/O815に入力する。DR
AMI/O815は、入力した浮動小数点データを高速
ページモードで4ビット×4回でDRAM209に書き
込む。
て施すもので、時分割32チャンネルの処理とは関係が
ない。図9に示したように1チャンネル分の24クロッ
ク分をみると、そのうちの6クロックでエフェクト演算
を行なう。具体的には、1DACサイクルの全192ク
ロック(6クロック×32)を用いて、192ステップ
分のマイクロプログラム動作を行ない、これにより7系
列の累算結果を入力して1つのエフェクト結果(図11
の出力OUT_LとOUT_R)を生成する。アドレス
発生部102では24クロックで2回の遅延用DRAM
209のアドレス発生を行なうようになっていたから、
これをマイクロプログラム側からみると3ステップに1
回、遅延用DRAM209へのデータ書き込み/読み出
しができることになる。
ェクト演算により実現されるエフェクタの機能を表すブ
ロック図である。大きく分けて、リバーブ、コーラス、
およびバリエーション部がある。なお、エフェクト演算
の出力信号OUT_LおよびOUT_Rは、図8のTR
AM112から図3の出力制御部(パラレルシリアル変
換器)310に送出される。図11のエフェクタにおけ
る複数の入力は、それぞれ、先に説明した累算値DL,
DR,…,VARに1対1で対応しており、各入力には
各累算値の全発音チャンネルにわたる累算結果がサンプ
リング周期毎に入力される。また、図11のバリエーシ
ョンのブロック中の4つの枠の記載、すなわちコーラス
(Chorus)その他、フェーザー(Phase
r)、初期反射(ER)+ディストーション(Dis
t.)、リバーブ(Reverb)+ワウ(Wah)
が、それぞれ、図13のエフェクトプログラムの4つの
バリエーションVA1,VA2,VA3,VA4と対応
している。
制御クロックを発生する波形演算部制御クロック発生部
の構成を示す。波形演算部制御クロック発生部は、タイ
ミング発生器1201、マイクロプログラム(MP)ア
ドレス発生回路1202、マイクロプログラムROM1
11(図1のMPM)、および制御クロックセレクタ1
204を備えている。
ットに1回(すなわち、図9の行904に示した○印の
スロットで)マイクロプログラムROM111から出力
されるマイクロプログラムを選択出力する。それ以外の
スロットでは、セレクタ1204によりタイミング発生
器1201に切換えて、音源としての動作をするための
各種の信号を出力する。タイミング発生器1201で
は、マイクロプログラムのアドレスのベースとなるカウ
ント値や、エフェクト演算以外の演算(補間演算、フィ
ルタ演算、出力累算演算)動作のための制御クロックを
発生する。
1が格納しているエフェクトプログラムを示す。エフェ
クトは、図11でも示したように、バリエーション、コ
ーラス、およびリバーブの3系統から構成される。バリ
エーションについては、4つの異なるプログラム130
1〜1304のうちから1つを選択可能になっている。
おけるメインルーチンのフローチャートである。この電
子楽器の電源がオンされると、CPU204は、まずス
テップS1で各種の初期設定を行ない、ステップS2で
鍵処理を行なう。これは、鍵盤201の鍵操作を検出
し、その操作に応じた処理を行なうものである。ステッ
プS3では、パネルスイッチ処理を行なう。これは、パ
ネルスイッチ203の操作を検出し、その操作に応じた
処理を行なうものである。ステップS3の後、ステップ
S2に戻る。
ンのフローチャートである。図1のステップS2の鍵処
理において鍵盤201の何れかの鍵が押下されると本キ
ーオンイベントルーチンが実行される。まず、ステップ
S11で、発音すべき楽音の音色番号をレジスタTC
に、ノート番号をレジスタNNに、それぞれセットす
る。ステップS12では、発音チャンネルを割り当て
る。割当てた発音チャンネルのナンバはレジスタiにセ
ットする。次に、ステップS13で、音色番号TCおよ
びノート番号NNに応じた音色データを音源部207の
第iチャンネルの制御レジスタ101に書き込む。ステ
ップS14では、ARAM114の第iチャンネルの現
アドレス下位ADLおよび上位ADHにスタートアドレ
スをセットする。次に、ステップS15でTRAM11
2の第iチャンネルの遅延データD1,D2をクリアし
て、ステップS16で制御レジスタのiチャンネルにノ
ートオンを送出する。これにより、既に説明したような
動作による楽音の発生を開始する。
ルーチンのフローチャートである。図1のステップS3
のパネルスイッチ処理においてパネル上のエフェクト選
択スイッチが押下されると本エフェクト選択イベントル
ーチンが実行される。まず、ステップS21で、ユーザ
が選択したエフェクトの番号をレジスタENにセットす
る。次に、ステップS22で現在発音されている音をミ
ュートし、ステップS23で遅延用DRAM209、お
よびTRAM112のテンポラリデータをクリアする。
ステップS24では、選択されたエフェクトENに基づ
いて、用いるべきバリエーションのマイクロプログラム
の選択情報VALSELを設定する。このVALSEL
に応じて、図13の4つの異なるプログラム1301〜
1304のうちから1つが決定される。次に、ステップ
S25で係数メモリCRAM113にエフェクトENの
各ステップの係数を設定する。そして、ステップS26
でミュートをオフする。
よって各時分割チャンネルごとの補間処理やフィルタ演
算を行なうとともに、フィルタ演算の結果である各時分
割チャンネルの出力に対するチャンネル累算およびエフ
ェクト演算を波形演算部104によって時分割で行なう
ようにしている。各時分割チャンネルの出力は、TRA
M112を介してチャンネル累算処理に受渡される。ま
た、チャンネル累算の結果は、やはりTRAM112を
介してエフェクト演算処理に受渡される。したがって、
波形演算部内部でデータの受渡しが行なわれるので、波
形演算部回りの構成が単純化できる。
を行うこともできる。その場合、波形メモリには各オペ
レータの基本波形となる1周期分の波形データを記憶さ
せ、アドレス発生器の発生するアドレスを位相データと
して利用する。そして、波形演算部の出力する波形デー
タを、セレクタ602に入力データの1つとして供給
し、発生した該位相データに対するFM変調演算を行
う。
リエーション、コーラス、リバーブ等のエフェクト処理
に以外に、物理モデル演算、回帰型演算等の楽音生成処
理や、櫛形フィルタ演算、補間フィルタ演算等のフィル
タ処理に適用しても良い。
理、時分割チャンネル解除処理、およびサンプリング周
期処理を1つの波形演算手段で実行することができるの
で、全体の構成が簡単になる。また、簡単な構成で、チ
ャンネル毎に異なる効果付与処理を行なうことができ
る。チャンネル毎の波形データを、効果付与処理の異な
る機能ブロックに選択的に出力することができる。簡単
な構成で効果のバリエーションを広げることができる。
ログラムは、他のプログラムと並列で動作しているた
め、処理の進行が比較的遅い。したがって、遅延用メモ
リのアクセスもスピードを要求しないので、短いビット
数で複数回に分けてアクセスすることが可能となり、遅
延用メモリのビット数を小さくすることができる。1つ
の記憶手段を3つのプログラムで共用することにより、
構成が簡単となり、かつ、3つのプログラム間で容易に
データの受け渡しができる。第1プログラム、第2プロ
グラムと並列実行しているにもかかわらず、第3プログ
ラムの内容のみを他のプログラムに影響を与えず変更で
きる。
ア的なブロック構成図
ロック構成図
的な流れ図
フェクトプログラムを示す図
ン、およびエフェクト選択イベントルーチンのフローチ
ャート図
3…圧縮解除部、104…波形演算部、105…DAC
インターフェース(DACI/O)、106…エンベロ
ープ発生器、201…鍵盤、202…表示部、203…
スイッチ群(SW)、204…中央処理装置(CP
U)、205…リードオンリメモリ(ROM)、206
…ランダムアクセスメモリ(RAM)、207…音源
部、208…波形メモリ、209…遅延用ダイナミック
RAM(DRAM)、210…ディジタルアナログ変換
器(DAC)、211…サウンドシステム(SS)、2
12…CPUバス。
Claims (9)
- 【請求項1】中央処理装置からの命令を受けて、ディジ
タル楽音波形を出力する音源装置であって、複数チャンネルの波形データを生成するための 第1プロ
グラムと、複数ブロックの効果付与処理を行なうための
第2プログラムとを記憶した記憶手段と、 前記第1プログラム、および前記第2プログラムを時分
割で並行して実行する波形演算手段であって、前記波形演算手段は、楽音のサンプリング周期をチャン
ネル数分に分割した第1の時分割タイミングで前記第1
プログラムを実行することにより、前記サンプリング周
期毎に複数チャンネルの波形データを生成出力する一
方、前記サンプリング周期をエフェクトブロック数分に
分割した、前記第1の時分割タイミングとは異なる、第
2の時分割タイミングで、前記第2プログラムを実行す
ることにより、前記サンプリング周期毎に生成された前
記複数チャンネルの波形データに対し複数ブロックの効
果付与処理を行なう ことを特徴とする音源装置。 - 【請求項2】中央処理装置からの命令を受けて、ディジ
タル楽音波形を出力する音源装置であって、 複数チャンネルの波形データを生成するための第1プロ
グラムと、チャンネル累算処理を行なう第2プログラム
と、複数ブロックの効果付与処理を行なうための第3プ
ログラムとを記憶した記憶手段と、 前記第1プログラム、前記第2プログラム、および前記
第3プログラムを時分割で並行して実行する波形演算手
段であって、 前記波形演算手段は、楽音のサンプリング周期をチャン
ネル数分に分割した第1の時分割タイミングで前記第1
プログラムを実行することにより複数チャンネルの波形
データを生成出力し、同第1の時分割タイミングで前記
第2プログラムを実行することにより時分割チャンネル
周期で出力される前記各チャンネルの波形データを全チ
ャンネルにわたり累算して累算結果を出力し、前記サン
プリング周期をエフェクトブロック数分に分割した、前
記第1の時分割タイミングとは異 なる、第2の時分割タ
イミングで、前記第3プログラムを実行することによ
り、前記累算結果に対し複数ブロックの効果付与処理を
実行することを特徴とする 音源装置。 - 【請求項3】中央処理装置からの命令を受けて、ディジ
タル楽音波形を出力する音源装置であって、 複数チャンネルの波形データを生成するための複数の各
時分割チャンネルにおける処理を行なう第1プログラム
と、複数ブロックの効果付与処理を行なう第2プログラ
ムとを記憶した記憶手段と、 生成する前記波形データおよび前記楽音データのサンプ
リング周期内で時分割で、前記第1プログラム、および
前記第2プログラムを互いに並列実行する波形演算手段
であって、前記第1プログラムでは、時分割チャンネル
周期で各チャンネルの波形データを生成出力し、前記第
2プログラムでは、サンプリング周期毎に生成された前
記複数チャンネルの波形データに対し前記発音チャンネ
ル数とは異なる数の複数ブロックの効果付与処理を行な
うものとを備えたことを特徴とする音源装置。 - 【請求項4】中央処理装置からの命令を受けて、ディジ
タル楽音波形を出力する音源装置であって、 複数チャンネルの波形データを生成するための複数の各
時分割チャンネルにおける処理を行なう第1プログラム
と、チャンネル累算処理を行なう第2プログラムと、複
数ブロックの効果付与処理を行なう第3プログラムとを
記憶した記憶手段と、 生成する前記波形データおよび前記楽音データのサンプ
リング周期内で時分割で、前記第1プログラム、前記第
2プログラム、および前記第3プログラムを互いに並列
実行する波形演算手段であって、前記第1プログラムで
は、時分割チャンネル周期で各チャンネルの波形データ
を生成出力し、前記第2プログラムでは、時分割チャン
ネル周期で出力される前記各チャンネルの波形データに
対して累算を行ない発音チャンネル数とは異なる数の複
数の累算結果を出力し、前記第3 プログラムでは、前記
累算結果に対して効果付与処理を実行し、発音チャンネ
ル数とは異なる複数系列の、効果の付与された楽音デー
タを出力するものとを備えたことを特徴とする音源装
置。 - 【請求項5】前記第1プログラムは、サンプル補間演算
およびフィルタ処理のうちの少なくとも1つを含み、チ
ャンネル毎に生成される波形データに対する所望の楽音
特性付与を行なう請求項1から4の何れか1つに記載の
音源装置。 - 【請求項6】請求項1もしくは3に記載の第2プログラ
ムまたは請求項2もしくは4に記載の第3プログラムで
は、前記複数ブロックのうちの少なくとも1つのブロッ
クにおいて、当該ブロックの効果付与処理の内容を変更
可能になっている請求項1から4の何れか1つに記載の
音源装置。 - 【請求項7】さらに遅延用メモリを備え、請求項1もしくは3に記載の第2プログラムまたは請求
項2もしくは4に記載の 第3プログラムは、前記遅延用
メモリを用いた波形データの遅延処理を含む効果付与処
理を行ない、該効果付与処理において、書き込み時は、
所定ビット数の波形データを短いビット数の複数データ
に分割して前記遅延用メモリに書き込み、読み出し時
は、前記遅延用メモリから前記短いビット数の複数デー
タを読み出し、元の所定ビット数のデータを合成する請
求項1から4の何れか1つに記載の音源装置。 - 【請求項8】前記波形演算手段は、前記第1プログラム
と前記第2プログラムと前記第3プログラムがそれぞれ
アクセス可能な共通記憶手段を備えており、前記共通記
憶手段を介することにより、各プログラム間でデータの
受け渡しが行なわれる請求項2または4に記載の音源装
置。 - 【請求項9】さらに効果選択手段を備え、 前記波形演算手段は、前記効果選択手段による選択に応
じて、前記第1プログラムおよび前記第2プログラムに
は変更を加えず、前記第3プログラムのみを変更して実
行する請求項2または4に記載の音源装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7198117A JP3016470B2 (ja) | 1994-12-30 | 1995-07-11 | 音源装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6-338873 | 1994-12-30 | ||
JP33887394 | 1994-12-30 | ||
JP7198117A JP3016470B2 (ja) | 1994-12-30 | 1995-07-11 | 音源装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11303202A Division JP3104873B2 (ja) | 1994-12-30 | 1999-10-25 | 音源装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08234785A JPH08234785A (ja) | 1996-09-13 |
JP3016470B2 true JP3016470B2 (ja) | 2000-03-06 |
Family
ID=26510771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7198117A Expired - Fee Related JP3016470B2 (ja) | 1994-12-30 | 1995-07-11 | 音源装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3016470B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376857A (zh) * | 2013-08-16 | 2015-02-25 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
JP2018004745A (ja) * | 2016-06-28 | 2018-01-11 | ヤマハ株式会社 | 音データ生成装置および音データ生成方法 |
-
1995
- 1995-07-11 JP JP7198117A patent/JP3016470B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08234785A (ja) | 1996-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101149916B (zh) | 滤波装置以及使用滤波装置的电子乐器 | |
JP2722795B2 (ja) | 楽音合成装置 | |
JP3008922B2 (ja) | 楽音発生装置および楽音発生方法 | |
JPH0883066A (ja) | 電子楽器 | |
JP3016470B2 (ja) | 音源装置 | |
JP3104873B2 (ja) | 音源装置 | |
JP2910632B2 (ja) | 波形メモリ音源装置 | |
JPH01198797A (ja) | 電子楽器 | |
JPH08160961A (ja) | 音源装置 | |
JPH0310959B2 (ja) | ||
JPH0318197B2 (ja) | ||
JP3832383B2 (ja) | 楽音生成装置及びプログラム | |
JP3095018B2 (ja) | 楽音発生装置 | |
JPS6352399B2 (ja) | ||
JP2882464B2 (ja) | 波形メモリ音源装置 | |
JP3552265B2 (ja) | 音源装置および音声信号形成方法 | |
JP3459016B2 (ja) | オーディオ信号処理方法および装置 | |
JP2727089B2 (ja) | 電子楽器の音源装置 | |
JP3832382B2 (ja) | 楽音生成装置及びプログラム | |
JPH0125079B2 (ja) | ||
JP2970438B2 (ja) | 波形メモリ型楽音発生装置 | |
JP2814939B2 (ja) | 波形処理装置 | |
JP2723041B2 (ja) | 楽音発生装置 | |
JPH021314B2 (ja) | ||
JPH0122632B2 (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: 20081224 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081224 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091224 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101224 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101224 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111224 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111224 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121224 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131224 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |