JPH0522920B2 - - Google Patents

Info

Publication number
JPH0522920B2
JPH0522920B2 JP57083450A JP8345082A JPH0522920B2 JP H0522920 B2 JPH0522920 B2 JP H0522920B2 JP 57083450 A JP57083450 A JP 57083450A JP 8345082 A JP8345082 A JP 8345082A JP H0522920 B2 JPH0522920 B2 JP H0522920B2
Authority
JP
Japan
Prior art keywords
cent
frequency
address
harmonic
information
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
JP57083450A
Other languages
English (en)
Other versions
JPS58199394A (ja
Inventor
Kinji Kawamoto
Kazuhiro Murase
Tetsuhiko Kaneaki
Masataka Nikaido
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP57083450A priority Critical patent/JPS58199394A/ja
Publication of JPS58199394A publication Critical patent/JPS58199394A/ja
Publication of JPH0522920B2 publication Critical patent/JPH0522920B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
本発明は、電子楽器に適した、周波数を表現す
るためのデータを発生する周波数制御装置に関
し、特にデイジタル方式で周波数を制御するよう
にしたものである。 従来、デイジタル方式を用いた楽音発生装置に
は種々の提案がなされている。これらの中で、正
弦波や楽音の一波形のデイジタルデータをメモリ
に記憶しておき、これを順次繰返して読み出して
連続的な楽音波形とし、これに、エンベロープ信
号に相当するエンベロープデータを掛け算して、
その振幅値を変化させることにより、音の立上り
から立下りまでの楽音信号を形成するようにした
ものがある。発生する波形の周波数を変更するに
は、デイジタルデータの各サンプルを順次連続的
に読み出さずに、所定のサンプル数だけ飛び越し
て読み出せばよい。飛越数をJとすると、Jに正
比例して周波数を設定できる。このような信号の
発生方法の手順については1969年にTHE M.I.T.
PRESSより出版された書物「The Technology
of Computer Music」の第134頁〜138頁に記述
されている。また、雑誌IEEETrans.on Audio
and Electroacous−tics,19巻、No.1,48−58,
1971の文献A Digital Frequency Synthesizer」
には、具体的な構成が示されている。これらの公
知例にもとづいてさらに具体的かつ実際的な方式
として、特願昭56−165189号がある。 これらの楽音合成方式に対しては、飛越数Jを
発生して供給する必要がある。本発明は、この飛
越数Jを発生し供給する方法に関するもので、と
くに種々の周波数を効率的に発生させるように工
夫したものである。 つぎに本発明の方式と従来例との関連について
述べる。 従来、ミユージツクシンセサイザでは、鍵盤の
各鍵に対応する鍵電圧VKを発生させ、これに周
波数を設定する電圧VF、ビブラート電圧VVを重
畳し、2V1=(VK+VF+VV)を得、指数変換器を
通してVO=K1exp(VK+VF+VVを得、電圧VOによ
つて、電圧制御発振器(VCO)の発振周波数f
を決定する。電圧VFがoVのときには、鍵電圧VK
によつて決まる周波数、すなわち、楽音の音階に
対応する(C3であれば261.625Hz)周波数が発生
する。通常鍵電圧VKは、オクターブ当り1Vが標
準とされている。電圧VFとして1Vを加えると、
1オクターブ上昇して513.25Hzが発生する。これ
は、C4に当ると同時に、C3の第2高調波にも当
る。電圧VFとして1V以外の電圧を与えると、第
3、第4など任意の高調波成分が得られる。ビブ
ラート電圧VVは、上記各周波数を中心に上下に
周波数変調させるものであるが、ここで重要なこ
とは、VKやVFが種々の値をとつても周波数の変
動の割合い、すなわち、ピツチの変動は、VV
一定なら、一定に保たれる点である。このような
方式をデイジタル演算におきかえたものとして特
開昭54−81824号が知られている。しかしながら、
このような従来のものは、アナログ回路で作るた
めに不安定であつたり、デイジタル演算の演算器
が、高精度かつ多数必要とするなどの欠点があつ
た。 本発明は、これらの点を解決し、現実に構成し
やすくした周波数制御装置を提供するものであ
る。 第1図は、本発明の周波数制御装置を採用した
電子楽器のブロツク図である。1は鍵盤部、2は
音色タブレツトスイツチやビブラート効果のオン
オフスイツチ、ビブラート効果の深さを設定する
ボリユームなどにより構成される操作部、3は中
央処理装置(CPU)で、コンピユータなどに用
いられているものと同様のもの、4は読み書き可
能な記憶装置(ランダムアクセスメモリ、通常
RAMと呼ぶ)、5はCPU3の動作を決定するプロ
グラムが格納された読み出し専用記憶装置(リー
ドオンリーメモリ、通常RMと呼ぶ)、6は、
音色の合成するためのパラメータのうちエンベロ
ープパラメータを記憶しているROM、7は音色
の合成を行なうためのパラメータのうち周波数に
関するデータを記憶しているROMである。8は
本発明の周波数制御装置、9は先に引用した正弦
波発生器、10はエンベロープデータ発生器、1
1は、正弦波とエンベロープデータを掛け合わせ
る掛算器、12は時分割多重化されている掛算結
果のうち、所定のものを加え合わせたり、時分割
多重の順序と入れかえるタイムスロツト制御装
置、13は時分割多重化された位相変調器、14
はデイジタルアナログ変換器、15,16は電気
音響変換器である。 鍵盤部1、操作部2、CPU3、RAM4、
ROM5、ROM6、ROM7、周波数制御装置
8、エンベロープデータ発生器10は、データバ
ス、アドレスバスおよびコントロール線で結合さ
れている。このようにデータバスとアドレスバス
とコントロール線とで結合する方法そのものは、
ミニコンピユータやマイクロコンピユータを中心
とした構成方法として公知のものである。データ
バスとしては8〜16本位用いられ、このバス線上
をデータが一方向でなく多方向に時分割的に送受
信される。アドレスバスも複数本たとえば16本用
意され、通常はCPU3がアドレスコードを出力
し、他の部分がアドレスコードを受け取る。コン
トロール線は、通常、メモリ・リクエスト線
()、I/リクエスト線()、リー
ド線()、ライト線()などが用いられ
る。 は、メモリを読み書きすることを示し、
IORQは入出力装置(I/)の内容を取り出し
することを示し、はメモリやI/からデー
タを読み出すタイミングを示し、はメモリや
I/にデータを書き込むタイミングを示す。こ
のようなコントロール線を用いたものとしては、
ザイログ社のマイクロプロセツサZ80があげら
れる。 つぎに第1図の電子楽器の動作について述べ
る。鍵盤部1は、複数の鍵スイツチを複数の群に
分けて、群内の鍵スイツチのN−FF状態を
一括してデータバスに送ることができるように構
成される。たとえば、5オクターブの鍵盤の場合
60鍵を6鍵(半オクターブ)ずつの10群と1鍵の
11群に分け、各群にアドレスコードを1つずつ割
りつける。アドレスラインに、上記各群のうちの
1つを示すアドレスコードが到来し、と
RDが印加されると、鍵盤部1はそのアドレスコ
ードを解読して、対応する群内のキースイツチの
ON−FFを示す6ビツトまたは1ビツトのデ
ータをデータバスに出力する。これらは、デコー
ダ、バスドライバおよび若干のゲート回路を用い
て構成することができる。操作部2のうち、タブ
レツトスイツチについては、鍵盤部1と同様の構
成をとることができる。ボリユームの設定状態に
ついては、ボリユームの出力する電圧をアナログ
デイジタル変換器によりデイジタルコードに変換
し、これを、アドレスコードとコントロール線
IORQとにより読み出すようにする。 CPU3はその内部にあるプログラムカウンタの
コードに対応するRM5のアドレスから命令コ
ードを読み取り、これを解読して、算術演算、論
理演算、データの読み込みと書き込み、プログラ
ムカウンタの内容の変更による命令のジヤンプな
どの作業を行なう。これらの作業の手順はRM
5に書き込まれている。まずCPU3はROM5よ
り鍵盤部1のデータを取り込むための命令を読み
取り鍵盤部1の各鍵のN−FFを示すコード
を各群ごとに取り込んで行く。そして、押鍵され
ている鍵コードを、楽音発生部の有限のチヤンネ
ルに割り当ててゆく。 つぎにCPU3は、操作部2よりデータを取り
込むための一群の命令を順次RM5から読み取
り、これらを解読して、操作部2に対応するアド
レスコードとコントロール信号とを出
力し、データバスに操作部2のスイツチやボリユ
ームの状態を表現するコードを出力させ、CPU
3内に読み込む。そして、どの音色の楽音信号を
合成すべきかをCPU3は知る。 以上で、楽音発生部のどのチヤンネルにどの周
波数をもつたどの音色を発生させるべきかが明確
になつたので、CPU3は、各音色の周波数に関
するデータを記憶しているROM7より、所望の
音色の周波数パラメータを格納してあるアドレス
コードとコントロール信号MREQとRDとを出力
してデータバスに所望の周波数パラメータを読み
出してCPU3内に取り込み周波数制御装置8に
書き込む。書き込むためには、周波数制御装置8
の内部に設けられたデータレジスタに対応するア
ドレスコードをCPU3が出力し、同時にと
WRとを出力すると、信号の立上り時にデー
タバス上に出力されている周波数パラメータを表
わすデータが上記データレジスタに書き込まれ
る。 つぎに、出力すべき音色の内容を表わす音色パ
ラメータをRM6より読み出し、エンベロープ
発生器10の内部のレジスタに書き込む。つぎに
周波数制御装置8とエンベロープ発生器10の両
方に、発音出力指令を与えると、周波数制御装置
8は、飛越数Jを正弦波発生器9に与え、エンベ
ロープ発生器10はエンベロープデータを発生す
る。正弦波発生器9の出力する正弦波データとエ
ンベロープデータは掛算されて、エンベロープが
正弦波に付与される。正弦波データとエンベロー
プデータとはそれぞれ時分割多重化されて発生す
る。時分割多重は、例えば、160多重とし、1チ
ヤンネル当り20の正弦波を割り当て、8チヤンネ
ル設けることにする。通常は、20本の正弦波の合
成により、ひとつの楽音を合成することになる。
したがつて、フーリエ級数の式で知られるとお
り、20の正弦波データを加算することになる。こ
のためのタイムスロツト間のデータ加算を、タイ
ムスロツト変換器12で実施する。タイムスロツ
ト変換器は、160のタイムスロツトで時分割多
重されて入力される、エンベロープデータで変調
された正弦波データ列のうち、所定のデータを加
算しタイムスロツトの数を減らしたり、あるい
は、特願昭57−202790号の時分割多重変換装置の
ようにタイムスロツトの変換を行なうものであ
る。時分割多実位相変調器13は、特願昭56−
182083号「デイジタル楽音変調装置」のように、
時分割多重で複数種の変調を同時に実施するもの
である。時分割多重位相変調装置13の出力はア
ナログデイジタル変換器14によりアナログ信号
に直されて、電気音響変換器15,16より出力
される。 第1図では図示を省いたが、タイムスロツト変
換器12や時分割多重位相変調装置13に対して
も、アドレスバス、データバス、コントロール線
を介してCPU3と結合して、操作部2によつて
行なわれる音色や変調効果の設定に対応して、タ
イムスロツトの変換や変調条件を変えて設定する
ようにすることができる。 本発明の周波数制御は、まず、各鍵のノートオ
クターブ、各高調波の周波数などを、セント尺度
上に配置して処理する。出力すべき楽音の基本波
のノートやオクターブの位置、基本波を基準とし
た高調波の位置、非高調波の相対的なずれなどを
セント単位で表現し、セント尺度上でのセントア
ドレスの加減算を行なつて、実際の周波数成分の
セント値に対するセントアドレスを求め、これを
指数変換する。システムをデイジタル化し、か
つ、多数のスペクトルに対する飛越数Jを求める
れために、セント尺度上で1オクターブを量子化
して扱い、かつ、時分割多重で演算処理を行なう
ように考慮している。また、演算されたJが、正
弦波発生器9に適切に転送されるようタイミング
を考えている。 本発明は、第1図の如き電子楽器の一部分とし
て、CPU3より供給される周波数パラメータを
受け入れて、正弦波発生器9に対し飛越数Jを供
給する機能を実現する、周波数制御装置8に関す
るものである。その1実施例を第2図に示す。 第2図の周波数制御装置は、データバスDB,
アドレスバスADR、コントロール線と
とチツプセレクト線CSとにより、CPU3と結合
して、周波数パラメータを受け取り、マイコンイ
ンタフエース回路(MIF)25でアドレスバス
ADRのコードを解読して、内部のレジスタ群に
書き込み、内部に設けた飛越数Jを計算する機構
を介して、必要な複数個のJiを計算させ、バツフ
アメモリ29、オクターブシフタ30を介して、
正弦波発生器9に供給する。 まず、構成要素について説明する。21は、タ
イミングパルスを供給するプログラムカウンタ、
(PC)22はタイミングパルスから論理をとつて
必要なアドレスコードをつくつたり、コントロー
ル用のフラグ(FLG)信号を受けとつて制御信
号をつくり出すタイミングパルス発生器
(TPG)、23は、タイミングパルスや制御信号
により読み出され、後述する算術演算や論現演算
の内容と手順とを記憶しているシーケンサ
(SEQ)でRMから成るもの、24はシーケン
サの内容を解読して、アドレスコード、出力指令
信号(OC1〜12)、書込指令信号(0〜
3)、演算指令信号(Pコード)などを出力す
る命令解読器である。25はマイコンインターフ
エース回路(MIF)で先に説明したものである。
26は演算装置(ALU)で、加算、減算、比較
を、2つの入力であるAバスとBバスの間で行な
い、Cバスに演算結果を出力し、演算結果のうち
の符号、上位ビツトなどをFLGとして出力する。
FLGはTPG22に供給される。 27はワーキングレジスタ(WREG)で
WREG1とWREG2の2ワードのメモリで構成
され、Cバスより入力を受け入れ、Bバスに出力
を供給する。AD2が2ワードのどちらかを選択
し1の立上りで書き込み、C8が“H”の
とき出力を供給する。28は16ワード×15ビツト
より成るRAMで、Cバスより入力を受け取りD
バスに出力を供給する。160ワードは20ワードず
つ8チヤンネルに分けられており、20ワード内の
任意の1ワードを5ビツトのアドレスコードAD
1で指定し、8チヤンネルのうちの任意の1チヤ
ンネルを3ビツトのアドレスコードAD4で選択
し、2の立上り時にCバス上のデータを書き
込み出力はDバスに出たままである。ただし、出
力の上位5ビツトはバツフアメモリ29に供給さ
れる。バツフアメモリ29は160ワード×17ビツ
トのRAMで、CバスのデータとRAM28の上
位5ビツトを入力として受け入れる。160ワード
は20ワードずつ8チヤンネルに分けられており、
20ワード内の1ワードをアドレスコードAD3で
選択し、8チヤンネルのうちの1つをアドレスコ
ードAD4で選択し、3の立上りで入力デー
タを書き込み、OC9が“H”のとき出力する。
バツフアメモリ29の出力はオクターブシフタ3
0に供給される。バツフアメモリ29の上位5ビ
ツトのコードにより、それより下位のデータが、
所定のビツト数だけビツトシフトされて出力され
る。 この出力は、正弦波発生器9の内部に設けられ
飛越数を格納するレジスタのうち所定のアドレス
に対応するものに転送される。 33はノートオクターブレジスタ(ND
(n))で最新のノートオクターブデータを、
CPU3よりデータバスDBを介して受け入れ、必
要な時に、Aバスに出力する。書き込みを
2で、読出しをOC2で行なう。34はノートオ
クターブレジスタ(ND(n−1))で、前回の
ノートオクターブデータを、CPU3よりデータ
バスDBを介して受け入れ、必要な時にBバスに
出力する。また、Bバスから途中の処理データを
受け取り記憶する。DBよりのデータの書き込み
を3で、Bバスよりの書き込みをWROで
行ない、Bバスへの出力をC3で行なう。35
はハーモニツクデータメモリ(HMD)で、64ワ
ード×13ビツトのRMにより構成されている。
64ワードのうちのどれを選択するかは、パーシヤ
ル番号メモリ36が出力する6ビツトのコードに
より決定される。パーシヤル番号メモリ36は、
20ワード×6ビツトのRAMで、データバスDB
から入力を受け入れる。20ワードのうちの1ワー
ドをアドレスコードAD1で選択し、4の
立上りで書き込む。出力は常にハーモニツクデー
タメモリ35に供給される。ハーモニツクデータ
メモリの出力はC4が“H”のときAバスに出
力される。37は非高調波メモリ(INH)で、
20ワード×6ビツトのRAMにより構成される。
20ワードのうちの1ワードがアドレスコードAD
1で選択され、5の立上りでデータバス
DB上のデータが書き込まれ、C5が“H”の
ときAバスに出力される。38は、指数変換テー
ブル(EXP)で。RMにより構成される。D
バスを入力とし、C6が“H”のときその内容
をAバスに出力する。39は差分指数変換テーブ
ル(DEXP)で、RMにより構成され、Dバス
を入力とし、C6が“H”のとき、記憶内容を
Bバスに出力する。これら2つのテーブルの内容
については後述する。40はゲートであつてDバ
スを入力としC7が“H”のときBバスに出力
する。 32は、ポルタメントレジスタ(PRT)であ
つて、ポルタメントスピードを表わすコードをデ
ータバスより受け入れ、1の立上りで記憶
する。31は、ポルタメントデータ変換器であつ
て、周波数の増減データをポルタメントレジスタ
32の内容をもとにつくり出し、C1が“H”
のときにAバスに出力する。通常ポルタメントレ
ジスタ32の内容と同じものを出力する。42は
ビブラートデータ発生器で、ビブラート波形を表
わすコードを発生すると共に、C10が“H”
のときVIB(n)をBバスに、C11が“H”
のときVIB(n)をAバスに、C12が“H”
のときVIB(n−1)をBバスに出力する。VIB
(n)は、現在のビブラートデータを表わし、
VIB(n−1)は前回のビブラートデータを表わ
す。41はステータスフリツプフロツプ(SFF)
で、データバスDBのデータを6の立上り
で記憶し、その内容を、TPG22に供給する。 TPG22は、周波数制御装置が新たなデータ
を外部のCPU3に要求するとき割込信号INTと、
割込内容を示す割込ベクトルコードをデータバス
DB上に出力する。出力指令信号C1〜12が
“L”のときは、それらに対応しているメモリや
レジスタの出力は、高インピーダンスになつてA
バスやBバスに何ら影響を及ぼさないようにして
いる。 <データ構造> つぎに、本発明で行なう周波数制御の指数変換
の機構と変換前と変換後のデータ構造について述
べる。 1オクターブは周波数比で1:2の関係であ
る。周波数Fに正比例する数値として、飛越数J
をつぎのように定義する。音源の1波形を記憶し
ているメモリが218ワード(サンプル)より成り
立つているとする。サンプルの読出周波数をcK
Hzとすると、1サンプルずつ全サンプルを読み出
す場合出力波形の周波数はc/218Hzとなる。こ
れは飛越数J=1に当る。飛越数Jに対して一般
的に周波数Fは F=c/218×J (1) と表わせる。 本発明では、1オクターブをセント尺度上で量
子化し、演算されたセント尺度で表わされた周波
数値を指数変換により、周波数に正比例する飛越
数に変換している。 指数変換の方法についてつぎに述べる。 1オクターブをセント(cent)で表わすと、1200
セントになる。2つの周波数FAとFBの比はセン
ト尺度CEではつぎのようになる。 CE(cent)=1200log2(FA/FB) (2) 周波数FA,FBの飛越数をJA,JBとすると JBを平均律12半音階のCに対応するものとし、
かつその値を2048とし、JAをJと表わすと となる。これを、CE=0〜1200(セント)の範囲
について書くと第3図Aのようになる。5式は曲
線であるがこれをつぎのように折線で近似する。 CE(0〜1200)を、12に等分すると、100セン
ト間隔になる。これは、12平均律の半音階に対応
する。100セント内をさらに8等分し、12.5セン
ト間隔とする。このようにすると、12×8=96の
点になる。これらの96の点 CEi=12.5×i(i=0〜L−1,L=96) に対するJをJiとする。 iとi+1との間、12.5セントをさらに8等分
する。 CEij=12.5i+12.5/8j (7) i=0〜L−1,L=96 j=0〜M−1,M=8 (7)式のCEij(j=1〜7)に対しては、直線補
間した値を用いる。すなわち Jijは次式となる。 一般的には Jij=Jc〔2i/L+2i/L(21/L−1)j/M(9) Jc:基準点での飛越数 L:1オクターブの分割数 M:直線補間区間内の分割数 i=0,1,2,……,L−1 j=0,1,2,……,M−1 と表わすことができる。 先に述べたように、L=96,M=8とすると
1200セント区間は、1.5625セント間隔で768点に
量子化される。誤差は±0.78125セント以下とな
る。この768点に対してアドレスを割りつける。
これをセントアドレスとする。つぎに、(8)式の
Jijを計算する方法について説明する。 第3図によれば、Jは、1オクターブに対し
て、2進12ビツトで表わされる。2048〜4096で表
わされている。CE=0〜100(セント)の範囲を
詳しく示したものが第3図Bである。100セント
内が12.5セントで等分されている。 (8)式は と表わせる。iを2進化96進数で表わす。 96=4×3×8 であるから、上位2進2桁、中位を2進化3進
数、下位を2進3桁で表わすことができる。中位
は2ビツトであればよいから、合計7ビツトにな
る。jは2進3桁で表わされ、iの下位となる。
すなわち、1200セント内の96×8=768点は第4
図AのN3〜N0,S5〜S0の10ビツトのコードで表
わすことができる。このコードをセントアドレス
と呼ぶ。このうちN1とN0とが、2進化3進表示
となる。このような(i,j)の値に対して、
Jipの値96通りを、第2図のEXP38に用意す
る。アドレス96通り、それぞれ12ビツトとすると
96×12=1152ビツトのROMとなる。このJip
(10)式の第1項に相当する。 つぎに、差分として、(10)式の第2項の一部であ
を第2図のDEXP39に用意する。DJijの最大
値は、i=95,j=7のときで、DJ957=25.784
になるから、DJijは5ビツトの2進数で表わせ
る。また、(i,j)は、96×8=768通りであ
る。したがつて、セントアドレス768通り、768×
5=3840ビツトのRMになる。 EXP38のROMに対するセントアドレス入力
は、第4図Aの{N3〜N0,S5〜S3}の7ビツ
ト、DEXP39のROMに対するアドレスすなわ
ちセントアドレスは、第4図Aの{N3〜N0,S5
〜S0}の10ビツトのコードにすればよい。EXP
38とDEXP39の出力を加算すれば、(10)式
のJijが2進数12桁の表示で得られる。 第4図Aは、セント尺度上に量子化されたピツ
チを表示する2進数すなわち拡張されたセントア
ドレスを表わしている。O4,O3,O2,O1,O0
は、オクターブを表わす。N3,N2,N1,N0
1オクターブ内の12平均律半音階の各音(ノー
ト)を表わす。このうち(N1,N0)は2進化3
進数の(0,0),(0,1),(1,0)を表わ
し、(1,1)は発生しない。したがつて、(N3
N2,N1,N0)は12進数となる。第5図に(N3
〜N0)と音階の対応を示す。S5,S4,S3,S2
S1,S0は6ビツトの2進数で、半音区間を64等分
した各ピツチを表現する。1オクターブは、1200
セントで、半音は100セントであるから、{S5
S0}は、1.5625セント間隔で100セントの区間を
表現する。 第4図Bは、ND(n)のデータフオーマツト
で、下位4ビツトがノートを、上位4ビツトがオ
クターブを示す。ND(n)は、指定されるオクタ
ーブとノートをもつ楽音の基本周波数1に対応す
る。 第4図Cは、高調波性をもつた楽音に含まれる
各高調波成分の周波数Kの基本周波数1に対する
比をセントで表わした、ハーモニツクデータ
HMDKである。 HMDK=1200log2K1) (12) (k=1,2,3,……,64) を2進数で表わしたものである。{H12〜H0}の
13ビツトを用いると、±0.78125セントの精度で、
28=256次高調波まで表現できる。{H7,H6}は
{N1,N0}と同様2進化3進数表示である。 第4図Dは、非高調波性を表わすインハーモニ
シテイデータINHKのフオーマツトである。INH
は、第4図CのHMDデータからの何セントかの
ずれで表わすことにしているので、半音内の区間
を表現する6ビツトデータ{I5〜I0}で良い。 第4図Eは、ビブラートやグライドなどの過渡
的または定常的な変動をセント尺度で表現するも
のである。変動の巾を±100セント以内とすると
{V6〜V0}の7ビツトのコードで表わすことがで
きる。このうち、V6は符号ビツトになる。 これらの第4図に示されたデータから、所望の
飛越数Jを求める手順について説明する。まず、
各記号はつぎの意味を持つものとする。 (1) N(n):時刻nにおけるノートオクターブデ
ータに対するセントアドレス (2) HMDK:k次の高調波数の基本周波数に対
するセント表示で2進表示したもの(差セント
アドレス) HMDK=1200log2K1),K= k1(k=1,2,3,……,64) (13) (3) IHMk:k次の高調波周波数からの周波数の
ずれをセント表示で、かつ2進表示したもの。
(差セントアドレス K=k1+dkとすると INHk=1200log2(k1+dk/k1) (14) を基本とするが、INHkが100セントを越える
ときには、取り扱い上、100セント以下の
INHkを求めるためにつぎのようになる。 INHk+p=1200log2k1+p1+(dk−p1)/k1+p
1(15) (p=0,1,2,3,……,かつdk−p1
≧0) すなわち、k次の高調波からdkだけずれたも
のであるが、これを(k+p)次高調波から
(dk−p1)だけ、ずれたものとみることを意味
する。 (4) VIB(n):時刻nにおけるビブラートやグライ
ドによる周波数の偏移を、セント表示し、かつ
2進表示したもの。(変調セントアドレス) 以上の変数から、k次高調波の周波数セント表
示すなわちセントアドレスを、記号LGJ(i,
j)で表わすと LGJij=ND(n)+VIB(n)+HMDK+INHk
……(16) となる。LGJijは、第4図Aのデータフオー
マツトを持つ。このうち{N3,N2,N1,N0
S5,S4,S3,}の7ビツトは、96進数で、(10)式に
おけるiを表わす。{S2,S1,S0}の3ビツトは
同じくjを表わす。これらのコードを前述の
EXP38とDEXP39の指数変換テーブルと差
分指数変換テーブルのアドレスデータとして与え
ると、(10)式にしたがつた指数変換ができる。これ
を次式で表わす。 J*,j=EXP〔LGJi0〕+DEXP〔LGJij
……(17) 第3図Aより、指数変換テーブルは1オクターブ
の範囲しか設けていない。Ji,*は、この範囲内
での値を示すものである。オクターブを越える範
囲にある場合は、第4図Aのオクターブデータ
{O4,O3,O2,O1,O0}にしたがつてJi,*をビ
ツトシフトすればよい。たとえば、 {O4〜O0}=(00011) のときは、3ビツト上位へシフトすればよい。何
ビツトシフトするかについては、正弦波発生器9
のビツト位置に合わせるようにすればよい。 以上で、データ構造とそれにもとづく飛越数J
の計算の手順が明らかになつた。 (16)式、(17)式、(18)式を一気に実行する構成も実現
できるが、本発明の実施例(第2図)では、順次
手順を追つて実行するようにしている。(16)式、
(17)式、(18)式を手順を追つて実行するには、種々の
手法が考えられる。先に述べた第2図の構成によ
る手順を、第1表に示す。
【表】
【表】 第1表において、命令群A,B,Cのうち、A
とBが、8チヤンネル、各チヤンネルで20本のス
ペクトルに対する飛越数Jを計算する手順を示し
ている。命令群Aは命令4〜7、命令群Bは命令
8〜11により成つている。各命令の内容は、命
令内容により示される。たとえば命令4は、N
D(n)とVIB(n)とを加算し、ワーキングレジスタ
WREG2に格納することを意味する。命令5は
ワーキングレジスタWREG2の内容と、ハーモ
ニツクデータHMDIとを読み出してそれらを加
えてWREG2に格納する。命令6は、WREG2
の内容と、インハーモニシテイデータINHIとを
加算し、レジスタLGJ(K,I)に格納する。
命令7は、レジスタLGJ(K,I)の内容をア
ドレスコードとして、指数変換テーブルEXP2
8と差分指数変換テーブルDEXP39に与えて、
それぞれの出力を加えて、バツフアメモリBUF
(K,I)29に格納する。ここで、Iは、後述
する処理タイムスロツト(PTS)を表わすと共
に、各チヤンネルにおけるスペクトルの番号をも
表わしている。I=1,2,……,20である。
Kはチヤンネルタイムスロツト(CHS)を表わ
している。K=1,2,……,8である。CHS
については後述する。 命令群Bも第1表より同様にその演算内容の意
味を読み取ることができる。命令8における△は
零としておく。命令群Aは、ノートオクターブデ
ータND(n)が変更されたときに実行され、それ
以降は、命令群Bが実行される。命令群Bでは、
ND(n),HMDI,INHIが変化しないので、こ
れらの計算をせず、前回の値LGJ(K,I)か
らVIB(n−1)を引いてVIB(n)の新しい値に対
しての計算を行ない指数変換を実行する。ノート
オクターブデータND(n)が更新されると一度命
令群Aにもどりそのあと再び命令群Bを実行す
る。 第1表において、ITSは命令タイムスロツト
で、ITS1〜4まであり、命令0,4,8はITS
1で実行されることを示している。また、それぞ
れの命令実行時において活性化される書き込み
線、書き込みパルス、出力コントロール線を示し
ている。 以上の命令を実行するには、チヤンネルタイム
スロツトCHS、処理タイムスロツトPTS、命令
タイムスロツトITSの所定の時刻に、第2図のプ
ログラムカウンタ21、タイミングパルスジエネ
レータ22、シーケンサ23、インストラクシヨ
ンデコーダ24が動作する必要がある。以下に、
タイミングについて説明する。 第6図は、第2図の実施例のタイミングを示す
図である。第6図Aは、正弦波波形のサンプル並
びを示すもので、ある1つの正弦波波形のサンプ
ル周期は20μsである。第6図Bは、20μsの中を拡
大したもので、この中に8×20=160個のタイム
スロツトがあり、160個のサンプルが存在する。
各サンプルは、125nsきざみで処理される。チヤ
ンネル1(CH1)には、20個のサンプルがあ
る。CH2〜8も同様である。一方、第6図C
は、Aに同期しながら、飛越数Jの計算を行なう
タイミングである。160μsを単位とするチヤンネ
ルタイムスロツトCHSが1〜8まで設けられて
いる。CHS1では、チヤンネル1のJ計算が行
なわれ、以下順に対応するチヤンネルのJ計算が
行なわれる。160×8=1280μs(1.28ms)周期で
各チヤンネルのJ計算が繰り返される。第6図D
は、各チヤンネルタイムスロツトCHSの内部を
表わしたもので、例として、CHS1を拡大して
いる。CHS1の中には、5μsを単位として、処理
タイムスロツトPTSが1〜32まである。
PTSI,I=1〜20では、チヤンネル1におけ
る、20個のスペクトル(正弦波形)に対応する周
波数を決める飛越数を計算する。そして、PTS
21の前半の2.5μsにおいて、計算された20個の
Jの値を第6図Fに示すように125nsきざみで、
正弦波発生器9(第1図)へ転送する。この転送
のタイミングは、CHS1〜8で異なる。たとえ
ば、CHS8ではPST24の後半で実行される。
第6図Eは、各処理タイムスロツトPTS1〜2
0の中味を拡大したものである。PTS1〜20
は、それぞれ、命令タイムスロツトITS1〜4の
4つの部分に分かれている。それぞれは1.25μsの
長さである。これらの命令タイムスロツトITSに
おいて前記第1表の命令が実行される。PTS1
〜20の間は、第2図の実施例において、ALU
26を中心とする演算が行なわれる。PTS21
〜32の間に、第2図におけるMIF25を中心
とするデータの新たな書き込みをデータバスDB
を介して行ない、かつ、VIB(n),VIB(n−1)
データの更新を行なう。 第6図の如きタイミングをつくり出す方法とい
しては種々のものがある。第7図と第8図は、そ
の一例を示している。第7図はタイミングカウン
タで、51は14段のカウンタでCKを入力とし、
P0〜P13を出力する。P0〜P2は2進化5進のカウ
ントを行ない、P3〜P13は2進の計数を行なう。
{P5,P4}は、命令タイムスロツトITS1〜4を
表わすコード、{P10〜P6}の5ビツトは処理タイ
ムスロツトPTS1〜32を表わすコード、{P13
P12,P11}は、チヤンネルタイムスロツトCH1
〜8を表わす3ビツトのコードに相当する。カウ
ンタ52は5段より成る20進カウンタで、{Q4
Q3,Q2,Q1,Q0}を出力する。カウンタ51と
52は、同期している。カウンタ51と52の出
力より第8図に示すタイミングパルスがTPG2
2の内部でつくられる。CKは、125ns(8MHz)の
周波数である。P1,P2345より、
WRC,IST1〜4,1〜4が得られる。
IST1〜4信号は、第2図の出力指令信号C1
〜12をつくり出すもとになる信号、1〜
WRC4は書き込み指令信号0〜3をつくり
出す元になる信号である。 第9図は、バツフアメモリ29に加えられるア
ドレスコードAD3とAD4、出力指令信号C
9、書込指令信号3を発生させる回路例であ
る。アドレスコードAD4は{P13,P12,P11},
AD3は、{P10〜P16}か{Q4〜Q0}をセレクタ
69で選択した一方である。3は、インバー
ト入力のアンドゲート70とインバート付オアゲ
ート71により作られた処理タイムスロツト
PTS1〜20におけるITS4に対応する4で
ある。アンドゲート60,61,62,63は、
{P10,P9,P8}={1,0,1}を検出する。こ
れは、PTS21〜24に相当する。このときは
セレクタ69はQ4〜Q0を選択する。EXRゲー
ト64,65,66は{P7,P6,P5}と{P13
P12,P11}の一致判定を行なう。アンドゲート6
7はPTS21〜24の中でCHS番号に一致した
PTSの半区間を選択し、出力が“H”のときに
OC9を出力する。したがつて、まとめると、
PTS1〜20の中のITS4において、AD4と
AD3はそれぞれKとIを指定し、ITS4におい
て3を出力し、第1表の命令7または11の
バツフアメモリ29(BUF(K,I))への書き
込みを行なう。PTS21〜24の間のCHS=K
に対応する2.5μsの間、C9は“H”となり、
BUF(K,I)のI=1〜20の内容が、アドレ
スコードAD4とAD3にしたがつて出力される。 第10図は、第2図におけるシーケンサ23が
記憶している命令コードのフオーマツトの一例を
示すものである。操作用のPコード2ビツト、
データの転送または格納先を表わすデステイネー
シヨンコード3ビツト、データを取り出してくる
レジスタを示すソース1コード3ビツト、ソース
2コード4ビツトより成る。それぞれのコードの
意味を、第10図B〜Eに示している。Pコー
ドは、ALU26の機能を指定する。第1表に示
した12通りの命令の演算は、第10図の命令コー
ドによつて書き表わされる。第10図EのZER
Oは、AバスにZERを出力させることを意味
する。 第9図に例示したと同様の考え方で第10図の
命令コードと第1表のCHS,PTS,ITS、書き
込み線、出力コントロール線などにもとづいて、
インストラクシヨンデコーダ24や必要な制御信
号やタイミングパルスを発生させる回路を設計す
ることができる。 第11図は、第1表の命令群AとBの実行切り
替えのタイミングを示すものである。上から、チ
ヤンネルタイムスロツト、演算実行、J転送、割
込パルス、データ転送、KNフラグが示されて
いる。演算AまたはBは、処理タイムスロツト
PTS1〜20(第6図)で、20回実行される。
20回目の最終時に割込パルスが、第2図の
TPG22より、第1図のCPU3に出力される。
このとき、同時に、割込ベクタとして、CHS8
を示すコード{P13,P12,P11}が、第2図のデ
ータバスDBに出力される。CPU3は、この割込
ベクタ{P13,P12,P11}を読み取り、つぎの
CHSが1であることを知り、チヤンネル1の出
すべき音高が変化している場合、データ転送を行
なう。データ転送は、CPU3のデータバスから
第2図のデータバスDBへ行なわれる。そして、
ND(n)33,PN36,INH37およびステ
ータスFF41に所定のデータを書き込む。そし
て、とくに、ステータスFFの中に含まれるK
Nフラグフリツプフロツプ(FF)をセツトする。
KNフラグは、CHS1に対応する音の高さが
変更されたことを示す。KNフラグが“1”の
ときは、命令群Aが読み出されてCHS1の間に
実行される。実行が終ると再び、割込パルスが発
生し、CHS1を示す割込ベクタが出力される。
同時にKNフラグFFはリセツトされる。割込
パルスと割込ベクタ{P13,P12,P11}に対
応してCPU3は、つぎのCHS2で前回の音高の
ままか、どうかを判断し、同じ音高を出すべきと
きはデータ転送が行なわれない。したがつてK
Nフラグは“0”のままである。このときは、命
令群Bが20回実行される。 命令群Aは、新たなND(n)データをもとに、
Jを算出するプログラムで、命令群Bは、前回の
Jに対してビブラートデータの変化のみを修正す
る命令群である。命令群AとBの読み出しと切り
替えは、第7図のカウンタ51の処理タイムスロ
ツトコード{P10〜P6}がPTS1〜20を示す時
間内で、命令タイムスロツトITS1〜4に対応し
て命令群AとBを読み出し、KNフラグで一方
を選して出力するようにすれば行なえる。 CPU3から本発明の周波数制御装置へ転送す
べきデータ量は、第2図の実施例においては、N
OD(n)1ワード、PNが20ワード、INHが20ワ
ード、ステータスFF用1ワード、PRT用1ワー
ドで計43ワードで良い。 上記説明では、ビブラートデータ発生器42を
8チヤンネルに対して共通の1個とした。グライ
ド効果の場合には、グライドデータGL(n,K)
とGL(n−1,K),(K=1,2,……,8)を
各チヤンネルに対して独立に備えて、各CHS1
〜8に対応して、それぞれのデータを出力させる
ようにすれば、チヤンネルごとに独立のグライド
がかけられる。 上記説明では、バツフアメモリ29として、
160ワード用意したが、一度の転送は20ワード単
位で行なわれるから、20ワード用意するようにし
てもよい。 第2図のパーシヤル番号メモリ36とハーモニ
ツクデータメモリ35については、前者が1ワー
ド当り13ビツト、後者が1ワード当り6ビツトで
良い。最大高調波次数を64としたが、これを増加
させるときには、パーシヤル番号メモリのワード
数64を増加させ、かつ、ハーモニツクデータの1
ワードを6ビツトからさらに増やせばよい。ハー
モニツクデータを直接CPU3から転送するよう
にしてもよいが、第2図の実施例の方が転送デー
タ量が少なくてすむ。また、本発明の実施例で
は、多数の高調波次数のうち一部を省略して、歯
抜け状の周波数制御値である飛越数Jを発生させ
ることができる。また、パーシヤル番号メモリ3
6の20ワードのRAMには、別のパーシヤル番号
を与えるように説明したが、任意の複数ワードに
同じパーシヤル番号を格納し、非高調波メモリ3
7に、少し異なつたINHデータを書き込むと、
非常に近い周波数の2つ以上の周波数成分の発生
が可能になる。すなわちコーラス効果が得られ
る。 鍵盤楽器のうちでもピアノでは、鍵盤の音域に
対して低域ではピツチが下がり気味、高域ではピ
ツチが上がり気味であつて、1オクターブが正確
に1:2の周波数比になつていない。この現象を
ピツチエクステンドと呼ぶことができる。このた
めには、このずれを発生させるためのRMを設
け、このRMを、ND(n)のデータによりアク
セスして、ノートオクターブに対応するずれの量
を出力させ、この量を差分アドレスとしてALU
26で加えるようにしてもよい。また、非高調波
メモリ37に書き込むデータに、上記ずれを含ま
せることもできる。 なお、非高調波性をもたない楽音を発生させる
には、INHデータとしてゼロ値を書き込めばよ
いことは言うまでもない。 上記説明では、データフオーマツトとして一部
に2進化3進表示するようにした。この代りに2
進化12進化、2進化6進などの表示も可能であ
る。また、完全な2進表示でデータを表示しかつ
演算し、最後にこれを、ノートデータの部分を含
むより高位の桁について、2進化3進変換するこ
とにより、オクターブデータを得るようにしても
よい。このためには2−3進変換ROMを設けれ
ばよい。 上記第2図の実施例では、ND(n)用のレジス
タを1個のみとした。これらのレジスタやRAM
の数を8チヤンネル分設ければ、演算手順は、A
群だけで良くなる。このように、構成と演算手順
とには関連があり、本実施例に限らず種々のもの
があるが、これらの説明については省略する。 上記説明では、正弦波合成のための飛越数Jを
計算する手順と構成として述べたが、正弦波以外
の波形を読み出す方式の波形発生器のための、周
波数制御にも使うことができる。たとえば、20本
の高調波成分でなく、1つの波形に対してJを1
つだけ発生させる場合にも上記と同様の考え方
で、最適構成ができる。 <ポルタメント効果> 第2図の実施例において、ポルタメント効果に
対応して、飛越数Jを徐々に変化させることもで
きるようにしている。第2図の実施例では、1チ
ヤンネルすなわちCHS1についてのみポルタメ
ントがかかるようにしたものを示している。 まず先述のとおり、ポルタメントモードでは、
今回のノートオクターブデータがND(n)33
に、前回のノートオクターブデータがND(n
−1)34に格納される。と同時に、ポルタメン
トスピードと押鍵間隔ND(n)−ND(n−1)
に対応する増分を表わすデータがPRT32に格
納される。このデータはそのままあるいは若干の
変換を受けてポルタメント変換器において格納さ
れる。 第1表の命令群Cは、ポルタメントの増減判別
を行なう。命令0は、前回のND(n−1)に
増分△を加える。命令1は、その結果が、目標値
であるND(n)に到達したか、丁度一致したか、
越えたかを、比較判断する。CPはcompareの意
味である。この比較の結果、ALU26は、その
内部のフラグFLGを設定する。ALU26のフラ
グFLGとしては、ゼロフラグZと符号フラグS
を設ける。これらのフラグは、通常の加減算器に
付属して設けられ、ゼロフラグZは演算結果が全
ビツト共“0”のときに“1”となり、それ以外
では“0”になるフリツプフロツプ、符号フラグ
Sは、演算結果の最上位ビツトが“1”のときに
“1”となり、それ以外では“0”になるフリツ
プフロツプで構成される。命令1の比較結果と、
増分△の符号を表わす△Sとにより、命令2と3
の一方が実行される。命令2は、現状のノートオ
クターブデータND(n−1)に△を加算した
ものを、新たなノートオクターブデータND
(n−1)として格納する。命令3は、最終目標
であるND(n)を、新たなND(n−1)とし
て格納する。以上の命令群Cによつて、ポルタメ
ント効果において、増分△を加算することにより
ピツチが目標のノートオクターブデータND(n)
に達していないか、丁度か、あるいは目標値を越
えてしまうかを判断し、その結果にもとづいて、
基本波や高調波のセント尺度上の周波数を増分△
だけ増やす命令群Bを実行するか、あるいは、目
標値ND(n)にもとづく到達点での演算を行なう
命令群Aを実行するかを選択させる。 第12図は、3つのフラグ△S,Z,Sの組み
合わせ状態により、命令0〜11のうち実行され
るものがどれになるかを示したものである。命令
0と1は毎回実行される。命令1における演算結
果であるフラグZ,Sと△Sとにより、命令3と
命令群A(命令4〜7)とが実行される場合と、
命令2と命令群B(命令8〜11)とが実行され
る場合とに分類される。前者は、増分△の累算に
より目標値ND(n)に丁度達するか、越えてしま
う場合である。後者は、増分△を累算しても、ま
だ目標値ND(n)に達しない場合である。 第13図はポルタメントモードにおけるタイミ
ングチヤートである。演算が実施される処理タイ
ムスロツトPTSは、命令群CはPTS32におい
て、命令群AとBはPTS1〜20において実行
される。PTS20の終りまたはPTS21の初め
に割込パルスが発生し第1図のCPU3に対して、
新たなデータを要求する。このとき、CHSコー
ド{P13,P12,P11}が割込ベクターとしてデー
タバスDBに出力され、CPU3は、いま、どの
CHSにあるがまた、つぎのCHSが何かを知るこ
とができる。もしも鍵が押しかえられていて、新
たなノートオクターブに移るべき状態になつてい
れば、CPU3は、新たなND(n)、前回のN
D(n−1),PN,INHの一群のデータとステ
ータスフラブデータをデータ転送する。ステータ
スデータの中にはKNフラグが含まれており、
KNフラグFFを“1”にする。ポルタメント
モードでは、このKNフラグにかかわらず、演
算処理をすればよい。まず、CHS1の直前の
CHS8のPTS32で命令群Cの命令0〜3を実
行する。ただし命令2と3の一方は第12図のフ
ラグ△S,Z,Sにより、その一方の実行は無視
される。このあと、上記フラグの状況に従つて命
令群AまたはBがCHS1のPTS1〜20におい
て実行される。 命令群Cの読み出しは、PTSが32すなわち
処理タイムスロツトコード{P10〜P6}が
{111111}になるタイミングにおいて、命令0〜
3を示すアドレスコードを順次シーケンサ23内
の命令RMに加えて命令0〜3を読み出すよう
にすればよい。命令2と3の一方を無視するに
は、読み出された命令出力をフラグ△S,Z,S
のコードにしたがつてゲートするようにすればよ
い。 命令群AとBの選択については、処理タイムス
ロツトコード{P10〜P6}が0〜19を示すタイ
ミングにおいて命令群AとBを読み出す下位アド
レスコード2ビツトを{P5,P4}により発生さ
せ、命令群AとBとを区別するアドレスコードの
上位2ビツトをフラグ△S,Z,Sの組み合わせ
により指定して、4ビツトのアドレスを加えるこ
とにより命令RM内の命令4〜7と8〜11と
を選択的に読み出すようにすればよい。 第14図は、第4図において示したデータ構造
をもつデータの演算を行なうALU26のうち加
算器の例である。N1とN0は2進化3進数である
ため、下位S5からの桁上げCSとAバス上のN1
N0およびBバス上のN1,N0を入力として、出力
であるCバス上のN1,N0と上位への桁上げCN
第14図Aの真理値表のように決まる。Bはハー
ドウエアの例である。80はAバスとBバス上の
S5〜S0の6ビツトを入力とする2進加算器、82
はAバスとBバス上のO5〜O0,N3,N2を入力と
する2進加算器、81は真理値表のパターンをも
つ読み出し専用メモリ(ROM)である。CSは2
進加算器80のキヤリー、CNはROM81から出
力されるキヤリーである。同様の考え方で、減算
器や比較器も構成できる。 第2図におけるビブラートデータ発生器42
は、デイジタル方式の正弦波発生器のようなもの
でよい。たとえば、ビブラート信号の波形を記憶
したROMから、前記VIB(n),VIB(n−1)を更
新するタイミングにおいて、RMを読み出し、
レジスタにそれぞれ書き込むようにしたものでよ
い。 オクターブシフタ30は、バツフアメモリ29
の出力を1ビツト〜必要ビツトまでシフトした複
数組のコードを、それぞれに対応するゲートに加
えてこれらのゲートのうちの1組を、{O4,O3
O2,O1,O0}のコードで選択するようにすれば
よい。オクターブコードは、本実施例では5ビツ
トあるから、25=32種のオクターブが取り得るけ
れども、人の聴き得る周波数レンジは、20KHz〜
20Hzとして、103倍10オクターブであるから、
ビツトシフトの可能性としては、10通り位と考え
てよい。このときは、MSBのO4を省いてもよ
い。 第4図において、データは、O4〜S0までの15
ビツトを扱いうるように考えた。第4図B〜Eの
ようにデータ長が15ビツト以下の場合には、その
上下の余分のビツトは、“0”が並ぶようにすれ
ばよいことは言うまでもない。負数においては、
2の補数表示や1の補数表示などの表示をとるか
によつて異なるが、後者では最上位に“1”を出
力し他に“0”を出力させる、前者では上位全ビ
ツトに“1”を出力させるようにすればよい。1
の補数の場合第4図Eの場合符号ビツトV6を最
上位として使用すればよい。 以上のように第2図の実施例においては、第4
図と共に説明したフオーマツトの各データを、手
順を追つて演算することによつて、飛越数Jを計
算するようにした。ポルタメントモード(第13
図)と通常のノーマルモード(第11図)との切
り替えは、第2図のステータスFFの中にN
RMAL/PRTAMETOのモードビツトを用意
しておき、CPU3からこのビツトに“1”を送
るとノーマルモード、“0”を送るとポルタメン
トモードとし、モードビツトにしたがつて、命令
読出しを切りかえるようにすればよい。なお、ノ
ーマルモードでは、PRT32(第2図)にゼロ
を書き込み、△がゼロになるようにしておく。 第15図は、指数変換の他の実施例である。3
8は第2図と同じEXP38でJi,pを記憶している。
39−1は{N3〜S3}の7ビツトに対するアド
レスをもつ差分ROMで、96の指数サンプル値の
差分値(Ji+1,p−Ji,p)を記憶している。出力は5
ビツトである。39−2は、{S2,S1,S0}の3
ビツトに応じて、差分値の補間値を出力するため
の簡易化された掛算用RMである。すなわち、
(Ji+1,p− Ji,p)×j/8を記憶している。このよう
に すると、量子化誤差が少し増えるが、メモリのサ
イズが768×5=3840ビツトから、96×5+25+3
×5=1760ビツトに減る。 上記第3図Aでは1オクターブを2048〜4095に
割当てた。したがつて、12ビツトである。この場
合、12平均律の音は、±0.78125セントの誤差内に
なる。しかし、低域周波数ではオクターブコード
にしたがつてビツトシフトされて、しかも低位側
へシフトされることも考えられる。このときに
は、12ビツトの下位が切り捨てられることにな
り、8〜9ビツトになることもある。このときに
は、上記誤差が増える。9ビツトのときには、3
ビツトシフトされたのであるから誤差は8倍で±
6.25セントになつてしまう。しかし周知のよう
に、9ビツトでは、239,253,268,284,301,
319,338,358,379,402,451の12個の数字の組
み合わせのとき、12平均律からの誤差は±1.2セ
ント以下となる。したがつて、Cとして、2048の
代わりに、253×8=2024をCとし、239×16=
3824をBとすれば、12ビツトで最も高精度のセン
トアドレスから飛越数への変換ができる。 以上、本発明を要約すると、少なくとも1オク
ターブ区間を等間隔のセント間隔をもつ複数の区
間に分けてその区間境界点にそれぞれセントアド
レスを与え、発生すべき楽音の単一または複数の
周波数成分の周波数を上記セントアドレスのアド
レス値で表現し、近似的に指数変換特性を有する
変換器に上記アドレスを与えることにより、発生
すべき楽音の上記周波数に近似した周波数制御値
を得るようにしたものである。ここで、少なくと
も1オクターブ区間を等間隔のセント間隔をもつ
複数の区間に分けてその区間境界点にそれぞれセ
ントアドレスを与えるものは、実施例において
は、指数変換テーブル38、または指数変換テー
ブル38と差分指数変換テーブル39である。こ
のテーブルによつて設定されているアドレス値が
本発明の周波数制御装置に入力されることによ
り、所望の周波数情報である飛び越し数が発生さ
れる。近似的に指数変換特性を有する変換器は、
例えば、指数変換テーブル38、差分指数変換テ
ーブル39および演算装置(ALU)26、ワー
キングレジスタ(WREG)27、RAM28およ
びそれらを制御するプログラムカウンタ21、タ
イミングパルス発生器22、シーケンサ23、命
令デコーダ24等により構成される。 以上の説明より明らかなように本発明は、発生
すべき楽音の音高情報を発生する手段(実施例に
おいては、ノートオクターブレジスタ33,3
4)と、発生すべき楽音の音色情報に対応して楽
音の高調波周波数に対応する高調波情報を発生す
る手段(実施例においては、パーシヤル番号メモ
リ36、ハーモニツクデータメモリ35)と、上
記音高情報と高調波情報とを組み合わせて発生す
べき楽音の基本周波数と高調波周波数に対応する
セントアドレスを発生する手段(実施例において
は、ALU26、ワーキングレジスタ27,RAM
28、およびそれらを制御するプログラムカウン
タ21、タイミングパルス発生器22、シーケン
サ23、命令デコーダ24)と、上記セントアド
レスを入力とし、上記セントアドレスに対応する
周波数制御値に変換するための近似的に指数変換
特性を有する変換器(実施例においては、指数変
換テーブル38、差分指数変換テーブル39およ
び演算装置(ALU)26、ワーキングレジスタ
(WREG)27,RAM28およびそれらを制御
するプログラムカウンタ21、 タイミングパルス発生器22、シーケンサ23、
命令デコーダ24)とを備え、少なくとも1オク
ターブ区間を等間隔のセント間隔をもつ複数の区
間に分け、その境界にセントアドレスを割りつ
け、上記音高情報を上記境界のセントアドレスと
して発生させ、上記高調波情報をセントアドレス
の差アドレスとして発生させ、上記音高情報と高
調波情報の和セントアドレスを得、上記和セント
アドレスを上記変換器に供給することにより上記
楽音の基本周波数と高調波周波数の各々を表わす
周波数制御値を得るようにしているので、種々の
周波数をもつ正弦波などの波形を多数発生させる
ことができ、その際、比較的少ないデータ量で周
波数を決定でき、かつ、演算の桁数が少なくてす
むという特徴を有する。
【図面の簡単な説明】
第1図は本発明を適用したデイジタル式の電子
楽器のブロツク図、第2図は本発明の一実施例の
ブロツク図、第3図は指数変換テーブルの説明
図、第4図は上記実施例で用いるデータのフオー
マツトの一例を示す図、第5図は上記実施例のノ
ートコードを表わす図、第6図は上記実施例の動
作タイミングチヤートを示す図、第7図はタイミ
ングパルス発生用のカウンタを示す図、第8図は
タイミングパルスチヤートを示す図、第9図はデ
コーダを示す図、第10図は命令コードのフオー
マツトの一例を示す図、第11図はノーマルモー
ドにおける大局的なタイミングチヤートの図、第
12図はポルタメントモードにおける命令の実行
パターンを示す図、第13図はポルタメントモー
ドにおける大局的動作タイミングチヤートを示す
図、第14図は加算器の動作説明図、第15図は
指数変換テーブルの一例を示す図である。 1……鍵盤部、2……操作部、3……CPU、
4……RAM、5……RM、6……エンベロー
プパラメータROM、7……周波数パラメータ
ROM、8……周波数制御装置、9……正弦波発
生器、10……エンベロープデータ発生器、11
……掛算器、12……タイムスロツト制御装置、
13……位相変調器、14……デイジタルアナロ
グ変換器、21……プログラムカウンタ、22…
…タイミングパルス発生器、23……シーケン
サ、24……命令解読器、25……マイコンイン
タフエース回路、26……演算装置、27……ワ
ーキングレジスタ、28……RAM、29……バ
ツフアメモリ、30……オクターブシフタ、31
……ポルタメントデータ変換器、32……ポルタ
メントレジスタ、33,34……ノートオクター
ブレジスタ、35……ハーモニツクデータメモ
リ、36……パーシヤル番号メモリ、37……非
高調波メモリ、38……指数変換テーブル、39
……差分指数変換テーブル、40……ゲート、4
1……ステータフリツプフロツプ、42……ビブ
ラートデータ発生器。

Claims (1)

  1. 【特許請求の範囲】 1 発生すべき楽音の音高情報を発生する手段
    と、発生すべき楽音の音色情報に対応して楽音の
    高調波周波数に対応する高調波情報を発生する手
    段と、上記音高情報と高調波情報とを組み合わせ
    て発生すべき楽音の基本周波数と高調波周波数に
    対応するセントアドレスを発生する手段と、上記
    セントアドレスを入力とし、上記セントアドレス
    に対応する周波数制御値に変換するための近似的
    に指数変換特性を有する変換器とを備え、少なく
    とも1オクターブ区間を等間隔のセント間隔をも
    つ複数の区間に分け、その境界にセントアドレス
    を割りつけ、上記音高情報を上記境界のセントア
    ドレスとして発生させ、上記高調波情報をセント
    アドレスの差アドレスとして発生させ、上記音高
    情報と高調波情報の和セントアドレスを得、上記
    和セントアドレスを上記変換器に供給することに
    より上記楽音の基本周波数と高調波周波数のそれ
    ぞれを表わす周波数制御値を得るようにしたこと
    を特徴とする周波数制御装置。 2 発生すべき楽音の音高周波数に対応する音高
    情報を発生する手段と、発生すべき楽音の音色情
    報に対応して楽音の高調波周波数の近傍にある正
    高調波周波数に対応する正高調波周波数情報を発
    生する手段と、上記高調波周波数が上記正高調波
    周波数から偏移する量を表わす非高調波情報を発
    生する手段と、ビブラート、グライド、ポルタメ
    ントなどによる周波数変移を表わす変調情報を発
    生する手段と、上記各手段の出力を加算する手段
    と、その加算出力を周波数に正比例する周波数制
    御値に変換する変換手段とを備え、少なくとも1
    オクターブ区間を等間隔のセント間隔をもつ複数
    の区間に分け、その境界にセントアドレスを割り
    つけ、上記音高情報を上記セントアドレスの形で
    発生させ、上記正高調波周波数情報を上記正高調
    波周波数と音高周波数との比に対応するセント値
    を表わす正高調波差セントアドレスの形で出力さ
    せ、上記非高調波情報を上記偏位に対応する非高
    調波差セントアドレスの形で出力させ、上記変調
    情報を変調セントアドレスの形で発生させ、上記
    セントアドレスを加えて和セントアドレスを得、
    和セントアドレスを上記変換器に加えて上記周波
    数制御値を得るようにし、上記変換器が上記境界
    に割りつけられたセントアドレスを入力として対
    応する周波数制御情報を出力するようにし、上記
    少なくとも1オクターブ区間外のセントアドレス
    入力に対しては、上記区間からのはずれを上記セ
    ントアドレスの上位のオクターブデータとして
    得、このオクターブデータにしたがつて上記変換
    器の出力の桁をずらすことにより広範囲の周波数
    制御値を得るようにした周波数制御装置。
JP57083450A 1982-05-17 1982-05-17 周波数制御装置 Granted JPS58199394A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57083450A JPS58199394A (ja) 1982-05-17 1982-05-17 周波数制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57083450A JPS58199394A (ja) 1982-05-17 1982-05-17 周波数制御装置

Publications (2)

Publication Number Publication Date
JPS58199394A JPS58199394A (ja) 1983-11-19
JPH0522920B2 true JPH0522920B2 (ja) 1993-03-31

Family

ID=13802775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57083450A Granted JPS58199394A (ja) 1982-05-17 1982-05-17 周波数制御装置

Country Status (1)

Country Link
JP (1) JPS58199394A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60147792A (ja) * 1984-01-11 1985-08-03 カシオ計算機株式会社 電子楽器の周波数制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5748791A (en) * 1980-09-08 1982-03-20 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5756895A (en) * 1980-09-24 1982-04-05 Nippon Musical Instruments Mfg Electronic musical instrument

Also Published As

Publication number Publication date
JPS58199394A (ja) 1983-11-19

Similar Documents

Publication Publication Date Title
EP0035658B1 (en) Electronic musical instrument
US4201105A (en) Real time digital sound synthesizer
KR0135601B1 (ko) 전자 악기의 디지탈 신호 발생기
USRE30736E (en) Tone wave generator in electronic musical instrument
JPH027078B2 (ja)
EP0454047A2 (en) Tone generation apparatus
US4566364A (en) Electronic musical instrument controlling a tone waveshape by key scaling
JP2605916B2 (ja) 波形信号発生装置
JPH0756592B2 (ja) 電子楽器
US4672875A (en) Waveshape memory for an electronic musical instrument
JPH033239B2 (ja)
JPS5895790A (ja) 楽音発生装置
JPH0522920B2 (ja)
USRE31648E (en) System for generating tone source waveshapes
US5113740A (en) Method and apparatus for representing musical tone information
JPS636796Y2 (ja)
JPH033238B2 (ja)
US4338844A (en) Tone source circuit for electronic musical instruments
JP3435702B2 (ja) 楽音発生装置
EP0255151B1 (en) Electronic musical instrument
JP2510090Y2 (ja) 楽音信号発生装置
JPS6352399B2 (ja)
JPS5926790A (ja) 楽器用組合せ楽音発生器
JPS5865494A (ja) 多重波形発生装置
JPS6032094A (ja) 電子楽器