JPS616688A - Musical sound generation system - Google Patents
Musical sound generation systemInfo
- Publication number
- JPS616688A JPS616688A JP59127058A JP12705884A JPS616688A JP S616688 A JPS616688 A JP S616688A JP 59127058 A JP59127058 A JP 59127058A JP 12705884 A JP12705884 A JP 12705884A JP S616688 A JPS616688 A JP S616688A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vibrato
- scd
- key
- sound
- 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.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
産業上の利用分野
本発明は電子楽器等に用いることができる楽音発生シス
テムに関するものである。
従来例の構成とその問題点
近年、電子楽器等に用いられる楽音発生システムの役割
は多様化し、複数の楽音を独立に発生できるポリフォニ
ック式の楽音発生・システムにおいては、すべてのチャ
ネルを同じ音色で、同じ効果を付加して、用いるとは限
らず、自動演奏、あるいは、マニアル演奏時の鍵域分割
などが行われ、複数の発音チャネルを分割して、異なる
音色を割り当てたり、異なる効果を付加したりする必要
が出てきだ。
従来の電子楽器におけるポリフォニック楽音発生システ
ムは、ビブラート、グライドなどの効果を付加する場合
でも、全チオネル共通に付加することが多かった。特願
昭58−143015号「ノートクロック発生装置」に
おいて、特定のチャネルにだけ、ビブラートを付加する
ノートクロック発生装置が提案されているが、チャネル
共通のディレイ・ビブラート、キーグライドなどの効果
を付加しているチャネルの中でのキーオンを検出して、
初期設定するような機能をもっていなかったので、効果
を付加するチャネルの設定の仕方に制約があるという欠
点を有した。
例えば、1つのキーオンに対して、2つの発音チャネル
を割当てて、一方のチャネルにビブラートを付加するよ
うな場合は、キーオン情報の数と、ビブラート付加チャ
ンネルの数が同一であるから、少なくとも1つのキーオ
ンが検出されたときに、ディレイ・ビブラートをスター
トすればよいが、鍵域を2分割して、片方の鍵域に対応
する楽音にだけビブラートを付加するような場合、ビブ
ラートオフのチャネルがキーオンになっている状態で、
ビブラート・オンのチャネルのうち、ただ1つをキーオ
ンにしても、ディレイ・ビブラートはスタートしないと
いう不都合があった。
発明の目的
本発明の目的は、ポリフヤニノク楽音発生システムにお
いて、特定のチャネルのみにビブラートなどの効果を付
加することが可能で、効果が付加されているチャネルだ
けのキーオンを検出して、少なくとも1つのキーオンが
検出されたときに開始するディレイ・ビブラートなどの
制御ができる楽音発生システムを提供することである。
発明の構成
本発明の楽音発生システムは発生楽音の音階と゛5音タ
イミングを指定する発音コントロール・データを複数チ
ャネル独立に発生する発音コントロール・データ発生手
段と、ビブラートのオン/オフをチャネル独立に指定す
るビブラート・イネイブル・データを発生するビブラー
ト・イネイブル・データ発生手段と、ビブラート・イネ
イブル・データがオンのチャネルだけビブラートを付加
し、ビブラート・イネイブル・データがオンのチャネル
のうち少なくとも1つのチャネルが発音を開始した時点
で、ディレイ・ビブラートを開始する機能をもち、上記
発音コントロール・データとビブラート・イネイブル・
データにもとづいた周波数データを楽音発生装置に送出
するビブラート付加装置と、ビブラート付加装置から送
出された周波数データに対応したピッチの楽音を発生す
る楽音発生装置から構成したものであり、特定のチャネ
ルのみにビブラートなどの効果を付加することが可能で
、効果が付加されているチャネルだけのキーオンを検出
して、少なくとも1つのキーオンが検出されたときに開
始するディレィビブラートなどの制御が可能である。
実施例の説明
〔1〕 楽音発生システムの構成
第1図は、本発明の楽音発生システムを電子楽器に応用
した、本発明の実施例の構成を示すブロック図である。
メイン・マイクロコンピュータMμC(101)はキー
ボード(102)、タブ0スイツチ(1’03)などの
入力装置から信号を受けとって、複数の楽音発生システ
ム(10B−1〜4)を制御する。
楽音発生システム(108−1〜4)から出力された楽
音信号は、加算器(109)で加算され、増幅器(11
o)を通してスピーカ(111)から発音される。4
サブ・マイクロコンピュータSμC(104)ハ、メイ
ン・マイクロコンピュータMμC(101)から送出さ
れる発音コントロール・データSCD、音色セレクト・
データTSD等を受けとって、ディジタル・サウンドジ
ェネレータDSG (106)、ローパス・フィルタL
PF(1o6)、振幅変調部AMS(1o7)を制御す
る。DSG(105)は、サブ・マイクロコンピュータ
SμC(104)から送出される発音コントロール・デ
ータSCD、音色セレクト・データTSD等にもとづい
て8チヤヤネルの楽音を独立に発生する。
このような機能をもつディジタル・サウンド・ジェネレ
ータDSGは特願昭57−231482号の「楽音発生
装置」において提案されている。
上記の楽音発生装置は、波形メモリから、2つの波形デ
ータを順次読み出して、補間演算を行い、得られた出力
データをディジタル−アナログ変換器DACを通して、
アナログ楽音出力を得る構成になっている。
ただし、本発明の楽音発生システムにおけるディジタル
・サウンド・ジェネレータDSG(105)は、音階に
対応した周波数データの発生、ビブラート付加処理、グ
ライド付加処理等の機能を持たす、上記の処理をサブ・
マイクロ・コンピュータSμC(104)で行っており
、またディジタル−アナログ変換器DACの前のディジ
タル楽音出力をチャネル独立に見て、オールO検出を行
い、楽音が発生中か、否かを示すチャ〜ネル・ステート
・データCH8Tをサブ・マイクロ・コンピュータSμ
C(104)に対して、送出する機能をもっている。
またDSG(1os)は、SμC(104)から送出さ
れるチャネル独立のファースト・ダンパ要求信号を受け
とると、発音中の楽音を短時間で減衰させる機能を持っ
ている。このファースト・ダンパ機能は、DSG(10
5)内のエンベロープ・データを操作することによって
、容易に実現できる。またSμC(104)から送出さ
れる信号FDPは、該当するチャネルのキーオン/オフ
データKDの反転値KDと論理積がとられて、データK
Dがオンのときは、ファースト−ダンパがかからないよ
うになっている。
〔2〕 サブ・マイクロコンビ“ユータの入力データ
拳フォーマット
第2図は、メイン・マイクロ・コンピュータMμC(1
01)から、サブ・マイクロ・コンピュータSμC(1
04)へのデータ転送I10 マツプである。
第3図〜第5図は、第2図に示されているデータのデー
タ・フォーマット図である。
発音コントロール・データSCDは、ノートデータNT
D、オクターブ・データOTD、キーデータKDで構成
され、OTD 、NTDは、ディジタル・サウンド・ジ
ェネレータDSG(105)に送られて、音名に対応す
る基本ピッチと、音色、エンベロープをもつ、楽音が発
生される。
キー#7/オフデータKDは、DSG (105)に送
られ、発音の開始と終了に関する制御を行う。
ピッチ・コントロール・データPCDは、ノート・デー
タNTDとオクターブ・データOTDで決定される基本
ピッチからのピッチのずれをチャネル独立に与えるデー
タである。
レベル・コントロール・データL CDu、発音される
楽音のレベルをチャネル独立に設定するデータである。
音色セレクト・データTSDは、波形データ・メモリ上
のどの音色に相当するメモリ領域を選択するかを決定す
るデータで、このデータによって、例えば、ピアノ、ギ
ター等の音色を各チャネル独立に16種類捷で選択する
ことができる。
ビブラート・イネイブル・データVENは、チャネル独
立にビブラートのオン/オフを指定するデータである。
グライド・イネイブル命データGE、Nはチ(ヤネル独
立にグライドのオン/オフを指定するデータである。
効果コントロール・データECDは、ディレィビブラー
ト、オン/オフを指定するデータDVIBと、ビブラー
トの深さを4段階で指定するビブラート・デプス・デー
タVDPと、ビブラートの周波数を4段階で指定するビ
ブラート周波数データVFDと、ダンパのオン/オフを
指定するダンパオン/オフデータDMPと、トレモロの
オン/オフを指定するトレモロオン/オフ・データTR
Mとグライドのオン/オフを指定するデータGLとで構
成されている。
〔3〕 データ転送方式
次に上記のメイン・マイクロコンピュータMμC(10
1)からサブ・マイクロコンピュータSμC(104)
へ送られるデータの転送方式について説明する。
第6図は、本発明の楽音発生システムで、用いているデ
ータ転送方式を実現するデータ転送装置のブロック図で
ある。
メイン・マイクロコンピュータ(201)は、8ビツト
のデータ・バスDBを介して、サブ・マイクロコンピュ
ータ(203)にデータを転送する。そのデータバス上
のデータは、メイン・マイクロコンピュータMpC(2
01)から送出される転送フラグTRFによって、アド
レスとデータの区別および、データの順序の判断が行わ
れる。
サブ・マイクロコンピュータSμCのデータの受は取り
は、メイン・マイクロコンピュータMpCから送出され
る割込み要求信号WRによって、RSフリップ・フロッ
プ(202)がセントされることによって、始まりR3
Tから送出されるリセット信号によってRSフリップ・
フロップ(202)がリセットされることによって終了
する。
第7図は、データ転送装置の機能ブロック図である。
データ送出、置(306)は、発音コントロール・デー
タ5CD1ピツチ争コントロール・データPCD等を生
成するデータ生成手段(301)と、データ生成手段(
301)によって生成されたデータを、データ受信装置
(312)に対して送出するデータ出力手段(304)
とデータ出力の前に、転送フラグTRFを所定の値にセ
ットして送出するTRF出力手段(3O3,)と、デー
タ出力手段(3’04)によるデータ出力のタイミング
を制御するタイマ手段(302)と、データ出力の際に
SμC(312)に対して、割込み要求信号を送出する
割込み要求手段(305)によって構成される。
データ受信装置(312)は、データ送信装置(3oe
)から送出される割込み要求信号を受は取って、データ
入力手段(308)を割込み処理状態にし、データ入力
が完了すると、割り込み待機状態になる割込み制御手段
(309)と、TRF入力手段(307)から送られて
くる転送フラグTRFによって、データ入力手段(30
8)から送られてくるデータの区別を行ない、データを
格納するデータ格納手段(310)により、構成される
。
上記のデータ転送装置を第6図のような構成で8049
などのマイクロ・コンピュータで実現した場合の、プロ
グラムのフローチャートを第8図。
第9図に示す。
第8図は、MgO(201)で実現されるデータ送信装
置の動作を表わすフローチャートで、第9図は、SμC
(203)で実現されるデータ受信装置の動作を表わす
フロー・チャートである。
MgO(201)のデータ転送プログラムには2通シあ
り、第8図(、)は、複数ワードのデータを一度に転送
するブロック転送方式のフロー・チャートで、第8図[
有])は、1ワードのデータを特定のアドレスに対して
転送する、ワード転送方式のフロー・チャートである。
第8図(−)のブロック転送方式の場合、あらかじめ、
24ワードのブロック・データ(SCD、PCD。
LCD)がMgO(201)上のメモリに連続的に格納
されているとする。
処理(401)で、MgO(201)上のメモリのブロ
ック・データ・エリアの先頭にアドレス・カウンタをセ
ットし、処理(402)で、転送フラグTRF、、’”
0#(“0#は論理Oを表わす)を出力して、初期設定
する。処理(403)で、S pC(203)に対して
、割込み要求信号WRを出力し、次に処理(404)で
、ブロック転送−を開始することを示す、データooH
(Hは16進数を表わす)を出力し、処理(408)で
次のデータを送出することを示すフラグT RF =
” 1″(−−1#は論理1を表わす)を出力し、処理
(406)において、一定時間待つことによって、Sμ
C(203)が次のデータを受は取ることが、可能にな
るまでぐ次のデータの送出を保留する。
次に処理(407)で、MgO(201)上の・メモリ
のブロック・データ・エリアからデータを読み、処理(
408)で、データをSμC(203)に送出し、処理
(409)で、メモリのアドレス・カウンタをインクリ
メントする。その後、上述の処理(406)と同じ目的
で、処理(410)で、一定時間待つ。処理(412)
で、アドレス・カウンタが最終のアドレスまでインクリ
メントしたか否かを見ている。例えば、SCD、PCD
。
LCDの8ワードのデータを同時にブロック転送すると
すれば、(407)〜(411)までの処理が24回繰
シ返される。
第8図中)のワード転送方式の場合1.処理(413)
で出力するアドレス・データをセットし、処理(414
)で、アドレス・データの送出を示すフラグTRF−”
O”を出力し処理(415)でSμC(203)に対し
て割込み要求信号WRを出力し、処理(41e)でアド
レス・データを出力し、処理(417)で、上述の処理
(406)と同様の目的で、一定時間待つ。次に、デー
タを送出することを示すフラグT RF = ” 1″
を出力し、処理(419)で割込み要求信号WRを出力
し、処理(420)でデータを出力し、処理(421)
で、上述の処理(406)と同様の目的で、一定時間待
つ。
第9図は、MgO(,201)が送出されるデータをS
μC(203)で、受けとる場合の割込みルーチンのフ
ローチャートを示している。
MgO(201)からの割込み要求信号WRによって、
割込みルーチンに入ると、まず処理(501)で、デー
タを入力し、処理(502)で、入力データが00Hか
否かを見てOOHならば、ブロック転送が開始されると
判断して、処理(504)を実行し、○oHでなければ
、ワード転送と、判断して処理(515)を実行する。
ブロック転送の場合、処理(504)で、データを格納
すべき、SCD、PCD、LCDメモリのアドレス・カ
ウンタを初期設定する。
なおSμC(203)内のメモリのメモリ・マツプを第
10図に示す。ここに記されているデータのデータ・フ
ォーマットは、アドレス20H〜3FHまでは、第4図
で説明したデータ・フォーマットと同様である。
次に処理(505)でフラグT RF カ” O” カ
ら1″に変化する壕で待ってから、処理(soe)で、
データを入力し、処理(507)で第10図に示された
メモリに格納する。次に処理(SOa)で、アドレスe
カウンタをインクリメントし、処理(509)で、フラ
グTRFが反転するまで待ってから、アドレス・カウン
タをインクリメントし、アドレス・カウンタが、最後の
アドレスを越えているか否かを見る、つまシ、アドレス
・カウンタが、38Hか否かを見て、処理(505)か
、処理(514)を実行する。
アドレス・カウンタが38Hでないとき、再び(505
)〜(612)の処理を繰り返し、アドレス・カウンタ
が38Hになると、処理(514)で、インタラブドフ
リップ−フロップ(第6図のRSフリップ・フロップ(
202)に相当する)をリセットする信号R8Tを出し
て、処理を終了する。
ワード転送の場合、処理(616)において、処理(5
01)で、入力したデータをアドレス・データとして、
セーブし、処理(516)でフラグTRFが反転するの
を待ってから、処理(s17)で、データを入力し、処
理(618)において、処理(515)で、セーブされ
たアドレス・データにもとづいて、メモリにデータを格
納し、最後に処理(519)で、インクラブド・フリッ
プ・フロップをリセットする。
第11図(−)は、MBC(201)からSμC(20
3)へブロック転送を行うときのタイミング・チャート
であり、第11図(1))は、ワード転送を行うときの
タイミング・チャートである。なお図中の信号名は、第
6図中の信号名と一致している。
第11図(−)において、MgO(201)からSμC
(203)に対して、割込み要求信号WRが送出される
と、SμC(203)は割込み処理に入J、DBババス
上データOoHを見てブロック転送であることを判断し
、転送フラグTRFO値を児ながら順次データを受けと
って行き、データ5CDOからデータLCD7までの2
4個のデータをすべて受けとると、信号RSTによって
RSフリップ−フロップ(202)がリセットされ、割
込み待機状態になる。
なお信号INTは、RSフリップ・フロップ(2,02
)からSμc(203)に送られる割込み要求信号であ
り、信号R8Tによってリセットされる捷で、保持され
る。
第11図[有])において、MgO(201)は、割込
み要求信号WRをSμC(203)に送出し、その後、
DBババス介して、アドレスADHを送り、フラグTR
Fが反転してからデータDATAをS/1c(203)
に対して送る。
SμC(203)はデータDATAを受けとるとRSフ
リップ・フロップ(202)をリセットして、通常処理
に戻る。
以上のようなタイミングで、ブロック転送とワード転送
が行われる。
なお本発明の楽音発生システムにおけるM /1G(1
01)からSμC(104)へのデータ転送は、ワード
数が多く、転送頻度が高いデータSCD。
PCD、LCD等は、ブロック転送を用い、ワード数が
少なく転送頻度の低いデータTSD、EFT。
VBE等は、ワード転送を用いている。
つまり、同じタイミングで多数のデータを1度に転送す
る場合、アドレスの転送を必要としないブロック転送は
有利で、少数のデータをばらばらのタイミングで転送す
るときは、ワード転送が有利なので、この2つの転送方
式を転送するデータによって使い分けることによって、
CPUの占有時間の少ない転送処理を実現することがで
きる0〔4〕 サブ・マイクロコンピュータの処理サ
ブ・マイクロコンピュータSμC(104)は、ディジ
タル・サウンド・ジェネレータDSG(1OS)に対す
る発音コントロール・データSCDの送出のタイミング
制御、音色セレクトデータTSDの切り換え時の制御、
データSCDにもとづいて、基本周波数に対応する周波
数データFQDを作成する処理、ディレィビブラートの
制御、トレモロ付加処理、グライド付加処理、及び各種
データのDSG(1os)に対する出力処理を行う。
〔5〕 ディジタル・サウンド・ジェネレータの入出
力データ・フォーマット
第12図は、SμC(104)とDSG(105)の間
のデータの入出力形式を示すI10マツプである。I1
0アドレス44Hのチャネル・ステート・データは、D
SG(1o5)が、発音中であることを、チャネル独立
に示すデータであp 、DSG(1o6)からSμC(
104)に送られる。他のすべでのデータは、SμC(
104)からDSCi(1o5)に送出される。
発音コントロール・データSCDは、第3図に示される
MgO(101)から571C(104)へのデータ転
送の際のデータ・フォーマント図と全く同様である。
レベル・コントロール・データLCD1音色セレクトデ
ータTSD、エンベロープ・データENVは、第4図に
示されるMgO(101)からSμC(104)への転
送の際のデータ・フォーマットと同様である。
第13図(a)〜(C)はS p C(104)からD
SG(105)に送られる周波数データFQDのデータ
・フォーマットである。データFQDは8チヤネル独立
のデータで1ワードが13ビツトの構成になってお9、
下位8ピントと上位5ビツトが、順次、転送され、DS
G(105)は、このデータFQDの値に対応した周期
の楽音信号を出力する。
第13図(’d1) 、 (d2)は、ダンパ・オン/
オフ・データDMPのデータ・フォーマットを示す・第
13図(el)、(e2)はファーストダンパ・データ
FDPのデータ・フォーマットを示しており、データF
DPはDSG(105)で発音する8チヤネルの発音チ
ャネルに対して、独立にファースト・ダンパを要求する
データである。DSG(105)のあるチャネルに対し
てSμC(104)から、ファースト・ダンパが要求さ
れると、そのチャネルが発音中である場合、DSG(1
05)は通常の楽音の減衰より、短かい時間で楽音を減
衰させる0
この、ファースト・ダンパの減衰時間は、短いほど、次
の新たな楽音の発生は速いが、短かすぎると、クリック
に聞こえるので、適当な時間に設定する必要がある。
第13図(fl)、(f2)は、上述のチャネル・ステ
ート・データCH3Tのデータ・フォーマント図である
。
(6) 発音コントロール・データの割自て処理Sμ
C(104)からDSG(105)に対する発音コント
ロール・データSCDの送出タイミングの制御について
以下に説明する0
第14図は、第1図におけるM/iC(1o1 )。
S p C(104) 、 D S G (105)の
部分を、発音制御を行う1つのシステムと見た場合の機
能ブロック図である。
SCD発生装置(601)は、実際には、MμC(10
1)上のソフト・ウェアで実現される、発音コントロー
ル・データSCDの生成装置である。
発音制御装置(soo)は、S /J C(104)上
のソフト・ウェアで実現される、データSCDの割当て
タイミングの制御手段であり、楽音発生装置(6o4)
は、DSG(105)に相当する。
発音制御装置(600)は、SCD発生装置(6o1)
から、送出されるデータSCDを受けとって、楽音発生
装置(604)から送出されるチャネル・ステート・デ
ータCH8Tを見て、データSCDを楽音発生装置(6
04)に送出するとともに、楽音発生装置(604)の
該当するチャネルが、発音中であれば、ファースト・ダ
ンパ要求手段(603)により、該当するチャネルに対
して、ファースト・ダンパの要求を行う。
第15図は、発音制御装置(600)の機能を示した詳
細な機能ブロック図である。
SCD発生装置(601)で、生成されたデータSCD
は、上述のデータ転送方式の項で説明したブロック転送
方式で、転送され、SCD記憶手段(606)によって
記憶される。SCD記憶手段で記憶されたデータSCD
は、アサイン・フラグ発生手段(607)に転送される
。アサイン・フラグ発生手段(607)は、SCD記憶
手段(eoe)からのデータSCDを記憶しておいて、
データSCDが変化したとき、アサイン・フラグをオン
にする機能をもっている。このアサイン・フラグは、S
CD出力手段(609)に対して、データSCDの出力
を要求するフラグであり、新たなデータSCDが出力さ
れるとSCD出力手段において、リセットされる。
発音コントロール・データSCDは、第3図に示される
ように、レート・データNTDとオクターブ・データO
TDとキー・オン/オフデータKDとで構成されており
、データNTDとデータ○TDは、発音する楽音の基本
ピッチ、音色、基本エンベロープを決定しデータKDは
、発音の開始及び終了のタイミングを制御する。ただし
、データKDがオフのデータSCDが楽音発生装置(6
04)に送出されてもすぐに発音が終了することはなく
、特定のリリース区間を経てから楽音の出力はゼロにな
る。
KD判定手段(605)は、SCD記憶手段(eoe)
に記憶されているデータSCD中のデータKDのオン/
オフを判定する。CH8T判定手段(610)は楽音発
生装置(e、o4)から送出されるチャネル・ステート
・データCH3Tを受けとって、アサイン・フラグがオ
ンで、新たなデータSCDの出力が要求されているとき
ファースト・ダンパ要求手段(603)を制御して、楽
音発生装置(604)に対して、ファースト・ダンパの
要求を行う。
SCD出力手段(609)は、KD判定手段(606)
、アサイン・フラグ発生手段(607)とCH8T判定
手段からの信号をもとにして、SCD記憶手段(606
)に格納されているデータSCDを、楽音発生装置(6
04)に出力すると同時にファースト・ダンパ要求手段
(eos)を制御して、ファースト・ダンパ要求をリセ
ットする。それと同時にC3CD(現5CD)記憶手段
(eos)に、出力したデータSCDと同じデータを格
納する機能をもっている。
またSCD出力手段は、KD判定手段(605)からキ
ーオンを示す信号が送出されているとき、データSCD
を出力する前に、C8CD記憶手段に格納されている現
SCDデータC3CDのデータKDをリセットして出力
する機能をもっている。
言い換えると、キーオンに対応してデータSCDが出力
される前に必ずキーオフ処理が行われる。
したがって、SCD発生装置から、キーオンの、異なる
データSCDが送られてきても、一旦キーオフ処理を行
ってから新たなキーオンのデータSCDを、数音発生装
置(604)へ送出するようになっている。
第16図は発音制御装置(eoo)の機能をインテル社
の8049等のマイクロコンピュータを利用して実現し
た場合のプログラムのフローチャートである。
発音制御処理において、マイクロコンピュータの内部メ
モリは変数エリアとして用いられる。第10図にサブ・
マイクロコンピュータSμC(104)のメモリ・マツ
プを示す。第10図において、アドレス20H〜aFH
までのデータの内容は第3図〜第5図ノMpC(101
)とS p C(104)間の転送データ・フォーマッ
トと同一であるので、ここでは説明を省略する。
アサイン・フラグASNは、MμC(101)から転送
されてきた、発音コントロール・データSCDが変化し
たときにセットされ、データSCDの割当てが終了した
ときに、リセットされるフラグであり、8チヤネル分の
エリアを持っている。
旧発音コントロール・データ08CDは前述のア、サイ
ン・フラグ発生手段(607)の機能の実現するだめの
メモリで、アサイン・フラグ発生手段(6o−r)は、
SCD記憶手段(6o6)に格納されているデータSC
Dと03CDメモリのデータ08CD(旧5CD)を比
較して、異なっていれば、アサイン・フラグASNをセ
ットし、次に08CDメモリを新たなデータSCDに書
き換える。
C3CD(現5C1))メモリは、SCD出力手段(6
09)から楽音発生装置(604)に送出されるデータ
SCDの状態をモニタするメモリで1、SCD出力手段
(609)からのデータSCDの出力と同時に書き換え
られる。
次に第16図のフローチャートについて説明する。この
フローチャートは、データSCD割当てのタイミング制
御の基本的な処理の1チャネル分を示したものである。
処理(Too)は、メモリ上のアサイン・フラグASN
を見てオン/オフを判断し、オフならばデータSCDの
割当てを行わず、オンならば、SCDの割当て処理のル
ーチンを実行するようにする処理であり、処理(701
)で、SCDのキーオン/オフ・データKDを見て、キ
ーオフならば、データSCDをそのまま出力し、キーオ
ンならば、処理(702)において、SCDキーオフ処
理を行う。SCDキーオフ処理は、C3CD(現SCD
データ)メモリからデータC8CDを読み出して、デー
タKDをクリアしたデータを出力して、キーオフ処理を
行う。この処理によって、キーオンのデータSCDが出
力されるとき、つまり、新だなデータSCDに対応する
発音が行われる前には、必ずキーオフ処理が行われるこ
とになる。したがって、異なるキーオンのデータSCD
が、MμC(101)から連続して送られてきても、必
ずキーオフ処理が間に入ることになり、新たなデータS
CDが出力される度にD S G (1oes)におい
て、新たな発音情報として認識される。
処理(703)にオイテ、DSG(1o6)から送出さ
れるチャ゛ネルステート・データCH8Tを見て、デー
タCH8Tがオン(発音中)であれば、処理(−roc
a )において、ファーストダンパ・データFDPをセ
ットし、データCH3Tがオフであれば処理(704)
で、データFDPをクリアし、処理(705)において
、データSCDを出力する。次に処理(−ro6)でC
3CDメモリに、処理(了05)で出力したデータSC
Dを書き込み、処理(707)で、アサインφフラグA
SNをクリアし、データSCDの割当てが終了したこと
を示す。処理(708)では、処理(704)。
(709)で操作されたデーpFDPをDSG(105
)に対して出力する。
第18図はSCD割当てタイミング制御の際のDSG(
1oes)の入出力を示したタイミング・チャートであ
る。第18図(a)はSμc(104)からDSG(1
06)への出力を示し第18図(b)はSμC(104
)の入力を示している。
第18図(−)のKDは、データSCD中のキーオン/
オフデータKDを表わしており、FDPはファーストダ
ンパ・データFDPを表わしている。
第、8図(b)oAouTは、DSG(105)(7)
アナログ楽音出力信号の振幅を表わしており、CH3T
は、発音中であることを示すチャネル・ステート・デー
タCH3Tを表わしている。
第18図においてデータKDは時間(SOO)で立ち上
がり、それにともなって、信号AOUTも立ち上がる。
次に時間(8o1)において、データKDが立ち下がる
と信号AOUTは、リリース部に入り、減衰する。この
状態でSμC(104)から、次のデータSCDを割当
てるためにファースト・ダンパ・データFDPがオンに
なる。すると信号AOUTは、I717−ス状態より速
い減衰状態、つまり、ファースト・ダンパ・モードに入
る。
その後時間(802)において信号AOUTがゼロにな
り、データCH3TがオフになるとS□C(104)は
時間(803)T新たなデータSCDを送出し、その後
時間(SO4)でデータFDPをリセットしてくる。こ
の新たなデータSCDの割当てと、データFDPのリセ
ットは、直列処理のマイクロ・コンピュータを使用して
いる場合、同時に行うことができない。またFDPのオ
フ・データを、データSCDの割当てより先に行うよよ
うにすると、各チャネルごとに、毎回データFDPを送
出する必要があるので、プログラムの高速化のために、
FDPのオフ・データの送出を8チャネル分のデニタS
CDの送出が終了してから行い、(5oes )の区間
で、ファースト・ダンパ・モードにならないように、F
DP、!:KDの論理積をとった信号FDRをファース
ト・ダンパ要求信号として、DSG(1o6)内部で用
いている。
以上のような処理を8チヤネル独立に行って、チャネル
独立に、データSCDの割当てタイミングの制御を実現
する。
SμC(104)上で上述のような発音制御処理を行っ
た場合、下記のような利点がある。
■ 発音コントロール・データSCDは、SμC(10
4)上で、一旦保持されてから、所定のタイミングでデ
ィジタル・サウンド命ジェネレータDSG(105)に
転送されるノテ、MgO(101)のデータSCDの送
出タイミングに制約がない丸めMgO(1o1)の処理
が簡単になる。
■ SμC(’104)において、現在発音中のチャネ
ルに新たなデータSCDを割当てるとき、該当するチャ
ネルに、ファースト・ダンパ要求をして、発音中の楽音
を速く減衰させるとともに、発音の終了を確認してから
新たなデータSCDを割当てるので、クリックノイズが
生じない範囲で、最短時間で、新だな発音を行うことが
できる。
〔7〕 強制消音処理
強制消音フラグ発生装置(611)は、音色セレクト・
データTSDの切換わり時や、楽音発生システム自体の
リセット時に、楽音発生装置(604)において発音中
の楽音を短時間で減衰させる強制消音フラグを発生する
。
第16図において発音制御装置(eoo)内の強制消音
制御手段(612)は、強制消音フラグを受けて、SC
D出力手段(6゛09)が、0SCD記憶手段(eos
)に格納されているデータC8CDのデータKDをリセ
ットして、出力するように制御し、またファースト・ダ
ンパ要求手段(eoa )に対して、無条件にファース
ト・ダンパ要求信号を送出するように制御する機能をも
っている。
第17図は、第16図の発音制御装置(60Q)上のプ
ログラムに強制消音処理の機能を加えたプログラムのフ
ローチャートである。
なおMgO(1o1)から送出される強制消音を指定す
る信号に、第3図に示される発音コントロール・データ
SCDを用いて、データ5CD=00Hのとき強制消音
モードと定義する。
第17図において、処理(VlO)でデータ5CD−0
0Hか否かを判断し、データSCD\00Hならば、通
常のSCD割当て処理を行い、一方、データ5CD=o
oHならば、処!(711)で、ファースト・ダンパ・
データFDPの該当するビットをセットし、処理(71
2)で、データSCDのキーオフ処理を行う。このキー
・オフ処理は処理(702)のキーオフ処理と同様のも
のである。以上のような消音処理が、MgO(1o1)
からの強制消音要求信号(データ5CD−ooH)によ
って実現され、音色切り換え時やシステムのすセット時
にスムーズに楽音を消滅させることができる。
なお、音色切り換わり時などの強制消音処理は、SμC
(104)の中で、音色セレクト・データTSDを記憶
するメモリを持ち、新旧のデータTSDを比較すること
によって、強制消音処理に入るようにしてもよい。
〔8〕 ビブラート付加処理
SμC(104)で行われるビブラート付加処理につい
て説明する。
本発明の楽音発生システムにおけるビブラート付加処理
は、特定のチャネルのみにビブラート効果を付加するこ
とが可能で、効果が付加されているチャネルだけのキー
オンを検出して、少なくとも1つのキーオンが検出され
たときにディレイ・ビブラートを開始するようになって
いる。
ビブラート付加処理は、SμC(104)上のソフト・
ウェアによって実現される機能である。
第19図は、SμC(104)をビブラート付1.加−
という機能をもった1つの装置と見た場合の機能ブロッ
ク図である。
ビブラート付加装置(903)は、S p C(104
)上のソフト・ウェアで実現されるビブラート付加機能
をもった装置であり、SCD発生手段(900)、vE
N、DvIB発生手段(9o1)は、M/1C(101
)上のソフトウェアで実現される機能であり楽音発生装
置(915)は、第1図におけるDSG(105)に当
たる。
SCD発生手段(900)は、発音コントロール・デー
タSCDを発生する機能であり、VEN。
DVIB発生手段(901)は、第6図で説明しり効果
コントロール・データECD中のディレイ・ビブラート
・オン/オフ・データDVIBを設定する機能と、第4
図で説明したビブラート・イネイブル・データVENを
設定し、8チャネルのうち、どのチャネルをビブラート
・オンにするかを指定する機能をもっている。
これらの機能は、すべて第1図におけるMμC(1Q1
)上のソフト・ウェアで、実現される。
ビブラート付加装置(903)はSμC(104)上の
ソフトウェアで実現される装置であり、SCD記憶手段
(905)及びVEN、DVIB記憶手段(908)は
、M/JC(101)から転送されてくるデータを記憶
するメモリに相当し、第10図のメモリ・マツプに示さ
れるメモリに相当する。
オンキー・データ生成部(906)は、SCD記憶手段
(905)に格納されているデータSCDの中のキーオ
ン/オフ・データKDを見て、8チヤネルのうち、どの
チャネルがキーオンになっているかを示すオンキー・デ
ータ○NKを生成する。
キーオン・スタート・フラグKO8生成部(907)は
、ONK生成部(906)で生成されるデータONKと
VEN、DVIB記憶手段(908)に記憶されている
ビブラート・イネイブル・データVEN(第4図(d)
)を読んできて、各チャネルごとに論理積をとり、全チ
ャネルが、ゼロになるか否かを判断する。つまり、ビブ
ラート・オンのチャネルの中でキーオンになっているチ
ャネルが存在するか、否かを判断し、全チャネル共通の
ディレイ・ビブラート付加のだめのスタート・フラグに
する。
ビブラート・データ読み出し手段(910)は、タイマ
手段、(913)によって、アドレスの更新タイミング
を制御されるビブラート・アドレス・カウンタ(911
)をもとに、ビブラート・データが格納されたビブラー
ト・データ・メモリ(909)から、ビブラート・デー
タを読み出す機能をもつ。
第20図は、ビブラート・データ・メモリ(909)に
格納されるビブラート・データの一例である。
横軸は、メモリのアドレスを示し、縦軸は、データ値を
示している。
このビブラート・データは、ディレイ・ビブラート7波
形分をPCMデータとして格納しているもので、1波形
64サンプルの構成になっており、最後の64サンプル
(最大振幅の正弦波)が通常のビブラート・モードのと
きに読み出される。
またKO3生成部から送出されるキー・オンスタート・
フラグKO3がオンになり、かつVEN。
DVIB記憶手段(90B)に格納されているデータD
VIBがオンのとき、ビブラート読み出し手段(910
)はビブラート・データ・メモリの最初のアドレスから
ディレイ・ビブラート波形を順次読み出していく機能を
もっている。
このとき、Dvよりアドレス・カウンタ(912)は、
Dvよりアドレス拳カウンタ(911)の64カウント
ごとのオーバーフローによって更新され、ディレイ・ビ
ブラート波形を読み出すときに用いられる。
ビブラート・データ読み出し手段(910)の出力デー
タは、加算手段(914)において、基本ピッチデータ
発生手段(904)より送出される基本ピッチ・データ
と加算され対数ピッチ・データを形成しEXP変換手段
(915)によって指数変換され楽音発生装置(916
)に送出される。なお基本ピッチデータ発生手段(90
4)は、SCD記憶手段(905)に記憶されているデ
ータSCDの中のノート・データNTDをもとに、C音
からB音までのいずれかの音程に相当する基本ピッチ・
データを発生する機能をもっている。
一方SCD中のオクターブ・データOTDに相当する周
波数の制御は、第3図に示されるように、1周期のサン
プル数を変化させることによって得ている。
また指数変換手段(914)で発生される周波数データ
FQDは、第12図のIlo マツプに示されるような
形式で、楽音発生装置(916)に送出される。
第21図〜第23図は、上記のビブラート付加処理をS
μC(104)上のソフトΦウェアで実現した場合のプ
ログラムのフローチャートである。
ビブラート付加処理は、タイマによって、一定時間間隔
で、ビブラート・データの読み出しアドレスを変化させ
ていく処理と、それとは非同期のディレイ・ビブラート
のスタート及びビブラート・データの読み出しの処理に
分けられる。
第21図は、ディレイ・ビブラートのスタート及び、ビ
ブラート・データの読み出し処理を実現するだめのプロ
グラムのフロー・チャートである。
まず処理(920)で第5図に示される効果コントロー
ル・データECD中のビブラート周波数データVtDを
みて、それに対応するタイマ・データCYOLEをセッ
トする。
このタイマ・データCYOLEは、タイマで、処理タイ
ミングを管理されるルーチンの処理間隔を規定するデー
タであり、このデータによってビブラートのスピードが
決定される。
処理(921)ではデータECD中のディレイ・ビブラ
ートオン/オフ・データDVIBを見て、オフならば、
処理(935)でディレイ・ビブラート・アドレス拳カ
ウンタDCOUNTを6にセットする。
ビブラート・データの読み出しアドレスVADRは、上
記のディレイ・ビブラート・アドレス・カウンタDCO
UNT と、ビグ2−ト・アドレス拳カウンタVCOU
NT によって、下記のように計算される0
VADR=DCOUNT −64+VCOUNT・−
・・=・(1)処理(921)において、データDVI
Bがオンと判断されたとき、処理(922)で、第4図
に示されるビブラート・イネイブル・データVENとオ
ンキー・データONKの論理積をとる。
オンキー・データONKは第24図に示されるようなデ
ータ・フォーマットになっており、楽音発生装置(60
4)に出力されているデータSCD中のキー幸オン/オ
フ・データKDの8チャネル分で構成されたデータであ
り、0チヤネルから7チヤネルに対応するデータSCD
上のデータKDの内容を示している・
第25図は、第17図の発音制御処理用プログラムに、
データONKの生成処理を組み込んだプログラムのフロ
ーチャートである。
処理(713)、(715)において、現在処理中のチ
ャネルに対応するオンキー・データONKのビットをク
リアし、処理(714)において、現傘処理中のチャネ
ルに対応するデータONKのビットをセットする。
ここで、第21図のビブラート付加処理プログラムのフ
ロー・チャートの説明にもどる。処理(922)で、デ
ータvENとデータONKの論理積をとった結果をキー
オン・スタート・フラグKO8とすると、ビブラートが
オンになっているチャネルのうち、すべてのチャネルが
キーオフのときフラグKO8は、oOHとなり、少なく
とも1つのチャネルがキーオンになっているときOOH
にならない。
本実施例では、ビブラートがオンのチャネルのデータK
Dがオール0からオール0以外に変化したときだけ、デ
ィレイ・ビブラート・モードに入るような処理を実行し
ている。
処理(923)で、フラグKoSか00Hと判断すると
処理(934)においてディレィビブラート・スタート
・フラグDSTをクリアし、オンであると判断すると、
処理(925)においてカウンタDCOUNTをクリア
し、処理(926)においてカウンタVCOUNTをク
リアし、処理(927)において、フラグDSTを反転
する。
第26図は、上述のディレイ・ビブラート・スタート処
理を示したタイミングチャートである。
キー・オン・スタート・フラグKO8が時間(1020
)で00Hから00)(以外に変化すると、カfyy
タDCOUNT、VCOUNT がりIJ7 され、そ
れと同時にディレイ・ビブラート・スタート・フラグD
STが時間(1021)でセットされる。次に時間(1
022)においテフラグKO3がoo)(になると、フ
ラグDSTは時間(1023)において、クリアされる
。
つまり、一度、1つのチャネルがキーオンになって、デ
ィレイ・ビブラートがスタートすると、それ以後のキー
オンに対しては、ディレイ・ビブラートはスタートせず
、一度、すべてのチャネルがキーオフになると、新たな
最初のキーオンに対して、ディレイ・ビブラートがスタ
ートする〇第21図のフロー・チャートにおいて処理(
928)以後は、ビブラート・データの読み出し処理の
ルーチンである。
処理(928)において、ディレイ・ビブラート・アド
レスカウンタが00とき処理(933)において、ビブ
ラートデータを0にセットする。
本実施例においては、第20図に示されるようなディレ
イ・ビブラート波形を読み出すようになっているが、ア
ドレス0〜63までの部分は、出力がデータが常に0に
なっているので、メモリから0データ読み出す代わりに
、あらかじめビブラート中データを0にセットする。こ
のことによって、処理速度が増大するだけではなくアド
レス0〜63の部分を、プログラム・メモリなどに使用
することができる。
処理(929)は、ビブラート・データ・アドレスを計
算する処理で、式(1)に示されるような計算を実行し
て、読み出しアドレスVADRを求め、処理(930)
でアドレス・データVADRにもとづいて、ビブラート
・データを読み出す。
処理(931)は、上記の読み出されたビブラート・デ
ータの振幅を制御する処理を行う部分で、第5図に示さ
れたビブラート・デノプス・データVDPに従った変換
を行う。この処理は、ビット・シフトと加算を繰返し用
いて、実現しており、乗算なしで、振幅が%、 9A
、 3Aのビブラート・データを容易に得ることができ
る0その結果得られたビブラート・データは、処理(9
32)で基本ピッチ・データと加算される。
また上述のようにディレイ・ビブラート・オン/オフ・
データDVIBがオフのときは、処理(935)が実行
され、カウンタDCOUNT=6と設定されるので、常
に第20図における最後の波形が読み出されることにな
る。
第22図はビブラート・アドレス・カウンタVCOUN
T、ディレイ・ビブラート書アドレス・カウンタDCO
UNTを定期的に更新する処理を示したフロー・チャー
トである。
ここで、サブeルーチyTIMER(1oos )は、
第23図のフロー・チャートで示されるようにタイマに
よって定期的に実行される。
第23図において、処理(10oO)によって、SμC
(104)に関する各種の初期設定が行われる。次に処
理(1001)で、データSCDの割当てなど各種処理
が行われて、処理(1002)で、タイマーフラグを参
照して、タイマが、オーバー−フローしたか否かを見る
。タイマ・フラグがオンになると、サブ・ルーチンT(
MER(℃oa)が実行され、このサブ・ルーチンで、
タイマの初期設定が行われる。このような処理をくり返
すことによッテ、サブ・ルーチンTIMER(1o03
)が、定期的に実行される。
第22図において、処理(1004)で、第21図の処
理(920)で説明したタイマ・データCYOLEをタ
イマにセーブしてタイマを初期設定し、処理(1005
)で、カウンタvCoUNTをインクリメントし処理(
1006)で、カウンタVCOUNTが64になったか
否かを判断し、カウンタVcOUNT =s4ならば、
処理(1007)fカウンタvCOUNTをクリアし、
処理(1009)でカウンタDCOUNTが6か否かを
判定して、力’)7タDCOUNT−46であれば、処
理(1010)でカウンタDCOUNTをインクリメン
トする。
つまりカウンタDCOUNTは第21図で説明した非同
期のルーチンでカウンタDCOUNT=OK初期設定さ
れ、サブ・ルーチンTIMERで、カウンタDCO’U
NT=eになるまでインクリメントされる。またカウン
タVCOUNTは、サブ・ルーチンTIMEHにおいて
、毎回インクリメントされカウンタVCOUNT =e
4になるとカウンタvCOUNT−0にもどる。
以上のような処理によって、SμC(104)上でビブ
ラート付加装置の機能が実現される。INDUSTRIAL APPLICATION FIELD The present invention relates to a musical tone generation system that can be used in electronic musical instruments and the like. Conventional configurations and their problems In recent years, the roles of musical tone generation systems used in electronic musical instruments have diversified, and in polyphonic musical tone generation systems that can independently generate multiple musical tones, it is necessary to use the same tone for all channels. , the same effect is not necessarily added and used, but the key range is divided during automatic performance or manual performance, and multiple sounding channels are divided to assign different tones or add different effects. It becomes necessary to do something. In conventional polyphonic musical sound generation systems for electronic musical instruments, even when adding effects such as vibrato and glide, they were often added to all thionels. In Japanese Patent Application No. 58-143015 "Note Clock Generator", a note clock generator that adds vibrato only to a specific channel is proposed, but it is not possible to add effects such as delay vibrato and key glide that are common to all channels. detects key-on in the channel that is
Since it did not have a function for initial setting, it had the disadvantage that there were restrictions on how to set channels to which effects were added. For example, when assigning two sound channels to one key-on and adding vibrato to one channel, the number of key-on information and the number of vibrato adding channels are the same, so at least one It is sufficient to start delay vibrato when key-on is detected, but if you divide the keyboard range into two and add vibrato only to the musical tones corresponding to one of the keys, the vibrato-off channel will start when key-on is detected. In a state where
There was an inconvenience that even if you turned on just one of the vibrato-on channels, the delay vibrato would not start. OBJECTS OF THE INVENTION An object of the present invention is to make it possible to add effects such as vibrato only to a specific channel in a polyphonic musical sound generation system, to detect key-on only on the channel to which the effect has been added, and to generate at least one To provide a musical tone generation system capable of controlling delay vibrato, etc. that starts when key-on is detected. Structure of the Invention The musical sound generation system of the present invention includes a sound generation control data generating means that independently generates sound generation control data for specifying the scale and five-tone timing of the generated musical sound for a plurality of channels, and independently specifies the on/off of vibrato for each channel. A vibrato enable data generating means for generating vibrato enable data to be added, and adding vibrato only to the channels for which the vibrato enable data is on, and at least one channel of the channels for which the vibrato enable data is on to generate sound. It has a function to start delay vibrato at the point when the above sound control data and vibrato enable are started.
It consists of a vibrato adding device that sends frequency data based on the data to a musical tone generating device, and a musical tone generating device that generates a musical tone with a pitch corresponding to the frequency data sent from the vibrato adding device, and is only available on specific channels. It is possible to add effects such as vibrato to the channel, and by detecting key-on only on the channel to which the effect is added, it is possible to control delay vibrato that starts when at least one key-on is detected. Description of Embodiments [1] Configuration of musical tone generation system FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention in which the musical tone generation system of the present invention is applied to an electronic musical instrument. The main microcomputer MμC (101) receives signals from input devices such as a keyboard (102) and a tab 0 switch (1'03), and controls a plurality of musical tone generation systems (10B-1 to 10B-4). The musical tone signals outputted from the musical tone generation system (108-1 to 108-4) are added by an adder (109), and the musical tone signals are added by an adder (109).
The sound is generated from the speaker (111) through the speaker (111). 4 Sub microcomputer SμC (104) C, sound generation control data SCD and tone selection data sent from the main microcomputer MμC (101)
Receiving data TSD etc., digital sound generator DSG (106), low pass filter L
PF (1o6) and amplitude modulation section AMS (1o7) are controlled. The DSG (105) independently generates eight channels of musical tones based on the sound generation control data SCD, timbre selection data TSD, etc. sent from the sub-microcomputer SμC (104). A digital sound generator DSG having such a function has been proposed in Japanese Patent Application No. 57-231482 titled "Music Sound Generator". The above musical tone generator sequentially reads two waveform data from the waveform memory, performs interpolation calculation, and passes the obtained output data through a digital-to-analog converter DAC.
It is configured to obtain analog musical sound output. However, the digital sound generator DSG (105) in the musical sound generation system of the present invention has functions such as generation of frequency data corresponding to musical scales, vibrato addition processing, glide addition processing, etc., and sub-processes the above processing.
This is performed by the microcomputer SμC (104), and the digital musical tone output in front of the digital-to-analog converter DAC is checked independently on each channel to perform all-O detection, and there is a chart indicating whether musical tone is being generated or not. channel state data CH8T to sub microcomputer Sμ
It has a function to send data to C (104). Furthermore, when the DSG (1os) receives a channel-independent fast damper request signal sent from the SμC (104), it has a function of attenuating the musical tone being generated in a short time. This fast damper function is DSG (10
This can be easily achieved by manipulating the envelope data in 5). Further, the signal FDP sent from the SμC (104) is ANDed with the inverted value KD of the key-on/off data KD of the corresponding channel, and the data K
When D is on, the first damper is not applied. [2] Sub-microcomputer “User Input Data Fist Format Figure 2 shows the main microcomputer MμC (1
01) to sub-microcomputer SμC(1
04) is a data transfer I10 map. 3-5 are data format diagrams of the data shown in FIG. 2. Sound control data SCD is note data NT
D, octave data OTD, and key data KD. OTD and NTD are sent to the digital sound generator DSG (105), which generates a musical tone with a basic pitch, timbre, and envelope corresponding to the note name. generated. Key #7/off data KD is sent to DSG (105) to control the start and end of sound generation. The pitch control data PCD is data that provides channel-independent pitch deviation from the basic pitch determined by the note data NTD and the octave data OTD. Level control data L CDu is data for setting the level of the musical tones to be sounded independently of the channels. The timbre selection data TSD is data that determines which memory area in the waveform data memory corresponds to the timbre to be selected.This data allows, for example, to select 16 types of timbres such as piano, guitar, etc. for each channel independently. can be selected. Vibrato enable data VEN is data that specifies on/off of vibrato for each channel. Glide enable data GE and N are data that independently specify glide on/off. Effect control data ECD includes delay vibrato, data DVIB that specifies on/off, and vibrato depth. vibrato depth data VDP that specifies the vibrato frequency in 4 levels, vibrato frequency data VFD that specifies the vibrato frequency in 4 levels, damper on/off data DMP that specifies damper on/off, and tremolo on/off. Specified tremolo on/off data TR
It is composed of M and data GL specifying on/off of glide. [3] Data transfer method Next, the main microcomputer MμC (10
1) to sub-microcomputer SμC (104)
The transfer method of data sent to is explained below. FIG. 6 is a block diagram of a data transfer device that implements the data transfer method used in the musical tone generation system of the present invention. The main microcomputer (201) transfers data to the sub microcomputer (203) via an 8-bit data bus DB. The data on the data bus is transferred to the main microcomputer MpC (2
The transfer flag TRF sent from 01) distinguishes between addresses and data, and determines the order of data. The reception and reception of data by the sub microcomputer SμC begins when the RS flip-flop (202) is sent by the interrupt request signal WR sent from the main microcomputer MpC.
The RS flip is triggered by the reset signal sent from T.
It ends with the flop (202) being reset. FIG. 7 is a functional block diagram of the data transfer device. Data transmission and placement (306) includes data generation means (301) for generating sound generation control data 5CD1 pitch competition control data PCD, etc.;
data output means (304) that sends the data generated by (301) to the data receiving device (312);
and a timer means (302) that controls the timing of data output by the data output means (3'04). and an interrupt request means (305) that sends an interrupt request signal to the SμC (312) when outputting data. The data receiving device (312) is a data transmitting device (3oe
) receives the interrupt request signal sent from the TRF input means (307), puts the data input means (308) into an interrupt processing state, and when the data input is completed, the interrupt control means (309) goes into an interrupt standby state, and the TRF input means (307). ) is sent from the data input means (30
8) and a data storage means (310) for distinguishing the data sent from and storing the data. The above data transfer device is configured as 8049 in Figure 6.
Figure 8 shows a flowchart of the program when it is realized on a microcomputer such as . It is shown in FIG. FIG. 8 is a flowchart showing the operation of the data transmitting device realized by MgO (201), and FIG.
(203) is a flow chart showing the operation of the data receiving device realized in step (203). There are two programs in the data transfer program for MgO (201), and FIG.
1) is a flow chart of a word transfer method in which one word of data is transferred to a specific address. In the case of the block transfer method shown in FIG. 8 (-), in advance,
Assume that 24 words of block data (SCD, PCD, LCD) are stored continuously in the memory on MgO (201). In the process (401), an address counter is set at the beginning of the block data area of the memory on the MgO (201), and in the process (402), the transfer flag TRF is set.
0# (“0# represents logic O”) and initializes. In the process (403), an interrupt request signal WR is output to the S pC (203), and then in the process (404) data ooH indicating that block transfer is to be started.
(H represents a hexadecimal number), and a flag indicating that the next data will be sent in the process (408) T RF =
By outputting "1"(--1# represents logical 1) and waiting for a certain period of time in the process (406), Sμ
C (203) suspends transmission of the next data until it becomes possible to receive and receive the next data. Next, in processing (407), data is read from the memory block data area on MgO (201), and processing (
At step 408), the data is sent to SμC (203), and at step (409), the memory address counter is incremented. Thereafter, for the same purpose as the above-mentioned process (406), in process (410), the process waits for a certain period of time. Processing (412)
Checks whether the address counter has incremented to the final address. For example, SCD, PCD
. If 8 words of data on the LCD are simultaneously transferred in blocks, the processes from (407) to (411) are repeated 24 times. In the case of word transfer method (in Figure 8) 1. Processing (413)
Set the address data to be output with and process (414
), the flag TRF-” indicating sending of address data is set.
O'' is output, the interrupt request signal WR is output to SμC (203) in process (415), the address data is output in process (41e), and the above process (406) is output in process (417). For the same purpose, wait for a certain period of time. Next, flag T RF = "1" indicating that data is to be sent.
Outputs the interrupt request signal WR in processing (419), outputs data in processing (420), and outputs the data in processing (421).
Then, the process waits for a certain period of time for the same purpose as the process (406) described above. Figure 9 shows that MgO(,201) sends data to S
A flowchart of the interrupt routine when receiving is shown in μC (203). By interrupt request signal WR from MgO (201),
When entering the interrupt routine, data is first input in processing (501), and in processing (502) it is checked whether the input data is 00H or not, and if it is OOH, it is determined that block transfer will be started, and processing is started. (504) is executed, and if it is not ○oH, it is determined that a word transfer is to be performed, and processing (515) is executed. In the case of block transfer, the process (504) initializes the address counters of the SCD, PCD, and LCD memories in which data is to be stored. Incidentally, a memory map of the memory in the SμC (203) is shown in FIG. The data format of the data described here is the same as the data format explained in FIG. 4 from addresses 20H to 3FH. Next, in the process (505), wait at the trench where the flag TRF changes from ``O'' to 1'', and then in the process (soe),
Data is input and stored in the memory shown in FIG. 10 in a process (507). Next, in the process (SOa), address e
After incrementing the counter and waiting until the flag TRF is inverted in step 509, the address counter is incremented and it is checked whether the address counter exceeds the last address. After checking whether the counter is 38H or not, processing (505) or processing (514) is executed. When the address counter is not 38H, again (505
) to (612) are repeated, and when the address counter reaches 38H, in the process (514), the interlaced flip-flop (RS flip-flop in FIG.
202)) is output, and the process ends. In the case of word transfer, in the process (616), the process (5
01), use the input data as address data,
After saving and waiting for flag TRF to be inverted in process (516), data is input in process (s17), and in process (618), data is input based on the address data saved in process (515). The data is stored in the memory, and finally, in step 519, the included flip-flop is reset. Figure 11 (-) shows the range from MBC (201) to SμC (20
FIG. 11 (1) is a timing chart when performing block transfer to 3), and FIG. 11 (1) is a timing chart when performing word transfer. Note that the signal names in the figure match the signal names in FIG. 6. In Figure 11 (-), from MgO (201) to SμC
When the interrupt request signal WR is sent to (203), SμC (203) enters the interrupt process, checks the data OoH on the DB bus, determines that it is a block transfer, and sets the transfer flag TRFO value. As a child, I received data one by one, from data 5 CDO to data LCD 7.
When all four pieces of data are received, the RS flip-flop (202) is reset by the signal RST and enters an interrupt standby state. Note that the signal INT is connected to an RS flip-flop (2,02
) is an interrupt request signal sent from Sμc (203), and is held in a state where it is reset by signal R8T. In FIG. 11 (with), MgO (201) sends an interrupt request signal WR to SμC (203), and then
Send address ADH via DB bus and set flag TR
After F is inverted, data DATA is S/1c (203)
Send to. When the SμC (203) receives the data DATA, it resets the RS flip-flop (202) and returns to normal processing. Block transfer and word transfer are performed at the timings described above. Note that M/1G (1
01) to SμC (104) is a data SCD with a large number of words and a high transfer frequency. PCD, LCD, etc. use block transfer, and data TSD and EFT have a small number of words and have low transfer frequency. VBE and the like use word transfer. In other words, block transfer, which does not require address transfer, is advantageous when transferring a large amount of data at the same time, and word transfer is advantageous when transferring a small number of data at discrete timing. By using different transfer methods depending on the data to be transferred,
0 [4] Sub-microcomputer processing The sub-microcomputer SμC (104) transfers the sound generation control data SCD to the digital sound generator DSG (1OS). Sending timing control, control when switching tone select data TSD,
Based on the data SCD, processing for creating frequency data FQD corresponding to the fundamental frequency, control of delay vibrato, tremolo addition processing, glide addition processing, and output processing of various data to DSG (1 os) are performed. [5] Digital Sound Generator Input/Output Data Format FIG. 12 is an I10 map showing the input/output format of data between the SμC (104) and the DSG (105). I1
The channel state data at address 44H is D
Data indicating that SG (1o5) is generating sound, independently of the channel, is transmitted from DSG (1o6) to SμC (
104). All other data are SμC (
104) to DSCi (1o5). The sound generation control data SCD is exactly the same as the data formant diagram shown in FIG. 3 when data is transferred from MgO (101) to 571C (104). The level control data LCD1 timbre selection data TSD and envelope data ENV are the same as the data format when transferred from MgO (101) to SμC (104) shown in FIG. FIG. 13(a) to (C) are S p C (104) to D
This is the data format of frequency data FQD sent to SG (105). Data FQD consists of 8 independent channels of data with 1 word consisting of 13 bits9.
The lower 8 pins and upper 5 bits are transferred sequentially, and the DS
G (105) outputs a musical tone signal with a period corresponding to the value of this data FQD. Figure 13 ('d1) and (d2) show damper on/
13 (el) and (e2) show the data format of the first damper data FDP, and the data format of the data FDP is shown.
DP is data that independently requests a fast damper for the 8 sound generation channels that are generated by the DSG (105). When a fast damper is requested from SμC (104) for a certain channel of DSG (105), if that channel is generating sound, DSG (105)
05) attenuates the musical tone in a shorter time than normal musical tone attenuation.0 The shorter the decay time of the first damper, the faster the next new musical tone will be generated, but if it is too short, it will cause a click. Since you can hear it, you need to set it at an appropriate time. FIGS. 13(fl) and (f2) are data formant diagrams of the above-mentioned channel state data CH3T. (6) Allocation processing Sμ of sound production control data
The control of the sending timing of the sound generation control data SCD from the C (104) to the DSG (105) will be described below. FIG. 14 shows the M/iC (1o1) in FIG. FIG. 3 is a functional block diagram in which S p C (104) and D S G (105) are viewed as one system for controlling sound production. The SCD generator (601) actually generates MμC (10
1) This is a generation device for generating sound control data SCD, which is realized by the above software. The sound generation control device (soo) is realized by software on the S/JC (104) and is a means for controlling the allocation timing of the data SCD, and is a musical sound generation device (6o4).
corresponds to DSG (105). The sound generation control device (600) is an SCD generator (6o1)
receives the data SCD sent out from the musical tone generating device (604), looks at the channel state data CH8T sent out from the musical tone generating device (604), and sends the data SCD to the musical tone generating device (604).
04), and if the corresponding channel of the musical tone generator (604) is generating sound, the first damper request means (603) requests the first damper to the corresponding channel. FIG. 15 is a detailed functional block diagram showing the functions of the sound generation control device (600). The data SCD generated by the SCD generator (601)
is transferred using the block transfer method described in the section of the data transfer method above, and is stored in the SCD storage means (606). Data stored in SCD storage means SCD
is transferred to the assignment flag generating means (607). The assignment flag generation means (607) stores the data SCD from the SCD storage means (eoe),
It has a function to turn on the assignment flag when the data SCD changes. This assignment flag is
This flag requests the CD output means (609) to output data SCD, and is reset in the SCD output means when new data SCD is output. As shown in FIG. 3, the sound production control data SCD includes rate data NTD and octave data O.
It is composed of TD and key on/off data KD. Data NTD and data ○TD determine the basic pitch, timbre, and basic envelope of the musical tone to be sounded, and data KD determines the start and end timing of sound generation. Control. However, if the data SCD with the data KD turned off is a musical tone generator (6
04), the sound generation does not end immediately, and the output of musical tones becomes zero after passing through a specific release section. The KD determination means (605) is the SCD storage means (eoe).
Turning on/off the data KD in the data SCD stored in
Determine off. The CH8T determining means (610) receives the channel state data CH3T sent from the musical tone generator (e, o4), and determines the first state data when the assign flag is on and output of new data SCD is requested. The damper requesting means (603) is controlled to request a first damper from the musical tone generating device (604). The SCD output means (609) is the KD determination means (606)
, the SCD storage means (606) based on the signals from the assignment flag generation means (607) and the CH8T determination means.
) is stored in the musical tone generator (6).
04) and at the same time controls the first damper request means (eos) to reset the first damper request. At the same time, the C3CD (currently 5CD) storage means (eos) has a function of storing the same data as the output data SCD. Further, the SCD output means outputs data SCD when a signal indicating key-on is sent from the KD determination means (605).
It has a function of resetting and outputting the data KD of the current SCD data C3CD stored in the C8CD storage means before outputting the data. In other words, key-off processing is always performed before data SCD is output in response to key-on. Therefore, even if a different key-on data SCD is sent from the SCD generator, key-off processing is performed once and then a new key-on data SCD is sent to the tone generator (604). . FIG. 16 is a flowchart of a program when the function of the sound production control device (eoo) is realized using a microcomputer such as Intel 8049. In the sound production control process, the internal memory of the microcomputer is used as a variable area. Figure 10 shows the sub-
The memory map of the microcomputer SμC (104) is shown. In FIG. 10, addresses 20H to aFH
The content of the data up to is MpC (101) in Figures 3 to 5.
) and S p C (104), so the explanation will be omitted here. The assignment flag ASN is a flag that is set when the sound generation control data SCD transferred from the MμC (101) changes, and is reset when the assignment of the data SCD is completed, and is a flag for 8 channels. have an area. The old sound generation control data 08CD is a memory for realizing the function of the above-mentioned assign flag generating means (607), and the assign flag generating means (6or) is
Data SC stored in the SCD storage means (6o6)
D and the data 08CD (old 5CD) in the 03CD memory are compared, and if they are different, the assign flag ASN is set, and then the 08CD memory is rewritten with the new data SCD. The C3CD (currently 5C1) memory is connected to the SCD output means (6
09) to the musical tone generator (604), and is rewritten simultaneously with the output of the data SCD from the SCD output means (609). Next, the flowchart shown in FIG. 16 will be explained. This flowchart shows one channel of basic processing for timing control of data SCD allocation. Processing (Too) is the assignment flag ASN on memory.
This is a process that determines whether it is on or off by looking at the
), the SCD key-on/off data KD is checked, and if the key is off, the data SCD is output as is, and if the key is on, SCD key-off processing is performed in step (702). SCD key-off processing is performed by C3CD (currently SCD
Data) Data C8CD is read from the memory, data with cleared data KD is output, and key-off processing is performed. With this process, the key-off process is always performed when the key-on data SCD is output, that is, before the sound corresponding to the new data SCD is generated. Therefore, different key-on data SCD
Even if S is sent continuously from MμC (101), there will always be a key-off process in between, and new data S
Every time a CD is output, it is recognized as new pronunciation information in DSG (1oes). The process (703) checks the channel state data CH8T sent from the DSG (1o6), and if the data CH8T is on (sounding), the process (-roc
In a), set the first damper data FDP, and if data CH3T is off, process (704)
Then, data FDP is cleared, and data SCD is output in a process (705). Next, in processing (-ro6)
Data SC output in processing (end 05) to 3CD memory
Write D, and in process (707) assign φ flag A
Clears SN to indicate that data SCD allocation is complete. In the process (708), the process (704). The data pFDP operated in (709) is transferred to DSG (105).
). Figure 18 shows the DSG (
1 is a timing chart showing input/output of 1oes). Figure 18(a) shows Sμc(104) to DSG(1
Figure 18(b) shows the output to SμC (104
) is shown. KD in FIG. 18 (-) is the key-on/
It represents off data KD, and FDP represents first damper data FDP. Figure 8(b) oAout is DSG(105)(7)
It represents the amplitude of the analog musical tone output signal, and CH3T
represents channel state data CH3T indicating that sound is being generated. In FIG. 18, data KD rises at time (SOO), and signal AOUT also rises accordingly. Next, at time (8o1), when data KD falls, signal AOUT enters the release section and attenuates. In this state, the first damper data FDP is turned on from SμC (104) in order to allocate the next data SCD. The signal AOUT then enters a faster damping state than the I717-state, ie, fast damper mode. After that, at time (802), signal AOUT becomes zero and data CH3T turns off, and S□C (104) sends new data SCD at time (803) T, and then resets data FDP at time (SO4). It's coming. This allocation of new data SCD and resetting of data FDP cannot be performed simultaneously if a serial processing microcomputer is used. Also, if the FDP off data is done before the data SCD allocation, it will be necessary to send the data FDP every time for each channel, so in order to speed up the program,
8 channels of FDP off data transmission
This is done after the CD has finished playing, and in the (5oes) section, the F
DP! : The signal FDR obtained by ANDing KD is used inside the DSG (1o6) as a fast damper request signal. The above-described processing is performed independently for the 8 channels to realize control of the data SCD allocation timing independently of the channels. When the above-described sound generation control processing is performed on the SμC (104), there are the following advantages. ■ The sound generation control data SCD is SμC (10
4) In the above, the note is once held and then transferred to the digital sound generator DSG (105) at a predetermined timing. Processing becomes easier. ■ In SμC ('104), when assigning new data SCD to a channel that is currently producing sound, a fast damper request is made to the corresponding channel to quickly attenuate the musical tone being produced, and the end of the sound is confirmed. Since the new data SCD is then assigned, new pronunciation can be performed in the shortest possible time without causing click noise. [7] Forced mute processing The forced mute flag generator (611)
When data TSD is switched or when the musical tone generation system itself is reset, a forced mute flag is generated to quickly attenuate the musical tone being generated in the musical tone generating device (604). In FIG. 16, the forced silencing control means (612) in the sound generation control device (eoo) receives the forced silencing flag, and the SC
The D output means (6゛09) is the 0SCD storage means (eos
) is controlled to reset and output the data KD of the data C8CD stored in the data C8CD, and is also controlled to unconditionally send a first damper request signal to the first damper request means (eoa). It has the function of FIG. 17 is a flowchart of a program on the sound generation control device (60Q) of FIG. 16 with a forced mute function added. Note that the sound generation control data SCD shown in FIG. 3 is used for the signal specifying forced silencing sent from MgO (1o1), and the forced silencing mode is defined when data 5CD=00H. In FIG. 17, data 5CD-0 in processing (VlO)
It is determined whether the data is 0H or not, and if the data is SCD\00H, normal SCD allocation processing is performed, while data 5CD=o
If it's oH, then! (711), the first damper
Set the corresponding bit of data FDP and process (71
In step 2), key-off processing for the data SCD is performed. This key-off process is similar to the key-off process in step (702). The above silencing process is performed using MgO(1o1).
This is realized by a forced mute request signal (data 5CD-ooH) from the 1000A, and the musical tone can be smoothly extinguished when switching timbres or when the system is set. Note that forced muting when changing tones, etc., is performed using SμC.
In step (104), a memory for storing timbre selection data TSD may be provided, and by comparing the old and new data TSD, forced muting processing may be entered. [8] Vibrato addition processing The vibrato addition processing performed in SμC (104) will be explained. The vibrato addition process in the musical sound generation system of the present invention is capable of adding a vibrato effect only to a specific channel, and detects key-on only in the channel to which the effect is added, and detects at least one key-on. Sometimes it starts a delay vibrato. The vibrato addition process is performed using the software on SμC (104).
This is a function realized by software. FIG. 19 shows SμC (104) with vibrato. Addition
It is a functional block diagram when viewed as one device having the function. The vibrato adding device (903) is S p C (104
) is a device with a vibrato addition function realized by the software above, and includes an SCD generating means (900), vE
N, DvIB generation means (9o1) is M/1C (101
), and the musical tone generator (915) corresponds to the DSG (105) in FIG. 1. The SCD generation means (900) has a function of generating sound generation control data SCD, and has the function of generating sound generation control data SCD. The DVIB generating means (901) has the function of setting the delay vibrato on/off data DVIB in the end effect control data ECD explained in FIG.
It has the function of setting the vibrato enable data VEN explained in the figure and specifying which channel out of eight channels is to be turned on with vibrato. These functions are all based on MμC (1Q1
) is realized by the software above. The vibrato adding device (903) is a device realized by software on the SμC (104), and the SCD storage means (905) and the VEN and DVIB storage means (908) are transferred from the M/JC (101). This corresponds to a memory that stores data, and corresponds to the memory shown in the memory map of FIG. The on-key data generation unit (906) looks at the key-on/off data KD in the data SCD stored in the SCD storage means (905) and determines which channel is key-on among the eight channels. On-key data ○NK shown is generated. The key-on start flag KO8 generation unit (907) generates data ONK and VEN generated by the ONK generation unit (906), and vibrato enable data VEN (FIG. 4) stored in the DVIB storage unit (908). d)
), perform a logical product for each channel, and determine whether all channels become zero. That is, it is determined whether or not there is a key-on channel among the vibrato-on channels, and the flag is set as a start flag for delay vibrato addition common to all channels. The vibrato data reading means (910) uses a vibrato address counter (911) whose address update timing is controlled by a timer means (913).
), it has a function of reading vibrato data from the vibrato data memory (909) in which the vibrato data is stored. FIG. 20 is an example of vibrato data stored in the vibrato data memory (909). The horizontal axis shows memory addresses, and the vertical axis shows data values. This vibrato data stores seven delay vibrato waveforms as PCM data, and one waveform consists of 64 samples, and the last 64 samples (maximum amplitude sine wave) are normal vibrato data. Read when in mode. In addition, the key on-start signal sent from the KO3 generation section
Flag KO3 is turned on and VEN. Data D stored in the DVIB storage means (90B)
When VIB is on, vibrato reading means (910
) has a function of sequentially reading delayed vibrato waveforms from the first address of the vibrato data memory. At this time, the address counter (912) from Dv is
It is updated by the overflow of the address counter (911) every 64 counts from Dv, and is used when reading the delay vibrato waveform. The output data of the vibrato data reading means (910) is added to the basic pitch data sent from the basic pitch data generating means (904) in the adding means (914) to form logarithmic pitch data, and the EXP converting means ( 915) and the musical tone generator (916)
) is sent. The basic pitch data generation means (90
4) is based on the note data NTD in the data SCD stored in the SCD storage means (905), and calculates the basic pitch corresponding to any pitch from note C to note B.
It has the function of generating data. On the other hand, the frequency corresponding to the octave data OTD in the SCD is controlled by changing the number of samples in one period, as shown in FIG. Further, the frequency data FQD generated by the index conversion means (914) is sent to the musical tone generator (916) in a format as shown in the Ilo map of FIG. Figures 21 to 23 show the above vibrato addition process
It is a flowchart of a program when realized by software Φ on μC (104). The vibrato addition process is divided into a process of changing the vibrato data read address at fixed time intervals using a timer, and a process of starting a delay vibrato and reading the vibrato data asynchronously. FIG. 21 is a flow chart of a program for starting delay vibrato and reading vibrato data. First, in a process (920), vibrato frequency data VtD in the effect control data ECD shown in FIG. 5 is checked, and timer data CYOLE corresponding thereto is set. This timer data CYOLE is data that defines the processing interval of a routine whose processing timing is managed by a timer, and the speed of the vibrato is determined by this data. In the process (921), check the delay vibrato on/off data DVIB in the data ECD, and if it is off,
In the process (935), the delay vibrato address fist counter DCOUNT is set to 6. The vibrato data read address VADR is the delay vibrato address counter DCO mentioned above.
UNT and Big 2 Address Fist Counter VCOU
NT is calculated as follows: 0 VADR=DCOUNT -64+VCOUNT・-
... = ... (1) In the process (921), the data DVI
When B is determined to be on, in a process (922), the logical product of vibrato enable data VEN and on-key data ONK shown in FIG. 4 is calculated. The on-key data ONK has a data format as shown in FIG.
This data is composed of 8 channels of key switch on/off data KD in the data SCD output to 4), and corresponds to channels 0 to 7.
Figure 25 shows the contents of the data KD above.
2 is a flowchart of a program incorporating data ONK generation processing. In processing (713) and (715), the bit of on-key data ONK corresponding to the channel currently being processed is cleared, and in processing (714), the bit of data ONK corresponding to the channel currently being processed is set. . Here, we will return to the explanation of the flow chart of the vibrato addition processing program in FIG. 21. In the process (922), if the result of logical product of data vEN and data ONK is set as key-on start flag KO8, when all channels are key-off among the channels whose vibrato is turned on, flag KO8 is set as follows. OOH when at least one channel is key-on
do not become. In this example, the data K of the channel where vibrato is on is
Only when D changes from all 0 to something other than all 0, processing is executed to enter delay vibrato mode. In the process (923), if it is determined that the flag is KoS or 00H, the delay vibrato start flag DST is cleared in the process (934), and if it is determined that it is on,
In processing (925), counter DCOUNT is cleared, in processing (926), counter VCOUNT is cleared, and in processing (927), flag DST is inverted. FIG. 26 is a timing chart showing the above-mentioned delay vibrato start processing. Key on start flag KO8 is time (1020
) changes from 00H to anything other than 00)
DCOUNT, VCOUNT are set to IJ7, and at the same time the delay vibrato start flag D
ST is set at time (1021). Next, time (1
022) When the odor flag KO3 becomes oo)(, the flag DST is cleared at time (1023). In other words, once one channel is key-on and the delay vibrato starts, subsequent key-on In contrast, delay vibrato does not start, and once all channels are key-off, delay vibrato starts for a new first key-on.
928) The following is a routine for reading vibrato data. When the delay vibrato address counter is 00 in the process (928), the vibrato data is set to 0 in the process (933). In this embodiment, a delay vibrato waveform as shown in Fig. 20 is read out, but since the output data for addresses 0 to 63 is always 0, it is not stored in the memory. Instead of reading 0 data, set the vibrato data to 0 in advance. This not only increases the processing speed, but also allows the portion of addresses 0 to 63 to be used for program memory and the like. The process (929) is a process to calculate the vibrato data address, and the calculation as shown in equation (1) is executed to obtain the read address VADR, and the process (930)
The vibrato data is read out based on the address data VADR. Processing (931) is a part that controls the amplitude of the read vibrato data, and performs conversion according to the vibrato denopus data VDP shown in FIG. 5. This process is achieved by repeatedly using bit shifts and additions, and without multiplication, the amplitude is %, 9A.
, 3A of vibrato data can be easily obtained.0 The resulting vibrato data undergoes processing (9
32), it is added to the basic pitch data. Also, as mentioned above, delay vibrato on/off
When the data DVIB is off, the process (935) is executed and the counter DCOUNT is set to 6, so that the last waveform in FIG. 20 is always read out. Figure 22 shows the vibrato address counter VCOUN
T, delay vibrato address counter DCO
3 is a flow chart showing a process for periodically updating UNT. Here, the sub-e routine yTIMER (1oos) is
It is executed periodically by a timer as shown in the flow chart of FIG. In FIG. 23, SμC
Various initial settings related to (104) are performed. Next, in process (1001), various processes such as data SCD allocation are performed, and in process (1002), the timer flag is referred to to see if the timer has overflowed. When the timer flag is turned on, subroutine T(
MER(℃oa) is executed and in this subroutine,
Initial settings of the timer are performed. By repeating this process, the subroutine TIMER (1o03
) is executed periodically. In FIG. 22, in the process (1004), the timer data CYOLE explained in the process (920) in FIG.
), increment the counter vCoUNT and process (
1006), it is determined whether the counter VCOUNT has reached 64, and if the counter VcCOUNT = s4,
Processing (1007) Clear f counter vCOUNT,
In the process (1009), it is determined whether the counter DCOUNT is 6 or not, and if it is 46, the counter DCOUNT is incremented in the process (1010). In other words, the counter DCOUNT is initialized as counter DCOUNT=OK in the asynchronous routine explained in FIG.
It is incremented until NT=e. In addition, the counter VCOUNT is incremented every time in the subroutine TIMEH, and the counter VCOUNT = e
When it reaches 4, the counter returns to vCOUNT-0. Through the above processing, the function of the vibrato adding device is realized on the SμC (104).
〔9〕トレモロ制御処理
第27図は、S p C(104)上のソフトウェアに
よって、ビブラートと同期が可能なトレモロ制御機能を
実現した場合の機能ブロック図である。
TRM発生手段(1030)は、MgO(101)上の
ソフトウェアで実現される機能で、トレモロのオン/オ
フを指定するトレモロ・オン/オフ・データTRM(E
CD上)を発生する。トレモロ制御手段(1032)は
、TRM発生手段(1030)から、送出されたデータ
TRMを受けとって記憶するTRM記憶手段(1033
)と、MgO(101)上のソフトウェアで実現される
SCD発生手段(1031)から送出されるデータSC
Dを記憶するSCD記憶手段(1035)と、記憶され
たデータSCDをもとに、オンキー・データONKを生
成する○NK生成手段(1038) とデータONK
よりキーオン・スタート・フラグKO8を生成するKo
S生成部(1034)と、f−タTRMが、tycDと
きに、タイマ手段(1037)の制御のもとに、トレモ
ロ・フラグTMFを発生するとともに、フラグKO8が
OOHから矢00Hに変化するタイミングで、トレモロ
・フラグTMFを初期設定する機能をもったTMF生成
手段で、構成される。
トレモロ付加手段(1040)は、トレモロ制御手段か
ら送出されるトレモロ・フラグTMF (一定周期の矩
形波)をろ波するローパス・フィルタL P F (1
041)とLPFC7)出力信号によッテ、楽音発生装
置(1044)から出力されるアナログ楽音出力の振幅
を制御する電圧制御型増幅器VCA(1042)K よ
−) で構成サレ、vCA(1042)からの出力は、
アンプ・スピーカー等から構成される楽音再生装置(1
043)で発音される。
トレモロ制御手段(1032)のタイマ手段(1037
)KO8生成手段(1034)、ONK生成手段(10
3B)SCD記憶手段(1035)等を前述のビブラー
ト付加装置(903)(第19図)と共用することによ
って、ビブラートに同期したトレモロが得られる0
上述のトレモロ制御手段(1032)の機能をSμC(
104)上のソフトウェアで実現した場合の処理の流れ
が、第22図のフロー・チャートに示されている。
はとんどの処理は、ビブラート付加処理の項で説明した
ので、相違点のみを説明する。
処理(1ooe)でビブラート・アドレス中カウンタV
COUNTが64になるとトレモロ・フラグTRFを発
生するサブルーf y TRMSET (1oo8 )
を実行する。
カウンタVCOUNTが64になっていないとき、処理
(1011)でトレモロ・オン/オフ・データTRMを
参照し、データTRMがオンならば、処理(1012)
でカウンタVCOUNT=32か否かを判断し、カウン
タVCOUNT= 32であれば、サブ・ルーチンTR
MSET(1013)を実行する。
つまり、データTRMがオンのときは、カウンタVCO
UNT=32 及U カラン1VCOUNT=−64(
7)ときに、サブ・ルーチンTRMSET(1014)
が期される。
′ サブ・ルーチンTRMSET(1014)は、デ
ータTRMがオフあるいは、カウンタDCOUNT=O
のとき常にフラグTMFをオンにし、データTRMがオ
ンのとき、フラグTMFを反転する機能をもっている。
処理(1015)において、データTRMの判定をし、
オフならば、無条件にフラグTMFをオンにセントし、
オンならば、処理(1o16)においてカウンタDCO
UNT=oか否かを判定し、0ならば処理(1019)
を実行し、0でなければ、処理(1017’) で、
トレモロ−フラグTMFのオン/オフを見て、フラグT
MFがオンならば、処理(1018)でフラグTMFを
オフにし、フラグTMFがオフならば処理(1019)
でフラグTMFをオンにして出力する。
第28図は、トレモロ制御処理のタイミングを示すタイ
ミング・チャートである。
トレモロ・フラグTMFは、トレモロ・オン/オフ・デ
ータTRMがオフのとき常にオンになっており、データ
TRMがオンになると、ビブラート波形VIBの%周期
ごとにフラグTMFを反転させる。
キーオン・スタート・フラグKO5がooHから”xH
ooHになると、フラグTMFがオンの状態からスター
トする。それと同時にディレイ・ビブラートがスタート
する。
LPFOUTは、LPF(1041)の出力信号を示し
たもので、フラグTMFをろ波した出力である。
このLPFOUTによって、VCA(1042)を制御
し、トレモロ−をかける。
発明の効果
以上の説明から明らかなように本発明の楽音発生システ
ムは、発生楽音の音階と発音タイミングを指定する発音
コントロール・データを複数チャネル独立に発生する発
音コントロール・データ発生手段と、ビブラートのオン
/オフをチャネル独立に指定するビブラート・イネイブ
ル・データを発生するビブラート・イネイブル・データ
発生手段と、ビブラート・イネイブル・データがオンの
チャネルだけビブラートを付加し、ビブラート・イネイ
ブル・データがオンのチャネルのうち少なくとも1つの
チャネルが発音を開始した時点で、ディレイ・ビブラー
トを開始する機能をもち、上記発音コントロール・デー
タとビブラート・イネイブル・データにもとづいた周波
数データを楽音発生装置に送出するビブラート付加装置
と、ビブラート付加装置から送出された周波数データに
対応したピッチの楽音を発生する楽音発生装置から構成
しているので特定のチャネルのみにビブラート等の効果
を付加することができ、効果が付加されているチャネル
だけのキー・オンを検出して、少なくとも1つのキーオ
ンが検出されたときに開始するディレイ・ビブラートな
どの制御が可能であシ、例えば、全発音チャネルを鍵域
に対応して2分割し、一方の鍵域をビブラート・オンに
し、他方の鍵域をビブラート・オフにして、ビブラート
−゛\オンの方の鍵域のキーオンに対応して、ディレイ
・ビブラートを開始するようにすることによって、メロ
ディ・ラインの演奏を、ディレイ・ビブラートが付加さ
れた鍵域で行い、コード・バッキングをビブラート・オ
フの鍵域で行うなど、変化に富んだ演奏が可能になる。
さらに、2分割したチャネルによって、音色を変化させ
ることによって、アンサンプル演奏が可能になる。
さらに、この機能を自動演奏モードで用いて、ビブラー
トなどの効果のかかるチャネルを自由に変化させること
によって、表現が拡大される。
また、ここで、付加する効果は、ディレイ・ビブラート
に限定されるものではなく、キー・グライド、タッチ・
レスポンス等、キーオンに関係するものなら何でもよい
。[9] Tremolo control processing FIG. 27 is a functional block diagram when a tremolo control function that can be synchronized with vibrato is realized by software on the S p C (104). The TRM generation means (1030) is a function realized by software on the MgO (101), and generates tremolo on/off data TRM (E
on the CD). The tremolo control means (1032) receives and stores the data TRM sent out from the TRM generation means (1030).
) and data SC sent from the SCD generation means (1031) realized by software on MgO (101).
SCD storage means (1035) for storing D, ○NK generation means (1038) for generating on-key data ONK based on the stored data SCD, and data ONK
KO that generates a key-on start flag KO8
The S generation unit (1034) and the f-ta TRM generate the tremolo flag TMF under the control of the timer means (1037) at tycD, and the timing at which the flag KO8 changes from OOH to arrow 00H. The TMF generation means has a function of initializing the tremolo flag TMF. The tremolo adding means (1040) is a low-pass filter L P F (1
041) and a voltage-controlled amplifier VCA (1042) that controls the amplitude of the analog musical tone output from the musical tone generator (1044) according to the output signal of the LPFC7). The output from
A musical sound reproduction device (1) consisting of an amplifier, speakers, etc.
043) is pronounced. Timer means (1037) of tremolo control means (1032)
) KO8 generation means (1034), ONK generation means (10
3B) Tremolo synchronized with vibrato can be obtained by sharing the SCD storage means (1035) etc. with the above-mentioned vibrato adding device (903) (Fig. 19). (
104) The flow of processing when realized using the above software is shown in the flow chart of FIG. Most of the processing has been explained in the section on vibrato addition processing, so only the differences will be explained. Vibrato address counter V in processing (1ooe)
Subroutine that generates tremolo flag TRF when COUNT reaches 64 f y TRMSET (1oo8)
Execute. When the counter VCOUNT does not reach 64, the tremolo on/off data TRM is referred to in the process (1011), and if the data TRM is on, the process (1012)
It is determined whether the counter VCOUNT=32 or not, and if the counter VCOUNT=32, the subroutine TR
Execute MSET (1013). In other words, when the data TRM is on, the counter VCO
UNT=32 and U callan 1VCOUNT=-64(
7) When subroutine TRMSET (1014)
is expected. ' Subroutine TRMSET (1014) is executed when data TRM is off or counter DCOUNT=O
It has a function of always turning on the flag TMF when the data TRM is on, and inverting the flag TMF when the data TRM is on. In the process (1015), the data TRM is determined,
If it is off, unconditionally turns on the flag TMF,
If it is on, the counter DCO is set in processing (1o16).
Determine whether UNT=o or not, and if it is 0, process (1019)
Execute, and if it is not 0, in the process (1017'),
Check the on/off of the tremolo flag TMF and set the flag T.
If MF is on, flag TMF is turned off in process (1018), and if flag TMF is off, process (1019)
turns on the flag TMF and outputs it. FIG. 28 is a timing chart showing the timing of tremolo control processing. The tremolo flag TMF is always on when the tremolo on/off data TRM is off, and when the data TRM is turned on, the flag TMF is inverted every % period of the vibrato waveform VIB. Key-on start flag KO5 changes from ooH to “xH”
When it becomes ooH, the flag TMF starts from the on state. At the same time, delay vibrato starts. LPFOUT indicates the output signal of the LPF (1041), which is the output obtained by filtering the flag TMF. This LPFOUT controls the VCA (1042) and applies tremolo. Effects of the Invention As is clear from the above description, the musical sound generation system of the present invention includes a sound generation control data generating means for independently generating sound sound control data for multiple channels specifying the scale and sound generation timing of the generated musical sound, and a vibrato sound generating system. A vibrato enable data generation means that generates vibrato enable data that specifies on/off independently of each channel, adds vibrato only to channels for which vibrato enable data is on, and adds vibrato to channels for which vibrato enable data is on. a vibrato adding device that has a function of starting delay vibrato when at least one of the channels starts producing sound, and sends frequency data based on the sound production control data and vibrato enable data to the musical tone generator; It consists of a musical tone generator that generates a musical tone with a pitch corresponding to the frequency data sent out from the vibrato adding device, so it is possible to add effects such as vibrato only to a specific channel, and the effect is not added. It is possible to control such things as delay vibrato that starts when at least one key-on is detected by detecting key-on only on the channel that is currently playing.For example, all sounding channels can be divided into two corresponding to the key range. Then, turn on vibrato in one key range, turn off vibrato in the other key range, and start delay vibrato in response to key-on in the key range where vibrato is on. This allows for a wide variety of performances, such as playing a melody line in a key range with delay vibrato added, and chord backing in a key range with vibrato off. Furthermore, unsampled performance is possible by changing the tone color using the two divided channels. Furthermore, by using this function in automatic performance mode and freely changing the channels that apply effects such as vibrato, the expression can be expanded. Also, the effects added here are not limited to delay vibrato, but also key glide, touch,
Anything related to key-on, such as a response, can be used.
第1図は、本発明の実施例における楽音発生シ・ステム
のブロック図、第2図はメイン・マイクロ−コンピュー
タMμCとサブΦマイクロコンピュータSμCの間のI
lo マツプ、第3図〜第5図は、MμCとSμC間の
転送データのフォーマット図、第6図はデータ転送装置
のブロック図、第7図はデータ転送装置の機能ブロック
図、第8図はデータ送信装置の処理を示すフロー・チャ
ート、第9図はデータ受信装置の処理を示すフロー・チ
ャート、第10図はSμC内のメモリのメモリ・マツプ
、第11図は、データ転送装置のタイミング・チャート
、第12図はSμCとDSGの間のI10マツプ、第1
3図は、SμC,!:DSGの間の転送データのフォー
マット図、第14図、第15図は発音制御装置の機能ブ
ロック図、第16図。
第17図は発音制御装置の処理を示すフロー・チャート
、第18図は、ディジタル・サウンド・ジェネレータD
SGの入出力を示すタイミング・チャート、第19図は
ビブラート付加装置の機能ブロック図、第20図はビブ
ラート・データ・メモ図
りの内容を示すグラフ、第21〜第23図はビブラート
付加装置とトレモロ制御手段の処理を示すフロー・チャ
ート、第24図はオンキー・データのフォーマット図、
第25図は、オンキー中データ生成処理を示すフローチ
ャート 、第26図はビブラート付加装置のタイミング
・チャート、第27図はトレモロ制御手段の機能ブロッ
ク図、第28図は、トレモロ制御処理を示すタイミング
・チャートである。
101・・・・・・メイン・マイクロコンピュータ、1
04・・・・・・サブeマイクロコンピュータ、1o5
・・・・・・ディジタル・サウンド・ジェネレータ、1
07・・・・・・振幅変調部、600・・・・・・発音
制御装置、601・・・・・・SCD発生装置、602
・・・・・・SCD割当て手段、603・・・・・・フ
ァースト・ダンパ要求手段、604・・・・・・楽音発
生装置、605・・・・・・KD判定手段、6o6・・
・・・・SCD記憶手段、607・・・・・・アサイン
・フラグ発生手段、6o8・・・・・・C3CD記憶手
段、609・・・・・・SCD出力手段、610・・・
・・・CH8T判定手段、611・・・・・・強制消音
フラグ発生装置、612・・・・・・強制消音制御手段
、900・・・・・・SCD発生手段、901 ・:・
・・V E N 、 DVIB発生手段、903・・・
・・・ビブラート付加装置、9o4・・・・・・基本ピ
ッチ・データ発生手段、906・・・・・・ONK発生
手段、907・・・・・・KO3生成手段、909・・
・・・ビブラート・データ・メモリ、91o・・・・・
・ビブラート・データ読出し手段、911・・・・・・
ビブラート・アドレス・カウンタ、912・・・・・・
ディレイ・ビブラート・アドレス・カウンタ、913・
・・・・・タイマ手段、914・・・・加算手段、91
5・・・・・指数変換手段、916・・・・・楽音発生
装置、1031・・・・・・SCD発生手段、1o32
・・・・・・トレモロ制御手段、1o34・川・・KO
8生成手段、1o36・旧・・TMF生成手段、1o3
7・・・・・・タイマ手段、1o4o・・・・・・トレ
モロ付加手段、1o41・・・・・・ローパス・フィル
タ、1o42・・・・・・電圧制御型増幅器、1o44
・・・・・楽音発生装置。
代理人の氏名 弁理士 中 尾 敏 男 はが1名第2
図
′t5 ω
+第6図
第7図
第8図、ユ2.b。
第9図
第1θ図
第16図
第17図
第18図
Rnc:
DδGのλ記カ
第21図
第22図
(α)(b)
■
第23図
第24図
(ω)
(b)
第25図
第26図FIG. 1 is a block diagram of a musical tone generation system according to an embodiment of the present invention, and FIG. 2 is an I/O diagram between a main microcomputer MμC and a sub-Φ microcomputer SμC.
lo map, Figures 3 to 5 are format diagrams of data transferred between MμC and SμC, Figure 6 is a block diagram of the data transfer device, Figure 7 is a functional block diagram of the data transfer device, and Figure 8 is a diagram of the data transfer device. 9 is a flow chart showing the processing of the data receiving device, FIG. 10 is the memory map of the memory in the SμC, and FIG. 11 is the timing diagram of the data transfer device. Chart, Figure 12 is the I10 map between SμC and DSG, 1st
Figure 3 shows SμC,! : A format diagram of data transferred between DSGs, FIGS. 14 and 15 are functional block diagrams of the sound generation control device, and FIG. 16. FIG. 17 is a flow chart showing the processing of the sound generation control device, and FIG. 18 is a flow chart showing the processing of the digital sound generator D.
Timing chart showing SG input/output, Figure 19 is a functional block diagram of the vibrato adding device, Figure 20 is a graph showing the contents of the vibrato data memo diagram, and Figures 21 to 23 are the vibrato adding device and tremolo. A flow chart showing the processing of the control means, FIG. 24 is a format diagram of on-key data,
FIG. 25 is a flowchart showing the on-key data generation process, FIG. 26 is a timing chart of the vibrato adding device, FIG. 27 is a functional block diagram of the tremolo control means, and FIG. 28 is a timing chart showing the tremolo control process. It is a chart. 101... Main microcomputer, 1
04...Sub-e microcomputer, 1o5
...Digital sound generator, 1
07... Amplitude modulation unit, 600... Sound generation control device, 601... SCD generator, 602
... SCD allocation means, 603 ... First damper request means, 604 ... Musical tone generator, 605 ... KD judgment means, 6o6 ...
... SCD storage means, 607 ... Assignment flag generation means, 6o8 ... C3CD storage means, 609 ... SCD output means, 610 ...
. . . CH8T determination means, 611 . . . Forced silencing flag generation device, 612 . . . Forced silencing control means, 900 . . . SCD generation means, 901 .
...VEN, DVIB generation means, 903...
... Vibrato adding device, 9o4... Basic pitch data generating means, 906... ONK generating means, 907... KO3 generating means, 909...
...Vibrato data memory, 91o...
・Vibrato data reading means, 911...
Vibrato address counter, 912...
Delay vibrato address counter, 913.
...Timer means, 914... Addition means, 91
5...Exponent conversion means, 916...Music tone generator, 1031...SCD generation means, 1o32
・・・・・・Tremolo control means, 1o34・Kawa・KO
8 generation means, 1o36・old...TMF generation means, 1o3
7... Timer means, 1o4o... Tremolo addition means, 1o41... Low pass filter, 1o42... Voltage controlled amplifier, 1o44
...Music sound generator. Name of agent: Patent attorney Toshio Nakao, 1st person, 2nd person
Figure't5 ω
+Figure 6, Figure 7, Figure 8, U2. b. Fig. 9 Fig. 1θ Fig. 16 Fig. 17 Fig. 18 Rnc: λ notation of DδG Fig. 21 Fig. 22 (α) (b) ■ Fig. 23 Fig. 24 (ω) (b) Fig. 25 Figure 26
Claims (1)
ロール・データを複数チャネル独立に発生する発音コン
トロール・データ発生手段と、ビブラートのオン/オフ
をチャネル独立に指定するビブラート・イネイブル・デ
ータを発生するビブラート・イネイブル・データ発生手
段と、ビブラート・イネイブル・データがオンのチャネ
ルだけビブラートを付加し、ビブラート・イネイブル・
データがオンのチャネルのうち少なくとも1つのチャネ
ルが発音を開始した時点で、ディレイ・ビブラートを開
始する機能をもち、上記発音コントロール・データとビ
ブラート・イネイブル・データにもとづいた周波数デー
タを楽音発生装置に送出するビブラート付加装置と、ビ
ブラート付加装置から送出された周波数データに対応し
たピッチの楽音を発生する楽音発生装置から構成される
ことを特徴とする楽音発生システム。A sound generation control data generation means that independently generates sound generation control data for specifying the scale and sound timing of the generated musical tone for multiple channels, and a vibrato data generation means that generates vibrato enable data that independently specifies the on/off of vibrato for each channel. Vibrato is added only to the enable data generation means and the channels for which the vibrato enable data is on, and the vibrato enable data is turned on.
It has a function to start delay vibrato when at least one channel among the channels whose data is on starts producing sound, and sends frequency data based on the above sound production control data and vibrato enable data to the musical tone generator. A musical sound generation system comprising: a vibrato adding device that sends out a vibrato; and a musical tone generating device that generates a musical tone with a pitch corresponding to the frequency data sent out from the vibrato adding device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59127058A JPH068995B2 (en) | 1984-06-20 | 1984-06-20 | Tone generation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59127058A JPH068995B2 (en) | 1984-06-20 | 1984-06-20 | Tone generation system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS616688A true JPS616688A (en) | 1986-01-13 |
JPH068995B2 JPH068995B2 (en) | 1994-02-02 |
Family
ID=14950547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59127058A Expired - Lifetime JPH068995B2 (en) | 1984-06-20 | 1984-06-20 | Tone generation system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH068995B2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5710188A (en) * | 1980-06-20 | 1982-01-19 | Casio Computer Co Ltd | Vibrato device for electronic musical instrument |
-
1984
- 1984-06-20 JP JP59127058A patent/JPH068995B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5710188A (en) * | 1980-06-20 | 1982-01-19 | Casio Computer Co Ltd | Vibrato device for electronic musical instrument |
Also Published As
Publication number | Publication date |
---|---|
JPH068995B2 (en) | 1994-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5319151A (en) | Data processing apparatus outputting waveform data in a certain interval | |
JPS616688A (en) | Musical sound generation system | |
JP3634130B2 (en) | Musical sound generating apparatus and musical sound generating method | |
US4240318A (en) | Portamento and glide tone generator having multimode clock circuit | |
JPH0318197B2 (en) | ||
JPH0331273B2 (en) | ||
JPS6113239B2 (en) | ||
US4227433A (en) | Electronic musical instruments | |
JP2858120B2 (en) | Electronic musical instrument | |
JPS59139095A (en) | Electronic musical instrument | |
JP3508139B2 (en) | Digital signal processor | |
JP3230265B2 (en) | Sound channel assignment device for electronic musical instruments | |
JPH07325581A (en) | Musical sound generation device | |
JPS616691A (en) | Musical sound generation system | |
JPS616692A (en) | Musical sound generation system | |
JP3006094B2 (en) | Musical sound wave generator | |
JP2715795B2 (en) | Musical sound synthesizer having pronunciation assigning means | |
JPS616687A (en) | Musical sound generation system | |
JPS6042952B2 (en) | Wave generator for electronic musical instruments | |
JPH0764553A (en) | Electronic musical instrument | |
JPH11109975A (en) | Device and method for generating musical sound | |
JPS616690A (en) | Musical sound generation system | |
JP3116447B2 (en) | Digital signal processor | |
JPH0421199B2 (en) | ||
JP2956552B2 (en) | Musical sound generating method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |