JP2516071Y2 - 楽音波形発生装置 - Google Patents
楽音波形発生装置Info
- Publication number
- JP2516071Y2 JP2516071Y2 JP15703287U JP15703287U JP2516071Y2 JP 2516071 Y2 JP2516071 Y2 JP 2516071Y2 JP 15703287 U JP15703287 U JP 15703287U JP 15703287 U JP15703287 U JP 15703287U JP 2516071 Y2 JP2516071 Y2 JP 2516071Y2
- Authority
- JP
- Japan
- Prior art keywords
- data
- interpolation
- waveform
- point
- storage means
- 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
Description
【考案の詳細な説明】 [考案の技術分野] この考案は楽音波形発生装置に関し、特に、波形メモ
リの容量を節約するために行われる波形データの補間技
術に関する。
リの容量を節約するために行われる波形データの補間技
術に関する。
[従来技術とその問題点] メモリの記憶容量が限られている以上、任意の位相に
対する波形振幅値を記憶させることは不可能である。す
なわち、波形メモリに記憶されるのは、各サンプル点、
すなわち離散的な各位相における波形振幅値であり、こ
の離散的な位相の総数が波形メモリの語数を定める。位
相生成器が、波形メモリの番地の数よりも大きなビット
数の位相データを生成する場合、位相データの上位の何
ビットかが波形メモリの番地を特定する。これらの上位
ビットは、番地そのものをきっかり示すところから整数
部と呼ばれている。位相データの残りの下位ビットは小
数部と呼ばれ、オールゼロでない限り、波形メモリに格
納された2つの振幅値の位相の中間位置を示している。
この小数部のデータを無視して、不十分な容量の波形メ
モリをアクセスしたとすると、出力波形に無視できない
歪みが発生する。このような波形メモリのサンプル数の
不足をおぎなうために、補間技術が知られている。
対する波形振幅値を記憶させることは不可能である。す
なわち、波形メモリに記憶されるのは、各サンプル点、
すなわち離散的な各位相における波形振幅値であり、こ
の離散的な位相の総数が波形メモリの語数を定める。位
相生成器が、波形メモリの番地の数よりも大きなビット
数の位相データを生成する場合、位相データの上位の何
ビットかが波形メモリの番地を特定する。これらの上位
ビットは、番地そのものをきっかり示すところから整数
部と呼ばれている。位相データの残りの下位ビットは小
数部と呼ばれ、オールゼロでない限り、波形メモリに格
納された2つの振幅値の位相の中間位置を示している。
この小数部のデータを無視して、不十分な容量の波形メ
モリをアクセスしたとすると、出力波形に無視できない
歪みが発生する。このような波形メモリのサンプル数の
不足をおぎなうために、補間技術が知られている。
すなわち、従来の波形補間装置は、 Y=An+a・(An+1−An) で示す式に従って各補間点における波形振幅値Yを演算
する。ここに、Anは位相データの整数部nで指定される
波形メモリの振幅値データ(n番目のサンプル点の振幅
値)であり、An+1はn+1番目のサンプル点における振
幅値である。また、aは補間用係数であり、位相データ
の小数部によって定められる。例えば、位相データの小
数部が5ビットから成るとすると、この小数部は、0か
ら31までの値をとり、あるサンプル点から次のサンプル
点までの補間区間を32の可能補間点に分ける。
する。ここに、Anは位相データの整数部nで指定される
波形メモリの振幅値データ(n番目のサンプル点の振幅
値)であり、An+1はn+1番目のサンプル点における振
幅値である。また、aは補間用係数であり、位相データ
の小数部によって定められる。例えば、位相データの小
数部が5ビットから成るとすると、この小数部は、0か
ら31までの値をとり、あるサンプル点から次のサンプル
点までの補間区間を32の可能補間点に分ける。
上記の式のa・(An+1‐An)の項は、乗算器で実現さ
れるが、乗数aの重みが、Nビットの小数部に対して最
大2N−1になるので、乗算器の回路が大きくなってしま
う。
れるが、乗数aの重みが、Nビットの小数部に対して最
大2N−1になるので、乗算器の回路が大きくなってしま
う。
[考案の目的] したがって、この考案の目的は、波形補間演算におけ
る乗算の項をより簡単な構成で実現できるようにした楽
音波形発生装置を提供することである。
る乗算の項をより簡単な構成で実現できるようにした楽
音波形発生装置を提供することである。
[考案の要点] この考案は上記の目的を達成するため、波形粗データ
記憶手段(波形メモリ)の各サンプル点の前後において
補間を行うようにしたことを要点としており、具体的に
は、各サンプル点における振幅データの微分値を記憶す
る微分データ記憶手段を用意するとともに、入力位相デ
ータの小数部の最上位ビットに、補間点がサンプル点よ
り前の補間区間にあるか後の補間区間にあるかを識別す
る意味を持たせ、小数部の残りのビットデータから乗数
を作成し、この乗数を入力位相データの整数部により特
定された微分データ記憶手段からの微分データに乗算
し、この乗算結果を識別された補間区間がサンプル点よ
り前か後に従って、サンプル点の振幅データに加減算す
るようにしたものである。
記憶手段(波形メモリ)の各サンプル点の前後において
補間を行うようにしたことを要点としており、具体的に
は、各サンプル点における振幅データの微分値を記憶す
る微分データ記憶手段を用意するとともに、入力位相デ
ータの小数部の最上位ビットに、補間点がサンプル点よ
り前の補間区間にあるか後の補間区間にあるかを識別す
る意味を持たせ、小数部の残りのビットデータから乗数
を作成し、この乗数を入力位相データの整数部により特
定された微分データ記憶手段からの微分データに乗算
し、この乗算結果を識別された補間区間がサンプル点よ
り前か後に従って、サンプル点の振幅データに加減算す
るようにしたものである。
[考案の作用、展開] この考案によれば、従来技術のように、補間区間が、
入力位相データの整数部が示すサンプル点の片側に形成
されるものではなく、サンプル点の両側に形成される。
すなわち、入力位相データの最上位ビットによって、補
間点がサンプル点より手前の補間区間にあるか、後の補
間区間にあるかが区別され、前または後の補間区間のな
かのどの位置に補間点があるかが残りの小数部のビット
データで与えられ、この少ないビットデータから乗数が
与えられる。乗数の取り得る最大値は、従来技術の約半
分になるため、その分、乗算が容易に行える。
入力位相データの整数部が示すサンプル点の片側に形成
されるものではなく、サンプル点の両側に形成される。
すなわち、入力位相データの最上位ビットによって、補
間点がサンプル点より手前の補間区間にあるか、後の補
間区間にあるかが区別され、前または後の補間区間のな
かのどの位置に補間点があるかが残りの小数部のビット
データで与えられ、この少ないビットデータから乗数が
与えられる。乗数の取り得る最大値は、従来技術の約半
分になるため、その分、乗算が容易に行える。
例えば、入力位相データの小数部を5ビットとし、こ
れによって、サンプル点より前に16個の点、サンプル点
より後に15の点を表現できるようにしたとすると、乗数
は0〜16の範囲となる。
れによって、サンプル点より前に16個の点、サンプル点
より後に15の点を表現できるようにしたとすると、乗数
は0〜16の範囲となる。
同一の分解能に対する従来の乗数は0〜31の範囲とな
る。
る。
被乗数(本考案の場合は微分データ)を7ビット**
*****(*=0か1)で表現したとする。
*****(*=0か1)で表現したとする。
7ビットの被乗数に5ビットの乗数を乗算する式は、 となる。
従来技術の場合最悪のケースでは、7ビットが *******=111111 であり、乗算が31、すなわち、 *****=11111 である。この両者の積は桁上げのため12ビット必要であ
る。
る。
一方、この考案の場合、乗数の最大値は16、すなわ
ち、 *****=10000 であるので、 となり、11ビットで十分である。したがって、乗算回路
において部分積の累算のために使用する加算器のサイズ
を1ビット節約することができ、回路規模を小さくする
ことができる。
ち、 *****=10000 であるので、 となり、11ビットで十分である。したがって、乗算回路
において部分積の累算のために使用する加算器のサイズ
を1ビット節約することができ、回路規模を小さくする
ことができる。
なお、波形粗データ記憶手段に格納される各サンプル
点の振幅データは、必ずしも、入力位相データの整数部
が示す位相角における振幅データである必要はなく、補
間演算において、ある補間点で計算した振幅値が正しい
値を示すようにしてもよい。例えば、補間区間の両端の
位相角においてサンプルした振幅値の平均値を波形粗デ
ータ記憶手段に記憶させることができる。この場合、補
間区間の両端にある補間点の振幅値を演算する際に、最
も正しい振幅値が得られる。
点の振幅データは、必ずしも、入力位相データの整数部
が示す位相角における振幅データである必要はなく、補
間演算において、ある補間点で計算した振幅値が正しい
値を示すようにしてもよい。例えば、補間区間の両端の
位相角においてサンプルした振幅値の平均値を波形粗デ
ータ記憶手段に記憶させることができる。この場合、補
間区間の両端にある補間点の振幅値を演算する際に、最
も正しい振幅値が得られる。
[実施例] 第1図は本考案の一実施例に係る波形補間型楽音波形
発生回路の詳細図である。まず、FFは全て2相クロック
のフリップフロップで第2図のようなクロックCKIでデ
ータを取込み、CK2で出力する。位相データ入力A0〜13
は第3図のような信号で反転回路1により下位12ビット
A0〜11はA12が1のとき反転され、アドレスA′0〜11
を出力する。SIN粗データROM8は粗くサンプリングされ
た正弦波1/4周期の基本振幅値を記憶するもので、アド
レス上位A′5〜11に対応する波形振幅値を出力する。
SIN細データROM5はSIN粗データROM8で記憶されたサンプ
ル点での波形の微分データを記憶するもので、位相デー
タの整数部であるアドレス上位A′5〜11に対応する波
形微分値を出力する。加減算器3は、位相データの小数
部から最上位A′4を除いたアドレス下位A′0〜3を
変更するもので、補間点がサンプル点の前か後かを区別
するA′4が前半を示す1のとき0→16、1→15、……
15→1とし、A′4が後半を示す0のときはそのままの
値を出力する。したがって変更後の値I0〜4は第4図に
示すように基本振幅値のサンプル点からの微小サンプル
間隔を意味することになる。乗算器7は、SIN細データR
OM5から読出されFF6を介した波形微分値F0〜6と基本振
幅値のサンプル点からの微小サンプル間隔I0〜4を乗算
し、基本振幅値に加減算するための補間用データを生成
する。加減算器12は読出された基本振幅値C0〜14に補間
用データF′0〜10を加減算するものでA′4が0なら
減算1なら加算となる。したがって第4図に示すように
アドレス下位A′0〜4が基本振幅値のサンプル点より
前を意味する時は(A′=0)、補間データF′0〜10
を基本振幅値から減算し、アドレス下位A′0〜4が基
本振幅値のサンプル点より後を意味する時は(A′4=
1)、補間データF′0〜10を基本振幅値に加算して補
間を行っていることになる。加減算器15は補間によって
生成された正弦波波形を入力データのMSBA13が1なら減
算、0なら加算を行なう。これにより補間された正弦波
波形は位相が0〜πのときは正、π〜2πのときは負の
値とされ正弦波一周期分の波形が生成されることにな
る。尚、2シフトレジスタ9、11、3シフトレジスタ14
は2段シフトレジスタでタイミング合わせのために使わ
れている。
発生回路の詳細図である。まず、FFは全て2相クロック
のフリップフロップで第2図のようなクロックCKIでデ
ータを取込み、CK2で出力する。位相データ入力A0〜13
は第3図のような信号で反転回路1により下位12ビット
A0〜11はA12が1のとき反転され、アドレスA′0〜11
を出力する。SIN粗データROM8は粗くサンプリングされ
た正弦波1/4周期の基本振幅値を記憶するもので、アド
レス上位A′5〜11に対応する波形振幅値を出力する。
SIN細データROM5はSIN粗データROM8で記憶されたサンプ
ル点での波形の微分データを記憶するもので、位相デー
タの整数部であるアドレス上位A′5〜11に対応する波
形微分値を出力する。加減算器3は、位相データの小数
部から最上位A′4を除いたアドレス下位A′0〜3を
変更するもので、補間点がサンプル点の前か後かを区別
するA′4が前半を示す1のとき0→16、1→15、……
15→1とし、A′4が後半を示す0のときはそのままの
値を出力する。したがって変更後の値I0〜4は第4図に
示すように基本振幅値のサンプル点からの微小サンプル
間隔を意味することになる。乗算器7は、SIN細データR
OM5から読出されFF6を介した波形微分値F0〜6と基本振
幅値のサンプル点からの微小サンプル間隔I0〜4を乗算
し、基本振幅値に加減算するための補間用データを生成
する。加減算器12は読出された基本振幅値C0〜14に補間
用データF′0〜10を加減算するものでA′4が0なら
減算1なら加算となる。したがって第4図に示すように
アドレス下位A′0〜4が基本振幅値のサンプル点より
前を意味する時は(A′=0)、補間データF′0〜10
を基本振幅値から減算し、アドレス下位A′0〜4が基
本振幅値のサンプル点より後を意味する時は(A′4=
1)、補間データF′0〜10を基本振幅値に加算して補
間を行っていることになる。加減算器15は補間によって
生成された正弦波波形を入力データのMSBA13が1なら減
算、0なら加算を行なう。これにより補間された正弦波
波形は位相が0〜πのときは正、π〜2πのときは負の
値とされ正弦波一周期分の波形が生成されることにな
る。尚、2シフトレジスタ9、11、3シフトレジスタ14
は2段シフトレジスタでタイミング合わせのために使わ
れている。
第5図は補間後の正弦波波形を簡単のため1/4周期で
サンプル点(実際は4096)として示すものである。SIN
粗データROM8のデータは第5図のように1/4周期分のデ
ータをアドレスの反転や波形の反転等によって1周期分
のデータを得るので反転に対して対称となるように予め
サンプル点を決める必要がある。この場合、1/4周期で4
096個のサンプル点を作るための基本振幅値は Yn=Sin(90・(32・n+16.5/4096) n=0〜127(2) となる。サンプル点の基本振幅値を(2)式のように定
めると、第4図による補間は実際の正弦波波形の外側を
折れ線近似で補間することになる。また、1/4周期4096
サンプルを作るための基本振幅値を、粗くサンプリング
された波形振幅値の隣り合う2点の中点とすると、基本
振幅値は Yn={Sin(90・(32n+16.5/4096) +Sin(90・(32(n+1)+16.5/4096)} (3) n=0〜127 となる。この場合、第4図による補間は実際の正弦波波
形の内側を折れ線近似で補間することになる。
サンプル点(実際は4096)として示すものである。SIN
粗データROM8のデータは第5図のように1/4周期分のデ
ータをアドレスの反転や波形の反転等によって1周期分
のデータを得るので反転に対して対称となるように予め
サンプル点を決める必要がある。この場合、1/4周期で4
096個のサンプル点を作るための基本振幅値は Yn=Sin(90・(32・n+16.5/4096) n=0〜127(2) となる。サンプル点の基本振幅値を(2)式のように定
めると、第4図による補間は実際の正弦波波形の外側を
折れ線近似で補間することになる。また、1/4周期4096
サンプルを作るための基本振幅値を、粗くサンプリング
された波形振幅値の隣り合う2点の中点とすると、基本
振幅値は Yn={Sin(90・(32n+16.5/4096) +Sin(90・(32(n+1)+16.5/4096)} (3) n=0〜127 となる。この場合、第4図による補間は実際の正弦波波
形の内側を折れ線近似で補間することになる。
[考案の効果] 以上詳細に説明したように、この考案では粗サンプリ
ングされた振幅値のサンプル点を中心として、その前後
の補間区間で補間演算を実行しているので、乗数の大き
さを従来の約半分にすることができ、乗算部の回路構成
を小さくすることができる。
ングされた振幅値のサンプル点を中心として、その前後
の補間区間で補間演算を実行しているので、乗数の大き
さを従来の約半分にすることができ、乗算部の回路構成
を小さくすることができる。
第1図はこの考案の一実施例に係る楽音波形発生回路の
詳細図、第2図はクロックのタイムチャート、第3図は
入力位相データの説明図、第4図は実施例における補間
演算の理解に適した図、第5図は正弦波の対称性を利用
した1/4周期サンプリングを示す図である。 5……SIN細データROM、8……SIN粗データROM、7……
乗算器、12……加減算器、A′5〜11……入力位相デー
タの整数部、A′4……入力位相データの小数部の最上
位ビット、A′0〜3……小数部の残りのビットデー
タ。
詳細図、第2図はクロックのタイムチャート、第3図は
入力位相データの説明図、第4図は実施例における補間
演算の理解に適した図、第5図は正弦波の対称性を利用
した1/4周期サンプリングを示す図である。 5……SIN細データROM、8……SIN粗データROM、7……
乗算器、12……加減算器、A′5〜11……入力位相デー
タの整数部、A′4……入力位相データの小数部の最上
位ビット、A′0〜3……小数部の残りのビットデー
タ。
Claims (1)
- 【請求項1】波形の各サンプル点における振幅データを
記憶する波形粗データ記憶手段と、 上記波形の各サンプル点における微分データを記憶する
微分データ記憶手段と、 入力位相データの整数部により、上記波形粗データ記憶
手段と上記微分データ記憶手段から読み出すべき振幅デ
ータと微分データとを特定し、補間点がこの特定された
振幅データのサンプル点より前の補間区間にあるか後の
補間区間にあるかを上記入力位相データの小数部の最上
位ビットにより識別し、上記位相入力データの小数部の
残りのビットデータにより、前または後の補間区間にお
ける補間点に対応する乗数を作成し、この乗数を特定さ
れた微分データに乗算し、この乗算結果を、識別された
補間区間が前か後かに従って、特定された振幅データに
加算することにより補間点における補間振幅データを演
算する補間演算手段と、 を有することを特徴とする楽音波形発生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15703287U JP2516071Y2 (ja) | 1987-10-14 | 1987-10-14 | 楽音波形発生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15703287U JP2516071Y2 (ja) | 1987-10-14 | 1987-10-14 | 楽音波形発生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0160289U JPH0160289U (ja) | 1989-04-17 |
JP2516071Y2 true JP2516071Y2 (ja) | 1996-11-06 |
Family
ID=31436112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15703287U Expired - Lifetime JP2516071Y2 (ja) | 1987-10-14 | 1987-10-14 | 楽音波形発生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2516071Y2 (ja) |
-
1987
- 1987-10-14 JP JP15703287U patent/JP2516071Y2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0160289U (ja) | 1989-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715257A (en) | Waveform generating device for electronic musical instruments | |
JPH0548003B2 (ja) | ||
JPS5865493A (ja) | 波形発生装置 | |
JPH0631990B2 (ja) | 波形の補間装置 | |
JPH10300517A (ja) | エンコーダの内挿回路 | |
JPS5851307B2 (ja) | ハケイハツセイソウチ | |
JP2516071Y2 (ja) | 楽音波形発生装置 | |
JPH0795235B2 (ja) | 電子楽器 | |
GB2091469A (en) | Electronic musical instrument forming tone waveforms by sampling | |
EP0412826B1 (en) | Digital signal processing | |
JPH0486795A (ja) | 楽音発生装置 | |
JPH0718172Y2 (ja) | 可変周波数信号発生装置 | |
JPS60157014A (ja) | エンコ−ダ読取信号の内挿方法および装置 | |
JP2000258473A (ja) | 無効電力演算装置及び無効電力量測定装置 | |
EP1038380B1 (en) | Phase digitizer for radio communications | |
JPH10320524A (ja) | ルックアップテーブル装置及び画像生成装置 | |
JPS62245434A (ja) | 電子楽器の波形発生装置 | |
JPH0746960Y2 (ja) | 楽音合成装置 | |
JP2607974B2 (ja) | 遅れ補正付きパルスコーダ | |
JP2736550B2 (ja) | 電子楽器の補間回路 | |
JP2611256B2 (ja) | 波形発生装置 | |
JP3252296B2 (ja) | 波形データ出力装置 | |
JP3435702B2 (ja) | 楽音発生装置 | |
JPH074658Y2 (ja) | 対数変換回路 | |
JP4095206B2 (ja) | 波形発生方法および装置 |