JPH033238B2 - - Google Patents

Info

Publication number
JPH033238B2
JPH033238B2 JP57083448A JP8344882A JPH033238B2 JP H033238 B2 JPH033238 B2 JP H033238B2 JP 57083448 A JP57083448 A JP 57083448A JP 8344882 A JP8344882 A JP 8344882A JP H033238 B2 JPH033238 B2 JP H033238B2
Authority
JP
Japan
Prior art keywords
cent
address
frequency
data
frequency control
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
JP57083448A
Other languages
English (en)
Other versions
JPS58199392A (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 JP57083448A priority Critical patent/JPS58199392A/ja
Publication of JPS58199392A publication Critical patent/JPS58199392A/ja
Publication of JPH033238B2 publication Critical patent/JPH033238B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
本発明は、周波数制御値に比例する周波数を発
生する楽音波形発生方法または装置に対応して、
周波数制御値を演算する装置に関するもので、ポ
ルタメント効果を発生すると共に、音階の構造に
適合した演算の手法を組みあわせて、構成の簡素
化を図るようにすることを目的としている。 従来、デイジタル方式を用いた楽音発生装置に
は種々の提案がなされている。これらの中で、正
弦波や楽音の一波形のデイジタルデータをメモリ
に記憶しておき、これを順次繰返して読み出して
連続的な楽音波形とし、これに、エンベロープ信
号に相当するエンベロープデータを掛け算して、
その振幅値を変化させることにより、音の立上り
から立下りまでの楽音信号を形成するようにした
ものである。発生する波形の周波数を変更するに
は、デイジタルデータの各サンプルを順次連続的
に読み出さずに、所定のサンプル数だけ飛び越し
て読み出せばよい。飛越数をJとすると、Jに正
比例して周波数を設定できる。このような信号の
発生方法の手順については1969年にTHE M.I.T.
PRESSより出版された書物「The Technology
of Conputer Music」の第134頁〜138頁に記述さ
れている。また、雑誌IEEE Trans.on Audio
and Eectroacoustics,19巻、No.1,48−58,
1971の文献A Digital Frequency Synthesizei」
には、具体的な構成が示されている。これらの公
知例にもとづいてさらに具体的かつ実載的な方式
として、特開昭58−65493号公報に記載のものが
ある。 これらの楽音合成方式に対しては、飛越数Jを
発生して供給する必要がある。本発明は、飛越数
Jを発生し供給する方法に関するもので、とくに
種々の周波数を効率的に発生させるように工夫し
たものである。 つぎに本発明の方式と従来例との関連について
述べる。 従来、ミユージツクシンセサイザでは、鍵盤の
各鍵に対応する鍵電圧VKを発生させ、これに周
波数を設定する電圧VF、ビブラート電圧VVを重
畳してV1=(VK+VF+VV)を得、指数変換器を
通してV0=K1e×p(VK+VF+VV)を得、V0
よつて、電圧制御発振器(VCO)の発振周波数
を決定する。電圧VFが0Vのときには鍵電圧VK
によつて決まる周波数、すなわち、楽音の音階に
対応する(C3であれば261.625Hz)周波数が発生
する。通常鍵電圧VKは、オクターブ当り1Vが標
準とされている。電圧VFとして1Vを加えると、
1オクターブ上昇して513.25Hzが発生する。これ
は、C4に当ると同時に、C3の第2高調波にも当
る。電圧VFとして1V以外の電圧を与えると、第
3,第4など任意の高調波成分が得られる。ビブ
ラート電圧VVは、上記周波数を中心に上下に周
波数変調させるものであるが、ここで重要なこと
は、VKやVFが種々の値をとつても周波数の変動
の割合、すなわち、ピツチの変動は、VVが一定
なら、一定に保たれる点である。このような方式
をデイジタル演算におきかえたものとして特開昭
54−81824が知られている。しかしながら、この
ような従来のものでは、アナログ回路で作るため
に不安定であつたり、デイジタル演算の演算器
が、高精度かつ多数必要とするなどの欠点があつ
た。 本発明は、これらの点を解決し、現実に構成し
やすくした周波数制御装置を提供するものであ
る。 また別の従来例として、特開昭56−74298号公
報がある。これは周波数情報をセント尺度で表し
その尺度上でポルタメント効果を発生制御するも
のである。しかしながら、セント尺度の全領域を
単純な2進法で表わすようにしているため、12半
音階のそれぞれの音高位置において、セント誤差
が出る欠点を有している。本願はこのようなこと
のない周波数制御装置を提供することを目的とし
ている。 また本願はポルタメント効果が広い音域のどこ
でも一様に掛かり、音域によつて、早くなつたり
遅くなつたりしない効果が得られる装置を提供す
ることも、目的としている。 第1図は、本発明の周波数制御装置を採用した
電子楽器のブロツク図である。1は鍵盤部、2は
音色タブレツトスイツチやビブラート効果のオン
オフスイツチ、ビブラート効果の深さを設定する
ボリユームなどにより構成される操作部、3は中
央処理装置(CPU)で、コンピユータなどに用
いられているものと同様なもの、4は読み書き可
能な記憶装置(ランダムアクセスメモリ、通常
RAMと呼ぶ)、5はCPU3の動作を決定するプ
ログラムが格納された読み出し専用記憶装置(リ
ードオンリーメモリ、通常ROMと呼ぶ)、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がアドレスコードを出力
し、他の部分がアドレスコードを受け取る。コン
トロール線は、通常、メモリ・リクエスト線
(MREO)、I/Oリクエスト線(IORQ)、リー
ド線(RD)、ライト線(WR)などが用いられ
る。 MREQは、メモリを読み書きすることを示し
IORQは入出力装置(I/O)の内容を取り出し
することを示し、RDはメモリやI/Oからデー
タを読み出すタイミングを示し、WRはメモリや
I/Oにデータを書き込むタイミングを示す。こ
のようなコントロール線を用いたものとしては、
ザイログ社のマイクロプロセツサZ80があげられ
る。 つぎに第1図の電子楽器の動作について述べ
る。鍵盤部1は、複数の鍵スイツチを複数の群に
分けて、群内の鍵スイツチのON−OFF状態を一
括してデータバスに送ることができるように構成
される。たとえば、5オクターブの鍵盤の場合61
鍵を6鍵(半オクターブ)ずつの10群と1鍵のみ
の1群の11群に分け、各群にアドレスコードを1
つずつ割りつける。アドレスラインに、上記各群
のうちの1つを示すアドレスコードが到来し、
IORQとRDが印加されると、鍵盤部1はそのア
ドレスコードを解読して対応する群内のキースイ
ツチのON−OFFを示す6ビツトまたは1ビツト
のデータをデータバスに出力する。これらは、デ
コーーダ、バスドライバおよび若干のゲート回路
を用いて構成することができる。操作部2のう
ち、タブレツトスイツチについては、鍵盤部1と
同様の構成をとることができる。ボリユームの設
定状態については、ボリユームの出力する電圧を
アナログデイジタル変換器によりデイジタルコー
ドに変換し、これを、アドレスコードとコントロ
ール線IORQとRDにより読み出すようにする。 CPU3はその内部にあるプログラムカウンタ
のコードに対応するROM5のアドレスから命令
コードを読み取り、これを解読して、算術演算、
論理演算、データの読み込みと書き込み、プログ
ラムカウンタの内容の変更による命令のジヤンプ
などの作業を行なう。これらの作業の手順は
ROM5により書き込まれている。まずCPU3は
ROM5より鍵盤部1のデータを取り込むための
命令を読み取り鍵盤部1の各鍵のON−OFFを示
すコードを各群ごとに取り込んで行く。そして、
押鍵されている鍵コードを、楽音発生部の有限の
チヤンネルに割り当ててゆく。 つぎにCPU3は、操作部2よりデータを取り
込むための一群の命令を順次ROM5から読み取
り、これらを解読して、操作部2に対応するアド
レスコードとコントロール信号IORQとRDを出
力し、データバスに操作部2のスイツチやボリユ
ームの状態を表現するコードを出力させ、CPU
3内に読み込む。そして、どの音色の楽音信号を
合成すべきかをCPU3は知る。 以上で、楽音発生部のどのチヤンネルにどの周
波数をもつたどの音色を発生させるべきかが明確
になつたので、CPU3は、各音色の周波数に関
するデータを記憶しているROM7より、所望の
音色の周波数パラメータを格納してあるアドレス
コードとコントロール信号MREQとRDとを出力
してデータバスに所望の周波数パラメータを読み
出してCPU3内に取り込み周波数制御装置8に
書き込む。書き込むためには、周波数制御装置8
の内部に設けられたデータレジスタに対応するア
ドレスコードをCPU3が出力し、同時にIORQと
WRとを出力すると、WR信号の立上り時にデー
タバス上に出力されている周波数パラメータを表
わすデータが上記データレジスタに書き込まれ
る。 つぎに、出力すべき音色の内容を表わす音色パ
ラメータをROM6より読み出し、エンベロープ
発生器10の内部のレジスタに書き込む。つぎに
周波数制御装置8とエンベロープ発生器10の両
方に、発音出力指令を与えると、周波数制御装置
8は、飛越数Jを正弦波発生器9に与え、エンベ
ロープ発生器10はエンベロープデータを発生す
る。正弦波発生器9の出力する正弦波データとエ
ンベロープデータは掛算されて、エンベロープが
正弦波に付与される。正弦波データとエンベロー
プデータとはそれぞれ時分割多重化されて発生す
る。時分割多重は、例えば、160多重とし、1チ
ヤンンネル当り20の正弦波を割り当て、8チヤン
ネル設けることにする。通常は、20本の正弦波の
合成により、ひとつの楽音を合成することにな
る。したがつて、フーリエ級数の式で知られると
おり、20の正弦波データを加算することにな
る。このためのタイムスロツト間のデータ加算を
タイムスロツト変換器12で実施する。タイムス
ロツト変換器は、160のタイムスロツトで時分割
多重されて入力される、エンベロープデータで変
調された正弦波データ列のうち、所定のデータを
加算しタイムスロツトの数を減らしたり、あるい
は、特開昭58−10324号公報に記載の時分割多重
変換装置のようにタイムスロツトの交換を行なう
ものである。時分割多重位相変調器13は、特開
昭58−83894号公報「デイジタル楽音変調装置」
のように、時分割多重で複数種の変調を同時に実
施するものである。時分割多重位相変調装置13
の出力はアナログデイジタル変換器14によりア
ナログ信号に直されて、電気音響変換器15,1
6より出力される。 第1図では図示を省いたが、タイムスロツト変
換器12や時分割多重位相変調装置13に対して
も、アドレスバス、データバス、コントロール線
を介してCPU3と結合して、操作部2によつて
行なわれる音色や変調効果の設定に対応して、タ
イムスロツトの変換や変調条件を変えて設定する
ようにすることができる。 本発明の周波数制御は、まず、各鍵のノートオ
クターブ、各高調波の周波数などを、セント尺度
上に配置して処理する。出力すべき楽音の基本波
のノートやオクターブの位置、基本波を基準とし
た高調波の位置、非高調波の相対的なずれなどを
セント単位で表現し、セント点度上でのセントア
ドレスの加減算を行なつて、実際の周波数成分の
セント値に対するセントアドレスを求め、これを
指数変換する。システムをデイジタル化し、かつ
多数のスペクトルに対する飛越数Jを求めるため
に、セント尺度上で1オクターブを量子化して扱
い、かつ、時分割多重で演算処理を行なうように
考慮している。また、演算されたJが、正弦波発
生器9に適切に転送されるようタイミングを考え
ている。 本発明は、第1図の如き電子楽器の一部分とし
て、CPU3より供給される周波数パラメータを
受け入れて、正弦波発生器9に対し飛越数Jを供
給する機能を実現する。周波数制御装置8に関す
るものである。その1実施例を第2図に示す。 第2図の周波数制御装置は、データバスDB、
アドレスバスADR、コントロール線IORQとWR
とチツプセレクト線CSとにより、CPU3と結合
して、周波数パラメータを受け取り、マイコンイ
ンタフエース回路(MIF)25でアドレスバス
ADRのコードを解読して、内部のレジスタ群に
書き込み、内部に設けた飛越数Jを計算する機構
を介して、必要な複数個のJiを計算させ、バツフ
アメモリ29、オクターブシフタ30を介して、
正弦波発生器9に供給する。 まず、構成要素について説明する。21はタイ
ムミングパルスを供給するプログラムカウンタ
(PC)、22はタイミングパルスから論理をとつ
て必要なアドレスコードをつくつたり、コントロ
ール用のフラグ(FLG)信号を受けとつて制御
信号をつくり出すタイミングパルス発生器
(TPG)、23はタイミングパルスや制御信号に
より読み出され、後述する算術演算や論理演算の
内容と手順とを記憶しているシーケンサ(SEQ)
でROMから成るもの、24はシーケンサの内容
を解読して、アドレスコード、出力指令信号
(OC1〜12)、書込指令信号(WR0〜3)、演
算指令信号(OPコード)などを出力する命令解
読器である。25はマイコンインタフエース回路
(MIF)で先に説明したものである。26は演算
装置(ALU)で、加算、減算、比較を、2つの
入力であるAバスとBバスの間で行ない、Cバス
に演算結果を出力し、演算結果のうちの符号、上
位ビツトなどをFLGとして出力する。FLGは
TPG22に供給される。 27はワーキングレジスタ(WREG)で
WREG1とWREG2の2ワードのメモリで構成
され、Cバスより入力を受け入れ、Bバスに出力
を供給する。AD2が2ワードのどちらかを選択
しWR1の立上りで書き込み、OC8が“H”の
とき出力を供給する。28は160ワード×15ビツ
トより成るRAMで、Cバスより入力を受け取り
Dバスに出力を供給する。160ワードは20ワード
ずつ8チヤンネルに分けられており、20ワード内
の任意の1ワードを5ビツトのアドレスコード
AD1で指定し、8チヤンネルのうちの任意の1
チヤンネルを3ビツトのアドレスコードAD4で
選択し、WR2の立上り時にCバス上のデータを
書き込み、出力はDバスに出たままである。ただ
し、出力の上位5ビツトはバツフアメモリ29に
供給される。バツフアメモリ29は160ワード×
17ビツトのRAMで、CバスのデータとRAM2
8の上位5ビツトを入力として受け入れる。160
ワードは20ワードずつ8チヤンネルに分けられて
おり、20ワード内の1ワードをアドレスコード
AD3で選択し、8チヤンネルのうちの1つをア
ドレスコードAD4で選択し、WR3の立上りで
入力データを書き込み、OC9が“H”のとき出
力する。バツフアメモリ29の出力はオクターブ
シフタ30に供給される。バツフアメモリ29の
上位5ビツトのコードにより、それより下位のデ
ータが、所定のビツト数だけビツトシフトされて
出力される。 この出力は、正弦波発生器9の内部に設けられ
飛越数を格納するレジスタのうち所定のアドレス
に対応するものに転送される。 33はノートオクターブレジスタ(NOD(n))
で最新のノートオクターブデータを、CPU3よ
りデータバスDBを介して受け入れ、必要な時に
Aバスに出力する。書き込みをMRW2で、読出
しをOC2で行なう。34はノートオクターブレ
ジスタ(NOD(n−1))で、前回のノートオク
ターブデータを、CPU3よりデータバスDBを介
して受け入れ、必要な時にBバスに出力する。ま
た、Bバスから途中の処理データを受け取り記憶
する。DBよりのデータの書き込みをMRW3で、
Bバスよりの書き込みをWROで行ない、Bバス
への出力をOC3で行なう。35はハーモニツク
データメモリ(HMD)で、64ワード×13ビツト
のROMにより構成されている。64ワードのうち
のどれを選択するかは、パーシヤル番号メモリ3
6が出力する6ビツトのコードにより決定され
る。パーシヤル番号メモリ36は、20ワード×6
ビツトのRAMで、データバスDBから入力を受
け入れる。20ワードのうちの1ワードをアドレス
コードAD1で選択し、MRW4の立上りで書き
込む。出力は常にハーモニツクデータメモリ35
に供給される。ハーモニツクデータメモリの出力
はOC4が“H”のときAバスに出力される。3
7は非高調波メモリ(INH)で、20ワード×6
ビツトのRAMにより構成される。20ワードのう
ちの1ワードがアドレスコードAD1で選択さ
れ、MRW5の立上りでデータバスDB上のデー
タが書き込まれる。OC5が“H”のときAバス
に出力される。38は、指数変換テーブル(E×
P)で、ROMにより構成される。Dバスを入力
とし、OC6が“H”のときその内容をAバスに
出力する。39は差分指数変換テーブル(DE×
P)で、ROMにより構成され、Dバスを入力と
し、OC6が“H”のとき、記憶内容をBバスに
出力する。これら2つのテーブルの内容について
は後述する。40はゲートであつてDバスを入力
としOC7が“H”のときBバスに出力する。 32は、ポルタメントレジスタ(PRT)であ
つて、ポルタメントスピードを表わすコードをデ
ータバスより受け入れ、MRW1の立上りで記憶
する。31は、ポルタメントデータ変換器であつ
て、周波数の増減データをポルタメントレジスタ
32の内容をもとにつくり出し、OC1が“H”
のときにAバスに出力する。通常ポルタメントレ
ジスタ32の内容と同じものを出力する。42は
ビブラートデータ発生器で、ビブラート波形を表
わすコードを発生すると共に、OC10が“H”
のときVIB(n)をBバスに、OC11が“H”の
ときVIB(n)をAバスに、OC12が“H”のと
きVIB(n−1)をBバスに出力する。VIB(n)
は、現在のビブラートデータを表わし、VIB(n
−1)は前回のビブラートデータを表わす。41
はステータスフリツプフロツプ(SFF)で、デー
タバスDBのデータをMRW6の立上りで記憶し、
その内容を、TPG22に供給する。 TPG22は、周波数制御装置が新たなデータ
を外部のCPU3に要求するとき割込信号INTと、
割込内容を示す割込ベクトルコードをデータバス
DB上に出力する。出力指令信号OC1〜12が
“L”のときは、それらに対応しているメモリや
レジスタの出力は、高インビーダンスになつてA
バスやBバスに何ら影響を及ぼさないようにして
いる。 <データ構造> つぎに、本発明で行なう周波数制御の指数変換
の機構C変換前と変換後のデータ構造について述
べる。 1オクターブは周波数比で1:2の関係であ
る。周波数に正比例する数値として、飛越数J
をつぎのように定義する。音源の1波形を記憶し
ているメモリが、218ワード(サンプル)より成
り立つているとする。サンプルの読出周波数をc
KHzとすると、1サンプルずつ全サンプルを読み
出す場合出力波形の周波数はc/218Hzとなる。
これは飛越数J=1に当る。飛越数Jに対して一
般的に周波数は =c/218×J ……(1) と表わせる。 本発明では、1オクターブをセント尺度上で量
子化し、指数変換により、演算されたセント尺度
で表わされた周波数値を周波数に正比例する飛越
数に変換している。 指数変換の方法についてつぎに述べる。 1オクターブをセント(cent)で表わすと、
1200セントになる。2つの周波数ABの比はセ
ント尺度CEではつぎのようになる。 CE(cent)=1200log2AB) …(2) 周波数ABの飛越数を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等分
する。 CEi,j=12.5i+12.5/8j ……(7) (i=0〜L−1,L=96 j=0〜M−1,M=8) (7)式のCEi,j(j=1〜7)に対しては、直線補
間した値を用いる。すなわちJi,jは次式となる。 一般的には 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)式のJi,jを計算する方法について説
明する。 第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)の値に対して、Ji,p
の値96通りを、第2図のE×P38に用意する。ア
ドレス96通り、それぞれ12ビツトとすると、96×
12=1152ビツトのROMとなる。このJi,pは(10)式の
第1項に相当する。 つぎに、差分として、(10)式の第2項の一部であ
る。 を第2図のDEXP39に用意する。DJi,jの最大値
は、i=95,j=7のときで、DJ95.7=25.784に
なるから、DJi,jは5ビツトの2進数で表わせる。
また、(i,j)は、96×8=768通りである。し
たがつて、セントアドレス768通り、768×5=
3840ビツトのROMになる。 EXP38のROMに対するセントアドレス入力
は、第4図Aの{N3〜N0,S5〜S3}の7ビツ
ト、DEXP39のROMに対するアドレスすなわ
ちセントアドレスは、第4図Aの{N3〜N0,S5
〜S0}の10ビツトのコードにすればよい。EXP
38とDEXP39の出力を加算すれば、(10)式の
Ji,jが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は、NOD(n)のデータフオーマツト
で、下位4ビツトがノートを、上位4ビツトがオ
クターブを示す。NOD(n)は、指定されるオク
ターブとノートをもつ楽音の基本周波数1に対応
する。 第4図cは、高調波性をもつた楽音に含まれる
各高調波成分の周波数Rの基本周波数1に対する
比をセントで表わした、ハーモニツクデータ
HMDkである。 HMDk=1200log2R1) ……(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) NOD(n):時刻nにおけるノートオクター
ブデータ(音高情報)に対する音高周波数
をセントアドレスで表わしたもの (2) HMDk:基本周波数に対するk次の正高調
波周波数のセント表示であつて2進表示し
たもの(正高調波差セントアドレス) HMDk=1200log2R1),R=k1(k=1

2,3……64) ……(13) (3) INHk:k次の正高調波周波数からの周波数
のずれをセント表示で、かつ2進表示した
もの(非高調波差セントアドレス)。 k=k1+dkとすると INHk=1200log2(k1+dk/k1)……(14) を基本とするが、INHkが100セントを越
えるときには、取り扱い上、100セント以
下のINHkを求めるためにつぎのようにす
る。 INHk+p=1200log2k1+p1+(dk−p1)/k1
p1 ……(15) (p=0,1,2,3,……かつdk−p10) すなわち、k次の高調波からdkだけずれたもので
あるが、これを(k+p)次高調波から(dk
p1)だけ、ずれたものとみることを意味する。 (4) VIB(n):時刻nにおけるビブラートやグラ
イドによる周波数の偏移をセント表示し、
かつ2進表示したもの。(変調セントアド
レス) 以上の変数から、k次高調波の周波数のセント
表示すなわちセントアドレスを、記号LOGJ(i,
j)で表わすと LOGJi,j=NOD(n)+VIB(n)+HMDk
INHk ……(16) となる。LOGJi,jは、第4図Aのデータフオーマ
ツトを持つ。このうち{N3,N2,N1,N0,S5
S4,S3}の7ビツトは、96進数で、(10)式における
iを表わす。{S2,S1,S0}の3ビツトは同じく
jを表わす。これらのコードを前述のEXP38
とDEXP39の指数変換テーブルと差分指数変換
テーブルのアドレスデータをして与えると、(10)式
にしたがつた指数変換ができる。これを次式で表
わす。 Ji,j=EXP〔LOGJi,p〕+DEXP〔LOGJi,j
……(17) 第3図Aより、指数変換テーブルは1オクター
ブの範囲しか設けていない。Ji,jは、この範囲内
での値を示すものである。オクターブを越える範
囲にある場合は、第4図Aのオクターブデータ
{O4,O3,O2,O1,O0}にしたがつてJi,jをビツ
トシフトすればよい。たとえば {O4〜O1}=(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、命令群は命令8
〜11により成つている。各命令の内容は、命令内
容により示される。たとえば命令4はNOD(n)
とVIB(n)とを加算し、ワーキングレジスタ
WREG2に格納することを意味する。命令5は
ワーキングレジスタWREG2の内容と、ハーモ
ニツクデータHMD(I)とを読み出して、それらを
加えてWREG2に格納する。命令6は、WREG
2の内容と、インハーモンシテイデータINH(I)
とを加算し、レジスタLOGJ(K,I)に格納す
る。命令7は、レジスタLOGJ(K,I)の内容
をアドレスコードとして、指数変換テーブル
EXP38と差分指数変換テーブルDEXP39に
与えて、それぞれの出力を加えて、バツフアメセ
リBUF(K,I)29に格納する。ここで、Iは
後述する処理タイムスロツト(PTS)を表わす
と共に、各チヤンネルにおけるスペクトルの番号
をも表わしている。I=1,2,……20である。
Kはチヤンネルタイムスロツト(CHS)を表わ
している。K=1,2,……,8である。CHS
については後述する。 命令群Bも第1表より同様にその演算内容の意
味を読み取ることができる。命令8における△は
零としておく。命令群Aは、ノートオクターブデ
ータNOD(n)が変更されたときに実行され、そ
れ以降は、命令群Bが実行される。命令群Bで
は、NOD(n),HMD(I),INH(I)が変化しな
いので、これらの計算をせず、前回の値LOGJ
(K,I)からVIB(n−1)を引いてVIB(n)
の新しい値に対しての計算を行ない指数変換を実
行する。ノートオクターブデータNOD(n)が更
新されると一度命令群Aにもどり、そのあと再び
命令群Bを実行する。 第1表において、ITSは命令タイムスロツト
で、ITS1〜4まであり、命令04,8はITS1で
実行されることを示している。また、それぞれの
命令実行時において活性化される書き込み線、書
き込みパルス、出力コントロール線を示してい
る。 以上の命令を実行するには、チヤンネルタイム
スロツト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まである。PTS(I)、I=
1〜20ではチヤンネル1における、20個のスペク
トル(正弦波形)に対応する周波数を決める飛越
数を計算する。そして、PTS21の前半の2.5μs
においた、計算された20個のJの値を第6図Fに
示すように125nsきざみで、正弦波発生器9(第
1図)へ転送する。この転送のタイミングは、
CHS1〜8で異なる。たとえば、CHS8ではPST
24の後半で実行される。第6図Eは、各処理タ
イムスロツトPTS1〜20の中味を拡大したも
のである。PTS1〜20は、それぞれ、命令タ
イムスロツトITS1〜4の4つの部分に分かれて
いる。それぞれは1.25μsの長さである。これらの
命令タイムスロツトITSにおいて上記第1表の命
令が実行される。PTS1〜20の間は、第2図
の実施例において、ALU26を中心とする演算
が行なわれる。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}は、チヤンネルタイムスロツトCHS
1〜8を表わす3ビツトのコードに相当する。カ
ウンタ52は5段より成る20進カウンタで、
{Q4,Q3,Q2,Q1,Q0}を出力する。カウンタ
51と52は、同期している。カウンタ51と5
2の出力より第8図に示すタイミングパルスが
TPG22の内部でつくられる。CKは、125ns
(8MHz)の周波数である。P1,P2,P3,P4,P5
より、WRC,ITS1〜4,WRC1〜4が得られ
る。ITS1〜4信号は、第2図の出力指令信号
OC1〜12をつくり出すもとになる信号、WRC
1〜WRC4は書き込み指令信号WR0〜WR3を
つくり出す元になる信号である。 第9図は、バツフアメモリ29に加えられるア
ドレスコードAD3とAD4、出力指令信号OC
9、書込指令信号WR3を発生させる回路例であ
る。アドレスコードAD4は{P13,P12,P11},
AD3は、{P10〜P16)か{Q4〜Q0}をセレクタ
69で選択した一方である。WR3は、インバー
ト入力のアンドゲート70とインバート付オアゲ
ート71により作られた処理タイムスロツト
PTS1〜20におけるITS4に対応するWRC4
である。アンドゲート60,61,62,63
は、{P10,P9,P8}={1,0,1}を検出する。
これは、PTS21〜24に相当する。このとき
はセレクタ69はQ4〜Q0を選択する。EXORゲ
ート64,65,66は{P7,P6,P5}と
{P13,P12,P11}の一致判定を行なう。アンドゲ
ート67はPTS21〜24の中でCHS番号に一
致したPTSの半区間を選択し、出力が“H”の
ときにOC9を出力する。したがつて、まとめる
と、PTS1〜20の中のITS4において、AD4
とAD3はそれぞれKとIを指定し、ITS4にお
いてWR3を出力し、第1表の命令7または11の
バツフアメモリ29(BUF(K,I))への書き
込みを行なう。PTS21〜24の間のCHS=K
に対応する2.5μsの間、OC9は“H”となり、
BUF(K,I)のI=1〜20の内容が、アドレ
スコードAD4とAD3にしたがつて出力される。 第10図は、第2図におけるシーケンサ23が
記憶している命令コードのフオーマツトの一例を
示すものである。操作用のOPコード2ビツト、
データの転送または格納先を表わすデステイネー
シヨンコード3ビツト、データを取り出してくる
レジスタを示すソース1コード3ビツト、ソース
2コード4ビツトより成る。それぞれのコードの
意味を、第10図B〜Eに示している。OPコー
ドは、ALU26の機能を指定する。第1表に示
した12通りの命令の演算は、第10図の命令コー
ドによつて書き表わされる。第10図EのZERO
は、AバスにZEROを出力させることを意味す
る。 第9図に例示したと同様の考え方で第10図の
命令コードと第1表のCHS,PTS,ITS,書き
込み線、出力コントロール線などにもとづいて、
インストラクシヨンデコーダ24や必要な制御信
号やタイミングパルスを発生させる回路を設計す
ることができる。 第11図は、第1表の命令群AとBの実行切り
替えのタイミングを示すものである。上から、チ
ヤンネルタイムスロツト、演算実行、J転送、割
込パルス、データ転送、KONフラグが示されて
いる。演算AまたはBは、処理タイムスロツト
PTS1〜20(第6図)で、20回実行される。
20回目の最終時に割込パルスINTが、第2図の
TPG22より、第1図のCPU3に出力される。
このとき、同時に割込ベクタとして、CHS8を
示すコード{P13,P12,P11}が、第2図のデー
タバスDBに出力される。CPU3は、この割込ベ
クタ{P13,P12,P11}を読み取り、つぎのCHS
が1であることを知り、チヤンネル1の出すべき
音高が変化している場合、データ転送を行なう。
データ転送は、CPU3のデータバスから第2図
のデータバスDBへ行なわれる。そして、NOD
(n)33、PNO36、INH37およびステータ
スFF41に所定のデータを書き込む。そして、
とくに、ステータスFFの中に含まれるKONフラ
グフリツプフロツプ(FF)をセツトする。KON
フラグは、CHS1に対応する音の高さが変更さ
れたことを示す。KONフラグが“1”のときは、
命令群Aが読み出されてCHS1の間に実行され
る。実行が終ると再び、割込パルスが発生し、
CHS1を示す割込ベクタが出力される。同時に
KONフラグFFはリセツトされる。割込パルス
INTと割込ベクタ{P13,P12,P11}に対応して
CPU3は、つぎのCHS2で前回の音高のままか、
どうかを判断し、同じ音高を出すべきとはデータ
転送が行なわれない。したがつてKONフラグは
“0”のままである。このときは、命令群Bが20
回実行される。 命令群Aは、新たなNOD(n)データをもと
に、Jを算出するプログラムで、命令群Bは、前
回のJに対してビブラートデータの変化のみを修
正する命令群である。命令群AとBの読み出しと
切り替えは、第7図のカウンタ51の処理タイム
スロツトコード{P10〜P6}がPTS1〜20に示
す時間内で、命令タイムスロツトITS1〜4に対
応して命令群AとBを読み出し、KONフラグで
一方を選して出力するようにすれば行なえる。 CPU3から本発明の周波数制御装置へ転送す
べきデータ量は、第2図の実施例においては、
NOD(n)1ワード、PNOが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を発生させるこ
とができる。また、パーシヤル番号メモリ36の
20ワードのRAMには、別のパーシヤル番号を与
えるように説明したが、任意の複数ワードに同じ
パーシヤル番号を格納し、非高調波メモリ37
に、少し異なつたINHデータを書き込むと、非
常に近い周波数の2つ以上の周波数成分の発生が
可能になる。すなわちコーラス効果が得られる。 鍵盤楽器のうちでもピアノでは、鍵盤の音域に
対して、低域ではピツチが下がり気味、高域では
ピツチが上がり気味であつて、1オクターブが正
確に1:2の周波数比になつていない。この現象
をピツチエクステンドと呼ぶことができる。この
ためには、このずれを発生させるためのROMを
設け、このROMを、NOD(n)のデータにより
アクセスして、ノートオクターブに対応するずれ
の量を出力させ、この量を差分アドレスとして
ALU26で加えるようにしてもよい。また、非
高調波メモリ37に書き込むデータに、上記ずれ
を含ませることもできる。 なお、非高調波性をもたない楽音を発生させる
には、INHデータとしてゼロ値を書き込めばよ
いことは云うまでもない。 上記説明では、データフオーマツトとして一部
に2進化3進表示をするようにした。この代りに
2進化して進、2進化6進などの表示も可能であ
る。また、完全な2進表示でデータを表示しかつ
演算し、最後にこれを、ノートデータの部分を含
むより高位の桁について、2進化3進変化するこ
とにより、オクターブデータを得るようにしても
よい。このためには2−3進変換ROMを設けれ
ばよい。 上記第2図の実施例では、NOD(n)用のレジ
スタを1個のみとした。これらのレジスタや
RAMの数を8チヤンネル分設ければ、演算手順
は、A群だけで良くなる。このように、構成と演
算手順とには関連があり、本実施例に限らず種々
のものがあるが、これらの説明については省略す
る。 上記説明では、正弦波合成のための飛越数Jを
計算する手順として述べたが、正弦波以外の波形
を読み出す方式の波形発生器のための、周波数制
御にも使うことができる。たとえば、20本の高調
波成分でなく、1つの波形に対してJを1つだけ
発生させる場合にも、上記と同様の考え方で最適
構成ができる。 <ポルタメント効果> 第2図の実施例において、ポルタメント効果に
対応して、飛越数Jを徐々に変化させることもで
きるようにしている。第2図の実施例では、1チ
ヤンネルすなわちCHS1についてのみポルタメ
ントがかかるようにしたものを示している。 まず先述のとおり、ポルタメントモードでは、
今回のノートオクターブデータがNOD(n)33
に、前回のノートオクターブデータがNOD(n−
1)34に格納される。と同時に、ポルタメント
スピードと押鍵間隔NOD(n)−NOD(n−1)
に対応する増分Δを表わすデータがPRT32に
格納される。 ここで増分Δは、ポルタメントスピードの設定
値に比例し、押鍵間隔にも比例する値である。押
鍵間隔に比例させるのは、その大小に係わらず、
鍵NOD(n−1)から鍵NOD(n)に音高が徐々
に代わる際に遷移時間が同じになるようにするこ
とができるようにするためである。増分Δは鍵盤
1やタブレツト2などの設定状態をCPU3が読
み取つてデータバスDBを通じてPRT32に格納
される。このデータはそのままあるいは若干の変
換を受けてポルタメント変換器において格納され
る。 第1表の命令群Cは、ポルタメントの増減判別
を行なう。命令Oは、前回のNOD(n−1)に増
分△を加える。命令1は、その結果が、目標値で
あるNOD(n)に到達したか、丁度一致したか、
越えたかを、比較判断する。CPはCompareの意
味である。この比較の結果、ALU26は、その
内部のフラグFLGを設定する。ALU26のフラ
グFLGとしては、ゼロフラグZと符号フラグS
を設ける。これらのフラグは、通常の加減算器に
付属して設けられ、ゼロフラグZは演算結果が全
ビツト共“0”のときに“1”となり、それ以外
では“0”になるフリツプフロツプ、符号フラグ
Sは、演算結果の最上位ビツトが“1”のときに
“1”となり、それ以外では“0”になるフリツ
プフロツプで構成される。命令1の比較結果と、
増分△の符号を表わす△Sとにより、命令2と3
の一方が実行される。命令2は、現状のノートオ
クターブデータNOD(n−1)に△を加算したも
のを、新たなノートオクターブデータNOD(n−
1)として格納する。命令3は、最終目標である
NOD(n)を、新たなNOD(n−1)として格納
する。 以上の命令群Cによつて、ポルタメント効果に
おいて、増分△を加算することによりピツチが目
標のノートオクターブデータNOD(n)に達して
いないか、丁度か、あるいは目標値を越えてしま
うかを判断し、その結果にもとづいて、基本波や
高調波のセント尺度上の周波数を増分△だけ増や
す命令群Bを実行するか、あるいは、目標値
NOD(n)にもとづく到達点での演算を行なう命
令群Aを実行するかを選択させる。 第12図は、3つのフラグ△S,Z,Sの組み
合わせ状態により、命令0〜11のうち実行される
ものがどれになるかを示したものである。命令0
と1は毎回実行される。命令1における演算結果
であるフラグZ,Sと△Sとにより、命令3と命
令群A(命令4〜7)とが実行される場合と、命
令2と命令群B(命令8〜11)とが実行される場
合とに分類される。前者は、増分△の累算により
目標値NOD(n)に丁度達するか、越えてしまう
場合である。後者は、増分△を累算しても、まだ
目標値NOD(n)に達しない場合である。 第13図はポルタメントモードにおけるタイミ
ングチヤートである。演算が実施される処理タイ
ムスロツトPTSは、命令群CはPTS32におい
て、命令群AとBはPTS1〜20において実行
される。PTS20の終りまたはPTS21の初め
に割込パルスが発生し第1図のCPU3に対して、
新たなデータを要求する。このとき、CHSコー
ド{P13,P12,P11}が割込ベクターとしてデー
タバスDBに出力され、CPU3は、いま、どの
CHSにあるかまた、つぎのCHSが何かを知るこ
とができる。もしも鍵が押しかえられていて、新
たなノートオクターブに移るべき状態になつてい
れば、CPU3は新たなNOD(n)、前回のNOD
(n−1)、PNO,INHの一群のデータとステー
タスフラグデータをデータ転送する。ステータス
データの中にはKONフラグが含まれており、
KONフラグFFを“1”にする。ポルタメントモ
ードでは、このKONフラグにかかわらず、演算
処理をすればよい。まず、CHS1の直前のCHS
8のPTS32で、命令群Cの命令0〜3を実行
する。ただし命令2と3の一方は第12図のフラ
グ△S、Z,Sにより、その一方の実行は無視さ
れる。このあと、上記フラグの状況に従つて命令
群AまたはBがCHS1のPTS1〜20において
実行される。 命令群Cの読み出しは、PTSが32すなわち処
理タイムスロツトコード{P10〜P6}が{111111}
になるタイミングにおいて、命令0〜3を示すア
ドレスコードを順次シーケンサ23内の命令
ROMに加えて命令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ビツトのアドレスを加えることに
より命令ROM内の命令4〜7と8〜11とを選択
的に読み出すようにすればよい。 第14図は、第4図において示したデータ構造
をもつデータの演算を行なうALU26のうち加
算器の例である。N1とN0は2進化3進数である
ため、下位S5からの桁上げCsとAバス上のN1
N0およびBバス上のN1,N0を入力として、出力
であるCバス上のN1,N0と上位への桁上げCN
第14図の真理値表のように決まる。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)を更新
するタイミングにおいて、ROMを読み出し、レ
ジスタにそれぞれ書き込むようにしたものでよ
い。 オクターブシフタ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の中に
NORMAL/PORTAMETOのモードビツトを用
意しておき、CPU3からこのビツトに“1”を
送るとノーマルモード、“0”を送るとポルタメ
ントモードとし、モードビツトにしたがつて、命
令読出しを切りかえるようにすればよい。なお、
ノーマルモードでは、PRT32(第2図)にゼ
ロを書き込む。△がゼロになるようにしておく。 第15図は、指数変換の他の実施例である。3
8は第2図と同じEXP38でJi,pを記憶している。
39−1は{N3〜S3}の7ビツトに対するアド
レスをもつ差分ROMで、96の指数サンプル値の
差分値(Ji+1,0−Ji+0))を記憶している。出力は
5ビツトである。39−2{S2,S1,S0}の3ビ
ツトに応じて、等分値の補間値を出力するための
簡易化された掛算用ROMである。すなわち、
(Ji-1,0−Ji,0)×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とし、23×16=3824
をBとすれば、12ビツトで最も高精度のセントア
ドレスから飛越数への変換ができる。 以上を要約すると本願は、基音および高調波か
らなる発生すべき楽音の基音の音高周波数に対応
する音高情報、上記楽音の音調波次数に関する正
高調波周波数情報およびポルタメントによる周波
数増減に対応する増分データを入力とし、少なく
とも1オクターブ区間を等間隔の所定のセント間
隔を持つ複数の区間に分け、上記区間の境界に対
してセント尺度上のアドレスを割り付け、上記音
高情報をセントアドレスの形式で与え、上記正高
調波周波数情報を音高情報からの差の形のセント
アドレスとして出力させ、上記音高情報のセント
アドレス、上記正高調波周波数情報に対応する差
セントアドレスを加算し、さらに上記増分データ
を累加(減)算して和セントアドレスを得、和セ
ントアドレスを周波数に正比例する周波数制御値
に変換する変換器に加えて周波数制御値を得るよ
うにするものであつて、上記音高情報、正高調波
数情報、増分データを格納する格納手段と、上記
格納手段に結合された情報伝達用の少なくとも1
本のバスラインと、上記バラインに接続された加
減算用の演算器と、その演算結果を格納する格納
手段と、演算結果を上記バスラインに出力する装
置と、上記変換器とを備え、上記セントアドレス
の区間分けは、1オクターブ区間内のセントアド
レス数の中位の桁の表現を2進化された3の倍数
進形式にし、上記ポルタメントによる周波数偏位
の増分を表わすデータを発生する手段は、前回の
音高周波数と今回の音高周波数ののセント差およ
びポルタメント速度の設定に対応した増分データ
を発生するようにし、上記音高情報を格納する手
段は、前回音高情報格納手段と今回音高情報格納
手段とよりなり、前回音高情報に上記増分データ
を累加(減)算することにより、和(差)セント
アドレスを得、これを変換器に加えて周波数制御
値に変換すると共に、上記累加(減)算に際し
て、上記和(差)セントアドレスが今回音高情報
のセントアドレスを越えたときには、累算結果の
変りに今回音高情報のセントアドレスを採用する
ようにして、セント尺度上で直線的なポルタメン
トを実現することを特徴とする周波数制御装置で
ある。 したがつてセント尺度上で直線的なポルタメン
トを実現することができ、全音域にわたつて、ほ
ぼ同じピツチ精度で周波数の移動ができ、しか
も、音域が変わつても、ポルタメント速度はアド
レス増分データ△に対しては一定に保たれる。し
かも、目標のノートオクターブに対するセントア
ドレスを越えることもなく、確実なポルタメント
が実現できる。 また、本発明は、1オクターブ内のセントアド
レス数を(L×M)とし、M間隔のL個について
対応する周波数制御値を記憶した第1の記憶装置
と、上記L個のうち隣接する周波数制御値の差分
値を基にした補間値を記憶した第2の記憶装置を
用いるようにしたので、セントアドレスの演算が
複雑な対数変換演算なしで精度良く行なえるとい
う効果をもつている。
【図面の簡単な説明】
第1図は本発明を適用したデイジタル式の電子
楽器のブロツク図、第2図は本発明の一実施例の
ブロツク図、第3図は指数変換テーブルの説明
図、第4図は上記実施例で用いるデータのフオー
マツトの一例を示す図、第5図は上記実施例のノ
ートコードを表わす図、第6図は上記実施例の動
作タイミングチヤートを示す図、第7図はタイミ
ングパルス発生用のカウンタを示す図、第8図は
タイミングパルスチヤートを示す図、第9図はデ
コーダを示す図、第10図は命令コードのフオー
マツトの一例を示す図、第11図はノーマルモー
ドにおける大局的なタイミングチヤートの図、第
12図はポルタメントモードにおける命令の実行
パターンを示す図、第13図はポルタメントモー
ドにおける大局的動作タイミングチヤートを示す
図、第14図は加算器の動作説明図、第15図は
指数変換テーブルの一例を示す図である。 1……鍵盤部、2……操作部、3……CPU、
4……RAM、5……ROM、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オクターブ区間を等間隔の所定のセント間隔
    を持つ複数の区間に分け、上記区間の境界に対し
    てセント尺度上のアドレスを割り付け、上記音高
    情報をセントアドレスの形式で与え、上記正高調
    波周波数情報を高調波の基本周波数に対応するセ
    ントアドレスから差の形のセントアドレスとして
    出力させ、 上記音高情報のセントアドレス、上記正高調波
    周波数情報に対応する差セントアドレスを加算
    し、さらに上記増分データを累加(減)算して和
    セントアドレスを得、和セントアドレスを周波数
    に正比例する周波数制御値に変換する変換器に加
    えて周波数制御値を得るようにした装置であつ
    て、 上記音高情報、正高調波数情報、増分データを
    格納する格納手段と、上記格納手段に結合された
    情報伝達用の少なくとも1本のバスラインと、上
    記バスラインに接続された加減算用の演算器と、
    その演算結果を格納する格納手段と、演算結果を
    上記バスラインに出力する装置と、上記変換器と
    を備え、 上記セントアドレスの区間分けは、1オクター
    ブ区間内のセントアドレス数の中位の桁の表現を
    2進化された3の倍数進形式にし、 上記ポルタメントによる周波数偏位の増分を表
    わすデータを発生する手段は、前回の音高周波数
    と今回の音高周波数のセント差およびポルタメン
    ト速度の設定に対応した増分データを発生するよ
    うにし、上記音高情報を格納する手段は、前回音
    高情報格納手段と今回音高情報格納手段とよりな
    り、前回音高情報に上記増分データを累加(減)
    算することにより、和(差)セントアドレスを
    得、これを変換器に加えて周波数制御値に変換す
    ると共に、上記累加(減)算に際して、上記和
    (差)セントアドレスが今回音高情報のセントア
    ドレスを越えたときには、累算結果の変わりに今
    回音高情報のセントアドレスを採用するようにし
    て、セント尺度上で直線的なポルタメントを実現
    することを特徴とする周波数制御装置。 2 特許請求の範囲第1項の記載において、音高
    情報の格納手段、正高調波周波数情報の格納手
    段、増分データの格納手段および演算結果の格納
    手段のうち所定のものを発音チヤンネル数に対応
    して設け、上記各格納手段を少なくとも1本のバ
    スラインに結合し、上記バスラインに演算器を結
    合して、上記各情報の演算を上記演算器において
    時分割多重で行なうことを特徴とする周波数制御
    装置。 3 特許請求の範囲第1項の記載において、セン
    トアドレスの中位の桁を2進化12進、2進化6
    進、2進化3進のうちの1つで表示し、演算器の
    中位を上記表示に対応した演算とするようにした
    周波数制御装置。 4 特許請求の範囲第1項の記載において、セン
    トアドレスを2進表示とし、演算器を2進演算器
    とし、演算結果のセントアドレスの中位を2進化
    12進、2進化6進、2進化3進のうちの1つに変
    換する変換器でオクターブコードとノートコード
    に分け、上記ノートコードを上記変換器に加えて
    その出力を上記オクターブコードでビツトシフト
    することにより、周波数制御装置を得るようにし
    た周波数制御装置。 5 特許請求の範囲第1項の記載において、変換
    器は少なくとも1オクターブ区間内のセントアド
    レス数(L×M)のうち、M間隔のL個について
    対応する周波数制御値を記憶した第1の記憶装置
    と上記L個のうち隣接する周波数制御値の差分値
    をもとにした補間値を記憶した第2の記憶装置を
    備え、上記第1と第2の記憶装置にセントアドレ
    スを加えて両記憶装置の出力を演算器で加算する
    ことにより上記区間内に対応する周波数制御値を
    得るようにした周波数制御装置。 6 特許請求の範囲第5項の記載において、第2
    の記憶装置は、隣接する周波数制御値の差分値を
    記憶する第3の記憶装置と、上記第3の記憶装置
    の出力と、セントアドレスの下位の所定ビツトを
    入力とする第4の記憶装置とより成り、上記第4
    の記憶装置の出力が上記第2の記憶装置の出力と
    なるようにしたことを特徴とする周波数制御装
    置。
JP57083448A 1982-05-17 1982-05-17 周波数制御装置 Granted JPS58199392A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS58199392A JPS58199392A (ja) 1983-11-19
JPH033238B2 true JPH033238B2 (ja) 1991-01-18

Family

ID=13802717

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS58199392A (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5674298A (en) * 1979-11-21 1981-06-19 Nippon Musical Instruments Mfg Electronic musical instrument

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0035658B1 (en) Electronic musical instrument
KR0135601B1 (ko) 전자 악기의 디지탈 신호 발생기
USRE30736E (en) Tone wave generator in electronic musical instrument
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
JP2605916B2 (ja) 波形信号発生装置
JPH0756592B2 (ja) 電子楽器
US5117725A (en) Device for changing and controlling the rate of generating waveform data
JPH033239B2 (ja)
JPS5895790A (ja) 楽音発生装置
US5113740A (en) Method and apparatus for representing musical tone information
USRE31648E (en) System for generating tone source waveshapes
JPH033238B2 (ja)
JPH0522920B2 (ja)
US5665931A (en) Apparatus for and method of generating musical tones
US5627334A (en) Apparatus for and method of generating musical tones
JPH0310959B2 (ja)
US4468996A (en) Note group selectable musical effects in an electronic musical instrument
JP3435702B2 (ja) 楽音発生装置
JPS6352399B2 (ja)
JPH043556B2 (ja)
EP0255151B1 (en) Electronic musical instrument
JPS6322312B2 (ja)
JP2510090Y2 (ja) 楽音信号発生装置
JPS5926790A (ja) 楽器用組合せ楽音発生器
JPS6352400B2 (ja)