JPH0750799Y2 - 楽音位相同期装置 - Google Patents
楽音位相同期装置Info
- Publication number
- JPH0750799Y2 JPH0750799Y2 JP1987157033U JP15703387U JPH0750799Y2 JP H0750799 Y2 JPH0750799 Y2 JP H0750799Y2 JP 1987157033 U JP1987157033 U JP 1987157033U JP 15703387 U JP15703387 U JP 15703387U JP H0750799 Y2 JPH0750799 Y2 JP H0750799Y2
- Authority
- JP
- Japan
- Prior art keywords
- data
- phase
- sound source
- channel
- tone
- 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
Links
Description
【考案の詳細な説明】 [考案の技術分野] この考案は楽音位相同期装置に関し、特に、ポリフォニ
ック音源における2以上の発音チャンネルの楽音を同時
に同じ位相から開始させる技術に関する。
ック音源における2以上の発音チャンネルの楽音を同時
に同じ位相から開始させる技術に関する。
[考案の背景] 代表的なポリフォニック電子楽器では、CPUに演奏入力
装置の状態をモニターさせ、音源に所要データを転送す
る制御機能をもたせ、音源にはCPUから転送されたデー
タを基に、複数の発音チャンネルの楽音を生成する楽音
生成機能をもたせている。一般に、音源とCPUは夫々、
独立したクロックで動作するようになっており、このこ
とを、音源とCPUとは非同期であるという。
装置の状態をモニターさせ、音源に所要データを転送す
る制御機能をもたせ、音源にはCPUから転送されたデー
タを基に、複数の発音チャンネルの楽音を生成する楽音
生成機能をもたせている。一般に、音源とCPUは夫々、
独立したクロックで動作するようになっており、このこ
とを、音源とCPUとは非同期であるという。
音源とCPUとが非同期であるため、音源の位相生成回路
で生成する複数の発音チャンネルの楽音の位相を完全に
同じ位相から開始させることは困難である。
で生成する複数の発音チャンネルの楽音の位相を完全に
同じ位相から開始させることは困難である。
すなわち、従来技術では、CPUは、音源に対し、発音チ
ャンネルごとに位相の初期化を指示する。例えば、位相
を初期化すべき発音チャンネルが2つあるとき、CPUは
そのうちの一方の発音チャンネルについて位相の初期化
とキーオンの命令を音源に転送し、続いて、残る発音チ
ャンネルの位相の初期化とキーオン命令を音源に転送す
る。音源はCPUと非同期で動作するので、位相の初期化
が指定された発音チャンネルが、音源の1サンプリング
時間内に見つかるとは限らない。2つ以上の発音チャン
ネルを使って複合的な楽音を形成する場合(例えば、ト
ーン・ミックスの場合)、複合的な楽音の音色を左右す
るものは、各チャンネルの初期位相の発生タイミングで
ある。従来技術の場合、音源とCPUとの非同期関係のた
めに、各チャンネルの初期位相の発生タイミングを一致
させることはできず、常に同一の音色で複合楽音を発音
させるという目標を達成することができなかった。
ャンネルごとに位相の初期化を指示する。例えば、位相
を初期化すべき発音チャンネルが2つあるとき、CPUは
そのうちの一方の発音チャンネルについて位相の初期化
とキーオンの命令を音源に転送し、続いて、残る発音チ
ャンネルの位相の初期化とキーオン命令を音源に転送す
る。音源はCPUと非同期で動作するので、位相の初期化
が指定された発音チャンネルが、音源の1サンプリング
時間内に見つかるとは限らない。2つ以上の発音チャン
ネルを使って複合的な楽音を形成する場合(例えば、ト
ーン・ミックスの場合)、複合的な楽音の音色を左右す
るものは、各チャンネルの初期位相の発生タイミングで
ある。従来技術の場合、音源とCPUとの非同期関係のた
めに、各チャンネルの初期位相の発生タイミングを一致
させることはできず、常に同一の音色で複合楽音を発音
させるという目標を達成することができなかった。
例えば、特公昭60-42955号の場合には、CPUは発音チャ
ンネル別に、初期位相データを初めとする楽音形成用デ
ータを音源に転送した後、キーオン命令を発行する。音
源ではキーオン命令が与えられると、次のサンプリング
時間内に、そのチャンネルの楽音形成用データを読み出
し、初期位相データについては、位相生成回路の位相レ
ジスタにセットする。この構成の場合、1つの発音チャ
ンネルの初期位相を設定するのに1サンプリング時間を
要する。
ンネル別に、初期位相データを初めとする楽音形成用デ
ータを音源に転送した後、キーオン命令を発行する。音
源ではキーオン命令が与えられると、次のサンプリング
時間内に、そのチャンネルの楽音形成用データを読み出
し、初期位相データについては、位相生成回路の位相レ
ジスタにセットする。この構成の場合、1つの発音チャ
ンネルの初期位相を設定するのに1サンプリング時間を
要する。
[考案の目的] したがって、この考案の目的は、複数の発音チャンネル
の位相を常に同期して開始させることのできる楽音位相
同期装置を提供することである。
の位相を常に同期して開始させることのできる楽音位相
同期装置を提供することである。
[考案の要点] この考案は上記の目的を達成するため、音源を制御する
CPUに、位相が初期化させるべきすべての発音チャンネ
ルを1回の転送命令で指示する位相初期化命令転送手段
を設けるとともに、音源内に、位相の初期化が指示され
たすべての発音チャンネルを同一サンプリング時間内に
解読して位相生成回路手段におけるこれらの発音チャン
ネルの位相を初期化する位相リセット回路手段を設けた
ことを特徴とする。
CPUに、位相が初期化させるべきすべての発音チャンネ
ルを1回の転送命令で指示する位相初期化命令転送手段
を設けるとともに、音源内に、位相の初期化が指示され
たすべての発音チャンネルを同一サンプリング時間内に
解読して位相生成回路手段におけるこれらの発音チャン
ネルの位相を初期化する位相リセット回路手段を設けた
ことを特徴とする。
[考案の作用、展開] この考案によれば、位相が初期化されるべきすべての発
音チャンネルが、CPUの位相初期化命令転送手段によ
り、1回の転送命令で指示される。そして、音源の位相
リセット回路手段により、音源の同一サンプリング時間
内に、上記位相初期化命令転送手段が指示したすべての
位相初期化チャンネルが識別されて位相生成回路手段に
おけるこれらの発音チャンネルの位相が初期化される。
したがって、位相が初期化されるべきすべての発音チャ
ンネルの楽音が、同じサンプリング時間で全く同じ位相
から開始することになり、複合化された楽音の音色の同
一性を維持することができる。
音チャンネルが、CPUの位相初期化命令転送手段によ
り、1回の転送命令で指示される。そして、音源の位相
リセット回路手段により、音源の同一サンプリング時間
内に、上記位相初期化命令転送手段が指示したすべての
位相初期化チャンネルが識別されて位相生成回路手段に
おけるこれらの発音チャンネルの位相が初期化される。
したがって、位相が初期化されるべきすべての発音チャ
ンネルの楽音が、同じサンプリング時間で全く同じ位相
から開始することになり、複合化された楽音の音色の同
一性を維持することができる。
好ましい構成例において、CPUの位相初期化命令転送手
段は、CPUと音源をつなぐテータバスの各ビット線を
“1"または“0"に設定することにより、各発音チャンネ
ルが初期化されるべきチャンネルかどうかを指定する。
例えば第1ビット線の値が“1"であれば、第1発音チャ
ンネルが初期化されるべきことを意味する。データバス
上のこれらのデータは音源内の適当なラッチに取り込ま
れる。次のサンプリング時間が開始すると、音源の位相
リセット回路手段が、このラッチに取り込まれたデータ
を発音チャンネル別に時分割多重化された信号に変換し
ていく。この時分割多重化信号は位相生成回路手段のゲ
ートに制御信号として入力される。ゲートは、制御信号
が“0"のタイミングのとき、すなわち、位相の初期化が
指示された発音チャンネルの位相演算時間では、オール
ゼロを出力することによって、その発音チャンネルの位
相をゼロに初期化し、制御信号が“1"のタイミングのと
き、すなわち、位相の初期化が指示されていない発音チ
ャンネルの位相演算時間では、演算されているその発音
チャンネルの位相データをそのまま出力する。以上によ
り、同一サンプリング時間内で、任意の発音チャンネル
の位相の初期設定が完了する。1サンプリング時間が経
過すると、位相リセット回路手段の出力は禁止され、ゲ
ートには常時“1"の信号が入力され、位相生成回路手段
における発音中のすべてのチャンネルの位相演算を有効
にする。
段は、CPUと音源をつなぐテータバスの各ビット線を
“1"または“0"に設定することにより、各発音チャンネ
ルが初期化されるべきチャンネルかどうかを指定する。
例えば第1ビット線の値が“1"であれば、第1発音チャ
ンネルが初期化されるべきことを意味する。データバス
上のこれらのデータは音源内の適当なラッチに取り込ま
れる。次のサンプリング時間が開始すると、音源の位相
リセット回路手段が、このラッチに取り込まれたデータ
を発音チャンネル別に時分割多重化された信号に変換し
ていく。この時分割多重化信号は位相生成回路手段のゲ
ートに制御信号として入力される。ゲートは、制御信号
が“0"のタイミングのとき、すなわち、位相の初期化が
指示された発音チャンネルの位相演算時間では、オール
ゼロを出力することによって、その発音チャンネルの位
相をゼロに初期化し、制御信号が“1"のタイミングのと
き、すなわち、位相の初期化が指示されていない発音チ
ャンネルの位相演算時間では、演算されているその発音
チャンネルの位相データをそのまま出力する。以上によ
り、同一サンプリング時間内で、任意の発音チャンネル
の位相の初期設定が完了する。1サンプリング時間が経
過すると、位相リセット回路手段の出力は禁止され、ゲ
ートには常時“1"の信号が入力され、位相生成回路手段
における発音中のすべてのチャンネルの位相演算を有効
にする。
[実施例] 第1図は本考案の一実施例に係る電子楽器の機能図であ
る。CPU3は汎用マイコンで、制御プログラムに従って、
鍵盤1、スイッチ2を走査して押鍵、音色選択等を検出
し、バス上に配置されたROM4、RAM5等を使って音色デー
タ、発音制御データを生成して音源LSIの発音を制御す
る。音源LSI6は、後で詳述するが外付けRAM7を楽音生成
のための演算用バッファとして利用して楽音を生成し、
DAC(デジタルアナログ変換器)8に転送する。楽音信
号はDAC8でアナログ信号に変換され、アンプ9で増幅さ
れてスピーカ10によって放音される。
る。CPU3は汎用マイコンで、制御プログラムに従って、
鍵盤1、スイッチ2を走査して押鍵、音色選択等を検出
し、バス上に配置されたROM4、RAM5等を使って音色デー
タ、発音制御データを生成して音源LSIの発音を制御す
る。音源LSI6は、後で詳述するが外付けRAM7を楽音生成
のための演算用バッファとして利用して楽音を生成し、
DAC(デジタルアナログ変換器)8に転送する。楽音信
号はDAC8でアナログ信号に変換され、アンプ9で増幅さ
れてスピーカ10によって放音される。
第2図は、本考案を適用する音源LSI6の動作を説明する
ためのブロック図である。音源LSI6は、振幅エンベロー
プ及びピッチ変動を含んだキーコード等の生成のため
に、RAM7を音色データ用メモリ、又は演算経過データ用
メモリとして使う。尚、RAM7は第3図に示すように、40
0nsec毎にインタフェース/制御部11(インタフェース
占有時間)とエンベロープ/キーコード生成回路(演算
回路占有時間)に交代で占有され、CPUからのデータ書
込み及びエンベロープ等の演算のためのアクセスに対処
する。
ためのブロック図である。音源LSI6は、振幅エンベロー
プ及びピッチ変動を含んだキーコード等の生成のため
に、RAM7を音色データ用メモリ、又は演算経過データ用
メモリとして使う。尚、RAM7は第3図に示すように、40
0nsec毎にインタフェース/制御部11(インタフェース
占有時間)とエンベロープ/キーコード生成回路(演算
回路占有時間)に交代で占有され、CPUからのデータ書
込み及びエンベロープ等の演算のためのアクセスに対処
する。
まず、インタフェース/制御部11の動作を説明する。CP
U3からは音源LSI6に対して音色データ又は発音制御デー
タが転送されるが、音源LSI6ではデータバスDB0〜7に
あるデータを▲▼がLOWのとき▲▼の立上りエ
ッジで取込む。その際、/DがLOWならばデータバスDB0
〜DB7のデータをインストラクション、/DがHIGHなら
ばそのインストラクションに付属するデータとして取込
む(第4図参照)。尚、インストラクションは続いて転
送されるデータの種類を示している。インタフェース/
制御部11はCPU3からのインストラクション及びデータを
受けて、そのインストラクションに対応するRAM7のアド
レスAA0〜11と書込み信号▲▼を生成し、外部RAMイ
ンターフェース16を介して外部RAM7に転送されたデータ
を格納する。ただし、CPU3から転送されたデータが特殊
なものの場合は内部メモリに格納する。例えば転送され
たデータがオペレーションコード(波形生成のための制
御データ)の場合には、外部RAM7への書込みは禁止さ
れ、OCレジスタ14への書込み信号WOが発生することによ
り、OCレジスタに書込まれる。
U3からは音源LSI6に対して音色データ又は発音制御デー
タが転送されるが、音源LSI6ではデータバスDB0〜7に
あるデータを▲▼がLOWのとき▲▼の立上りエ
ッジで取込む。その際、/DがLOWならばデータバスDB0
〜DB7のデータをインストラクション、/DがHIGHなら
ばそのインストラクションに付属するデータとして取込
む(第4図参照)。尚、インストラクションは続いて転
送されるデータの種類を示している。インタフェース/
制御部11はCPU3からのインストラクション及びデータを
受けて、そのインストラクションに対応するRAM7のアド
レスAA0〜11と書込み信号▲▼を生成し、外部RAMイ
ンターフェース16を介して外部RAM7に転送されたデータ
を格納する。ただし、CPU3から転送されたデータが特殊
なものの場合は内部メモリに格納する。例えば転送され
たデータがオペレーションコード(波形生成のための制
御データ)の場合には、外部RAM7への書込みは禁止さ
れ、OCレジスタ14への書込み信号WOが発生することによ
り、OCレジスタに書込まれる。
エンベロープ/キーコード生成回路12は、外部RAM7に書
込まれたデータをアクセスするためにアドレスBA0〜11
及びエンベロープの演算経過データ等の書込み信号▲
▼を発生する。それによって外部RAM7の音色データ
(エンベロープレート/レベルなど)に基づき、発音制
御データ(キーコード、モジュレーションなど)に従っ
て、振幅エンベロープ又はピッチ変動を含んだキーコー
ド(以下では合成キーコードと呼ぶ)を生成し、バスL2
〜14を介して指数変換/位相角生成回路13に時分割に転
送する。
込まれたデータをアクセスするためにアドレスBA0〜11
及びエンベロープの演算経過データ等の書込み信号▲
▼を発生する。それによって外部RAM7の音色データ
(エンベロープレート/レベルなど)に基づき、発音制
御データ(キーコード、モジュレーションなど)に従っ
て、振幅エンベロープ又はピッチ変動を含んだキーコー
ド(以下では合成キーコードと呼ぶ)を生成し、バスL2
〜14を介して指数変換/位相角生成回路13に時分割に転
送する。
指数変換/位相角生成回路13はエンベロープ/キーコー
ド生成回路12からの振幅エンベロープ、合成キーコード
を1つの指数変換器を時分割的に共用することによって
指数変換する。指数変換された振幅エンベロープ(指数
エンベロープ)、及び指数変換された合成キーコード
(周波数情報)は夫々、エンベロープレジスタ、周波数
情報レジスタに一旦格納される。これらは、外部RAM7を
アクセスして振幅エンベロープ、合成キーコードを生成
し、指数変換するという演算処理が低速で行なわれ、そ
の後の演算処理が高速で行なわれるためのインタフェー
ス用バッファとして使われる。第5図に2つの演算処理
の時間関係を示すが、低速演算周期は高速演算周期の48
倍になっている。これは出力波形の変化レートが可聴周
波数の2倍以上でないといけないために波形演算は高速
で行なわれ(本実施例では約40KHz)、それ以外の演算
は外部RAM7のアクセスに合わせて低速で行っているから
である。
ド生成回路12からの振幅エンベロープ、合成キーコード
を1つの指数変換器を時分割的に共用することによって
指数変換する。指数変換された振幅エンベロープ(指数
エンベロープ)、及び指数変換された合成キーコード
(周波数情報)は夫々、エンベロープレジスタ、周波数
情報レジスタに一旦格納される。これらは、外部RAM7を
アクセスして振幅エンベロープ、合成キーコードを生成
し、指数変換するという演算処理が低速で行なわれ、そ
の後の演算処理が高速で行なわれるためのインタフェー
ス用バッファとして使われる。第5図に2つの演算処理
の時間関係を示すが、低速演算周期は高速演算周期の48
倍になっている。これは出力波形の変化レートが可聴周
波数の2倍以上でないといけないために波形演算は高速
で行なわれ(本実施例では約40KHz)、それ以外の演算
は外部RAM7のアクセスに合わせて低速で行っているから
である。
エンベロープレジスタに格納された指数エンベロープは
高速演算に対応して読出され、波形合成回路15にエンベ
ロープE0〜11として転送される。周波数情報レジスタに
格納された周波数情報は、高速演算に対応して読出さ
れ、累算されて位相角データP0〜11として波形生成回路
15に転送される。
高速演算に対応して読出され、波形合成回路15にエンベ
ロープE0〜11として転送される。周波数情報レジスタに
格納された周波数情報は、高速演算に対応して読出さ
れ、累算されて位相角データP0〜11として波形生成回路
15に転送される。
波形生成回路15はOCレジスタ14から読出されたオペレー
ションコードOC0〜7に基づいて、指数変換/位相角生
成回路13から転送されるエンベロープE0〜11、位相角デ
ータP0〜11に従って楽音波形O0〜15を生成し、DAC8へ出
力する。
ションコードOC0〜7に基づいて、指数変換/位相角生
成回路13から転送されるエンベロープE0〜11、位相角デ
ータP0〜11に従って楽音波形O0〜15を生成し、DAC8へ出
力する。
第6図はインタフェース/制御部11の回路図である。ま
ず、タイミング信号発生回路159について説明する。タ
イミング信号発生回路159は、第7図、第8図に示すよ
うに基本クロックφM(10MHz)を分周し必要なタイミン
グ信号を作り、外部からのリセット信号▲▼
から内部リセット信号を作るものである。第9図にそ
の一実施例を示す。10MHzの基本クロックφMはフリップ
フロップ235、インバータ237で分周されS0が生成され、
更にフリップフロップ236によってT0が生成される。更
にアンド239によってφ1が生成され、フリップフロップ
241、242によってV1、W1が生成される。また、フリップ
フロップ245によってT1が生成される。これらの信号か
らインバータ244、247、アンド246、248〜250によって
W、▲▼、▲▼、CK1、CK2が生成される(第7
図)。カウンタA:251はクロックCK2を分周するバイナリ
カウンタで、CK2の立上りで変化する。カウンタ出力の
うちQ1〜Q5は信号C1〜C5としてエンベロープ/キーコー
ド生成回路12、及びOCレジスタ14に出力される。また、
カウンタ出力Q0、Q1から2相フリップフロップ252、25
3、フリップフロップ254、インバータ255、アンド256〜
259によってタイミング信号T2、T3、CKP、CKQ、CKW、CK
Rが生成される(第8図)。インバータ260、261、263、
オア262、アンド264、265から▲▼、CKL、CKPRが
生成される。また、カウンタA:249のCARRY OUT(カウン
ト値127のとき“1")からはアンド266で、外部からのリ
セット信号をサンプリングするクロックCKRTが生成され
る。クロックCKRTによりフリップフロップ268、269でリ
セット信号をサンプリングし、2度以上外部リセット信
号をアンド270で検出したら内部リセット信号が生成さ
れる。したがって、内部リセット信号は第8図のよう
になる。エンベロープ/キーコード生成回路12の基本カ
ウンタBは第8図のようにリセット後の動作を行なう。
ず、タイミング信号発生回路159について説明する。タ
イミング信号発生回路159は、第7図、第8図に示すよ
うに基本クロックφM(10MHz)を分周し必要なタイミン
グ信号を作り、外部からのリセット信号▲▼
から内部リセット信号を作るものである。第9図にそ
の一実施例を示す。10MHzの基本クロックφMはフリップ
フロップ235、インバータ237で分周されS0が生成され、
更にフリップフロップ236によってT0が生成される。更
にアンド239によってφ1が生成され、フリップフロップ
241、242によってV1、W1が生成される。また、フリップ
フロップ245によってT1が生成される。これらの信号か
らインバータ244、247、アンド246、248〜250によって
W、▲▼、▲▼、CK1、CK2が生成される(第7
図)。カウンタA:251はクロックCK2を分周するバイナリ
カウンタで、CK2の立上りで変化する。カウンタ出力の
うちQ1〜Q5は信号C1〜C5としてエンベロープ/キーコー
ド生成回路12、及びOCレジスタ14に出力される。また、
カウンタ出力Q0、Q1から2相フリップフロップ252、25
3、フリップフロップ254、インバータ255、アンド256〜
259によってタイミング信号T2、T3、CKP、CKQ、CKW、CK
Rが生成される(第8図)。インバータ260、261、263、
オア262、アンド264、265から▲▼、CKL、CKPRが
生成される。また、カウンタA:249のCARRY OUT(カウン
ト値127のとき“1")からはアンド266で、外部からのリ
セット信号をサンプリングするクロックCKRTが生成され
る。クロックCKRTによりフリップフロップ268、269でリ
セット信号をサンプリングし、2度以上外部リセット信
号をアンド270で検出したら内部リセット信号が生成さ
れる。したがって、内部リセット信号は第8図のよう
になる。エンベロープ/キーコード生成回路12の基本カ
ウンタBは第8図のようにリセット後の動作を行なう。
次に、CPU3と音源LSI6のデータメモリである外部RAM7と
をインタフェースするインタフェース/制御部11の動作
を説明する。表1にCPU3から転送されるインストラクシ
ョン、データ及び、外部RAM7の対応するアドレスを示
す。
をインタフェースするインタフェース/制御部11の動作
を説明する。表1にCPU3から転送されるインストラクシ
ョン、データ及び、外部RAM7の対応するアドレスを示
す。
ここで、音源LSI6は8つの発音チャンネルを持ち各発音
チャンネル毎に8つの正弦波生成モジュールを持つの
で、エンベロープ/キーコード生成回路12では、各発音
チャンネル毎のピッチエンベロープを含めて72個の振幅
エンベロープ、64個の合成キーコードを生成しなければ
ならない。そのため、データは各チャンネル毎(jjj=
0〜7)に各モジュール(0iii=0〜7)のデータを転
送しなければならない。ただしエンベロープに関係する
データはピッチも含めて9個(jjjj=0〜8)転送す
る。尚、データを1個しか送らないものは各モジュール
共通のものである。
チャンネル毎に8つの正弦波生成モジュールを持つの
で、エンベロープ/キーコード生成回路12では、各発音
チャンネル毎のピッチエンベロープを含めて72個の振幅
エンベロープ、64個の合成キーコードを生成しなければ
ならない。そのため、データは各チャンネル毎(jjj=
0〜7)に各モジュール(0iii=0〜7)のデータを転
送しなければならない。ただしエンベロープに関係する
データはピッチも含めて9個(jjjj=0〜8)転送す
る。尚、データを1個しか送らないものは各モジュール
共通のものである。
第6図で▲▼、▲▼/D、▲▼、DB0〜7にはC
PU3からの信号が入るわけだが、第4図のように信号が
入った時インバータ100〜103、ナンド104、105によって
▲▼、▲▼が発生する。信号▲▼が
発生するとバスDB0〜7のデータがインバータ106〜113
を介してラッチ146〜153に▲▼の立上りで取込まれ
るとともにカウンタ191、フリップフロップ186、192〜1
95をリセットする。ラッチ149〜153の出力はインストラ
ラクションデコーダ154に入力され、それによって必要
な制御信号が発生する。インストラクションデコーダは
第10図のようにインバータ273〜276、ナンド277〜283、
285〜287、アンド284で構成されており、各信号は表2
のようになる。
PU3からの信号が入るわけだが、第4図のように信号が
入った時インバータ100〜103、ナンド104、105によって
▲▼、▲▼が発生する。信号▲▼が
発生するとバスDB0〜7のデータがインバータ106〜113
を介してラッチ146〜153に▲▼の立上りで取込まれ
るとともにカウンタ191、フリップフロップ186、192〜1
95をリセットする。ラッチ149〜153の出力はインストラ
ラクションデコーダ154に入力され、それによって必要
な制御信号が発生する。インストラクションデコーダは
第10図のようにインバータ273〜276、ナンド277〜283、
285〜287、アンド284で構成されており、各信号は表2
のようになる。
例えば、周波数比のインストラクションに対しては、WB
とWTが論理“1"となる(WB=“1"、▲▼=“0")。
とWTが論理“1"となる(WB=“1"、▲▼=“0")。
まず、外部RAM7に書込まれるデータのうち、各チャンネ
ルの各モジュールあたり1バイトのデータ(ハイリリー
スレート、モジュレーション感度、エンベロープレート
変化、エンベロープレベル変化、エンベロープレート、
エンベロープレベル)の書込み動作を説明する(第11図
参照)、CPU3からのインストラクション書込みに応答し
て、信号▲▼が“0"になる。そのとき、バスDB0
〜7のインストラクションはインバータ106〜113で反転
されてラッチ146〜153に取込まれるとともに、カウンタ
191、フリップフロップ192〜195、186がリセットされ
る。そしてインストラクションデコーダ154の出力WBが
“0"となるのでナンド172の出力は常に“1"となり、
▲▼が“1"なのでオア168、170、アンド169によっ
てCK12はCKQとなる。次にCPU3からのデータ書込により
信号▲▼が“0"→“1"になると、フリップフロッ
プ173は▲▼の立上りで“1"を出力し、フリップ
フロップ174の出力は“1"となる。その後、フリップ
フロップ173、175はCKRに同期してリセットされるので
はCKRの1区間だけ“1"となる。また、インストラク
ションデコーダ154の出力▲▼、IDは“1"、“0"、
は“0"なのでオア178、179、インバータ180、181、ナ
ンド182により信号▲▼はが“1"、かつT2が“0"
のとき“0"となる。その時、インストラクションデコー
ダ154の出力▲▼、WBは“1"、“0"なので、ノア161
の出力は▲▼が“0"、▲▼が“0"のときだけ
“1"となり、バスD0〜7のクロックインバータ122〜129
の出力が出力される。カウンタ191は、インストラクシ
ョンデコーダ154の出力▲▼が“1"なので、が
“1"のときのCKQがそのクロックCKCとなり、CKC毎に
0、1、2、……と歩進され、その値はフリップフロッ
プ192〜195、インバータ196〜199で2度反転してモジュ
ール番号を表わすアドレスAA0〜AA3となる。アドレスAA
4〜AA6はインストラクションのラッチ146〜153の下位3
ビットの反転であるからチャンネル番号を表す値“jjj"
となる。また、アドレスAA7〜AA11はインストラクショ
ンデコーダ154の出力EF、WBが“0"だから、ノア204、オ
ア205、207の右入力は“0"、アンド209、211の右入力は
“1"、オア203の左入力は“0"なので、インストラクシ
ョンのラッチ146〜153の上位5ビットの反転となり、イ
ンストラクションの上位5ビットそのものとなる。以上
のように各チャンネル各モジュールあたり1バイトのデ
ータの書込みの場合、インストラクションと一致するア
ドレスに対して第11図のような書込み用の信号が生成さ
れる。ここで各チャンネルの識別はインストラクション
下位3ビットでなされるが、モジュールの識別はインス
トラクション転送後から何番目のデータかということを
カウンタ191で計数することによって行なわれている。
したがって、1つのインストラクションに複数のデータ
が後続する連続転送フォーマットにおいて、どのデータ
がどのモジュールに対するデータであるかはインタフェ
ース/制御部11で自動的に識別されるので、CPU3はモジ
ュール別にインストラクションを送る必要はなく転送効
率が上る。
ルの各モジュールあたり1バイトのデータ(ハイリリー
スレート、モジュレーション感度、エンベロープレート
変化、エンベロープレベル変化、エンベロープレート、
エンベロープレベル)の書込み動作を説明する(第11図
参照)、CPU3からのインストラクション書込みに応答し
て、信号▲▼が“0"になる。そのとき、バスDB0
〜7のインストラクションはインバータ106〜113で反転
されてラッチ146〜153に取込まれるとともに、カウンタ
191、フリップフロップ192〜195、186がリセットされ
る。そしてインストラクションデコーダ154の出力WBが
“0"となるのでナンド172の出力は常に“1"となり、
▲▼が“1"なのでオア168、170、アンド169によっ
てCK12はCKQとなる。次にCPU3からのデータ書込により
信号▲▼が“0"→“1"になると、フリップフロッ
プ173は▲▼の立上りで“1"を出力し、フリップ
フロップ174の出力は“1"となる。その後、フリップ
フロップ173、175はCKRに同期してリセットされるので
はCKRの1区間だけ“1"となる。また、インストラク
ションデコーダ154の出力▲▼、IDは“1"、“0"、
は“0"なのでオア178、179、インバータ180、181、ナ
ンド182により信号▲▼はが“1"、かつT2が“0"
のとき“0"となる。その時、インストラクションデコー
ダ154の出力▲▼、WBは“1"、“0"なので、ノア161
の出力は▲▼が“0"、▲▼が“0"のときだけ
“1"となり、バスD0〜7のクロックインバータ122〜129
の出力が出力される。カウンタ191は、インストラクシ
ョンデコーダ154の出力▲▼が“1"なので、が
“1"のときのCKQがそのクロックCKCとなり、CKC毎に
0、1、2、……と歩進され、その値はフリップフロッ
プ192〜195、インバータ196〜199で2度反転してモジュ
ール番号を表わすアドレスAA0〜AA3となる。アドレスAA
4〜AA6はインストラクションのラッチ146〜153の下位3
ビットの反転であるからチャンネル番号を表す値“jjj"
となる。また、アドレスAA7〜AA11はインストラクショ
ンデコーダ154の出力EF、WBが“0"だから、ノア204、オ
ア205、207の右入力は“0"、アンド209、211の右入力は
“1"、オア203の左入力は“0"なので、インストラクシ
ョンのラッチ146〜153の上位5ビットの反転となり、イ
ンストラクションの上位5ビットそのものとなる。以上
のように各チャンネル各モジュールあたり1バイトのデ
ータの書込みの場合、インストラクションと一致するア
ドレスに対して第11図のような書込み用の信号が生成さ
れる。ここで各チャンネルの識別はインストラクション
下位3ビットでなされるが、モジュールの識別はインス
トラクション転送後から何番目のデータかということを
カウンタ191で計数することによって行なわれている。
したがって、1つのインストラクションに複数のデータ
が後続する連続転送フォーマットにおいて、どのデータ
がどのモジュールに対するデータであるかはインタフェ
ース/制御部11で自動的に識別されるので、CPU3はモジ
ュール別にインストラクションを送る必要はなく転送効
率が上る。
次に外部RAM7に書込まれるデータのうち各チャンネル各
モジュールあたり2バイトのデータ(周波数比、キーコ
ード、モジュレーションレベル/レート、ピッチモジュ
レーション)の書込み動作を説明する(第12図参照)。
CPU3からのインストラクション書込みに応答し、▲
▼が0になり、それによって、インストラクションが
ラッチ146〜153に取込まれるとともに、カウンタ191、
フリップフロップ186、192〜195がリセットされる。フ
リップフロップ176の出力は“0"となっているのでナン
ド172の上入力は“1"、インストラクションデコーダ154
の出力WBは“1"なのでナンド172の出力は“0"となっ
ており、また、ノア167の入力は共に“0"なのでオア16
8、170、アンド169により、CK12はCKQとなる。CPU3から
のデータの書込みにより、▲▼が“0"→“1"にな
ると、フリップフロップ114〜121がデータを取込むと共
にフリップフロップ175は“1"を出力し、フリップフロ
ップ176は“1"、インバータ171は“0"、ナンド172の出
力は“1"となる。そのとき、ノア167の上入力は“1"
なのでCK12はCKWとなる。再び▲▼が“0"→“1"
になると、フリップフロップ130〜137は前段のデータ
を、フリップフロップ114〜121はバスのデータを取込む
と共に、フリップフロップ173の出力は“1"となり、フ
リップフロップ174の出力も“1"となる。が“1"と
なるとフリップフロップ173、175はリセットされるの
で、はCKBの2区間だけ“1"となる(∵CK12=CKW)。
インストラクションデコーダ154の出力▲▼は
“1"、IDは“0"であるからナンド182の出力▲▼
は、が“1"の時にT2が“0"の時、すなわち2回“0"と
なる。また、WBが“1"となるので、▲▼が“0"でT3
が“0"のとき▲▼が“0"の幅でクロックインバータ
122〜129がデータを出力し、▲▼が“0"でT3が“1"
のとき▲▼が“0"の幅でクロックインバータ138〜1
45がデータを出力する。ここでデータは下位(レベ
ル)、上位(レート)の順でCPUから書込まれるので、
バスD0〜7には上位(レート)、下位(レベル)の順で
データが出力され外部RAM7に入力される。カウンタ191
は、インストラクションデコーダ154の出力▲▼が
“0"なので、が“1"のときのCKWがそのクロックCKCと
なり、0、1、2……と歩進されてモジュール番号を表
わすアドレスAA0〜AA3となる。アドレスAA4〜AA6はイン
ストラクションのラッチ146〜153の下位3ビットの反転
であるからチャンネル番号を示す値“jjj"となる。ま
た、アドレスAA7〜AA11は、インストラクションデコー
ダ154のEFが“0"、WBが“1"だから、T3が“0"のときAA7
を“0"にするインストラクション上位5ビットとなり、
T3が“1"のときAA8〜11がインストラクション上位4ビ
ットでAA7が“1"となる。つまり、2バイトデータの第
1バイドアドレスと第2バイトアドレスの区別はAA7を
切り換えることにより行なわれる。尚、チャンネルの識
別とモジュールの識別に関してはチャンネル、モジュー
ル当り1バイトのデータ書込みの場合と同様である。こ
こまでの説明から明らかなように、本実施例によれば、
インタフェース/制御部11に転送データのバイト構成を
インストラクションに基づいて識別する手段が組み込ま
れているため、CPU3から音源LSI6に対し、インストラク
ションに可変のバイト構成のデータが後続する可変フォ
ーマットでデータ転送を行なうことができ、ダミーデー
タなしの最適の転送効率を達成できる。
モジュールあたり2バイトのデータ(周波数比、キーコ
ード、モジュレーションレベル/レート、ピッチモジュ
レーション)の書込み動作を説明する(第12図参照)。
CPU3からのインストラクション書込みに応答し、▲
▼が0になり、それによって、インストラクションが
ラッチ146〜153に取込まれるとともに、カウンタ191、
フリップフロップ186、192〜195がリセットされる。フ
リップフロップ176の出力は“0"となっているのでナン
ド172の上入力は“1"、インストラクションデコーダ154
の出力WBは“1"なのでナンド172の出力は“0"となっ
ており、また、ノア167の入力は共に“0"なのでオア16
8、170、アンド169により、CK12はCKQとなる。CPU3から
のデータの書込みにより、▲▼が“0"→“1"にな
ると、フリップフロップ114〜121がデータを取込むと共
にフリップフロップ175は“1"を出力し、フリップフロ
ップ176は“1"、インバータ171は“0"、ナンド172の出
力は“1"となる。そのとき、ノア167の上入力は“1"
なのでCK12はCKWとなる。再び▲▼が“0"→“1"
になると、フリップフロップ130〜137は前段のデータ
を、フリップフロップ114〜121はバスのデータを取込む
と共に、フリップフロップ173の出力は“1"となり、フ
リップフロップ174の出力も“1"となる。が“1"と
なるとフリップフロップ173、175はリセットされるの
で、はCKBの2区間だけ“1"となる(∵CK12=CKW)。
インストラクションデコーダ154の出力▲▼は
“1"、IDは“0"であるからナンド182の出力▲▼
は、が“1"の時にT2が“0"の時、すなわち2回“0"と
なる。また、WBが“1"となるので、▲▼が“0"でT3
が“0"のとき▲▼が“0"の幅でクロックインバータ
122〜129がデータを出力し、▲▼が“0"でT3が“1"
のとき▲▼が“0"の幅でクロックインバータ138〜1
45がデータを出力する。ここでデータは下位(レベ
ル)、上位(レート)の順でCPUから書込まれるので、
バスD0〜7には上位(レート)、下位(レベル)の順で
データが出力され外部RAM7に入力される。カウンタ191
は、インストラクションデコーダ154の出力▲▼が
“0"なので、が“1"のときのCKWがそのクロックCKCと
なり、0、1、2……と歩進されてモジュール番号を表
わすアドレスAA0〜AA3となる。アドレスAA4〜AA6はイン
ストラクションのラッチ146〜153の下位3ビットの反転
であるからチャンネル番号を示す値“jjj"となる。ま
た、アドレスAA7〜AA11は、インストラクションデコー
ダ154のEFが“0"、WBが“1"だから、T3が“0"のときAA7
を“0"にするインストラクション上位5ビットとなり、
T3が“1"のときAA8〜11がインストラクション上位4ビ
ットでAA7が“1"となる。つまり、2バイトデータの第
1バイドアドレスと第2バイトアドレスの区別はAA7を
切り換えることにより行なわれる。尚、チャンネルの識
別とモジュールの識別に関してはチャンネル、モジュー
ル当り1バイトのデータ書込みの場合と同様である。こ
こまでの説明から明らかなように、本実施例によれば、
インタフェース/制御部11に転送データのバイト構成を
インストラクションに基づいて識別する手段が組み込ま
れているため、CPU3から音源LSI6に対し、インストラク
ションに可変のバイト構成のデータが後続する可変フォ
ーマットでデータ転送を行なうことができ、ダミーデー
タなしの最適の転送効率を達成できる。
次にインストラクション“フラグセット”について述べ
る(第13図参照)。“フラグセット”は外部RAM7にエン
ベロープフラグをセットする命令である。信号の生成
までは1バイトデータの場合と全く同じである。インス
トラクションデコーダ154の出力EFが“1"なので、が
“0"→“1"になったとき、アンド183の出力が“1"とな
り、▲▼が“0"になった時にリセットされていた
フリップフロップ186の出力は“1"となる。また、イ
ンストラクションデコーダ154の出力▲▼は“1"な
のでカウンタ191のクロックCKCはが“1"の間CKQと一
致し、カウンタ191は歩進される。カウンタ191の値が9
になるとCKRに同期してオア184、ナンド185により、フ
リップフロップ186がリセットされるので、は▲
▼〜▲▼が0〜8の間(CKRの9区間)“1"と
なり、ナンド182の出力▲▼は各カウント値毎T2が
“0"のときに“0"となる。その時、インストラクション
デコーダ154の出力▲▼、WBは“1"、“0"なので、
ノア161の出力は▲▼が“0"、▲▼が“0"のと
きだけ“1"となり、バスD0〜7にはクロックドインバー
タ122〜129の出力が出力される。アドレスAA0〜AA3はカ
ウンタ191の値、アドレスAA4〜AA6はインストラクショ
ンの“jjj"、AA7〜AA11はEFが“1"、WBが“0"だから“0
0110"となる。したがって、インストラクション“フラ
グセット”ではモジュール0〜8に同じデータが自動的
に書込まれることになる。
る(第13図参照)。“フラグセット”は外部RAM7にエン
ベロープフラグをセットする命令である。信号の生成
までは1バイトデータの場合と全く同じである。インス
トラクションデコーダ154の出力EFが“1"なので、が
“0"→“1"になったとき、アンド183の出力が“1"とな
り、▲▼が“0"になった時にリセットされていた
フリップフロップ186の出力は“1"となる。また、イ
ンストラクションデコーダ154の出力▲▼は“1"な
のでカウンタ191のクロックCKCはが“1"の間CKQと一
致し、カウンタ191は歩進される。カウンタ191の値が9
になるとCKRに同期してオア184、ナンド185により、フ
リップフロップ186がリセットされるので、は▲
▼〜▲▼が0〜8の間(CKRの9区間)“1"と
なり、ナンド182の出力▲▼は各カウント値毎T2が
“0"のときに“0"となる。その時、インストラクション
デコーダ154の出力▲▼、WBは“1"、“0"なので、
ノア161の出力は▲▼が“0"、▲▼が“0"のと
きだけ“1"となり、バスD0〜7にはクロックドインバー
タ122〜129の出力が出力される。アドレスAA0〜AA3はカ
ウンタ191の値、アドレスAA4〜AA6はインストラクショ
ンの“jjj"、AA7〜AA11はEFが“1"、WBが“0"だから“0
0110"となる。したがって、インストラクション“フラ
グセット”ではモジュール0〜8に同じデータが自動的
に書込まれることになる。
次にインストラクション“キーオフ”について述べる
(第14図参照)。信号▲▼が“0"になるとインス
トラクションがラッチ146〜153に取込まれるとともに、
カウンタ191、フリップフロップ186、192〜195がリセッ
トされる。インストラクションデコーダ154の出力WBが
“0"なのでは“1"、ノア167の出力は“0"、▲▼
が“0"なのでオア168の出力は“0"となり、従ってCK12
はCKWと一致する。▲▼が“0"→“1"になると、
フリップフロップ114〜121にデータが取込まれるととも
に、フリップフロップ173は“1"を出力し、は“1"と
なる。が“1"となるとフリップフロップ173、175はリ
セットされるので、はCKRの2区間だけ“1"となる。
また、インストラクションデコーダ154の出力EFが“1"
なのでアンド183の出力はが“1"のときに“1"となる
から、フリップフロップ186の出力は“1"となる。▲
▼が“0"なのでカウンタ191のクロックCKCはが
“1"の間CKWと一致し、カウンタ191は歩進される。カウ
ンタ191の値が9になるとCKRに同期してフリップフロッ
プ186がリセットされるので、は▲▼〜▲
▼が0〜8の間(CKRの18区間)“1"となり、=
“1"のもとで、ナンド182の出力▲▼は▲▼が
“0"のため各カウント毎にT2が“0"、T3が“1"のときに
“0"となる。そのとき、EFは“1"なのでアドレスAA0〜A
A11は“00110jjjiiii"となるが、が“1"でT3が“0"、
T2が“0"のときは、RAM7からのデータが読出されてきて
いる。フリップフロップ213〜216はそのデータのうち下
位4ビットをCKPで取込み、その値が“*000"ならば“0
0000111"に、“0***”ならば“00000111"に“1abc"
ならば“00000abc"をT3が“1"、T2が“0"のとき▲
▼が“0"の幅でバスD0〜7に出力する(ただし、a、
b、cは任意2進数)。尚、インストラクション“フラ
グセット”、“キーオフ”は、RAM7の中のデータ“エン
ベロープフラグ”を書き替えるものである。ここでデー
タ“エンベロープフラグ”はエンベロープのステップ等
の現在の状態を示すもので、下位3ビットがステップ
(0〜7)、4ビット目がサスティン中か否かのビット
である。すなわち、インストラクション“フラグセッ
ト”はエンベロープフラグをCPU3から直接書込む命令
で、データの下位3ビットにより、どのステップからで
もエンベロープをスタートさせられるものである。ま
た、4ビット目をサスティンの値“1"にしてエンベロー
プフラグを再設定することにより、所望の時点からエン
ベロープをホールドすることができる。インストラクシ
ョン“キーオフ”は現在のエンベロープフラグのデータ
に応じてデータを再セットする命令で、ステップ0(00
00)のとき、又はエンベロープ終了(1000)でなくサス
ティンレベルに到達していないのなら最後のステップ7
(0111)へ進め、サスティンレベルにいるのなら(1ab
c)、サスティンを解除(0abc)するようになってい
る。
(第14図参照)。信号▲▼が“0"になるとインス
トラクションがラッチ146〜153に取込まれるとともに、
カウンタ191、フリップフロップ186、192〜195がリセッ
トされる。インストラクションデコーダ154の出力WBが
“0"なのでは“1"、ノア167の出力は“0"、▲▼
が“0"なのでオア168の出力は“0"となり、従ってCK12
はCKWと一致する。▲▼が“0"→“1"になると、
フリップフロップ114〜121にデータが取込まれるととも
に、フリップフロップ173は“1"を出力し、は“1"と
なる。が“1"となるとフリップフロップ173、175はリ
セットされるので、はCKRの2区間だけ“1"となる。
また、インストラクションデコーダ154の出力EFが“1"
なのでアンド183の出力はが“1"のときに“1"となる
から、フリップフロップ186の出力は“1"となる。▲
▼が“0"なのでカウンタ191のクロックCKCはが
“1"の間CKWと一致し、カウンタ191は歩進される。カウ
ンタ191の値が9になるとCKRに同期してフリップフロッ
プ186がリセットされるので、は▲▼〜▲
▼が0〜8の間(CKRの18区間)“1"となり、=
“1"のもとで、ナンド182の出力▲▼は▲▼が
“0"のため各カウント毎にT2が“0"、T3が“1"のときに
“0"となる。そのとき、EFは“1"なのでアドレスAA0〜A
A11は“00110jjjiiii"となるが、が“1"でT3が“0"、
T2が“0"のときは、RAM7からのデータが読出されてきて
いる。フリップフロップ213〜216はそのデータのうち下
位4ビットをCKPで取込み、その値が“*000"ならば“0
0000111"に、“0***”ならば“00000111"に“1abc"
ならば“00000abc"をT3が“1"、T2が“0"のとき▲
▼が“0"の幅でバスD0〜7に出力する(ただし、a、
b、cは任意2進数)。尚、インストラクション“フラ
グセット”、“キーオフ”は、RAM7の中のデータ“エン
ベロープフラグ”を書き替えるものである。ここでデー
タ“エンベロープフラグ”はエンベロープのステップ等
の現在の状態を示すもので、下位3ビットがステップ
(0〜7)、4ビット目がサスティン中か否かのビット
である。すなわち、インストラクション“フラグセッ
ト”はエンベロープフラグをCPU3から直接書込む命令
で、データの下位3ビットにより、どのステップからで
もエンベロープをスタートさせられるものである。ま
た、4ビット目をサスティンの値“1"にしてエンベロー
プフラグを再設定することにより、所望の時点からエン
ベロープをホールドすることができる。インストラクシ
ョン“キーオフ”は現在のエンベロープフラグのデータ
に応じてデータを再セットする命令で、ステップ0(00
00)のとき、又はエンベロープ終了(1000)でなくサス
ティンレベルに到達していないのなら最後のステップ7
(0111)へ進め、サスティンレベルにいるのなら(1ab
c)、サスティンを解除(0abc)するようになってい
る。
次にOCレジスタへの書込みを説明する(第15図)。書込
み動作は1バイトデータとほぼ同じだが、インストラク
ションデコーダ154の出力IDが“1"となるため、RAM7へ
の最終的な書込信号▲▼は発生しないようになっ
ており、一方▲▼が“0"なのでと同じタイミング
でOCレジスタへの書込み信号WOが発生する。ラッチ156
〜158への書込み(モード)は、上と同様にが発生す
るが、インストラクションデコーダ154の出力IDが“1"
となるため、RAM7への書込みは発生せず、▲▼が
“0"となるのでと同じタイミングでラッチ信号MLTが
発生し、その立下りでラッチ156〜158にフリップフロッ
プ114〜116のデータが取込まれる。
み動作は1バイトデータとほぼ同じだが、インストラク
ションデコーダ154の出力IDが“1"となるため、RAM7へ
の最終的な書込信号▲▼は発生しないようになっ
ており、一方▲▼が“0"なのでと同じタイミング
でOCレジスタへの書込み信号WOが発生する。ラッチ156
〜158への書込み(モード)は、上と同様にが発生す
るが、インストラクションデコーダ154の出力IDが“1"
となるため、RAM7への書込みは発生せず、▲▼が
“0"となるのでと同じタイミングでラッチ信号MLTが
発生し、その立下りでラッチ156〜158にフリップフロッ
プ114〜116のデータが取込まれる。
最後に本考案の中心である位相リセット信号発生回路23
4について説明する。位相リセットの書込みはモードの
場合と全く同じで、ラッチ信号PLTが発生し、それによ
ってフリップフロップ114〜121のデータが取込まれる。
第17図にその詳細を示す。ラッチ信号PLTが発生する
と、第18図のタイムチャートのようにFF288、289がセッ
トされ、ナンド310の上入力は1サンプリング時間の間
“1"となる。アンド301〜308は夫々、ラッチ290〜297の
出力が1のとき、発音チャンネル番号を示すタイミング
信号C2、C1、C0がそれぞれ000〜111のときに“1"とな
る。その時ナンド310の出力が0となり、FF311の出力▲
▼は0となる。すなわち、位相リセット命令ではデ
ータは、1ビット目が1なら第9図のカウンタAの各モ
ジュールのチャンネル0のタイミングの1ビット遅れで
▲▼を1回だけ0とし、2ビット目が1ならチャン
ネル1の1ビット遅れのタイミング▲▼を1回だけ
0とする。更に3〜8ビット目が1ならチャンネル2〜
7のタイミングの1ビット遅れで同様となる。したがっ
て位相リセットのデータは各ビットが位相リセットの有
無を指定することになる。もし、トーンミックス等で2
チャンネル(チャンネル0と4)同時に位相リセットし
て発音する場合には、位相リセットのデータは00010001
とすれば良いことになる。
4について説明する。位相リセットの書込みはモードの
場合と全く同じで、ラッチ信号PLTが発生し、それによ
ってフリップフロップ114〜121のデータが取込まれる。
第17図にその詳細を示す。ラッチ信号PLTが発生する
と、第18図のタイムチャートのようにFF288、289がセッ
トされ、ナンド310の上入力は1サンプリング時間の間
“1"となる。アンド301〜308は夫々、ラッチ290〜297の
出力が1のとき、発音チャンネル番号を示すタイミング
信号C2、C1、C0がそれぞれ000〜111のときに“1"とな
る。その時ナンド310の出力が0となり、FF311の出力▲
▼は0となる。すなわち、位相リセット命令ではデ
ータは、1ビット目が1なら第9図のカウンタAの各モ
ジュールのチャンネル0のタイミングの1ビット遅れで
▲▼を1回だけ0とし、2ビット目が1ならチャン
ネル1の1ビット遅れのタイミング▲▼を1回だけ
0とする。更に3〜8ビット目が1ならチャンネル2〜
7のタイミングの1ビット遅れで同様となる。したがっ
て位相リセットのデータは各ビットが位相リセットの有
無を指定することになる。もし、トーンミックス等で2
チャンネル(チャンネル0と4)同時に位相リセットし
て発音する場合には、位相リセットのデータは00010001
とすれば良いことになる。
第19図は第2図指数変換/位相角生成回路13のブロック
図である。エンベロープ/キーコード生成回路12で生成
されたエンベロープ及びキーコードはクロックCKEでFF3
12に取込まれる。FF312の出力は指数ROM313で変換され
て、エンベロープレジスタ314、周波数情報レジスタ316
に書込まれる。各レジスタはタイミング信号発生回路
(第9図)のカウンタAの値に対応してモジュール0チ
ャンネル0、モジュール0チャンネル1、……のように
読出されFF315又は317を介して出力される。周波数情報
レジスタ316の出力はFF317を介して加算器318、ゲート
回路319、シフトレジスタ320によって構成される位相角
累算器に入力され、累算される。尚累算のタイミング
は、タイミング信号発生回路(第9図)のカウンタAの
値から1ビット遅れでモジュール0チャンネル0、モジ
ュール0チャンネル1、……のようになっている。ゲー
ト回路319は制御入力Gが1のときは入力をそのまま出
力し、0のときはオール0を出力するものである。第17
図の説明で述べたように制御入力Gへの入力▲▼は
第9図のカウンタAのリセットしたい複数チャンネルの
各モジュールでのタイミングの1ビット遅れで0となる
から位相がリセットされることになる。したがって、位
相リセット命令のデータによって指示された各モジュー
ルのチャンネルが信号▲▼によってリセットされ
る。
図である。エンベロープ/キーコード生成回路12で生成
されたエンベロープ及びキーコードはクロックCKEでFF3
12に取込まれる。FF312の出力は指数ROM313で変換され
て、エンベロープレジスタ314、周波数情報レジスタ316
に書込まれる。各レジスタはタイミング信号発生回路
(第9図)のカウンタAの値に対応してモジュール0チ
ャンネル0、モジュール0チャンネル1、……のように
読出されFF315又は317を介して出力される。周波数情報
レジスタ316の出力はFF317を介して加算器318、ゲート
回路319、シフトレジスタ320によって構成される位相角
累算器に入力され、累算される。尚累算のタイミング
は、タイミング信号発生回路(第9図)のカウンタAの
値から1ビット遅れでモジュール0チャンネル0、モジ
ュール0チャンネル1、……のようになっている。ゲー
ト回路319は制御入力Gが1のときは入力をそのまま出
力し、0のときはオール0を出力するものである。第17
図の説明で述べたように制御入力Gへの入力▲▼は
第9図のカウンタAのリセットしたい複数チャンネルの
各モジュールでのタイミングの1ビット遅れで0となる
から位相がリセットされることになる。したがって、位
相リセット命令のデータによって指示された各モジュー
ルのチャンネルが信号▲▼によってリセットされ
る。
[考案の効果] 以上詳細に説明したように、この考案では、任意の数の
発音チャンネルについてその位相を同時に初期化すべき
場合に、CPUの位相同期チャンネル指定手段によりこれ
らの発音チャンネルのすべてについて位相の初期化を指
示する命令を一回の転送命令で実行し、上記位相同期チ
ャンネル指定手段により位相の初期化が指示されたすべ
ての発音チャンネルを、音源の位相リセット回路手段に
より、同一サンプリング時間内で解読して位相生成回路
手段におけるこれらの発音チャンネルの位相を同じ位相
に初期化している。したがって、トーンミックスのよう
に複合化された楽音を発音させる場合に、その音色を常
に同じ音色に維持することができる。この考案は複合化
された楽音の各初期位相を完全に一致させることができ
る。
発音チャンネルについてその位相を同時に初期化すべき
場合に、CPUの位相同期チャンネル指定手段によりこれ
らの発音チャンネルのすべてについて位相の初期化を指
示する命令を一回の転送命令で実行し、上記位相同期チ
ャンネル指定手段により位相の初期化が指示されたすべ
ての発音チャンネルを、音源の位相リセット回路手段に
より、同一サンプリング時間内で解読して位相生成回路
手段におけるこれらの発音チャンネルの位相を同じ位相
に初期化している。したがって、トーンミックスのよう
に複合化された楽音を発音させる場合に、その音色を常
に同じ音色に維持することができる。この考案は複合化
された楽音の各初期位相を完全に一致させることができ
る。
第1図は本考案の一実施例に係る電子楽器の全体構成
図、第2図は音源LSIのブロック図、第3図は音源LSIの
インタフェース/制御部とエンベロープ/キーコード生
成回路による外部RAM占有の割振を示すタイムチャー
ト、第4図はCPUから音源LSIのインタフェース/制御部
に送られるデータと書込制御信号のタイムチャート、第
5図は楽音制御信号生成のための低速演算周期と波形生
成のための高速演算周期とを示すタイムチャート、第6
図はインタフェース/制御部の詳細図、第7図はタイミ
ング信号発生回路が発生する信号の一部のタイムチャー
ト、第8図はタイミング信号発生回路が発生するその他
の信号のタイムチャート、第9図はタイミング信号発生
回路の詳細図、第10図はインストラクションデコーダの
詳細図、第11図は1バイト長のデータの転送インストラ
クションに対するインタフェース/制御部の動作を示す
タイムチャート、第12図は2バイト長のデータの転送イ
ンストラクションに対するインタフェース/制御部の動
作を示すタイムチャート、第13図はフラグセットのイン
ストラクションに対するインタフェース/制御部の動作
を示すタイムチャート、第14図はキーオフのインストラ
クションに対するインタフェース/制御部の動作を示す
タイムチャート、第15図はOCレジスタへの書込みインス
トラクションに対するインタフェース/制御部の動作を
示すタイムチャート、第16図はモードの設定インストラ
クションまたは位相リセットのインストラクションに対
するインタフェース/制御部の動作を示すタイムチャー
ト、第17図は位相リセット信号発生回路の詳細図、第18
図は位相リセット信号発生回路のタイムチャート、第19
図は指数変換/位相角生成回路のブロック図である。 3……CPU、6……音源LSI、13……指数変換/位相角生
成回路、234……位相リセット信号発生回路。
図、第2図は音源LSIのブロック図、第3図は音源LSIの
インタフェース/制御部とエンベロープ/キーコード生
成回路による外部RAM占有の割振を示すタイムチャー
ト、第4図はCPUから音源LSIのインタフェース/制御部
に送られるデータと書込制御信号のタイムチャート、第
5図は楽音制御信号生成のための低速演算周期と波形生
成のための高速演算周期とを示すタイムチャート、第6
図はインタフェース/制御部の詳細図、第7図はタイミ
ング信号発生回路が発生する信号の一部のタイムチャー
ト、第8図はタイミング信号発生回路が発生するその他
の信号のタイムチャート、第9図はタイミング信号発生
回路の詳細図、第10図はインストラクションデコーダの
詳細図、第11図は1バイト長のデータの転送インストラ
クションに対するインタフェース/制御部の動作を示す
タイムチャート、第12図は2バイト長のデータの転送イ
ンストラクションに対するインタフェース/制御部の動
作を示すタイムチャート、第13図はフラグセットのイン
ストラクションに対するインタフェース/制御部の動作
を示すタイムチャート、第14図はキーオフのインストラ
クションに対するインタフェース/制御部の動作を示す
タイムチャート、第15図はOCレジスタへの書込みインス
トラクションに対するインタフェース/制御部の動作を
示すタイムチャート、第16図はモードの設定インストラ
クションまたは位相リセットのインストラクションに対
するインタフェース/制御部の動作を示すタイムチャー
ト、第17図は位相リセット信号発生回路の詳細図、第18
図は位相リセット信号発生回路のタイムチャート、第19
図は指数変換/位相角生成回路のブロック図である。 3……CPU、6……音源LSI、13……指数変換/位相角生
成回路、234……位相リセット信号発生回路。
Claims (1)
- 【請求項1】サンプリング時間ごとに複数の発音チャン
ネルの楽音を時分割多重化方式で生成可能なデジタル音
源(6)と、 上記デジタル音源と非同期で動作する音源制御CPU
(3)と、 を備え、 上記デジタル音源は、各発音チャンネルのタイムスロッ
トで各発音チャンネルの位相データを生成する位相生成
回路手段(13)を有し、 上記音源制御CPUは、位相データが初期化されるべきす
べての発音チャンネルを1回の転送命令で指示する位相
同期チャンネル指定手段を有し、 更に、上記デジタル音源は、上記転送命令に応答し、同
一サンプリング時間内において、上記転送命令の指示す
る位相データが初期化されるべき各発音チャンネルのタ
イムスロットでアクティブとなるリセット信号(▲
▼)を発生するリセット信号発生手段(234)を有し、 上記位相生成回路手段は上記リセット信号に応答して該
当発音チャンネルの位相データを所定値に初期化するこ
とを特徴とする楽音位相同期装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1987157033U JPH0750799Y2 (ja) | 1987-10-14 | 1987-10-14 | 楽音位相同期装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1987157033U JPH0750799Y2 (ja) | 1987-10-14 | 1987-10-14 | 楽音位相同期装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0160290U JPH0160290U (ja) | 1989-04-17 |
JPH0750799Y2 true JPH0750799Y2 (ja) | 1995-11-15 |
Family
ID=31436114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1987157033U Expired - Lifetime JPH0750799Y2 (ja) | 1987-10-14 | 1987-10-14 | 楽音位相同期装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0750799Y2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2812246B2 (ja) * | 1995-02-28 | 1998-10-22 | ヤマハ株式会社 | ディジタル信号処理装置 |
JP5184228B2 (ja) * | 2008-06-30 | 2013-04-17 | 株式会社河合楽器製作所 | 電子楽音発生装置の位相同期装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5216216A (en) * | 1975-07-29 | 1977-02-07 | Nippon Gakki Seizo Kk | Electronic instrument |
JPS5383608A (en) * | 1976-12-29 | 1978-07-24 | Nippon Gakki Seizo Kk | Wave generator for electronic musical instruments |
JPS5615516A (en) * | 1979-07-16 | 1981-02-14 | Nissin Electric Co Ltd | Hydraulic control device for operating breaker |
JPS5943758A (ja) * | 1982-08-04 | 1984-03-10 | ハ−・クランツ・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング・ウント・コンパニイ | クリツプテンタの把持装置 |
JPS6145296A (ja) * | 1984-08-09 | 1986-03-05 | カシオ計算機株式会社 | 信号処理装置 |
-
1987
- 1987-10-14 JP JP1987157033U patent/JPH0750799Y2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5216216A (en) * | 1975-07-29 | 1977-02-07 | Nippon Gakki Seizo Kk | Electronic instrument |
JPS5383608A (en) * | 1976-12-29 | 1978-07-24 | Nippon Gakki Seizo Kk | Wave generator for electronic musical instruments |
JPS5615516A (en) * | 1979-07-16 | 1981-02-14 | Nissin Electric Co Ltd | Hydraulic control device for operating breaker |
JPS5943758A (ja) * | 1982-08-04 | 1984-03-10 | ハ−・クランツ・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング・ウント・コンパニイ | クリツプテンタの把持装置 |
JPS6145296A (ja) * | 1984-08-09 | 1986-03-05 | カシオ計算機株式会社 | 信号処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH0160290U (ja) | 1989-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4184400A (en) | Electronic musical instrument utilizing data processing system | |
US4882963A (en) | Electronic musical instrument with editing of tone data | |
JPH0750799Y2 (ja) | 楽音位相同期装置 | |
JP2599363B2 (ja) | ループ領域自動決定装置 | |
US4562763A (en) | Waveform information generating system | |
JPS6230634B2 (ja) | ||
JPH0331273B2 (ja) | ||
JPS6048760B2 (ja) | 電子楽器におけるノ−トクロック発生装置 | |
KR900010646A (ko) | 전자 악기용 처리 장치 | |
JPH0738956Y2 (ja) | 楽音合成装置 | |
JP2527652Y2 (ja) | 楽音合成装置 | |
JPH0738955Y2 (ja) | 楽音合成装置 | |
JPS62121497A (ja) | 電子楽器 | |
JPH0421199B2 (ja) | ||
CA1097105A (en) | Electronic musical instrument with device for selecting tone clock numbers | |
JPH0332080B2 (ja) | ||
JP2718039B2 (ja) | 楽音合成装置 | |
JPS62106498A (ja) | 電子楽器 | |
JPS62111288A (ja) | 電子楽器のエンベロ−プ発生装置 | |
JP2727451B2 (ja) | 楽音発生装置 | |
JPS6223873B2 (ja) | ||
JPH0460744A (ja) | デジタルマイクロコンピュータ | |
JPH0460595A (ja) | 電子楽器用処理装置 | |
JPS62121496A (ja) | 電子楽器 | |
JPS6230637B2 (ja) |