JPH0319558B2 - - Google Patents

Info

Publication number
JPH0319558B2
JPH0319558B2 JP60056336A JP5633685A JPH0319558B2 JP H0319558 B2 JPH0319558 B2 JP H0319558B2 JP 60056336 A JP60056336 A JP 60056336A JP 5633685 A JP5633685 A JP 5633685A JP H0319558 B2 JPH0319558 B2 JP H0319558B2
Authority
JP
Japan
Prior art keywords
data
signal
circuit
gate
timing
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
JP60056336A
Other languages
Japanese (ja)
Other versions
JPS60254095A (en
Inventor
Makoto Kaneko
Susumu Kawashima
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP60056336A priority Critical patent/JPS60254095A/en
Priority to US06/735,365 priority patent/US4733591A/en
Publication of JPS60254095A publication Critical patent/JPS60254095A/en
Publication of JPH0319558B2 publication Critical patent/JPH0319558B2/ja
Granted legal-status Critical Current

Links

Description

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

〔産業上の利用分野〕 この発明は、電子楽器のエンベロープ付与回路
に関し、特にD/A変換器をそなえたエンベロー
プ付与回路に関するものである。 〔発明の概要〕 この発明は、エンベロープデータを入力とする
D/A変換器の電源電圧を音源信号に応じて制御
することにより音源信号にエンベロープを付与し
た形のアナログ楽音信号をD/A変換器から取出
すようにしたものである。この発明によれば、
D/A変換器とは別にエンベロープ付与のための
乗算回路を設けなくてすみ、回路構成が簡単とな
る。 〔従来の技術〕 従来、デイジタル式電子楽器としては、発生す
べき楽音の音高に対応したレートでメモリから波
形データを読出し、この波形データを乗算回路に
供給してエンベロープデータと乗算し、乗算回路
の出力データをD/A変換器に入力してD/A変
換することによりエンベロープが付与されたアナ
ログ楽音信号を得るようにしたものが知られてい
る。 〔発明が解決しようとする問題点〕 上記した従来技術によると、D/A変換器とは
別に乗算回路を設ける必要があるため、回路構成
が複雑になり、コスト高を招く不都合があつた。 〔問題点を解決するための手段〕 この発明は、上記した問題点を解決するために
なされたものであつて、エンベロープデータを入
力とするD/A変換器の電源電圧を音源信号に応
じて制御するようにしたことを特徴とするもので
ある。 すなわち、この発明によりエンベロープ付与回
路は、発生すべき楽音のエンベロープを表わすデ
イジタル形式のエンベロープデータをD/A変換
してアナログ出力信号を発生するD/A変換器
と、発生すべき楽音の音高に対応した周波数を有
する音源信号に応じてD/A変換器の電源電圧を
制御する電圧制御手段とをそなえ、音源信号にエ
ンベロープを付与した形の楽音信号をD/A変換
器のアナログ出力信号として取出すように構成し
たものである。 電圧制御手段は、音源信号の2つのレベルに対
応してD/A変換器の電源電圧を基準値に対して
正負になるよう制御する構成にすることができ
る。 また、D/A変換器には、音波形の振幅値を表
わす振幅値データをエンベロープデータとは異な
る入力タイミンダで入力し、電圧制御手段には、
音波形の振幅値の符号を表わすサインビツトの信
号を振幅データの入力タイミングに同期して音源
信号の代わりに入力し、音波形の振幅値にサイン
ビツト信号に応じて符号を与えた形の音信号を
D/A変換器のアナログ出力信号として取出すよ
うにしてもよい。 〔作用〕 この発明の構成によれば、D/A変換器自体に
エンベロープ付与機能をもたせたので、D/A変
換器とは別にデイジタル式又はアナログ式の乗算
回路を設けなくてよい。 また、上記したようにD/A変換器の電源電圧
を音源信号の2つのレベルに対応して正負に制御
する構成にすると、方形波状音源信号をエンベロ
ープデータに応じて振幅変調するのに好都合であ
る。 さらに、上記したように音波形の振幅値に符号
を与えた形の音信号をアナログ出力信号として取
出す構成にすると、エンベロープ付与回路とは別
にD/A変換器及び符号付与回路を設けなくてよ
く、複数種類の楽音を発生させる場合に好都合で
ある。 この発明の実施例については、第8図及び第9
図を参照して第65頁以降で詳細に説明する。 〔実施例〕 第1図は、この発明を適用した電子楽器を示す
もので、この電子楽器はマニユアルピアノモード
と、マニユアル階名モードと、オートピアノモー
ドと、オート階名モードとの合計4モードの動作
を選択的に行なえるようになつている。ここで、
各モード毎の概略動作は次の(1)〜(4)の通りであ
る。 (1) マニユアルピアノモード 鍵盤でのマニユアル演奏操作に基づいて押圧鍵
に対応した音高を有するピアノ音を発生する。 (2) マニユアル階名モード 鍵盤でのマニユアル演奏操作に基づいて押圧鍵
に対応した音高を有する「ド」,「レ」,「ミ」等の
階名音を発生する。 (3) オートピアノモード 演奏データメモリから演奏データを読出すこと
により自動的にピアノ音を発生する。この場合、
ピアノ音の音高は、演奏データ中に含まれている
音高データに応じて決定される。また、オートピ
アノモードでは、前述のマニユアル階名モードの
場合と同様にして階名音を発生することができ、
オートピアノ演奏に合わせてマニユアル階名演奏
を行なうこともできる。 (4) オート階名モード 演奏データメモリから演奏データを読出すと共
に音声データメモリから階名に対応した音声デー
タを読出すことにより自動的に階名音を発生す
る。この場合、階名音の音高は、演奏データ中に
含まれている音高データに応じて決定される。ま
た、オート階名モードでは、前述のマニユアルピ
アノモードの場合と同様にしてピアノ音を発生す
ることができ、オート階名演奏に合わせてマニユ
アルピアノ演奏を行なうこともできる。 第1図において、10はモード選択回路であ
り、モード選択スイツチ12と、2個のORゲー
ト14及び16とを含んでいる。モード選択スイ
ツチ12は、マニユアルピアノモードMP、マニ
ユアル階名モードMD、オートピアノモードAP、
オート階名モードADのいずれかの位置に設定可
能である。ORゲート14は、モード選択スイツ
チ12をMD又はAPの位置に設定したときに出
力信号SL=“1”を発生するようになつている。
また、ORゲート16は、モード選択スイツチ1
2をAP又はADの位置に設定したときに出力信
号AUT=“1”を発生するようになつている。 タイミング信号発生回路18は、ピアノ音及び
階名音の発生動作を制御するための各種のタイミ
ング信号を発生するもので、その詳細は第2図に
ついて後述する。 鍵盤回路20は、一例としてF2音〜F4音に対
応した25個の鍵を有する鍵盤を含むもので、それ
ぞれの鍵に対応した鍵スイツチを所定の順序で反
復的に走査することにより押圧鍵に対応した音高
データKPCを発生するようになつている。鍵盤
回路20には、単音選択回路が設けられており、
複数鍵が同時に押された場合にはこれらの押圧鍵
のうち走査順位が最も遅い1鍵に対応した音高デ
ータKPCが選択送出される。各音高データKPC
は、5ビツトで各鍵毎の音高を表わすもので、最
上位ビツトがオクターブコード、残り4ビツトが
ノートコードとなつている。なお、各音高データ
KPCは、これに対応する鍵の押鍵期間中送出さ
れ続けるものである。 演奏データ発生回路22は、一例として20曲分
の演奏データを記憶した演奏データメモリを含む
もので、この演奏データメモリからどの曲の演奏
データを読出すかは電源投入時に鍵盤でどの鍵を
押すかによつて決定されるようになつている。す
なわち、電源投入時において、鍵盤回路20から
の音高データKPCがF4鍵に対応した音高を示し
ていると、演奏データメモリからは第1曲から第
20曲の演奏データが順次に読出され、音高データ
KPCがF4鍵以外の特定の鍵に対応した音高を示
していると、このときの押圧鍵に対応した特定の
曲の演奏データが演奏データメモリから読出され
る。換言すれば、F4鍵を押した場合には全曲指
定(全20曲の順次読出し)となり、F4鍵以外の
所望の鍵を押した場合には特定曲指定(20曲中所
望の1曲の選択読出し)となる。なお、特定曲指
定において、どの鍵を押すと、どの曲が選択され
るかは予め定められている。 演奏データ読出動作 ここで、演奏データメモリからのデータ読出動
作を簡単に述べる。上記のようにして読出すべき
曲が指定されると、演奏データメモリからは、指
定の曲(全曲指定の場合は第1曲)のテンポデー
タが読出され、これに続いて該曲の第1音目の音
高データ及び符長データが読出される。 演奏データ読出しに関して時分割処理回路24
は、(A1)テンポ設定用の基準クロツク信号を計
数して基準クロツク計数データを発生する処理
と、(A2)テンポクロツク信号を計数してテンポ
クロツク計数データを発生する処理と、(A3)符
長終了タイミング信号を計数して読出用のアドレ
スデータを発生する処理とを時分割的に実行する
ようになつている。 演奏データ発生回路22は、時分割処理回路2
4からデータ出力DOAとして送出される基準ク
ロツク計数データ及び演奏データメモリから読出
されたテンポデータに基づいて指定の曲のテンポ
に対応した周波数を有するテンポクロツク信号を
発生する。このテンポクロツク信号は出力信号
POとして時分割処理回路24に供給され、計数
される。演奏データ発生回路22は、時分割処理
回路24からデータ出力DOAとして送出される
テンポクロツク計数データ及び演奏データメモリ
から読出された第1音目の符長データに基づいて
第1音目の符長の終了タイミングを検知して符長
終了タイミング信号を発生する。この符長終了タ
イミング信号は出力信号POとして時分割処理回
路24に供給され、これに応じて同回路24は読
出アドレスを1つ進める。このときの読出アドレ
スデータはデータ出力DOAとして演奏データ発
生回路22に供給され、これに応じて演奏データ
メモリからは第2音目の音高データ及び符長デー
タが読出される。そして、以下同様にして各音毎
に音高・符長データが読出される。なお、休符に
ついては全ビツト“0”の音高データと、休符長
に対応した符長データとが読出される。 上記のような演奏データ読出動作により演奏デ
ータ発生回路22からは指定の曲に関する各音毎
の音高データMPCが送出される。各音高データ
MPCは、4ビツトで各音毎の音高を表わすもの
で、最上位ビツトがオクターブコード、残り3ビ
ツトがノートコードとなつている。なお、各音高
データMPCは、これに対応する符長が終了する
まで送出され続けるものである。 演奏データ発生回路22においては、電源投入
時に鍵盤でいずれの鍵も押さないと、演奏データ
メモリからのデータ読出しが禁止されるようにな
つている。従つて、電源投入時の鍵盤操作として
は、オートピアノモードAP又はオート階名モー
ドADを選択した場合のみ全曲指定あるいは特定
曲指定(選曲)のための押鍵操作を行なえばよ
く、マニユアルピアノモードMP又はマニユアル
階名モードMDを選択した場合にはどの鍵も押さ
ないようにすればよい。 なお、演奏データ発生回路22から時分割処理
回路24には後述のサブルーチン処理に関してア
ドレスデータADDが供給されると共に、時分割
処理回路24から演奏データ発生回路22には後
述の音声データ読出処理に関して読出完了信号
SREが供給される。 ピアノ音発生部 セレクタ26は、演奏データ発生回路22から
の音高データMPC及び鍵盤回路20からの音高
データKPCをそれぞれ入力A及びBとして受取
るもので、ORゲート14の出力信号SLからなる
選択信号SAが“1”ならば入力Aを、選択信号
SAが“0”ならば入力Bをそれぞれ選択するよ
うになつている。ここで、ORゲート14の出力
信号SL(選択信号SA)は、マニユアル階名モー
ドMDの場合及びオートピアノモードAPの場合
に“1”となるが、前述したようにマニユアル階
名モードMDの場合には音高データMPCが発生
されないので、セレクタ26からはオートピアノ
モードAPの場合にのみ音高データMPCが選択送
出される。また、ORゲート14の出力信号(選
択信号SA)は、マニユアルピアノモードMPの
場合及びオート階名モードADの場合に“0”と
なり、これらの場合において押鍵操作により音高
データKPCを発生させると、セレクタ26から
は音高データKPCが選択送出される。 セレクタ26から送出される音高データKPC
又はMPCはピアノ音発生のために用いられるも
のであり、上記したセレクタ26の動作によれば
オートピアノモードAP,マニユアルピアノモー
ドMP及びオート階名モードADの各場合にピア
ノ音発生が可能となる。 セレクタ26からの音高データKPC又はMPC
のうちノートコードデータNTは、デコーダ28
に供給される。デコーダ28は、F,F#…Eの
12音名及びF4音に対応した13本の出力ラインを
有するもので、ノートコードデータNTをデコー
ドして音名を検知し、その音名に対応した出力ラ
インに信号“1”を送出するようになつている。 デコーダ28の13本の出力ラインは、ROM
(リード・オンリイ・メモリ)からなる分周制御
データメモリ30の入力側に結合しており、メモ
リ30はデコーダ28の出力に応じて8ビツトの
分周制御データDVCを送出すようになつている。
ここで、分周制御データDVCは、右端を最上位
ビツトとして例示すると、 音名Fについては、「01110110」、 音名F#については、「01101000」、 F4音については、「10111011」 というように発生される。 セレクタ26からの音高データKPC又はMPC
のうちオクターブコード信号(最上位ビツトの信
号)OCTは、音源信号形成の際の可変分周動作
を制御するための時分割出力回路32に供給され
る。また、セレクタ26からの音高データKPC
又はMPCの各ビツトの信号を入力とするORゲー
ト34は、各音高データ毎にいずれかのビツトが
“1”である期間中“1”レベルをとるような発
音可能化信号PKOを発生し、この信号PKOはピ
アノエンベロープの立上りタイミングを決定する
ために時分割処理回路24に供給される。 時分割出力回路32は、エンベロープデータ形
成用の高速クロツク信号φH及び低速クロツク信
号φLを時分割処理回路24からの周波数切換信
号FCに応じて選択的に時分割処理回路24に供
給するようになつている。ここで、高速クロツク
信号φHは比較的急峻なデイケイカーブを得るた
めに使用されるものであり、低速クロツク信号
φLは比較的ゆるやかなデイケイカーブを得るた
めに使用されるものである。 ピアノ音発生に関して時分割処理回路24は、
(B1)分周制御データDVCに応じてパルスを計
数して分周出力を発生する処理と、(B2)高速ク
ロツク信号φH又は低速クロツク信号φLを計数し
てピアノエンベロープを表わすエンベロープデー
タを発生する処理とを時分割的に実行するように
なつている。 時分割出力回路32は、時分割処理回路24か
らデータ出力DOBとして送出される分周出力及
びセレクタ26からのオクターブコード信号
OCTに基づいて各音高データ毎に音高に対応し
た周波数を有する方形波状の音源信号TGを発生
すると共に、データ出力DOBとして送出される
8ビツトのエンベロープデータに反転処理及び振
幅レベルに応じたビツトシフト処理を施して6ビ
ツトのエンベロープデータEVを発生する。そし
て、音源信号TG及びエンベロープデータEVは、
デイジタル/アナログ(D/A)変換回路36に
供給される。 D/A変換回路36は、エンベロープデータ
EVに応じて音源信号TGにピアノエンベロープ
を付加する。このエンベロープ付加された音源信
号は、出力アンプ38を介してスピーカ40に供
給されるので、スピーカ40からはピアノ音が発
生される。 階名音発生部 セレクタ42は、演奏データ発生回路22から
の音高データMPC及び鍵盤回路20からの音高
データKPCをそれぞれ入力A及びBとして受取
るもので、ORゲート14の出力信号SLをインバ
ータ44により反転した選択信号SAに応じて前
述のセレクタ26とは反対の選択動作を行なうよ
うになつている。すなわち、選択信号SAは、マ
ニユアルピアノモードMPの場合及びオート階名
モードADの場合に“1”となるが、前述したよ
うにマニユアルピアノモードMPの場合には音高
データMPCが発生されないので、セレクタ42
からオート階名モードADの場合にのみ音高デー
タMPCが選択送出される。また、選択信号SAは
マニユアル階名モードMDの場合及びオートピア
ノモードAPの場合に“0”となり、これらの場
合において押鍵操作により音高データKPCを発
生させると、セレクタ42からは音高データ
KPCが選択送出される。 セレクタ42から送出される音高データKPC
又はMPCは階名音発生のために用いられるもの
であり、上記したセレクタ42の動作によれば、
オート階名モードAD、マニユアル階名モード
MD及びオートピアノモードAPの各場合に階名
音発生が可能になる。 セレクタ42からの音高データKPCは音声デ
ータ発生回路46に供給され、音高に対応した階
名の音声データを選択するのに使用される。 音声データ発生回路46は、一例として「フ
ア」、「ソ」…「ド」、「レ」…「ド」…「フア」の
2オクターブ分の15階名音に対応した音声データ
を記憶した音声データメモリを含んでいる。この
実施例では、いわゆる適応デルタ変調方式のデイ
ジタル音声合成システムを採用しているので、音
声データメモリには各階名音毎に音声信号を時系
列的に1ビツト(“0”又は“1”)で符号化した
シリアルコードデータが音声データとして記憶さ
れている。なお、この場合の符号化は、音声信号
を一定周期でサンプリングして各サンプル点毎に
予測値を求めると共に予測値と実際値との差の符
号の正又は負に応じてそれぞれ“1”又は“0”
を割当てるもので、それ自体公知である。 階名音発生に関して時分割処理回路24は、
(C1)クロツク信号を計数して音声データ読出用
のアドレスデータを発生する処理と、(C2)音声
データメモリからの読出データに基づいて振幅変
化分を相当するステツプ幅を演算してステツプ幅
データを形成する処理と、(C3)ステツプ幅デー
タに基づいて振幅の予測値を演算して予測データ
を発生する処理とを時分割的に実行するようにな
つている。 セレクタ42からの音高データKPC又はMPC
の各ビツトの信号を入力とするORゲート48
は、各音高データ毎にいずれかのビツトが“1”
である期間中“1”レベルをとるような発音可能
化信号DKOを発生する。この発音可能化信号
DKOは演奏データ発生回路22を介して時分割
処理回路24のアドレスカウンタをリセツト解除
させるように作用する。アドレスカウンタはこの
リセツト解除の後クロツク信号を計数してアドレ
スデータを発生し、これに応じて音声データメモ
リからは15階名音分のデータが並列的に、しかも
各音毎にビツトシリアル形式で読出される。そし
て、読出される音声データのうちから、そのとき
の音声データの示す音高に対応した階名の音声デ
ータが選択される。 このようにして選択される音声データに基づい
て音声データ発生回路46は前述のステツプ幅演
算及び予測値演算に必要な信号を出力信号SOと
して時分割処理回路24に供給する。 時分割処理回路24は、音声データ発生回路4
6からの出力信号SOに基づいて、特定の階名音
(例えば特定オクターブの「ド」)の波形における
各サンプル点毎のステツプ幅データを形成すると
共に、出力信号SO及び形成された各サンプル点
毎のステツプ幅データに基づいて各サンプル点毎
の予測値データを形成し、各予測値データをデー
タ出力DOBとして送出する。このようにして送
出される各予測値データは、9ビツトの2の補数
コードデータであり、その最上位ビツトがサイン
(符号)ビツトになつている。 時分割出力回路32は、時分割処理回路24か
らデータ出力DOBとして供給される各予測値デ
ータを2の補数コードからサインマグニチユード
コードにコード変換すると共に、コード変換され
たデータに対して振幅レベルに応じたビツトシフ
ト処理を施すことにより各サンプル点毎の振幅デ
ータAM及びサインビツト信号SGを送出する。
ここで、各振幅データAMは振幅の予測値の大き
さを示すものであり、各サインビツト信号は振幅
の予測値の符号(正又は負)を“1”又は“0”
で示すものである。 D/A変換回路36は、時分割出力回路32か
ら供給される各サンプル点毎の振幅データAM及
びサインビツト信号SGをD/A変換することに
より予測信号を再生する。この予測信号は、アナ
ログ信号波形として見ると、符号化の際に求めた
予測値の変化にほぼ対応した波形を示すもので、
出力アンプ38を介してスピーカ40に供給され
るので、スピーカ40からは階名音が発生され
る。 なお、上記説明では、ピアノ音又は階名音がそ
れぞれ単独で発音されるようにしたが、オートピ
アノモードAP又はオート階名モードADの場合
には、ピアノ音発生処理及び階名音発生処理が時
分割的に実行されるので、スピーカ40からは、
ピアノ音及び階名音が同時的に発生されうる。 タイミング信号発生回路 第2図は、タイミング信号発生回路18の詳細
構成を示すものである。 分周回路50は、第3図に示すように、1.46
〔μs〕の周期をもつマスタークロツク信号φMを分
周して互いに逆位相のクロツク信号φ1及びφ2
第3図に示すように発生するものである。クロツ
ク信号φ1及びφ2はいずれも2.91〔μs〕の周期を有
する。 分周回路52は、分周回路50の出力信号を分
周してピアノエンベロープ形成用の高速クロツク
信号φH及び低速クロツク信号φLを発生すると共
に、テンポ設定用の基準クロツク信号TCL0を発
生するものである。高速クロツク信号φHは0.47
〔ms〕の周期を有し、低速クロツク信号φLは9.32
〔ms〕の周期を有し、基準クロツク信号TCL0
18.64〔ms〕の周期を有する。 シフトレジスタ回路54は、電源投入に同期し
て発生されるイニシヤルクリア信号ICによつて
リセツトされるもので、リセツト時の出力Q0
Q7に応じたNORゲート56の出力信号“1”を
ORゲート58を介してデータ入力Dとして受取
り、これをクロツク信号φ1及びφ2に応じてシフ
トすることにより出力Q0〜Q7として順次のタイ
ミング信号T0〜T7を第3図に示すように発生す
るものである。タイミング信号T0〜T7はいずれ
も23.3〔μs〕の周期を有すると共に、各タイミン
グパルスがクロツク信号φ1の1周期に対応した
パルス幅を有するもので、時分割処理回路24に
おける8チヤンネル分の時分割処理を制御するの
に使用される。 ORゲート60は、タイミング信号T1,T3
T5及びT7を入力とするもので、タイミング信号
TC0を第3図に示すように発生する。また、OR
ゲート62は、タイミング信号T2,T3,T6及び
T7を入力とするもので、タイミング信号TC1
第3図に示すように発生する。さらに、ORゲー
ト64は、タイミング信号T4〜T7を入力とする
もので、タイミング信号TC2を第3図に示すよう
に発生する。 4進カウンタ66は、イニシヤルクリア信号
ICによつてリセツトされた後、タイミング信号
T7を計数するものである。NORゲート68は、
カウンタ66の出力Q1と、カウンタ66の出力
Q2を反転するインバータ70の出力とを入力と
するもので、タイミング信号φAを第3図に示す
ように発生する。また、NORゲート72は、カ
ウンタ66の出力Q1及びQ2を入力とするもので、
タイミング信号φBを第3図に示すように発生す
る。タイミング信号φA及びφBはいずれも93.2〔μs〕
の周期を有する。 ORゲート74は、タイミング信号φA及びφB
入力として第3図に示すようなタイミング信号
φA+φBを発生する。このタイミング信号φA+φB
はインバータ76を介してANDゲート78に供
給され、タイミング信号T2とAND演算される。
この結果、ANDゲート78からは、第3図に示
すようにタイミング信号T22が発生される。 演奏データ読出動作の詳細 演奏データ発生回路22においては、第4図に
示すように、ROM(リード・オンリイ・メモリ)
からなる演奏データメモリ80が設けられてお
り、このメモリ80には第5図に示すようなフオ
ーマツトで20曲分の演奏データが記憶されてい
る。すなわち、第5図aに示すように、0番地に
は曲A(第1曲)の先頭番地を示す先頭アドレス
データが記憶され、以下番地進行にしたがつて曲
B,C,D…の演奏データが記憶されている。ま
た、各曲の演奏データは、曲Aについて第5図b
に代表例を示すように、各々7ビツトのデータを
順次に配置して成るメインルーチン部及びサブル
ーチン部を含み、メインルーチン部にはテンポデ
ータの後に各音毎の音高・符長データが順次に配
置されると共に、音高・符長データ配列の途中に
サブルーチンに関する2バイトのデータ、すなわ
ちサブルーチンジヤンプデータ及び相対アドレス
データが配置され、サブルーチン部には各音毎の
音高・符長データが順次に配置されると共に、音
高・符長データ配列の末尾にサブルーチンリター
ンデータが配置されている。 メインルーチン部において、最終音の音高・符
長データの次には曲エンドデータ及び次曲(この
場合は曲B)の先頭アドレスデータが順次に配置
される。なお、最終曲(第20曲)については次曲
ということがないので、次曲の先頭アドレスデー
タに対応した位置に読出停止用のストツプデータ
が配置される。 テンポデータは、曲のテンポを設定するための
もので、上位4ビツトが識別コード(1110)とな
つており、残り3ビツトがテンポ値を表わす。 各音高・符長データは、各音毎に音高及び符長
を表わすもので、上位4ビツトが音高コード、残
り3ビツトが符長コードとなつている。音高コー
ドは、その最上位ビツトがオクターブコード、残
り3ビツトがノートコードとなつており、休符に
ついては音高コードの全ビツトが“0”にされ
る。 サブルーチンジヤンプデータは、サブルーチン
部へのジヤンプを指示するためのもので、上位4
ビットが識別コード(1100)、残り3ビツトが不
使用となっている。サブルーチン部を設けたの
は、一曲中で同一個所をくりかえし演奏する場合
に該個所に対応する演奏データをくりかえし回数
分記憶しておくとメモリ容量が増大するので、該
個所の演奏データはサブルーチン部に記憶してお
き、必要に応じてサブルーチン部へジヤンプして
演奏し、その演奏が終つたら再び元の位置に戻つ
て(サブルーチンリターンして)演奏を行なうよ
うにすることによつてメモリ容量の低減を図るた
めである。 相対アドレスデータは、サブルーチン部の先頭
アドレス指定を可能にするためのもので、この相
対アドレスデータを記憶した番地に応じて相対的
に決まるアドレス値を示すものである。すなわ
ち、サブルーチン部の先頭番地をAS番地とし、
相対アドレスデータの記憶番地をAR番地とする
と、相対アドレスデータは(AS−AR)なるアド
レス値を示すものである。 曲エンドデータは、曲の終りを指示するための
もので、上位4ビツトが識別コード(1111)、残
り3ビツトが不使用となつている。 次曲の先頭アドレスデータは、次曲の演奏デー
タのうちの最初のデータ(テンポデータ)が記憶
されている番地を示すもので、上位2ビツトがい
ずれも“0”で、残り5ビツトが先頭アドレス値
を表わすようになつている。 サブルーチンリターンデータは、サブルーチン
部からメインルーチン部への戻り(リターン)を
指示するためのもので、上位4ビツトが識別コー
ド(1101)、残り3ビツトが不使用となつている。 演奏データ読出しに関して時分割処理回路24
が基準クロツク計数データ発生処理(A1)、テン
ポクロツク計数データ発生処理(A2)及び読出
用アドレスデータ発生処理(A3)を時分割的に
実行することはは前述した通りである。ここで、
各処理(A1)〜(A3)における処理タイミング
及び出力タイミングを前述のタイミング信号T0
〜T7について示すと、次の第1表の通りである。
[Industrial Application Field] The present invention relates to an envelope applying circuit for an electronic musical instrument, and more particularly to an envelope applying circuit equipped with a D/A converter. [Summary of the Invention] This invention provides D/A conversion of an analog musical tone signal in which an envelope is added to a sound source signal by controlling the power supply voltage of a D/A converter that receives envelope data as input in accordance with the sound source signal. It was designed to be taken out of the container. According to this invention,
There is no need to provide a multiplication circuit for applying an envelope separately from the D/A converter, and the circuit configuration becomes simple. [Prior Art] Conventionally, digital electronic musical instruments read waveform data from memory at a rate corresponding to the pitch of the musical tone to be generated, supply this waveform data to a multiplier circuit, multiply it by envelope data, and perform multiplication. It is known that an enveloped analog musical tone signal is obtained by inputting the output data of the circuit to a D/A converter and performing D/A conversion. [Problems to be Solved by the Invention] According to the above-mentioned conventional technology, since it is necessary to provide a multiplication circuit separately from the D/A converter, the circuit configuration becomes complicated, resulting in an increase in cost. [Means for Solving the Problems] The present invention has been made to solve the above-mentioned problems. It is characterized by being controlled. That is, the envelope applying circuit according to the present invention includes a D/A converter that D/A converts digital envelope data representing the envelope of the musical tone to be generated to generate an analog output signal, and a pitch pitch of the musical tone to be generated. voltage control means for controlling the power supply voltage of the D/A converter in accordance with a sound source signal having a frequency corresponding to the sound source signal, and converts a musical tone signal in the form of an envelope to the sound source signal into an analog output signal of the D/A converter. It is configured so that it can be taken out as The voltage control means can be configured to control the power supply voltage of the D/A converter to be positive or negative with respect to a reference value in response to two levels of the sound source signal. Further, amplitude value data representing the amplitude value of the sound waveform is inputted to the D/A converter using an input timing different from that of the envelope data, and the voltage control means is inputted with the following input timing:
A sign bit signal representing the sign of the amplitude value of the sound waveform is input in place of the sound source signal in synchronization with the input timing of the amplitude data, and a sound signal is generated in which the amplitude value of the sound waveform is given a sign according to the sign bit signal. It may also be taken out as an analog output signal of a D/A converter. [Operation] According to the configuration of the present invention, since the D/A converter itself has an envelope adding function, there is no need to provide a digital or analog multiplier circuit separately from the D/A converter. Furthermore, if the power supply voltage of the D/A converter is controlled to be positive or negative depending on the two levels of the sound source signal as described above, it is convenient to amplitude modulate the square wave sound source signal according to the envelope data. be. Furthermore, if the configuration is such that a sound signal in which a sign is given to the amplitude value of a sound waveform is extracted as an analog output signal as described above, there is no need to provide a D/A converter and a sign giving circuit separately from the envelope giving circuit. This is convenient when generating multiple types of musical tones. Embodiments of this invention are shown in FIGS. 8 and 9.
This will be explained in detail from page 65 onwards with reference to the figures. [Example] Fig. 1 shows an electronic musical instrument to which the present invention is applied. This electronic musical instrument has a total of 4 modes: manual piano mode, manual scale mode, auto piano mode, and auto scale mode. It is now possible to perform these actions selectively. here,
The general operations for each mode are as follows (1) to (4). (1) Manual piano mode Generates a piano sound with a pitch corresponding to the pressed key based on manual performance operations on the keyboard. (2) Manual scale name mode Generates scale notes such as "C", "Re", and "Mi" having pitches corresponding to the pressed keys based on manual performance operations on the keyboard. (3) Auto piano mode Automatically generates piano sounds by reading performance data from the performance data memory. in this case,
The pitch of the piano sound is determined according to the pitch data included in the performance data. In addition, in the auto piano mode, scale notes can be generated in the same way as in the manual scale mode described above.
It is also possible to play manual scales along with the autopiano performance. (4) Auto scale name mode Scale name notes are automatically generated by reading performance data from the performance data memory and reading audio data corresponding to the scale name from the audio data memory. In this case, the pitch of the scale note is determined according to the pitch data included in the performance data. Furthermore, in the automatic scale mode, piano sounds can be generated in the same manner as in the manual piano mode described above, and manual piano performance can also be performed in conjunction with the automatic scale performance. In FIG. 1, a mode selection circuit 10 includes a mode selection switch 12 and two OR gates 14 and 16. The mode selection switch 12 includes manual piano mode MP, manual scale mode MD, auto piano mode AP,
Auto floor name mode can be set to any position in AD. The OR gate 14 is designed to generate an output signal SL="1" when the mode selection switch 12 is set to the MD or AP position.
In addition, the OR gate 16 is connected to the mode selection switch 1.
2 is set at the AP or AD position, output signal AUT="1" is generated. The timing signal generation circuit 18 generates various timing signals for controlling the generation operation of piano tones and scale tones, the details of which will be described later with reference to FIG. 2. The keyboard circuit 20 includes, for example, a keyboard having 25 keys corresponding to notes F2 to F4 , and is pressed by repeatedly scanning a key switch corresponding to each key in a predetermined order. It is designed to generate pitch data KPC corresponding to the key. The keyboard circuit 20 is provided with a single note selection circuit,
When a plurality of keys are pressed at the same time, pitch data KPC corresponding to the one key having the slowest scanning order among these pressed keys is selectively transmitted. Each pitch data KPC
represents the pitch of each key using 5 bits, with the most significant bit being an octave code and the remaining 4 bits being a note code. In addition, each pitch data
The KPC continues to be sent while the corresponding key is pressed. The performance data generation circuit 22 includes, for example, a performance data memory that stores performance data for 20 songs, and the performance data for which song is read from this performance data memory depends on which key is pressed on the keyboard when the power is turned on. It has come to be determined by In other words, when the power is turned on, if the pitch data KPC from the keyboard circuit 20 indicates the pitch corresponding to the F4 key, the performance data memory will record the pitch data from the first to
Performance data for 20 songs is read out sequentially, and pitch data is
If the KPC indicates a pitch corresponding to a specific key other than the F4 key, performance data of the specific song corresponding to the key pressed at this time is read from the performance data memory. In other words, if you press the F4 key, all songs will be specified (all 20 songs will be read out sequentially), and if you press any desired key other than the F4 key, you will be able to specify a specific song (the desired one of the 20 songs will be read out). (selective reading). Note that when specifying a specific song, which key is pressed to select which song is determined in advance. Performance Data Reading Operation Here, the data reading operation from the performance data memory will be briefly described. When a song to be read is specified as described above, the tempo data of the specified song (the first song if all songs are specified) is read from the performance data memory, and then the tempo data of the first song of the song is read out from the performance data memory. The pitch data and note length data of the note are read out. Time division processing circuit 24 for reading performance data
(A1) Counting the reference clock signal for tempo setting to generate reference clock count data, (A2) Counting the tempo clock signal to generate tempo clock count data, and (A3) Ending note length. The process of counting timing signals and generating address data for reading is executed in a time-division manner. The performance data generation circuit 22 includes the time division processing circuit 2
A tempo clock signal having a frequency corresponding to the tempo of a designated song is generated based on the reference clock count data sent as data output DOA from 4 and the tempo data read from the performance data memory. This tempo clock signal is the output signal.
It is supplied as PO to the time division processing circuit 24 and counted. The performance data generation circuit 22 calculates the note length of the first note based on the tempo clock count data sent as the data output DOA from the time division processing circuit 24 and the note length data of the first note read from the performance data memory. The end timing is detected and a note length end timing signal is generated. This code length end timing signal is supplied as an output signal PO to the time division processing circuit 24, and in response, the circuit 24 advances the read address by one. The read address data at this time is supplied to the performance data generation circuit 22 as the data output DOA, and in response, the pitch data and note length data of the second note are read from the performance data memory. Thereafter, pitch and note length data are read out for each note in the same manner. For rests, pitch data with all bits "0" and note length data corresponding to the rest length are read out. By the performance data reading operation as described above, the performance data generation circuit 22 sends out pitch data MPC for each note regarding the designated song. Each pitch data
MPC uses 4 bits to represent the pitch of each note, with the most significant bit being an octave code and the remaining 3 bits being a note code. Note that each pitch data MPC continues to be transmitted until the corresponding note length ends. In the performance data generation circuit 22, reading of data from the performance data memory is prohibited unless any key is pressed on the keyboard when the power is turned on. Therefore, when the power is turned on, the keyboard operations only need to be performed to specify all songs or specific songs (selection) when auto piano mode AP or auto scale mode AD is selected; manual piano mode When MP or manual hierarchy mode MD is selected, it is sufficient not to press any keys. Note that address data ADD is supplied from the performance data generation circuit 22 to the time division processing circuit 24 for subroutine processing to be described later, and address data ADD is supplied from the time division processing circuit 24 to the performance data generation circuit 22 for the audio data readout processing to be described later. completion signal
SRE is supplied. The piano sound generator selector 26 receives the pitch data MPC from the performance data generation circuit 22 and the pitch data KPC from the keyboard circuit 20 as inputs A and B, respectively, and selects the output signal SL from the OR gate 14. If the signal SA is “1”, input A is selected as the selection signal.
If SA is "0", input B is selected. Here, the output signal SL (selection signal SA) of the OR gate 14 is "1" in the case of manual scale mode MD and auto piano mode AP, but as described above, in the case of manual scale mode MD Since the pitch data MPC is not generated in , the selector 26 selectively sends out the pitch data MPC only in the auto piano mode AP. In addition, the output signal (selection signal SA) of the OR gate 14 becomes "0" in the manual piano mode MP and in the auto scale mode AD, and in these cases, pitch data KPC is generated by key press operation. Then, the selector 26 selectively sends out pitch data KPC. Pitch data KPC sent from selector 26
Alternatively, the MPC is used to generate piano sounds, and according to the operation of the selector 26 described above, piano sounds can be generated in each of the auto piano mode AP, manual piano mode MP, and auto scale mode AD. . Pitch data KPC or MPC from selector 26
Of these, the note code data NT is sent to the decoder 28.
is supplied to The decoder 28 decodes F, F#...E.
It has 13 output lines corresponding to 12 note names and 4 notes of F. It decodes the note code data NT, detects the note name, and sends a signal "1" to the output line corresponding to the note name. It's becoming like that. The 13 output lines of decoder 28 are ROM
(read-only memory), and the memory 30 is adapted to send out 8-bit frequency division control data DVC in response to the output of the decoder 28. .
Here, the frequency division control data DVC is exemplified with the right end as the most significant bit. For pitch name F, "01110110", for pitch name F#, "01101000", for F4 note, "10111011", etc. occurs in Pitch data KPC or MPC from selector 26
Of these, the octave code signal (signal of the most significant bit) OCT is supplied to a time division output circuit 32 for controlling variable frequency division operation when forming the sound source signal. In addition, pitch data KPC from selector 26
Alternatively, the OR gate 34, which receives the signals of each bit of the MPC, generates a sound generation enable signal PKO that takes the level "1" during the period when any bit is "1" for each pitch data. , this signal PKO is supplied to the time division processing circuit 24 in order to determine the rise timing of the piano envelope. The time division output circuit 32 selectively supplies a high speed clock signal φ H and a low speed clock signal φ L for forming envelope data to the time division processing circuit 24 according to the frequency switching signal FC from the time division processing circuit 24. It's getting old. Here, the high speed clock signal φ H is used to obtain a relatively steep decay curve, and the low speed clock signal φ L is used to obtain a relatively gentle decay curve. Regarding piano sound generation, the time division processing circuit 24:
(B1) Processing of counting pulses to generate a frequency-divided output according to the frequency division control data DVC, and (B2) Counting the high-speed clock signal φH or low-speed clock signal φL to generate envelope data representing the piano envelope. The processes that occur are executed in a time-sharing manner. The time division output circuit 32 receives the frequency division output sent as data output DOB from the time division processing circuit 24 and the octave code signal from the selector 26.
Based on OCT, a square wave sound source signal TG having a frequency corresponding to the pitch is generated for each pitch data, and the 8-bit envelope data sent as data output DOB is inverted and processed according to the amplitude level. Bit shift processing is performed to generate 6-bit envelope data EV. Then, the sound source signal TG and envelope data EV are
The signal is supplied to a digital/analog (D/A) conversion circuit 36. The D/A conversion circuit 36 converts envelope data
A piano envelope is added to the sound source signal TG according to EV. This enveloped sound source signal is supplied to the speaker 40 via the output amplifier 38, so that the speaker 40 generates a piano sound. The scale note generation section selector 42 receives pitch data MPC from the performance data generation circuit 22 and pitch data KPC from the keyboard circuit 20 as inputs A and B, respectively, and outputs the output signal SL of the OR gate 14 from the inverter. The selector 44 performs a selection operation opposite to that of the selector 26 described above in response to the selection signal SA inverted by the selector 44. That is, the selection signal SA is "1" in the manual piano mode MP and the auto scale mode AD, but as mentioned above, the pitch data MPC is not generated in the manual piano mode MP. selector 42
Pitch data MPC is selectively transmitted only in the case of auto scale mode AD. In addition, the selection signal SA becomes "0" in the manual scale mode MD and in the auto piano mode AP, and in these cases, when pitch data KPC is generated by key press operation, the pitch data is output from the selector 42.
KPC is selectively sent. Pitch data KPC sent from selector 42
Alternatively, the MPC is used for generating scale notes, and according to the operation of the selector 42 described above,
Auto floor name mode AD, manual floor name mode
Scale notes can be generated in each case of MD and autopiano mode AP. The pitch data KPC from the selector 42 is supplied to the audio data generation circuit 46, and is used to select the audio data of the scale name corresponding to the pitch. The audio data generation circuit 46 generates audio data that stores audio data corresponding to two octaves of 15th scale notes, for example, "hua", "g"..."do", "re"..."do"..."hua". Contains data memory. In this embodiment, a so-called adaptive delta modulation digital speech synthesis system is adopted, so the speech data memory stores the speech signal as one bit (“0” or “1”) for each scale tone in time series. The serial code data encoded in is stored as audio data. In this case, the encoding involves sampling the audio signal at a constant period to obtain a predicted value for each sample point, and depending on whether the sign of the difference between the predicted value and the actual value is positive or negative, "1" or “0”
, which is known per se. Regarding the scale tone generation, the time division processing circuit 24:
(C1) Processing of counting clock signals to generate address data for reading audio data, and (C2) Calculating step width corresponding to the amplitude change based on data read from the audio data memory to generate step width data. (C3) A process of calculating a predicted value of amplitude based on step width data to generate predicted data are executed in a time-sharing manner. Pitch data KPC or MPC from selector 42
OR gate 48 which receives the signals of each bit of
is, one bit is “1” for each pitch data.
A sound generation enable signal DKO is generated which takes the "1" level during a certain period. This sound enable signal
DKO acts to cancel the reset of the address counter of the time division processing circuit 24 via the performance data generation circuit 22. After this reset is released, the address counter counts the clock signals and generates address data, and in response, the data for the 15th scale note is sent in parallel from the audio data memory, and in bit serial format for each note. Read out. Then, from among the read audio data, audio data with a scale name corresponding to the pitch indicated by the audio data at that time is selected. Based on the audio data selected in this way, the audio data generation circuit 46 supplies the signals necessary for the above-described step width calculation and predicted value calculation to the time division processing circuit 24 as the output signal SO. The time division processing circuit 24 includes the audio data generation circuit 4
Based on the output signal SO from 6, step width data for each sample point in the waveform of a specific scale note (for example, "C" of a specific octave) is formed, and the output signal SO and each sample point formed are Predicted value data for each sample point is formed based on step width data for each step, and each predicted value data is sent out as a data output DOB. Each predicted value data sent out in this manner is 9-bit two's complement code data, the most significant bit of which is a sign bit. The time-division output circuit 32 code-converts each predicted value data supplied as data output DOB from the time-division processing circuit 24 from a two's complement code to a sine magnitude code, and also converts the code-converted data into a sine magnitude code. By performing bit shift processing according to the level, amplitude data AM and sign bit signal SG for each sample point are sent out.
Here, each amplitude data AM indicates the magnitude of the predicted amplitude value, and each sign bit signal indicates the sign (positive or negative) of the predicted amplitude value as "1" or "0".
This is shown in . The D/A conversion circuit 36 reproduces a predicted signal by D/A converting the amplitude data AM and sign bit signal SG for each sample point supplied from the time division output circuit 32. When viewed as an analog signal waveform, this predicted signal shows a waveform that approximately corresponds to the change in the predicted value obtained during encoding.
Since the signal is supplied to the speaker 40 via the output amplifier 38, the scale tone is generated from the speaker 40. In addition, in the above explanation, the piano note or the scale note are each pronounced independently, but in the case of auto piano mode AP or auto scale note mode AD, the piano sound generation process and the scale note generation process are Since it is executed in a time-sharing manner, from the speaker 40,
Piano notes and scale notes can be generated simultaneously. Timing Signal Generating Circuit FIG. 2 shows a detailed configuration of the timing signal generating circuit 18. As shown in FIG. The frequency dividing circuit 50 has a frequency of 1.46 as shown in FIG.
A master clock signal φ M having a period of [μs] is frequency-divided to generate clock signals φ 1 and φ 2 having opposite phases to each other as shown in FIG. Both clock signals φ 1 and φ 2 have a period of 2.91 [μs]. The frequency divider circuit 52 divides the output signal of the frequency divider circuit 50 to generate a high-speed clock signal φ H and a low-speed clock signal φ L for forming a piano envelope, and also generates a reference clock signal TCL 0 for setting the tempo. It is something to do. High speed clock signal φH is 0.47
It has a period of [ms], and the low-speed clock signal φ L is 9.32
It has a period of [ms], and the reference clock signal TCL 0 is
It has a period of 18.64 [ms]. The shift register circuit 54 is reset by an initial clear signal IC generated in synchronization with power-on, and outputs Q0 to Q0 at the time of reset.
The output signal “1” of the NOR gate 56 according to Q 7 is
FIG. 3 shows sequential timing signals T 0 -T 7 received as data input D through OR gate 58 and shifted in response to clock signals φ 1 and φ 2 as outputs Q 0 -Q 7 . This is how it occurs. Each of the timing signals T 0 to T 7 has a period of 23.3 [μs], and each timing pulse has a pulse width corresponding to one period of the clock signal φ 1 , and the timing signals T 0 to T 7 each have a period of 23.3 μs, and each timing pulse has a pulse width corresponding to one period of the clock signal φ 1 . used to control time-sharing processing. The OR gate 60 receives timing signals T 1 , T 3 ,
T5 and T7 are input, timing signal
TC 0 is generated as shown in FIG. Also, OR
Gate 62 receives timing signals T 2 , T 3 , T 6 and
It takes T7 as an input and generates a timing signal TC1 as shown in FIG. Further, the OR gate 64 receives timing signals T 4 to T 7 as input, and generates a timing signal TC 2 as shown in FIG. The quaternary counter 66 receives an initial clear signal.
After being reset by the IC, the timing signal
It counts T7 . NOR gate 68 is
Output Q 1 of counter 66 and output of counter 66
The output of the inverter 70 which inverts Q2 is input, and the timing signal φA is generated as shown in FIG. Further, the NOR gate 72 receives the outputs Q 1 and Q 2 of the counter 66 as inputs, and
A timing signal φ B is generated as shown in FIG. Timing signals φ A and φ B are both 93.2 [μs]
It has a period of OR gate 74 receives timing signals φ A and φ B as input and generates timing signal φ AB as shown in FIG. This timing signal φ A + φ B
is supplied to an AND gate 78 via an inverter 76, and is ANDed with the timing signal T2 .
As a result, the AND gate 78 generates a timing signal T22 as shown in FIG. Details of Performance Data Reading Operation In the performance data generation circuit 22, as shown in FIG.
A performance data memory 80 is provided, and this memory 80 stores performance data for 20 songs in a format as shown in FIG. That is, as shown in FIG. 5a, the start address data indicating the start address of song A (first song) is stored at address 0, and songs B, C, D, etc. are then played in accordance with the address progression. Data is stored. The performance data for each song is shown in Figure 5b for song A.
As shown in a typical example, it includes a main routine section and a subroutine section each consisting of 7-bit data arranged in sequence, and the main routine section contains tempo data followed by pitch and note length data for each note in sequence. In addition, 2-byte data related to the subroutine, that is, subroutine jump data and relative address data, are placed in the middle of the pitch/note length data array, and the pitch/note length data for each note is placed in the subroutine section. The subroutine return data is arranged sequentially, and subroutine return data is arranged at the end of the pitch/note length data array. In the main routine section, after the pitch and note length data of the final note, song end data and start address data of the next song (in this case, song B) are sequentially arranged. It should be noted that since the last song (the 20th song) is not called the next song, stop data for stopping reading is placed at a position corresponding to the start address data of the next song. The tempo data is for setting the tempo of the song, and the upper 4 bits are an identification code (1110), and the remaining 3 bits represent the tempo value. Each pitch/note length data represents the pitch and note length of each note, with the upper 4 bits being a pitch code and the remaining 3 bits being a note length code. The most significant bit of the pitch code is an octave code, and the remaining three bits are a note code, and for rests, all bits of the pitch code are set to "0". The subroutine jump data is for instructing a jump to the subroutine section, and is
The bit is the identification code (1100) and the remaining 3 bits are unused. The subroutine section was provided because if the same section of a song is played repeatedly, storing the performance data corresponding to that section for the number of times will increase the memory capacity, so the performance data of that section is stored in the subroutine section. By storing the data in the subroutine section, jumping to the subroutine section as needed to perform, and then returning to the original position (subroutine return) when the performance is finished, the memory can be played. This is to reduce the capacity. The relative address data is used to enable specification of the start address of the subroutine section, and indicates an address value that is determined relatively according to the address where the relative address data is stored. In other words, the first address of the subroutine part is the A S address,
Assuming that the storage address of the relative address data is the AR address, the relative address data indicates an address value of ( AS - AR ). The song end data is for indicating the end of the song, and the upper 4 bits are an identification code (1111), and the remaining 3 bits are unused. The start address data of the next song indicates the address where the first data (tempo data) of the performance data of the next song is stored. It is designed to represent an address value. The subroutine return data is used to instruct a return from the subroutine section to the main routine section, and the upper 4 bits are an identification code (1101), and the remaining 3 bits are unused. Time division processing circuit 24 for reading performance data
As described above, the reference clock count data generation process (A1), the tempo clock count data generation process (A2), and the read address data generation process (A3) are executed in a time-sharing manner. here,
The processing timing and output timing in each process (A1) to (A3) are determined by the above-mentioned timing signal T 0
-T7 is shown in Table 1 below.

【表】 この第1表によれば、処理タイミングに比べて
出力タイミングがT0〜T7のようなタイミング信
号におけるパルス2個分、すなわちクロツク信号
φ1の2周期分遅れていることがわかる。 時分割処理回路24においては、第6図に示す
ように、12ビツトの全加算器82と、この全加算
器82の出力S1〜S12をそれぞれ入力A1〜A12
して帰還するための8ステージ/12ビツトのシフ
トレジスタ回路84とが設けられており、このシ
フトレジスタ回路84は各ビツト毎に入力をクロ
ツク信号φ2で取込み、クロツク信号φ1で送出す
る1ステージ/1ビツトの2相シフトレジスタ
SFを8個縦続した構成になつている。シフトレ
ジスタSFのブロツク内に記載されている数字
「1」は、例えば第3図のT0のようなタイミング
信号を入力した場合、その1パルス分(クロツク
信号φ1の1周期分)遅れたT1のような出力信号
が得られることを意味し、このときは第6図又は
第4図において内部に数字が記載された同様のブ
ロツクについて類推適用される。例えば、「6」
が記載されたブロツクは6パルス分の遅延を与え
る6ステージ/1ビツトのシフトレジスタであ
る。 時分割処理回路24の出力信号としては、シフ
トレジスタ回路84の2ステージ目の出力D1
D12が取り出されるようになつており、このこと
は、第1表の説明で出力タイミングが処理タイミ
ングより2パルス分遅れると述べたことに対応し
ている。 演奏データ読出動作においては、全加算器82
及びシフトレジスタ回路84の下位6ビツトの部
分が8ステージ/6ビツトの時分割カウンタとし
て使用される。 いま、鍵盤においてF4鍵を押して電源を投入
したものとすると、第4図の回路では、ラツチ回
路86がイニシヤルクリア信号ICに応じて鍵盤
回路20からの高音データKPCをラツチする。
この音高データKPCは、F4鍵に対応した音高を
示すもので、これに応じてコード検出回路88は
F4鍵検出信号F4=“1”を発生し、セレクタ90
を入力A選択状態にする。このとき、コード検出
回路88から送出される無押鍵信号NKは、押鍵
ありなので、“0”であり、この信号“0”はイ
ンバータ92を介してチツプイネーブル信号CE
=“1”として演奏データメモリ80に供給され
る。このため、メモリ80からは、0番地のデー
タ、すなわち曲Aの先頭アドレスデータが読出さ
れ、セレクタ90を介してラツチ回路94に供給
され、そこにORゲート96からのイニシヤルク
リア信号ICに応じてラツチされる。 そして、T1及びφ2のタイミングになると、
ANDゲート98が出力信号“1”を発生するの
で、これに応じてラツチ回路100にはラツチ回
路94からのF4鍵に対応した音高データがラツ
チされると共にラツチ回路102には第6図の時
分割カウンタからのアドレスデータD1〜D6がラ
ツチされる。このアドレスデータD1〜D6は全ビ
ツト“0”である。なぜならば、第4図におい
て、R−Sフリツプフロツプ101がイニシヤル
クリア信号ICによつてリセツトされると、第6
図の全加算器82は第4図のANDゲート103
の出力信号“0”によりT7のタイミングでリセ
ツト解除され、時分割カウンタのT7のチヤンネ
ルは計数値ゼロであるからである。 ラツチ回路100のラツチデータ及びラツチ回
路102のラツチデータはそれぞれ上位アドレス
データ及び下位アドレスデータとしてメモリ80
に供給されるので、メモリ80からは曲Aのテン
ポデータが読出される。 このテンポデータはデコーダ104に供給さ
れ、これに応じてデコーダ104はテンポデータ
検出信号TEM=“1”を発生する。この検出信号
TEMはANDゲート106に供給され、ANDゲ
ート106はT6のタイミングで出力信号“1”
を発生し、この出力信号“1”に応じてラツチ回
路108はメモリ80からのテンポデータをラツ
チする。 テンポデータ検出信号TEMはORゲート11
0を介してアドレス歩進信号ADUとして第6図
のANDゲート112に供給され、ANDゲート1
12はT7のタイミングで出力信号“1”を発生
する。この出力信号“1”はORゲート114及
び116を介して全加算器82にキヤリイ入力Ci
として供給されるので、時分割カウンタのT7
チヤンネルは計数値1となる。この計数値1を示
すアドレスデータD1〜D6は、T1のタイミングで
シフトレジスタ回路84から送出され、T1及び
φ2のタイミングで第4図のラツチ信号102に
ラツチされる。このため、メモリ80からは、曲
Aの第1音目の音高・符長データが読出される。 このときの読出データのうち、音高データはデ
コーダ104及びラツチ回路118に供給され、
符長データはデコーダ120に供給される。デコ
ーダ104は音高データを受取ると、その5つの
出力信号がすべて“0”になり、これに応じて
NORゲート122が音高データ検出信号PC=
“1”を発生する。この検出信号PCはANDゲー
ト124に供給され、ANDゲート124はT6
タイミングで出力信号“1”を発生し、これに応
じてラツチ回路118はメモリ80からの音高デ
ータをラツチする。従つて、ラツチ回路118か
らは、第1音目の音高データが音高データMPC
として送出される。 また、この音高データMPCの送出タイミング
と同じT6のタイミングでゲート回路126が導
通するので、第1音目の符長データをデコーダし
たデコーダ120の出力はゲート回路126を介
してROMからなる符長コードメモリ128に供
給される。このメモリ128は、符長種類(例え
ば4分音符長)に応じたデコーダ120の出力を
第6図の時分割カウンタの計数出力との比較が可
能なようにコード化するもので、このメモリ12
8からの符長コードデータはオア回路130を介
して比較回路132に供給される。 ところで、先にラツチ回路108にラツチされ
たテンポデータは、インバータ134の出力信号
に応じてT6以外のタイミングで導通するゲート
回路136を介してROMからなるテンポコード
メモリ138に供給される。このメモリ138
は、テンポデータの下位3ビツトからなるテンポ
値データを第6図の時分割カウンタの計数出力と
の比較が可能なようにコード変換するもので、こ
のメモリ138からのテンポコードデータはオア
回路130を介して比較回路132に供給され
る。 第6図において、ANDゲート140は、T0
タイミングでテンポ設定用の基準クロツク信号
TCL0を送出するようになつており、この基準ク
ロツク信号TCL0はORゲート114及び116
を介して全加算器82にキヤリイ入力Ciとして供
給される。このため、時分割カウンタのT0のチ
ヤンネルは、基準クロツク信号TCL0を計数する
たびに計数値が1ずつ増大する。そして、このよ
うな計数動作に基づく基準クロツク計数データ
D1〜D6はT2のタイミング毎に第4図の比較回路
132に供給され、メモリ138からのテンポコ
ードデータと比較される。 比較回路132において、基準クロツク計数デ
ータとテンポコードデータとコード一致すると、
一致信号EQが発生される。この一致信号EQはシ
フトレジスタ142及び144を介してテンポク
ロツク信号TCLとして第6図のANDゲート14
6に供給され、ANDゲート146からはT4のタ
イミングでテンポクロツク信号TCLが送出され
る。 また、第4図において、シフトレジスタ114
から送出されるテンポクロツク信号TCLはシフ
トレジスタ148を介してANDゲート150に
供給される。このとき、ANDゲート150には
第1図のORゲート16からオートピアノモード
又はオート階名モードであることを示す出力信号
“1”が供給されており、ANDゲート150は
T0のタイミングでテンポクロツク信号TCLを送
出する。このテンポクロツク信号TCLはORゲー
ト152を介してリセツト信号RSTとして第6
図の全加算器82に供給され、これをリセツトさ
せる。このため、時分割カウンタのT0のチヤン
ネルは全ビツト“0”になり、この後、前記した
と同様に基準クロツク信号TCL0を計数する。 上記のような比較・計数動作の結果、第6図の
ANDゲート146からは、曲Aのテンポデータ
の示すテンポ値に対応した周波数を有するテンポ
クロツク信号TCLが送出される。そして、この
テンポクロツク信号TCLは、ORゲート114及
び116を介して全加算器82に入力されるの
で、時分割カウンタのT4のチヤネルはテンポク
ロツク信号TCLを計数するたびに計数値が1ず
つ増大する。 このような計数動作に基づくテンポクロツク計
数データD1〜D6はT6のタイミング毎に第4図の
比較回路132に供給され、メモリ128からの
第1音目の符長コードデータと比較される。そし
て、このような比較動作においてテンポクロツク
計数データと符長コードデータとがコード一致す
ると、一致信号EQが発生される。この一致信号
EQはシフトレジスタ142を介して符長終了タ
イミング信号LETとしてORゲート110に供給
され、このORゲート110からアドレス歩進信
号ADUとして第6図のANDゲート112に供給
される。 このときの符長終了タイミング信号LETは、
第1音目の音符長の終了タイミングを示すもの
で、T7のタイミングでANDゲート112から
ORゲート114及び116を介して全加算器8
2に入力される。このため、時分割カウンタの
T7のチヤンネルは計数値が1だけ増大する。こ
の計数値増大に対応したアドレスデータD1〜D6
はT1のタイミングでシフトレジスタ回路84か
らの送出され、T1及びφ2のタイミングで第4図
のラツチ回路102にラツチされる。従つて、メ
モリ80からは、曲Aの第2音目の音高・符長デ
ータが読出される。 また、シフトレジスタ142からの符長終了タ
イミング信号LETはシフトレジスタ144及び
148を介してANDゲート153に供給され、
これに応じてANDゲート153はT4のタイミン
グで出力信号“1”を発生する。この出力信号
“1”はORゲート152を介して第6図の全加
算器82にリセツト信号RSTとして供給され、
これをリセツトさせる。このため、時分割カウン
タのT4のチヤネルは全ビツト“0”になり、こ
の後、前記したと同様に第2音目の符長データに
関してテンポクロツク信号TCLを計数する。 そして、上記したと同様の符長測定・アドレス
歩進動作がくりかえされることによりラツチ回路
118からは次々に音高データMPCが送出され
る。 上記のような音高・符長データ読出動作が進行
していくと、やがてメモリ80からはT1及びφ2
のタイミングでサブルーチンジヤンプデータが読
出され、これに応じてデコーダ104がサブルー
チンジヤンプ検出信号SUB・J=“1”を発生す
る。この検出信号SUB・JはT6のタイミングで
ラツチ回路154にラツチされる。また、検出信
号SUB・JはORゲート110を介して第6図の
ANDゲート112に供給され、このANDゲート
112からORゲート114及び116を介して
T7のタイミングで全加算器82に入力される。
このため、時分割カウンタのT7のチヤンネルは
計数値1だけ増大し、この計数値増大に対応した
アドレスデータD1〜D6はT1のタイミングでシフ
トレジスタ回路84から送出される。このアドレ
スデータD1〜D6は相対アドレスデータの記憶番
地ARを示すものでである。 このT1のタイミングでは、ラツチ回路154
のラツチ信号SUB・Jがラツチ回路156にラ
ツチされる一方、ラツチ回路158には、ラツチ
回路154のラツチ信号SUB・Jに応じてAND
ゲート160からT1及びφ2のタイミングで発生
される出力信号に基づいて、番地ARを示すアド
レスデータがラツチされる。また、これと同時に
ラツチ回路102には、T1及びφ2のタイミング
で番地ARを示すアドレスデータがラツチされ、
これに応じてメモリ80からは相対アドレスデー
タはサブルーチン部の先頭番地をASとすると、
(AS−AR)なる番地を示すものである。 次に、T7のタイミングになると、ANDゲート
162がラツチ回路156のラツチ信号SUB・
Jに応じて出力信号“1”を発生し、これに応じ
てゲート回路164が導通する。このため、メモ
リ80から読出された相対アドレスデータは、ゲ
ート回路164及びオア回路166を介し、さら
に第6図のORゲート群168を介して全加算器
82に入力B1〜B6として供給される。このとき、
全加算器82の入力A1〜A6としては、番地AR
示すアドレスデータが供給されているので、全加
算器82の出力S1〜S6としては、サブルーチン部
の先頭番地ASを示すアドレスデータが得られ、
このアドレスデータはT1のタイミングでシフト
レジスタ回路84から送出され、第4図のラツチ
回路102にT1及びφ2のタイミングでラツチさ
れる。この結果、メモリ80からはサブルーチン
部の音高・符長データが前述のメインルーチン部
の場合と同様にして順次に読出される。 この後、サブルーチン部の最終音の符長終了タ
イミングになると、メモリ80からはT1及びφ2
のタイミングでサブルーチンリターンデータが読
出され、これに応じてデコーダ104がサブルー
チンリターン検出検出信号SUB・R=“1”を発
生する。この検出信号SUB・RはANDゲート1
70に供給され、これに応じてANDゲート17
0はT7のタイミングで出力信号“1”を発生し
てゲート回路172を導通させる。このため、ラ
ツチ回路158にラツチされていた番地ARを示
すアドレスデータは、ゲート回路172及びオア
回路166を介し、さらに第6図のORゲート群
168を介して全加算器82に入力B1〜B6とし
て供給される。このとき、検出信号SUB・Rは
NORゲート174の出力信号を“0”にして
ANDゲート群176中の各ANDゲートを非導通
状態にするので、全加算器82の入力A1〜A12
いずれも“0”である。 また、検出信号SUB・Rは第4図のORゲート
110を介して第6図のANDゲート112に供
給され、これに応じてANDゲート112は前述
のANDゲート170と同じT7のタイミングで出
力信号“1”を発生する。この出力信号“1”は
ORゲート114及び116を介して全加算器8
2にキヤリイ入力Ciとして供給されるので、全加
算器82の出力S1〜S6としては、(AR+1)番地
(すなわち相対アドレスデータの記憶番地の次の
番地)を示すアドレスデータが得られる。このア
ドレスデータはT1のタイミングでシフトレジス
タ回路84から送出され、T1及びφ2のタイミン
グで第4図のラツチ回路102にラツチされる。
この結果、メモリ80からはメインルーチン部の
相対アドレスデータの次の音高・符長データが読
出され、以下、サブルーチンジヤンプ以前と同様
に音高・符長データ読出動作が行なわれる。 この後、メインルーチン部の最終音の符長終了
タイミングになると、メモリ80からは曲エンド
データが読出され、これに応じてデコーダ104
は曲エンド検出信号END=“1”を発生する。こ
の検出信号ENDはORゲート110を介して第6
図のANDゲート112に供給されるので、時分
割カウンタのT7のチヤンネルは計数値が1だけ
増大する。そして、この計数値増大に対応したア
ドレスデータに基づいてメモリ80からはT1
びφ2のタイミングで次曲Bの先頭アドレスデー
タが読出される。 また、検出信号ENDは、デイレイ(D)回路
178に供給される。このデイレイ回路178
は、T6のタイミングで入力を取込み、T1のタイ
ミングで送出する2相シフトレジスタからなるも
ので、その出力信号ANDゲート180に供給さ
れてF4鍵検出信号F4及びタイミング信号T6
AND演算されるようになつている。このため、
次のT6のタイミングになると、ANDゲート18
0が出力信号LT=“1”を発生する。この出力信
号LTはORゲート96を介してラツチ回路94
に供給され、これに応じてラツチ回路94はメモ
リ80からセレクタ90を介して供給される次曲
Bの先頭アドレスデータをラツチする。 出力信号LTはまた、ANDゲート182に供給
され、これに応じてANDゲート182はT7のタ
イミングで出力信号“1”を発生する。この出力
信号“1”はORゲート152を介して第6図の
全加算器82をリセツトさせるので、時分割カウ
ンタのT7のチヤンネルは計数値ゼロとなる。 この計数値ゼロに対応したアドレスデータは
T1のタイミングでシフトレジスタ回路84から
送出され、T1及びφ2のタイミングで第4図の
ANDゲート98の出力信号“1”に応じてラツ
チ回路102にラツチされる。また、このときの
ANDゲート98の出力信号“1”はラツチ回路
100に供給され、これに応じてラツチ回路10
0はラツチ回路94からの次曲Bの先頭アドレス
データをラツチする。このため、メモリ80から
は、次曲Bのテンポデータが読出され、以下、前
述の曲Aの場合と同様の演奏データ読出動作が曲
Bについて行なわれる。 そして、上記したと同様の演奏データ読出動作
が曲C,D…について順次に行なわれ、終局的に
はメモリ80から最終曲の末尾のストツプデータ
が読出され、これに応じてデコーダ104はスト
ツプ検出信号STP=“1”を発生する。この検出
信号STPは、ORゲート184を介して前述のデ
イレイ回路178と同様のデイレイ回路186に
供給される。このため、フリツプフロツプ101
はT6の次のT1のタイミングでセツトされ、その
出力Q=“1”に応じてANDゲート103はT7
のタイミングで出力信号“1”発生する。この出
力信号“1”はORゲート152を介して第6図
の全加算器82をリセツトさせるので、時分割カ
ウンタのT7のチヤンネルは計数値ゼロになり、
以後この状態を続ける。従つて、メモリ80から
のデータ読出しは停止される。 上記したのは、全曲演奏の場合の演奏データ読
出動作であるが、単曲選択演奏の場合の演奏デー
タ読出動作は次の通りである。 この場合、鍵盤では、F4鍵以外の所望の曲に
対応した鍵を押す。すると、第4図の回路では、
イニシヤルクリア信号ICに応じて押圧鍵に対応
した音高データKPCがラツチ回路86にラツチ
される。この音高データKPCはF4鍵以外の鍵に
対応した音高を示すものであるので、コード検出
回路88のF4鍵検出信号F4は“0”であり、
セレクタ90は入力Bを選択する状態にある。こ
のため、ラツチ回路86からの音高データKPC
はセレクタ90を介してラツチ回路94に供給さ
れ、そこにORゲート96からのイニシヤルクリ
ア信号ICに応じてラツチされる。また、コード
検出回路88からの無押鍵信号NKは“0”であ
るので、メモリ80のチツプイネーブル信号CE
は“1”になる。 そして、T1及びφ2のタイミングになると、
ANDゲート98の出力信号“1”に応じてラツ
チ回路100にはラツチ回路94からの選択曲に
対応した音高データが、ラツチ回路102には第
6図の時分割カウンタからの全ビツト“0”のア
ドレスデータがそれぞれラツチされる。このた
め、メモリ80からは、選択曲の演奏データのう
ちテンポデータがまず読出され、しかる後各音毎
の音高・符長データ等が前述の曲Aの場合と同様
に読出される。 このような読出動作が進行していくと、やがて
メモリ80からは曲エンドデータが読出され、こ
れに応じてデコーダ104から曲エンド検出信号
END=“1”が発生される。この検出信号END
の発生に応じてメモリ80からは前述したように
次曲の先頭アドレスデータが読出されるが、この
先頭アドレスデータはセレクタ90が入力B選択
状態であるので、ラツチ回路94には供給されな
い。また、ラツチ回路94は、F4鍵検出信号F4
=“0”によりANDゲート80が非導通であるの
でラツチ動作しない。 検出信号ENDは、ANDゲート188に供給さ
れ、F4鍵検出信号F4を入力とするインバータ
190の出力とAND演算される。このとき、F4
鍵検出信号F4は“0”であるので、ANDゲー
ト188は出力信号“1”を発生し、この出力信
号“1”はORゲート184を介してデイレイ回
路186に供給される。このため、前述のストツ
プデータ読出しの場合と同様にして第6図の時分
割カウンタのT7のチヤンネルがリセツト状態と
なり、メモリ80からの以後のデータ読出しは停
止される。 なお、電源投入時において、鍵盤でいずれの鍵
も押されていないと、コード検出回路88からの
無押鍵信号NKが“1”になるので、チツプイネ
ーブル信号CEが“0”になり、メモリ80から
のデータ読出しは禁止される。 ピアノ音発生動作の詳細 ピアノ音発生に関して時分割処理回路24が分
周出力発生処理(B1)及びエンベロープデータ
発生処理(B2)を時分割的に実行することは前
述した通りである。ここで、各処理(B1)及び
(B2)における処理タイミング及び出力タイミン
グを前述のタイミング信号T0〜T7について示す
と次の第2表の通りである。
[Table] According to Table 1, it can be seen that the output timing is delayed by two pulses in timing signals such as T 0 to T 7 , that is, two periods of clock signal φ 1 , compared to the processing timing. . In the time division processing circuit 24, as shown in FIG . An 8-stage/12-bit shift register circuit 84 is provided, and this shift register circuit 84 takes in an input for each bit with a clock signal φ2 , and outputs it with a clock signal φ1 . phase shift register
It consists of 8 SFs connected in series. For example, when a timing signal like T0 in Figure 3 is input, the number " 1 " written in the block of shift register SF is delayed by one pulse (one cycle of clock signal φ1 ). This means that an output signal such as T 1 is obtained, which applies analogously to similar blocks with numbers written inside them in FIG. 6 or FIG. For example, "6"
The block described is a 6-stage/1-bit shift register that provides a delay of 6 pulses. The output signals of the time division processing circuit 24 include the outputs D 1 to 2 of the second stage of the shift register circuit 84.
D12 is now taken out, and this corresponds to the fact that in the explanation of Table 1, the output timing is delayed by two pulses from the processing timing. In the performance data reading operation, the full adder 82
The lower 6 bits of the shift register circuit 84 are used as an 8 stage/6 bit time division counter. Assuming that the power is turned on by pressing the F4 key on the keyboard, in the circuit shown in FIG. 4, the latch circuit 86 latches the high pitch data KPC from the keyboard circuit 20 in response to the initial clear signal IC.
This pitch data KPC indicates the pitch corresponding to the F4 key, and the chord detection circuit 88 operates accordingly.
F4 generates key detection signal F4="1" and selector 90
is set to input A selection state. At this time, the no-key pressed signal NK sent from the code detection circuit 88 is "0" since the key has been pressed, and this signal "0" is transmitted via the inverter 92 to the chip enable signal CE.
= "1" and is supplied to the performance data memory 80. Therefore, the data at address 0, that is, the start address data of song A, is read out from the memory 80 and supplied to the latch circuit 94 via the selector 90, where it is supplied in response to the initial clear signal IC from the OR gate 96. It will be latched. Then, when the timing of T 1 and φ 2 comes,
Since the AND gate 98 generates an output signal "1", the pitch data corresponding to the F4 key from the latch circuit 94 is latched in the latch circuit 100, and the pitch data corresponding to the F4 key is latched in the latch circuit 102 as shown in FIG. Address data D 1 to D 6 from the time division counters are latched. All bits of this address data D1 to D6 are "0". This is because, in FIG. 4, when the R-S flip-flop 101 is reset by the initial clear signal IC, the sixth
The full adder 82 in the figure is the AND gate 103 in FIG.
This is because the reset is released at the timing of T7 by the output signal "0" of the time division counter, and the count value of the T7 channel of the time division counter is zero. The latch data of the latch circuit 100 and the latch data of the latch circuit 102 are stored in the memory 80 as upper address data and lower address data, respectively.
Therefore, the tempo data of song A is read out from memory 80. This tempo data is supplied to the decoder 104, and in response, the decoder 104 generates a tempo data detection signal TEM="1". This detection signal
TEM is supplied to the AND gate 106, and the AND gate 106 outputs a signal “1” at the timing of T6 .
The latch circuit 108 latches the tempo data from the memory 80 in response to this output signal "1". Tempo data detection signal TEM is OR gate 11
0 as an address increment signal ADU to the AND gate 112 in FIG.
12 generates an output signal "1" at the timing of T7 . This output signal "1" is a carry input C i to the full adder 82 via OR gates 114 and 116.
Therefore, the T7 channel of the time division counter has a count value of 1. Address data D 1 to D 6 indicating the count value 1 is sent out from the shift register circuit 84 at timing T 1 and latched by the latch signal 102 in FIG. 4 at timing T 1 and φ 2 . Therefore, the pitch and note length data of the first note of the song A are read out from the memory 80. Among the read data at this time, pitch data is supplied to the decoder 104 and the latch circuit 118,
The code length data is supplied to a decoder 120. When the decoder 104 receives the pitch data, all of its five output signals become "0", and accordingly,
NOR gate 122 outputs pitch data detection signal PC=
Generates “1”. This detection signal PC is supplied to the AND gate 124, and the AND gate 124 generates an output signal "1" at timing T6 , and in response to this, the latch circuit 118 latches the pitch data from the memory 80. Therefore, the pitch data of the first note is output from the latch circuit 118 as the pitch data MPC.
Sent as . Furthermore, since the gate circuit 126 becomes conductive at the timing T6 , which is the same timing as the transmission timing of the pitch data MPC, the output of the decoder 120 that has decoded the note length data of the first note is transmitted from the ROM via the gate circuit 126. It is supplied to the note length code memory 128. This memory 128 encodes the output of the decoder 120 according to the note length type (for example, quarter note length) so that it can be compared with the count output of the time division counter shown in FIG.
The code length code data from 8 is supplied to a comparison circuit 132 via an OR circuit 130. By the way, the tempo data previously latched by the latch circuit 108 is supplied to a tempo code memory 138 consisting of a ROM via a gate circuit 136 which becomes conductive at timings other than T6 in accordance with the output signal of the inverter 134. This memory 138
The tempo value data consisting of the lower three bits of the tempo data is code-converted so that it can be compared with the count output of the time division counter shown in FIG. The signal is supplied to the comparison circuit 132 via. In FIG. 6, the AND gate 140 receives the reference clock signal for tempo setting at timing T0 .
This reference clock signal TCL 0 is transmitted to the OR gates 114 and 116.
is supplied as a carry input C i to the full adder 82 via C i . Therefore, the count value of the T0 channel of the time division counter increases by one every time the reference clock signal TCL0 is counted. Then, the reference clock count data based on such counting operation
D 1 to D 6 are supplied to the comparison circuit 132 in FIG. 4 at every timing T 2 and compared with the tempo code data from the memory 138. In the comparison circuit 132, when the reference clock count data and the tempo code data match,
A match signal EQ is generated. This coincidence signal EQ is passed through shift registers 142 and 144 as a tempo clock signal TCL to the AND gate 14 in FIG.
6, and the tempo clock signal TCL is sent from the AND gate 146 at timing T4 . In addition, in FIG. 4, the shift register 114
The tempo clock signal TCL sent from the tempo clock signal TCL is supplied to an AND gate 150 via a shift register 148. At this time, the AND gate 150 is supplied with an output signal "1" from the OR gate 16 in FIG.
Sends the tempo clock signal TCL at timing T0 . This tempo clock signal TCL is passed through an OR gate 152 as a reset signal RST.
It is supplied to full adder 82 in the figure and causes it to be reset. Therefore, all bits of the T0 channel of the time division counter become "0", and thereafter, the reference clock signal TCL0 is counted in the same manner as described above. As a result of the above comparison and counting operation, the result shown in Figure 6 is as follows.
A tempo clock signal TCL having a frequency corresponding to the tempo value indicated by the tempo data of song A is sent from the AND gate 146. This tempo clock signal TCL is input to the full adder 82 via OR gates 114 and 116, so that the count value of the T4 channel of the time division counter increases by 1 every time the tempo clock signal TCL is counted. . The tempo clock count data D 1 to D 6 based on such counting operation is supplied to the comparison circuit 132 in FIG. 4 at every timing T 6 and is compared with the note length code data of the first note from the memory 128. . When the tempo clock count data and the note length code data match in code in such a comparison operation, a match signal EQ is generated. This match signal
EQ is supplied to the OR gate 110 via the shift register 142 as the mark length end timing signal LET, and from this OR gate 110 is supplied as the address increment signal ADU to the AND gate 112 in FIG. The note length end timing signal LET at this time is
This indicates the end timing of the note length of the first note, and starts from the AND gate 112 at the timing of T7 .
Full adder 8 via OR gates 114 and 116
2 is input. Therefore, the time division counter
The count value of channel T 7 increases by 1. Address data D 1 to D 6 corresponding to this increase in count value
is sent out from the shift register circuit 84 at timing T1 , and latched by the latch circuit 102 in FIG. 4 at timings T1 and φ2 . Therefore, the pitch and note length data of the second note of song A are read out from memory 80. Further, the mark length end timing signal LET from the shift register 142 is supplied to the AND gate 153 via the shift registers 144 and 148.
In response, the AND gate 153 generates an output signal "1" at timing T4 . This output signal "1" is supplied as a reset signal RST to the full adder 82 in FIG. 6 via the OR gate 152.
Reset this. Therefore, all bits of the T4 channel of the time division counter become "0", and thereafter, the tempo clock signal TCL is counted with respect to the note length data of the second note in the same manner as described above. Then, by repeating the same note length measurement and address increment operations as described above, the latch circuit 118 successively sends out pitch data MPC. As the pitch/note length data reading operation progresses as described above, T 1 and φ 2 are eventually read from the memory 80.
The subroutine jump data is read out at the timing of , and in response to this, the decoder 104 generates the subroutine jump detection signal SUB•J="1". This detection signal SUB.J is latched by the latch circuit 154 at timing T6 . In addition, the detection signal SUB・J is passed through the OR gate 110 as shown in FIG.
is supplied to AND gate 112, and from this AND gate 112 via OR gates 114 and 116.
It is input to the full adder 82 at timing T7 .
Therefore, the channel T7 of the time division counter increases by the count value 1, and address data D1 to D6 corresponding to this increase in the count value is sent out from the shift register circuit 84 at the timing T1 . The address data D 1 to D 6 indicate the storage address AR of relative address data. At this timing of T1 , the latch circuit 154
The latch signal SUB・J of the latch circuit 156 is latched, while the latch circuit 158 has the AND signal SUB・J of the latch circuit 154 latched.
Based on output signals generated from gate 160 at timings T1 and φ2 , address data indicating address AR is latched. At the same time, address data indicating the address A R is latched into the latch circuit 102 at the timings T1 and φ2 .
Accordingly, the relative address data from the memory 80 is as follows, assuming that the first address of the subroutine section is A S.
This indicates the address (A S − A R ). Next, at timing T7 , the AND gate 162 activates the latch signal SUB・ of the latch circuit 156.
An output signal "1" is generated in response to J, and the gate circuit 164 is rendered conductive in response. Therefore, the relative address data read from the memory 80 is supplied as inputs B 1 to B 6 to the full adder 82 via the gate circuit 164 and the OR circuit 166, and further via the OR gate group 168 in FIG. Ru. At this time,
Since the inputs A 1 to A 6 of the full adder 82 are supplied with address data indicating the address A R , the outputs S 1 to S 6 of the full adder 82 are the first address A S of the subroutine section. The address data shown is obtained,
This address data is sent out from the shift register circuit 84 at timing T1 , and latched by the latch circuit 102 in FIG. 4 at timings T1 and φ2 . As a result, the pitch and note length data of the subroutine section are sequentially read out from the memory 80 in the same manner as in the case of the main routine section described above. After this, when the note length of the last note of the subroutine part ends, T 1 and φ 2 are stored from the memory 80.
The subroutine return data is read out at the timing , and in response to this, the decoder 104 generates the subroutine return detection detection signal SUB•R="1". This detection signal SUB・R is AND gate 1
70 and accordingly AND gate 17
0 generates an output signal "1" at the timing of T7 and makes the gate circuit 172 conductive. Therefore, the address data indicating the address A R latched in the latch circuit 158 is input to the full adder 82 via the gate circuit 172 and the OR circuit 166, and further via the OR gate group 168 in FIG. Supplied as ~ B6 . At this time, the detection signal SUB・R is
Set the output signal of NOR gate 174 to “0”
Since each AND gate in the AND gate group 176 is rendered non-conductive, the inputs A 1 to A 12 of the full adder 82 are all "0". Furthermore, the detection signal SUB・R is supplied to the AND gate 112 in FIG. 6 via the OR gate 110 in FIG. Generates signal “1”. This output signal “1” is
Full adder 8 via OR gates 114 and 116
2 as a carry input Ci , the outputs S 1 to S 6 of the full adder 82 are address data indicating the (A R +1) address (that is, the address next to the storage address of the relative address data). can get. This address data is sent out from the shift register circuit 84 at timing T1 , and latched by the latch circuit 102 of FIG. 4 at timing T1 and φ2 .
As a result, the pitch/note length data next to the relative address data of the main routine portion is read out from the memory 80, and thereafter, the pitch/note length data reading operation is performed in the same manner as before the subroutine jump. Thereafter, when the note length end timing of the final note of the main routine section is reached, the song end data is read out from the memory 80, and the decoder 104
generates a song end detection signal END="1". This detection signal END is passed through the OR gate 110 to the sixth
Since the signal is supplied to AND gate 112 in the figure, the T7 channel of the time division counter increases its count value by one. Then, based on the address data corresponding to this increase in the count value, the head address data of the next song B is read out from the memory 80 at timings T1 and φ2 . Further, the detection signal END is supplied to a delay (D) circuit 178. This delay circuit 178
consists of a two-phase shift register that takes in an input at timing T6 and sends it out at timing T1 , and its output signal is supplied to AND gate 180 and output as F4 key detection signal F4 and timing signal T6 .
It is designed to be AND-operated. For this reason,
When the timing of the next T 6 comes, AND gate 18
0 generates an output signal LT="1". This output signal LT is passed through an OR gate 96 to a latch circuit 94.
In response, the latch circuit 94 latches the start address data of the next song B supplied from the memory 80 via the selector 90. The output signal LT is also supplied to the AND gate 182, and in response, the AND gate 182 generates an output signal "1" at timing T7 . This output signal "1" causes the full adder 82 of FIG. 6 to be reset through the OR gate 152, so that the T7 channel of the time division counter has a count value of zero. The address data corresponding to this count value of zero is
It is sent from the shift register circuit 84 at the timing of T1 , and the signal shown in FIG. 4 is sent out at the timing of T1 and φ2 .
It is latched by the latch circuit 102 in response to the output signal "1" of the AND gate 98. Also, at this time
The output signal "1" of the AND gate 98 is supplied to the latch circuit 100, and in response, the latch circuit 10
0 latches the start address data of the next song B from the latch circuit 94. Therefore, the tempo data for the next song B is read from the memory 80, and the same performance data reading operation as for song A described above is performed for song B. Then, the performance data reading operation similar to that described above is sequentially performed for songs C, D, etc., and eventually the stop data at the end of the last song is read out from the memory 80, and in response to this, the decoder 104 outputs a stop detection signal. Generates STP="1". This detection signal STP is supplied via an OR gate 184 to a delay circuit 186 similar to the delay circuit 178 described above. For this reason, the flip-flop 101
is set at the timing of T1 following T6 , and the AND gate 103 sets T7 according to the output Q=“1”.
The output signal “1” is generated at the timing of . This output signal "1" causes the full adder 82 in FIG. 6 to be reset through the OR gate 152, so that the T7 channel of the time division counter has a count value of zero,
This state will continue from now on. Therefore, data reading from memory 80 is stopped. What has been described above is the performance data reading operation in the case of all-musical performance, but the performance data reading operation in the case of single-music selective performance is as follows. In this case, on the keyboard, press a key other than the F4 key that corresponds to the desired song. Then, in the circuit shown in Figure 4,
Pitch data KPC corresponding to the pressed key is latched in the latch circuit 86 in response to the initial clear signal IC. Since this pitch data KPC indicates pitches corresponding to keys other than the F4 key, the F4 key detection signal F4 of the chord detection circuit 88 is "0".
Selector 90 is in a state where input B is selected. Therefore, the pitch data KPC from the latch circuit 86
is supplied to a latch circuit 94 via a selector 90 and latched therein in response to an initial clear signal IC from an OR gate 96. Also, since the keyless signal NK from the code detection circuit 88 is "0", the chip enable signal CE of the memory 80 is
becomes “1”. Then, when the timing of T 1 and φ 2 comes,
In response to the output signal "1" of the AND gate 98, the latch circuit 100 receives pitch data corresponding to the selected song from the latch circuit 94, and the latch circuit 102 receives all bits "0" from the time division counter shown in FIG. ” address data are respectively latched. For this reason, the tempo data of the performance data of the selected song is first read out from the memory 80, and then the pitch, note length data, etc. for each note are read out in the same manner as in the case of song A described above. As this read operation progresses, song end data will eventually be read out from the memory 80, and in response, the song end detection signal will be output from the decoder 104.
END="1" is generated. This detection signal END
In response to this occurrence, the start address data of the next song is read out from the memory 80 as described above, but since the selector 90 is in the input B selection state, this start address data is not supplied to the latch circuit 94. In addition, the latch circuit 94 outputs the F4 key detection signal F4.
Since the AND gate 80 is non-conductive due to ="0", no latch operation occurs. The detection signal END is supplied to an AND gate 188, and is ANDed with the output of an inverter 190 which receives the F4 key detection signal F4 as input. At this time, F 4
Since the key detection signal F4 is "0", the AND gate 188 generates an output signal "1", and this output signal "1" is supplied to the delay circuit 186 via the OR gate 184. Therefore, in the same manner as in the case of stop data reading described above, the channel T7 of the time division counter in FIG. 6 is brought into a reset state, and subsequent data reading from memory 80 is stopped. Note that when the power is turned on, if no key is pressed on the keyboard, the no-key-pressed signal NK from the code detection circuit 88 becomes "1", so the chip enable signal CE becomes "0", and the memory Data reading from 80 is prohibited. Details of Piano Sound Generation Operation As described above, the time division processing circuit 24 executes the frequency division output generation process (B1) and the envelope data generation process (B2) in a time division manner regarding piano sound generation. Here, the processing timing and output timing in each process (B1) and (B2) are shown in Table 2 below for the above-mentioned timing signals T0 to T7 .

【表】 この第2表によれば、処理タイミングに対する
出力タイミングの遅れは第1表の場合と同様であ
ることがわかる。 第6図おいて、全加算器82及びシフトレジス
タ回路84は、T5のタイミングでは最下位ビツ
トから7ビツト目までの部分が7ビツトカウンタ
として使用されて分周出力DOを送出すると共
に、T6のタイミングでは最下位ビツトから9ビ
ツト目までの部分が9ビツトカウンタとして使用
されてD2〜D9の8ビツトのエンベロープデータ
を送出する。 分周出力発生処理において、ANDゲート19
2には、第1図の分周制御データメモリ30から
分周制御データDVCの最下位ビツトの信号が入
力され、この信号はT5のタイミングでORゲート
群194中の最下位ビツトのORゲートを介して
シフトレジスタSFに入力されるようになつてい
る。また、ANDゲート群196において、全加
算器82の出力S1,S2…S7を入力とするANDゲ
ートにはキヤリイ入力Ci、キヤリイ出力C1,C2
C6がそれぞれ入力されると共に、分周制御デー
タDVCの2ビツト目から7ビツト目の信号がそ
れぞれ入力されるようになつており、ANDゲー
ト群196中の各ANDゲートの出力信号はNOR
ゲート198に入力されるようになつている。 ラツチ回路200は、T5及びφ2のタイミング
でANDゲート202の出力信号“1”に応じて
NORゲート198の出力信号をラツチするもの
で、NORゲート198の出力信号が“1”であ
るとき、ラツチした信号“1”を送出するように
なつている。この信号“1”はT5のタイミング
でANDゲート204を介し、さらにORゲート1
16を介して全加算器82にキヤリイ入力Ciとし
て供給される。このため、全加算器82にパルス
を入力すべきか否かはT5のタイミング毎にNOR
ゲート198の出力信号“1”又は“0”に応じ
て制御される。 上記構成の結果、7ビツトカウンタのT5のチ
ヤンネルの計数動作は分周制御データDVCに応
じて制御されるようになり、同カウンタの5〜7
ビツト目からは所望の音名(例えばF)に対応し
た分周信号D5,D6及びD7が得られる。これらの
分周信号D5〜D7はD5よりD6が、D6よりD7がそれ
ぞれ1/2ずつ周波数が低いもので、分周出力DO
として第7図の時分割出力回路32に供給され
る。なお分周出力DOをT5のタイミングにおける
計数データとして見た場合には、この計数データ
はシフトレジスタ回路84から第7図の回路に
T7のタイミングで供給される。 第7図において、分周信号D5及びD6はセレク
タ206にそれぞれ入力A及びBとして供給さ
れ、分周信号D6及びD7はセレクタ208にそれ
ぞれ入力A及びBとして供給される。セレクタ2
06及び208の選択動作は、オクターブコード
信号OCT及びタイミング信号T7を入力とする
ANDゲート210の出力信号からなる選択信号
SAに応じて制御される。 オクターブコード信号OCTが“0”であると
き(F2〜F3音の属するオクターブのとき)、選択
信号SAは“0”であるので、セレクタ206は
分周信号D6を、セレクタ208は分周信号D7
それぞれ選択送出する。ANDゲート212は、
セレクタ206及び208の出力が共に“1”に
なるたびに出力信号“1”を発生し、この出力信
号“1”は第6図のSFと同様のシフトレジスタ
214を介してT0のタイミングで送出される。
この場合、一例として音名Fに関して分周信号
D5〜D7が発生されたものとすれば、シフトレジ
スタ214からはF2音に対応した周波数を有す
る方形波状の音源信号TGが得られる。 また、オクターブコード信号OCTが“1”で
あるとき(F3〜F4音の属するオクターブのとき
及びF4音のとき)、選択信号SAはT7のタイミン
グ毎に“1”になるので、セレクタ206は分周
信号D5を、セレクタ208は分周信号D6をそれ
ぞれ選択送出する。ANDゲート212は、セレ
クタ206及び208の出力が共に“1”になる
たびに出力信号“1”を発生し、この出力信号
“1”はシフトレジスタ214を介してT0のタイ
ミングで送出される。この場合、前述例と同じく
音名Fに関して分周信号D5〜D7が発生されたも
のとすれば、シフトレジスタ214からはF3
に対応した周波数を有する方形波状の音源信号
TGが得られる。なお、F4音については、分周信
号D5の周波数が音名Fの場合の2倍になるよう
に分周制御データDVCの値を定めてあるので、
オクターブコード信号OCTが“1”のときにF4
音に対応した周波数の音源信号TGが得られる。 エンベロープデータ発生処理において、第6図
の回路では、イニシヤルクリア信号ICに応じて
ANDゲート216がT6のタイミングで出力信号
“1”を発生する。この出力信号“1”は、OR
ゲート群194を介して9ビツトカウンタのT6
のチヤンネルを全ビツト“1”にする。これは、
電源投入時のピアノエンベロープの振幅レベルを
ゼロにしてピアノ発音を禁止するためである。 この後、ピアノ音発生のための発音可能化信号
PKOが発生されると、この信号PKOは、微分回
路218により立上り微分される。この微分回路
218の微分出力に応じてANDゲート220は
T6のタイミングで出力信号“1”を発生する。
この出力信号“1”は、ORゲート群194中の
9ビツト目のORゲートを介してシフトレジスタ
回路84の第1ステージの9ビツト目のシフトレ
ジスタに入力される一方、NORゲート174の
出力信号を“0”にしてANDゲート群176中
の各ANDゲートを非導通にすることにより全加
算器82の入力A1〜A9を全ビツト“0”にする。 この結果、発音可能化信号PKOの立上り時に
は、9ビツトカウンタのT6のチヤンネルにおい
て9ビツト目が“1”になると共に、最下位ビツ
トから8ビツト目までがすべて“0”になり、そ
の2ビツト目から9ビツト目までの8ビツトのデ
ータ「00000001」はシフトレジスタ回路84を介
してT0のタイミングでエンベロープデータD2
D9として第7図の回路に供給される。 次のT6のタイミングになると、シフトレジス
タ回路84の第8ステージの8ビツト目のシフト
レジスタから出力信号“0”が送出され、この出
力信号“0”は周波数切換信号FCとして第7図
のセレクタ222に供給される。 第7図において、ラツチ回路224は、ORゲ
ート226からのタイミング信号T0及びクロツ
ク信号φ2を入力とするANDゲート228の出力
信号に応じてT0及びφ2のタイミングでエンベロ
ープデータD2〜D9及び音源信号TG(シフトレジ
スタ214の出力)をラツチするもので、前述の
発音可能化信号PKOの立上り時には8ビツトの
エンベロープデータとして最上位ビツト(D9
対応)のみ“1”のデータを送出する。このデー
タの各ビツトの信号はNANDゲート230に入
力されるので、NANDゲート230は出力信号
“1”を発生し、この出力信号“1”はT2のタイ
ミングでラツチ回路232にラツチされ、AND
ゲート234に供給される。このため、ANDゲ
ート234は、T6及びφAのタイミングで出力信
号“1”を発生し、この出力信号“1”はセレク
タ222にイネーブル信号ENとして供給され
る。 セレクタ222は、イネーブル信号ENに応じ
てイネーブル状態になると、周波数切換信号FC
からなる選択信号SA=“0”に応じて入力Bとし
ての高速クロツク信号φHを選択送出し、この高
速クロツク信号φHは第6図のORゲート114及
び116を介して全加算器82にキヤリイ入力Ci
として供給される。このため、9ビツトカウンタ
のT6のチヤンネルは高速クロツク信号φHに応じ
て比較的速い速度で計数値が増大する。 このような計数値増大が進行していくと、やが
てシフトレジスタ回路84の第8ステージの8ビ
ツト目のシフトレジスタから出力信号“1”が送
出され、この出力信号“1”は周波数切換信号
FCとして第7図のセレクタ222に供給される。
このため、セレクタ222は選択信号SAが“1”
となり、入力Aとしての低速クロツク信号φL
選択送出する。従つて、9ビツトカウンタのT6
のチヤンネルは、これ以後低速クロツク信号φL
に応じて比較的遅い速度で計数値が増大する。そ
して、9ビツトカウンタの2ビツト目から7ビツ
ト目まですべて“1”になると、第7図の
NANDゲート230の8つの入力ビツトがすべ
て“1”になるので、NANDゲート230は出
力信号“0”を発生し、これに応じてT2の後の
T6及びφAのタイミングでセレクタ222がデイ
スエーブル状態となる。従つて、9ビツトカウン
タのT6のチヤンネルにおける計数値増大は阻止
される。 9ビツトカウンタにおける上記のような計数値
変化に対応した個々の計数データはいずれもエン
ベロープデータD2〜D9としてラツチ回路224
を介して反転回路236に供給され、各ビツト毎
に排他的ORゲートによる反転処理を受ける。こ
の反転処理は、ラツチ回路224からのエンベロ
ープデータの数値変化が「00000001」から
「11111111」までとなつているのを、「11111110」
から「00000000」までとなるようにするもので、
ピアノエンベロープを倒立形から正立形に変更す
ることに相当する。 反転回路236においては、タイミング信号
TC2をインバータ238で反転した信号2
ORゲート240から供給されるのに応じて反転
処理が行なわれる。すなわち、反転回路236か
らは、タイミング信号TC2が“0”であるT0
T3の期間に反転処理を受けたエンベロープデー
タが送出される。 そして、このようにして順次に送出されるエン
ベロープデータはゼロレベルから所定のアタツク
レベルまで立上つた後、比較的急峻なデイケイカ
ーブにしたがつて所定値まで低下し、そこからさ
らに比較的ゆるやかなデイケイカーブにしたがつ
てゼロレベルまで低下するようなピアノエンベロ
ープを表現するものとなる。ここで、ゼロレベル
は、反転回路236の出力K1〜K7がすべて“0”
(D2〜D8がすべて“1”)の状態に対応し、所定
のアタツクレベルは、反転回路236の出力K1
〜K7がすべて“1”(D2〜D8がすべて“0”)の
状態に対応し、所定値は、反転回路の出力K1
K7のうちK7のみが“0”(D2〜D8のうちD8のみ
が“1”)の状態に対応する。また、比較的急峻
なデイケイカーブは、高速クロツク信号φHの計
数データによつて表現され、比較的ゆるやかなデ
イケイカーブは、低速クロツク信号φLの計数デ
ータによつて表現されるものである。 ANDゲート242は、NANDゲート230の
出力信号、音源信号TG及びインバータ238の
出力信号2を入力とするもので、エンベロープ
データ形成処理中においてタイミング信号TC2
“0”であるT0〜T3の期間に音源信号TGを送出
する。この音源信号TGは、ORゲート244を
介してANDゲート246に供給される。 シフター回路248は、後述のD/A変換処理
を少ないビツト数で可能にするために制御入力
A,B及びCに応じてビツトシフト処理を行なう
もので、制御入力Aが“1”ならば反転回路36
の出力K3〜K8を送出し、制御入力Bが“1”な
らば反転回路236の出力K2〜K7を送出し、制
御入力Cが“1”ならば反転回路236の出力
K1〜K6を送出するようになつている。ピアノ音
発生処理中においては、前述のように信号D9
常に“1”であるので、反転回路236の出力
K8は常に“0”であり、この出力K8からなる制
御入力Aは“0”である。このため、シフター回
路248は制御入力B及びCに応じたシフト処理
を行なう。 制御入力Bを形成するための回路において、
ANDゲート288は、反転回路236の出力K8
を反転するインバータ290の出力と、反転回路
236の出力K7と、タイミング信号TC0とを入
力とするもので、第2最上位ビツトK7が“1”
である(振幅レベルが比較的高い)ことを検知し
てT0〜T3の期間中にT1及びT3の2度のタイミン
グで出力信号“1”を発生する。これらの出力信
号“1”は制御入力Bとしてシフター回路248
に供給され、これに応じてシフター回路248は
T0〜T3の期間中にK2〜K7の6ビツトのデータを
エンベロープデータEVとして2回送出する。 また、制御入力Cを形成するための回路におい
て、ANDゲート292は、インバータ290の
出力と、出力K7を反転するインバータ294の
出力と、タイミング信号TC0及びTC1とを入力と
するもので、第2最上位ビツトK7が“0”であ
る(振幅レベルが比較的低い)ことを検知して
T0〜T3の期間中にT3のタイミングで出力信号
“1”を発生する。この出力信号“1”は制御入
力Cとしてシフター回路248に供給され、これ
に応じてシフフター回路248はT0〜T3の期間
中にK1〜K6の6ビツトのデータをエンベロープ
データEVとして1回送出する。 ORゲート296は、反転回路236の出力K8
と、ANDゲート288の出力と、ANDゲート2
92の出力とを入力とするもので、T0〜T3の期
間中において、K7=“1”が検知されたときはT1
及びT3の2度のタイミングで出力信号“1”を
発生し、K7=“0”が検知されたときはT3のタイ
ミングで出力信号“1”を発生する。このように
してORゲート296から発生される出力信号
“1”はANDゲート246を導通させるので、
ORゲート244からの音源信号TGは、T0〜T3
の期間中にANDゲート246から2回又は1回
前述のエンベロープデータ送出に同期して送出さ
れる。 ANDゲート246からの音源信号TG及びシ
フター回路248からのエンベロープデータEV
は第8図に示すようなこの発明の一実施例として
のD/A変換回路36に供給される。 D/A変換回路36にあつては、6ビツトの入
力データ(EV又はAM)の上位2ビツトをデコ
ードする第1のデコーダ298と、入力データの
残り4ビツトをデコードする第2のデコーダ30
0と、これらデコーダ298及び300と共に
D/A変換器を構成するアナログ電圧発生回路3
02と、このアナログ電圧発生回路302に制御
入力(TG又はSG)に応じた電源電圧を供給する
電源回路304と、アナログ電圧発生回路302
の出力電圧のパルス幅をクロツク信号φ1及びφ2
に応じて規制するパルス幅規制回路306と、こ
のパルス幅規制回路306からの電圧出力VOUT
を導出するバツフアアンプ308とが設けられて
いる。 6ビツトのエンベロープデータEVのうち、最
上位ビツト(MSB)を含む上位2ビツトの信号
はデコーダ298に入力され、残り4ビツトの信
号はデコーダ300に入力される。デコーダ29
8の4本の出力ラインはそれぞれアナログ電圧発
生回路302内の4個のゲート素子GA1〜GA4
制御入力端に接続されている。アナログ電圧発生
回路302内には、各々16個のゲート素子を含む
4つのゲート素子群G1〜G4が設けられており、
デコーダ300の16本の出力ラインは各ゲート素
子群毎に16個のゲート素子の制御入力端に接続さ
れている。 アナログ電圧発生回路302は、第1及び第2
電源ラインPS1及びPS2を有するもので、これら
の電源ライン間には互いに抵抗値のほぼ等しい64
個の抵抗R1〜〜R64が直列接続されている。
ゲート素子群G1の16個のゲート素子は抵抗R1
〜R16の各一端とゲート素子GA1との間に接続
され、ゲート素子群G2の16個のゲート素子は抵
抗R17〜R32の各一端とゲート素子GA2との
間に接続され、ゲート素子群G3の16個のゲート
素子は抵抗R33〜R48の各一端とゲート素子
GA3との間に接続され、ゲート素子群G4の16個
のゲート素子は抵抗R49〜R64の各一端とゲ
ート素子GA4との間に接続されており、ゲート素
子GA1〜GA4は入力データに応じたアナログ電圧
を出力点Mに送出するようになつている。 電源回路304においては、電圧源+Vと基準
電位点(接地点)との間に抵抗R0と、互いに抵
抗値のほぼ等しい抵抗RA及びRBとが直列接続さ
れており、抵抗RA及びRBの相互接続点から取出
される中間電圧VCが電源ラインPS1に供給される
ようになつている。抵抗R0及びRAの相互接続点
と電源ラインPS2との間にはゲート素子GHが接続
されると共に、基準電位点と電源ラインPS2との
間にはゲート素子GLが接続されており、ゲート
素子GLの制御入力端には音源信号TG又はサイン
ビツト信号SGが供給され、ゲート素子GHの制御
入力端には音源信号TG又はサインビツト信号SG
がインバータIVを介して供給されるようになつ
ている。このため、電源ラインPS2には、制御入
力(TG又はSG)が“1”ならばゲート素子GL
を介して中間電圧VCより低い電圧VLが供給され、
制御入力が“0”ならばゲート素子GHを介して
中間電圧VCより高い電圧VHが供給される。この
ように電源ラインPS2への供給電圧をVL又はVH
に切換えることにより、エンベロープデータEV
のD/A変換時には音源信号TGに対してエンベ
ロープデータに応じたエンベロープを付加するこ
とが可能になり、後述の振幅データAMのD/A
変換時にはサインビツト信号SGに応じて振幅の
方向を決定することが可能となる。 パルス幅規制回路306は、各々クロツク信号
φ1及びφ2を制御入力端に受取るゲート素子G11
びG12を含むもので、これらのゲート素子G11
びG12はアナログ電圧発生回路302の出力点M
と電源回路304の抵抗RA及びRBの相互接続点
との間の直列接続されており、ゲート素子G11
びG12の相互接続点Nからバツフアアンプ308
を介して電圧出力VOUTが取出されるようになつ
ている。出力点Mには、T0〜T7のようなタイミ
ング信号の1パルスに相当する期間毎にアナログ
電圧(VCからVH側又はVL側に振れた電圧)が発
生される可能性があるが、パルス幅規制回路30
6では、φ1のタイミングで出力点Mのアナログ
電圧を送出すると共に、φ2のタイミングで中間
電圧VCを送出することにより出力パルスの幅を
出力点Mの場合の半分に規制しているものであ
る。 このようなパルス幅規制回路306を設けたの
は、構成及び処理の簡単化のために8ビツトの入
力データK1〜K8を直接D/A変換せず、6ビツ
トのオクターブ(EV/AM)にしてからD/A
変換するようにしたことによるものである。すな
わち、第7図において、シフター回路248を介
して6ビツトのデータを取出す場合、データK1
〜K6に対してデータK2〜K7は1ビツトだけ、デ
ータK3〜K8は2ビツトだけそれぞれ下位方向に
シフトされることになるので、データK2〜K7
値は1/2になり、データK3〜K8の値は1/4になる。
そこで、第8図のD/A変換回路では、データ
K2〜K7については振幅レベルが2倍になるよう
に、データK3〜K8については振幅レベルが4倍
になるようにD/A変換する必要があるが、これ
を可能にするために第7図の回路からはデータ
K2〜K7については2回、データK3〜K8について
は4回それぞれ同一データを発生させると共に第
8図のパルス幅規制回路306では同一データ2
回に対応して同一アナログ電圧を2個のパルスと
して送出し、同一データ4回に対応して同一アナ
ログ電圧を4個のパルスとして送出するようにし
たものである。 このようなD/A変換動作をピアノ音発生につ
いて示すと、第9図a〜dのようになる。第9図
aは、音源信号TGを便宜上連続波形として示し
たもので、同図bはピアノエンベロープを付加し
た音源信号を便宜上連続波形として示したもので
ある。また、同図cはbの信号を巨視的に見たも
のであり、同図dはcの信号の一部を微視的に見
たもので、実際にパルス幅規制回路306の出力
点Nから得られる信号波形に相当する。 ピアノエンベロープの立上り時において、出力
点Mには、アタツクレベルに対応したアナログ電
圧が現われるが、このアナログ電圧は第9図(a)、
(b)に示すように音源信号TGが“1”ならばVL
に振れた電圧であり、音源信号TGが“0”なら
ばVH側に振れた電圧である。これを出力点Nで
見ると、第9図dに示すように、VL側又はVH
に振れた電圧はいずれもT0〜T3の期間中にT1
びT3のタイミングで2個のパルスとして送出さ
れる。そして、ピアノエンベロープの振幅レベル
が前述の第2最上位ビツトK7が“0”になるレ
ベル以下に低下すると、T0〜T3の期間に送出さ
れるパルスはT3のタイミングでの1個のみとな
る。 上記の結果、バツフアアンプ308からは電圧
出力VOUTとして第9図b〜dのようにピアノエ
ンベロープが付加された音源信号が得られ、この
音源信号は低域フイルタを介し、又は介さずに出
力アンプ38を経てスピーカ40に供給され、ピ
アノ音として発音される。この場合、時分割処理
及びクロツク信号φ1,φ2に基づく高周波成分は
低域フイルタ又はスピーカ40で除去され、スピ
ーカ40でピアノ音として発音されるのは実質的
に第9図bのようなピアノ音信号である。そし
て、このピアノ音信号はアタツクレベル及びその
近傍の振幅レベルが比較的高いところではT0
T3の期間に2個のパルスを含むので、パルス1
個の場合に比べてエネルギーが2倍になり、発音
強度も2倍になる。従つて、ビツトシフトしたこ
とによる振幅低下が回復される。 階名音発生動作の詳細 階名音発生に関して時分割処理回路24がアド
レスデータ発生処理(C1)、ステツプ幅データ形
成処理(C2)及び予測値データ発生処理(C3)
を時分割的に実行することは前述した通りであ
る。ここで、各処理(C1)〜(C3)における処
理タイミング及び出力タイミングを前述のタイミ
ング信号T0〜T7について示すと、次の第3表の
通りである。
[Table] According to this Table 2, it can be seen that the delay in the output timing with respect to the processing timing is the same as in Table 1. In FIG. 6, the full adder 82 and shift register circuit 84 use the portion from the least significant bit to the 7th bit as a 7-bit counter at timing T5 , and send out the frequency-divided output DO. At timing 6 , the portion from the least significant bit to the 9th bit is used as a 9-bit counter to send out 8-bit envelope data D2 to D9 . In the frequency division output generation process, the AND gate 19
2, the signal of the least significant bit of the frequency division control data DVC is inputted from the frequency division control data memory 30 of FIG. It is designed to be input to the shift register SF via. In addition, in the AND gate group 196, the AND gates that receive the outputs S 1 , S 2 . . . S 7 of the full adder 82 have a carry input C i and carry outputs C 1 , C 2 .
C6 is inputted, and the signals from the 2nd bit to the 7th bit of the frequency division control data DVC are also inputted, and the output signal of each AND gate in the AND gate group 196 is NOR.
The signal is input to gate 198. The latch circuit 200 responds to the output signal "1" of the AND gate 202 at the timing of T5 and φ2 .
It latches the output signal of the NOR gate 198, and when the output signal of the NOR gate 198 is "1", the latched signal "1" is sent out. This signal "1" is passed through the AND gate 204 at the timing of T5 , and then is passed through the OR gate 1.
16 to a full adder 82 as a carry input C i . Therefore, whether or not a pulse should be input to the full adder 82 is determined by NOR at each timing of T5 .
It is controlled according to the output signal "1" or "0" of the gate 198. As a result of the above configuration, the counting operation of channel T5 of the 7-bit counter is controlled according to the frequency division control data DVC, and the counting operation of channel T5 of the 7-bit counter is controlled according to the frequency division control data DVC.
From the th bit, frequency-divided signals D 5 , D 6 and D 7 corresponding to a desired note name (for example, F) are obtained. These frequency-divided signals D 5 to D 7 have frequencies 1/2 lower in D 6 than D 5 and 1/2 lower in frequency than D 6 , respectively .
The signal is supplied to the time division output circuit 32 in FIG. Note that when the frequency-divided output DO is viewed as count data at the timing of T5 , this count data is transferred from the shift register circuit 84 to the circuit shown in FIG.
Supplied at T 7 timing. In FIG. 7, frequency-divided signals D 5 and D 6 are provided to selector 206 as inputs A and B, respectively, and frequency-divided signals D 6 and D 7 are provided to selector 208 as inputs A and B, respectively. Selector 2
The selection operation of 06 and 208 takes the octave code signal OCT and timing signal T7 as input.
A selection signal consisting of the output signal of AND gate 210
Controlled according to SA. When the octave code signal OCT is "0" (the octave to which notes F2 to F3 belong), the selection signal SA is "0", so the selector 206 selects the divided signal D6, and the selector 208 selects the divided signal D6. The frequency signals D7 are selectively transmitted. AND gate 212 is
An output signal "1" is generated every time the outputs of the selectors 206 and 208 both become "1", and this output signal "1" is passed through a shift register 214 similar to SF in FIG. 6 at the timing of T0 . Sent out.
In this case, as an example, the frequency-divided signal for pitch name F is
Assuming that D 5 to D 7 are generated, a square wave sound source signal TG having a frequency corresponding to the F 2 sound is obtained from the shift register 214. Also, when the octave code signal OCT is "1" (when in the octave to which F3 to F4 notes belong and when it is the F4 note), the selection signal SA becomes "1" at every timing of T7 , so The selector 206 selectively sends out the frequency-divided signal D5 , and the selector 208 selectively sends out the frequency-divided signal D6 . The AND gate 212 generates an output signal "1" every time the outputs of the selectors 206 and 208 both become "1", and this output signal "1" is sent out via the shift register 214 at the timing T0 . . In this case, assuming that the frequency-divided signals D 5 to D 7 are generated with respect to the note name F as in the previous example, the shift register 214 outputs a square wave sound source signal having a frequency corresponding to the note F3 .
TG is obtained. Note that for the F4 note, the value of the frequency division control data DVC is determined so that the frequency of the frequency division signal D5 is twice that of the note name F.
F 4 when octave code signal OCT is “1”
A sound source signal TG having a frequency corresponding to the sound is obtained. In the envelope data generation process, in the circuit shown in Figure 6, according to the initial clear signal IC,
AND gate 216 generates an output signal "1" at timing T6 . This output signal “1” is OR
T 6 of the 9-bit counter via gate group 194
Set all bits of the channel to “1”. this is,
This is to set the amplitude level of the piano envelope to zero when the power is turned on, thereby prohibiting piano sound. After this, a sound generation enable signal for generating piano sound is generated.
When PKO is generated, this signal PKO rises and is differentiated by the differentiating circuit 218. According to the differential output of this differential circuit 218, the AND gate 220
Generates output signal “1” at timing T6 .
This output signal "1" is input to the 9th bit shift register of the first stage of the shift register circuit 84 via the 9th bit OR gate in the OR gate group 194, while the output signal of the NOR gate 174 is set to "0" to make each AND gate in the AND gate group 176 non-conductive, thereby setting all bits of the inputs A1 to A9 of the full adder 82 to "0". As a result, when the sound generation enable signal PKO rises, the 9th bit becomes "1" in channel T6 of the 9-bit counter, and all bits from the least significant bit to the 8th bit become "0"; The 8-bit data "00000001" from the 9th bit to the 9th bit is sent through the shift register circuit 84 to envelope data D 2 to D 2 at timing T 0 .
D9 is supplied to the circuit of FIG. At the next timing T6 , an output signal "0" is sent from the 8th bit shift register of the 8th stage of the shift register circuit 84, and this output signal "0" is used as the frequency switching signal FC as shown in FIG. The signal is supplied to the selector 222. In FIG. 7, a latch circuit 224 outputs envelope data D 2 to D 2 at timing T 0 and φ 2 in response to an output signal of an AND gate 228 which receives a timing signal T 0 from an OR gate 226 and a clock signal φ 2 . It latches D 9 and the sound source signal TG (output of the shift register 214), and when the aforementioned sound enable signal PKO rises, only the most significant bit (corresponding to D 9 ) is "1" data as 8-bit envelope data. Send out. Since the signal of each bit of this data is input to the NAND gate 230, the NAND gate 230 generates an output signal "1", and this output signal "1" is latched by the latch circuit 232 at the timing T2 , and the NAND gate 230 generates an output signal "1".
A gate 234 is provided. Therefore, the AND gate 234 generates an output signal “1” at the timing of T 6 and φ A , and this output signal “1” is supplied to the selector 222 as the enable signal EN. When the selector 222 is enabled in response to the enable signal EN, the selector 222 outputs the frequency switching signal FC.
The high-speed clock signal φ H as input B is selectively sent out in response to the selection signal SA ="0" consisting of Carry input C i
Supplied as. Therefore, the count value of the T6 channel of the 9-bit counter increases at a relatively high speed in response to the high speed clock signal φH . As the count value continues to increase in this way, an output signal "1" is eventually sent out from the 8th bit shift register of the 8th stage of the shift register circuit 84, and this output signal "1" becomes the frequency switching signal.
The signal is supplied as FC to the selector 222 in FIG. 7.
Therefore, the selector 222 has a selection signal SA of "1".
Then, the low-speed clock signal φ L as input A is selectively sent out. Therefore, T 6 for a 9-bit counter
From now on, the channel of φ L is the low-speed clock signal φ L
The count value increases at a relatively slow speed according to. Then, when all bits from the 2nd bit to the 7th bit of the 9-bit counter become "1", as shown in Figure 7.
Since all eight input bits of NAND gate 230 become "1", NAND gate 230 generates an output signal "0", and accordingly, the output signal after T 2
At the timing of T 6 and φ A , the selector 222 becomes disabled. Therefore, an increase in the count value in the T6 channel of the 9-bit counter is prevented. The individual count data corresponding to the above-mentioned changes in count value in the 9-bit counter are sent to the latch circuit 224 as envelope data D2 to D9 .
The signal is supplied to an inverting circuit 236 via an exclusive OR gate, and each bit is inverted by an exclusive OR gate. This inversion process converts the numerical change in the envelope data from the latch circuit 224 from "00000001" to "11111111" to "11111110".
to "00000000",
This corresponds to changing the piano envelope from an inverted shape to an upright shape. In the inverting circuit 236, the timing signal
Signal 2 is obtained by inverting TC 2 with inverter 238.
Inversion processing is performed in response to the input from OR gate 240. That is, from the inversion circuit 236, the timing signal TC 2 is “0” T 0 ~
Envelope data that has undergone inversion processing is sent out during the period T3 . The envelope data sent out sequentially in this way rises from the zero level to a predetermined attack level, then falls to a predetermined value according to a relatively steep decay curve, and then continues to a relatively gentle decay curve. Therefore, it expresses a piano envelope that drops to the zero level. Here, the zero level means that the outputs K 1 to K 7 of the inverting circuit 236 are all “0”.
( D2 to D8 are all "1"), and the predetermined attack level is the output K1 of the inverting circuit 236.
This corresponds to the state in which ~ K7 are all “1” ( D2 to D8 are all “0”), and the predetermined value is the output K1 ~ of the inverting circuit.
Only K 7 of K 7 corresponds to the state of "0" (only D 8 of D 2 to D 8 is "1"). Also, a relatively steep decay curve is expressed by the count data of the high speed clock signal φH , and a relatively gentle decay curve is expressed by the count data of the low speed clock signal φL . The AND gate 242 inputs the output signal of the NAND gate 230, the sound source signal TG, and the output signal 2 of the inverter 238, and during the envelope data formation process, the timing signal TC 2 is "0" T 0 to T 3 The sound source signal TG is transmitted during the period. This sound source signal TG is supplied to an AND gate 246 via an OR gate 244. The shifter circuit 248 performs bit shifting processing in accordance with control inputs A, B, and C in order to enable the D/A conversion processing described later with a small number of bits.If the control input A is "1", it is an inverting circuit. 36
If the control input B is " 1 ", the outputs K2 to K7 of the inverting circuit 236 are sent out, and if the control input C is "1" , the outputs of the inverting circuit 236 are sent out.
It is designed to send out K 1 to K 6 . During the piano sound generation process, the signal D 9 is always "1" as described above, so the output of the inverting circuit 236 is
K8 is always "0", and the control input A consisting of this output K8 is "0". Therefore, the shifter circuit 248 performs a shift process according to the control inputs B and C. In the circuit for forming the control input B,
AND gate 288 connects the output K 8 of inverting circuit 236 to
The output of the inverter 290 that inverts the output, the output K7 of the inversion circuit 236, and the timing signal TC0 are input, and the second most significant bit K7 is "1".
(the amplitude level is relatively high) and generates an output signal "1" at two timings, T1 and T3 , during the period T0 to T3 . These output signals “1” are input to the shifter circuit 248 as control input B.
and in response, the shifter circuit 248
During the period T0 to T3 , 6-bit data K2 to K7 is sent twice as envelope data EV. Furthermore, in the circuit for forming the control input C, the AND gate 292 receives as inputs the output of the inverter 290, the output of the inverter 294 that inverts the output K7 , and the timing signals TC0 and TC1 . , detects that the second most significant bit K7 is “0” (amplitude level is relatively low).
During the period from T 0 to T 3 , an output signal “1” is generated at the timing of T 3 . This output signal "1" is supplied to the shifter circuit 248 as a control input C, and in response, the shifter circuit 248 converts the 6-bit data K1 to K6 as envelope data EV during the period T0 to T3 . Send once. The OR gate 296 outputs the output K 8 of the inverting circuit 236.
, the output of AND gate 288, and AND gate 2
92 output, and when K 7 = “1” is detected during the period T 0 to T 3 , T 1
The output signal “1” is generated twice at the timing of T 3 and T 3 , and when K 7 = “0” is detected, the output signal “1” is generated at the timing of T 3 . In this way, the output signal "1" generated from OR gate 296 makes AND gate 246 conductive, so that
The sound source signal TG from the OR gate 244 is T 0 to T 3
During this period, the AND gate 246 sends out twice or once in synchronization with the above-mentioned envelope data sending. Sound source signal TG from AND gate 246 and envelope data EV from shifter circuit 248
is supplied to a D/A conversion circuit 36 as an embodiment of the present invention as shown in FIG. The D/A conversion circuit 36 includes a first decoder 298 that decodes the upper 2 bits of 6-bit input data (EV or AM), and a second decoder 30 that decodes the remaining 4 bits of the input data.
0, and the analog voltage generation circuit 3 that constitutes a D/A converter together with these decoders 298 and 300.
02, a power supply circuit 304 that supplies a power supply voltage according to the control input (TG or SG) to this analog voltage generation circuit 302, and an analog voltage generation circuit 302.
The pulse width of the output voltage of the clock signals φ 1 and φ 2
A pulse width regulation circuit 306 regulates the voltage output from this pulse width regulation circuit 306 according to
A buffer amplifier 308 is provided for deriving the . Of the 6-bit envelope data EV, the most significant 2-bit signal including the most significant bit (MSB) is input to the decoder 298, and the remaining 4-bit signal is input to the decoder 300. Decoder 29
The four output lines of No. 8 are connected to the control input terminals of four gate elements GA 1 to GA 4 in the analog voltage generation circuit 302, respectively. In the analog voltage generation circuit 302, four gate element groups G 1 to G 4 each including 16 gate elements are provided,
The 16 output lines of the decoder 300 are connected to the control inputs of 16 gate elements for each gate element group. The analog voltage generation circuit 302 has first and second
It has power supply lines PS 1 and PS 2 , and there are 64 wires with approximately equal resistance between these power lines.
The resistors R1 to R64 are connected in series.
The 16 gate elements of gate element group G1 are resistors R1
The 16 gate elements of the gate element group G2 are connected between one end of each of the resistors R17 to R32 and the gate element GA 2 . The 16 gate elements of group G3 are connected to one end of each resistor R33 to R48 and the gate element.
The 16 gate elements of the gate element group G4 are connected between one end of each of the resistors R49 to R64 and the gate element GA 4 , and the gate elements GA 1 to GA 4 are An analog voltage corresponding to input data is sent to an output point M. In the power supply circuit 304, a resistor R 0 and resistors R A and R B having substantially equal resistance values are connected in series between the voltage source +V and a reference potential point (ground point ). An intermediate voltage V C taken from the interconnection point of R B is supplied to the power supply line PS 1 . A gate element GH is connected between the interconnection point of the resistors R 0 and R A and the power line PS 2 , and a gate element GL is connected between the reference potential point and the power line PS 2 . The control input terminal of the gate element GL is supplied with the sound source signal TG or the sign bit signal SG, and the control input terminal of the gate element GH is supplied with the sound source signal TG or the sign bit signal SG.
is supplied via inverter IV. Therefore, if the control input (TG or SG) is "1", the gate element G L is connected to the power supply line PS 2 .
A voltage V L lower than the intermediate voltage V C is supplied via
If the control input is "0", a voltage VH higher than the intermediate voltage VC is supplied via the gate element GH . In this way, the supply voltage to power line PS 2 is set to V L or V H
By switching to the envelope data EV
During D/A conversion, it becomes possible to add an envelope according to the envelope data to the sound source signal TG, and the D/A of amplitude data AM, which will be described later, becomes possible.
During conversion, it is possible to determine the direction of amplitude according to the sign bit signal SG. Pulse width regulating circuit 306 includes gate elements G 11 and G 12 that receive clock signals φ 1 and φ 2 at their control inputs, respectively . Point M
and the interconnection point N of the resistors R A and R B of the power supply circuit 304, and the buffer amplifier 308 is connected from the interconnection point N of the gate elements G11 and G12 .
The voltage output V OUT is taken out through the . There is a possibility that an analog voltage (a voltage that swings from V C to V H side or V L side) is generated at output point M every period corresponding to one pulse of a timing signal such as T 0 to T 7 . However, the pulse width regulation circuit 30
6, the analog voltage at output point M is sent out at the timing of φ 1 , and the intermediate voltage V C is sent out at the timing of φ 2 , thereby regulating the width of the output pulse to half that at output point M. It is something. The reason why such a pulse width regulation circuit 306 is provided is that the 8-bit input data K1 to K8 is not directly D/A converted, but is converted into a 6-bit octave (EV/AM) to simplify the configuration and processing. ) and then D/A
This is due to the conversion. That is, in FIG. 7, when 6-bit data is extracted via the shifter circuit 248, data K 1
~ K6 , data K2 ~ K7 are shifted by 1 bit, and data K3 ~ K8 are shifted by 2 bits, so the values of data K2 ~ K7 are 1/ 2, and the value of data K 3 to K 8 becomes 1/4.
Therefore, in the D/A conversion circuit shown in Fig. 8, the data
It is necessary to D/A convert data K 2 to K 7 so that the amplitude level is doubled, and data K 3 to K 8 so that the amplitude level is quadrupled. The data from the circuit in Figure 7 is
The same data is generated twice for K 2 to K 7 and four times for data K 3 to K 8 , and the pulse width regulation circuit 306 in FIG. 8 generates the same data 2 times.
The same analog voltage is sent out as two pulses corresponding to each time, and the same analog voltage is sent out as four pulses corresponding to the same data four times. When such a D/A conversion operation is illustrated for piano sound generation, it is as shown in FIGS. 9a to 9d. FIG. 9a shows the sound source signal TG as a continuous waveform for convenience, and FIG. 9b shows the sound source signal to which a piano envelope has been added as a continuous waveform for convenience. Further, c in the same figure is a macroscopic view of the signal in b, and d in the same figure is a microscopic view of a part of the signal in c, which is actually the output point N of the pulse width regulation circuit 306. This corresponds to the signal waveform obtained from At the rise of the piano envelope, an analog voltage corresponding to the attack level appears at the output point M, but this analog voltage is shown in Fig. 9(a).
As shown in (b), if the sound source signal TG is "1", the voltage is shifted toward the V L side, and if the sound source signal TG is "0", the voltage is shifted toward the V H side. Looking at this at the output point N, as shown in Figure 9d, the voltage that swings to the V L side or to the V H side increases by 2 at timings T 1 and T 3 during the period T 0 to T 3 . It is sent out as pulses. Then, when the amplitude level of the piano envelope falls below the level at which the second most significant bit K7 mentioned above becomes "0", the number of pulses sent during the period T0 to T3 is one at the timing of T3 . Only. As a result of the above, a sound source signal with a piano envelope added as shown in FIG. 9b to d is obtained as a voltage output V OUT from the buffer amplifier 308, and this sound source signal is sent to the output amplifier with or without a low-pass filter. The signal is supplied to the speaker 40 via 38, and is produced as a piano sound. In this case, high frequency components based on time division processing and clock signals φ 1 and φ 2 are removed by the low-pass filter or speaker 40, and the piano sound produced by the speaker 40 is substantially the same as shown in FIG. 9b. This is a piano sound signal. This piano sound signal has a relatively high amplitude level at the attack level and its vicinity, T0 ~
Since two pulses are included in the period T 3 , pulse 1
The energy is doubled and the sound intensity is also doubled compared to the case of individual pieces. Therefore, the amplitude drop caused by the bit shift is recovered. Details of scale sound generation operation Regarding scale sound generation, the time division processing circuit 24 performs address data generation processing (C1), step width data formation processing (C2), and predicted value data generation processing (C3).
As described above, the process is executed in a time-sharing manner. Here, the processing timing and output timing in each process (C1) to (C3) are shown in Table 3 below for the timing signals T 0 to T 7 described above.

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

以上のように、この発明によれば、D/A変換
器の電源電圧を制御して音源信号にエンベロープ
を付与するようにしたので、乗算回路を不要にし
てコスト低減を図れる効果がある。 また、実施例に示したようにD/A変換器の電
源電圧を正負に制御する構成にすると、方形波状
音源信号をエンベロープデータに応じて簡単に振
幅変調することができ、しかもサインビツト信号
に応じて波形反転も可能となる。 さらに、実施例に示したように1つの回路ブロ
ツクで音源信号へのエンベロープ付与とサインビ
ツト信号に応じた波形反転とを時分割的に実行す
ると、複数種類の楽音を発生するための回路構成
が大幅に簡略化される。
As described above, according to the present invention, since an envelope is given to the sound source signal by controlling the power supply voltage of the D/A converter, it is possible to eliminate the need for a multiplication circuit and thereby reduce costs. Furthermore, if the configuration is such that the power supply voltage of the D/A converter is controlled positively or negatively as shown in the embodiment, it is possible to easily amplitude modulate the square wave sound source signal according to the envelope data, and moreover, it is possible to modulate the amplitude of the square wave sound source signal according to the envelope data. Waveform inversion is also possible. Furthermore, as shown in the example, if one circuit block applies an envelope to the sound source signal and inverts the waveform according to the sign bit signal in a time-sharing manner, the circuit configuration for generating multiple types of musical tones can be greatly reduced. It is simplified to

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

第1図は、この発明を適用した電子楽器の回路
構成を示すブロツク図、第2図は、タイミング信
号発生回路の回路図、第3図は、各種のタイミン
グ信号を示すタイムチヤート、第4図は、演奏デ
ータ発生回路の回路図、第5図a及びbは、演奏
データのフオーマツト図、第6図は、時分割処理
回路の回路図、第7図は、時分割出力回路の回路
図、第8図は、この発明の一実施例としてのD/
A変換回路の回路図、第9図a〜dは、ピアノ音
発生に関するD/A変換動作を説明するための信
号波形図、第10図は、音声データ発生回路の回
路図、第11図は、階名音発生に関するD/A変
換動作を説明するための信号波形図である。 32……時分割出力回路、36……D/A変換
回路、298,300……デコーダ、302……
アナログ電圧発生回路、304……電源回路、
PS1,PS2……電源ライン。
FIG. 1 is a block diagram showing the circuit configuration of an electronic musical instrument to which the present invention is applied, FIG. 2 is a circuit diagram of a timing signal generation circuit, FIG. 3 is a time chart showing various timing signals, and FIG. 4 is a circuit diagram of a performance data generation circuit, FIGS. 5a and 5b are format diagrams of performance data, FIG. 6 is a circuit diagram of a time division processing circuit, and FIG. 7 is a circuit diagram of a time division output circuit. FIG. 8 shows a D/
A circuit diagram of the A conversion circuit, FIGS. 9a to 9d are signal waveform diagrams for explaining the D/A conversion operation related to piano sound generation, FIG. 10 is a circuit diagram of the audio data generation circuit, and FIG. 11 is a circuit diagram of the audio data generation circuit. , is a signal waveform diagram for explaining a D/A conversion operation related to scale tone generation. 32...Time division output circuit, 36...D/A conversion circuit, 298, 300...Decoder, 302...
Analog voltage generation circuit, 304...power supply circuit,
PS 1 , PS 2 ...Power line.

Claims (1)

【特許請求の範囲】 1 (a) 発生すべき楽音のエンベロープを表わす
デイジタル形式のエンベロープデータをD/A
変換してアナログ出力信号を送出するD/A変
換器と、 (b) 前記楽音の音高に対応した周波数を有する音
源信号に応じて前記D/A変換器の電源電圧を
制御する電圧制御手段とをそなえ、 前記音源信号に前記エンベロープを付与した形
の楽音信号を前記アナログ出力信号として取出す
構成にしたことを特徴とする電子楽器のエンベロ
ープ付与回路。 2 特許請求の範囲第1項に記載のエンベロープ
付与回路において、前記電圧制御手段は、前記音
源信号の2つのレベルに対応して前記電源電圧を
基準値に対し正負になるよう制御する構成になつ
ていることを特徴とする電子楽器のエンベロープ
付与回路。 3 特許請求の範囲第1項に記載のエンベロープ
付与回路において、前記D/A変換器には、音波
形の振幅値を表わす振幅データを前記エンベロー
プデータとは異なる入力タイミングで入力し、前
記電圧制御手段には、前記音波形の振幅値の符号
を表わすサインビツト信号を前記入力タイミング
に同期して前記音源信号の代りに入力し、前記音
波形の振幅値に前記サインビツト信号に応じて符
号を与えた形の音信号を前記アナログ出力信号と
して取出す構成にしたことを特徴とする電子楽器
のエンベロープ付与回路。
[Claims] 1 (a) D/A digital format envelope data representing the envelope of the musical tone to be generated
(b) a voltage control means for controlling the power supply voltage of the D/A converter in accordance with a sound source signal having a frequency corresponding to the pitch of the musical tone; An envelope applying circuit for an electronic musical instrument, characterized in that the envelope applying circuit for an electronic musical instrument is configured to extract a musical tone signal obtained by applying the envelope to the sound source signal as the analog output signal. 2. In the envelope applying circuit according to claim 1, the voltage control means is configured to control the power supply voltage to be positive or negative with respect to a reference value in accordance with two levels of the sound source signal. An envelope imparting circuit for an electronic musical instrument, characterized in that: 3. In the envelope applying circuit according to claim 1, amplitude data representing an amplitude value of a sound waveform is inputted to the D/A converter at an input timing different from that of the envelope data, and the voltage control The means includes inputting a sign bit signal representing the sign of the amplitude value of the sound waveform in place of the sound source signal in synchronization with the input timing, and giving a sign to the amplitude value of the sound waveform in accordance with the sign bit signal. 1. An envelope imparting circuit for an electronic musical instrument, characterized in that the circuit is configured to extract a sound signal in the form of a shape as the analog output signal.
JP60056336A 1984-05-30 1985-03-20 Envelope imparting circuit for electronic musical instrument Granted JPS60254095A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60056336A JPS60254095A (en) 1985-03-20 1985-03-20 Envelope imparting circuit for electronic musical instrument
US06/735,365 US4733591A (en) 1984-05-30 1985-05-17 Electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60056336A JPS60254095A (en) 1985-03-20 1985-03-20 Envelope imparting circuit for electronic musical instrument

Publications (2)

Publication Number Publication Date
JPS60254095A JPS60254095A (en) 1985-12-14
JPH0319558B2 true JPH0319558B2 (en) 1991-03-15

Family

ID=13024363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60056336A Granted JPS60254095A (en) 1984-05-30 1985-03-20 Envelope imparting circuit for electronic musical instrument

Country Status (1)

Country Link
JP (1) JPS60254095A (en)

Also Published As

Publication number Publication date
JPS60254095A (en) 1985-12-14

Similar Documents

Publication Publication Date Title
US4077294A (en) Electronic musical instrument having transient musical effects
US4508002A (en) Method and apparatus for improved automatic harmonization
EP0311152B1 (en) Tone signal generation device for an electronic musical instrument
EP0149896A2 (en) Method and apparatus for dynamic reproduction of transient and steady state voices in an electronic musical instrument
JPH0119594B2 (en)
US4114497A (en) Electronic musical instrument having a coupler effect
US4026180A (en) Electronic musical instrument
JPS6151793B2 (en)
JPS6120877B2 (en)
US4681007A (en) Sound generator for electronic musical instrument
US4733591A (en) Electronic musical instrument
US4166405A (en) Electronic musical instrument
JPH07181974A (en) Musical tone generation device
US4502359A (en) Electronic musical instrument
JPH0319558B2 (en)
JPH0664466B2 (en) Electronic musical instrument
JPH0312491B2 (en)
US4205580A (en) Ensemble effect in an electronic musical instrument
JPS6227718B2 (en)
JPS6113239B2 (en)
JPS6048760B2 (en) Note clock generator for electronic musical instruments
JPH0631970B2 (en) Electronic musical instrument
JPS6330638B2 (en)
JPH0522918B2 (en)
JPS61248096A (en) Electronic musical instrument