JPH03179400A - Pcm音源装置 - Google Patents
Pcm音源装置Info
- Publication number
- JPH03179400A JPH03179400A JP1247665A JP24766589A JPH03179400A JP H03179400 A JPH03179400 A JP H03179400A JP 1247665 A JP1247665 A JP 1247665A JP 24766589 A JP24766589 A JP 24766589A JP H03179400 A JPH03179400 A JP H03179400A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- loop
- interpolation
- waveform data
- 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.)
- Granted
Links
- 238000005070 sampling Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000009825 accumulation Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 101150081243 STA1 gene Proteins 0.000 description 1
- NIXOWILDQLNWCW-UHFFFAOYSA-N acrylic acid group Chemical group C(C=C)(=O)O NIXOWILDQLNWCW-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 108010087967 type I signal peptidase Proteins 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
「産業上の利用分野」
この発明は、電子楽器に用いて好適なP CM音源装置
に関する。
に関する。
「従来の技術」
楽音の波高値を時間の経過に従ってデンタルデータで記
憶し、この記憶値を読出して処理することにより楽音信
号を発生するPCM音源が開発されている。
憶し、この記憶値を読出して処理することにより楽音信
号を発生するPCM音源が開発されている。
このPCM音源の中には、波形メモリサイズを小さくで
き、かつ、波形メモリのアドレス移動速度を上げる必要
がない補間方式ピンチ非同期音源かある。ここで、この
方式の音源について説明する。
き、かつ、波形メモリのアドレス移動速度を上げる必要
がない補間方式ピンチ非同期音源かある。ここで、この
方式の音源について説明する。
第10図(イ)は、音源の波形図である。まず、音源を
同図(ロ)に示す所定周波数(fs=fs1)のサンプ
リングパルスでサンプリングし、波形メモリに記憶させ
る。同図(ハ)は波形メモリに記憶された波形データで
ある。次に、第10図(ニ)に示すように波形データを
補間(図は1次直線補間)するとともに、周波数fs、
(fst≠fs、)でリサンプルし、補間後の波形デー
タを読出す。すなわち、周波数fs、と異なる周波数f
s2によってリサンプルすることにより、仮憇的なサン
プリング周波数変換を行う(同図(へ)参pq)。次に
、fs、をfs、と同じ周波数にすると新しいピッチを
もった音か発生される(同図(ト)参照)。
同図(ロ)に示す所定周波数(fs=fs1)のサンプ
リングパルスでサンプリングし、波形メモリに記憶させ
る。同図(ハ)は波形メモリに記憶された波形データで
ある。次に、第10図(ニ)に示すように波形データを
補間(図は1次直線補間)するとともに、周波数fs、
(fst≠fs、)でリサンプルし、補間後の波形デー
タを読出す。すなわち、周波数fs、と異なる周波数f
s2によってリサンプルすることにより、仮憇的なサン
プリング周波数変換を行う(同図(へ)参pq)。次に
、fs、をfs、と同じ周波数にすると新しいピッチを
もった音か発生される(同図(ト)参照)。
このように、有限なサンプル列から任意ピッチの楽音を
得ることができ、しかも、楽音のピッチと同期したサン
プリングパルスを作らなくて済むという利点を有してい
る。
得ることができ、しかも、楽音のピッチと同期したサン
プリングパルスを作らなくて済むという利点を有してい
る。
発明か解決しようとする課題」
ところで、PCM音源では波形が繰り返す部分について
はルーピング処理を行う。このルーピング処理とは、波
形が繰り返す部分については、1周期分の波形を記憶し
、この部分を繰り返して読出すことにより繰り返し波形
を発生する処理である。
はルーピング処理を行う。このルーピング処理とは、波
形が繰り返す部分については、1周期分の波形を記憶し
、この部分を繰り返して読出すことにより繰り返し波形
を発生する処理である。
始めに、ピッチ同期方式におけるルーピング処理につい
て説明する。
て説明する。
例えば、第11図(イ)に示すように、原波形(アナロ
グ波形)が繰り返す場合は、ピッチ同期方式によるサン
プリングデータは同図(0)に示すようになる。この場
合に、所定の1周期、例えば、a点とb点との間の1周
期の波形データのみを記憶し、読出しアドレスかb点ま
できたら再びa点に戻って波形データの読出しを行うよ
うにする。また、81点とす4点との間、32点とす3
点との間の1周期の波形データを記憶して繰り返し読出
しても同様の作用を奏することができる。
グ波形)が繰り返す場合は、ピッチ同期方式によるサン
プリングデータは同図(0)に示すようになる。この場
合に、所定の1周期、例えば、a点とb点との間の1周
期の波形データのみを記憶し、読出しアドレスかb点ま
できたら再びa点に戻って波形データの読出しを行うよ
うにする。また、81点とす4点との間、32点とす3
点との間の1周期の波形データを記憶して繰り返し読出
しても同様の作用を奏することができる。
次に、ピッチ非同期方式のルーピングについて説明する
。
。
今、音源が第12図(イ)に示す波形であり、サンプリ
ングタイミングが同図(ロ)に示す状態であったとする
と、サンプルされた波形データは、同図(ハ)に示すよ
うになる。そして、同図(ハ)の波形データを直線補間
したデータは、同図(ニ)に示すようになる。ここで、
図の時刻t (x)を繰り返しの始点とし、時刻t
(x)からループ区間(繰り返し周期T)経過後の時
刻t (x+T)を繰り返しの終点とする。このとき、
終点はサンプリングポイントの(n+6)と(n+7)
のはほ中間にあるか、波形データS(n+7)は通常サ
ンプリングされないため、終点における波形データを正
確に補間することかできない。
ングタイミングが同図(ロ)に示す状態であったとする
と、サンプルされた波形データは、同図(ハ)に示すよ
うになる。そして、同図(ハ)の波形データを直線補間
したデータは、同図(ニ)に示すようになる。ここで、
図の時刻t (x)を繰り返しの始点とし、時刻t
(x)からループ区間(繰り返し周期T)経過後の時
刻t (x+T)を繰り返しの終点とする。このとき、
終点はサンプリングポイントの(n+6)と(n+7)
のはほ中間にあるか、波形データS(n+7)は通常サ
ンプリングされないため、終点における波形データを正
確に補間することかできない。
したがって、波形データS (n+7)がない場合には
、ルーピング処理を正確に行うことができず波形歪を発
生させる。
、ルーピング処理を正確に行うことができず波形歪を発
生させる。
一方、S (n+7)のデータを用意しておいたとして
も、その後のルーピングにおける補間値との間の調整を
考慮しなければ正確なルーピング処理を行うことはでき
ない。なぜなら、ピッチか非同期であるから、S (n
+7)のデータはS (n)のデータとは異なった値と
なり(第12図(ハ)参照)、S (n+7)を用いて
補間を行った後に再ひ始点に戻って補間を行うと、初回
のルーピングにおける補間値と2回目のルーピングにお
ける補間値との間に誤差が生し、さらに、2回目と3回
目との間、3回目と4回目との間というように継続して
誤差が生じてしまうからである。そして、この誤差は波
形歪を起こし、しかも、歪の発生のし方がルーピング毎
に変化するという不都合を生ヒさせる。
も、その後のルーピングにおける補間値との間の調整を
考慮しなければ正確なルーピング処理を行うことはでき
ない。なぜなら、ピッチか非同期であるから、S (n
+7)のデータはS (n)のデータとは異なった値と
なり(第12図(ハ)参照)、S (n+7)を用いて
補間を行った後に再ひ始点に戻って補間を行うと、初回
のルーピングにおける補間値と2回目のルーピングにお
ける補間値との間に誤差が生し、さらに、2回目と3回
目との間、3回目と4回目との間というように継続して
誤差が生じてしまうからである。そして、この誤差は波
形歪を起こし、しかも、歪の発生のし方がルーピング毎
に変化するという不都合を生ヒさせる。
これに対し、ピッチ同期式の場合は、第11図(ロ)に
示すように、始点と終点との波形データ値が等しく、ル
ーピングを行っても上記不都合は生じない。 この発明
は、上記事情に鑑みてなされたちのて、ルーピング処理
を正確に行うことかでき、波形歪を生しることがないピ
ッチ同期式のPCM音源装置を提供することを目的とし
ている。
示すように、始点と終点との波形データ値が等しく、ル
ーピングを行っても上記不都合は生じない。 この発明
は、上記事情に鑑みてなされたちのて、ルーピング処理
を正確に行うことかでき、波形歪を生しることがないピ
ッチ同期式のPCM音源装置を提供することを目的とし
ている。
「課題を解決するための手段」
上記課題を解決するために、請求項(1)に記載の発明
にあっては、所定のサンプリング間隔で波形データが記
憶されている波形メモリと、発音すべき音の周波数に対
応する間隔でアドレスデータを更新するとともに、前記
アドレスの整数部および当該整数部の次の整数により前
記波形データをアクセスし、さらに前記アドレスの少数
部を補間データとして出力するアドレスデータ発生部と
、前記アドレスデータ発生部によってアクセスされた2
つの波形データと前記補間データとに基ついてデータ補
間を行うデータ補間制御部と、前記アドレスデータによ
るアドレス空間の少なくとも一部にループ部を設定し、
このループ部を繰り返しアクセスするように前記アドレ
スデータ発生部を制御するループ制御部とを具備すると
ともに、前記データ補間制御部は、ループ部エンドアド
レスの波形データとしてループ部スタートアドレスの波
形データを用い、ループ部の最終区間においてはループ
部エンドアドレスの直前となる整数部によってアクセス
された波形データとスタートアドレスの波形データとを
用い、かつ、当該整数部とエンドアドレスとの間の距離
に対応して前記補間データを補正し、これによりデータ
補間を行うことを特徴としている。
にあっては、所定のサンプリング間隔で波形データが記
憶されている波形メモリと、発音すべき音の周波数に対
応する間隔でアドレスデータを更新するとともに、前記
アドレスの整数部および当該整数部の次の整数により前
記波形データをアクセスし、さらに前記アドレスの少数
部を補間データとして出力するアドレスデータ発生部と
、前記アドレスデータ発生部によってアクセスされた2
つの波形データと前記補間データとに基ついてデータ補
間を行うデータ補間制御部と、前記アドレスデータによ
るアドレス空間の少なくとも一部にループ部を設定し、
このループ部を繰り返しアクセスするように前記アドレ
スデータ発生部を制御するループ制御部とを具備すると
ともに、前記データ補間制御部は、ループ部エンドアド
レスの波形データとしてループ部スタートアドレスの波
形データを用い、ループ部の最終区間においてはループ
部エンドアドレスの直前となる整数部によってアクセス
された波形データとスタートアドレスの波形データとを
用い、かつ、当該整数部とエンドアドレスとの間の距離
に対応して前記補間データを補正し、これによりデータ
補間を行うことを特徴としている。
また、請求項(2)に記載の発明にあっては、前記デー
タ補間制御部は、ループ部のスタートアドレスの波形デ
ータとしてエンドアドレスの波形データを用い、ループ
部の最初の区間においてはエンドアドレスの波形データ
とスタートアドレスの直後の整数値によってアクセスさ
れた波形データとを用い、かつ、当該整数値とスタート
アドレスとの間の距離に対応して前記補間データを補正
し、これによりデータ補間を行うことを特徴としている
。
タ補間制御部は、ループ部のスタートアドレスの波形デ
ータとしてエンドアドレスの波形データを用い、ループ
部の最初の区間においてはエンドアドレスの波形データ
とスタートアドレスの直後の整数値によってアクセスさ
れた波形データとを用い、かつ、当該整数値とスタート
アドレスとの間の距離に対応して前記補間データを補正
し、これによりデータ補間を行うことを特徴としている
。
「作用」
請求項1および2の発明においては、ループ部のスター
トアドレスとエンドアドレスの各波形データが一致する
ので、ルーピングの回数によって補間値が変動するとい
うことがない。
トアドレスとエンドアドレスの各波形データが一致する
ので、ルーピングの回数によって補間値が変動するとい
うことがない。
また、請求項1に記載の発明にあっては、ループ部エン
ドアドレスが少数部を含む場合に、このアドレスの波形
データとしてループ部スタートアドレスの波形データを
用いることができ、請求項2に記載の発明にあっては、
ループ部スタートアドレスが少数部を含む場合に、この
アドレスの波形データとしてループ部エンドアドレスの
波形データを用いることができる。
ドアドレスが少数部を含む場合に、このアドレスの波形
データとしてループ部スタートアドレスの波形データを
用いることができ、請求項2に記載の発明にあっては、
ループ部スタートアドレスが少数部を含む場合に、この
アドレスの波形データとしてループ部エンドアドレスの
波形データを用いることができる。
「実施例」
以下、図面を参照してこの発明の実施例について説明す
る。
る。
A ¥絶倒の基本原理
始めに、実施例の基本原理について説明する。
まず、波形メモリにおけるルーピング始点のアドレスを
ループスタートポイントアドレスLSPAルーピング纒
点のアドレスをループエンドポイントアドレスL E
P Aとする。ピッチ非同期方式においては、ループス
タートポイントアドレスLSPAを第3図(ロ)に示す
ようにサンプリングポイントと一致させると、ループエ
ンドポイントアトレスLEPAは前述のようにサンプリ
ングポイントと一致しない(同図(イ)参照)。しかも
、S (n−+−x) 、S (n+x+l)はサンプ
リングされないため、S(n+x−i)とループエンド
ポイントアドレスLEPAとの間においては、補間を行
うことができない。そこて、本実施例においては、ルー
フエンドポイントアドレスL E P Aの波形データ
としてループスタートポイントアドレスLSPAの波形
データを用い、S(n十x−1)とループエンドポイン
トアトレスLEPAとの間の補間を、S(n+x−1)
とS (n)とを用いて行うようにしている。これは、
周期波形であれば、ループエンドポイントアトレスLE
PAの波形データは、ループスタートポイントアトレス
LS PAの波形データに等しくなることを利用したも
のである。
ループスタートポイントアドレスLSPAルーピング纒
点のアドレスをループエンドポイントアドレスL E
P Aとする。ピッチ非同期方式においては、ループス
タートポイントアドレスLSPAを第3図(ロ)に示す
ようにサンプリングポイントと一致させると、ループエ
ンドポイントアトレスLEPAは前述のようにサンプリ
ングポイントと一致しない(同図(イ)参照)。しかも
、S (n−+−x) 、S (n+x+l)はサンプ
リングされないため、S(n+x−i)とループエンド
ポイントアドレスLEPAとの間においては、補間を行
うことができない。そこて、本実施例においては、ルー
フエンドポイントアドレスL E P Aの波形データ
としてループスタートポイントアドレスLSPAの波形
データを用い、S(n十x−1)とループエンドポイン
トアトレスLEPAとの間の補間を、S(n+x−1)
とS (n)とを用いて行うようにしている。これは、
周期波形であれば、ループエンドポイントアトレスLE
PAの波形データは、ループスタートポイントアトレス
LS PAの波形データに等しくなることを利用したも
のである。
この場合において、S(n十x−1,)とループエンド
ポイントアドレスLEPAとの距離は、通常のサンプリ
ングポイント間の距離とは異なるので、S (n+x−
1)とループエンドポイントアドレスLEPAとの間に
おける補間は、補間値を補正するようにしている。
ポイントアドレスLEPAとの距離は、通常のサンプリ
ングポイント間の距離とは異なるので、S (n+x−
1)とループエンドポイントアドレスLEPAとの間に
おける補間は、補間値を補正するようにしている。
以上のような補間処理を行うことにより、ルーピング処
理における各補間値の同一性か保たれ、歪のない波形デ
ータを得ることができる。
理における各補間値の同一性か保たれ、歪のない波形デ
ータを得ることができる。
以上がこの実施例の基本原理である。
B 実施例の構成
第1図はこ・の発明の一実施例の構成を示すブロック図
である。図において1は多数のキーからなる鍵盤であり
、鍵盤1の各キーから出力されるキー信号は押鍵検出手
段2に供給される。押鍵検出手段2は、キー信号に基つ
いてそのキーを示すキーコート’ K Cを出力すると
ともに、押鍵か検出されるとキーオン信号に○\を出力
する。3は周波数情報発生部であり、キーコードKCに
対応する周波数情報であるFナンノ・を発生する。この
Fナンバは、Fナンバレジスタ4に入力されるようにな
・ている。
である。図において1は多数のキーからなる鍵盤であり
、鍵盤1の各キーから出力されるキー信号は押鍵検出手
段2に供給される。押鍵検出手段2は、キー信号に基つ
いてそのキーを示すキーコート’ K Cを出力すると
ともに、押鍵か検出されるとキーオン信号に○\を出力
する。3は周波数情報発生部であり、キーコードKCに
対応する周波数情報であるFナンノ・を発生する。この
Fナンバは、Fナンバレジスタ4に入力されるようにな
・ている。
次に、5は装置各部を制御する制御部てあり、CPU、
ROMおよびI10ボート等から構成されている。この
制御部5は、キーオン信号KONが供給されると、各種
の制御信号を所定のタイミングに従って発生するように
なっている。
ROMおよびI10ボート等から構成されている。この
制御部5は、キーオン信号KONが供給されると、各種
の制御信号を所定のタイミングに従って発生するように
なっている。
8は加算器であり、一方の入力端にFナンバレジスタ4
が出力するFナンバが供給され、その出力信号はセレク
タ9の一方の入力端に供給される。
が出力するFナンバが供給され、その出力信号はセレク
タ9の一方の入力端に供給される。
セレクタ9は制御部5か出力する信号ASELが“0”
のときに第0入力端を選択し、“l”のときに第1入力
端を選択する。このセレクタ9の第1の入力端には、制
御部5からスタートデータSDか供給されている。スタ
ートデータSDは、波形データの読出し開始アドレスで
あり、アタック部の最初のアドレスを示す。このスター
トデータSDは、音色等によって種々異なる値か予め設
定されている。10は減算器であり、制御部5が信号R
Dを出力すると、セレクタ9の出力信号から信号SDを
減算してシフトレジスタ11に供給する。また、制御部
5が信号RDを出力しないときは、セレクタ9の出力信
号は、減算器10をそのまま通過してシフトレジスタ1
1に供給される。
のときに第0入力端を選択し、“l”のときに第1入力
端を選択する。このセレクタ9の第1の入力端には、制
御部5からスタートデータSDか供給されている。スタ
ートデータSDは、波形データの読出し開始アドレスで
あり、アタック部の最初のアドレスを示す。このスター
トデータSDは、音色等によって種々異なる値か予め設
定されている。10は減算器であり、制御部5が信号R
Dを出力すると、セレクタ9の出力信号から信号SDを
減算してシフトレジスタ11に供給する。また、制御部
5が信号RDを出力しないときは、セレクタ9の出力信
号は、減算器10をそのまま通過してシフトレジスタ1
1に供給される。
シフトレジスタ11は、クロック信号φ、。、φ1に基
づいてシフト動作を行う回路である。クロック信号φ、
。、φ、は、第4図(ホ)、(へ)に示すタイミングで
出力される信号であり、シフトレジスタ11はクロック
信号φ、。の立上りで供給されている信号を取り込み、
クロック信号φ5.の立上りで取り込んだ信号を出力す
るようになっている。このシフトレジスタ11の出力信
号は加算器8の他方の入力端に供給され、Fナンバに加
算されるようになっている。
づいてシフト動作を行う回路である。クロック信号φ、
。、φ、は、第4図(ホ)、(へ)に示すタイミングで
出力される信号であり、シフトレジスタ11はクロック
信号φ、。の立上りで供給されている信号を取り込み、
クロック信号φ5.の立上りで取り込んだ信号を出力す
るようになっている。このシフトレジスタ11の出力信
号は加算器8の他方の入力端に供給され、Fナンバに加
算されるようになっている。
次に、12は比較器てあり、制御部5が出力するループ
エンドポイントアドレスLEPAか入力端Bに供給され
、加算器8の出力信号か入力端Aに供給されている。そ
して、A>Bのときに信号CPI(”1”信号)を出力
し、A>1nt(B)のときに信号CP2(”ビ信号)
を出力する。
エンドポイントアドレスLEPAか入力端Bに供給され
、加算器8の出力信号か入力端Aに供給されている。そ
して、A>Bのときに信号CPI(”1”信号)を出力
し、A>1nt(B)のときに信号CP2(”ビ信号)
を出力する。
ここで、A、Bは各々入力端A、Bに供給される信号の
大きさであり、1nt(B)は入力端Bに供給される信
号の整数部を示している。これら信号CPU、CP2は
、各々制御部5に供給されるようになっており、制御部
5は信号CPIが供給されると、前述した信号RDを出
力するようになっている。信号RDは、ループのサイズ
を示す信号であり、ループエンドポイントアドレスLE
PAとループスタートポイントアドレスLS PAとの
差を示す信号である。
大きさであり、1nt(B)は入力端Bに供給される信
号の整数部を示している。これら信号CPU、CP2は
、各々制御部5に供給されるようになっており、制御部
5は信号CPIが供給されると、前述した信号RDを出
力するようになっている。信号RDは、ループのサイズ
を示す信号であり、ループエンドポイントアドレスLE
PAとループスタートポイントアドレスLS PAとの
差を示す信号である。
次に、16はソフトレジスタ11の出力信号の整数部に
l”を加える加算器であり、この加算器の出力信号かセ
レクタ15の第1入力端に供給される。また、セレクタ
15の第O入力端にはシフトレジスタ11の出力信号の
整数部Iが直接供給される。セレクタ15はクロック信
号φWに従ってセレクト動作を行うようになっている。
l”を加える加算器であり、この加算器の出力信号かセ
レクタ15の第1入力端に供給される。また、セレクタ
15の第O入力端にはシフトレジスタ11の出力信号の
整数部Iが直接供給される。セレクタ15はクロック信
号φWに従ってセレクト動作を行うようになっている。
この場合、クロック信号φWは、第4図(イ)に示すタ
イミングで出力され、セレクタ15は、クロック信号φ
Wか“l”のときに第1入力端、0°”のときに第O入
力端を各々遺択する。このセレクタ15の出力信号は、
波形メモリ17にアドレスデータとして供給されるよう
になっており、これにより、波形メモリ17に記憶され
ている波形データは正数部■および(1+1)によって
アクセスされる。
イミングで出力され、セレクタ15は、クロック信号φ
Wか“l”のときに第1入力端、0°”のときに第O入
力端を各々遺択する。このセレクタ15の出力信号は、
波形メモリ17にアドレスデータとして供給されるよう
になっており、これにより、波形メモリ17に記憶され
ている波形データは正数部■および(1+1)によって
アクセスされる。
一方、シフトレジスタ11の出力信号の小数部iは、セ
レクタ19の第O入力端および乗算器20の一方の入力
端に供給される。乗算器20の他方の入力端には、制御
部5から補正データCDが供給されている。補正データ
CDについては、後述する。
レクタ19の第O入力端および乗算器20の一方の入力
端に供給される。乗算器20の他方の入力端には、制御
部5から補正データCDが供給されている。補正データ
CDについては、後述する。
また、乗算器20の出力信号は、セレクタ19の第1入
力端に供給されている。セレクタ19は、制御部5から
供給される信号BSELによってセレクト動作を行うよ
うになっており、信号BSELが“O”のときに第O入
力端、“l”のときに第1入力端を選択する。このセレ
クタ19の出力信号は、補間係数データIPDとして補
間制御部18に供給されるようになっている。補間制御
部18は、波形メモリ■7から出力される正数部I、N
=1)に対応する波形データ、補間係数データIPD、
および信号BSELに基づいて補間を行う。ここで、補
間制御部18の構成を第2図にボす。
力端に供給されている。セレクタ19は、制御部5から
供給される信号BSELによってセレクト動作を行うよ
うになっており、信号BSELが“O”のときに第O入
力端、“l”のときに第1入力端を選択する。このセレ
クタ19の出力信号は、補間係数データIPDとして補
間制御部18に供給されるようになっている。補間制御
部18は、波形メモリ■7から出力される正数部I、N
=1)に対応する波形データ、補間係数データIPD、
および信号BSELに基づいて補間を行う。ここで、補
間制御部18の構成を第2図にボす。
図において、30はセレクタであり、第O入力端に波形
メモリ17から読出される波形データが供給され、第1
入力端にLSレジスタ31の出力信号が供給される。L
Sレジスタ31には、ループスタートポイントアドレス
L S P4における波形データの値(以下、ループス
タートポイントデータLSPDという)がキーオン信号
K ONの発生時に書き込まれるようになっている。セ
レクタ30はアンドゲート32の出力信号が“1″のと
きに第1入力端を選択し、“0”のときに第0入力端を
遺択し、アンドゲート32は信号BSELとクロック信
号φWの論理積をとるようになっている。33はセレク
タ30の出力信号とセレクタ35の出力信号とを乗算す
る乗算器であり、その出力信号か加算器34の一方の入
力端に供給される。セレクタ35の第1入力端には補間
係数データIPDが直接供給され、第O入力端には補間
係数データIPDがビット反転回路36によってビット
反転された後に供給される。
メモリ17から読出される波形データが供給され、第1
入力端にLSレジスタ31の出力信号が供給される。L
Sレジスタ31には、ループスタートポイントアドレス
L S P4における波形データの値(以下、ループス
タートポイントデータLSPDという)がキーオン信号
K ONの発生時に書き込まれるようになっている。セ
レクタ30はアンドゲート32の出力信号が“1″のと
きに第1入力端を選択し、“0”のときに第0入力端を
遺択し、アンドゲート32は信号BSELとクロック信
号φWの論理積をとるようになっている。33はセレク
タ30の出力信号とセレクタ35の出力信号とを乗算す
る乗算器であり、その出力信号か加算器34の一方の入
力端に供給される。セレクタ35の第1入力端には補間
係数データIPDが直接供給され、第O入力端には補間
係数データIPDがビット反転回路36によってビット
反転された後に供給される。
次に、加算器34の出力信号は、出力ラッチ38の入力
端に供給される。出力ラッチ38は、クロック信号φS
umt (第4図(〕・)参照)か立ち上がったときに
、加算器38の出力信号をラッチする。また、加算器3
8の出力信号は、累算ラッチ37に供給される。累算ラ
ッチ37は、クロック信号φ5uIIIIが立ち上がっ
たときに加算器34の出力信号をラッチし、クリア信号
φclr (第4図(ニ)参照)が立ち上かる毎にクリ
アされるようになっている。
端に供給される。出力ラッチ38は、クロック信号φS
umt (第4図(〕・)参照)か立ち上がったときに
、加算器38の出力信号をラッチする。また、加算器3
8の出力信号は、累算ラッチ37に供給される。累算ラ
ッチ37は、クロック信号φ5uIIIIが立ち上がっ
たときに加算器34の出力信号をラッチし、クリア信号
φclr (第4図(ニ)参照)が立ち上かる毎にクリ
アされるようになっている。
次に、第1図に示す23は、補間制御部18の出力信号
とエンベロープ発生部22の出力信号とを乗算する乗算
器である。エンベロープ発生部22は、キーオン13号
KONか供給されると、所定のエンベロープ信号を発生
するものである。乗算器23の乗算処理によって、補間
された波形データに対しエンベロープが付されることに
なる。そして、乗算器23の出力信号は、D/Aフンバ
ータ25によってアナログ信号に変換され、その後にサ
ウンド/ステム26に供給されて楽音として発生される
。
とエンベロープ発生部22の出力信号とを乗算する乗算
器である。エンベロープ発生部22は、キーオン13号
KONか供給されると、所定のエンベロープ信号を発生
するものである。乗算器23の乗算処理によって、補間
された波形データに対しエンベロープが付されることに
なる。そして、乗算器23の出力信号は、D/Aフンバ
ータ25によってアナログ信号に変換され、その後にサ
ウンド/ステム26に供給されて楽音として発生される
。
C・実施例の動作
次に、上記構成によるこの実施例の動作についてアタッ
ク部とループ部(第6図参照)に分けて説明する。
ク部とループ部(第6図参照)に分けて説明する。
■アタック部の発音動作
まず、鍵盤1内のいずれかのキーが押されると、押鍵検
出回路2によって押鍵か検出され、キーオン信号KON
か出力される。これにより、制御部5か信号A S E
Lを“1”信号にし、セレクタ9に第1入力端を選択
させる。この結果、スタートデータSDかセレクタ9、
減算器10およびソフトレジスタ11を介して出力され
、その正数部■がセレクタ15の第O入力端に供給され
る。ここで、クロック信号φWが“O”信号のときは(
第4図(イ)参照)、セレクタ15か第O入力端を選択
するから、スタートデータSDの正数部Iは、セレクタ
15を介して波形メモリ17に供給される。この結果、
スタートデータSDの正数部Iが示すアドレスに記憶さ
れている波形データS (s)が読出され、補間制御部
18に供給される。一方、比較器12においてはA<B
であるため、信号Cpl、cp2は出力されず、この結
果、信号BSELは“O′信号となる。信号BSELが
“O″信号あると、第2図に示すアンドゲート32の出
力信号は常に“O”信号となる。そして、アンドゲート
32の出力信号が“O”信号の場合は、セレクタ30が
第O入力端を選択するから、波形メモリ17から読出さ
れた波形データS (s)は、セレクタ30を介して乗
算器33に供給される。
出回路2によって押鍵か検出され、キーオン信号KON
か出力される。これにより、制御部5か信号A S E
Lを“1”信号にし、セレクタ9に第1入力端を選択
させる。この結果、スタートデータSDかセレクタ9、
減算器10およびソフトレジスタ11を介して出力され
、その正数部■がセレクタ15の第O入力端に供給され
る。ここで、クロック信号φWが“O”信号のときは(
第4図(イ)参照)、セレクタ15か第O入力端を選択
するから、スタートデータSDの正数部Iは、セレクタ
15を介して波形メモリ17に供給される。この結果、
スタートデータSDの正数部Iが示すアドレスに記憶さ
れている波形データS (s)が読出され、補間制御部
18に供給される。一方、比較器12においてはA<B
であるため、信号Cpl、cp2は出力されず、この結
果、信号BSELは“O′信号となる。信号BSELが
“O″信号あると、第2図に示すアンドゲート32の出
力信号は常に“O”信号となる。そして、アンドゲート
32の出力信号が“O”信号の場合は、セレクタ30が
第O入力端を選択するから、波形メモリ17から読出さ
れた波形データS (s)は、セレクタ30を介して乗
算器33に供給される。
また、信号BSELか“Q”信号の場合は、第1図に示
すセレクタ19か第O入力端を選択するかも、スタート
データSDの小数部iかセレクタ19か:)補間データ
IPDとして出力される。補間データIPDは、クロッ
ク信号φWが“O”信号となっているタインミングにお
いては、ビット反転回路36によってビア1反転された
後にセレクタ35を介して乗算器33に供給される。こ
の小数部1をビ・、ト反転すると、その値は(1−i)
になるから、乗算器33においては、スタートデータS
Dのアドレスにおける波形データS (s)と(1−i
)か乗算される。この乗算結果(S <≦)・(1−i
)l は加算器34を介して累算ラッチ37に供給され
る。累算ラッチ37は、すでにクロック信号φclrに
よってクリアされており(第4図(ニ)の時刻t1参照
)、次いで、第4図(ロ)の時刻t3においてクロック
信号φ5Llffl+が立ち上がると上記乗算結果か累
算ラッチ37に取り込まれる。この結果、乗算結果(S
(S)・(1−1))か加算器34のB入力端に供給さ
れる。
すセレクタ19か第O入力端を選択するかも、スタート
データSDの小数部iかセレクタ19か:)補間データ
IPDとして出力される。補間データIPDは、クロッ
ク信号φWが“O”信号となっているタインミングにお
いては、ビット反転回路36によってビア1反転された
後にセレクタ35を介して乗算器33に供給される。こ
の小数部1をビ・、ト反転すると、その値は(1−i)
になるから、乗算器33においては、スタートデータS
Dのアドレスにおける波形データS (s)と(1−i
)か乗算される。この乗算結果(S <≦)・(1−i
)l は加算器34を介して累算ラッチ37に供給され
る。累算ラッチ37は、すでにクロック信号φclrに
よってクリアされており(第4図(ニ)の時刻t1参照
)、次いで、第4図(ロ)の時刻t3においてクロック
信号φ5Llffl+が立ち上がると上記乗算結果か累
算ラッチ37に取り込まれる。この結果、乗算結果(S
(S)・(1−1))か加算器34のB入力端に供給さ
れる。
次に、時刻t4においてクロック信号φWが立ち上かる
と、第1図に示すセレクタ15が第1入力端を選択する
。この結果、加算器16の出力信号、すなわち、スター
トデータSDに°′1”か加えられた値かセレクタ15
を介して波形メモリ17に供給される。これにより、ス
タートデータSDの次のアドレスの波形データS (s
+1)が読出される。この波形データS(s+1)は、
第2図に示すセレクタ30を介して乗算器33に供給さ
れる。このとき、クロック信号φWは“■”信号である
から、セレクタ35か第1入力端を選択し、補間係数デ
ータIPDかセレクタ35を介して乗算器33に供給さ
れる。この場合の補間データIPDは、スタートデータ
SDの小数部iであるから、乗算器33における演算結
果は、S(s+1)・iとなる。そして、この乗算結果
が加算器34のへ入力端に供給され、すてにB入力端に
供給されている前回の乗算結果+S (S)・(1iH
と加算される。この加算により直線補間が終了し、直線
補間されたデータか、クロック信号φSIJmtが立ち
上がったとき(第4図の時刻t5参声)に出力ラノチ3
8に取り込まれて次段に出力される。ここで、上述の演
算によって直線補間か行われることを説明する。
と、第1図に示すセレクタ15が第1入力端を選択する
。この結果、加算器16の出力信号、すなわち、スター
トデータSDに°′1”か加えられた値かセレクタ15
を介して波形メモリ17に供給される。これにより、ス
タートデータSDの次のアドレスの波形データS (s
+1)が読出される。この波形データS(s+1)は、
第2図に示すセレクタ30を介して乗算器33に供給さ
れる。このとき、クロック信号φWは“■”信号である
から、セレクタ35か第1入力端を選択し、補間係数デ
ータIPDかセレクタ35を介して乗算器33に供給さ
れる。この場合の補間データIPDは、スタートデータ
SDの小数部iであるから、乗算器33における演算結
果は、S(s+1)・iとなる。そして、この乗算結果
が加算器34のへ入力端に供給され、すてにB入力端に
供給されている前回の乗算結果+S (S)・(1iH
と加算される。この加算により直線補間が終了し、直線
補間されたデータか、クロック信号φSIJmtが立ち
上がったとき(第4図の時刻t5参声)に出力ラノチ3
8に取り込まれて次段に出力される。ここで、上述の演
算によって直線補間か行われることを説明する。
今、スタートデータSDの正数部Iか示すアドレスにお
ける波形データS (s)と、スタートデータSDの正
数部Iに1を加えたアドレスにおける波形データS (
S+1)か、各々第5図に示すようになっていたとする
。そして、スタートデータSDの小数部1を図示のよう
にとると、補間により求めるべき波形データS (s+
i)は次式によって表される。
ける波形データS (s)と、スタートデータSDの正
数部Iに1を加えたアドレスにおける波形データS (
S+1)か、各々第5図に示すようになっていたとする
。そして、スタートデータSDの小数部1を図示のよう
にとると、補間により求めるべき波形データS (s+
i)は次式によって表される。
=i −5(s +l )−i −3(s )
十S (s )・(1−i)S(s)+1−5(s+
1)・・・ ・ (1) この(1)式の右辺の第1項の乗算はクロック信号φW
が“○”のときにおいて乗算器33か行う演算であり、
第2項の乗算はクロック信号φWか“1”のときにおい
て乗算器33が行なう演算である。したかって、加算器
34において各乗算結果を加え合わせると、その演算結
果は(1)式の右辺と同等となり、直線補間か行われた
ことになる。
十S (s )・(1−i)S(s)+1−5(s+
1)・・・ ・ (1) この(1)式の右辺の第1項の乗算はクロック信号φW
が“○”のときにおいて乗算器33か行う演算であり、
第2項の乗算はクロック信号φWか“1”のときにおい
て乗算器33が行なう演算である。したかって、加算器
34において各乗算結果を加え合わせると、その演算結
果は(1)式の右辺と同等となり、直線補間か行われた
ことになる。
次に、直線補間後のデータは、出力ラノチ38から出力
され、乗算器23によってエンヘローフ処理か施され、
その後にD/Aコンバータ25によってアナログ信号に
変換された後、サラントンステム26によって楽音とし
て発せられる。
され、乗算器23によってエンヘローフ処理か施され、
その後にD/Aコンバータ25によってアナログ信号に
変換された後、サラントンステム26によって楽音とし
て発せられる。
一方、ンフトレジスタ11から出力されたスタートデー
タSDは第1図に示す加算器8の他方の入力端に供給さ
れ、Fナンバレジスタ4が出力するFナンバと加算され
る。このとき、制御部5が出力する信号ASELは、O
”信号になっており、この結果、セレクタ9は第○入力
端を遺択する。これにより、加算器8における加算結果
は、セレクタ9、減算器10およびンフトレジスタ11
を介して出力される。そして、その整数部Iおよび小数
部iに対し、上述の場合と同様の波形データ読出し、お
よび直線補間処理か行われる。また、/フトレ/スタ1
1の出力信号は、加算器8の他方の入力端に供給される
か与、以後はこのループによりFナンバか順次累算され
ていく。したかって、順次累算されていくデータの整数
部■およa小数部iに対し、波形データ読出し、および
補間処理か順次行われ、これにより、アタック部の波形
データか補間処理によって作成される。このアタック部
の各波形データは、前述したようにエンヘローブ処理が
施された後に楽音として発せSれる。
タSDは第1図に示す加算器8の他方の入力端に供給さ
れ、Fナンバレジスタ4が出力するFナンバと加算され
る。このとき、制御部5が出力する信号ASELは、O
”信号になっており、この結果、セレクタ9は第○入力
端を遺択する。これにより、加算器8における加算結果
は、セレクタ9、減算器10およびンフトレジスタ11
を介して出力される。そして、その整数部Iおよび小数
部iに対し、上述の場合と同様の波形データ読出し、お
よび直線補間処理か行われる。また、/フトレ/スタ1
1の出力信号は、加算器8の他方の入力端に供給される
か与、以後はこのループによりFナンバか順次累算され
ていく。したかって、順次累算されていくデータの整数
部■およa小数部iに対し、波形データ読出し、および
補間処理か順次行われ、これにより、アタック部の波形
データか補間処理によって作成される。このアタック部
の各波形データは、前述したようにエンヘローブ処理が
施された後に楽音として発せSれる。
Cループ部の発音動作
次に、ループ部の発音動作について説明する。
上述のようにして、スタートデータSDに対しFナンバ
が順次累算されていくと、波形メモリ17の読出しアド
レスは、第6図に示すアタック部の領域を越えループ部
の領域に入る。そして、ループ部の波形データ読出し、
および補間処理は基本的にはアク、り部の場合と同様に
して行われる。
が順次累算されていくと、波形メモリ17の読出しアド
レスは、第6図に示すアタック部の領域を越えループ部
の領域に入る。そして、ループ部の波形データ読出し、
および補間処理は基本的にはアク、り部の場合と同様に
して行われる。
しかし、Fナンバの累算か進んてンフトレジスタ11の
出力信号が第3図(イ)に示す波形データS (n−+
−x−1)とループエンドポイントアトレスLEPAと
の間(以下特定補間区間という)のアドレスを示すよう
になると、前述の処理とは異なる処理内容になる。この
処理について以下に説明する。
出力信号が第3図(イ)に示す波形データS (n−+
−x−1)とループエンドポイントアトレスLEPAと
の間(以下特定補間区間という)のアドレスを示すよう
になると、前述の処理とは異なる処理内容になる。この
処理について以下に説明する。
まず、加算器8の出力信号が特定補間区間に入ると、比
較器12においてA>1nt(B)となる。加算器12
のB入力端にはループエンドポイントアドレスLEPA
が供給されているから、1nt(B)は結局ループエン
ドポイントアドレスLEPAの整数部となる。このルー
プエンドポイントアドレスLEPAの整数部は、第3図
(イ)から判るように、波形データ(S+x−1)のア
ドレス値であり、特定区間の開始点である。そして、A
>1nt(B)となると、比較器12が信号CP2を出
力し、これにより、制御部5が信号BSELを“1”信
号にし、かつ、補正データCDを出力する。ここで、補
正データCDは、その逆数1/CDがループエンドポイ
ントアドレスLEPAの小数部となるように設定されて
いるデ−夕である(第3図(ハ)参照)。
較器12においてA>1nt(B)となる。加算器12
のB入力端にはループエンドポイントアドレスLEPA
が供給されているから、1nt(B)は結局ループエン
ドポイントアドレスLEPAの整数部となる。このルー
プエンドポイントアドレスLEPAの整数部は、第3図
(イ)から判るように、波形データ(S+x−1)のア
ドレス値であり、特定区間の開始点である。そして、A
>1nt(B)となると、比較器12が信号CP2を出
力し、これにより、制御部5が信号BSELを“1”信
号にし、かつ、補正データCDを出力する。ここで、補
正データCDは、その逆数1/CDがループエンドポイ
ントアドレスLEPAの小数部となるように設定されて
いるデ−夕である(第3図(ハ)参照)。
信号BSELか“l”信号になると、第1図に示すセレ
クタ19が第1入力端を選択し、この結束、7フトレ/
スタ11の出力信号の小数部と補正データCDとの乗算
値1・CDが補間係数データIPDとして出力される。
クタ19が第1入力端を選択し、この結束、7フトレ/
スタ11の出力信号の小数部と補正データCDとの乗算
値1・CDが補間係数データIPDとして出力される。
また、信号BSELか°′1パ信号になると、第2図に
示すアントゲ−132の一方の入力端に“1”信号が供
給されるかさ、アンドゲート32の出力値はクロ/り信
号φWによって一義的に定まる。したがって、クロ・。
示すアントゲ−132の一方の入力端に“1”信号が供
給されるかさ、アンドゲート32の出力値はクロ/り信
号φWによって一義的に定まる。したがって、クロ・。
り信号φWが“°0゛信号のときには、セレクタ30が
第O入力端を選択し、波形メモリ17から読出された波
形データが乗算器33に供給される。
第O入力端を選択し、波形メモリ17から読出された波
形データが乗算器33に供給される。
このときFナンバの累算値は特定補間区間に入っている
から、その整数値Tによってアクセスされる波形データ
は第3図(イ)から判るように波形データ3 (n+x
−1)である。また、このときはセレクタ35が第O入
力端を選択するから、乗算器33においては1−CDの
ビット反転値と波形データS(n+x−1)とが乗算さ
れる。したかって、乗算器33の乗算結果は、(1−i
−cD)・S (n+x−1)となる。この乗算結果は
、加算器34のへ入力端、出力端を順次弁して累算ラッ
チ37に取り込まれ、加算器34のB入力端に供給され
る。次に、クロ・7り信号φWが立ち上がると(第4図
(イ)の時刻t4参照)、アントゲート32が“l”信
号を出力し、セレクタ30が第1入力端を選択する。こ
の結果、LSレジスタ31内に記憶されているループ部
の最初の波形データ、すなわち波形データS (n)か
乗算器33に供給される。また、クロック信号φWか“
1”信号になるとセレクタ35が第1入力端を選択する
から補間係数データIPDがそのまま乗算器33に供給
される。この結果、乗算器33における乗算結果はS
(n) ・1−CDとなる。この乗算結果は、加算器
34のA入力端に供給され、すてにB入力端に供給され
ている前回の乗算結果と加算される。したがって、加算
器34においては、S (n+x−1) ・ (1−
i−CD) ・CD+S(す)・1−cDなる演算が
行われる。ここで、この演算の意味について説明する。
から、その整数値Tによってアクセスされる波形データ
は第3図(イ)から判るように波形データ3 (n+x
−1)である。また、このときはセレクタ35が第O入
力端を選択するから、乗算器33においては1−CDの
ビット反転値と波形データS(n+x−1)とが乗算さ
れる。したかって、乗算器33の乗算結果は、(1−i
−cD)・S (n+x−1)となる。この乗算結果は
、加算器34のへ入力端、出力端を順次弁して累算ラッ
チ37に取り込まれ、加算器34のB入力端に供給され
る。次に、クロ・7り信号φWが立ち上がると(第4図
(イ)の時刻t4参照)、アントゲート32が“l”信
号を出力し、セレクタ30が第1入力端を選択する。こ
の結果、LSレジスタ31内に記憶されているループ部
の最初の波形データ、すなわち波形データS (n)か
乗算器33に供給される。また、クロック信号φWか“
1”信号になるとセレクタ35が第1入力端を選択する
から補間係数データIPDがそのまま乗算器33に供給
される。この結果、乗算器33における乗算結果はS
(n) ・1−CDとなる。この乗算結果は、加算器
34のA入力端に供給され、すてにB入力端に供給され
ている前回の乗算結果と加算される。したがって、加算
器34においては、S (n+x−1) ・ (1−
i−CD) ・CD+S(す)・1−cDなる演算が
行われる。ここで、この演算の意味について説明する。
まず、本実施例においては、前述したように、ループエ
ンドポイントアドレスLEPAの位置にループスタート
ポイントアドレスLS PAの波形データS (n)か
あるとみなして特定補間区間の補間を行うようにしてい
る。ところで、特定補間区間の間隔は、第3図(ハ)に
示すように1/CDであり、他の区間の間隔より短い。
ンドポイントアドレスLEPAの位置にループスタート
ポイントアドレスLS PAの波形データS (n)か
あるとみなして特定補間区間の補間を行うようにしてい
る。ところで、特定補間区間の間隔は、第3図(ハ)に
示すように1/CDであり、他の区間の間隔より短い。
そこで、少数部1については、区間の長さに対する割合
に変換する必要があり、区間長(1/CD)で除する必
要かある。結果的には少数部iにCDを乗じることにな
り、すなわち、特定補間区間の長さを他の区間と同様に
「1」として取り扱うことと同様になる。この拡大の状
態を第7図に示す。第7図においては、ループエンドポ
イントアドレスLEPAを右側にずらしてLEPA−と
し、区間の長さを 1」にしている。これに対応して少
数部iの値にCDを乗しれば、拡大された区間に対して
前述の(1)式が適用され補間ができることが判る。す
なわち、(1)式の右辺におけるiをi・CDに置き換
え、波形データS (s)をS(n+X−1)に、波形
データS (S+1)をS (n)に置き換えればよい
。この置き換え後の右辺が加算器34の演算に対応し、
適性な補間が行われたことが判る。
に変換する必要があり、区間長(1/CD)で除する必
要かある。結果的には少数部iにCDを乗じることにな
り、すなわち、特定補間区間の長さを他の区間と同様に
「1」として取り扱うことと同様になる。この拡大の状
態を第7図に示す。第7図においては、ループエンドポ
イントアドレスLEPAを右側にずらしてLEPA−と
し、区間の長さを 1」にしている。これに対応して少
数部iの値にCDを乗しれば、拡大された区間に対して
前述の(1)式が適用され補間ができることが判る。す
なわち、(1)式の右辺におけるiをi・CDに置き換
え、波形データS (s)をS(n+X−1)に、波形
データS (S+1)をS (n)に置き換えればよい
。この置き換え後の右辺が加算器34の演算に対応し、
適性な補間が行われたことが判る。
そして、加算器34の加算結果は、クロック信号φ5I
Jffh (第4図(ハ)参照)の立ち上かりにおいて
出力ラッチ38に取り込まれ、後段の回路に出力される
。
Jffh (第4図(ハ)参照)の立ち上かりにおいて
出力ラッチ38に取り込まれ、後段の回路に出力される
。
次に、第1図に示す加算器8においてFナンバの累算が
行われると、この累算値に対して上述と同様の処理が行
われる。ただし、特定補間区間においては、第3図(イ
)からも判るように、累算値(すなわちシフトレジスタ
11の出力信号)の整数値■は変わらず波形データS
(n+x−1)が記憶されているアドレスを示す。そし
て、クロック信号φWが“1”になったときは第2図に
示すセレクタ30が第■入力端を選択するから、結局、
特定補間区間においては、Fナンバ累算値の変動に拘わ
らず波形データS (n↓X−1)とS (n)との間
で補間か行われる。補間に影響を与えるのはFナンバ累
算値の少数部、すなわちンフトレシスタ11の出力信号
の少数部1であり、Fナツツ\の累算に伴う少数部lの
変動に従った補間値が補間制御部18か与順次出力され
る。
行われると、この累算値に対して上述と同様の処理が行
われる。ただし、特定補間区間においては、第3図(イ
)からも判るように、累算値(すなわちシフトレジスタ
11の出力信号)の整数値■は変わらず波形データS
(n+x−1)が記憶されているアドレスを示す。そし
て、クロック信号φWが“1”になったときは第2図に
示すセレクタ30が第■入力端を選択するから、結局、
特定補間区間においては、Fナンバ累算値の変動に拘わ
らず波形データS (n↓X−1)とS (n)との間
で補間か行われる。補間に影響を与えるのはFナンバ累
算値の少数部、すなわちンフトレシスタ11の出力信号
の少数部1であり、Fナツツ\の累算に伴う少数部lの
変動に従った補間値が補間制御部18か与順次出力され
る。
そして、Fナンバ累算値かさらに大きくなると、その値
かループ部(第6図参照)の領域を超える。
かループ部(第6図参照)の領域を超える。
この結果、第1図に示す比較器12において、A>B、
!:なり、比較器12から制御部5へ信号CPlか出力
される。制御部5は、信号CPか供給されると、信号R
Dを減算器lOへ供給し、この結果、減算器10による
減算か行われる。ここで、信号RDは、ループのサイズ
を示す信号であるから、減算器l○による減算か行われ
ると、ループエンドポイントアドレスLEPAを僅かに
越えたアドレスから、ループサイズか成算されることに
なる。したかって、その演算値はループ部の開始アドレ
ス、すなわち、ループスタートポイントアドレスLSE
、A(第6図参照)より僅かに大きな値となる。この場
合、減算値かループスタートポイントアドレスLSEA
に完全に一致しなくても、補間制御部18によってルー
プスタートポイントアドレスLSEAの波形データS
(n)と上記減算値における波形データとの間で補間処
理か行われるため不都合は生じない。そして、以後は減
算値に順次Fナンバか累算され、各累算値に対し前述と
同様の波形データ読出し、および補間か行われる。そし
て、累算値か再ひループエンドポイントアドレスLEP
Aを越えた場合は、減算器10による減算が行われ、再
度ループスタートポイントアドレスLS EAに付近に
戻る。このように、以後はループ部内において、繰り返
し波形データの読出し、補間が行われる。
!:なり、比較器12から制御部5へ信号CPlか出力
される。制御部5は、信号CPか供給されると、信号R
Dを減算器lOへ供給し、この結果、減算器10による
減算か行われる。ここで、信号RDは、ループのサイズ
を示す信号であるから、減算器l○による減算か行われ
ると、ループエンドポイントアドレスLEPAを僅かに
越えたアドレスから、ループサイズか成算されることに
なる。したかって、その演算値はループ部の開始アドレ
ス、すなわち、ループスタートポイントアドレスLSE
、A(第6図参照)より僅かに大きな値となる。この場
合、減算値かループスタートポイントアドレスLSEA
に完全に一致しなくても、補間制御部18によってルー
プスタートポイントアドレスLSEAの波形データS
(n)と上記減算値における波形データとの間で補間処
理か行われるため不都合は生じない。そして、以後は減
算値に順次Fナンバか累算され、各累算値に対し前述と
同様の波形データ読出し、および補間か行われる。そし
て、累算値か再ひループエンドポイントアドレスLEP
Aを越えた場合は、減算器10による減算が行われ、再
度ループスタートポイントアドレスLS EAに付近に
戻る。このように、以後はループ部内において、繰り返
し波形データの読出し、補間が行われる。
以上の動作においては、ループエンドポイントアドレス
LEPAの波形データをループスタートポイントアドレ
スLSEAの波形データS (n)と一致させているた
め、ルーピングの回数によって補間値に誤差が生じると
いうことかない。
LEPAの波形データをループスタートポイントアドレ
スLSEAの波形データS (n)と一致させているた
め、ルーピングの回数によって補間値に誤差が生じると
いうことかない。
D:実施例の変形
上述した実施例は、ループスタートポイントアトレスL
SEAに少数部Iかなく、ループエツトポイントアトレ
スLEPAに少数部1かある場合の例であったか(第2
図(イ)、(ロ)参照)、これと逆に第8図(イ)、(
ロ)に示すようにループスタートポイントアドレスLS
EAに少数部Iがあり、ループエンドポイントアドレス
LEPAに少数部1かない場合であっても上記実施例と
同様の処理を行うことができる。ただし、この場合にお
いては、同図(ロ)に示すように、ループスタートポイ
ントアドレスLS PAのアドレス位置にループエンド
ポイントアドレスLEPAの波形データを配置させ、こ
のデータによって補間を行うようにする。このため、補
間制御部18を第9図に示すように構成する必要がある
。第9図に示す回路が第8図に示す回路と異なる点は、
LSレジスタ31に代えて゛ループエンドポイントアド
レスLEPAにおける波形データを記憶するLEレンス
スタ0が設けられている点およびクロック信号φWかイ
ンバータ41を介してアンドゲート32の一方の入力端
に供給される点である。また、第9図に示す信号BSE
Lは、第8図(ハ)に示す特定補間区間において“1パ
信号になるように構成される。
SEAに少数部Iかなく、ループエツトポイントアトレ
スLEPAに少数部1かある場合の例であったか(第2
図(イ)、(ロ)参照)、これと逆に第8図(イ)、(
ロ)に示すようにループスタートポイントアドレスLS
EAに少数部Iがあり、ループエンドポイントアドレス
LEPAに少数部1かない場合であっても上記実施例と
同様の処理を行うことができる。ただし、この場合にお
いては、同図(ロ)に示すように、ループスタートポイ
ントアドレスLS PAのアドレス位置にループエンド
ポイントアドレスLEPAの波形データを配置させ、こ
のデータによって補間を行うようにする。このため、補
間制御部18を第9図に示すように構成する必要がある
。第9図に示す回路が第8図に示す回路と異なる点は、
LSレジスタ31に代えて゛ループエンドポイントアド
レスLEPAにおける波形データを記憶するLEレンス
スタ0が設けられている点およびクロック信号φWかイ
ンバータ41を介してアンドゲート32の一方の入力端
に供給される点である。また、第9図に示す信号BSE
Lは、第8図(ハ)に示す特定補間区間において“1パ
信号になるように構成される。
以上のような構成によると、第8図(ハ)に示す特定補
間区間において、波形データS (n+x)と波形デー
タ5(n−1−1)との間で補間かなされる。特定補間
区間の区間幅については、前述の実施例と同様に補正デ
ータCDによって補正かなされるので、第7図に示した
場合の処理内容となる。
間区間において、波形データS (n+x)と波形デー
タ5(n−1−1)との間で補間かなされる。特定補間
区間の区間幅については、前述の実施例と同様に補正デ
ータCDによって補正かなされるので、第7図に示した
場合の処理内容となる。
したがって、第9図に示す回路によっても、前述の実施
例と同様の効果を得ることができる。
例と同様の効果を得ることができる。
「 発明の効果 」
以上説明したように、請求項1に記載の発明によれば、
所定のサンプリング間隔で波形データか記憶されている
波形メモリと、発音すべき音の周波数に対応する間隔て
アドレスデータを更新するとともに、前記アドレスの整
数部および当該整数部の次の整数により前記波形データ
をアクセスし、さらに前記アドレスの少数部を補間デー
タとして出力するアドレスデータ発生部と、前記アドレ
スデータ発生部によってアクセスされた2つの波形デー
タと前記補間データとに基づいてデータ補間を行うデー
タ補間制御部と、前記アトレステータによるアドレス空
間の少なくとも一部にループ部を設定し、このループ部
を繰り返しアクセスするように前記アドレスデータ発生
部を制御するループ制御部とを具備するとともに、前記
データ補間制御部は、ループ部エンドアドレスの波形デ
ータとしてループ部スタートアドレスの波形データを用
い、ループ部の最終区間においてはループ部エンドアド
レスの直前となる整数部によってアクセスされた波形デ
ータとループ部スタートアドレスの波形データとを用い
、かつ、当該整数部とループ部エンドアドレスとの間の
距離に対応して前記補間データを補正し、これによりデ
ータ補間を行うようにし、また、請求項(2〉に記載の
発明にあっては、前記データ補間制御部は、ループ部の
スタートアドレスの波形データとしてループ部エンドア
ドレスの波形データを用い、ループ部の最初の区間にお
いてはループ部エンドアドレスの波形データとループ部
スタートアドレスの直後の整数値によってアクセスされ
た波形データとを用い、かつ、当該整数値とループ部ス
タートアドレスとの間の距離に対応して前記補間データ
を補正し、これによりデータ補間を行うようにしたので
、ピンチ非同期式でありながら、ルーピング処理を正確
に行うことができ、波形歪が生じないという利点を得る
ことかできる。
所定のサンプリング間隔で波形データか記憶されている
波形メモリと、発音すべき音の周波数に対応する間隔て
アドレスデータを更新するとともに、前記アドレスの整
数部および当該整数部の次の整数により前記波形データ
をアクセスし、さらに前記アドレスの少数部を補間デー
タとして出力するアドレスデータ発生部と、前記アドレ
スデータ発生部によってアクセスされた2つの波形デー
タと前記補間データとに基づいてデータ補間を行うデー
タ補間制御部と、前記アトレステータによるアドレス空
間の少なくとも一部にループ部を設定し、このループ部
を繰り返しアクセスするように前記アドレスデータ発生
部を制御するループ制御部とを具備するとともに、前記
データ補間制御部は、ループ部エンドアドレスの波形デ
ータとしてループ部スタートアドレスの波形データを用
い、ループ部の最終区間においてはループ部エンドアド
レスの直前となる整数部によってアクセスされた波形デ
ータとループ部スタートアドレスの波形データとを用い
、かつ、当該整数部とループ部エンドアドレスとの間の
距離に対応して前記補間データを補正し、これによりデ
ータ補間を行うようにし、また、請求項(2〉に記載の
発明にあっては、前記データ補間制御部は、ループ部の
スタートアドレスの波形データとしてループ部エンドア
ドレスの波形データを用い、ループ部の最初の区間にお
いてはループ部エンドアドレスの波形データとループ部
スタートアドレスの直後の整数値によってアクセスされ
た波形データとを用い、かつ、当該整数値とループ部ス
タートアドレスとの間の距離に対応して前記補間データ
を補正し、これによりデータ補間を行うようにしたので
、ピンチ非同期式でありながら、ルーピング処理を正確
に行うことができ、波形歪が生じないという利点を得る
ことかできる。
第1図はこの発明の一実施例の全体構成を示すブロック
図、第2図は同実施例における補間制御部の構成を示す
ブロック図、第3図は同実施例におけるループ部の境界
と波形データの位置関係を示す概念図、第4図は同実施
例におけるクロック信号のタイミングを示すタイミング
チャート、第5図は同実施例における直線補間処理を説
明するための説明図、第6図は同実施例における読出し
波形のアタンク部とループ部とを示す波形図、第7図は
同実施例における特定補間区間の補正処理を説明するた
めの説明図、第8図は同実施例の一変形例におけるルー
プ部の境界と波形データの位置関係を示す概念図、第9
図は同変形例における補間制御部18の構成例を示すブ
o ツク図、第10図はピッチ非同期方式の発音原理を
説明するための波形図、第11図はピ・ノチ同期方式に
よるル−ピング処理を説明するための波形図、第12図
はピッチ非同期方式における従来のルーピング処理を説
明するための波形図である。 3・・・・・周波数情報発生部、4・・・・・Fナンノ
くレジスタ、8・・・・加算器、9・・・・・セレクタ
、10・・・・・・減算器、11・・・・・シフトレジ
スタ、15・・・・・・セレクタ、16−・・・・加算
器、19・・・・・セレクタ(以上3.4,8,9,1
0.LL 15,16.19はアドレスデータ発生部
)、5・・・・・制御部(ル−プ制御部)、17・・・
・・波形メモリ、18・・・・・・補間制御部。
図、第2図は同実施例における補間制御部の構成を示す
ブロック図、第3図は同実施例におけるループ部の境界
と波形データの位置関係を示す概念図、第4図は同実施
例におけるクロック信号のタイミングを示すタイミング
チャート、第5図は同実施例における直線補間処理を説
明するための説明図、第6図は同実施例における読出し
波形のアタンク部とループ部とを示す波形図、第7図は
同実施例における特定補間区間の補正処理を説明するた
めの説明図、第8図は同実施例の一変形例におけるルー
プ部の境界と波形データの位置関係を示す概念図、第9
図は同変形例における補間制御部18の構成例を示すブ
o ツク図、第10図はピッチ非同期方式の発音原理を
説明するための波形図、第11図はピ・ノチ同期方式に
よるル−ピング処理を説明するための波形図、第12図
はピッチ非同期方式における従来のルーピング処理を説
明するための波形図である。 3・・・・・周波数情報発生部、4・・・・・Fナンノ
くレジスタ、8・・・・加算器、9・・・・・セレクタ
、10・・・・・・減算器、11・・・・・シフトレジ
スタ、15・・・・・・セレクタ、16−・・・・加算
器、19・・・・・セレクタ(以上3.4,8,9,1
0.LL 15,16.19はアドレスデータ発生部
)、5・・・・・制御部(ル−プ制御部)、17・・・
・・波形メモリ、18・・・・・・補間制御部。
Claims (2)
- (1)所定のサンプリング間隔で波形データが記憶され
ている波形メモリと、 発音すべき音の周波数に対応する間隔でアドレスデータ
を更新するとともに、前記アドレスの整数部および当該
整数部の次の整数により前記波形データをアクセスし、
さらに前記アドレスの少数部を補間データとして出力す
るアドレスデータ発生部と、 前記アドレスデータ発生部によってアクセスされた2つ
の波形データと前記補間データとに基づいてデータ補間
を行うデータ補間制御部と、前記アドレスデータによる
アドレス空間の少なくとも一部にループ部を設定し、こ
のループ部を繰り返しアクセスするように前記アドレス
データ発生部を制御するループ制御部とを具備するとと
もに、 前記データ補間制御部は、ループ部エンドアドレスの波
形データとしてループ部スタートアドレスの波形データ
を用い、ループ部の最終区間においてはループ部エンド
アドレスの直前となる整数部によってアクセスされた波
形データとループ部スタートアドレスの波形データとを
用い、かつ、当該整数部とループ部エンドアドレスとの
間の距離に対応して前記補間データを補正し、これによ
りデータ補間を行うことを特徴とするPCM音源装置。 - (2)所定のサンプリング間隔で波形データが記憶され
ている波形メモリと、 発音すべき音の周波数に対応する間隔でアドレスデータ
を更新するとともに、前記アドレスの整数部および当該
整数部の次の整数により前記波形データをアクセスし、
さらに前記アドレスの少数部を補間データとして出力す
るアドレスデータ発生部と、 前記アドレスデータ発生部によってアクセスされた2つ
の波形データと前記補間データとに基づいてデータ補間
を行うデータ補間制御部と、前記アドレスデータによる
アドレス空間の少なくとも一部にループ部を設定し、こ
のループ部を繰り返しアクセスするように前記アドレス
データ発生部を制御するループ制御部とを具備するとと
もに、 前記データ補間制御部は、ループ部のスタートアドレス
の波形データとしてループ部エンドアドレスの波形デー
タを用い、ループ部の最初の区間においてはループ部エ
ンドアドレスの波形データとループ部スタートアドレス
の直後の整数値によってアクセスされた波形データとを
用い、かつ、当該整数値とループ部スタートアドレスと
の間の距離に対応して前記補間データを補正し、これに
よりデータ補間を行うことを特徴とするPCM音源装置
。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1247665A JP2669073B2 (ja) | 1989-09-22 | 1989-09-22 | Pcm音源装置 |
| US07/585,381 US5194681A (en) | 1989-09-22 | 1990-09-20 | Musical tone generating apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1247665A JP2669073B2 (ja) | 1989-09-22 | 1989-09-22 | Pcm音源装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03179400A true JPH03179400A (ja) | 1991-08-05 |
| JP2669073B2 JP2669073B2 (ja) | 1997-10-27 |
Family
ID=17166847
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1247665A Expired - Lifetime JP2669073B2 (ja) | 1989-09-22 | 1989-09-22 | Pcm音源装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2669073B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011232766A (ja) * | 1999-11-02 | 2011-11-17 | Dts Inc | マルチチャネル・オーディオ環境において対話型オーディオを提供するシステムおよび方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6029793A (ja) * | 1983-07-28 | 1985-02-15 | ヤマハ株式会社 | 楽音形成装置 |
| JPS6374100A (ja) * | 1986-09-18 | 1988-04-04 | カシオ計算機株式会社 | 波形読出装置 |
| JPH0157799U (ja) * | 1987-10-07 | 1989-04-11 |
-
1989
- 1989-09-22 JP JP1247665A patent/JP2669073B2/ja not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6029793A (ja) * | 1983-07-28 | 1985-02-15 | ヤマハ株式会社 | 楽音形成装置 |
| JPS6374100A (ja) * | 1986-09-18 | 1988-04-04 | カシオ計算機株式会社 | 波形読出装置 |
| JPH0157799U (ja) * | 1987-10-07 | 1989-04-11 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011232766A (ja) * | 1999-11-02 | 2011-11-17 | Dts Inc | マルチチャネル・オーディオ環境において対話型オーディオを提供するシステムおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2669073B2 (ja) | 1997-10-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4246823A (en) | Waveshape generator for electronic musical instruments | |
| EP0187211B1 (en) | Tone signal generating apparatus | |
| US4715257A (en) | Waveform generating device for electronic musical instruments | |
| JP2669073B2 (ja) | Pcm音源装置 | |
| JP2007071865A (ja) | エンコーダ出力の内挿方法及び内挿回路 | |
| JP2536493B2 (ja) | 波形読出装置 | |
| JPH03156497A (ja) | 電子楽器の関数発生装置 | |
| JPS61124994A (ja) | 楽音信号発生装置 | |
| JP3252296B2 (ja) | 波形データ出力装置 | |
| JPS61182097A (ja) | 電子楽器における雑音減少装置 | |
| JP2608938B2 (ja) | 波形補間装置 | |
| JPS62245434A (ja) | 電子楽器の波形発生装置 | |
| JPS6278599A (ja) | 楽音信号発生装置 | |
| JPS633319B2 (ja) | ||
| JP2940384B2 (ja) | 電子楽器 | |
| JP2671648B2 (ja) | ディジタルデータの補間装置 | |
| JPS5846036B2 (ja) | 電子楽器 | |
| KR950007152Y1 (ko) | 전자악기의 가변옥타브 어드레스 발생장치 | |
| JP2800623B2 (ja) | 係数記憶方法及び楽音波形発生装置 | |
| JPH0369119B2 (ja) | ||
| KR960014531B1 (ko) | 디지탈 파형 발생기에 있어서 표본화 주파수 채배회로 | |
| JPH0560118B2 (ja) | ||
| JPH039478B2 (ja) | ||
| JPH0567959B2 (ja) | ||
| JPS63177619A (ja) | デジタルサンプルレ−トコンバ−ト制御回路 |