JPH0243197B2 - - Google Patents

Info

Publication number
JPH0243197B2
JPH0243197B2 JP60077979A JP7797985A JPH0243197B2 JP H0243197 B2 JPH0243197 B2 JP H0243197B2 JP 60077979 A JP60077979 A JP 60077979A JP 7797985 A JP7797985 A JP 7797985A JP H0243197 B2 JPH0243197 B2 JP H0243197B2
Authority
JP
Japan
Prior art keywords
signal
generated
musical
range
interpolation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP60077979A
Other languages
Japanese (ja)
Other versions
JPS61236595A (en
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed filed Critical
Priority to JP60077979A priority Critical patent/JPS61236595A/en
Priority to DE3650389T priority patent/DE3650389T2/en
Priority to EP86104867A priority patent/EP0199192B1/en
Priority to US06/850,287 priority patent/US4719833A/en
Publication of JPS61236595A publication Critical patent/JPS61236595A/en
Publication of JPH0243197B2 publication Critical patent/JPH0243197B2/ja
Priority to HK188396A priority patent/HK188396A/en
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 この発明は楽音信号発生装置に関し、特に、発
生すべき楽音の音域に応じて楽音波形サンプル点
振幅間の補間を行うようにしたものに関する。 〔従来の技術〕 発生すべき楽音の音高に対応して変化する位相
情報に基づき楽音波形サンプル点振幅信号を発生
する場合の典型的な方法は、特定数のサンプル点
に分割された楽音波形をメモリに記憶し、これを
位相情報に従つて読み出すことである。異オクタ
ーブ同一音名の楽音波形の読出しについて注目し
てみると、1サンプリング時間当りの位相情報の
位相変化量はオクターブが上がるほど大きく、下
がるほど小さい。この理由により、低音域の楽音
波形を読み出す場合に複数サンプリング時間にわ
たつて同じサンプル点振幅値が繰返し読み出され
ることが起る。このことは、同じサンプル点振幅
値が繰返し読み出された分だけその実効サンプリ
ング周波数が低下することを意味する。例えば、
周波数fsのサンプリングクロツクパルスに従つて
その都度異なるサンプル点振幅値が読み出された
場合は、読み出された楽音波形信号における実効
サンプリング周波数はfsであるが、該サンプリン
グクロツクパルスに従つて同じサンプル点振幅値
が2度づつ読けて読み出された場合は、読み出さ
れた楽音波形信号における実効サンプリング周波
数はfs/2に低下する。なお、ここで実効サンプル 周波数とは、得られた楽音波形信号において実際
にサンプル点振幅値が変化する周波数のことをい
う。 上述のように実効サンプリング周波数が低下し
た場合、名目上のサンプリング周波数(つまりサ
ンプリングクロツクパルスの周波数)がいくら高
くても、事実上のサンプリング周波数が低下する
ので折返しノイズが出る帯域が低くなり、折返し
ノイズが出易くなる、という問題点があつた。こ
のような問題点は、上述のような波形メモリ読出
し方式のものに限らず、他の如何なる楽音波形サ
ンプル点振幅信号発生方式のものにおいても起り
得る。 一方、一旦発生した楽音波形サンプル点振幅信
号の各サンプル点間を補間することによりサンプ
リングを密に行うようにすることは従来から知ら
れている。例えば、特公昭53−30015号公報には、
発生すべき楽音の音域が高音域になるほどサンプ
ル点間の補間を密に行うようにすることが開示さ
れており、これにより高音域での楽音波形を高周
波成分の少ない滑らかな波形とし、高音域での折
返しノイズの問題を解決するようにしている。し
かし、このような従来技術では、上述したよう
な、低音域での実効サンプル点周波数の低下とそ
れに伴う折返しノイズの低帯域下の問題点は全く
問題にされていず、それを解決することはできな
い。 〔発明が解決しようとする問題点〕 この発明は上述の問題点を解決するためになさ
れたもので、低音域において実効サンプリング周
波数が低下することを防ぎ、これにより折返しノ
イズの問題を解決するようにした楽音信号発生装
置を提供しようとするものである。 〔問題点を解決するための手段〕 この発明に係る楽音信号発生装置は、発生すべ
き楽音の音域に応じて、該音域が低くなるほど補
間を密に行うようにする補間情報を発生する補間
情報発生手段と、発生された楽音波形サンプル点
振幅信号の少なくとも2つのサンプル点間の振幅
を前記補間情報に基づき補間する補間手段とを具
えたことを特徴としている。 好ましくは、前記補間情報発生手段は、発生す
べき楽音の音域が所定の基準音域より低い場合に
補間情報を発生する。一例として、この補間情報
は、補間ステツプ数を音域に応じて定めるもので
あり、このステツプ数は音域が低くなるほど多く
なるものである。この場合、前記音域は、1オク
ターブ単位で設定することが各種処理が簡単とな
つて好ましいものであるが、必ずしも1オクター
ブ単位で設定する必要はなく2オクターブ単位あ
るいは半オクターブ単位等で設定するようにして
もよい。 この発明の別の観点によれば、楽音信号発生装
置は、発生すべき楽音のオクターブ音域内におけ
る相対的音名に対応してノートクロツクパルスを
発生するノートクロツク発生手段と、発生すべき
楽音が属するオクターブ音域に対応して数値デー
タを発生する数値データ発生手段と、前記ノート
クロツクパルスの発生タイミングで前記数値デー
タの加算又は減算を行うことによりアドレス信号
を発生するアドレス信号発生手段と、前記アドレ
ス信号の整数部に応じて楽音波形サンプル点振幅
信号を発生する波形発生手段と、前記波形発生手
段で発生された隣接する整数部アドレスに対応す
る2つの楽音波形サンプル点振幅信号を前記アド
レス信号の小数部に応じて補間する補間手段とを
具えたことを特徴としている。 〔作用〕 発生すべき楽音の音域に応じた補間情報が補間
情報発生手段によつて発生され、補間手段におい
てこの補間情報に基づき楽音波形サンプル点間の
振幅が補間される。補間が行われると、補間ステ
ツプ数に対応する数だけ実質的なサンプル点数が
増すことになる。従つて、このような補間を音域
に応じて所定の低音域で行うようにすれば、実効
サンプリング周波数を高くすることができ、これ
により折返しノイズの問題を解決することができ
る。 この点を第10図によつて説明すると、aは所
定の基準オクターブにおける楽音波形サンプル点
振幅の一部の一例を示すもので、この実効サンプ
リング周波数をfsとする。bは基準オクターブの
1オクターブ下の楽音波形サンプル点振幅の一例
を示すものであり、これは補間前のものであり、
aのサンプリング時間を1サンプリングタイムと
すると同じサンプル点振幅値が2サンプリングタ
イムにわたつて続いている。従つて、その実効サ
ンプリング周波数はfs/2である。cはbのサンプ ル点間を2ステツプで補間した場合の楽音波形サ
ンプル点振幅の一例を示すものであり、各サンプ
リングタイム毎に振幅値が変化している。従つ
て、その実効サンプリング周波数はfsである。d
は同様に基準オクターブの2オクターブ下の楽音
波形サンプル点振幅の補間前の一例を示し、eは
同2オクターブ下の楽音波形サンプル点振幅の補
間後の一例を示す。dの実効サンプリング周波数
はfs/4であり、eはdのサンプル点間を4ステツ プで補間しているためその実効サンプリング周波
数はfsである。明らかなように、cとeはこの発
明に従つて補間を行つた場合の一例を示してお
り、これによれば、低音域において実効サンプリ
ング周波数が上げられ、例えばどの音域でも実効
サンプリング周波数を共通にすることができるこ
とが理解できる。 この発明の別の観点によれば、アドレス信号発
生手段から発生されるアドレス信号の小数部が補
間パラメータとして使用される。このアドレス信
号はオクターブ音域に対応する数値データの加減
算値であり、この数値データに小数部が含まれて
いれば前記アドレス信号も小数部を含む。従つ
て、この数値データがオクターブ音域に応じて小
数部を含むようにすれば、上述と同様に、発生す
べき楽音の音域に応じた補間を行うことができ
る。なお、この場合のオクターブ音域も、上述と
同様に、1オクターブ単位に限らず、2オクター
ブ単位等であつてもよい。 〔実施例〕 以下この発明の実施例を添付図面を参照して詳
細に説明しよう。 〔一実施例の全体構成説明〕 第1図において、鍵盤10は発生すべき楽音の
音高を指定するための複数の鍵を具備しており、
押鍵検出回路11は鍵盤10における押鍵、離鍵
を検出し、検出した押鍵又は離鍵に対応する信号
を発音割当て回路12に与える。発音割当て回路
12は、複数の楽音発生チヤンネルの何れかに押
圧鍵に対応する楽音の発音を割当てるためのもの
であり、各チヤンネルに対応する時分割タイミン
グにおいてそのチヤンネルに割当てた鍵を示すキ
ーコードKCとその鍵の押圧が持続しているか否
かを示すキーオン信号KONを出力する。 キーコードKCはPナンバ発生回路13とオク
ターブレートデータ発生回路14に与えられる。
Pナンバ発生回路13は、入力されたキーコード
KCの音名(つまり発生すべき楽音の音名)に対
応する値を持つPナンバを発生する。Pナンバに
ついては後述する。オクターブレートデータ発生
回路14は、入力されたキーコードKCに基づき
発生すべき楽音のオクターブに対応する数値デー
タすなわちオクターブレートデータRATEを発
生する。ここで、1オクターブの範囲は、必ずし
も音名Cからの1オクターブ範囲に限らず、任意
の音名からの1オクターブ範囲であつてよい。こ
のオクターブレートデータ発生回路14は、後述
から明らかなように、所定の基準オクターブより
低いオクターブに関しては補間情報発生手段とし
て機能する。すなわち、基準オクターブよりも低
いオクターブに対応する数値データすなわちレー
トデータRATEはそのオクターブに対応する補
間情報として機能する。 ノートクロツク発生回路15は、Pナンバ発生
回路13から与えられたPナンバに応じて、発生
すべき楽音の音名に対応する周波数を持つノート
クロツクパルスを発生するものである。このノー
トクロツクパルスは、アドレス信号発生回路16
において上述のレートデータRATEを加算計数
(又は減算計数でもよい)してアドレス信号を変
更することを要求する信号として機能するのでア
ドレス変更要求信号CRQともいうことにする。 アドレス信号発生回路16は、アドレス変更要
求信号CRQが与えられたときレートデータ
RATEを加算計数(又は減算計数でもよい)す
ることによりアドレス信号を発生するものであ
る。従つて、アドレス信号は、アドレス変更要求
信号CRQが与えられるタイミング毎に(つまり
ノートクロツクパルスが発生するタイミング毎
に)レートデータRATEの値だけ(オクターブ
に対応する数値だけ)遂次増加(又は減少)す
る。通常知られているように、アドレス信号は所
定のモジユロ数で増加(又は減少)を繰返す。 アドレス信号発生回路16から発生されるアド
レス信号は整数部と小数部とに分けることがで
き、その整数部はトーンジエネレータ17から発
生すべき楽音波形サンプル点振幅信号のサンプル
点順位つまり位相を指定する位相アドレス信号
PHAとして該トーンジエネレータ17に供給さ
れ、その小数部は補間アドレスを指示する補間ア
ドレスデータINTとしてピツチ同期・補間回路
18に供給される。なお、直線補間の場合、補間
アドレスデータINTはそのまま補間係数として
用いることができる。 ピツチ同期・補間回路18は、トーンジエネレ
ータ17から発生された楽音波形サンプル点振幅
信号をその音高すなわちピツチに同期してサンプ
リングし直すこと(これをピツチ同期動作とい
う)、及びピツチ同期された状態の楽音波形サン
プル点振幅信号を隣接するサンプル点間(隣接す
る整数部アドレス間)で前記補間アドレスデータ
INTに応じて補間すること、を行う。 前述のオクターブレートデータRATEは整数
部と小数部とから成り、前述の補間情報として機
能するのは小数部のデータである。アドレス信号
の小数部すなわち補間アドレスデータINTは、
このレートデータRATEの小数部を演算するこ
とにより求められたものである。オクターブレー
トデータRATEは、後述から明らかになるよう
に、発生すべき楽音のオクターブが所定の基準オ
クターブより低いとき小数部の値を持つており、
それ以上のときは小数部の値を持つていない。従
つて、基準オクターブより低いとき補間アドレス
データINTが発生されて補間回路18で補間が
行われるが、それ以上のときは補間アドレスデー
タINTは発生されず、補間は行われない。 ピツチ同期・補間回路18から出力された楽音
信号はデイジタル/アナログ変換器19でアナロ
グ信号に変換され、サウンドシステム20に至
る。なお、音色選択回路21は発生すべき楽音の
音高を選択するためのものであり、そこで選択さ
れた音色を示す音色情報TCがトーンジエネレー
タ17及びその他の回路に与えられる。発音割当
て回路12からピツチ同期・補間回路18に至る
各回路の動作は各チヤンネル毎に時分割で行われ
る。タイミング信号発生回路22は各回路の時分
割動作を制御するための各種タイミング信号及び
マスタクロツクパルスφM並びにその他のクロツ
クパルスを発生するものである。 更に、第1図の実施例では、前述のピツチ同期
動作と時分割動作速度に関して特別の工夫がなさ
れている。 ピツチ同期のために、ノートクロツク発生回路
15が設けられており、発生すべき楽音の音名に
対応する周波数を持つノートクロツクパルスすな
わちアドレス変更要求信号CRQが発生される。
このアドレス変更要求信号CRQの発生タイミン
グに対応してアドレス信号を変化させれば、この
アドレス信号に基づき発生される楽音波形信号の
実効サンプル周波数とそのピツチとが調和し、ピ
ツチ同期が達成される。しかし、後述から明らか
なように、この実施例ではアドレス信号発生回路
16及びトーンジエネレータ17の段階ではピツ
チ同期が達成されず、ピツチ同期・補間回路18
でピツチ同期が達成されるようになつている。と
ころで、ノートクロツク発生回路15では、共通
のマスタクロツクパルスφMに基づき種々の音名
に対応するノートクロツクパルスを各チヤンネル
毎に時分割で発生しなければならず、また、ピツ
チ同期の精度を高めるためにはノートクロツクパ
ルスの周波数も比較的高いことが望ましい。従つ
て、ノートクロツク発生回路15は比較的高速の
時分割タイミングで動作することが要求される。
また、ピツチ同期を実現するピツチ同期・補間回
路18もノートクロツクパルスと同様の高速時分
割タイミングで動作することが要求される。一
方、発音割当て回路12及びトーンジエネレータ
17はそれほど高速の時分割タイミングで動作す
ることが要求されず、むしろ時分割タイミングは
比較的低速の方が回路構成上あるいは楽音発生演
算処理上好ましい。 そこで、この実施例では、高速と低速の2通り
の時分割動作速度で必要な回路を動作させるよう
にしている。つまり、発音割当て回路12とトー
ンジエネレータ17は低速の時分割タイミングで
各チヤンネルの時分割処理を行い、ノートクロツ
ク発生回路15とピツチ同期・補間回路18は高
速の時分割タイミングで各チヤンネルの時分割処
理を行うようにしている。発音割当て回路12の
出力は低速の時分割タイミングで出力される。し
かし、ノートクロツク発生回路15は高速時分割
タイミングで動作するので、これに合わせるため
に、Pナンバ発生回路13の内部に信号の時分割
速度を低速から高速に変換する手段が設けられて
いる。また、ノートクロツク発生回路15の出力
CRQも高速時分割タイミングの信号であるため、
これに合わせてレートデータRATEも高速時分
割タイミングにするために、オクターブレートデ
ータ発生回路14の内部にも信号の時分割速度を
低速から高速に変換する手段が設けられている。 アドレス信号発生回路16の内部では高速時分
割タイミングの信号であるアドレス変更要求信号
CRQとレートデータRATEとに基づきアドレス
信号を発生しなければならないが、このアドレス
信号(特にその整数部)を利用するトーンジエネ
レータ17は低速時分割タイミングで動作するた
め、信号のの時分割速度を高速から低速に変換す
る手段が該回路16の内部に設けられており、少
なくともアドレス信号の整数部つまり位相アドレ
ス信号RHAを低速時分割タイミングで出力する
ようになつている。ピツチ同期・補間回路18に
おけるピツチ同期動作はノートクロツクパルスす
なわちアドレス変更要求信号CRQと同様の高速
時分割タイミングで行う必要があり、また、ピツ
チ同期された状態を損わずに補間を行うためには
補間動作も高速時分割タイミングで行う必要があ
る。そこで、該回路18の内部には、トーンジエ
ネレータ17から送られてきた低速時分割タイミ
ングの楽音波形サンプル点振幅信号を高速時分割
タイミングに変換する手段が設けられている。な
お、補間動作が高速時分割タイミングで行われる
ため、アドレス信号発生回路16から発生される
補間アドレスデータINTは高速時分割タイミン
グのままでよい。 次に第1図における各回路の詳細例について説
明する。 (時分割タイミングの説明) まず、低速及び高速時分割タイミングの一例に
ついて第2図と共に説明する。 高速の時分割タイミングはマスタクロツクパル
スφMの1周期を1タイムスロツトとして形成さ
れる。一例として発音チヤンネル数が4であると
すると、高速時分割タイミングにおける第1〜第
4チヤンネルのタイムクロツクすなわち高速チヤ
ンネルタイミングは第2図bのようである。従つ
て、高速時分割タイミングにおける1音のサンプ
リング周期はマスタクロツクパルスφMの4倍で
ある。第2図dはマスタクロツクパルスφMの16
倍の周期を持つ低速クロツクパルスφ1を示し、
この低速クロツクパルスφ1の1周期を1タイム
スロツトとして低速時分割タイミングを設定す
る。第2図eはこの低速時分割タイミングに従つ
て第1図の発音割当て回路12から出力されるキ
ーコードKCのチヤンネル名を示したものである。
第2図cは、チヤンネル同期パルスCHを示すも
ので、このパルスCHは信号の時分割速度を低速
から高速にあるいはその逆に変換するときに使用
されるものである。このパルスCHは低速チヤン
ネルタイミングが1巡する64φM(マスタクロツク
パルスφMの64周期)の間に、各チヤンネル1〜
4の高速時分割タイミングに夫々1度だけ対応し
て発生される合計4つのパルスからなる。例え
ば、チヤンネル1の高速時分割タイミングで1パ
ルス発生し、その17φM(マスタクロツクパルスφM
の17周期)後のチヤンネル2の高速時分割タイミ
ングで1パルス発生し、更にその17φM後のチヤ
ンネル3の高速時分割タイミングで1パルス発生
し、更にその17φM後のチヤンネル4の高速時分
割タイミングで1パルス発生し、更にその13φM
(マスタクロツクパルスφMの13周期)後のチヤン
ネル1の高速時分割タイミングに戻つて1パルス
発生する。第2図fは、発音割当て回路12から
発生される反転キーオンパルスの発生タ
イミングを示すものである。このパルス
は通常“1”であるが、或るチヤンネルに新たな
押圧鍵が割当てられると、そのチヤンネルに対応
するチヤンネル同期パルスCHの発生タイミング
に対応して1度だけ“0”となる。 (Pナンバの説明) Pナンバとは、或る基準オクターブにおける各
音名C〜Bに対応する周波数を持つ楽音波形の1
周期中のサンプル点数を示す数である。任意の音
名の複数音の時分割的発生を可能にしているた
め、基本的なサンプリング周波数はどの音名でも
共通であり、これは前述の通り、マスタクロツク
パルスφMの4倍の周期を持つものである。他方、
基本的なサンプリング周波数が共通であるため、
各音名のPナンバは、その音名周波数に対応して
夫々異なる値を示す。基準オクターブにおける或
る音名の周波数をfnとし、上述の共通のサンプリ
ング周波数をfcとすると、その音名に対応するP
ナンバは次のようにして定める。 Pナンバ=fc÷fn …(1) ここで、共通サンプリング周波数fcがfc=
785.54kHz、音名Aの周波数fnがfn=440Hz(つま
りA4音)であるとすると、音名AのPナンバは、
上記式から、 音名AのPナンバ=785540÷440=1785 となる。 一方、トーンジエネレータ17内で発生可能な
楽音波形1周期当りの異なるサンプル点振幅値の
サンプル点数が64であるとすると、周波数fnの実
効サンプリング周波数feは、 fe=fn×64 …(2) となり、fn=440Hzの場合は、 fe=440×64=28160Hz となる。 同様にして、或る基準オクターブにおける各音
名のPナンバと実効サンプリング周波数feを下記
表のように決定することができる。この例の場
合、基準オクターブはG4音からF#5音までの
1オクターブである。
[Industrial Field of Application] The present invention relates to a musical tone signal generating device, and more particularly to a musical tone signal generating device that performs interpolation between musical waveform sample point amplitudes in accordance with the range of a musical tone to be generated. [Prior Art] A typical method for generating a musical sound waveform sample point amplitude signal based on phase information that changes in accordance with the pitch of a musical sound to be generated is to generate a musical sound waveform that is divided into a specific number of sample points. is stored in a memory and read out according to the phase information. Looking at the reading of musical sound waveforms with the same note name in different octaves, the amount of phase change in phase information per sampling time increases as the octave goes up, and decreases as the octave goes down. For this reason, when reading out a musical sound waveform in the bass range, the same sample point amplitude value may be read out repeatedly over multiple sampling times. This means that the effective sampling frequency is reduced by the amount that the same sample point amplitude value is read out repeatedly. for example,
If a different sampling point amplitude value is read each time according to the sampling clock pulse of frequency fs , the effective sampling frequency of the read musical waveform signal is fs , but the sampling clock pulse Therefore, if the same sample point amplitude value is read out twice, the effective sampling frequency of the read out musical waveform signal will drop to f s /2. Note that the effective sampling frequency here refers to the frequency at which the sample point amplitude value actually changes in the obtained musical waveform signal. As mentioned above, when the effective sampling frequency decreases, no matter how high the nominal sampling frequency (that is, the frequency of the sampling clock pulse), the effective sampling frequency decreases and the band where aliasing noise occurs becomes lower. There was a problem that aliasing noise was likely to occur. Such a problem may occur not only in the waveform memory reading method as described above, but also in any other musical waveform sample point amplitude signal generation method. On the other hand, it has been known in the past to perform sampling densely by interpolating between each sample point of a once generated musical waveform sample point amplitude signal. For example, in Japanese Patent Publication No. 53-30015,
It is disclosed that the higher the range of the musical sound to be generated, the more densely the interpolation between sample points is performed.As a result, the musical sound waveform in the high range becomes a smooth waveform with few high frequency components, and the high range We are trying to solve the problem of aliasing noise. However, in such conventional technology, the above-mentioned reduction in the effective sample point frequency in the low frequency range and the accompanying problem of aliasing noise in the low frequency range are not addressed at all, and it is difficult to solve this problem. Can not. [Problems to be Solved by the Invention] This invention has been made to solve the above-mentioned problems. It is an object of the present invention to provide a musical tone signal generating device that has the following characteristics. [Means for Solving the Problems] The musical tone signal generating device according to the present invention generates interpolation information that performs interpolation more densely as the tone range becomes lower, depending on the tone range of the musical tone to be generated. The present invention is characterized by comprising a generating means and an interpolating means for interpolating the amplitude between at least two sample points of the generated musical waveform sample point amplitude signal based on the interpolation information. Preferably, the interpolation information generating means generates the interpolation information when the range of the musical tone to be generated is lower than a predetermined reference range. As an example, this interpolation information determines the number of interpolation steps depending on the musical range, and the number of steps increases as the musical range becomes lower. In this case, it is preferable to set the range in units of one octave as this simplifies various processing, but it is not necessarily necessary to set the range in units of one octave, and it may be set in units of two octaves or half octaves. You may also do so. According to another aspect of the invention, a musical tone signal generating device includes a note clock generating means for generating a note clock pulse corresponding to a relative note name within an octave range of a musical tone to be generated; numerical data generating means for generating numerical data corresponding to the octave range to which it belongs; address signal generating means for generating an address signal by adding or subtracting the numerical data at the generation timing of the note clock pulse; a waveform generating means for generating a musical tone waveform sample point amplitude signal in accordance with an integer part of an address signal; and a waveform generating means for generating a musical tone waveform sample point amplitude signal corresponding to an adjacent integer part address generated by the waveform generating means to generate two musical tone waveform sample point amplitude signals corresponding to the address signal. It is characterized by comprising an interpolation means for interpolating according to the decimal part of. [Operation] Interpolation information corresponding to the range of musical tones to be generated is generated by the interpolation information generating means, and the amplitude between sample points of the musical sound waveform is interpolated in the interpolation means based on this interpolation information. When interpolation is performed, the actual number of sample points increases by a number corresponding to the number of interpolation steps. Therefore, if such interpolation is performed in a predetermined bass range depending on the sound range, the effective sampling frequency can be increased, thereby solving the problem of aliasing noise. To explain this point with reference to FIG. 10, a indicates an example of a portion of the amplitude of a musical waveform sample point in a predetermined reference octave, and its effective sampling frequency is assumed to be fs . b shows an example of the amplitude of a musical waveform sample point one octave below the reference octave, and this is before interpolation.
If the sampling time of a is one sampling time, the same sample point amplitude value continues over two sampling times. Therefore, its effective sampling frequency is f s /2. c shows an example of the musical waveform sample point amplitude when the sample points of b are interpolated in two steps, and the amplitude value changes at each sampling time. Therefore, its effective sampling frequency is fs . d
Similarly, e shows an example of the amplitude of a musical sound waveform sample point two octaves below the reference octave before interpolation, and e shows an example of the amplitude of a musical sound waveform sample point two octaves below the reference octave after interpolation. The effective sampling frequency of d is f s /4, and since e interpolates between the sample points of d in four steps, its effective sampling frequency is f s . As is clear, c and e show an example of interpolation according to the present invention, which increases the effective sampling frequency in the bass range, for example, by making the effective sampling frequency common in all ranges. I can understand that it can be done. According to another aspect of the invention, the fractional part of the address signal generated by the address signal generating means is used as an interpolation parameter. This address signal is an addition/subtraction value of numerical data corresponding to an octave range, and if this numerical data includes a decimal part, the address signal also includes a decimal part. Therefore, if this numerical data includes a decimal part according to the octave range, interpolation can be performed according to the range of the musical tone to be generated, as described above. Note that the octave range in this case is not limited to one octave unit, but may be two octave units, etc., as described above. [Embodiments] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. [Description of overall configuration of one embodiment] In FIG. 1, a keyboard 10 is equipped with a plurality of keys for specifying the pitch of a musical tone to be generated.
The key press detection circuit 11 detects key presses and key releases on the keyboard 10, and provides a signal corresponding to the detected key presses and key releases to the sound generation assignment circuit 12. The sound generation assignment circuit 12 is for allocating the sound of a musical sound corresponding to a pressed key to one of a plurality of musical sound generation channels, and generates a key code indicating the key assigned to that channel at the time division timing corresponding to each channel. It outputs a key-on signal KON indicating whether or not the KC and the key are being pressed continuously. The key code KC is given to a P number generation circuit 13 and an octave data generation circuit 14.
The P number generation circuit 13 receives the input key code.
A P number having a value corresponding to the KC pitch name (that is, the pitch name of the musical tone to be generated) is generated. The P number will be described later. The octave rate data generation circuit 14 generates numerical data, ie, octave data RATE, corresponding to the octave of the musical tone to be generated based on the input key code KC. Here, the range of one octave is not necessarily limited to the range of one octave from the pitch name C, but may be the range of one octave from any pitch name. As will be clear from the description below, this octave data generation circuit 14 functions as interpolation information generation means for octaves lower than a predetermined reference octave. That is, numerical data corresponding to an octave lower than the reference octave, that is, rate data RATE, functions as interpolation information corresponding to that octave. The note clock generating circuit 15 generates a note clock pulse having a frequency corresponding to the note name of the musical tone to be generated in accordance with the P number given from the P number generating circuit 13. This note clock pulse is generated by the address signal generation circuit 16.
Since it functions as a signal requesting to change the address signal by adding (or subtracting) the rate data RATE described above, it will also be referred to as an address change request signal CRQ. The address signal generation circuit 16 generates rate data when the address change request signal CRQ is applied.
An address signal is generated by adding (or subtracting) RATE. Therefore, the address signal increases (or increases) by the value of the rate data RATE (by the value corresponding to the octave) every time the address change request signal CRQ is applied (that is, every time the note clock pulse is generated). Decrease. As is commonly known, the address signal repeatedly increases (or decreases) by a predetermined modulo number. The address signal generated from the address signal generation circuit 16 can be divided into an integer part and a decimal part, and the integer part specifies the sample point order, that is, the phase of the musical waveform sample point amplitude signal to be generated from the tone generator 17. phase address signal
It is supplied to the tone generator 17 as PHA, and its fractional part is supplied to pitch synchronization/interpolation circuit 18 as interpolation address data INT indicating an interpolation address. Note that in the case of linear interpolation, the interpolation address data INT can be used as is as an interpolation coefficient. The pitch synchronization/interpolation circuit 18 resamples the musical waveform sample point amplitude signal generated from the tone generator 17 in synchronization with its pitch, that is, the pitch (this is referred to as pitch synchronization operation), and Interpolate the state musical waveform sample point amplitude signal between adjacent sample points (between adjacent integer part addresses) with the interpolated address data.
Performs interpolation according to INT. The above-mentioned octave rate data RATE consists of an integer part and a decimal part, and it is the decimal part data that functions as the above-mentioned interpolation information. The decimal part of the address signal, that is, the interpolated address data INT, is
It is obtained by calculating the decimal part of this rate data RATE. As will become clear from the description below, the octave rate data RATE has a fractional value when the octave of the musical tone to be generated is lower than a predetermined reference octave.
If it is larger than that, it does not have a decimal value. Therefore, when the octave is lower than the reference octave, interpolation address data INT is generated and interpolation is performed by the interpolation circuit 18, but when it is lower than the reference octave, interpolation address data INT is not generated and no interpolation is performed. The musical tone signal output from the pitch synchronization/interpolation circuit 18 is converted into an analog signal by a digital/analog converter 19 and then sent to a sound system 20. The timbre selection circuit 21 is for selecting the pitch of the musical tone to be generated, and timbre information TC indicating the selected timbre is provided to the tone generator 17 and other circuits. The operation of each circuit from the sound generation allocation circuit 12 to the pitch synchronization/interpolation circuit 18 is performed on a time-division basis for each channel. The timing signal generating circuit 22 generates various timing signals, master clock pulse φ M , and other clock pulses for controlling the time division operations of each circuit. Furthermore, in the embodiment shown in FIG. 1, special measures have been taken regarding the pitch synchronization operation and time division operation speed described above. A note clock generating circuit 15 is provided for pitch synchronization, and generates a note clock pulse, ie, an address change request signal CRQ, having a frequency corresponding to the note name of the musical tone to be generated.
If the address signal is changed in accordance with the generation timing of this address change request signal CRQ, the effective sample frequency of the musical waveform signal generated based on this address signal and its pitch will be harmonized, and pitch synchronization will be achieved. . However, as will be clear from the description below, in this embodiment, pitch synchronization is not achieved at the stage of the address signal generation circuit 16 and tone generator 17, and the pitch synchronization/interpolation circuit 18
Pitch synchronization is now achieved. By the way, the note clock generation circuit 15 has to generate note clock pulses corresponding to various note names for each channel in a time-division manner based on a common master clock pulse φ M , and also requires precision of pitch synchronization. In order to increase the frequency, it is desirable that the frequency of the note clock pulse is also relatively high. Therefore, the note clock generating circuit 15 is required to operate at relatively high-speed time division timing.
Further, the pitch synchronization/interpolation circuit 18 for realizing pitch synchronization is also required to operate at high speed time division timing similar to the note clock pulse. On the other hand, the sound generation allocation circuit 12 and the tone generator 17 are not required to operate at such high-speed time-sharing timing, and rather, it is preferable for the time-sharing timing to be relatively slow in terms of circuit configuration or musical tone generation calculation processing. Therefore, in this embodiment, the necessary circuits are operated at two time-division operation speeds: high speed and low speed. In other words, the sound generation allocation circuit 12 and the tone generator 17 perform time-division processing for each channel at low-speed time-division timing, and the note clock generation circuit 15 and pitch synchronization/interpolation circuit 18 perform time-division processing for each channel at high-speed time-division timing. I am trying to process it. The output of the sound generation allocation circuit 12 is output at slow time division timing. However, since the note clock generating circuit 15 operates at a high speed time division timing, in order to match this, the P number generation circuit 13 is provided with means for converting the time division speed of the signal from low speed to high speed. In addition, the output of the note clock generation circuit 15
CRQ is also a high-speed time division timing signal, so
In order to match the rate data RATE with high-speed time-division timing, the octave rate data generation circuit 14 is also provided with means for converting the time-division speed of the signal from low to high speed. Inside the address signal generation circuit 16, an address change request signal, which is a high-speed time division timing signal, is used.
An address signal must be generated based on CRQ and rate data RATE, but since the tone generator 17 that uses this address signal (especially its integer part) operates at low-speed time division timing, the time division speed of the signal is Means for converting from high speed to low speed is provided inside the circuit 16, and outputs at least the integer part of the address signal, that is, the phase address signal RHA, at low speed time division timing. The pitch synchronization operation in the pitch synchronization/interpolation circuit 18 must be performed at high-speed time division timing similar to the note clock pulse, that is, the address change request signal CRQ, and in order to perform interpolation without damaging the pitch synchronization state. It is also necessary to perform interpolation operations at high-speed time division timing. Therefore, inside the circuit 18, there is provided means for converting the tone waveform sample point amplitude signal of low speed time division timing sent from the tone generator 17 into high speed time division timing. Note that since the interpolation operation is performed at high-speed time division timing, the interpolated address data INT generated from the address signal generation circuit 16 may remain at high-speed time division timing. Next, detailed examples of each circuit in FIG. 1 will be explained. (Explanation of time division timing) First, an example of low speed and high speed time division timing will be described with reference to FIG. 2. The high-speed time division timing is formed by using one period of the master clock pulse φ M as one time slot. As an example, assuming that the number of sound generation channels is four, the time clocks of the first to fourth channels in the high speed time division timing, that is, the high speed channel timings are as shown in FIG. 2b. Therefore, the sampling period of one note at high speed time division timing is four times the master clock pulse φM . Figure 2 d shows the master clock pulse φ M at 16
Indicates a slow clock pulse φ 1 with twice the period,
Low-speed time division timing is set with one period of this low-speed clock pulse φ1 as one time slot. FIG. 2e shows the channel name of the key code KC output from the sound generation assignment circuit 12 of FIG. 1 according to this low-speed time division timing.
FIG. 2c shows a channel synchronization pulse CH, which is used when converting the time division speed of a signal from slow to fast or vice versa. This pulse CH is applied to each channel 1 to 64 during one round of low -speed channel timing (64 cycles of master clock pulse φ M ) .
It consists of a total of four pulses that are generated only once corresponding to the four high-speed time division timings. For example, one pulse is generated at the high-speed time division timing of channel 1, and its 17φ M (master clock pulse φ M
One pulse is generated at the high-speed time division timing of channel 2 after 17 cycles), and one pulse is generated at the high-speed time division timing of channel 3 after 17φ M , and then one pulse is generated at the high-speed time division timing of channel 4 after 17φ M. One pulse is generated at the timing, and the 13φ M
Returning to the high-speed time division timing of channel 1 (13 cycles of master clock pulse φ M ) later, one pulse is generated. FIG. 2f shows the timing at which the inverted key-on pulse is generated from the sound generation assignment circuit 12. This pulse is normally "1", but when a new press key is assigned to a certain channel, it becomes "0" only once in accordance with the generation timing of the channel synchronization pulse CH corresponding to that channel. (Explanation of P number) P number is one of musical sound waveforms having frequencies corresponding to each note name C to B in a certain standard octave.
This is a number indicating the number of sample points in a cycle. Since it is possible to time-divisionally generate multiple tones with arbitrary note names, the basic sampling frequency is the same for all note names, and as mentioned above, this is a period four times the master clock pulse φ M. It is something that has. On the other hand,
Since the basic sampling frequency is common,
The P number of each pitch name indicates a different value depending on the frequency of the pitch name. Let fn be the frequency of a certain note name in the standard octave, and let fc be the common sampling frequency mentioned above, then P corresponding to that note name is
The number is determined as follows. P number = fc÷fn...(1) Here, the common sampling frequency fc is fc=
Assuming that the frequency fn of pitch name A is 785.54kHz and fn = 440Hz (that is, A4 note), the P number of pitch name A is
From the above formula, P number of pitch name A=785540÷440=1785. On the other hand, assuming that the number of sample points of different sample point amplitude values per period of musical sound waveform that can be generated within the tone generator 17 is 64, the effective sampling frequency fe of the frequency fn is fe=fn×64...(2) So, when fn=440Hz, fe=440×64=28160Hz. Similarly, the P number and effective sampling frequency fe of each pitch name in a certain reference octave can be determined as shown in the table below. In this example, the standard octave is one octave from note G4 to note F#5.

【表】 (ノートクロツクパルスの説明) ノートクロツク発生回路15(第1図)におい
て、ノートクロツクパルスすなわちアドレス変更
要求信号CRQは、マスタクロツクパルスφMに基
づき確立される共通サンプリング周波数fcをPナ
ンバに応じて分周することにより得られる。前述
から明らかなように、Pナンバは1周期波形中の
共通サンプリング周波数fcの周期数つまりサンプ
ル点数であり、一方、トーンジエネレータ17で
発生可能な楽音波形1周期当りの実効的なサンプ
ル点数は前述の通り64である。従つて、共通サン
プリング周波数fcを分周する分周数を 分周数=Pナンバ÷64 …(3) とすれば、その分周出力として楽音1周期当り64
個のパルスを得ることができ、これにより64個の
実効的なサンプル点をすべて確立することができ
る。このようにして定まる分周数によつて共通サ
ンプリング周波数fcを分周すると、前記(1)、(2)、
(3)式より、 fc÷分周数=(fn×Pナンバ)÷ (Pナンバ÷64)=fn−64=fe …(4) となり、この分周出力によつてサンプル点アドレ
スを変化させることにより実効サンプリング周波
数feを確立することができる。このようにして確
立される実効サンプリング周波数feは、音名周波
数fnに調和しており、ピツチ同期が実現される。
ノートクロツク発生回路15から発生されるノー
トクロツクパルスすなわちアドレス変更要求信号
CRQは上記(4)式で示されるような分周出力信号
すなわち実効サンプリング周波数feを持つ信号で
ある。 ところで、上記(3)式で定まる周波数は整数にな
るとは限らず、小数を含むことが多い。例えば、
音名Aの場合、 分周数=1785÷64≒27.89 である。そこで、ノートクロツク発生回路15に
おける分周動作は、後述のように、(3)式で定まる
分周数に近い2つの整数で適宜分周し、その平均
的な結果として(3)式で定まる分周数で分周したの
と同じ結果が得られるようにしている。 (Pナンバ発生回路13及びノートクロツク発生
回路15の詳細例説明) 第3図において、Pナンバ発生回路13は、前
記第1表に示すような基準オクターブにおける各
音名のPナンバを予め記憶したPナンバメモリ2
3と、低/高速変換部24とを含んでいる。低/
高速変換部24は、Pナンバメモリ23の出力を
「1」入力に入力したセレクタ25と、チヤンネ
ル数4に対応する4ステージのシフトレジスタ2
6とを含んでおり、シフトレジスタ26の出力が
セレクタ25の「0」入力を介して循環するよう
になつている。セレクタ25の選択制御信号とし
てチヤンネル同期パルスCH(第2図c参照)が
入力されており、これが“1”のとき「1」入力
を選択し、“0”のとき「0」入力を選択する。
シフトレジスタ26はマスタクロツクパルスφM
によつてシフト制御される。 Pナンバメモリ23は、発音割当て回路12
(第1図)から第2図eに示すような低速時分割
タイミングで出力される各チヤンネルのキーコー
ドKCを入力し、このキーコードKCの音名に対応
してPナンバを読み出す。読み出されたPナンバ
は第2図eと同様の低速時分割タイミングの信号
である。低/高速変換部24は、読み出されたP
ナンバの時分割タイミングを高速に変換するもの
である。すなわち、低速タイミングのチヤンネル
1のときメモリ23から読み出されたPナンバ
が、高速のチヤンネル1のタイミングでチヤンネ
ル同期パルスCHが“1”になつたときセレクタ
25で選択され、シフトレジスタ26に取込まれ
る。同様に、他の低速のチヤンネル2,3,4の
タイミングで読み出されたPナンバが、夫々に対
応する高速のチヤンネル2,3,4のタイミング
でパルスCHが“1”になつたときセレクタ25
で選択され、シフトレジスタ26に取込まれる。
シフトレジスタ26に取込まれたPナンバは、次
にそのチヤンネルの高速タイミングでパルスCH
が“1”になるときがくるまで、セレクタ25の
「0」入力を介して該シフトレジスタ26で循環
保持される。こうして、シフトレジスタ26の4
つのステージにはチヤンネル1〜4に割当てられ
た鍵の音名に対応するPナンバが入つており、マ
スタクロツクパルスφMに従つてシフトされなが
らその4倍の周期で(つまり共通サンプリング周
波数fcの周期で)繰返し出力される。従つて、シ
フトレジスタ26から出力される各チヤンネルの
Pナンバのタイミングは第2図bのようである。
このPナンバは例えば12ビツトの2進コード化信
号から成る。 第3図において、ノートクロツク発生回路15
は、シフトレジスタ26から出力されたPナンバ
を入力する加算器27と、この加算器27の出力
を「0」入力に入力したセレクタ28と、このセ
レクタ28の出力を入力した4ステージのシフト
レジスタ29と、シフトレジスタ29の出力の下
位6ビツト(小数部)をゲートして加算器27の
他の入力に与えるゲート30と、シフトレジスタ
29の出力の上位7ビツト(整数部)を入力して
全ビツトが“1”の7ビツトから成るオール
“1”信号と加算する加算器31とを含んでいる。
Pナンバそれ自体は12ビツトの2進コード化信号
であるが、加算器27の出力は桁上がり信号のビ
ツトとして1ビツト余分に含む13ビツトの信号か
ら成る。 反転キーオンパルス(そのタイミング
関係は第2図fに示されている)と加算器31の
キヤリアウト出力COから出力された信号がアン
ド回路32に入力されており、このアンド回路3
2の出力がセレクタ28の選択制御入力に加わ
る。アンド回路32の出力信号が“0”のときは
加算器27からセレクタ28の「0」入力に与え
られた信号が選択され、“1”のときは「1」入
力に与えられた信号が選択される。セレクタ28
の「1」入力には、シフトレジスタ29の出力の
下位6ビツト(小数部)と加算器31の7ビツト
(整数部)とから成る13ビツトの信号が与えられ
る。 セレクタ28、シフトレジスタ29、加算器3
1の部分は、Pナンバに応じて前記(3)式に示すよ
うな分周数を確立し、この分周数の整数部に応じ
て共通サンプリング周波数fcの分周を行うための
回路である。加算器27は、上記分周数の小数部
に応じて前記整数部の値を調整するためのもので
ある。 前記(3)式において除数64は26であるため、分周
数を求めるために格別の割算を行うことなく、単
にPナンバの下位6ビツトを小数部として取扱う
だけで該Pナンバに対応する分周数を確立するこ
とができる。従つて、加算器27、セレクタ28
及びシフトレジスタ29の出力信号13ビツトのう
ち下位6ビツトが小数部の重みであり、上位7ビ
ツトが整数部の重みである。 加算器31においてオール“1”信号を加算す
ることは1減算することに等しい。従つて、加算
器31では、事実上、シフトレジスタ29の出力
の整数値から1減算することを行う。この加算器
31の減算結果は演算されなかつた小数部の6ビ
ツトデータと共にセレクタ28の「1」入力に戻
され、シフトレジスタ29を経由して再び加算器
31に入力される。シフトレジスタ29はマスタ
クロツクパルスφMによつてシフト制御されるた
め、同じチヤンネルの信号がシフトレジスタ29
から出力される周期はマスタクロツクパルスφM
の4倍の周期つまり共通サンプリング周波数fcの
周期である。 鍵の押し始めにおいて、その鍵が割当てられた
チヤンネルタイミングで反転キーオンパルス
KONPが一度だけ“0”となり、このとき、セ
レクタ28の「0」入力を介して該鍵のPナンバ
が選択される。このPナンバの整数部がシフトレ
ジスタ29から加算器31に与えられ、共通サン
プリング周波数fcの周期で該整数部から1が繰返
し減算される。整数部の減算結果が1以上の値の
とき、加算器31のキヤリイアウト出力COから
は絶えずキヤリイアウト信号“1”が出力され、
アンド回路32の条件が成立するので、セレクタ
28は「1」入力が選択し続ける。減算の繰返し
によつてやがて加算器31の出力が“0”になつ
たとき、つまりPナンバの整数部の数と同数のfc
の周波数が経過したとき、加算器31のキヤリイ
アウト信号は出力されず、アンド回路32の条件
は成立しない。そのとき、セレクタ28は「0」
入力を選択し、Pナンバをシフトレジスタ29の
出力の下位6ビツト(小数部データ)とを加算し
た加算器27の出力を選択する。こうして、小数
部の加算によつて幾分変更された値のPナンバが
シフトレジスタ29に与えられ、今度は変更され
たPナンバの整数値から1減算することが繰返さ
れる。なお、ゲート30は反転キーオンパルス
KONPによつて鍵の押し始めでだけ不能化され、
それ以外のときは常時小数部データを加算器27
に与える。加算器27におけるPナンバに対する
小数部データの加算によつて、実際に分周に使用
する分周数の整数値はPナンバから求まる分周数
の整数値よりも1大きくなることがある。例え
ば、音名AのPナンバは1785であり、その分周数
は27・89であるが、最初はその整数値27に従つて
分周を行うが、次は27.89+0.89=28.78となり、
その整数値28に従つて分周を行うことになる。こ
うして、Pナンバによつて求まる分周数の整数値
と同じか、それよりも1大きい数に従つて、共通
サンプリング周波数fcの分周が行われ、平均的な
結果としてPナンバによつて求まる分周数に従う
分周動作が達成される。加算器31のキヤリイア
ウト出力COの信号がその分周出力に相当するも
のであり、これをインバータ33で反転した信号
がノートクロツクパルスつまりアドレス変更要求
信号CRQとして出力される。 理解を深めるために、音名Aを例にして、セレ
クタ28の出力の変化の一例を示す。変化タイミ
ングは共通サンプリング周波数fcの周期である。
最初はPナンバ1785に対応する分周数27.89であ
り、次にその整数値が1減つた26.89であり、以
下、25.89、24.89、23.89、…2.89、1.89とその整
数値が順次1づつ減少する。fcの27周期目にセレ
クタ28の「1」入力に加わる数値が0.89とな
り、このときキヤリイアウト信号が“0”とな
り、ノートクロツクパルスつまりアドレス変更要
求信号CRQが“1”となり、セレクタ28では
「0」入力を選択する。セレクタ28の「0」入
力にはPナンバ1785に対応する分周数27.89にシ
フトレジスタ29から与えられる小数値0.89を加
算した値28.78が与えられている。従つて、28.78
がセレクタ28から出力される。その後、セレク
タ28の出力は27.78、26.78、25.78、24.78、…
2.78、1.78と順次1づつ減少してゆき、fcの28周
期目にセレクタ28の「1」入力に加わる数値が
0.78となると共に、加算器31のキヤリイアウト
信号が“0”となり、ノートクロツクパルスつま
りアドレス変更要求信号CRQが発生される。こ
のとき加算器27の出力は27.89+0.78=28.67で
あり、これがセレクタ28の「0」入力を介して
シフトレジスタ29に与えられる。その後、セレ
クタ28の出力は27.67、26.67、25.67、24.67、
…2.67、1.67と順次1づつ減少してゆく。こうし
て、27又は28を分周数として分周が行われる。 (オクターブレートデータ発生回路14の詳細例
説明) 第4図において、基準オクターブコード発生回
路34は音色選択情報TCに応じて所定の基準オ
クターブを示す3ビツトのオクターブコードを発
生する。このオクターブコードとオクターブの境
い目を示す4ビツトから成るF#のノートコード
が減算器35のA入力に与えられる。減算器35
のB入力には発音割当て回路12(第1図)から
与えられたキーコードKCが入力される。減算器
35はA―Bなる減算を行ない、基準オクターブ
に対する発生すべき楽音のオクターブの差を求め
る。このオクターブの差は、3ビツトのオクター
ブコードと4ビツトのノートコードから成る7ビ
ツトのキーコード同士の差である7ビツト出力の
うち上位4ビツトによつて区別し得るので、減算
器35からは上位4ビツトの減算結果が出力され
る。なお、この例では、オクターブコードのコー
ドづけにおけるオクターブの境い目は通常知られ
ているようにB音とC音の間としているのに対し
て、基準オクターブの設定においてはオクターブ
の境い目を第1表に示したようにF音とG音の間
としている。そのため、減算器35ではキーコー
ドの全ビツトを用いて減算を行つている。もし、
基準オクターブの設定においてオクターブの境い
目をオクターブコードのコードづけと同様にB音
とC音の間としたならば、減算器35ではオクタ
ーブコード同士のみの減算を行えばよい。なお、
基準オクターブコード発生回路34は選択された
音色に応じて基準オクターブを変えることによ
り、音色に応じて鍵のオクターブシフトを実現す
る。一例として、典型的な基準オクターブは第1
表に示したようにG4〜F#5の範囲である。 低/高速変換器36は第3図に示した変換器2
4と同様に構成されたセレクタ37及びシフトレ
ジスタ38から成る。減算器35から出力された
オクターブずれデータはこの変換器36で高速時
分割タイミングに変換され、オクターブレート変
換メモリ39に入力される。オクターブレート変
換メモリ39は入力されたオクターブずれデータ
に応じて下記表に示すようなオクターブレートデ
ータRATEを出力する。
[Table] (Description of Note Clock Pulse) In the note clock generation circuit 15 (FIG. 1), the note clock pulse, that is, the address change request signal CRQ, uses the common sampling frequency fc established based on the master clock pulse φM . It is obtained by dividing the frequency according to the P number. As is clear from the above, the P number is the number of cycles of the common sampling frequency fc in one cycle waveform, that is, the number of sample points.On the other hand, the effective number of sample points per cycle of the musical sound waveform that can be generated by the tone generator 17 is As mentioned above, it is 64. Therefore, if the frequency division number for dividing the common sampling frequency fc is frequency division number = P number ÷ 64...(3), then the frequency division output is 64 per period of musical tone.
pulses can be obtained, thereby establishing all 64 effective sample points. When the common sampling frequency fc is divided by the frequency division number determined in this way, the above (1), (2),
From formula (3), fc ÷ frequency division number = (fn x P number) ÷ (P number ÷ 64) = fn - 64 = fe...(4) The sample point address is changed by this frequency division output. By this, the effective sampling frequency fe can be established. The effective sampling frequency fe established in this way is in harmony with the pitch name frequency fn, and pitch synchronization is achieved.
A note clock pulse generated from the note clock generation circuit 15, that is, an address change request signal.
CRQ is a frequency-divided output signal as shown in equation (4) above, that is, a signal having an effective sampling frequency fe. By the way, the frequency determined by the above equation (3) is not necessarily an integer and often includes a decimal number. for example,
In the case of pitch name A, the frequency division number = 1785÷64≒27.89. Therefore, the frequency dividing operation in the note clock generation circuit 15 is to appropriately divide the frequency by two integers close to the frequency division number determined by equation (3), and the average result is the frequency division number determined by equation (3). The same result as dividing by the number of cycles is obtained. (Detailed Example Description of P Number Generation Circuit 13 and Note Clock Generation Circuit 15) In FIG. Number memory 2
3 and a low/high speed conversion section 24. Low/
The high-speed conversion unit 24 includes a selector 25 into which the output of the P number memory 23 is input to the "1" input, and a 4-stage shift register 2 corresponding to the number of channels 4.
6, and the output of the shift register 26 is circulated through the "0" input of the selector 25. A channel synchronization pulse CH (see Figure 2 c) is input as a selection control signal to the selector 25, and when it is "1", the "1" input is selected, and when it is "0", the "0" input is selected. .
The shift register 26 receives the master clock pulse φ M
The shift is controlled by The P number memory 23 is connected to the sound generation assignment circuit 12.
The key code KC of each channel, which is output at low-speed time division timing as shown in FIG. 1 to e in FIG. The read P number is a signal with low-speed time division timing similar to that shown in FIG. 2e. The low/high speed converter 24 converts the read P
This converts the time division timing of numbers at high speed. That is, the P number read out from the memory 23 for channel 1 with low-speed timing is selected by the selector 25 when the channel synchronization pulse CH becomes "1" at the timing of high-speed channel 1, and is stored in the shift register 26. be included. Similarly, when the P number read at the timing of other low-speed channels 2, 3, and 4 becomes "1" at the timing of the corresponding high-speed channels 2, 3, and 4, the selector 25
is selected and taken into the shift register 26.
The P number taken into the shift register 26 is then sent to the pulse CH at high-speed timing of that channel.
The signal is cyclically held in the shift register 26 via the "0" input of the selector 25 until the time when the signal becomes "1". In this way, 4 of the shift registers 26
The two stages contain P numbers corresponding to the note names of keys assigned to channels 1 to 4, and are shifted according to the master clock pulse φ M at a period four times that of the master clock pulse φ M (that is, the common sampling frequency fc (with a period of ) is repeatedly output. Therefore, the timing of the P number of each channel output from the shift register 26 is as shown in FIG. 2b.
This P number consists of, for example, a 12-bit binary coded signal. In FIG. 3, the note clock generating circuit 15
is an adder 27 that inputs the P number output from the shift register 26, a selector 28 that inputs the output of this adder 27 to the "0" input, and a 4-stage shift register that inputs the output of this selector 28. 29, a gate 30 which gates the lower 6 bits (decimal part) of the output of the shift register 29 and supplies it to the other input of the adder 27, and inputs the upper 7 bits (integer part) of the output of the shift register 29. It includes an adder 31 that adds an all "1" signal consisting of 7 bits, all of which are "1".
Although the P number itself is a 12-bit binary coded signal, the output of adder 27 consists of a 13-bit signal including one extra bit as a carry signal bit. The inverted key-on pulse (its timing relationship is shown in FIG. 2f) and the signal output from the carry-out output CO of the adder 31 are input to an AND circuit 32.
The output of 2 is applied to the selection control input of the selector 28. When the output signal of the AND circuit 32 is "0", the signal given from the adder 27 to the "0" input of the selector 28 is selected, and when it is "1", the signal given to the "1" input is selected. be done. selector 28
A 13-bit signal consisting of the lower 6 bits (decimal part) of the output of shift register 29 and 7 bits (integer part) of adder 31 is applied to the "1" input of . Selector 28, shift register 29, adder 3
Part 1 is a circuit for establishing a frequency division number as shown in equation (3) above according to the P number, and dividing the common sampling frequency fc according to the integer part of this frequency division number. . The adder 27 is for adjusting the value of the integer part according to the decimal part of the frequency division number. In equation (3) above, the divisor 64 is 26 , so there is no need to perform any special division to find the division number, and the P number can be handled simply by treating the lower 6 bits of the P number as the decimal part. It is possible to establish a frequency division number. Therefore, adder 27, selector 28
Of the 13 bits of the output signal from the shift register 29, the lower 6 bits are the weight of the decimal part, and the upper 7 bits are the weight of the integer part. Adding all "1" signals in the adder 31 is equivalent to subtracting 1. Therefore, the adder 31 effectively subtracts 1 from the integer value output from the shift register 29. The subtraction result of the adder 31 is returned to the "1" input of the selector 28 together with the 6-bit data of the decimal part that was not operated, and is inputted to the adder 31 again via the shift register 29. Since the shift register 29 is shift-controlled by the master clock pulse φ M , the signals of the same channel are transferred to the shift register 29.
The period output from is the master clock pulse φ M
, that is, the period of the common sampling frequency fc. At the beginning of a key press, an inverted key-on pulse is generated at the channel timing assigned to that key.
KONP becomes "0" only once, and at this time, the P number of the key is selected via the "0" input of the selector 28. The integer part of this P number is provided from the shift register 29 to the adder 31, and 1 is repeatedly subtracted from the integer part at a cycle of the common sampling frequency fc. When the subtraction result of the integer part is a value of 1 or more, the carry-out signal "1" is constantly output from the carry-out output CO of the adder 31,
Since the condition of the AND circuit 32 is satisfied, the selector 28 continues to select the "1" input. When the output of the adder 31 eventually becomes "0" by repeating the subtraction, that is, the number of fc equal to the number of integer parts of the P number
When the frequency has elapsed, the carry-out signal of the adder 31 is not output, and the condition of the AND circuit 32 is not satisfied. At that time, the selector 28 is "0"
The input is selected, and the output of the adder 27, which is the sum of the P number and the lower 6 bits (decimal part data) of the output of the shift register 29, is selected. In this way, the P number whose value has been changed somewhat by the addition of the decimal part is given to the shift register 29, and the process of subtracting 1 from the changed integer value of the P number is repeated. In addition, gate 30 is an inverted key-on pulse.
KONP disables it only at the beginning of pressing the key,
At other times, the decimal part data is always sent to the adder 27.
give to Due to the addition of decimal part data to the P number in the adder 27, the integer value of the frequency division number actually used for frequency division may become one larger than the integer value of the frequency division number determined from the P number. For example, the P number of pitch name A is 1785, and its frequency division number is 27.89. Initially, the frequency is divided according to the integer value 27, but then it becomes 27.89 + 0.89 = 28.78,
The frequency will be divided according to the integer value 28. In this way, the common sampling frequency fc is divided according to a number that is equal to or 1 greater than the integer value of the frequency division number determined by the P number, and the average result is determined by the P number. A frequency division operation according to the frequency division number is achieved. The signal of the carry-out output CO of the adder 31 corresponds to the frequency-divided output, and the signal inverted by the inverter 33 is output as the note clock pulse, that is, the address change request signal CRQ. For better understanding, an example of changes in the output of the selector 28 will be shown using pitch name A as an example. The change timing is the cycle of the common sampling frequency fc.
The first is the frequency division number 27.89 corresponding to the P number 1785, then the integer value is decreased by 1 to 26.89, and then the integer values are decreased by 1 in sequence to 25.89, 24.89, 23.89, ...2.89, 1.89. . At the 27th cycle of fc, the value added to the "1" input of the selector 28 becomes 0.89, at this time the carry out signal becomes "0", the note clock pulse, that is, the address change request signal CRQ becomes "1", and the selector 28 outputs "1". 0” input. The “0” input of the selector 28 is given the value 28.78, which is the sum of the frequency division number 27.89 corresponding to the P number 1785 and the decimal value 0.89 given from the shift register 29. Therefore, 28.78
is output from the selector 28. After that, the output of the selector 28 is 27.78, 26.78, 25.78, 24.78,...
The number decreases by 1 sequentially to 2.78, 1.78, and the value added to the "1" input of the selector 28 at the 28th cycle of fc is
0.78, the carryout signal of the adder 31 becomes "0", and the note clock pulse, that is, the address change request signal CRQ is generated. At this time, the output of the adder 27 is 27.89+0.78=28.67, which is applied to the shift register 29 via the "0" input of the selector 28. After that, the output of the selector 28 is 27.67, 26.67, 25.67, 24.67,
...2.67, then 1.67, decreasing by 1 one by one. In this way, frequency division is performed using 27 or 28 as the frequency division number. (Detailed Example Description of Octave Rate Data Generating Circuit 14) In FIG. 4, the reference octave code generating circuit 34 generates a 3-bit octave code indicating a predetermined reference octave in accordance with the timbre selection information TC. This octave code and an F# note code consisting of 4 bits indicating the boundary between octaves are applied to the A input of the subtracter 35. Subtractor 35
The key code KC given from the pronunciation assignment circuit 12 (FIG. 1) is input to the B input of. The subtracter 35 performs subtraction AB to find the difference in octave of the musical tone to be generated from the reference octave. This octave difference can be distinguished by the upper 4 bits of the 7-bit output, which is the difference between 7-bit key codes consisting of a 3-bit octave code and a 4-bit note code. The subtraction result of the upper 4 bits is output. In addition, in this example, the octave boundary in the octave chord coding is between the B note and the C note, as is generally known, whereas in setting the standard octave, the octave boundary is shown in Table 1. As shown in , it is between the F note and the G note. Therefore, the subtracter 35 performs subtraction using all the bits of the key code. if,
When setting the reference octave, if the octave boundary is set between the B note and the C note as in the coding of octave codes, the subtracter 35 only needs to subtract between octave codes. In addition,
The reference octave code generation circuit 34 changes the reference octave according to the selected timbre, thereby realizing an octave shift of the key according to the timbre. As an example, a typical reference octave is the first
As shown in the table, it is in the range of G4 to F#5. The low/high speed converter 36 is the converter 2 shown in FIG.
It consists of a selector 37 and a shift register 38 configured similarly to 4. The octave shift data output from the subtracter 35 is converted into high-speed time division timing by this converter 36 and input to an octave rate conversion memory 39. The octave rate conversion memory 39 outputs octave rate data RATE as shown in the table below according to the input octave shift data.

〔発明の効果〕〔Effect of the invention〕

以上の通りこの発明によれば、発生すべき楽音
の音域に応じて楽音波形サンプル点間で補間を行
うようにしたので、低音域における実効サンプリ
ング周波数の低下を防ぐことができ、折返しノイ
ズの発生を抑止することができる。
As described above, according to the present invention, since interpolation is performed between musical waveform sample points according to the range of the musical sound to be generated, it is possible to prevent a drop in the effective sampling frequency in the bass range, thereby preventing the occurrence of aliasing noise. can be suppressed.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明を適用した電子楽器の一実施
例を示す全体構成ブロツク図、第2図はチヤンネ
ル時分割タイミングの一例を示すための各種タイ
ミング信号のタイミングチヤート、第3図は第1
図におけるPナンバ発生回路及びノートクロツク
発生回路の詳細例を示すブロツク図、第4図は第
1図におけるオクターブレートデータ発生回路の
詳細例を示すブロツク図、第5図は第1図のアド
レス信号発生回路の詳細例を示すブロツク図、第
6図は第1図のピツチ同期・補間回路の詳細例を
示すブロツク図、第7図は第6図の補間回路の詳
細例を示すブロツク図、第8図は第5図における
高/低速変換部の変更例を示すブロツク図、第9
図はこの発明の他の実施例を示すブロツク図、第
10図はこの発明に従うオクターブに応じたサン
プル点間補間の一例を示す楽音波形サンプル点振
幅信号の波形図、である。 10…鍵盤、11…押鍵検出回路、12…発音
割当て回路、13…Pナンバ発生回路、14…オ
クターブレートデータ発生回路、15,86―1
〜86―4…ノートクロツク発生回路、16,9
0…アドレス信号発生回路、17,92…トーン
ジエネレータ、18,94―1〜94―4…ピツ
チ同期・補間回路。
FIG. 1 is an overall configuration block diagram showing one embodiment of an electronic musical instrument to which the present invention is applied, FIG. 2 is a timing chart of various timing signals to show an example of channel time division timing, and FIG.
FIG. 4 is a block diagram showing a detailed example of the P number generation circuit and note clock generation circuit in FIG. 1. FIG. 5 is a block diagram showing a detailed example of the octave data generation circuit in FIG. 6 is a block diagram showing a detailed example of the pitch synchronization/interpolation circuit shown in FIG. 1. FIG. 7 is a block diagram showing a detailed example of the interpolation circuit shown in FIG. 6. The figure is a block diagram showing an example of modification of the high/low speed converter in Fig. 5, and Fig.
10 is a block diagram showing another embodiment of the present invention, and FIG. 10 is a waveform diagram of a musical waveform sample point amplitude signal showing an example of interpolation between sample points according to an octave according to the present invention. 10... Keyboard, 11... Key press detection circuit, 12... Sound generation assignment circuit, 13... P number generation circuit, 14... Octave data generation circuit, 15, 86-1
~86-4...Note clock generation circuit, 16,9
0... Address signal generation circuit, 17, 92... Tone generator, 18, 94-1 to 94-4... Pitch synchronization/interpolation circuit.

Claims (1)

【特許請求の範囲】 1 発生すべき楽音の音高に対応して変化する位
相情報を発生する位相情報発生手段と、 この位相情報に従つて楽音波形サンプル点振幅
信号を発生する波形発生手段と、 前記発生すべき楽音の音域に応じて、該音域が
低くなるほど補間を密に行うようにする補間情報
を発生する補間情報発生手段と、 前記波形発生手段で発生された楽音波形サンプ
ル点振幅信号の少なくとも2つのサンプル点間の
振幅を前記補間情報に基づき補間する補間手段と を具えた楽音信号発生装置。 2 前記補間情報発生手段は、前記発生すべき楽
音の音域が所定の基準音域より低い場合前記補間
情報を発生するものである特許請求の範囲第1項
記載の楽音信号発生装置。 3 前記補間情報は、前記サンプル点間の補間を
行う場合に、その補間ステツプ数を前記音域に応
じて定めるものである特許請求の範囲第1項又は
第2項記載の楽音信号発生装置。 4 前記補間ステツプ数は音域が低くなるほど多
くなるものである特許請求の範囲第3項記載の楽
音信号発生装置。 5 前記位相情報発生手段は、前記発生すべき楽
音の音域が前記基準音域以下の場合は前記波形発
生手段から全サンプル点の前記振幅信号を発生さ
せるが、該基準音域より高い場合はその音域に応
じて1又は複数のサンプル点を飛び越しながら前
記振幅信号を発生させるよう前記位相情報を発生
するものである特許請求の範囲第2項記載の楽音
信号発生装置。 6 前記音域はオクターブ単位で設定されるもの
である特許請求の範囲第1項乃至第5項の何れか
に記載の楽音信号発生装置。 7 発生すべき楽音のオクターブ音域内における
相対的音名に対応してノートクロツクパルスを発
生するノートクロツク発生手段と、 発生すべき楽音が属するオクターブ音域に対応
して数値データを発生する数値データ発生手段
と、 前記ノートクロツクパルスの発生タイミングで
前記数値データの加算又は減算を行うことにより
アドレス信号を発生するアドレス信号発生手段
と、 前記アドレス信号の整数部に応じて楽音波形サ
ンプル点振幅信号を発生する波形発生手段と、 前記波形発生手段で発生された隣接する整数部
アドレスに対応する2つの楽音波形サンプル点振
幅信号を前記アドレス信号の小数部に応じて補間
する補間手段と を具えた楽音信号発生装置。 8 前記数値データは、所定の基準オクターブ音
域に対する発生すべき楽音のオクターブ音域のず
れに対応するものである特許請求の範囲第7項記
載の楽音信号発生装置。
[Scope of Claims] 1. Phase information generating means that generates phase information that changes in accordance with the pitch of a musical tone to be generated; Waveform generating means that generates a musical waveform sample point amplitude signal in accordance with this phase information. , interpolation information generating means for generating interpolation information that performs interpolation more densely as the range becomes lower, according to the range of the musical sound to be generated; and a musical waveform sample point amplitude signal generated by the waveform generating means. interpolation means for interpolating the amplitude between at least two sample points of the tone signal based on the interpolation information. 2. The musical sound signal generating device according to claim 1, wherein the interpolation information generating means generates the interpolation information when the range of the musical sound to be generated is lower than a predetermined reference range. 3. The musical tone signal generating device according to claim 1 or 2, wherein the interpolation information determines the number of interpolation steps depending on the tone range when performing interpolation between the sample points. 4. The musical tone signal generating device according to claim 3, wherein the number of interpolation steps increases as the tone range becomes lower. 5. The phase information generating means causes the waveform generating means to generate the amplitude signal of all sample points when the range of the musical tone to be generated is below the reference range, but when it is higher than the reference range, the amplitude signal is generated in that range. 3. The musical tone signal generating apparatus according to claim 2, wherein said phase information is generated so as to generate said amplitude signal while skipping one or more sample points accordingly. 6. The musical tone signal generating device according to any one of claims 1 to 5, wherein the tone range is set in units of octaves. 7 Note clock generation means for generating a note clock pulse corresponding to a relative note name within the octave range of the musical tone to be generated, and numerical data generation means for generating numerical data corresponding to the octave range to which the musical tone to be generated belongs. means for generating an address signal by adding or subtracting the numerical data at the generation timing of the note clock pulse; and generating a musical waveform sample point amplitude signal according to the integer part of the address signal. A musical tone comprising a waveform generating means for generating a waveform, and an interpolating means for interpolating two musical waveform sample point amplitude signals corresponding to adjacent integer part addresses generated by the waveform generating means according to a decimal part of the address signal. Signal generator. 8. The musical tone signal generating device according to claim 7, wherein the numerical data corresponds to a shift in the octave range of the musical tone to be generated with respect to a predetermined reference octave range.
JP60077979A 1985-04-12 1985-04-12 Musical sound signal generator Granted JPS61236595A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP60077979A JPS61236595A (en) 1985-04-12 1985-04-12 Musical sound signal generator
DE3650389T DE3650389T2 (en) 1985-04-12 1986-04-09 Sound signal generating device.
EP86104867A EP0199192B1 (en) 1985-04-12 1986-04-09 Tone signal generation device
US06/850,287 US4719833A (en) 1985-04-12 1986-04-10 Tone signal generation device with interpolation of sample points
HK188396A HK188396A (en) 1985-04-12 1996-10-10 Tone signal generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60077979A JPS61236595A (en) 1985-04-12 1985-04-12 Musical sound signal generator

Publications (2)

Publication Number Publication Date
JPS61236595A JPS61236595A (en) 1986-10-21
JPH0243197B2 true JPH0243197B2 (en) 1990-09-27

Family

ID=13649002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60077979A Granted JPS61236595A (en) 1985-04-12 1985-04-12 Musical sound signal generator

Country Status (1)

Country Link
JP (1) JPS61236595A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1180896B1 (en) * 2000-08-17 2006-03-15 Sony Deutschland GmbH Sound generating device and method for a mobile terminal of a wireless telecommuniation system

Also Published As

Publication number Publication date
JPS61236595A (en) 1986-10-21

Similar Documents

Publication Publication Date Title
US4719833A (en) Tone signal generation device with interpolation of sample points
US4815354A (en) Tone signal generating apparatus having a low-pass filter for interpolating waveforms
JPS60258594A (en) Musical tone generator
JPS6223319B2 (en)
US4148239A (en) Electronic musical instrument exhibiting randomness in tone elements
US4409876A (en) Electronic musical instrument forming tone waveforms
JPH0230033B2 (en)
US4890527A (en) Mixing type tone signal generation device employing two channels generating tones based upon different parameter
JPS6113757B2 (en)
US4256003A (en) Note frequency generator for an electronic musical instrument
JPH0369119B2 (en)
JPH0243197B2 (en)
US4632001A (en) Polyphonic electronic musical instrument performing D/A conversion of tone waveshape data
JP2915452B2 (en) Tone generator
JPS5895790A (en) Musical sound generator
JP3435702B2 (en) Music generator
US4446769A (en) Combination tone generator for a musical instrument
JPH0370237B2 (en)
JP2897680B2 (en) Music signal generator
JPH033236B2 (en)
JP3257520B2 (en) Music signal generator
JPH033237B2 (en)
JPS59102289A (en) Envelope controlling circuit
JPS59131994A (en) Frequency controller for electronic musical instrument
JPS6323560B2 (en)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term