JPH0631984B2 - 楽音発生装置 - Google Patents
楽音発生装置Info
- Publication number
- JPH0631984B2 JPH0631984B2 JP58011865A JP1186583A JPH0631984B2 JP H0631984 B2 JPH0631984 B2 JP H0631984B2 JP 58011865 A JP58011865 A JP 58011865A JP 1186583 A JP1186583 A JP 1186583A JP H0631984 B2 JPH0631984 B2 JP H0631984B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- waveform
- signal
- register
- supplied
- 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
Links
- 230000015654 memory Effects 0.000 claims description 157
- 238000004364 calculation method Methods 0.000 claims description 95
- 230000007704 transition Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 68
- 238000000034 method Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 24
- 230000000694 effects Effects 0.000 description 21
- 239000003990 capacitor Substances 0.000 description 15
- 208000008424 osteofibrous dysplasia Diseases 0.000 description 13
- 210000000056 organ Anatomy 0.000 description 12
- 101100496108 Mus musculus Clec2h gene Proteins 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 8
- 230000000630 rising effect Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 102100038018 Corticotropin-releasing factor receptor 1 Human genes 0.000 description 4
- 101000878678 Homo sapiens Corticotropin-releasing factor receptor 1 Proteins 0.000 description 4
- 101000948733 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Probable phospholipid translocase non-catalytic subunit CRF1 Proteins 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- VQJHOPSWBGJHQS-UHFFFAOYSA-N metoprine, methodichlorophen Chemical compound CC1=NC(N)=NC(N)=C1C1=CC=C(Cl)C(Cl)=C1 VQJHOPSWBGJHQS-UHFFFAOYSA-N 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000000994 depressogenic effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 102100034033 Alpha-adducin Human genes 0.000 description 1
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 1
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 1
- 101100015484 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GPA1 gene Proteins 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- GPXLRLUVLMHHIK-UHFFFAOYSA-N forchlorfenuron Chemical compound C1=NC(Cl)=CC(NC(=O)NC=2C=CC=CC=2)=C1 GPXLRLUVLMHHIK-UHFFFAOYSA-N 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は楽音発生装置に関し、特に、楽音波形の形状を
操作し時間的な変化を施して自然楽器音を模擬する楽音
発生装置に関する。
操作し時間的な変化を施して自然楽器音を模擬する楽音
発生装置に関する。
従来例の構成とその問題点 従来、自然楽器音を模擬するものとして、正弦波合成方
式を用いたもの、周波数変調方式を用いたもの、減算方
式(おもにアナログ処理でVCO,VCF,VCAなどを使用した
もの。)を用いたものなどが提示されているが、回路規
模が大きくなり実現化が困難なものとか、方式上の限界
があるという問題点を有していた。
式を用いたもの、周波数変調方式を用いたもの、減算方
式(おもにアナログ処理でVCO,VCF,VCAなどを使用した
もの。)を用いたものなどが提示されているが、回路規
模が大きくなり実現化が困難なものとか、方式上の限界
があるという問題点を有していた。
発明の目的 本発明の目的は、簡単な構成で自然楽器音を模擬すると
ともに、にごりのない音をつくることができる楽音発生
装置を提供するものである。
ともに、にごりのない音をつくることができる楽音発生
装置を提供するものである。
発明の構成 本発明の楽音発生装置は、楽音の発生開始から発音終了
時までの複数個の楽音波形のうち少なくとも2つ以上の
楽音波形を音域ごとに独立に準備すると共に上記選択抽
出した楽音波形を用いて合成波形を形成する時に使用す
る制御データとを記憶するデータメモリ部と、発音音階
を決定するノートクロツク発生部と、上記ノートクロツ
ク発生部の出力信号と音域指定データに基づいて上記デ
ータメモリ部から2つの波形サンプルデータと制御デー
タとを読み出すデータ読み出し部と、上記データ読み出
し部で読み出した2つの波形サンプルデータと制御デー
タとを用いて合成波形サンプルデータを求める波形計算
部と、上記波形計算部のデイジタル出力信号をアナログ
信号に変換する変換部とを具備し、楽音波形を発生する
ように構成したものであり、楽音波形の形状を時間的に
変化させて自然楽器音に近い楽音波形を発生することが
でき、さらに発生する折り返し成分や量子化により生じ
るサンプル波成分をすべて基本周波数の高調波に一致さ
せることによりにごり音をなくせる。
時までの複数個の楽音波形のうち少なくとも2つ以上の
楽音波形を音域ごとに独立に準備すると共に上記選択抽
出した楽音波形を用いて合成波形を形成する時に使用す
る制御データとを記憶するデータメモリ部と、発音音階
を決定するノートクロツク発生部と、上記ノートクロツ
ク発生部の出力信号と音域指定データに基づいて上記デ
ータメモリ部から2つの波形サンプルデータと制御デー
タとを読み出すデータ読み出し部と、上記データ読み出
し部で読み出した2つの波形サンプルデータと制御デー
タとを用いて合成波形サンプルデータを求める波形計算
部と、上記波形計算部のデイジタル出力信号をアナログ
信号に変換する変換部とを具備し、楽音波形を発生する
ように構成したものであり、楽音波形の形状を時間的に
変化させて自然楽器音に近い楽音波形を発生することが
でき、さらに発生する折り返し成分や量子化により生じ
るサンプル波成分をすべて基本周波数の高調波に一致さ
せることによりにごり音をなくせる。
実施例の説明 以下本発明の一実施例を図面に基づいて説明する。ま
ず、本発明の原理について説明する。第1図に離散的に
抽出した楽音1周期の楽音波形を示す。発音開始時から
の時間経過と楽音波形との関係を下記に示す。
ず、本発明の原理について説明する。第1図に離散的に
抽出した楽音1周期の楽音波形を示す。発音開始時から
の時間経過と楽音波形との関係を下記に示す。
第1図からもわかるように、時間経過と共に楽音波形の
形状が変化している。本発明は、楽音波形の時間的形状
変化という点に着目し、波形の形状に時間変化を施すこ
とにより、自然楽器らしい楽音を発生するものである。
形状が変化している。本発明は、楽音波形の時間的形状
変化という点に着目し、波形の形状に時間変化を施すこ
とにより、自然楽器らしい楽音を発生するものである。
データメモリの記憶内容についての説明 第2図に発音開始時から発音終了時までの楽音波形のエ
ンベロープ包絡状態の一例を示す。第2図に示したエン
ベロープ包絡の発音開始時から発音終了時までをI分割
(I=0,1,…,i,…,I−1)する。そして、各
分割点から選択抽出した楽音波形1周期をそれぞれN分
割する。第3図に選択抽出した楽音波形の一例を示す。
抽出したI個の楽音波形1周期をN分割して得たN個の
波形サンプル値すなわち、N×I個の波形サンプル値
と、楽音を発生する時に使用する制御データ(本発明で
は、波形内挿を行なうための制御データを考えている)
とをデータメモリに記憶しておく。
ンベロープ包絡状態の一例を示す。第2図に示したエン
ベロープ包絡の発音開始時から発音終了時までをI分割
(I=0,1,…,i,…,I−1)する。そして、各
分割点から選択抽出した楽音波形1周期をそれぞれN分
割する。第3図に選択抽出した楽音波形の一例を示す。
抽出したI個の楽音波形1周期をN分割して得たN個の
波形サンプル値すなわち、N×I個の波形サンプル値
と、楽音を発生する時に使用する制御データ(本発明で
は、波形内挿を行なうための制御データを考えている)
とをデータメモリに記憶しておく。
波形内挿方法についての説明 波形内挿方法としては、I分割して選択抽出したサンプ
ル波位置iからi+1(i=0,1,2,…,I−1)
の間を楽音波形1周期がM回くり返して推移するものと
し、波形サンプルf(Xi,n)とf(Xi+1,n)との間に存在す
る仮想サンプル値 を補間演算を用い仮想的に仮想サンプル点の波形サンプ
ル値を算出して近似値を求めるようとするものである。
補間式を下式に示す。
ル波位置iからi+1(i=0,1,2,…,I−1)
の間を楽音波形1周期がM回くり返して推移するものと
し、波形サンプルf(Xi,n)とf(Xi+1,n)との間に存在す
る仮想サンプル値 を補間演算を用い仮想的に仮想サンプル点の波形サンプ
ル値を算出して近似値を求めるようとするものである。
補間式を下式に示す。
iは、I分割して抽出したサンプル位置で、波形ナンバ
である。(i=0,1,2,…,I−1) mは、波形ナンバiからi+1の間をM回繰り返し推移
している途中の位置を表わすものである。(m=0,
1,2,…,M−1) nは、楽音波形1周期をN分割したサンプル位置で波形
サンプルナンドである。
である。(i=0,1,2,…,I−1) mは、波形ナンバiからi+1の間をM回繰り返し推移
している途中の位置を表わすものである。(m=0,
1,2,…,M−1) nは、楽音波形1周期をN分割したサンプル位置で波形
サンプルナンドである。
(n=0,1,2,…,N−1) 第4図(a)に(1)式を用いた補間例を示す。図からもわか
るように、波形のつなぎ目で不連続が発生している。こ
の不連続点のレベル差が大きい場合は、不用なノイズ成
分として聴感上問題となる場合がある。そこで、本実施
例では、(1)式に補正項を加えて第4図(b)に示すように
不連続点の発生を防止している。(2)式に補正項を加え
た補間式を示す。
るように、波形のつなぎ目で不連続が発生している。こ
の不連続点のレベル差が大きい場合は、不用なノイズ成
分として聴感上問題となる場合がある。そこで、本実施
例では、(1)式に補正項を加えて第4図(b)に示すように
不連続点の発生を防止している。(2)式に補正項を加え
た補間式を示す。
エンベロープの付加方法についての説明 楽音の種類として、オルガン型エンベロープとピアノ型
エンベロープがある。第5図にオルガン型とピアノ型の
エンベロープを付加した一例を示す。図中(a)はオルガ
ン型、(b)はピアノ型である。
エンベロープがある。第5図にオルガン型とピアノ型の
エンベロープを付加した一例を示す。図中(a)はオルガ
ン型、(b)はピアノ型である。
この説明では、前述までと違いデータメモリに記憶して
いる波形は、発音終了時までの波形ではなく楽音の定常
部あるいは波形の形状が安定した所までを持ち、以後の
波形発生はデータメモリに記憶している最後の波形をく
り返し使用するものとする。
いる波形は、発音終了時までの波形ではなく楽音の定常
部あるいは波形の形状が安定した所までを持ち、以後の
波形発生はデータメモリに記憶している最後の波形をく
り返し使用するものとする。
オルガン型の説明 第5図中A点でキー信号がオン状態となると、データメ
モリの波形データを用い波形内挿を行なつて楽音を合成
する。そして、B点まで時間が進むと最終波形データと
なり、以後最終波形がくり返し発生する。その後、C点
でキー信号がオフ状態になると、エンベロープ信号は減
衰特性となり、出力波形は減衰することになる。
モリの波形データを用い波形内挿を行なつて楽音を合成
する。そして、B点まで時間が進むと最終波形データと
なり、以後最終波形がくり返し発生する。その後、C点
でキー信号がオフ状態になると、エンベロープ信号は減
衰特性となり、出力波形は減衰することになる。
ピアノ型の説明 第5図中A点でキー信号がオン状態となると、データメ
モリの波形データを用い波形内挿を行なつて楽音を合成
する。そして、B点まで進むと最終波形データとなり、
以後最終波形データをくり返し使用するとともに、エン
ベロープ信号が減衰特性状態となり、出力波形は減衰特
性に対応して減衰して行く。
モリの波形データを用い波形内挿を行なつて楽音を合成
する。そして、B点まで進むと最終波形データとなり、
以後最終波形データをくり返し使用するとともに、エン
ベロープ信号が減衰特性状態となり、出力波形は減衰特
性に対応して減衰して行く。
音程の発生方法についての説明 音階の決定については、12音階に相当するクロツク信号
を発生する。オクターブ関係については、データメモリ
に記憶している楽音波形1周期のサンプル数をかえるこ
とによりオクターブ関係の音程を発生している。
を発生する。オクターブ関係については、データメモリ
に記憶している楽音波形1周期のサンプル数をかえるこ
とによりオクターブ関係の音程を発生している。
C0音を512サンプルとすると、音階クロツク信号は、32.
703Hz×512サンプル≒16.74KHzとなる。第1表に音階ク
ロツク周波数を、第2表に波形サンプル数とオクターブ
関係について示す。
703Hz×512サンプル≒16.74KHzとなる。第1表に音階ク
ロツク周波数を、第2表に波形サンプル数とオクターブ
関係について示す。
次に本発明の一実施例について図面を参照しながら説明
する。第6図は本発明の楽音発生装置を採用した電子楽
器のブロツク図である。(601)は鍵盤部(KB)、(602)は音
色タブレツトスイツチやビブラート効果のオンオフスイ
ツチやグライド効果のオンオフスイツチなどにより構成
される操作部(TAB)、(603)は中央処理装置(CPU)で、コ
ンピユータなどに用いられているものと同様のもの、(6
04)は読み書き可能な記憶装置(ランダムアクセスメモ
リでRAMと呼ぶ)、(605)はCPU(603)の動作を決定するプ
ログラムが格納された読み出し専用記憶装置(シードオ
ンリーメモリでROMと呼ぶ)、(606)は楽音の合成を行な
うための波形サンプルデータや波形内挿を行なうための
制御データなどを記憶しているROMである。(607)はROM
(606)に記憶している波形サンプルデータや制御データ
を用いて楽音を発生する楽音発生部、(608)はサンプリ
ングノイズを除去するフイルタ、(609)は電気音響変換
器である。
する。第6図は本発明の楽音発生装置を採用した電子楽
器のブロツク図である。(601)は鍵盤部(KB)、(602)は音
色タブレツトスイツチやビブラート効果のオンオフスイ
ツチやグライド効果のオンオフスイツチなどにより構成
される操作部(TAB)、(603)は中央処理装置(CPU)で、コ
ンピユータなどに用いられているものと同様のもの、(6
04)は読み書き可能な記憶装置(ランダムアクセスメモ
リでRAMと呼ぶ)、(605)はCPU(603)の動作を決定するプ
ログラムが格納された読み出し専用記憶装置(シードオ
ンリーメモリでROMと呼ぶ)、(606)は楽音の合成を行な
うための波形サンプルデータや波形内挿を行なうための
制御データなどを記憶しているROMである。(607)はROM
(606)に記憶している波形サンプルデータや制御データ
を用いて楽音を発生する楽音発生部、(608)はサンプリ
ングノイズを除去するフイルタ、(609)は電気音響変換
器である。
鍵盤部(601)、操作部(602)、CPU(603)、RAM(604)、ROM
(605)(606)、楽音発生部(607)はデータバス、アドレス
バスおよびコントロール線で結合されている。このよう
にデータバスとア ドレスバスとコントロール線とで結合する方法そのもの
は、ミニコンピユータやマイクロコンピユータを中心と
した構成方法として公知のものである。データバスとし
ては8〜16本位用いられ、このバス線上をデータが一方
向でなく多方向に時分割的に送受信される。アドレスバ
スも複数本たとえば16本用意され、通常はCPU(603)がア
ドレスコードを出力し、他の部分がアドレスコードを受
き取る。コントロール線は通常メモリ・リクエスト線
(▲詔▼)、I/Oリクエスト線(▲
▼)、リード線(▲▼)、ライト線(▲▼)な
どが用いられる。
(605)(606)、楽音発生部(607)はデータバス、アドレス
バスおよびコントロール線で結合されている。このよう
にデータバスとア ドレスバスとコントロール線とで結合する方法そのもの
は、ミニコンピユータやマイクロコンピユータを中心と
した構成方法として公知のものである。データバスとし
ては8〜16本位用いられ、このバス線上をデータが一方
向でなく多方向に時分割的に送受信される。アドレスバ
スも複数本たとえば16本用意され、通常はCPU(603)がア
ドレスコードを出力し、他の部分がアドレスコードを受
き取る。コントロール線は通常メモリ・リクエスト線
(▲詔▼)、I/Oリクエスト線(▲
▼)、リード線(▲▼)、ライト線(▲▼)な
どが用いられる。
▲▼はメモリを読み書きすることを示し、▲
▼は入出力装置(I/O)の内容を取り出しすること
を示し、▲▼はメモリやI/Oからデータを読み出す
タイミングを示し、▲▼はメモリやI/Oにデータを
書き込むタイミングを示す。このようなコントロール線
を用いたものとしては、ザイログ社のマイクロプロセツ
サZ80があげられる。
▼は入出力装置(I/O)の内容を取り出しすること
を示し、▲▼はメモリやI/Oからデータを読み出す
タイミングを示し、▲▼はメモリやI/Oにデータを
書き込むタイミングを示す。このようなコントロール線
を用いたものとしては、ザイログ社のマイクロプロセツ
サZ80があげられる。
次に第6図の電子楽器の動作について述べる。鍵盤部(6
01)は、複数の鍵スイツチを複数の群に分けて、群内の
鍵スイツチのオン/オフ状態を一括してデータバスに送
ることができるように構成される。たとえば61鍵の鍵盤
の場合、6鍵(半オクターブ)ずつの10群と1鍵の1群
の11群に分け、各群にアドレスコードを1つずつ割りつ
ける。アドレスラインに上記各群のうちの1つを示すア
ドレスコードが到来し、信号▲▼と信号▲
▼が印加されると、鍵盤部(601)はそのアドレスコード
を解読して、対応する群内のキースイツチのオン/オフ
を示す6ビツトまたは1ビツトのデータをデータバスに
出力する。これらは、デコーダ、バスドライバおよび若
干のゲート回路を用いて構成することができる。操作部
(602)のうち、ダブレツトスイツチについては、鍵盤部
(601)と同様の構成をとることができる。
01)は、複数の鍵スイツチを複数の群に分けて、群内の
鍵スイツチのオン/オフ状態を一括してデータバスに送
ることができるように構成される。たとえば61鍵の鍵盤
の場合、6鍵(半オクターブ)ずつの10群と1鍵の1群
の11群に分け、各群にアドレスコードを1つずつ割りつ
ける。アドレスラインに上記各群のうちの1つを示すア
ドレスコードが到来し、信号▲▼と信号▲
▼が印加されると、鍵盤部(601)はそのアドレスコード
を解読して、対応する群内のキースイツチのオン/オフ
を示す6ビツトまたは1ビツトのデータをデータバスに
出力する。これらは、デコーダ、バスドライバおよび若
干のゲート回路を用いて構成することができる。操作部
(602)のうち、ダブレツトスイツチについては、鍵盤部
(601)と同様の構成をとることができる。
CPU(603)はその内部にあるプログラムカウンタのコード
に対応するROM(605)のアドレスから命令コードを読み取
り、これを解読して算術演算、論理演算、データの読み
込みと書き込み、プログラムカウンタの内容の変更によ
る命令のジヤンプなどの作業を行なう。これらの作業の
手順はROM(605)に書き込まれている。まずCPU(603)はRO
M(605)より鍵盤部(601)のデータを取り込むための命令
を読み取り、鍵盤部(601)の各鍵のオン/オフを示すコ
ードを各群ごとに取り込んで行く。そして、押鍵されて
いる鍵コードを、楽音発生部(607)の有限のチヤネルに
割り当て鍵コードに対応する楽音発生データを送出す
る。
に対応するROM(605)のアドレスから命令コードを読み取
り、これを解読して算術演算、論理演算、データの読み
込みと書き込み、プログラムカウンタの内容の変更によ
る命令のジヤンプなどの作業を行なう。これらの作業の
手順はROM(605)に書き込まれている。まずCPU(603)はRO
M(605)より鍵盤部(601)のデータを取り込むための命令
を読み取り、鍵盤部(601)の各鍵のオン/オフを示すコ
ードを各群ごとに取り込んで行く。そして、押鍵されて
いる鍵コードを、楽音発生部(607)の有限のチヤネルに
割り当て鍵コードに対応する楽音発生データを送出す
る。
次にCPU(603)はは操作部(602)よりデータを取り込むた
めの一群の命令を順次ROM(605)から読み取り、これらを
解読して操作部(602)に対応するアドレスコードとコン
トロール信号▲▼と▲▼を出力し、データ
バスに操作部(602)のスイツチの状態を表現するコード
を出力させ、CPU(603)内に読み込む。CPU(603)内に読み
込んだデータに基づいて、音色の選択や所定の効果制御
データの生成を行ない、ROM(606)に音色選択データ、楽
音発生部(607)に効果制御データを送出する。なお、押
鍵されている鍵コードを楽音発生部(607)の有限のチヤ
ネルに割り当ててゆく方法そのものは、ジエネレータア
サイナ機能として公知のものである。
めの一群の命令を順次ROM(605)から読み取り、これらを
解読して操作部(602)に対応するアドレスコードとコン
トロール信号▲▼と▲▼を出力し、データ
バスに操作部(602)のスイツチの状態を表現するコード
を出力させ、CPU(603)内に読み込む。CPU(603)内に読み
込んだデータに基づいて、音色の選択や所定の効果制御
データの生成を行ない、ROM(606)に音色選択データ、楽
音発生部(607)に効果制御データを送出する。なお、押
鍵されている鍵コードを楽音発生部(607)の有限のチヤ
ネルに割り当ててゆく方法そのものは、ジエネレータア
サイナ機能として公知のものである。
楽音発生部(607)ではCPU(603)から供給された楽音発生
データに基づいて、楽音合成データROM(606)から所定の
波形サンプルデータや制御データを取り込み波形内挿処
理を行なつて楽音波形を発生し、フイルタ(608)を介し
て電気音響変換器(609)から楽音を発生させる。なお、
楽音発生部(607)の内部処理としては前述に説明したと
おりである。
データに基づいて、楽音合成データROM(606)から所定の
波形サンプルデータや制御データを取り込み波形内挿処
理を行なつて楽音波形を発生し、フイルタ(608)を介し
て電気音響変換器(609)から楽音を発生させる。なお、
楽音発生部(607)の内部処理としては前述に説明したと
おりである。
第7図にCPU(603)から楽音発生部(607)にデータを供給
する場合のタイムチヤートを示す。アドレスバスにI/O
ポートアドレスを、データバスに楽音発生データや効果
制御データなどをそれぞれ供給する。そして、コントロ
ール信号▲▼と▲▼が論理ロウレベル(以
下“O”と略す)から論理ハイレベル(以下“1”と略
す)へ変化するタイミングで、I/Oポートアドレスで指
定されているチヤネルにデータバスの内容をラツチす
る。
する場合のタイムチヤートを示す。アドレスバスにI/O
ポートアドレスを、データバスに楽音発生データや効果
制御データなどをそれぞれ供給する。そして、コントロ
ール信号▲▼と▲▼が論理ロウレベル(以
下“O”と略す)から論理ハイレベル(以下“1”と略
す)へ変化するタイミングで、I/Oポートアドレスで指
定されているチヤネルにデータバスの内容をラツチす
る。
次に、楽音発生部(607)に供給される各種のデータにつ
いての説明を行なう。
いての説明を行なう。
第8表にI/Oポートアドレスと各種データの内容を示
す。I/Oポートアドレスは16進表示となつている。I/Oポ
ートアドレス(00)16から(07)16に対応するデータは、楽
音発生データで8チヤネル分すなわち、8音分の発生が
可能となつている。I/Oポートアドレス(08)16はサステ
インデータで、第5図で説明したエンベロープ信号の減
衰特性を指定するものである。I/Oポートアドレス(09)
16はエンベロープ特性がピアノ型の時に有効となるダン
パデータで、サステインデータと同様エンベロープ信号
の減衰特性を指定するものである。I/Oポートアドレス
(OA)16はビートデータで、2楽音発生時の周波数のずれ
を指定するものである。I/Oポートアドレス(OB)16は効
果制御データで、ビブラートオン/オフ信号やグライド
オン/オフ信号などで構成している。
す。I/Oポートアドレスは16進表示となつている。I/Oポ
ートアドレス(00)16から(07)16に対応するデータは、楽
音発生データで8チヤネル分すなわち、8音分の発生が
可能となつている。I/Oポートアドレス(08)16はサステ
インデータで、第5図で説明したエンベロープ信号の減
衰特性を指定するものである。I/Oポートアドレス(09)
16はエンベロープ特性がピアノ型の時に有効となるダン
パデータで、サステインデータと同様エンベロープ信号
の減衰特性を指定するものである。I/Oポートアドレス
(OA)16はビートデータで、2楽音発生時の周波数のずれ
を指定するものである。I/Oポートアドレス(OB)16は効
果制御データで、ビブラートオン/オフ信号やグライド
オン/オフ信号などで構成している。
第4表に楽音発生データの構成内容を示す。ビツト位置
D0からD3は音階周波数を指定するノートクロツク指
定データである。ビツト位置D4 〜D6は発生音域を指定する波形サンプル数指定データ
である。ビツト位置D7は鍵スイツチのオン/オフ操作
に伴なうキーオン/オフ信号で、オフ時は“0”、オン
時は“1”となる。
D0からD3は音階周波数を指定するノートクロツク指
定データである。ビツト位置D4 〜D6は発生音域を指定する波形サンプル数指定データ
である。ビツト位置D7は鍵スイツチのオン/オフ操作
に伴なうキーオン/オフ信号で、オフ時は“0”、オン
時は“1”となる。
第5表に波形サンプル数指定データSD0〜SD2のコード内
容とそのコードで指定される波形1周期のサンプル数を
示す。波形サンプル数指定データSDは(000)2から(111)2
までの8種類の波形サンプル数が指定できるようになつ
ており、本実施例では、512サンプルから4サンプルま
でを指定している。
容とそのコードで指定される波形1周期のサンプル数を
示す。波形サンプル数指定データSDは(000)2から(111)2
までの8種類の波形サンプル数が指定できるようになつ
ており、本実施例では、512サンプルから4サンプルま
でを指定している。
第6表にノートクロツク指定データND0〜ND3で表わされ
るコードの内容と、そのコードで指定される指定音階の
関係を示す。
るコードの内容と、そのコードで指定される指定音階の
関係を示す。
第7表に効果制御データの構成内容を示す。ビツト位置
D0はビブラートオン/オフ信号VIBで、操作部(602)内
のビブラートオン/オフスイツチがオフの時“0”、オ
ンの時“1”となる。
D0はビブラートオン/オフ信号VIBで、操作部(602)内
のビブラートオン/オフスイツチがオフの時“0”、オ
ンの時“1”となる。
ビツト位置D1はデイレイビブラートオン/オフ信号DV
IBで、デイレイビブラート効果制御信号 であり、操作部(602)内のデイレイビブラートオン/オ
フスイツチがオフの時“0”、オンの時“1”となる。
IBで、デイレイビブラート効果制御信号 であり、操作部(602)内のデイレイビブラートオン/オ
フスイツチがオフの時“0”、オンの時“1”となる。
ビツト位置D2はグランドオン/オフ信号GLで、操作部
(602)内のグランドスイツチがオフの時“0”、オンの
時“1”となる。
(602)内のグランドスイツチがオフの時“0”、オンの
時“1”となる。
ビツト位置D3はオルガン型/ピアノ型指定信号OPS
で、エンベロープ特性を指定するものであり、オルガン
型の時“0”、ピアノ型の時“1”となる。
で、エンベロープ特性を指定するものであり、オルガン
型の時“0”、ピアノ型の時“1”となる。
ビツト位置D4はダンパオン/オフ信号DMPで、エンベ
ロープ特性がピアノ型の時のみ有効となるもので、ダン
パオフの時“0”、オンの時“1”となる。
ロープ特性がピアノ型の時のみ有効となるもので、ダン
パオフの時“0”、オンの時“1”となる。
ビツト位置D5はジエネレータアサイナ動作モード信号
GAMで、1鍵で楽音発生チヤネルを2チヤネル使用する
場合の指定信号であり、GAM信号が“0”の場合、1鍵
1チヤネル使用(8音発生)となり、“1”の場合、1
鍵2チヤネル使用(4音発生)となる。
GAMで、1鍵で楽音発生チヤネルを2チヤネル使用する
場合の指定信号であり、GAM信号が“0”の場合、1鍵
1チヤネル使用(8音発生)となり、“1”の場合、1
鍵2チヤネル使用(4音発生)となる。
第8図は楽音発生部(607)の構成図である。第8図にお
いて、(801)は主発振器、(802)は楽音発生部(607)の動
作内容を制御するシーケンサ、(803)はCPU(603)から供
給される各種のデータをラツチする入力レジスタ部、(8
04)はタイマー、(805)は比較レジスタ部、(806)は発音
すべき周波数に対応する周波数データを発生する周波数
データプロセツサ(以下FDPと略す)、(807)は前述で説
明した(2)式の波形内挿処理を行なう波形データプロセ
ツサ(以下WDPと略す)、(808)は楽音合成データROM(60
6)から波形サンプルデータや制御データなどを読み込む
データ・リード・プロセツサ(以下DRPと略す)、(809)
は所定のパルス幅のパルス信号を生成する読み出しパル
ス形成部、(810)はWDP(807)、DRP(808)などに演算処理
要求を行なう計算要求フラグ発生部、(811)はデイジタ
ル信号をアナログ信号に変換するデイジタル/アナログ
変化器(以下DACと略す)、(812)は1チヤネル当りアナ
ログスイツチ2つとコンデンサ1つとで構成されてお
り、アナログ信号を保持するアナログバツフアメモリ
部、(813)は積分器である。
いて、(801)は主発振器、(802)は楽音発生部(607)の動
作内容を制御するシーケンサ、(803)はCPU(603)から供
給される各種のデータをラツチする入力レジスタ部、(8
04)はタイマー、(805)は比較レジスタ部、(806)は発音
すべき周波数に対応する周波数データを発生する周波数
データプロセツサ(以下FDPと略す)、(807)は前述で説
明した(2)式の波形内挿処理を行なう波形データプロセ
ツサ(以下WDPと略す)、(808)は楽音合成データROM(60
6)から波形サンプルデータや制御データなどを読み込む
データ・リード・プロセツサ(以下DRPと略す)、(809)
は所定のパルス幅のパルス信号を生成する読み出しパル
ス形成部、(810)はWDP(807)、DRP(808)などに演算処理
要求を行なう計算要求フラグ発生部、(811)はデイジタ
ル信号をアナログ信号に変換するデイジタル/アナログ
変化器(以下DACと略す)、(812)は1チヤネル当りアナ
ログスイツチ2つとコンデンサ1つとで構成されてお
り、アナログ信号を保持するアナログバツフアメモリ
部、(813)は積分器である。
上記構成において、(804)(805)(806)(810)は発音音階を
決定するノートクロツク発生部を構成し、その出力信号
に基づいて、データ読み出し部であるDRP(808)が楽音合
成データROM(606)から所定のデータを読み出す。
決定するノートクロツク発生部を構成し、その出力信号
に基づいて、データ読み出し部であるDRP(808)が楽音合
成データROM(606)から所定のデータを読み出す。
また、入力レジスタ部(803)、比較レジスタ部(805)、FD
P(806)、WDP(807)、DRP(808)、計算要求フラグ発生部(8
10)はシーケンサ(802)によつて処理を行なう手順が決め
られている。
P(806)、WDP(807)、DRP(808)、計算要求フラグ発生部(8
10)はシーケンサ(802)によつて処理を行なう手順が決め
られている。
CPPU(603)から所定のチヤネルたとえばチヤネル1に楽
音発生データが供給されると、シーケンサ(803)で決め
られている所定のタイミングで入力レジスタ部(803)か
らFDP(806)、WDP(807)、DRP(808)に楽音発生データが供
給される。そうすると、DRP(808)において、音楽合成デ
ータROM(606)から波形サンプルデータと制御データを読
み取る。そして、(2)式に示したf(Xi,n)をデータWDIと
し、f(Xi+1,n)をデータWDIIとしてWDP(807)に供給す
る。さらに、読み取つた制御データに基づいた(2)式に
示した内挿係数の分子項をデータMLPとしてWDP(807)に
供給する。また、最終波形データになると最終波形デー
タを指示するWEF信号をWDP(807)に供給する。
音発生データが供給されると、シーケンサ(803)で決め
られている所定のタイミングで入力レジスタ部(803)か
らFDP(806)、WDP(807)、DRP(808)に楽音発生データが供
給される。そうすると、DRP(808)において、音楽合成デ
ータROM(606)から波形サンプルデータと制御データを読
み取る。そして、(2)式に示したf(Xi,n)をデータWDIと
し、f(Xi+1,n)をデータWDIIとしてWDP(807)に供給す
る。さらに、読み取つた制御データに基づいた(2)式に
示した内挿係数の分子項をデータMLPとしてWDP(807)に
供給する。また、最終波形データになると最終波形デー
タを指示するWEF信号をWDP(807)に供給する。
WDP(807)では、DRP(808)から供給されたデータWDI,WDI
I,MLPを用い、(2)式の波形演算処理を行なつてDAC(811)
に供給する。そして、DAC(811)において、WDP(807)から
供給されたデイジタル信号をアナログ信号に変換し、ア
ナログバツフアメモリ部(812)にアナログ信号として供
給し、チヤネル1に対応するコンデンサ電荷が蓄えられ
る。
I,MLPを用い、(2)式の波形演算処理を行なつてDAC(811)
に供給する。そして、DAC(811)において、WDP(807)から
供給されたデイジタル信号をアナログ信号に変換し、ア
ナログバツフアメモリ部(812)にアナログ信号として供
給し、チヤネル1に対応するコンデンサ電荷が蓄えられ
る。
一方、FDP(806)では、入力レジスタ部(803)から供給さ
れた楽音発生データに基づいた周波数データが生成さ
れ、比較レジスタ部(805)のチヤネル1に対応するレジ
スタに供給される。そして、比較レジスタ(805)に供給
されたデータとタイマー(804)から供給されている時間
データとの比較処理を行ない、一致が検出できると一致
パルスを読み出しパルス形成部(809)と計算要求フラグ
発生部(810)に供給する。
れた楽音発生データに基づいた周波数データが生成さ
れ、比較レジスタ部(805)のチヤネル1に対応するレジ
スタに供給される。そして、比較レジスタ(805)に供給
されたデータとタイマー(804)から供給されている時間
データとの比較処理を行ない、一致が検出できると一致
パルスを読み出しパルス形成部(809)と計算要求フラグ
発生部(810)に供給する。
そうすると、読み出しパルス形成部(809)で所定のパル
ス幅の読み出し信号が生成され、アナログバツフアメモ
リ部(812)に供給される。アナログバツフアメモリ部(81
2)内のチヤネル1に対応するコンデンサに蓄えられてい
る電荷は読み出し信号によつて積分器(813)に流れ込
む。
ス幅の読み出し信号が生成され、アナログバツフアメモ
リ部(812)に供給される。アナログバツフアメモリ部(81
2)内のチヤネル1に対応するコンデンサに蓄えられてい
る電荷は読み出し信号によつて積分器(813)に流れ込
む。
計算要求フラグ発生部(810)では、次波形サンプルすな
わち、仮想サンプル点 を求めるための計算要求フラグを発生し保持する。そし
て、その後再び処理タイミングがチヤネル1となると、
計算要求フラグが発生しているので前述と同様に波形内
挿処理が行なわれ、アナログバツフアメモリ部(812)内
のコンデンサに電荷が蓄えられる。以後、計算要求フラ
グに対応して波形内挿処理が行なわれ、楽音波形を発生
することになる。
わち、仮想サンプル点 を求めるための計算要求フラグを発生し保持する。そし
て、その後再び処理タイミングがチヤネル1となると、
計算要求フラグが発生しているので前述と同様に波形内
挿処理が行なわれ、アナログバツフアメモリ部(812)内
のコンデンサに電荷が蓄えられる。以後、計算要求フラ
グに対応して波形内挿処理が行なわれ、楽音波形を発生
することになる。
なお、コンデンサに蓄える電荷は、 と今回求めた波形サンプル値 との差分に相当する。そして、積分器(813)によつて、
今回求めた波形サンプル値 が復元されることになる。アナログバツフアメモリ部(8
12)と積分器(813)周辺の動作については、特願昭57−12
6413「波形読み出し装置」に述べてある。
今回求めた波形サンプル値 が復元されることになる。アナログバツフアメモリ部(8
12)と積分器(813)周辺の動作については、特願昭57−12
6413「波形読み出し装置」に述べてある。
第9図はシーケンサ(802)の一具体例のブロツク図であ
る。図中、(901)は2相クロツク信号φ1と信号φ2と
を発生する2相クロツク発生部、(902)は1チヤネル当
りの動作シーケンスを決める11進カウンタ、(903)は現
在演算処理を行なつているチヤネルコードを発生するカ
ウンタ、(904)は動作手順が記憶されているROM、(905)
はデコーダである。第10図にシーケンサ(802)のタイミ
ングチヤート図を示す。
る。図中、(901)は2相クロツク信号φ1と信号φ2と
を発生する2相クロツク発生部、(902)は1チヤネル当
りの動作シーケンスを決める11進カウンタ、(903)は現
在演算処理を行なつているチヤネルコードを発生するカ
ウンタ、(904)は動作手順が記憶されているROM、(905)
はデコーダである。第10図にシーケンサ(802)のタイミ
ングチヤート図を示す。
主発振器(801)からマスタクロツク(MCK)信号が2相クロ
ツク発生部(901)に供給される。2相クロツク発生部(90
1)では、第10図に示すような2相クロツク信号φ1、φ
2を発生する。信号φ1は11進カウンタ(902)とカウン
タ(903)に供給されている。
ツク発生部(901)に供給される。2相クロツク発生部(90
1)では、第10図に示すような2相クロツク信号φ1、φ
2を発生する。信号φ1は11進カウンタ(902)とカウン
タ(903)に供給されている。
11進カウンタ(902)は4ビツト構成となつており、信号
φ1が“0”から“1”へ変化するタイミングでカウン
トアツプ処理が行なわれ、出力信号が(1111)2となり、
次にカウントアツプを行なうと(0101)2にセツトされ
る。この結果、11進カウンタ(902)の出力信号は11の状
態、すなわち(0101)2〜(1111)2となる。これを命令ステ
ツプ信号として使用する。
φ1が“0”から“1”へ変化するタイミングでカウン
トアツプ処理が行なわれ、出力信号が(1111)2となり、
次にカウントアツプを行なうと(0101)2にセツトされ
る。この結果、11進カウンタ(902)の出力信号は11の状
態、すなわち(0101)2〜(1111)2となる。これを命令ステ
ツプ信号として使用する。
カウンタ(903)は3ビツト構成となつており、11カウン
タ(902)の出力信号が(1111)2から(0101)2へ変化するた
びにカウントアツプ処理が行なわれる。この結果、カウ
ンタ(903)の出力信号は8の状態、すなわち(000)2〜(11
1)2となる。これをチヤネルコードとして使用する。
タ(902)の出力信号が(1111)2から(0101)2へ変化するた
びにカウントアツプ処理が行なわれる。この結果、カウ
ンタ(903)の出力信号は8の状態、すなわち(000)2〜(11
1)2となる。これをチヤネルコードとして使用する。
ROM(904)は11進カウンタ(902)から供給される命令ステ
ツプ信号に基づいた命令コードを読み出し、デコーダ(9
05)に供給する。デコーダ(905)はROM(904)から供給され
た命令コードを解読して処理制御信号を各部に供給す
る。
ツプ信号に基づいた命令コードを読み出し、デコーダ(9
05)に供給する。デコーダ(905)はROM(904)から供給され
た命令コードを解読して処理制御信号を各部に供給す
る。
この結果、1チヤネル当りの計算時間は2.75μsとな
り、11の命令ステツプで各演算処理を行なうことにな
る。そして、22μsごとに計算タイミングが返されるこ
とになる。
り、11の命令ステツプで各演算処理を行なうことにな
る。そして、22μsごとに計算タイミングが返されるこ
とになる。
第11図にアナログバツフアメモリ部(812)の一具体例の
構成図を示す。図中、(1101)は入力端、(1102)は出力
端、(1103)〜(1108)はアナログスイツチ、C1〜C8はコン
デンサである。
構成図を示す。図中、(1101)は入力端、(1102)は出力
端、(1103)〜(1108)はアナログスイツチ、C1〜C8はコン
デンサである。
アナログスイツチ(1103)(1105)(1107)のゲート入力に供
給されている信号AW1〜AW8はWDP(807)から供給されてい
る。また、アナログスイツチ(1104)(1106)(1108)のゲー
ト入力に供給されている信号AR1〜AR8は読み出しパルス
形成部(809)から供給されている。
給されている信号AW1〜AW8はWDP(807)から供給されてい
る。また、アナログスイツチ(1104)(1106)(1108)のゲー
ト入力に供給されている信号AR1〜AR8は読み出しパルス
形成部(809)から供給されている。
DAC(811)で変換されたアナログ信号は入力端(1101)に印
加されアナログスイツチ(1103)(1105)(1107)に供給され
る。そして、チヤネル1に対応するデータであれば、ア
ナログスイツチ(1103)のみオン状態となり、入力端(110
1)に印加されたアナログ信号に相当する電荷がコンデン
サC1に蓄えられる。
加されアナログスイツチ(1103)(1105)(1107)に供給され
る。そして、チヤネル1に対応するデータであれば、ア
ナログスイツチ(1103)のみオン状態となり、入力端(110
1)に印加されたアナログ信号に相当する電荷がコンデン
サC1に蓄えられる。
その後、チヤネル1に対応する読み出しパルスAR1が読
み出しパルス発生部(809)からアナログスイツチ(1104)
のゲート入力に供給されると、コンデンサC1に蓄えられ
ている電荷が出力端(1102)を介して積分器(813)に供給
される。
み出しパルス発生部(809)からアナログスイツチ(1104)
のゲート入力に供給されると、コンデンサC1に蓄えられ
ている電荷が出力端(1102)を介して積分器(813)に供給
される。
アナログスイツチ(1103)(1105)(1107)はWDP(807)の動作
タイミングに同期しているので、同時に複数個オン状態
にならない。アナログスイツチ(1104)(1106)(1108)は音
階周波数に同期してオンするようになつているため、複
数個同時にオン状態となりうる。
タイミングに同期しているので、同時に複数個オン状態
にならない。アナログスイツチ(1104)(1106)(1108)は音
階周波数に同期してオンするようになつているため、複
数個同時にオン状態となりうる。
第12図は楽音発生部(607)の内部動作タイミングチヤー
トである。第12図には4チヤネル分のタイミングを示し
た。
トである。第12図には4チヤネル分のタイミングを示し
た。
図中の略記号の説明 CRFは、各チヤネルごとの計算要求信号である。そし
て、要求開始時点が比較レジスタ部(805)から供給され
る一致信号と同期している。すなわち、音階周波数に同
期することとなり、たとえば、C音階であれば59.74μ
sごとに発生する。
て、要求開始時点が比較レジスタ部(805)から供給され
る一致信号と同期している。すなわち、音階周波数に同
期することとなり、たとえば、C音階であれば59.74μ
sごとに発生する。
CLCは、波形演算タイミングを示す。
DACは、DAC(811)を介してアナログバツフアメモリ(812)
内のコンデンサに電荷を蓄えるタイミングを示す。
内のコンデンサに電荷を蓄えるタイミングを示す。
OTCは、アナログバツフアメモリ(812)内のコンデンサに
蓄えられている電荷を積分器(813)に供給するタイミン
グであり、CRFと同様に、音階周波数に同期して発生し
ている。
蓄えられている電荷を積分器(813)に供給するタイミン
グであり、CRFと同様に、音階周波数に同期して発生し
ている。
チヤネル1のタイムチヤートについて説明する。チヤネ
ル1に相当する演算タイミングはシーケンサ(802)で発
生しているチヤネルコードによつて決まつており、図に
も示してあるように、22μsごとに演算タイミングが発
生している。
ル1に相当する演算タイミングはシーケンサ(802)で発
生しているチヤネルコードによつて決まつており、図に
も示してあるように、22μsごとに演算タイミングが発
生している。
…信号CRF1がチヤネルコード1の途中で発生する。発
生したタイミングでは波形内挿処理を行なわない。
生したタイミングでは波形内挿処理を行なわない。
…信号CRF1が発生すると同時に信号OTC1が発生し、ア
ナログバツフアメモリ(812)内のコンデンサC1の電荷が
積分器(813)に供給される。信号OTCのパルス幅は2μs
程度である。
ナログバツフアメモリ(812)内のコンデンサC1の電荷が
積分器(813)に供給される。信号OTCのパルス幅は2μs
程度である。
…チヤネルコードが再び1となると、波形サンプルデ
ータなどの読み込み処理や波形内挿処理や周波数データ
の更新処理などを行なう。
ータなどの読み込み処理や波形内挿処理や周波数データ
の更新処理などを行なう。
…チヤネル1の演算処理が終了すると、信号DAC1が発
生し、DAC(811)を介してコンデンサC1に電荷が蓄えられ
る。
生し、DAC(811)を介してコンデンサC1に電荷が蓄えられ
る。
…チヤネル1の演算処理が終了すると、信号CRF1をリ
セツトして計算要求を解除する。
セツトして計算要求を解除する。
…前述のと同様に、信号CRF1が再び発生するタイミ
ングで、前述ののタイミングでコンデンサC1に蓄えら
れた電荷が積分器(813)に供給される。
ングで、前述ののタイミングでコンデンサC1に蓄えら
れた電荷が積分器(813)に供給される。
以後、上述と同様に、信号CRFが発生するたびに、1回
の仮想波形サンプル値算出処理が行なわれ、信号CRFの
発生タイミング、すなわち音階同期に同期して波形算出
結果が積分器(813)に供給される。
の仮想波形サンプル値算出処理が行なわれ、信号CRFの
発生タイミング、すなわち音階同期に同期して波形算出
結果が積分器(813)に供給される。
演算サイクルと音階周期の関係は、最小音階周期内に同
一チヤネルの演算タイミングが2回と演算結果をアナロ
グバツフアメモリ部(812)内のコンデンサに電荷を蓄え
ることが出来ればよい。すなわち、最小音階周期内に10
チヤネル分に相当する演算タイミングを設ければよい。
一チヤネルの演算タイミングが2回と演算結果をアナロ
グバツフアメモリ部(812)内のコンデンサに電荷を蓄え
ることが出来ればよい。すなわち、最小音階周期内に10
チヤネル分に相当する演算タイミングを設ければよい。
音階周期の発生方法についての説明 第13図に、FDP(806)から比較レジスタ部(805)に供給す
る周波数データの推移を示す。タイマー(804)は10ビツ
トの2進カウンタで構成しており、出力状態を16進表示
で表わすと、(000)16から(3FF)16まで順次カウントアツ
プを行ない、(3FF)16から再び(000)16となり、(000)16
から(3FF)16が主発振器(801)から供給される信号MCKに
基づいてくり返される。すなわち、タイマー(804)のく
り返し周期TRは下式のようになる。
る周波数データの推移を示す。タイマー(804)は10ビツ
トの2進カウンタで構成しており、出力状態を16進表示
で表わすと、(000)16から(3FF)16まで順次カウントアツ
プを行ない、(3FF)16から再び(000)16となり、(000)16
から(3FF)16が主発振器(801)から供給される信号MCKに
基づいてくり返される。すなわち、タイマー(804)のく
り返し周期TRは下式のようになる。
タイマー(804)の出力データ推移状態を第13図中のタイ
マー出力データとして記載してある。
マー出力データとして記載してある。
音階周期の発生方法としては、タイマー(804)の出力信
号とFDP(806)から供給された周波数データとの比較を行
ない、一致が検出できれば一致パルスを比較レジスタ部
(805)から送出する。その一致パルスの発生周期が発音
すべき音階の音階周期となる。
号とFDP(806)から供給された周波数データとの比較を行
ない、一致が検出できれば一致パルスを比較レジスタ部
(805)から送出する。その一致パルスの発生周期が発音
すべき音階の音階周期となる。
第13図に示したように、周波数データを更新することに
よりノートクロツク信号が発生できる。すなわち、下式
に示すような演算処理をFDP(806)で行なう。
よりノートクロツク信号が発生できる。すなわち、下式
に示すような演算処理をFDP(806)で行なう。
NFD=MOD(OFD+PD,TDmax)…(4) NFDは、新しい周波数データである。
OFDは、更新前の周波数データである。
PDは、発生音階によつて決まつている音階データであ
る。
る。
TDmaxは、タイマー(804)の出力状態数である。本実施例
の場合TDmaxは210すなわち1024である。
の場合TDmaxは210すなわち1024である。
第8表に12音階に対応する音階データPDを示す。
第14図は、FDP(806)の一具体例の構成図である。第14図
において、(1401)はセント尺度で表わした音階データ
(CPDとする)を発生するセント音階データ発生部(以
下CPD発生部と略す)で、セント音階データを記憶して
いるROMで構成しており、ノートクロツク指定データ(N
D)と波形サンプル数指定データ(SD)とオルガン型/ピア
ノ型指定信号(OPS)に基づいたCPDを選択発生するように
なつている。(1402)はビートデータを選択するビートデ
ータゲート、(1403)はビブラート信号を発生するビブラ
ート信号発生部、(1404)はグライド信号を発生するグラ
イド信号発生部、(1405)はセント尺度で表わされた周波
数値を周波数に正比例する周波数データに変換する指数
変換器、(1406)は演算部、(1407)はラツチ(ALとす
る)、(1408)はラツチ(BLとする)、(1409)は加算器
(FAとする)、(1410)はバツフア、(1411)はゲートであ
る。(1412)(1413)(1414)はバスラインで、(1412)がFAバ
ス、(1413)がFBバス、(1414)がFCバスである。
において、(1401)はセント尺度で表わした音階データ
(CPDとする)を発生するセント音階データ発生部(以
下CPD発生部と略す)で、セント音階データを記憶して
いるROMで構成しており、ノートクロツク指定データ(N
D)と波形サンプル数指定データ(SD)とオルガン型/ピア
ノ型指定信号(OPS)に基づいたCPDを選択発生するように
なつている。(1402)はビートデータを選択するビートデ
ータゲート、(1403)はビブラート信号を発生するビブラ
ート信号発生部、(1404)はグライド信号を発生するグラ
イド信号発生部、(1405)はセント尺度で表わされた周波
数値を周波数に正比例する周波数データに変換する指数
変換器、(1406)は演算部、(1407)はラツチ(ALとす
る)、(1408)はラツチ(BLとする)、(1409)は加算器
(FAとする)、(1410)はバツフア、(1411)はゲートであ
る。(1412)(1413)(1414)はバスラインで、(1412)がFAバ
ス、(1413)がFBバス、(1414)がFCバスである。
なお、ビートデータCBD、ビブラートデータCVD、グライ
ドデータCGDもセント尺度で表わしている。
ドデータCGDもセント尺度で表わしている。
各種データの構造 セントピツチデータ(CPD) 11ビツト構成で、上位4ビツトで12音階平均律を表わ
し、下位7ビツトで半音階を128等分した各点を表わし
ている。
し、下位7ビツトで半音階を128等分した各点を表わし
ている。
ビートデータ(CBD)、ビブラートデータ(CVD)、グライド
データ(CGD) 各ビツト構成は8ビツトで、2の補数表現を用い、半音
階を128等分した分解能を有する。そして、正負のビー
ト成分、ビブラート成分、グライド成分を表わしてい
る。
データ(CGD) 各ビツト構成は8ビツトで、2の補数表現を用い、半音
階を128等分した分解能を有する。そして、正負のビー
ト成分、ビブラート成分、グライド成分を表わしてい
る。
ビブラート信号発生部(1403)の説明 第22図はビブラート信号発生部(1403)の一具体例の構成
図を示す。図中、(2201)はビブラートデータCVDを記憶
しておくビブラートROM、(2202)はビブラートROM(2201)
から記憶してあるビブラートデータを読み出すためのア
ドレスデータを格納するビブラートアドレスレジスタ、
(2203)はデイレイビブラート効果の時に用いるシフタ、
(2204)は信号RDCVDによりシフタ(2203)の出力信号(ビ
ブラートデータCVD)をFBバスに供給するゲート、(220
5)は入力レジスタ部(803)から供給されている信号KD、
信号VIB、信号DVIBとシーケンサ(802)から供給されてい
る信号CHCに基づいてビブラート信号発生部(1403)の動
作条件を設定する条件設定部、(2206)はゲート、(2207)
はゲート、(2208)はANDゲートである。
図を示す。図中、(2201)はビブラートデータCVDを記憶
しておくビブラートROM、(2202)はビブラートROM(2201)
から記憶してあるビブラートデータを読み出すためのア
ドレスデータを格納するビブラートアドレスレジスタ、
(2203)はデイレイビブラート効果の時に用いるシフタ、
(2204)は信号RDCVDによりシフタ(2203)の出力信号(ビ
ブラートデータCVD)をFBバスに供給するゲート、(220
5)は入力レジスタ部(803)から供給されている信号KD、
信号VIB、信号DVIBとシーケンサ(802)から供給されてい
る信号CHCに基づいてビブラート信号発生部(1403)の動
作条件を設定する条件設定部、(2206)はゲート、(2207)
はゲート、(2208)はANDゲートである。
レジスタ(2202)に格納するアドレスデータは14ビツト構
成となつており、下位11ビツトをビブラートROM(2201)
のアドレスデータとし、上位3ビツトをシフタ(2203)の
シフトデータとしている。シフタ(2203)はシフトデータ
に基づいてビブラートROM(2201)から供給されているビ
ブラートデータCVDの振幅を制御するものである。シフ
トデータVSFDとシフタ(2203)の出力データOSFDとの関係
は次のとおりである。
成となつており、下位11ビツトをビブラートROM(2201)
のアドレスデータとし、上位3ビツトをシフタ(2203)の
シフトデータとしている。シフタ(2203)はシフトデータ
に基づいてビブラートROM(2201)から供給されているビ
ブラートデータCVDの振幅を制御するものである。シフ
トデータVSFDとシフタ(2203)の出力データOSFDとの関係
は次のとおりである。
VSFD=(000)2…OSFD=(00)16、VSFD=(001)2…OSFD=(C
VD/64)、VSFD=(010)2…OSFD=(CVD/32)、……、VSFD=
(110)2…OSFD=(CVD/2)、VSFD=(111)2…OSFD=(CVD) 条件設定部(2205)は次のような動作条件設定を行なう。
VD/64)、VSFD=(010)2…OSFD=(CVD/32)、……、VSFD=
(110)2…OSFD=(CVD/2)、VSFD=(111)2…OSFD=(CVD) 条件設定部(2205)は次のような動作条件設定を行なう。
ビブラートオフ ビブラートオン/オフ信号VIBが“0”の場合であり、
ゲート(2206)の出力を強制的に常時(00)16とする。そう
すると、シフタ(2203)のシフトデータは常時(000)2とな
る。この結果、シフタ(2203)の出力データは(00)16とな
る。すなわち、ビブラートデータCVDが常時(00)16とな
る。
ゲート(2206)の出力を強制的に常時(00)16とする。そう
すると、シフタ(2203)のシフトデータは常時(000)2とな
る。この結果、シフタ(2203)の出力データは(00)16とな
る。すなわち、ビブラートデータCVDが常時(00)16とな
る。
ビブラートオン ビブラートオン/オフ信号VIBが“1”で信号DVIBが
“0”の場合、ビブラートオン状態となる。レジスタ(2
202)に格納しているアドレスデータをゲート(2206)を介
してゲート(2207)とシフタ(2203)に供給する。なお、ア
ドレスデータの上位3ビツト、すなわちシフトデータを
強制的に(111)2とする。そうすると、ゲート(2204)の入
力にはビブラートROM(2201)の出力(ビブラートデータC
VD)がそのまま供給されることになる。
“0”の場合、ビブラートオン状態となる。レジスタ(2
202)に格納しているアドレスデータをゲート(2206)を介
してゲート(2207)とシフタ(2203)に供給する。なお、ア
ドレスデータの上位3ビツト、すなわちシフトデータを
強制的に(111)2とする。そうすると、ゲート(2204)の入
力にはビブラートROM(2201)の出力(ビブラートデータC
VD)がそのまま供給されることになる。
デイレイビブラート ビブラートオン/オフ信号VIBとデイレイビブラートオ
ン/オフ信号DVIBが“1”の場合、デイレイビブラート
状態となる。8チヤネルのキーオン/オフ信号KDがすべ
てオフ状態からいずれか1つのキーオン/オフ信号KDが
オン状態となると、アドレスデータを(000)16に設定す
るように、ゲート(2206)を制御する。そうすると、シフ
タ(2203)において、ビブラート信号1周期ごとに、ビブ
ラートデータCVDの振幅制御(0,CVD/64,CVD/32,CVD
/16,CVD/8,CVD/4,CVD/2,CVD)が行なわれる。そし
て、シフトデータが(111)2となるとビブラートオン状態
と同様にシフトデータを強制的に(111)2とする。レジス
タ(2202)に格納しているアドレスデータは、シーケンサ
(802)から供給されている信号RDVADによつてゲート(220
7)を介してFBバスに供給される。
ン/オフ信号DVIBが“1”の場合、デイレイビブラート
状態となる。8チヤネルのキーオン/オフ信号KDがすべ
てオフ状態からいずれか1つのキーオン/オフ信号KDが
オン状態となると、アドレスデータを(000)16に設定す
るように、ゲート(2206)を制御する。そうすると、シフ
タ(2203)において、ビブラート信号1周期ごとに、ビブ
ラートデータCVDの振幅制御(0,CVD/64,CVD/32,CVD
/16,CVD/8,CVD/4,CVD/2,CVD)が行なわれる。そし
て、シフトデータが(111)2となるとビブラートオン状態
と同様にシフトデータを強制的に(111)2とする。レジス
タ(2202)に格納しているアドレスデータは、シーケンサ
(802)から供給されている信号RDVADによつてゲート(220
7)を介してFBバスに供給される。
演算部(1406)で加算処理されたアドレスデータは、信号
WRVADによつて信号φ2の立上りエツチで、FCバスから
レジスタ(2202)に格納される。また、信号RDCVDによつ
て、ビブラートROM(2201)に格納してあるビブラートデ
ータCVDがシフタ(2203)、ゲート(2204)を介してFBバス
に供給される。
WRVADによつて信号φ2の立上りエツチで、FCバスから
レジスタ(2202)に格納される。また、信号RDCVDによつ
て、ビブラートROM(2201)に格納してあるビブラートデ
ータCVDがシフタ(2203)、ゲート(2204)を介してFBバス
に供給される。
グライド信号発生部(1404)の説明 グライド信号発生部(1404)も、ビブラート信号発生部(1
403)と同様にグライドデータを記憶しておくグライドRO
Mと、そのグライドROMから所定のグライドデータを読み
出すためのグライドアドレスレジスタと、発生制御を行
なう制御器とから構成している。
403)と同様にグライドデータを記憶しておくグライドRO
Mと、そのグライドROMから所定のグライドデータを読み
出すためのグライドアドレスレジスタと、発生制御を行
なう制御器とから構成している。
動作モードとしては、グライドオフとグライドオンの2
種類がある。
種類がある。
グライドオフ 信号GLが“0”の場合グライドオフ状態となる。グライ
ドデータCGDは常時(00)16となる。
ドデータCGDは常時(00)16となる。
グライドオン 信号GLが“1”の場合グライドオン状態となる。通常よ
く知られているグライド効果と同様なものである。すな
わち、8チヤネルのキーオン/オフ信号KDがすべてオフ
状態からいずれか1チヤネルのキーオン/オフ信号KDが
オンになるとグライドROMからグライドデータCGDが読み
出される。そして、所定な時間が経過すると再びグライ
ドデータCGDは(00)16となる。
く知られているグライド効果と同様なものである。すな
わち、8チヤネルのキーオン/オフ信号KDがすべてオフ
状態からいずれか1チヤネルのキーオン/オフ信号KDが
オンになるとグライドROMからグライドデータCGDが読み
出される。そして、所定な時間が経過すると再びグライ
ドデータCGDは(00)16となる。
指数変換器(1405)の説明 指数変換器(1405)は、セント尺度のデータを周波数に正
比例する周波数データEDに変換する変換データを記憶し
た変換ROMを内蔵している。
比例する周波数データEDに変換する変換データを記憶し
た変換ROMを内蔵している。
本実施例では、セント尺度上の周波数データCFDの上位
4ビツト(ビツト位置7〜10)をアドレスデータとする
EXP・ROMと、ビツト位置0〜10の11ビツトをアドレスデ
ータとするΔEXP・ROMとを用意している。
4ビツト(ビツト位置7〜10)をアドレスデータとする
EXP・ROMと、ビツト位置0〜10の11ビツトをアドレスデ
ータとするΔEXP・ROMとを用意している。
そして、演算部(1406)で加算処理されたセント尺度上の
周波数データCFDを信号WREXPによつて格納するレジスタ
と、そのレジスタに格納されているデータをアドレスデ
ータとする上述したEXP・ROM、ΔEXP・ROMと、信号RDEX
P、RDΔEXPによつてEXP・ROM、ΔEXP・ROMに格納してい
るデータをそれぞれFAバス、FBバスに供給するゲートか
ら構成されている。
周波数データCFDを信号WREXPによつて格納するレジスタ
と、そのレジスタに格納されているデータをアドレスデ
ータとする上述したEXP・ROM、ΔEXP・ROMと、信号RDEX
P、RDΔEXPによつてEXP・ROM、ΔEXP・ROMに格納してい
るデータをそれぞれFAバス、FBバスに供給するゲートか
ら構成されている。
EXP・ROMは100セント間隔の周波数データ16語を記憶し
ており、ΔEXP・ROMは100セント内を27すなわち128分割
して0.78セント間隔に対応する15×128=1920点の差分
周波数データを記憶している。
ており、ΔEXP・ROMは100セント内を27すなわち128分割
して0.78セント間隔に対応する15×128=1920点の差分
周波数データを記憶している。
第15図はEDP(806)のデータ処理手順を示す処理流れ図で
あり、下記に示す演算処理を行なつて旧周波数データOF
Dから新周波数データNFDを算出し、比較レジスタ部(80
5)に供給している。
あり、下記に示す演算処理を行なつて旧周波数データOF
Dから新周波数データNFDを算出し、比較レジスタ部(80
5)に供給している。
、CPD=CPD+CVD 、CPD=CPD+CGD 、CPD=CPD+CBD 、PD=EXP(CPD)+ΔEXP(CPD) 、NED=OFD+PD 次に第14図の動作について説明を行なう。FDP(806)はシ
ーケンサ(802)から送られてくる処理命令信号によつて
演算処理を行なつている。
ーケンサ(802)から送られてくる処理命令信号によつて
演算処理を行なつている。
演算処理シーケンスの流れを第9表に示す。第9表に示
す命令ステツプを順次実行することにより、第15図で説
明した処理が実現され新周波数データNFDを算出するこ
とになる。
す命令ステツプを順次実行することにより、第15図で説
明した処理が実現され新周波数データNFDを算出するこ
とになる。
第9表に記載している記号の説明は次の通りである。
ALは、FAバスに供給されたデータを信号φ2の立下りエ
ツヂでラツチするもの。
ツヂでラツチするもの。
BLは、FBバスに供給されたデータを信号φ2の立下りエ
ツヂでラツチするもの。
ツヂでラツチするもの。
CRALは、ラツチALを信号φ2の“1”でクリヤする命
令。
令。
ADD1は、FA(1409)のキヤリー入力に“1”を加える命
令。
令。
TCAは、FA(1409)で演算処理した結果をFAバスに供給す
る命令。
る命令。
RDCPDは、CPD発生部(1401)で発生するセントピツチデー
タCPDをFAバスに供給する命令。
タCPDをFAバスに供給する命令。
RDCBDは、ビートデータゲート(1402)のゲートを開いてF
BバスにビートデータCBDを供給する命令。
BバスにビートデータCBDを供給する命令。
RDCVDは、ビブラート信号発生部(1403)で発生するビブ
ラートデータCVDをFBバスに供給する命令。
ラートデータCVDをFBバスに供給する命令。
RDCGDは、グライド信号発生部(1404)で発生するグライ
ドデータCGDをFBバスに供給する命令。
ドデータCGDをFBバスに供給する命令。
RDEXPは、指数変換器(1405)内で変換したEXP(CPD)をFA
バスに供給する命令。
バスに供給する命令。
RDΔEXPは、指数変換器(1405)内で変換したΔEXP(CPD)
をFBバスに供給する命令。
をFBバスに供給する命令。
RDFDは、比較レジスタ部(805)から旧周波数データOFDを
読み出してFBバスに供給する命令。
読み出してFBバスに供給する命令。
RDVADは、ビブラート信号発生部(1403)内にあるビブラ
ートカウンタの内容をFBバスに供給する命令。
ートカウンタの内容をFBバスに供給する命令。
RDGADは、グライド信号発生部(1404)内にあるグライド
カウンタの内容をFAバスに供給する命令。
カウンタの内容をFAバスに供給する命令。
WRVADは、FA(1409)で演算した結果をビブラート信号発
生部(1403)内のビブラートカウンタに信号φ2の立上り
エツヂで書き込む命令。
生部(1403)内のビブラートカウンタに信号φ2の立上り
エツヂで書き込む命令。
WRGADは、FA(1409)で演算した結果をグライド信号発生
部(1404)内のグライドカウンタに信号φ2の立上りエツ
ヂで書き込む命令。
部(1404)内のグライドカウンタに信号φ2の立上りエツ
ヂで書き込む命令。
WREXPは、FA(1409)で演算した結果を指数変換部(1405)
に信号φ2の立上りエツヂで書き込む命令。
に信号φ2の立上りエツヂで書き込む命令。
WRFDは、FA(1409)で演算した結果を比較レジスタ部(80
5)に信号φ2の立上りエツヂで書き込む命令。
5)に信号φ2の立上りエツヂで書き込む命令。
なお、第9図に示したシーケンサ(802)内の11進カウン
タ(902)で発生している11の状態は、第9表に示した命
令ステツプ1〜11に対応している。
タ(902)で発生している11の状態は、第9表に示した命
令ステツプ1〜11に対応している。
信号GAM(ジエネレータアサイナ動作モード信号)によ
る動作内容の説明 信号GAM=“0”の場合、1鍵1チヤネル動作となる。
この場合、ビートデータCBDは強制的(00)16の状態とな
る。すなわち、ビート効果を付加しない。
る動作内容の説明 信号GAM=“0”の場合、1鍵1チヤネル動作となる。
この場合、ビートデータCBDは強制的(00)16の状態とな
る。すなわち、ビート効果を付加しない。
信号GAM=“1”の場合、1鍵2チヤネルアサイン動作
となる。この場合、1チヤネルと5チヤネル、2チヤネ
ルと6チヤネル、3チヤネルと7チヤネル、4チヤネル
と8チヤネルを同一楽音データとする。そして、1チヤ
ネル〜4チヤネルに使用するビートデータCBDを強制的
に(00)16とし、5チヤネル〜8チヤネルに使用するビー
トデータCBDをCPU(603)から供給されたビートデータを
用いることにより、ビート効果を発生することができ
る。
となる。この場合、1チヤネルと5チヤネル、2チヤネ
ルと6チヤネル、3チヤネルと7チヤネル、4チヤネル
と8チヤネルを同一楽音データとする。そして、1チヤ
ネル〜4チヤネルに使用するビートデータCBDを強制的
に(00)16とし、5チヤネル〜8チヤネルに使用するビー
トデータCBDをCPU(603)から供給されたビートデータを
用いることにより、ビート効果を発生することができ
る。
以上のように、複数の比較器を用い、比較データを演算
処理して求めるようにしているので、高速動作の分周器
を複数個(チヤネル数分)並列に 設ける必要がなく、回路規模が小さくできる。
処理して求めるようにしているので、高速動作の分周器
を複数個(チヤネル数分)並列に 設ける必要がなく、回路規模が小さくできる。
さらに、信号GAMを用いてチヤネル1〜4はビートデー
タCBD=(00)16とし、チヤネル5〜8のビートデータCBD
をCPU(603)から供給されたビートデータを用い、チヤネ
ル1とチヤネル5、チヤネル2とチヤネル6、チヤネル
3とチヤネル7、チヤネル4とチヤネル8を同一楽音発
生データとすることにより複雑な周辺回路を付加するこ
となく、ビート効果を容易に実現できる。
タCBD=(00)16とし、チヤネル5〜8のビートデータCBD
をCPU(603)から供給されたビートデータを用い、チヤネ
ル1とチヤネル5、チヤネル2とチヤネル6、チヤネル
3とチヤネル7、チヤネル4とチヤネル8を同一楽音発
生データとすることにより複雑な周辺回路を付加するこ
となく、ビート効果を容易に実現できる。
さらに、グライド信号発生部(1404)内のグライドアドレ
スカウンタをチヤネル分用意するだけでチヤネル独立の
グライド効果を付加することができる。
スカウンタをチヤネル分用意するだけでチヤネル独立の
グライド効果を付加することができる。
第16図は比較レジスタ部(805)の一具体例を示す構成図
である。図中、(1601)(1602)(1603)は周波数データレジ
スタFDR1〜FDR8で、8チヤネル分用意している。(1604)
(1605)(1606)はゲートGT1〜GT8で、8チヤネル分用意し
ている。(1607)(1608)(1609)は比較器、(1610)(1611)は
デコーダ、(1612)はアンドゲートである。
である。図中、(1601)(1602)(1603)は周波数データレジ
スタFDR1〜FDR8で、8チヤネル分用意している。(1604)
(1605)(1606)はゲートGT1〜GT8で、8チヤネル分用意し
ている。(1607)(1608)(1609)は比較器、(1610)(1611)は
デコーダ、(1612)はアンドゲートである。
タイマー(804)の出力信号TM0〜TM9は比較器(1607)〜(16
09)に共通に供給されている。そして、FDP(806)で算出
された新周波数データNEDはレジスタFDR1〜FDR8の入力
にFCバスからそれぞれ供給され、信号WRFDと信号CLRF
(計算要求フラグ信号)がともに“1”の場合、所定の
レジスタFDRに新周波数データNFDが書き込まれる。すな
わち、計算要求が発生している時だけデータを書き込む
こととなる。
09)に共通に供給されている。そして、FDP(806)で算出
された新周波数データNEDはレジスタFDR1〜FDR8の入力
にFCバスからそれぞれ供給され、信号WRFDと信号CLRF
(計算要求フラグ信号)がともに“1”の場合、所定の
レジスタFDRに新周波数データNFDが書き込まれる。すな
わち、計算要求が発生している時だけデータを書き込む
こととなる。
また、FDP(806)で旧周波数データOFDが必要になると、
信号FDFDがデコーダ(1610)に供給され、GT1〜GT8の所定
のゲートを開き、旧周波数データOFDをFBバスに供給す
る。
信号FDFDがデコーダ(1610)に供給され、GT1〜GT8の所定
のゲートを開き、旧周波数データOFDをFBバスに供給す
る。
第15図で説明した、データ処理手段における新しい周波
数データNFDがWR1〜WR8に従つてレジスタFDR1〜FDR8の
いずれかに書き込まれ、その後、RD1〜RD8に従つてゲー
トGT1〜GT8を経て読み出されるときは、新周波数データ
NFDが旧周波数データOFDとして、FBバスに供給されるこ
とになる。
数データNFDがWR1〜WR8に従つてレジスタFDR1〜FDR8の
いずれかに書き込まれ、その後、RD1〜RD8に従つてゲー
トGT1〜GT8を経て読み出されるときは、新周波数データ
NFDが旧周波数データOFDとして、FBバスに供給されるこ
とになる。
一方、比較器(1607)〜(1609)では、タイマー(804)から
の信号TM0〜TM9とレジスタFDR1〜FDR8に記憶されている
周波数データFDとの比較を行ない、一致が検出できた
ら、一致信号NC1〜NC8として出力する。
の信号TM0〜TM9とレジスタFDR1〜FDR8に記憶されている
周波数データFDとの比較を行ない、一致が検出できた
ら、一致信号NC1〜NC8として出力する。
第17図は計算要求フラグ発生部(810)の一具体例を示す
構成図である。図中、(1701)〜(1710)はNANDゲート、(1
711)はデコーダ、(1712)〜(1719)はRSフリツプフロツプ
(RSFF)、(1720)はセレクタ、(1721)はD型フリツプフロ
ツプ(DFF)である。
構成図である。図中、(1701)〜(1710)はNANDゲート、(1
711)はデコーダ、(1712)〜(1719)はRSフリツプフロツプ
(RSFF)、(1720)はセレクタ、(1721)はD型フリツプフロ
ツプ(DFF)である。
比較レジスタ部(805)から供給される一致信号NC1〜NC8
をNANDゲート(1701)〜(1708)でそれぞれ主発振器(801)
から供給されている信号MCKとの論理演算を行ない、そ
の結果をRSFF(1712)〜(1719)の各入力に供給する。一
致信号が“1”(比較器で一致を検出)となると、RSFF
の入力に“0”が供給されて出力Qは“1”となり、
第12図で説明した計算要求信号CRFが“1”となる。
をNANDゲート(1701)〜(1708)でそれぞれ主発振器(801)
から供給されている信号MCKとの論理演算を行ない、そ
の結果をRSFF(1712)〜(1719)の各入力に供給する。一
致信号が“1”(比較器で一致を検出)となると、RSFF
の入力に“0”が供給されて出力Qは“1”となり、
第12図で説明した計算要求信号CRFが“1”となる。
セレクタ(1720)で演算タイミングに対応する信号CRFを
選択し、DFF(1721)の入力Dに供給する。そして、シー
ケンサ(802)から供給されている制御データの中の信号W
RCLFが“1”となると、信号φ2の立下りエツヂでDFF
(1721)にセレクタ(1720)で選択した計算要求信号CRFを
ラツチさせ、計算要求フラグ信号CLRFとして出力され
る。計算要求が発生していればフラグ信号CLRFは
“1”、そうでなければフラグ信号CLRFは“0”とな
る。
選択し、DFF(1721)の入力Dに供給する。そして、シー
ケンサ(802)から供給されている制御データの中の信号W
RCLFが“1”となると、信号φ2の立下りエツヂでDFF
(1721)にセレクタ(1720)で選択した計算要求信号CRFを
ラツチさせ、計算要求フラグ信号CLRFとして出力され
る。計算要求が発生していればフラグ信号CLRFは
“1”、そうでなければフラグ信号CLRFは“0”とな
る。
信号WRCLFの発生するタイミングは、命令ステツプ1で
発生する。すなわち、演算処理の先頭で計算要求の有無
を判定することになる。
発生する。すなわち、演算処理の先頭で計算要求の有無
を判定することになる。
その後、命令ステツプ11のタイミングになると、シーケ
ンサ(802)から供給される制御データの中の1つである
リセツト(クリヤ)信号CRCLFが供給される。そうする
と、フラグ信号CLRFが“1”の場合、NANDゲート(1709)
の出力信号は“0”となり、チヤネルコードCHCでデコ
ーダ(1711)によつて選択されたRSFF(1712)〜(1713)の所
定の入力に“0”を供給し、RSFFをリセツト(出力Q
=“0”)する。この動作は、第12図で説明した計算要
求信号CRFをリセツトするタイミングに対応してい
る。
ンサ(802)から供給される制御データの中の1つである
リセツト(クリヤ)信号CRCLFが供給される。そうする
と、フラグ信号CLRFが“1”の場合、NANDゲート(1709)
の出力信号は“0”となり、チヤネルコードCHCでデコ
ーダ(1711)によつて選択されたRSFF(1712)〜(1713)の所
定の入力に“0”を供給し、RSFFをリセツト(出力Q
=“0”)する。この動作は、第12図で説明した計算要
求信号CRFをリセツトするタイミングに対応してい
る。
データ・リード・プロセツサDRP(808)の詳細な説明 まず、楽音合成データROM(606)(以後データ・バンク(D
BK)と称する)のデータフオーマツトについて説明す
る。
BK)と称する)のデータフオーマツトについて説明す
る。
第18図はDBK(606)のデータ構成図である。アドレス(000
0)16から128語の領域に、以後に続く合成データの先頭
位置を示す先頭アドレスを格納している。合成データは
制御データと波形データとで構成されている。制御デー
タは波形間のくり返し回数指定データと最終波形フラグ
データとで構成されている。
0)16から128語の領域に、以後に続く合成データの先頭
位置を示す先頭アドレスを格納している。合成データは
制御データと波形データとで構成されている。制御デー
タは波形間のくり返し回数指定データと最終波形フラグ
データとで構成されている。
くり返し数回数指定データについて説明する。本実施例
では、(2)式に示した内挿係数 の算出を簡略化する方法として以下のようにしている。
では、(2)式に示した内挿係数 の算出を簡略化する方法として以下のようにしている。
(1)(2)式ではN・m+n項の増分値が1であったが、内
挿係数の分子の増分値をαとする。
挿係数の分子の増分値をαとする。
(2)内挿係数 と置き換える。
(3)M・N・α項を216と固定化する。
この結果、内挿係数は(M・N+n)α/216となり、
1/216項は右シフト操作を行なうだけでよく、M・N
項を求める必要がなくなり、内挿係数の算出が容易にな
る。第10表にくり返し指定データ、増分値α、波形1周
期のサンプル数と、くり返し回数の関係を示す。
1/216項は右シフト操作を行なうだけでよく、M・N
項を求める必要がなくなり、内挿係数の算出が容易にな
る。第10表にくり返し指定データ、増分値α、波形1周
期のサンプル数と、くり返し回数の関係を示す。
なお、くり返し数指定データが(F)16であれば、最終波
形を示す最終波形フラグ(信号WEF)として用いてい
る。
形を示す最終波形フラグ(信号WEF)として用いてい
る。
DBK(606)の制御データ領域は波形板数に関係なく128語
として固定化している。また、制御データ1語は16ビツ
ト構成であり、次のように、4ビツトづつの4グループ
にくり返し指定データを分けている。
として固定化している。また、制御データ1語は16ビツ
ト構成であり、次のように、4ビツトづつの4グループ
にくり返し指定データを分けている。
ビツト位置0〜3…C,C#,D音 ビツト位置4〜7…D#,E,F音 ビツト位置8〜11…F#,G,G#音 ビツト位置12〜15…A,A#,B音 このようにすることにより、音階によつて制御データを
異なるように設定でき、1オクターブ内同一波形データ
を使用しても、楽音の立上り時間や、波形形状の変化時
間を一定にすることが可能となる。波形データは1語16
ビツト構成のPCMデータである。
異なるように設定でき、1オクターブ内同一波形データ
を使用しても、楽音の立上り時間や、波形形状の変化時
間を一定にすることが可能となる。波形データは1語16
ビツト構成のPCMデータである。
第19図はDRP(808)の一具体例を示す構成図である。図
中、(1901)は楽音合成データROM(DBK)(606)から所定の
合成データを読み出すアドレスデータを格納するDBKア
ドレスレジスタ、(1902)は楽音合成データROM(DBK)(60
6)から合成データDRP(808)の内部に取り込むDBK入力バ
ツフア、(1903)はDBK(606)に格納している先頭アドレス
を読み取るためのアドレスデータを出力する参照先頭ア
ドレスゲート、(1904)はf(Xi,n)に相当する波形サンプ
ルに値を格納する波形データメモリI、(1905)はf(X
i+1,n)に相当する波形サンプルに値を格納する波形デー
タメモリII、(1906)は内挿係数の分子に相当する(N・
m+n)αを格納する係数データメモリ、(1907)は先頭
アドレスレジス タ、(1908)は内挿係数の(N・m+n)α項の増分値α
を生成する増分生成部、(1909)は波形1周期内のサンプ
ルナンバnを格納する波形サンプルナンバメモリ、(191
0)は波形ナンバiを格納する波形ナンバメモリ、(1911)
はオフセツトデータゲート、(1912)は累積レジスタ(AC
C)、(1913)はフルアダー、ラツチ、やキヤリフラグレジ
スタなどで構成している演算部、(1914)は演算部(1913)
内のラツチALにデータを供給するDAバス、(1915)は演算
部(1913)内のラツチBLにデータを供給するDBバス、(191
6)は演算部(1913)で行なう演算結果を各レジスタに供給
するDCバス、(1917)はDBK入力バツフア(1902)の
出力を波形データメモリI(1904)などに供給するDBKバ
スである。
中、(1901)は楽音合成データROM(DBK)(606)から所定の
合成データを読み出すアドレスデータを格納するDBKア
ドレスレジスタ、(1902)は楽音合成データROM(DBK)(60
6)から合成データDRP(808)の内部に取り込むDBK入力バ
ツフア、(1903)はDBK(606)に格納している先頭アドレス
を読み取るためのアドレスデータを出力する参照先頭ア
ドレスゲート、(1904)はf(Xi,n)に相当する波形サンプ
ルに値を格納する波形データメモリI、(1905)はf(X
i+1,n)に相当する波形サンプルに値を格納する波形デー
タメモリII、(1906)は内挿係数の分子に相当する(N・
m+n)αを格納する係数データメモリ、(1907)は先頭
アドレスレジス タ、(1908)は内挿係数の(N・m+n)α項の増分値α
を生成する増分生成部、(1909)は波形1周期内のサンプ
ルナンバnを格納する波形サンプルナンバメモリ、(191
0)は波形ナンバiを格納する波形ナンバメモリ、(1911)
はオフセツトデータゲート、(1912)は累積レジスタ(AC
C)、(1913)はフルアダー、ラツチ、やキヤリフラグレジ
スタなどで構成している演算部、(1914)は演算部(1913)
内のラツチALにデータを供給するDAバス、(1915)は演算
部(1913)内のラツチBLにデータを供給するDBバス、(191
6)は演算部(1913)で行なう演算結果を各レジスタに供給
するDCバス、(1917)はDBK入力バツフア(1902)の
出力を波形データメモリI(1904)などに供給するDBKバ
スである。
次に各部の構成について説明する。波形データメモリI
(1904)、波形データメモリII(1905)は、それぞれDBK(60
6)から読み取つた波形データをシーケンサ(802)から供
給されている制御データの中の信号WRWDI、WRWDIIによ
つて一時格納しておくレジスタR(WDI)、R(WDII)と、
8チヤネル分の波形データを記憶する16ビツト×8語の
メモリM(WDI)、M(WDII)で構成されている。通常、メ
モリは読み出し状態となつており、シーケンサ(802)か
ら供給されているチヤネルコードCHCに基づいたチヤネ
ルの波形データ▲▼、▲▼をWDP(807)に
供給している。
(1904)、波形データメモリII(1905)は、それぞれDBK(60
6)から読み取つた波形データをシーケンサ(802)から供
給されている制御データの中の信号WRWDI、WRWDIIによ
つて一時格納しておくレジスタR(WDI)、R(WDII)と、
8チヤネル分の波形データを記憶する16ビツト×8語の
メモリM(WDI)、M(WDII)で構成されている。通常、メ
モリは読み出し状態となつており、シーケンサ(802)か
ら供給されているチヤネルコードCHCに基づいたチヤネ
ルの波形データ▲▼、▲▼をWDP(807)に
供給している。
そして、シーケンス(802)からの制御データの中の信号W
RRAMによつて、メモリは書き込み状態となり、レジスタ
R(WDI)、R(WDII)に格納している波形データをチヤネ
ルコードCHCに基づいたメモリの所定のアドレスに書き
込む。
RRAMによつて、メモリは書き込み状態となり、レジスタ
R(WDI)、R(WDII)に格納している波形データをチヤネ
ルコードCHCに基づいたメモリの所定のアドレスに書き
込む。
係数データメモリ(1906)は、演算部(1913)の演算結果を
シーケンサ(802)から供給されている制御データの中の
信号WRMDによつて一時格納しておくレジスタR(MD)と、
8チヤネル分の係数データを記憶する16ビツト×8語の
メモリM(MD)と、メモリM(MD)の出力データを信号RDMD
によつてDBバスに供給するゲートで構成している。通
常、メモリは読み出し状態となつており、シーケンサ(8
02)から構成されているチヤネルコードCHCに基づいたア
ドレスの係数データ(M(MD))を、上述のゲートとWDP
(807)に供給している。
シーケンサ(802)から供給されている制御データの中の
信号WRMDによつて一時格納しておくレジスタR(MD)と、
8チヤネル分の係数データを記憶する16ビツト×8語の
メモリM(MD)と、メモリM(MD)の出力データを信号RDMD
によつてDBバスに供給するゲートで構成している。通
常、メモリは読み出し状態となつており、シーケンサ(8
02)から構成されているチヤネルコードCHCに基づいたア
ドレスの係数データ(M(MD))を、上述のゲートとWDP
(807)に供給している。
そして、信号WRRAMによつて、メモリは書き込み状態と
なり、レジスタR(MD)に格納している新係数データをチ
ヤネルコードCHCに基づいたメモリの所定のアドレスに
書き込む。
なり、レジスタR(MD)に格納している新係数データをチ
ヤネルコードCHCに基づいたメモリの所定のアドレスに
書き込む。
先頭アドレスレジスタ(1907)は、DBK(606)から読み取つ
た先頭番地をシーケンサ(802)からの制御データの中
(以下同じ)の信号TDAによつてDAバスに供給するゲー
ト1と、信号WRTADによつて読み取つた先頭番地を一時
格納するレジスタR(TAD)と、信号RDTADによつてレジス
タR(TAD)に格納している先頭番地をDBバスに供給する
ゲート2から構成している。
た先頭番地をシーケンサ(802)からの制御データの中
(以下同じ)の信号TDAによつてDAバスに供給するゲー
ト1と、信号WRTADによつて読み取つた先頭番地を一時
格納するレジスタR(TAD)と、信号RDTADによつてレジス
タR(TAD)に格納している先頭番地をDBバスに供給する
ゲート2から構成している。
増分生成部(1908)は、DBK(606)から読み取つた制御デー
タを信号WRREPによつて一時格納するレジスタR(REP)
と、入力レジスタ部(803)から供給されているノートク
ロツク指定データNDに基づいてレジスタR(REP)に格納
している制御データから所定のくり返し指定データを選
択する選択器と、選択器で選択したくり返し数指定デー
タを第10表に示した増分値αに変換する変換器と、最終
波形フラグを検出して最終波形フラグWEF〔“1”〕を
出力する検出器と、信号RDREPによつて変換器の出力デ
ータ(増分値α)をDAバスに供給するゲートとで構成し
ている。
タを信号WRREPによつて一時格納するレジスタR(REP)
と、入力レジスタ部(803)から供給されているノートク
ロツク指定データNDに基づいてレジスタR(REP)に格納
している制御データから所定のくり返し指定データを選
択する選択器と、選択器で選択したくり返し数指定デー
タを第10表に示した増分値αに変換する変換器と、最終
波形フラグを検出して最終波形フラグWEF〔“1”〕を
出力する検出器と、信号RDREPによつて変換器の出力デ
ータ(増分値α)をDAバスに供給するゲートとで構成し
ている。
波形サンプルナンバメモリ(1909)は、演算部(1913)の演
算結果(新波形サンプルナンバn)を信号WRWSNによつ
て一時格納しておくレジスタR(WSN)と、8チヤネル分
の波形サンプルナンバnを記憶する16ビツト×8語のメ
モリM(WSN)と、メモリM(WSN)の出力データを信号RDWS
NによつてDBバスに供給するゲートとで構成している。
通常、メモリM(WSN)は読み出し状態となつており、シ
ーケンサ(802)から供給されているチヤネルコードCHCに
基づいたチヤネルの波形サンプルナンバnを上述のゲー
トに供給している。
算結果(新波形サンプルナンバn)を信号WRWSNによつ
て一時格納しておくレジスタR(WSN)と、8チヤネル分
の波形サンプルナンバnを記憶する16ビツト×8語のメ
モリM(WSN)と、メモリM(WSN)の出力データを信号RDWS
NによつてDBバスに供給するゲートとで構成している。
通常、メモリM(WSN)は読み出し状態となつており、シ
ーケンサ(802)から供給されているチヤネルコードCHCに
基づいたチヤネルの波形サンプルナンバnを上述のゲー
トに供給している。
そして、信号WRRAMによつてメモリM(WSN)は書き込み状
態となり、レジスタR(WSN)に格納している新波形サン
プルナンバnをチヤネルコードに基づいたメモリの所定
のアドレスに書き込む。
態となり、レジスタR(WSN)に格納している新波形サン
プルナンバnをチヤネルコードに基づいたメモリの所定
のアドレスに書き込む。
波形ナンバメモリ(1910)は、演算部(1913)の演算結果
(新波形ナンバi)を信号WRWNDによつて一時格納して
おくレジスタR(WND)と、8チヤネル分の波形ナンバi
を記憶する16ビツト×8語のメモリM(WND)と、メモリ
M(WND)の出力データ(波形ナンバ)を入力レジスタ部
(803)から供給されている波形サンプル数指定データSD
に基づいてシフト処理(i×サンプル数)を行ない、波
形ナンバアドレスWNAを出力するシフタ部と、信号RDWND
によつてメモリの出力データをDBバスに供給するゲート
1と、信号RDWNAによつてシフタ部の出力データをDBバ
スに供給するゲート2と、波形サンプル数指定データSD
に対応するサンプル数データを発生するサンプル数発生
器と、信号RDNWSによつてサンプル数発生器の出力デー
タをDBバスに供給するゲート3とで構成している。
(新波形ナンバi)を信号WRWNDによつて一時格納して
おくレジスタR(WND)と、8チヤネル分の波形ナンバi
を記憶する16ビツト×8語のメモリM(WND)と、メモリ
M(WND)の出力データ(波形ナンバ)を入力レジスタ部
(803)から供給されている波形サンプル数指定データSD
に基づいてシフト処理(i×サンプル数)を行ない、波
形ナンバアドレスWNAを出力するシフタ部と、信号RDWND
によつてメモリの出力データをDBバスに供給するゲート
1と、信号RDWNAによつてシフタ部の出力データをDBバ
スに供給するゲート2と、波形サンプル数指定データSD
に対応するサンプル数データを発生するサンプル数発生
器と、信号RDNWSによつてサンプル数発生器の出力デー
タをDBバスに供給するゲート3とで構成している。
通常メモリM(WND)は読み出し状態となつており、シー
ケンサ(802)から供給されているチヤネルコードCHCに基
づいたチヤネルの波形ナンバiを上述のゲート1とシフ
タ部に供給している。
ケンサ(802)から供給されているチヤネルコードCHCに基
づいたチヤネルの波形ナンバiを上述のゲート1とシフ
タ部に供給している。
そして、信号WRRAMによつて、メモリM(WND)は書き込み
状態となり、レジスタR(WND)に格納している新波形ナ
ンバiをチヤネルコードに基づいたメモリの所定のアド
レスに書き込む。
状態となり、レジスタR(WND)に格納している新波形ナ
ンバiをチヤネルコードに基づいたメモリの所定のアド
レスに書き込む。
累積レジスタ(ACC)(1912)は、演算部(1913)の演算結果
を信号WRACCによつて一時格納しておくレジスタR(ACC)
と、信号RDACCによつてレジスタR(ACC)に格納している
データをDAバスに供給するゲートとで構成している。
を信号WRACCによつて一時格納しておくレジスタR(ACC)
と、信号RDACCによつてレジスタR(ACC)に格納している
データをDAバスに供給するゲートとで構成している。
第23図は演算部(1913)の一具体例を示す構成図である。
(2301)は信号φ2の立下りエツヂでDAバスの内容を記憶
するラツチALであり、信号DCRALでクリヤされる。(230
2)は信号φ2の立下りエツヂでDBバスの内容を記憶する
ラツチBL、(2303)はキヤリ入力(CI)とキヤリ出力(CO)と
を有する16ビツト加算器(FA)、(3204)はFA(2303)のキヤ
リ出力信号を信号WRMDによつて格納するキヤリフラグレ
ジスタ、(2305)は信号TCAによつてFA(2303)の出力デー
タをDAバスに供給するゲート、(2306)はFA(2303)の出力
データをDCバスに供給するゲート、(2307)はDCバスにデ
ータ(0000)16を供給するゲート、(2308)は入力レジスタ
部(803)から供給されているキーオン/オフ信号KDと信
号RDFLGとチヤネルコードCHCとを入力とし、チヤネルご
とに独立にキー信号がオフ状態からオン状態に変化する
タイミングを検出して検出信号を出力するオン/オフ検
出部、(2309)〜(2313)はANDゲート、(2314)(2315)(231
6)はORゲートである。
(2301)は信号φ2の立下りエツヂでDAバスの内容を記憶
するラツチALであり、信号DCRALでクリヤされる。(230
2)は信号φ2の立下りエツヂでDBバスの内容を記憶する
ラツチBL、(2303)はキヤリ入力(CI)とキヤリ出力(CO)と
を有する16ビツト加算器(FA)、(3204)はFA(2303)のキヤ
リ出力信号を信号WRMDによつて格納するキヤリフラグレ
ジスタ、(2305)は信号TCAによつてFA(2303)の出力デー
タをDAバスに供給するゲート、(2306)はFA(2303)の出力
データをDCバスに供給するゲート、(2307)はDCバスにデ
ータ(0000)16を供給するゲート、(2308)は入力レジスタ
部(803)から供給されているキーオン/オフ信号KDと信
号RDFLGとチヤネルコードCHCとを入力とし、チヤネルご
とに独立にキー信号がオフ状態からオン状態に変化する
タイミングを検出して検出信号を出力するオン/オフ検
出部、(2309)〜(2313)はANDゲート、(2314)(2315)(231
6)はORゲートである。
増分生成部(1908)から供給されている最終波形フラグ信
号WEFと信号RDNWSとがともに“1”の場合、ANDゲート
(2309)の出力信号は“1”となり、ラツチBL(2302)をリ
セツトする。信号WEFと信号WRMDがともに“1”の場
合、ANDゲート(2312)の出力信号は“1”となり、DCバ
スにはゲート(2307)からのデータ(0000)16が供給され
る。
号WEFと信号RDNWSとがともに“1”の場合、ANDゲート
(2309)の出力信号は“1”となり、ラツチBL(2302)をリ
セツトする。信号WEFと信号WRMDがともに“1”の場
合、ANDゲート(2312)の出力信号は“1”となり、DCバ
スにはゲート(2307)からのデータ(0000)16が供給され
る。
オフセツトデータゲート(1911)で発生するオフセツトデ
ータは10進数で256であり、制御データの格納領域に相
当する。
ータは10進数で256であり、制御データの格納領域に相
当する。
DRP(808)もFDP(806)と同様に、シーケンサ(802)から供
給される制御信号に基づいて下述する演算処理を行な
う。
給される制御信号に基づいて下述する演算処理を行な
う。
DBKに格納してある先頭アドレスTADを読み取る。
入力レジスタ部(803)から供給されている楽音発生デー
タ(ND,SD)をシーケンサ(802)から供給されている信号RD
RTAによつてDCバスに供給する。そして、DCバス上の信
号ND,SDを信号WRDBKによつてDBKアドレスレジスタ(190
1)に格納し、DBK(606)に供給する。DBK(606)から読み出
した先頭アドレスデータTADを信号WRTADによつて先頭ア
ドレスレジスタ(1907)のレジスタR(TAD)に格納する。
タ(ND,SD)をシーケンサ(802)から供給されている信号RD
RTAによつてDCバスに供給する。そして、DCバス上の信
号ND,SDを信号WRDBKによつてDBKアドレスレジスタ(190
1)に格納し、DBK(606)に供給する。DBK(606)から読み出
した先頭アドレスデータTADを信号WRTADによつて先頭ア
ドレスレジスタ(1907)のレジスタR(TAD)に格納する。
くり返し数指定データの読み込み処理。
読み込んだ先頭アドレスデータTADと波形ナンバメモリ
(1910)に格納している波形ナンバiとの加算処理(TAD
+i)を演算部(1913)で行ない、加算結果をDBKアドレ
スレジスタ(1901)に格納し、DBK(606)からくり返し数指
定データを読み取り、増分生成部(1908)のレジスタR(R
EP)に格納する。
(1910)に格納している波形ナンバiとの加算処理(TAD
+i)を演算部(1913)で行ない、加算結果をDBKアドレ
スレジスタ(1901)に格納し、DBK(606)からくり返し数指
定データを読み取り、増分生成部(1908)のレジスタR(R
EP)に格納する。
波形サンプルf(Xi,n)の読み取り処理。
先頭アドレスレジスタ(1907)に格納した先頭アドレスデ
ータTADとオフセツトデータ(256)10との加算処理(WAD1
=TAD+256)を演算部(1913)で行ない、加算結果をACC
(1912)のR(ACC)に格納する。ACC(1912)に格納したアド
レスデータWAD1と波形サンプルナンバメモリ(1910)に格
納している波形サンプルナンバnとの加算処理(WAD1=
WAD1+n)を演算部(1913)で行ない加算結果をACC(191
2)に格納する。そして、ACC(1912)に格納してあるアド
レスデータWAD1′と波形ナンバiを波形サンプル数指定
データSDに基づいてシフト処理したデータ(i×サンプ
ル数;i=0,1,2,…,I−1)との加算処理(WA
D1″=WAD1′+i×サンプル数)を演算部(1913)で行な
い、加算結果をACC(1912)とDBKアドレスレジスタ(1901)
に格納し、DBK(606)からf(Xi,n)に相当する波形サンプ
ルデータを読み取り波形メモリI(1904)内のレジスタR
(WDI)に格納する。
ータTADとオフセツトデータ(256)10との加算処理(WAD1
=TAD+256)を演算部(1913)で行ない、加算結果をACC
(1912)のR(ACC)に格納する。ACC(1912)に格納したアド
レスデータWAD1と波形サンプルナンバメモリ(1910)に格
納している波形サンプルナンバnとの加算処理(WAD1=
WAD1+n)を演算部(1913)で行ない加算結果をACC(191
2)に格納する。そして、ACC(1912)に格納してあるアド
レスデータWAD1′と波形ナンバiを波形サンプル数指定
データSDに基づいてシフト処理したデータ(i×サンプ
ル数;i=0,1,2,…,I−1)との加算処理(WA
D1″=WAD1′+i×サンプル数)を演算部(1913)で行な
い、加算結果をACC(1912)とDBKアドレスレジスタ(1901)
に格納し、DBK(606)からf(Xi,n)に相当する波形サンプ
ルデータを読み取り波形メモリI(1904)内のレジスタR
(WDI)に格納する。
波形サンプルf(Xi+1,n)の読み取り処理。
ACC(1912)に格納したアドレスデータWAD1″と波形サン
プル数指定デタSDで指定している波形サンプル数NWS
(波形ナンバメモリ(1910)内で発生)との加算処理(WA
D2=WAD1′+NWS)を演算部(1913)で行ない加算結果をD
BKアドレスレジスタ(1901)に格納し、DBK(606)からf(X
i+1,n)に相当する波形サンプルデータを読み取り波形メ
モリII(1905)内のレジスタR(WDII)に格納する。
プル数指定デタSDで指定している波形サンプル数NWS
(波形ナンバメモリ(1910)内で発生)との加算処理(WA
D2=WAD1′+NWS)を演算部(1913)で行ない加算結果をD
BKアドレスレジスタ(1901)に格納し、DBK(606)からf(X
i+1,n)に相当する波形サンプルデータを読み取り波形メ
モリII(1905)内のレジスタR(WDII)に格納する。
波形サンプルナンバnの更新処理。
波形サンプルナンバnとシーケンサ(802)から供給され
る信号DADD1との加算処理(n=n+1)を演算部(191
3)で行ない、波形サンプルナンバメモリ(1909)内の波形
ナンバレジスタR(WSN)に格納する。
る信号DADD1との加算処理(n=n+1)を演算部(191
3)で行ない、波形サンプルナンバメモリ(1909)内の波形
ナンバレジスタR(WSN)に格納する。
内挿係数(N・m+n)αの更新処理。
係数データメモリ(1906)に格納している内挿係数〔(N
・m+n)α〕と増分生成部(1908)で発生している増分
値αとの加算処理を演算部(1913)で行ない、加算結果を
係数データメモリ(1906)内にある係数データレジスタR
(MD)に格納すると共に、加算結果がオーバフオローした
場合演算部(1913)内にあるキヤリーフラグレジスタCFを
“1”にセツトする。
・m+n)α〕と増分生成部(1908)で発生している増分
値αとの加算処理を演算部(1913)で行ない、加算結果を
係数データメモリ(1906)内にある係数データレジスタR
(MD)に格納すると共に、加算結果がオーバフオローした
場合演算部(1913)内にあるキヤリーフラグレジスタCFを
“1”にセツトする。
波形ナンバiの更新処理。
波形ナンバメモリ(1910)に格納している波形ナンバiと
上述で説明したキヤリーフラグレジスタCFの内容との
加算処理(i=i+CF)を演算部(1913)で行ない、波形
ナンバメモリ(1910)にある波形ナンバレジスタR(WND)
に格納する。
上述で説明したキヤリーフラグレジスタCFの内容との
加算処理(i=i+CF)を演算部(1913)で行ない、波形
ナンバメモリ(1910)にある波形ナンバレジスタR(WND)
に格納する。
レジスタR(WND)、R(WSD)、R(MD)、R(WDI)、R(WD
II)に格納した各種データをチヤネルコードCHCで指定さ
れたそれぞれのメモリ領域へのデータ転送処理。命令ス
テツプ11のタイミングで、シーケンサ(802)から供給さ
れる信号WRRAMに基づいてデータ転送処理が行なわれ
る。なお、計算要求フラグ信号CLRFが“0”の場合には
転送処理を行なわないようにしている。なぜならば、新
しい波形サンプルの算出を行なわないためである。
II)に格納した各種データをチヤネルコードCHCで指定さ
れたそれぞれのメモリ領域へのデータ転送処理。命令ス
テツプ11のタイミングで、シーケンサ(802)から供給さ
れる信号WRRAMに基づいてデータ転送処理が行なわれ
る。なお、計算要求フラグ信号CLRFが“0”の場合には
転送処理を行なわないようにしている。なぜならば、新
しい波形サンプルの算出を行なわないためである。
第11表にDRP(808)の演算シーケンサを示す。
第11表に示す命令ステツプを順次実行することにより、
上述〜で説明した処理が実現される。
上述〜で説明した処理が実現される。
なお、第4表で説明したキーオン/オフ信号KDが“0”
から“1”に変化した最初の処理はイニシヤル処理とし
て下述のような条件設定を行なう。
から“1”に変化した最初の処理はイニシヤル処理とし
て下述のような条件設定を行なう。
イニシヤル処理を指示する信号〔“1”〕は、第23図に
示した演算部(1913)内のオン/オフ検出部(2308)で発生
する。
示した演算部(1913)内のオン/オフ検出部(2308)で発生
する。
波形サンプルナンバn=(0)10設定。
第11表に示した命令ステツプ7のタイミングで信号WRWS
Nが演算部(1913)に供給される。そうすると、ANDゲート
(2310)の出力信号は“1”となり、ゲート(2306)(2307)
の制御入力に“1”が供給される。この結果、DCバスに
は(0000)16が供給され、波形サンプルナンバメモリ(190
9)内のレジスタR(WSN)に(0000)16を格納する。
Nが演算部(1913)に供給される。そうすると、ANDゲート
(2310)の出力信号は“1”となり、ゲート(2306)(2307)
の制御入力に“1”が供給される。この結果、DCバスに
は(0000)16が供給され、波形サンプルナンバメモリ(190
9)内のレジスタR(WSN)に(0000)16を格納する。
波形ナンバi=(0)10設定。
第11表に示した命令ステツプ10のタイミングで、信号WR
WNDが演算部(1913)に供給される。そうすると、ANDゲー
ト(2311)の出力信号は“1”となり、ゲート(2306)(230
7)の制御入力に“1”が供給される。この結果、DCバス
には(0000)16が供給され、波形ナンバメモリ(1910)内の
レジスタR(WND)に(0000)16を格納する。
WNDが演算部(1913)に供給される。そうすると、ANDゲー
ト(2311)の出力信号は“1”となり、ゲート(2306)(230
7)の制御入力に“1”が供給される。この結果、DCバス
には(0000)16が供給され、波形ナンバメモリ(1910)内の
レジスタR(WND)に(0000)16を格納する。
上述の,の処理によつて、キーオン/オフ信号KDが
オフからオンに変化するたびに、波形ナンバiと波形サ
ンプルナンバnとが初期設定される。
オフからオンに変化するたびに、波形ナンバiと波形サ
ンプルナンバnとが初期設定される。
また、DBK(606)から読み込んだくり返し指定データが
(F)16すなわち、最終波形フラグWEFならば、下述のよう
な条件設定を行なう。
(F)16すなわち、最終波形フラグWEFならば、下述のよう
な条件設定を行なう。
内挿係数の分子項(N・m+n)α=(0)10の設定。
第11表に示した命令ステツプ9のタイミングで信号WRMD
が演算部(1913)内のANDゲート(2312)に供給される。そ
うすると、ANDゲート(2312)の出力信号は“1”とな
り、ゲート(2306)(2307)の制御入力に“1”供給され
る。この結果、DCバスには(0000)16が供給され、係数レ
ジスタメモリ(1906)内のレジスタR(MD)に(0000)16を格
納する。
が演算部(1913)内のANDゲート(2312)に供給される。そ
うすると、ANDゲート(2312)の出力信号は“1”とな
り、ゲート(2306)(2307)の制御入力に“1”供給され
る。この結果、DCバスには(0000)16が供給され、係数レ
ジスタメモリ(1906)内のレジスタR(MD)に(0000)16を格
納する。
波形サンプル数NWS=(0)10の設定。
第11表に示した命令ステツプ7のタイミングで信号RDNW
Sが演算部(1913)内のANDゲート(2309)に供給される。そ
うすると、ANDゲート(2309)の出力信号は“1”とな
り、ラツチBL(2302)の格納状態をクリヤ(0000)16する。
この結果、波形サンプルf(Xi+1,n)を読み込むためのDB
K(606)のアドレスデータは波形サンプルf(Xi,n)
を読み込んだアドレスデータと等しくなる。
Sが演算部(1913)内のANDゲート(2309)に供給される。そ
うすると、ANDゲート(2309)の出力信号は“1”とな
り、ラツチBL(2302)の格納状態をクリヤ(0000)16する。
この結果、波形サンプルf(Xi+1,n)を読み込むためのDB
K(606)のアドレスデータは波形サンプルf(Xi,n)
を読み込んだアドレスデータと等しくなる。
上述,の設定によつて、最終波形データとなると、
実質的に波形内挿処理を行なわず、最終波形データをく
り返し使用することになる。
実質的に波形内挿処理を行なわず、最終波形データをく
り返し使用することになる。
第11表に示した信号についての説明 下述する信号はシーケンサ(802)から供給される。
RDOSDは、オフセツトデータ(256)をDAバスに供給する。
RDACCは、ACC(1912)内のレジスタR(ACC)に格納してい
るデータをDAバスに供給する命令。
るデータをDAバスに供給する命令。
RDREPは、増分生成部(1908)内で生成された増分値αをD
Aバスに供給する命令。
Aバスに供給する命令。
RDWSNは、波形サンプルナンバメモリ(1909)内のメモリ
M(WSN)から読み出されている波形サンプルナンバnをD
Bバスに供給する命令。
M(WSN)から読み出されている波形サンプルナンバnをD
Bバスに供給する命令。
RDWNDは、波形ナンバメモリ(1910)内のメモリM(WND)か
ら読み出されている波形サンプルナンバiをDBバスに供
給する命令。
ら読み出されている波形サンプルナンバiをDBバスに供
給する命令。
RDWNAは、波形ナンバメモリ(1910)内にあるシフタ部で
発生している波形ナンバアドレス(WNA)をDBバスに供給
する命令。
発生している波形ナンバアドレス(WNA)をDBバスに供給
する命令。
RDTADは、先頭アドレスレジスタ(1907)内のレジスタR
(TAD)に格納している先頭番地をDBバスに供給する命
令。
(TAD)に格納している先頭番地をDBバスに供給する命
令。
RDNWSは、波形ナンバメモリ(1910)内のサンプル数発生
器で発生しているサンプル数をDBバスに供給する命令。
器で発生しているサンプル数をDBバスに供給する命令。
RDMDは、係数データメモリ(1906)内のメモリM(MD)から
読み出されている係数データをDBバスに供給する命令。
読み出されている係数データをDBバスに供給する命令。
RDRTAは、入力レジスタ部(803)から供給されている楽音
発生データ(ND,SD)をDCバスに供給する命令。
発生データ(ND,SD)をDCバスに供給する命令。
WRDBKは、DCバス上のデータをDBKアドレスレジスタ(190
1)内のレジスタR(DBK)に格納する命令。
1)内のレジスタR(DBK)に格納する命令。
WRACCは、DCバス上のデータをACC(1912)内のレジスタR
(ACC)に格納する命令。
(ACC)に格納する命令。
WRWSNは、DCバス上のデータを波形サンプルナンバメモ
リ(1909)内のレジスタR(WSN)に格納する命令。
リ(1909)内のレジスタR(WSN)に格納する命令。
WRMDは、DCバス上のデータを係数データメモリ(1906)内
のレジスタR(MD)に格納する命令。
のレジスタR(MD)に格納する命令。
WRWNDは、DCバス上のデータを波形ナンバメモリ(1910)
内のレジスタR(WND)に格納する命令。
内のレジスタR(WND)に格納する命令。
TDAは、先頭アドレスレジスタ(1907)にDBKから読み
込んだ先頭番地をDAバスに供給する命令。
込んだ先頭番地をDAバスに供給する命令。
TCAは、DCバス上のデータをDAバスに供給する命令。
DCRALは、演算部(1913)内のラツチAL(2301)をクリヤす
る命令。
る命令。
DADD1は、演算部(1913)内のFA(2303)にキヤリ入力信号
(+1)を供給する命令。
(+1)を供給する命令。
RDFLGは、演算部(1913)内のオン/オフ検出部(2308)に
新キーオン/オフ信号KDを取り込む命令。
新キーオン/オフ信号KDを取り込む命令。
WRRAMは、波形データメモリI(1904)内のレジスタR(WD
I)、波形データメモリII(1905)内のレジスタR(WDII)、
係数データメモリ(1906)内のレジスタR(MD)、波形サン
プルナンバメモリ(1909)内のレジスタR(WSN)、波形ナ
ンバメモリ(1910)内のレジスタR(WND)に格納している
データを、それぞれのメモリM(WDI)、M(WDII)、M(M
D)、M(WSN)、M(WND)に書き込む命令。
I)、波形データメモリII(1905)内のレジスタR(WDII)、
係数データメモリ(1906)内のレジスタR(MD)、波形サン
プルナンバメモリ(1909)内のレジスタR(WSN)、波形ナ
ンバメモリ(1910)内のレジスタR(WND)に格納している
データを、それぞれのメモリM(WDI)、M(WDII)、M(M
D)、M(WSN)、M(WND)に書き込む命令。
以上のように、データメモリ(DBK)に合成データ(波形
データ、制御データ)の先頭番地を格納することによ
り、回路構成を複雑化することなく、データメモリ内の
データ内容操作だけで異なる波形データの選択ができ、
異なる楽音を容易に発生することができる。
データ、制御データ)の先頭番地を格納することによ
り、回路構成を複雑化することなく、データメモリ内の
データ内容操作だけで異なる波形データの選択ができ、
異なる楽音を容易に発生することができる。
さらに、複数組の制御データ(くり返し数指定データ)
を用意し、合成する場合には、所定の制御データを選択
して使用するようにしているため、音階によつて制御デ
ータを異なるように設定することができ、1オクターブ
内同一波形データを使用しても、楽音の立上り時間や、
波形形状の変化時間を一定にすることができる。
を用意し、合成する場合には、所定の制御データを選択
して使用するようにしているため、音階によつて制御デ
ータを異なるように設定することができ、1オクターブ
内同一波形データを使用しても、楽音の立上り時間や、
波形形状の変化時間を一定にすることができる。
さらに、同一データベース上に波形データ、制御データ
と先頭番地とを格納し、時分割的に各種データを読み取
るようにしているので、データメモリ(DBK)の回路構成
が簡略化できるとともに、データメモリとDRP(808)との
インターフエース処理が簡略化できる。
と先頭番地とを格納し、時分割的に各種データを読み取
るようにしているので、データメモリ(DBK)の回路構成
が簡略化できるとともに、データメモリとDRP(808)との
インターフエース処理が簡略化できる。
波形データプロセツサWDP(807)の詳細な説明 第20図はWDP(807)の演算処理の流れ図である。WDP(807)
の演算処理として、4種類の演算がある。
の演算処理として、4種類の演算がある。
波形内挿演算を行なつて仮想波形サンプル値 を求める。
仮想波形サンプル値 とエンベロープデータEDとの乗算を行ない、エンベロー
プ付加波形サンプル値 を求める。
プ付加波形サンプル値 を求める。
前回求めたエンベロープ付加波形サンプル値旧 と今回求めたエンベロープ付加波形サンプル値新 との差分演算を行なつて差分波形サンプル値Df(X
i,m,n,q,r)を求める。
i,m,n,q,r)を求める。
エンベロープデータEDの更新を行なう。
次に、エンベロープデータEDとエンベロープ付加方法に
ついて説明する。
ついて説明する。
エンベロープデータEDは20ビツトで構成されている。上
位4ビツトをEDU(Q)、下位16ビツトをEDL(R)とする。
位4ビツトをEDU(Q)、下位16ビツトをEDL(R)とする。
エンベロープデータEDの更新方法は、新ED=旧ED+ΔED
と云う演算処理を行なつて求める。増分エンベロープデ
ータΔEDは、CPU(603)から入力レジスタ部(803)に供給
されたサステインデータDSUSあるいは、ダンパーデータ
DDMPを使用する。サステインデータ、ダンパーデータの
選択は、オルガン型エンベロープ、ピアノ型エンベロー
プおよびキーオン/オフ信号に基づいて使い分けを行な
う。
と云う演算処理を行なつて求める。増分エンベロープデ
ータΔEDは、CPU(603)から入力レジスタ部(803)に供給
されたサステインデータDSUSあるいは、ダンパーデータ
DDMPを使用する。サステインデータ、ダンパーデータの
選択は、オルガン型エンベロープ、ピアノ型エンベロー
プおよびキーオン/オフ信号に基づいて使い分けを行な
う。
エンベロープ付加波形サンプル値を求める演算式を下式
に示す。
に示す。
q=0,1,2,…,Q−1(Q=24) r=0,1,2,…,R−1(R=216) エンベロープデータEDを単調増加すなわち、新ED=旧ED
+ΔED(一定)とし、(5)式を実行することにより、指
数特性の減衰(立下り)エンベロープが付加できる。ま
た、単調減少、すなわち新ED=旧ED−ΔED(一定)とす
ることにより、指数特性の立上り(アタツク)エンベロ
ープを付加することができる。このような処理を行なう
ことで、指数特性のエンベロープを発生せずに、演算だ
けで求められ、エンベロープデータEDの生成が簡単な構
成で実現できる。
+ΔED(一定)とし、(5)式を実行することにより、指
数特性の減衰(立下り)エンベロープが付加できる。ま
た、単調減少、すなわち新ED=旧ED−ΔED(一定)とす
ることにより、指数特性の立上り(アタツク)エンベロ
ープを付加することができる。このような処理を行なう
ことで、指数特性のエンベロープを発生せずに、演算だ
けで求められ、エンベロープデータEDの生成が簡単な構
成で実現できる。
第21図はWDP(807)の一具体例を示す構成図である。図中
(2101)は波形データゲートI、(2102)は波形データゲー
トII、(2103)はエンベロープデータEDの増分値を発生す
るエンベロープ増分発生部(ΔED発生部)、(2104)は旧
波形サンプル値 を記憶している旧波形データメモリ部、(2105)はエンベ
ロープデータEDを記憶しておくエンベロープデータメモ
リ部(EDメモリ部)(2106)は乗算部、(2107)は(5)式に
示した1/2qあるいは1/2q+1の演算を行なうシフタ部、(2
108)はフルアダー、ラツチやキヤリーフラグレジスタな
どで構成している演算部、(2109)は差分波形サンプル値 を格納するアウトプツトバツフアレジスタ(OBR)、(211
0)はアナログバツフアメモリ部(812)内のアナログスイ
ツチ(1103)〜(1107)(コンデンサC1〜C8に電荷を蓄える
ためのスイツチ)(第11図)のオン/オフを制御する書
き込みパルス発生部、(2111)は演算部(2108)内のラツチ
ALにデータを供給するWAバス、(2112)は演算部(2108)内
のラツチBLにデータを供給するWBバス、(2113)は演算部
(2108)で行なつた演算処理結果を各レジスタに供給する
WCバスである。
(2101)は波形データゲートI、(2102)は波形データゲー
トII、(2103)はエンベロープデータEDの増分値を発生す
るエンベロープ増分発生部(ΔED発生部)、(2104)は旧
波形サンプル値 を記憶している旧波形データメモリ部、(2105)はエンベ
ロープデータEDを記憶しておくエンベロープデータメモ
リ部(EDメモリ部)(2106)は乗算部、(2107)は(5)式に
示した1/2qあるいは1/2q+1の演算を行なうシフタ部、(2
108)はフルアダー、ラツチやキヤリーフラグレジスタな
どで構成している演算部、(2109)は差分波形サンプル値 を格納するアウトプツトバツフアレジスタ(OBR)、(211
0)はアナログバツフアメモリ部(812)内のアナログスイ
ツチ(1103)〜(1107)(コンデンサC1〜C8に電荷を蓄える
ためのスイツチ)(第11図)のオン/オフを制御する書
き込みパルス発生部、(2111)は演算部(2108)内のラツチ
ALにデータを供給するWAバス、(2112)は演算部(2108)内
のラツチBLにデータを供給するWBバス、(2113)は演算部
(2108)で行なつた演算処理結果を各レジスタに供給する
WCバスである。
次に各部の構成内容について説明する。ΔED発生部(210
3)は増分データΔEDとしてサステインデータDSUSとダン
パーデータDDMPのどちらか一方を選択する選択器と入力
レジスタ部(803)から供給されているキーオン/オフ信
号KD、オルガン型/ピアノ型指定信号OPSとダンパーオ
ン/オフ信号DMPから選択信号を生成する制御器と、信
号KD、信号OPS、信号DMPとDRP(803)内の増分生成部(190
8)から供給されている最終波形フラグ信号WEFから仮想
キーオン/オフ信号を生成し仮想キー信号EADGを出力す
る仮想キー信号発生部とから構成している。第12表に増
分データΔEDの選択内容と仮想キー信号EADGの発生状態
を示す。
3)は増分データΔEDとしてサステインデータDSUSとダン
パーデータDDMPのどちらか一方を選択する選択器と入力
レジスタ部(803)から供給されているキーオン/オフ信
号KD、オルガン型/ピアノ型指定信号OPSとダンパーオ
ン/オフ信号DMPから選択信号を生成する制御器と、信
号KD、信号OPS、信号DMPとDRP(803)内の増分生成部(190
8)から供給されている最終波形フラグ信号WEFから仮想
キーオン/オフ信号を生成し仮想キー信号EADGを出力す
る仮想キー信号発生部とから構成している。第12表に増
分データΔEDの選択内容と仮想キー信号EADGの発生状態
を示す。
第7表に示した信号OPSが“0”、すなわちオルガン型
指定の場合、仮想キー信号EADGは、キーオン/オフ信号
KDのオン(“1”)、オフ(“0”)状態と等しくな
る。
指定の場合、仮想キー信号EADGは、キーオン/オフ信号
KDのオン(“1”)、オフ(“0”)状態と等しくな
る。
信号OPSが“1”、すなわちピアノ型指定の場合、仮想
キー信号EADGは下述の状態となる。
キー信号EADGは下述の状態となる。
信号WEFが“0”の場合 (a)信号DMP(第7表に示したダンパオン/オフ信号)が
“0”の場合、仮想キー信号EADGは“オン”状態とな
る。
“0”の場合、仮想キー信号EADGは“オン”状態とな
る。
(b)信号DMPが“1”の場合、仮想キー信号EADGは、キー
オン/オフ信号KDのオン、オフ状態と等しくなる。
オン/オフ信号KDのオン、オフ状態と等しくなる。
信号WEFが“1”の場合 信号DMP、キーオン/オフ信号KDの状態に関係なく、仮
想キー信号EADGはオフ状態となる。
想キー信号EADGはオフ状態となる。
仮想キー信号EADGの働きの説明 信号WEFが“1”となり最終波形データをくり返し用い
て、接続者の楽音を発生する場合、オルガン型指定であ
れば、オルガン型の楽音特性と等しくなり問題は発生し
ない。
て、接続者の楽音を発生する場合、オルガン型指定であ
れば、オルガン型の楽音特性と等しくなり問題は発生し
ない。
ピアノ型指定となると、楽音特性は減衰特性とする必要
があり、信号WEF=“1”となり、最終波形データをく
り返し用いて接続者を発生しても、仮想キー信号EADGを
オフ状態として、減衰エンベロープ特性を付加して強制
的に楽音特性を減衰特性とする。
があり、信号WEF=“1”となり、最終波形データをく
り返し用いて接続者を発生しても、仮想キー信号EADGを
オフ状態として、減衰エンベロープ特性を付加して強制
的に楽音特性を減衰特性とする。
旧波形データメモリ部(2104)は、演算部(2108)の演算結
果をシーケンサ(802)から供給されている信号WROWDによ
つて一時格納しておくレジスタR(OWD)と、8チヤネル
分のエンベロープ付加波形サンプル値 を記憶する16ビツト×8語のメモリM(OWD)と、メモリ
M(OWD)の出力データを信号RDOWDによつてWBバスに供給
するゲートとで構成している。通常メモリM(OWD)は読
み出し状態となつており、シーケンサ(802)から供給さ
れているチヤネルコードCHCに基づいたアドレスのエン
ベロープ付加波形サンプル値を上述のゲートに供給して
いる。そして、信号WRRAMによつてメモリM(OWD)は書き
込み状態となり、レジスタR(OWD)に格納しているデー
タがメモリM(OWD)に書き込まれる。
果をシーケンサ(802)から供給されている信号WROWDによ
つて一時格納しておくレジスタR(OWD)と、8チヤネル
分のエンベロープ付加波形サンプル値 を記憶する16ビツト×8語のメモリM(OWD)と、メモリ
M(OWD)の出力データを信号RDOWDによつてWBバスに供給
するゲートとで構成している。通常メモリM(OWD)は読
み出し状態となつており、シーケンサ(802)から供給さ
れているチヤネルコードCHCに基づいたアドレスのエン
ベロープ付加波形サンプル値を上述のゲートに供給して
いる。そして、信号WRRAMによつてメモリM(OWD)は書き
込み状態となり、レジスタR(OWD)に格納しているデー
タがメモリM(OWD)に書き込まれる。
EDメモリ部(2104)は、演算部(2108)の演算結果を信号WR
EDL、WREDUによつてそれぞれ一時格納するレジスタR(ED
L)、R(EDU)と、8チヤネル分のエンベロープデータED
を記憶するメモリM(EDL)、M(EDU)と、メモリM(EDL)
の出力データを信号RDEDLによつてWBバスに供給するゲ
ートLと、メモリM(EDU)の出力データを信号RDEDUによ
つてWBバスに供給するゲートUとで構成している。メモ
リM(EDL)は16ビツト×8語、メモリM(EDU)は4ビツト
×8語である。通常メ モリM(EDL)、M(EDU)は読み出し状態となつており、チ
ヤネルコードCHCに基づいたアドレスのエンベロープデ
ータEDが読み出され、上述のゲートL、ゲートUにそれ
ぞれ供給される。また、信号EDUは乗算部(2106)に、信
号EDLはシフタ部(2107)に供給されている。
EDL、WREDUによつてそれぞれ一時格納するレジスタR(ED
L)、R(EDU)と、8チヤネル分のエンベロープデータED
を記憶するメモリM(EDL)、M(EDU)と、メモリM(EDL)
の出力データを信号RDEDLによつてWBバスに供給するゲ
ートLと、メモリM(EDU)の出力データを信号RDEDUによ
つてWBバスに供給するゲートUとで構成している。メモ
リM(EDL)は16ビツト×8語、メモリM(EDU)は4ビツト
×8語である。通常メ モリM(EDL)、M(EDU)は読み出し状態となつており、チ
ヤネルコードCHCに基づいたアドレスのエンベロープデ
ータEDが読み出され、上述のゲートL、ゲートUにそれ
ぞれ供給される。また、信号EDUは乗算部(2106)に、信
号EDLはシフタ部(2107)に供給されている。
そして、信号WRRAMによつてメモリM(EDL)、M(EDU)は
書き込み状態となり、レジスタR(EDL)、R(EDU)に格納
しているデータがメモリM(EDL)、M(EDU)に書き込まれ
る。
書き込み状態となり、レジスタR(EDL)、R(EDU)に格納
しているデータがメモリM(EDL)、M(EDU)に書き込まれ
る。
乗算部(2106)は、波形データを信号WRMLPによつて一時
格納するレジスタR(MLP1)と、信号SELWE=“0”の時D
RP(808)から供給されている係数データMLPを一時格納
し、信号SELWE=“1”の時EDメモリ部(2105)から供給
されているエンベロープデータEDLを一時格納するレジ
スタR(MLP2)と、レジスタR(MLP1)に格納しているデー
タを被乗数(2の補数表現)としレジスタR(MLP2)に格
納しているデータを乗数(絶対値表現)とする16ビツト
×16ビツト=32ビツトの乗算器と、信号RDMLPによつて
乗算器の乗算結果上位16ビツトをWBバスに供給するゲー
トとで構成している。
格納するレジスタR(MLP1)と、信号SELWE=“0”の時D
RP(808)から供給されている係数データMLPを一時格納
し、信号SELWE=“1”の時EDメモリ部(2105)から供給
されているエンベロープデータEDLを一時格納するレジ
スタR(MLP2)と、レジスタR(MLP1)に格納しているデー
タを被乗数(2の補数表現)としレジスタR(MLP2)に格
納しているデータを乗数(絶対値表現)とする16ビツト
×16ビツト=32ビツトの乗算器と、信号RDMLPによつて
乗算器の乗算結果上位16ビツトをWBバスに供給するゲー
トとで構成している。
シフタ部(2107)は、演算部(2108)の演算結果を信号WRSF
Tによつて一時格納するレジスタR(SFT)と、レジスタR
(SFT)に格納したデータをEDメモリ部(2105)から供給さ
れているエンベロープデータEDUに基づいてシフト操作 するシフタと、シフタの出力データを信号WRSFAによつ
て一時格納するレジスタR(SFA)と、信号RDSFAによつて
レジスタR(SFA)に格納したデータをWAバスに供給する
ゲートAと、信号RDSFBによつてシフタのデータを直接W
Bバスに供給するゲートBとで構成している。
Tによつて一時格納するレジスタR(SFT)と、レジスタR
(SFT)に格納したデータをEDメモリ部(2105)から供給さ
れているエンベロープデータEDUに基づいてシフト操作 するシフタと、シフタの出力データを信号WRSFAによつ
て一時格納するレジスタR(SFA)と、信号RDSFAによつて
レジスタR(SFA)に格納したデータをWAバスに供給する
ゲートAと、信号RDSFBによつてシフタのデータを直接W
Bバスに供給するゲートBとで構成している。
第24図は演算部(2108)の一具体例を示す構成図である。
(2401)はWAバス上のデータを信号INVによつて反転する
反転ゲート、(2402)は反転ゲート(2401)の出力データを
信号φ2の立下りエツヂで一時格納するラツチALで、信
号WCRALによつて格納状態が(0000)16になる。すなわち
リセツトされる。(2403)はWBバス上のデータを信号φ2
の立下りエツヂで一時格納するラツチBL、(2404)はキヤ
リ入力、キヤリ出力を有する16ビツト加算器(FA)、(240
5)はFA(2404)のキヤリ出力を信号WREDLによつて記憶
し、信号RDEDLによつてリセツトするキヤリフラグレジ
スタECF、(2406)はANDゲート、(2407)はORゲート、(240
8)は信号WTCAによつてFA(2404)の出力データをWAバスに
供給するゲートA、(2409)はWCバスにデータ(FFFF)16を
供給するゲートB、(2410)はWCバスにWBバス上のデータ
を供給するゲートC、(2411)はFA(2404)の出力データを
WCバスに供給するゲートD、(2412)はデータ(0000)16を
WCバスに供給するゲートE、(2413)は信号TBC、信号WRE
DU、信号WREDL、信号EADGおよびFA(2404)の出力信号
(ビツト位置4)に基づいてゲートB(2409)〜ゲートE
(2412)のいずれか1つを選択するゲート選択器である。
(2401)はWAバス上のデータを信号INVによつて反転する
反転ゲート、(2402)は反転ゲート(2401)の出力データを
信号φ2の立下りエツヂで一時格納するラツチALで、信
号WCRALによつて格納状態が(0000)16になる。すなわち
リセツトされる。(2403)はWBバス上のデータを信号φ2
の立下りエツヂで一時格納するラツチBL、(2404)はキヤ
リ入力、キヤリ出力を有する16ビツト加算器(FA)、(240
5)はFA(2404)のキヤリ出力を信号WREDLによつて記憶
し、信号RDEDLによつてリセツトするキヤリフラグレジ
スタECF、(2406)はANDゲート、(2407)はORゲート、(240
8)は信号WTCAによつてFA(2404)の出力データをWAバスに
供給するゲートA、(2409)はWCバスにデータ(FFFF)16を
供給するゲートB、(2410)はWCバスにWBバス上のデータ
を供給するゲートC、(2411)はFA(2404)の出力データを
WCバスに供給するゲートD、(2412)はデータ(0000)16を
WCバスに供給するゲートE、(2413)は信号TBC、信号WRE
DU、信号WREDL、信号EADGおよびFA(2404)の出力信号
(ビツト位置4)に基づいてゲートB(2409)〜ゲートE
(2412)のいずれか1つを選択するゲート選択器である。
ゲート選択器(2413)で選択するゲートについて説明す
る。シーケンサ(802)から供給されている信号TBCによつ
てゲートC(2410)が選択され、WCバスにはWBバス上のデ
ータが供給される。
る。シーケンサ(802)から供給されている信号TBCによつ
てゲートC(2410)が選択され、WCバスにはWBバス上のデ
ータが供給される。
ΔED発生部(2103)から供給されている仮想キー信号EADG
がオン状態であると、信号WREDLあるいは信号WREDUによ
つてゲートE(2412)が選択され、WCバス上にはデータ(0
000)16が供給される。すなわち、エンベロープデータED
U、EDLをともに(0000)16と設定することになる。この結
果、エンベロープ付加波形サンプル値 となる。
がオン状態であると、信号WREDLあるいは信号WREDUによ
つてゲートE(2412)が選択され、WCバス上にはデータ(0
000)16が供給される。すなわち、エンベロープデータED
U、EDLをともに(0000)16と設定することになる。この結
果、エンベロープ付加波形サンプル値 となる。
また、FA(2404)の出力信号(ビツト位置4)が“1”で
かつ信号WREDUが供給されるとゲートB(2409)が選択さ
れWCバス上にデータ(FFFF)16が供給される。すなわち、
エンベロープデータEDUを常時(F)16と設定することにな
る。
かつ信号WREDUが供給されるとゲートB(2409)が選択さ
れWCバス上にデータ(FFFF)16が供給される。すなわち、
エンベロープデータEDUを常時(F)16と設定することにな
る。
上述以外の状態では、ゲートD(2411)が選択され、FA(2
404)の出力データがWCバスに供給される。
404)の出力データがWCバスに供給される。
なお、旧波形データメモリ部(2105)、EDメモリ部(2106)
に供給されている信号WRRANは、DRP(808)で説明した信
号WRRAMと同一のものである。WDP(807)もDRP(808)、EDP
(806)と同様にシーケンサ(802)から供給される制御信号
に基づいて下述する演算処理を行ない、上述した〜
の処理内容を実現するようになつている。
に供給されている信号WRRANは、DRP(808)で説明した信
号WRRAMと同一のものである。WDP(807)もDRP(808)、EDP
(806)と同様にシーケンサ(802)から供給される制御信号
に基づいて下述する演算処理を行ない、上述した〜
の処理内容を実現するようになつている。
仮想波形サンプル値f(Xi,m,n)を求める。
信号RDWDI、RDWDII(命令ステツプ2に対応)によつてD
RP(808)から供給されている波形サンプル値f(Xi,n)と
f(Xi+1,n)をWAバス、WBバスに供給し、演算部(2108)の
ラツチAL、BLに信号φ2立下りエツヂで波形サンプル値
を格納する。この時演算部(2108)に加えられる信号INV
によつてラツチALに格納されるデータは反転データ、す
なわち となる。
RP(808)から供給されている波形サンプル値f(Xi,n)と
f(Xi+1,n)をWAバス、WBバスに供給し、演算部(2108)の
ラツチAL、BLに信号φ2立下りエツヂで波形サンプル値
を格納する。この時演算部(2108)に加えられる信号INV
によつてラツチALに格納されるデータは反転データ、す
なわち となる。
そして、ラツチAL(2402)、ラツチBL(2403)に格納された
データを用いて演算部(2108)で加算処理 すなわち〔f(Xi-1,n)−f(Xi,n)〕が実行され、演算結
果がWCバスに出力され、信号WRMLPによつて乗算部(210
6)内の被乗数レジスタR(MLP1)に信号φ2の立上りエツ
ヂで書き込まれるとともに、DRP(808)から供給されてい
る内挿係数(N・m+n)αが乗数レジスタR(MLP
2)に格納される。
データを用いて演算部(2108)で加算処理 すなわち〔f(Xi-1,n)−f(Xi,n)〕が実行され、演算結
果がWCバスに出力され、信号WRMLPによつて乗算部(210
6)内の被乗数レジスタR(MLP1)に信号φ2の立上りエツ
ヂで書き込まれるとともに、DRP(808)から供給されてい
る内挿係数(N・m+n)αが乗数レジスタR(MLP
2)に格納される。
そうすると、乗算部(2106)内で 〔f(Xi-1,n)−f(Xi,n)〕×(N・m+n)α の乗算が実行される。乗算結果は命令ステツプ4の終了
までに正しい値になるものとする。次に信号RDWDIによ
つて矩形サンプル値f(Xi,n)をWAバスに、信号RDMLPに
よつて乗算結果をWBバスに供給し、信号φ2の立下りエ
ツヂでラツチAL、BLにそれぞれのデータを格納する(命
令ステツプ5に対応)。なお、乗算結果は乗算器の上位
16ビツトを利用している。これは、1/216処理と等価な
ものである。
までに正しい値になるものとする。次に信号RDWDIによ
つて矩形サンプル値f(Xi,n)をWAバスに、信号RDMLPに
よつて乗算結果をWBバスに供給し、信号φ2の立下りエ
ツヂでラツチAL、BLにそれぞれのデータを格納する(命
令ステツプ5に対応)。なお、乗算結果は乗算器の上位
16ビツトを利用している。これは、1/216処理と等価な
ものである。
演算部(2108)で加算処理を実行することにより、(2)式
で表わした仮想波形サンプル値f(Xi,m,n)が求められ
る。
で表わした仮想波形サンプル値f(Xi,m,n)が求められ
る。
エンベロープ付加波形サンプル値 を求める。
仮想波形サンプル値 を、信号信号WRMLP、信号WRSFT(命令ステツプ6に対
応)によつて、乗算部(2106)内の被乗数レジスタR(MLP
1)とシフタ部(2107)内のレジスタR(SFT)に信号φ2の
立上りエツヂで格納する。また、EDメモリ部(2105)から
乗算部(2106)に供給しているエンベロープデータEDLを
信号SELWE(命令ステツプ6に対応)によつて乗算部(21
06)内の乗数レジスタR(MLP2)に格納し、乗算処理 を実行する。
応)によつて、乗算部(2106)内の被乗数レジスタR(MLP
1)とシフタ部(2107)内のレジスタR(SFT)に信号φ2の
立上りエツヂで格納する。また、EDメモリ部(2105)から
乗算部(2106)に供給しているエンベロープデータEDLを
信号SELWE(命令ステツプ6に対応)によつて乗算部(21
06)内の乗数レジスタR(MLP2)に格納し、乗算処理 を実行する。
一方、シフタ部(2107)内のレジスタR(SFT)に格納した
仮想波形サンプル値 をEDメモリ部(2105)からシフタ部(2107)に供給されてい
るエンベロープデータEDU(Q)に基づいて、シフト操作 を行ない、信号WRSFB(命令ステツプ7に対応)によつ
て、シフタ部(2107)内の出力レジスタR(SFB)に格納す
る。
仮想波形サンプル値 をEDメモリ部(2105)からシフタ部(2107)に供給されてい
るエンベロープデータEDU(Q)に基づいて、シフト操作 を行ない、信号WRSFB(命令ステツプ7に対応)によつ
て、シフタ部(2107)内の出力レジスタR(SFB)に格納す
る。
そして、乗算部(2106)で行なつた乗算結果を、信号TB
C、信号WRSFT(命令ステツプ8に対応)によつてシフタ
部(2107)内のレジスタR(SFT)に格納し、エンベロープ
データEDU(Q)に基づいたシフト操作行なう。
C、信号WRSFT(命令ステツプ8に対応)によつてシフタ
部(2107)内のレジスタR(SFT)に格納し、エンベロープ
データEDU(Q)に基づいたシフト操作行なう。
信号RDSFA、RDSFB(命令ステツプ9に対応)によつて、
シフタ部(2107)内の出力レジスタR(SFB)に格納してあ
るデータ〔f(Xi,m,n)/2q〕を演算部(2108)内のラツチB
Lに、シフタ部(2107)のシフト結果データ を信号INVによつて論理反転し、演算部(2108)内のラツ
チALにそれぞれ格納する。
シフタ部(2107)内の出力レジスタR(SFB)に格納してあ
るデータ〔f(Xi,m,n)/2q〕を演算部(2108)内のラツチB
Lに、シフタ部(2107)のシフト結果データ を信号INVによつて論理反転し、演算部(2108)内のラツ
チALにそれぞれ格納する。
そして、演算部(2108)で加算処理を実行することによ
り、エンベロープ付加波形サンプル値 が求められる。
り、エンベロープ付加波形サンプル値 が求められる。
差分波形サンプル値Df(Xi,m,n,q,r)を求める。
エンベロープ付加波形サンプル値 を信号WROWDによつて旧波形メモリ部(2104)内のレジス
タR(OWD)に格納するとともに、信号TCAによつて、FA(2
404)の出力データをWAバスに供給し、信号INVによつて
論理反転を行ない、演算部(2108)内のラツチALに格納す
る。また、信号RDOWDによつて、旧エンベロープ付加波
形サンプル値を旧波形メモリ部(2104)から読み出し、演
算部(2108)内のラツチBLに格納する。
タR(OWD)に格納するとともに、信号TCAによつて、FA(2
404)の出力データをWAバスに供給し、信号INVによつて
論理反転を行ない、演算部(2108)内のラツチALに格納す
る。また、信号RDOWDによつて、旧エンベロープ付加波
形サンプル値を旧波形メモリ部(2104)から読み出し、演
算部(2108)内のラツチBLに格納する。
そして、演算部(2108)で加算処理を実行することによ
り、差分波形サンプル値 が求められ、信号WOBRによつてOBR(2109)内のレジスタ
R(OBR)に差分波形サンプル値を格納する。
り、差分波形サンプル値 が求められ、信号WOBRによつてOBR(2109)内のレジスタ
R(OBR)に差分波形サンプル値を格納する。
エンベロープデータEDの更新。
信号RDEDL、RDΔED(命令ステツプ8に対応)によつ
て、EDメモリ部(2105)からエンベロープデータEDが、Δ
ED発生部(2103)から増分データΔEDがWAバスとWBバスに
それぞれ読み出され、信号φ2の立下りエツヂで演算部
(2108)内のラツチALとBLにそれぞれ格納される。
て、EDメモリ部(2105)からエンベロープデータEDが、Δ
ED発生部(2103)から増分データΔEDがWAバスとWBバスに
それぞれ読み出され、信号φ2の立下りエツヂで演算部
(2108)内のラツチALとBLにそれぞれ格納される。
そして、加算処理(EDL+ΔED)を演算部(2108)で実行
し、新エンベロープデータEDを求め、信号WREDL(命令
ステツプ4に対応)によつて、EDメモリ部(2105)内のレ
ジスタR(EDL)に新エンベロープデータEDを格納すると
ともに、演算部(2108)内の加算器FA(2404)のキヤリー出
力を演算部(2108)内のフラグレジスタECF(2405)に格納
する。
し、新エンベロープデータEDを求め、信号WREDL(命令
ステツプ4に対応)によつて、EDメモリ部(2105)内のレ
ジスタR(EDL)に新エンベロープデータEDを格納すると
ともに、演算部(2108)内の加算器FA(2404)のキヤリー出
力を演算部(2108)内のフラグレジスタECF(2405)に格納
する。
信号RDEDU(命令ステツプ6に対応)によつて、エンベ
ロープデータEDUが読み出され、演算部(2108)で、レジ
スタECF(2405)の内容とエンベロープデータEDUとの加算
処理を実行して、新エンベロープデータEDUを求める。
求めたエンベロープEDUを信号WREDUによつて、EDメモリ
部(2105)内のレジスタR(EDU)に格納する。
ロープデータEDUが読み出され、演算部(2108)で、レジ
スタECF(2405)の内容とエンベロープデータEDUとの加算
処理を実行して、新エンベロープデータEDUを求める。
求めたエンベロープEDUを信号WREDUによつて、EDメモリ
部(2105)内のレジスタR(EDU)に格納する。
そして、DRP(808)と同様に、信号WRRAMによつてレジス
タR(EDL)、R(EDU)、R(OWD)に格納している各種デー
タをチヤネルコードCHCで指定されたそれぞれのメモリ
領域にデータ転送を行なう。
タR(EDL)、R(EDU)、R(OWD)に格納している各種デー
タをチヤネルコードCHCで指定されたそれぞれのメモリ
領域にデータ転送を行なう。
アナログバツフアメモリ部(812)、DAC(811)にデータを
供給するタイミングについて説明する。
供給するタイミングについて説明する。
信号CRDAS(命令ステツプ9に対応)によつて、書き込
みパルス発生部(2110)で発生している書き込みパルスを
リセツトする。そして、信号WROBR(命令ステツプ11に
対応)によつて、OBR(2109)内のレジスタR(OBR)に差分
波形サンプル値 を格納し、DAC(811)に供給してデイジタル信号をアナロ
グ信号に変換しアナログバツフアメモリ部(812)に供給
するとともに、書き込みパルス発生部(2110)でチヤネル
コードCHCで指定されたチヤネルに対応する書き込みパ
ルスをセツトし、アナログバツフアメモリ部(812)内の
アナログスイツチAW1〜AW8に供給する。この時、信号CL
RFが“0”(計算要求を行なつていない場合)の場合
は、書き込みパルスをセツトしないようにする。
みパルス発生部(2110)で発生している書き込みパルスを
リセツトする。そして、信号WROBR(命令ステツプ11に
対応)によつて、OBR(2109)内のレジスタR(OBR)に差分
波形サンプル値 を格納し、DAC(811)に供給してデイジタル信号をアナロ
グ信号に変換しアナログバツフアメモリ部(812)に供給
するとともに、書き込みパルス発生部(2110)でチヤネル
コードCHCで指定されたチヤネルに対応する書き込みパ
ルスをセツトし、アナログバツフアメモリ部(812)内の
アナログスイツチAW1〜AW8に供給する。この時、信号CL
RFが“0”(計算要求を行なつていない場合)の場合
は、書き込みパルスをセツトしないようにする。
第13表にWDP(807)の演算シーケンスを示す。第13表に示
す命令ステツプを順次実行することにより、上述で説明
した処理が実現する。
す命令ステツプを順次実行することにより、上述で説明
した処理が実現する。
第13表に示した制御信号について説明する。
下述する信号はシーケンサ(802)から供給される。
RDWDIは、DRP(808)から供給されている波形データWDIを
WAバスに供給する命令。
WAバスに供給する命令。
RDWDIIは、DRP(808)から供給されている波形データWDII
をWBバスに供給する命令。
をWBバスに供給する命令。
RDΔEDは、ΔED発生部(2103)内で選択されたサステイン
データDSUSあるいはダンパデータDDMPを増分データΔED
としてWAバスに供給する命令。
データDSUSあるいはダンパデータDDMPを増分データΔED
としてWAバスに供給する命令。
RDSFAは、シフタ部(2107)内のシフタの出力データをWA
バスに供給する命令。
バスに供給する命令。
RDEDLは、EDメモリ部(2105)内のメモリM(EDL)から読み
出されているエンベロープデータEDLをWBバスに供給す
る命令。
出されているエンベロープデータEDLをWBバスに供給す
る命令。
RDMLPは、乗算部(2106)内の乗算器の出力データ(上位1
6ビツト)をWBバスに供給する命令。
6ビツト)をWBバスに供給する命令。
RDEDUは、EDメモリ部(2105)内のメモリM(EDU)から読み
出されているエンベロープデータEDUをWBバスに供給す
る命令。
出されているエンベロープデータEDUをWBバスに供給す
る命令。
RDSFBは、シフタ部(2107)内のレジスタR(SFB)に格納し
ているデータ /2q)をWBバスに供給する命令。
ているデータ /2q)をWBバスに供給する命令。
RDOWDは、旧波形メモリ部(2104)内のメモリM(OWD)から
読み出されているエンベロープ付加波形サンプル値をWB
バスに供給する命令。
読み出されているエンベロープ付加波形サンプル値をWB
バスに供給する命令。
WRMLPは、WCバス上のデータを乗算部(2106)内の被乗数
レジスタR(MLP1)に格納する命令。
レジスタR(MLP1)に格納する命令。
WREDLは、WCバス上のデータをEDメモリ部(2105)内のレ
ジスタR(EDL)に格納する命令。
ジスタR(EDL)に格納する命令。
WRSFTは、WCバス上のデータをシフタ部(2107)内のレジ
スタR(SFT)に格納する命令。
スタR(SFT)に格納する命令。
WREDUは、WCバス上のデータをEDメモリ部(2105)内のレ
ジスタR(EDU)に格納する命令。
ジスタR(EDU)に格納する命令。
WROWDは、WCバス上のデータを旧波形データメモリ部(21
04)内のレジスタR(OWD)に格納する命令。
04)内のレジスタR(OWD)に格納する命令。
WROBRは、WCバス上のデータをOBR(2109)内のレジスタR
(OWR)に格納する命令。
(OWR)に格納する命令。
INVは、WAバス上のデータの論理を反転し、反転したデ
ータを演算部(2108)内のラツチAL(2402)に供給する命
令。
ータを演算部(2108)内のラツチAL(2402)に供給する命
令。
WADD1は、演算部(2108)内のFA(2404)にキヤリ入力信号
(+1)を供給する命令。
(+1)を供給する命令。
WCRALは、演算部(2108)内のラツチAL(2402)をクリヤす
る命令。
る命令。
SELWEは、乗算部(2106)内の乗数レジスタR(MLP2)に格
納するデータ選択命令。選択データは、DRP(808)から供
給されている係数データ(MLP)とEDメモリ部(2105)から
供給されているエンベロープデータEDLである。
納するデータ選択命令。選択データは、DRP(808)から供
給されている係数データ(MLP)とEDメモリ部(2105)から
供給されているエンベロープデータEDLである。
WRSFBは、シフタ部(2107)内のシフタの出力データをシ
フタ部(2107)内のレジスタR(SFB)に格納する命令。
フタ部(2107)内のレジスタR(SFB)に格納する命令。
TBCは、WBバス上のデータをWCバスに供給する命令。
CRDASは、書き込みパルス発生部(2110)からアナログバ
ツフアメモリ部(812)に供給している書き込みパルスを
リセツトする命令。
ツフアメモリ部(812)に供給している書き込みパルスを
リセツトする命令。
TCAは、演算部(2108)内のFA(2404)の出力データをWAバ
スに供給する命令。
スに供給する命令。
なお、第12表に示した、仮想キー信号EADGがオン状態時
は、演算部(2108)内のゲート選択器(2413)によつてゲー
トE(2412)が選択され、エンペロープデータEDL、EDUは
ともにデータ(0000)16となる。この結果、エンベロープ
付加波形サンプル値 となる(q=0,r=0)。
は、演算部(2108)内のゲート選択器(2413)によつてゲー
トE(2412)が選択され、エンペロープデータEDL、EDUは
ともにデータ(0000)16となる。この結果、エンベロープ
付加波形サンプル値 となる(q=0,r=0)。
そして、仮想キー信号EADGがオフ状態となると、エンベ
ロープデータEDの更新処理(ED=ED+ΔED)が開始す
る。この結果、(5)式に示したエンベロープ付加波形サ
ンプル値を求める演算処理が行なわれ、減衰特性の楽音
波形が得られる。
ロープデータEDの更新処理(ED=ED+ΔED)が開始す
る。この結果、(5)式に示したエンベロープ付加波形サ
ンプル値を求める演算処理が行なわれ、減衰特性の楽音
波形が得られる。
また、エンベロープデータEDの更新処理が進み、エンベ
ロープデータEDUが(1111)2の状態となると、エンベロー
プデータEDUの更新タイミングで演算部(2108)内のゲー
トB(2409)が選択され、エンベロープデータEDUは常時
(1111)2の状態となる。この状態は、楽音波形の発音停
止に相当する。
ロープデータEDUが(1111)2の状態となると、エンベロー
プデータEDUの更新タイミングで演算部(2108)内のゲー
トB(2409)が選択され、エンベロープデータEDUは常時
(1111)2の状態となる。この状態は、楽音波形の発音停
止に相当する。
以上のように、波形内挿方法を(2)式に示したように、
補正項を付加した内挿係数 で実現しているため、波形間のレベル差が大きくても不
用なノイズ成分の発生を防ぐことができる。
補正項を付加した内挿係数 で実現しているため、波形間のレベル差が大きくても不
用なノイズ成分の発生を防ぐことができる。
さらに、波形形状の変化が少ない所では、データメモリ
部に格納する波形データを少なくし、くり返し数を大き
くすることにより、データ圧縮が可能となる。
部に格納する波形データを少なくし、くり返し数を大き
くすることにより、データ圧縮が可能となる。
さらに、アナログ信号に変換する変換部を、1つのDAC
とアナログバツフアメモリ部とで構成しているので、DA
Cは1個だけでよく、チヤネルごとに独立に動作するか
ら、2チヤネルの音を同時に鳴らしても、量子化ひずみ
による混変調ひずみの発生がなくなる。
とアナログバツフアメモリ部とで構成しているので、DA
Cは1個だけでよく、チヤネルごとに独立に動作するか
ら、2チヤネルの音を同時に鳴らしても、量子化ひずみ
による混変調ひずみの発生がなくなる。
さらに、波形の基本周波数に対してサンプリング周波数
を整数倍にしているので、発生する折り返し成分や、量
子化により生じるサンプル波成分をすべて、基本周波数
の高調波に一致させることができ、したがつてにごりの
ない音をつくることができる。
を整数倍にしているので、発生する折り返し成分や、量
子化により生じるサンプル波成分をすべて、基本周波数
の高調波に一致させることができ、したがつてにごりの
ない音をつくることができる。
次に、楽音発生部(607)内の各部の相互関係について説
明する。
明する。
まず、入力レジスタ部(803)について説明する。入力レ
ジスタ部(803)は、CPU(603)から供給されたI/Oポートア
ドレスデータと楽音発生データあるいはサステインデー
タなどを一時格納するレジスタR(ADD)、R(DAT)と、CP
U(603)から入力レジスタ部(803)に対して新データを供
給したことを指示する信号(CPU(603)から供給されてい
る信号▲▼・▲▼を利用する)を記憶する
フラグレジスタ(レジスタWRCFで、指示する場合は
“1”となる)と、レジスタR(ADD)に格納されている
アドレスを書き込みアドレス、シーケンサ(802)から供
給されるチヤネルコードCHCを読み出しアドレスとし、
レジスタR(DAT)に格納された楽音発生データを記憶す
るレジスタフアイル(8チヤネル分の楽音発生データを
記憶し、容量は8ビツト×8語である)と、レジスタR
(ADD)のアドレスデータに基づいてサステインデータ、
ダンパデータ、ビートデータや効果制御データを記憶す
る効果レジスタ部とで構成している。
ジスタ部(803)は、CPU(603)から供給されたI/Oポートア
ドレスデータと楽音発生データあるいはサステインデー
タなどを一時格納するレジスタR(ADD)、R(DAT)と、CP
U(603)から入力レジスタ部(803)に対して新データを供
給したことを指示する信号(CPU(603)から供給されてい
る信号▲▼・▲▼を利用する)を記憶する
フラグレジスタ(レジスタWRCFで、指示する場合は
“1”となる)と、レジスタR(ADD)に格納されている
アドレスを書き込みアドレス、シーケンサ(802)から供
給されるチヤネルコードCHCを読み出しアドレスとし、
レジスタR(DAT)に格納された楽音発生データを記憶す
るレジスタフアイル(8チヤネル分の楽音発生データを
記憶し、容量は8ビツト×8語である)と、レジスタR
(ADD)のアドレスデータに基づいてサステインデータ、
ダンパデータ、ビートデータや効果制御データを記憶す
る効果レジスタ部とで構成している。
レジスタR(DAT)に格納された新データをレジスタフア
イルあるいは効果レジスタ部にデータ転送するタイミン
グは、レジスタWRCFが“1”の状態で、シーケンサ(80
2)から信号WRDATが供給されると、レジスタR(ADD)に格
納されたI/Oポートアドレスに基づいた所定のアドレス
にレジスタR(DAT)の格納データが転送される。その
後、レジスタWRCFをリセツトする。
イルあるいは効果レジスタ部にデータ転送するタイミン
グは、レジスタWRCFが“1”の状態で、シーケンサ(80
2)から信号WRDATが供給されると、レジスタR(ADD)に格
納されたI/Oポートアドレスに基づいた所定のアドレス
にレジスタR(DAT)の格納データが転送される。その
後、レジスタWRCFをリセツトする。
シーケンサ(802)から供給される信号WRDATは、レジスタ
フアイルあるいは効果レジスタ部へのデータ取り込み制
御信号であり、第9表、第11表、第13表に示した命令ス
テツプ1のタイミングのたびに入力レジスタ部(803)に
供給される。
フアイルあるいは効果レジスタ部へのデータ取り込み制
御信号であり、第9表、第11表、第13表に示した命令ス
テツプ1のタイミングのたびに入力レジスタ部(803)に
供給される。
命令ステツプ1のタイミングでレジスタフアイルあるい
は効果レジスタ部に新データを取り込む理由は、EDP(80
6)、WDP(807)やDRP(808)の内部で各種演算処理を実行中
に楽音発生データや各種効果データが変化すると正しい
演算処理が行なわれない。そのため、演算処理を開始す
る命令ステツプ1で取り込んでいる。
は効果レジスタ部に新データを取り込む理由は、EDP(80
6)、WDP(807)やDRP(808)の内部で各種演算処理を実行中
に楽音発生データや各種効果データが変化すると正しい
演算処理が行なわれない。そのため、演算処理を開始す
る命令ステツプ1で取り込んでいる。
相互関係の説明 チヤネル1に対応する説明を行なう。なお、計算要求フ
ラグ信号CCRFが発生しているものとする。
ラグ信号CCRFが発生しているものとする。
シーケンサ(802)で発生しているチヤネルコードCHCが
チヤネル1のタイミングになると、入力レジスタ部(80
3)内のレジスタフアイルからチヤネル1に対応する楽音
発生データがFDP(806)、WDP(807)、DRP(808)に供給され
る。
チヤネル1のタイミングになると、入力レジスタ部(80
3)内のレジスタフアイルからチヤネル1に対応する楽音
発生データがFDP(806)、WDP(807)、DRP(808)に供給され
る。
そうすると、DRP(808)の詳細な説明の所で述べたよう
に、DRP(808)で楽音発生データに基づいて、DBK(606)か
ら先頭番地、制御データ、波形データf(Xi,n)とf(X
i+1,n)を読み取り、制御データに基づいて求めた係数デ
ータ(N・m+n)αとDBK(606)から読み取つた波形デ
ータf(Xi,n)とf(Xi+1,n)とを命令ステツプ11のタイミ
ングでDRP(808)内のメモリM(MD)、メモリM(WDI)、メ
モリM(WDII)に格納する。
に、DRP(808)で楽音発生データに基づいて、DBK(606)か
ら先頭番地、制御データ、波形データf(Xi,n)とf(X
i+1,n)を読み取り、制御データに基づいて求めた係数デ
ータ(N・m+n)αとDBK(606)から読み取つた波形デ
ータf(Xi,n)とf(Xi+1,n)とを命令ステツプ11のタイミ
ングでDRP(808)内のメモリM(MD)、メモリM(WDI)、メ
モリM(WDII)に格納する。
一方、WDP(807)では、命令ステツプ1〜10のタイミン
グの間、チヤネルコードCHCに基づいてDRP(808)内のメ
モリM(MD)、メモリM(WDI)、メモリM(WDII)から読み
出されている係数データと波形データf(Xi,n-1)とf(X
i+1,n-1)を用いて、WDP(807)の詳細な説明の所で述べた
ように、波形演算処理が行なわれる。そして、命令ステ
ツプ11のタイミングで、演算結果(差分波形サンプル値 がWDP(807)内のレジスタR(OBR)に格納され、DAC(811)
に供給される。
グの間、チヤネルコードCHCに基づいてDRP(808)内のメ
モリM(MD)、メモリM(WDI)、メモリM(WDII)から読み
出されている係数データと波形データf(Xi,n-1)とf(X
i+1,n-1)を用いて、WDP(807)の詳細な説明の所で述べた
ように、波形演算処理が行なわれる。そして、命令ステ
ツプ11のタイミングで、演算結果(差分波形サンプル値 がWDP(807)内のレジスタR(OBR)に格納され、DAC(811)
に供給される。
上述の〜の処理が、シーケンサ(802)から発生して
いるチヤネルコードCHCのチヤネル1に対応する命令ス
テツプ1〜11の同一タイミング内で実行される。
いるチヤネルコードCHCのチヤネル1に対応する命令ス
テツプ1〜11の同一タイミング内で実行される。
そして、再びチヤネル1に対応するチヤネルコードCHC
がシーケンサ(802)から発生されると下述の処理が行な
われる。
がシーケンサ(802)から発生されると下述の処理が行な
われる。
上述のの説明と同様に、チヤネル1に対応する楽音
発生データが、FDP(806)、WDP(807)、DRP(808)に供給さ
れる。
発生データが、FDP(806)、WDP(807)、DRP(808)に供給さ
れる。
上述のの説明と同様に、DRP(808)で、DBK(606)内に
格納している先頭番地、制御データ、波形データf(X
i,n+1),f(Xi+1,m+n)が読み込まれ、メモリM(MD)、メ
モリM(WDI)、メモリM(WDII)に格納される。
格納している先頭番地、制御データ、波形データf(X
i,n+1),f(Xi+1,m+n)が読み込まれ、メモリM(MD)、メ
モリM(WDI)、メモリM(WDII)に格納される。
ただし、上述で説明した内容と異なる点は、DBK(606)
から読み取る制御データと波形データは、上述のタイ
ミング、すなわち前回のチヤネル1の計算タイミングで
更新された波形ナンバi、波形サンプルナンバnに基づ
いたデータとなる。
から読み取る制御データと波形データは、上述のタイ
ミング、すなわち前回のチヤネル1の計算タイミングで
更新された波形ナンバi、波形サンプルナンバnに基づ
いたデータとなる。
上述と同様に、DRP(808)内のメモリM(MD)、メモリ
M(WDI)、メモリM(WDII)から読み出されているデータ
に基づいて、波形演算処理が行なわれる。
M(WDI)、メモリM(WDII)から読み出されているデータ
に基づいて、波形演算処理が行なわれる。
なお、今回の計算タイミングで波形演算処理に用いるデ
ータは、前回のチヤネル1の計算タイミングでDRP(808)
内に読み込み処理を行なつた係数データ、波形データf
(Xi,n),f(Xi+1,n)である。
ータは、前回のチヤネル1の計算タイミングでDRP(808)
内に読み込み処理を行なつた係数データ、波形データf
(Xi,n),f(Xi+1,n)である。
以後、計算要求フラグ信号CLRFに基づいて、チヤネル1
に対応する計算タイミングで、上述の処理がくり返され
る。
に対応する計算タイミングで、上述の処理がくり返され
る。
上述の説明のように、DRP(808)で読み取つたデータは、
次回に発生する計算タイミング(ただし、計算要求フラ
グ信号CLRFが発生している時)で、WDP(807)で行なう波
形演算処理に利用される。
次回に発生する計算タイミング(ただし、計算要求フラ
グ信号CLRFが発生している時)で、WDP(807)で行なう波
形演算処理に利用される。
このように、読み出し、波形演算処理を、同一計算タイ
ミング内ですべて実行せず、時間的に処理タイミングを
分け、パイプライン的処理を行なうことにより、各部の
構成要素の動作スピードを低速化できる。
ミング内ですべて実行せず、時間的に処理タイミングを
分け、パイプライン的処理を行なうことにより、各部の
構成要素の動作スピードを低速化できる。
上述までの説明では、データメモリ(DBK)に格納してい
る波形データは、PCMデータの形で波形一周期を枚数分
格納したいたが、波形対称化、DPCM化、ADPCM化を行な
つた結果を波形データとしてDBKに格納し、DRP(808)の
内部で復元処理を行なうことにより、波形データのデー
タ圧縮が可能となる。
る波形データは、PCMデータの形で波形一周期を枚数分
格納したいたが、波形対称化、DPCM化、ADPCM化を行な
つた結果を波形データとしてDBKに格納し、DRP(808)の
内部で復元処理を行なうことにより、波形データのデー
タ圧縮が可能となる。
発明の効果 以上説明したように、本発明の楽音発生装置は、楽音の
発音開始から発音終了時までの複数個の楽音波形のうち
少なくとも2つ以上の楽音波形を音域あるいは複数の音
域ごとに独立に準備すると共に楽音波形を用いて合成波
形を形成する時に使用する制御データを記憶するデータ
メモリ部と、発音音階を決定するノートクロック発生部
と、上記ノートクロック発生部の信号出力と音域あるい
は音階指定データに基づいて上記データメモリ部から音
域あるいは音階ごとに独立に準備した2つの波形サンプ
ルデータと制御データとを読み出すデータ読み出し部
と、上記データ読み出し部で読み出した2つの波形サン
プルデータと制御データとを用いて合成波形サンプルデ
ータを求める波形計算部と、上記波形計算部のディジタ
ル出力信号をアナログ信号に変換する変換部とを具備
し、前記波形計算部で実行する計算内容は、前記データ
読み出し部で読み出した2つの波形サンプルf(Xi,n)、
f(Xi+1,n)と、f(Xi)からf(Xi+1)への波形移行数をM
とする制御データとを用い、特許請求の範囲に記載の波
形内挿演算を行ない、仮想サンプル値 (Xi,m,n)を求め、楽音波形を発生するようにしたもので
あるから、楽音発生の形状を時間的になめらかに変化さ
せることができ、自然楽器音を模擬することが可能とな
る。
発音開始から発音終了時までの複数個の楽音波形のうち
少なくとも2つ以上の楽音波形を音域あるいは複数の音
域ごとに独立に準備すると共に楽音波形を用いて合成波
形を形成する時に使用する制御データを記憶するデータ
メモリ部と、発音音階を決定するノートクロック発生部
と、上記ノートクロック発生部の信号出力と音域あるい
は音階指定データに基づいて上記データメモリ部から音
域あるいは音階ごとに独立に準備した2つの波形サンプ
ルデータと制御データとを読み出すデータ読み出し部
と、上記データ読み出し部で読み出した2つの波形サン
プルデータと制御データとを用いて合成波形サンプルデ
ータを求める波形計算部と、上記波形計算部のディジタ
ル出力信号をアナログ信号に変換する変換部とを具備
し、前記波形計算部で実行する計算内容は、前記データ
読み出し部で読み出した2つの波形サンプルf(Xi,n)、
f(Xi+1,n)と、f(Xi)からf(Xi+1)への波形移行数をM
とする制御データとを用い、特許請求の範囲に記載の波
形内挿演算を行ない、仮想サンプル値 (Xi,m,n)を求め、楽音波形を発生するようにしたもので
あるから、楽音発生の形状を時間的になめらかに変化さ
せることができ、自然楽器音を模擬することが可能とな
る。
さらに、ノートクロツクを音階ごとに独立に発生し、楽
音波形のサンプル数によつて音域を発生するようにして
いるので、波形の基本周波数に対してノートクロツク発
生部の出力信号であるサンプリング周波数を整数倍とす
ることができ、再生する折り返し部分や、量子化により
生じるサンプル波成分をすべて、基本周波数の高調波に
一致させることができ、にごりのない音をつくることが
できる。
音波形のサンプル数によつて音域を発生するようにして
いるので、波形の基本周波数に対してノートクロツク発
生部の出力信号であるサンプリング周波数を整数倍とす
ることができ、再生する折り返し部分や、量子化により
生じるサンプル波成分をすべて、基本周波数の高調波に
一致させることができ、にごりのない音をつくることが
できる。
さらに、音域ごと独立の楽音波形が発生でき、固定フオ
ルマントの楽音が実現できる利点を有する。
ルマントの楽音が実現できる利点を有する。
第1図〜第5図は本発明の動作説明図、第6図は本発明
の楽音発生装置を採用した電子楽器のブロツク図、第7
図はCPU(603)から楽音発生部(607)にデータを供給する
場合のタイムチヤート図、第8図は楽音発生部(607)の
構成図、第9図はシーケンサ(802)の一具体例のブロツ
ク図、第10図はシーケンサ(802)の動作タイムチヤート
図、第11図はアナログバツフアメモリ部(812)の一具体
例の構成図、第12図は楽音発生部(607)の内部動作タイ
ムチヤート図、第13図はFDP(806)から比較レジスタ部(8
05)に供給する周波数データの推移図、第14図はFDP(80
6)の一具体例の構成図、第15図はFDP(806)のデータ処理
手順を示す処理流れ図、第16図は比較レジスタ部(805)
の一具体例を示す構成図、第17図は計算要求フラグ発生
部(810)の一具体例を示す構成図、第18図はDBK(606)の
データ構成図、第19図はDRP(808)の一具体例を示す構成
図、第20図はWDP(807)の演算処理の流れ図、第21図はWD
P(807)の一具体例を示す構成図、第22図はビブラート発
生部(1403)の一具体例を示す構成図、第23図は演算部(1
913)の一具体例を示す構成図、第24図は演算部(2108)の
一具体例を示す構成図である。 (601)……鍵盤部、(602)……操作部、(603)……中央処
理装置、(604)……RAM、(605)……ROM、(606)……楽音
合成データROM、(607)……楽音発生部、(801)……主発
振器、(802)……シーケンサ、(803)……入力レジスタ
部、(804)……タイマー、(805)……比較レジスタ部、(8
06)……周波数データプロセツサ、(807)……波形データ
プロセツサ、(808)……データリードプロセツサ、(809)
……読み出しパルス形成部、(810)……計算要求フラグ
発生部、(811)……DAC、(812)……アナログバツフアメ
モリ部、(813)……積分器
の楽音発生装置を採用した電子楽器のブロツク図、第7
図はCPU(603)から楽音発生部(607)にデータを供給する
場合のタイムチヤート図、第8図は楽音発生部(607)の
構成図、第9図はシーケンサ(802)の一具体例のブロツ
ク図、第10図はシーケンサ(802)の動作タイムチヤート
図、第11図はアナログバツフアメモリ部(812)の一具体
例の構成図、第12図は楽音発生部(607)の内部動作タイ
ムチヤート図、第13図はFDP(806)から比較レジスタ部(8
05)に供給する周波数データの推移図、第14図はFDP(80
6)の一具体例の構成図、第15図はFDP(806)のデータ処理
手順を示す処理流れ図、第16図は比較レジスタ部(805)
の一具体例を示す構成図、第17図は計算要求フラグ発生
部(810)の一具体例を示す構成図、第18図はDBK(606)の
データ構成図、第19図はDRP(808)の一具体例を示す構成
図、第20図はWDP(807)の演算処理の流れ図、第21図はWD
P(807)の一具体例を示す構成図、第22図はビブラート発
生部(1403)の一具体例を示す構成図、第23図は演算部(1
913)の一具体例を示す構成図、第24図は演算部(2108)の
一具体例を示す構成図である。 (601)……鍵盤部、(602)……操作部、(603)……中央処
理装置、(604)……RAM、(605)……ROM、(606)……楽音
合成データROM、(607)……楽音発生部、(801)……主発
振器、(802)……シーケンサ、(803)……入力レジスタ
部、(804)……タイマー、(805)……比較レジスタ部、(8
06)……周波数データプロセツサ、(807)……波形データ
プロセツサ、(808)……データリードプロセツサ、(809)
……読み出しパルス形成部、(810)……計算要求フラグ
発生部、(811)……DAC、(812)……アナログバツフアメ
モリ部、(813)……積分器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 二階堂 正隆 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 足立 達也 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 金秋 哲彦 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (56)参考文献 特開 昭54−39616(JP,A) 特開 昭54−65020(JP,A) 実開 昭55−60192(JP,U)
Claims (1)
- 【請求項1】楽音の発音開始から発音終了時までの複数
個の楽音波形のうち少なくとも2つ以上の楽音波形を音
域あるいは複数の音階ごとに独立に準備すると共に楽音
波形を用いて合成波形を形成する時に使用する制御デー
タを記憶するデータメモリ部と、発音音階を決定するノ
ートクロック発生部と、上記ノートクロック発生部の信
号出力と音域あるいは音階指定データに基づいて上記デ
ータメモリ部から音域あるいは音階ごとに独立に準備し
た2つの波形サンプルデータと制御データとを読み出す
データ読み出し部と、上記データ読み出し部で読み出し
た2つの波形サンプルデータと制御データとを用いて合
成波形サンプルデータを求める波形計算部と、上記波形
計算部のディジタル出力信号をアナログ信号に変換する
変換部とを具備し、前記波形計算部で実行する計算内容
は、前記データ読み出し部で読み出した2つの波形サン
プルf(Xi,n)、f(Xi+1,n)と、f(Xi)からf(Xi+1)への
波形移行数をMとする制御データとを用い、実質的に次
式に示す波形内挿演算を行ない、仮想サンプル値 (Xi,m,n)を求め、楽音波形を発生するようにした楽音発
生装置。 i=0,1,2,・・・,I-1 波形ナンバ m=0,1,2,・・・,M-1 くり返しナンバ n=0,1,2,・・・,N-1 波形サンプル数
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58011865A JPH0631984B2 (ja) | 1983-01-26 | 1983-01-26 | 楽音発生装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58011865A JPH0631984B2 (ja) | 1983-01-26 | 1983-01-26 | 楽音発生装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59136796A JPS59136796A (ja) | 1984-08-06 |
| JPH0631984B2 true JPH0631984B2 (ja) | 1994-04-27 |
Family
ID=11789608
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58011865A Expired - Lifetime JPH0631984B2 (ja) | 1983-01-26 | 1983-01-26 | 楽音発生装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0631984B2 (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS604995B2 (ja) * | 1977-09-05 | 1985-02-07 | ヤマハ株式会社 | 電子楽器 |
| JPS6037600Y2 (ja) * | 1978-10-19 | 1985-11-08 | ヤマハ株式会社 | 電子楽器 |
-
1983
- 1983-01-26 JP JP58011865A patent/JPH0631984B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59136796A (ja) | 1984-08-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0375877B2 (ja) | ||
| JPS6116994B2 (ja) | ||
| JPH01101590A (ja) | 電子楽器 | |
| JPH0367277B2 (ja) | ||
| JP2619242B2 (ja) | 時変スペクトルを有する楽音を発生する電子楽器 | |
| JP2606791B2 (ja) | 楽音発生用のディジタル信号処理装置 | |
| JP3634130B2 (ja) | 楽音生成装置及び楽音生成方法 | |
| US5684260A (en) | Apparatus and method for generation and synthesis of audio | |
| JPH0631984B2 (ja) | 楽音発生装置 | |
| JPS6343760B2 (ja) | ||
| JPS6035077B2 (ja) | 電子楽器 | |
| JPS6343759B2 (ja) | ||
| JPH0153800B2 (ja) | ||
| JP3706232B2 (ja) | 楽音生成装置及び楽音生成方法 | |
| JPS59136794A (ja) | 楽音発生装置 | |
| JPS59123887A (ja) | 楽音発生装置 | |
| JPS59136793A (ja) | 楽音発生装置 | |
| JPH0127434B2 (ja) | ||
| JP3684052B2 (ja) | 楽音生成装置及び楽音生成方法 | |
| JPH0786755B2 (ja) | 電子楽器 | |
| JPS59136792A (ja) | 楽音発生装置 | |
| JP3637191B2 (ja) | 楽音生成装置及び楽音生成方法 | |
| JPS58200294A (ja) | 包絡線信号発生装置 | |
| JP2572875B2 (ja) | 楽音合成装置 | |
| JP2997626B2 (ja) | 楽音生成装置及び楽音生成方法 |