JPH0315200B2 - - Google Patents

Info

Publication number
JPH0315200B2
JPH0315200B2 JP60154871A JP15487185A JPH0315200B2 JP H0315200 B2 JPH0315200 B2 JP H0315200B2 JP 60154871 A JP60154871 A JP 60154871A JP 15487185 A JP15487185 A JP 15487185A JP H0315200 B2 JPH0315200 B2 JP H0315200B2
Authority
JP
Japan
Prior art keywords
waveform
musical
data
random
control means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP60154871A
Other languages
Japanese (ja)
Other versions
JPS6214696A (en
Inventor
Atsumi Kato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP60154871A priority Critical patent/JPS6214696A/en
Publication of JPS6214696A publication Critical patent/JPS6214696A/en
Publication of JPH0315200B2 publication Critical patent/JPH0315200B2/ja
Granted legal-status Critical Current

Links

Description

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

〔産業上の利用分野〕 この発明は楽音信号発生装置に関し、特に、複
数の異なる楽音波形をランダムに切換えて発生す
ることによりスペクトル成分が時間的に変化する
楽音信号を発生するようにした楽音信号発生装置
に関する。 〔従来の技術〕 特開昭58−95790号公報においては、波形メモ
リに記憶した複数の異なる楽音波形を順次切換え
て読み出すことによりスペクトル成分が時間的に
変化する楽音信号を発生し得る楽音信号発生装置
が開示されている。そこにおいて、波形メモリか
ら読み出すべき楽音波形の切換えは、同じ楽音波
形を所定周期数だけ繰返し読み出した時に行われ
るようになつている。そのため、楽音波形の切換
わり間隔が常に所定の周期数に固定されるため、
発生すべき楽音の周波数に応じて楽音波形の切換
わり間隔が変動し、かつこれに伴ない補間に要す
る時間も変動してしまう、という欠点があつた。 このような欠点を除去するために、特願昭59−
2667号においては、波形切換えを所定の時間関数
に従つて行うようにし、これにより、発生すべき
楽音の周波数に影響されることなく楽音波形の切
換えを制御し得るようにしたことが開示されてい
る。 しかし、上述のいずれの特許出願においても、
楽音波形の切換え順序は各音色毎に予め固定され
ており、これをランダムに変更することはできな
かつた。 〔発明が解決しようとする問題点〕 しかし、自然楽器における音色の時間変化につ
いて考えてみると、発音のたびに常に同じパター
ンで音色の時間変化をするわけではなく、むしろ
各発音機会毎に異なる変化を示すことが多い。し
かるに、上述のような先願に示された技術におい
ては、楽音波形の切換え順序が固定されていたた
め、常に同じパターンでしか音色の時間変化を実
現することができず、限界があつた。 この発明は上述の点に鑑みてなされたもので、
音色の時間変化の態様にランダム性をもたせ、自
然楽器における音色の時間変化に近い態様で音色
の時間変化を実現し得るようにした楽音信号発生
装置を提供しようとするものである。 〔問題点を解決するための手段〕 この発明の楽音信号発生装置は、複数の異なる
楽音波形の波形データを記憶した波形記憶手段
と、発生すべき楽音周波数に応じて前記波形記憶
手段から所定の楽音波形の波形データを読み出す
読出し手段と、前記波形記憶手段から読み出すべ
き楽音波形を時間的に切換える波形切換制御手段
とを具えたものにおいて、前記波形切換制御手段
による楽音波形の切換え順序をランダムに制御す
るランダム制御手段を具えたことを特徴とするも
のである。 また、この発明は、波形記憶手段に記憶した楽
音波形を読み出すことにより楽音信号を形成する
方式のものに限らず、パラメータを用いて該楽音
波形を形成する方式のものにおいても適用するこ
とができる。すなわち、第2の発明に係る楽音信
号発生装置は、パラメータによつて決定される形
状の楽音波形を形成すると共に位相データによつ
て指定された位相に対応して該楽音波形の形成を
行う楽音波形形成手段と、複数の異なる楽音波形
に関して、各楽音波形の形状を決定する前記パラ
メータを夫々記憶したパラメータ記憶手段と、発
生すべき楽音の周波数に応じて変化する前記位相
データを発生し、前記楽音波形形成手段に与える
位相データ発生手段と、前記楽音波形形成手段で
形成すべき楽音波形を時間的に切換えて指定し、
指定した楽音波形に対応する前記パラメータを前
記パラメータ記憶手段から読み出して前記楽音波
形形成手段に与える波形切換制御手段とを具えた
ものにおいて、前記波形切換制御手段による楽音
波形の切換え順序をランダムに制御するランダム
制御手段を具えたことを特徴とする。 〔作用〕 ランダム制御手段により、楽音波形の切換え順
序がランダムに制御される。従つて、同じ音色が
選択されていても、音色の時間変化の態様は各発
音機会毎にランダムに異なるものとなる。これに
より、自然楽器における音色の時間変化に近い態
様で音色の時間変化を実現することができるよう
になる。 〔実施例〕 以下、添付図面を参照してこの発明の一実施例
を詳細に説明しよう。 以下で説明する実施例においては、楽音波形の
切換えを滑らかに行うようにするために、2系列
で楽音波形信号を発生するようになつており、一
方の系列で切換え前の楽音波形信号を発生し、他
方の系列で切換え後の楽音波形信号を発生し、両
者の振幅エンベロープを逆特性でクロスフエード
させる(つまり切換え前の楽音波形のエンベロー
プを減衰特性とし、切換え後の楽音波形のエンベ
ロープを立上り特性として交差させる)ようにし
ている。この発明はこのようなクロスフエード制
御を行うものに限定されるわけではないが、以下
ではこのようなクロスフエード制御を行うものと
して一実施例につき説明する。 まず、以下で説明する実施例において採用する
楽音信号発生原理について第1図を参照して説明
する。第1図aには、波形メモリにおいて予め準
備しておくべき楽音波形の概略が便宜上振幅エン
ベロープのみによつて示されている。この実施例
においては、発音開始から所定期間の部分(アタ
ツク部)の楽音波形は、連続する複数周期波形を
そのままサンプリングし、波形メモリに記憶して
おくものとする。アタツク部以後の全発音期間に
関しては、その間で複数の異なる楽音波形1周期
を離散的にサンプリングし、夫々を波形メモリに
記憶しておく。第1図aでは、そのように離散的
にサンプリングした各1周期波形をSEG1〜
SEG5で示しており、これらを便宜上セグメン
ト波形と呼ぶことにする。 上述のように波形を記憶した波形メモリからの
基本的な波形読み出し法は、まず、アタツク部の
全波形を連続的に読み出し、次に後述するような
波形切換え指令に従う或るタイミングでセグメン
ト波形SEG1〜SEG5をランダムに選択し、選
択されたセグメント波形1周期を繰返し読み出
す。例えばアタツク部波形の読み出し終了後或る
セグメント波形SEG1を或る時間だけ繰返し読
み出し、次いで別のセグメント波形SEG3に切
換えてこれを繰返し読み出し、以後ランダムな順
序でセグメント波形を切換える。 セグメント波形の切換え時において、先行する
波形からその次の波形に滑らかに移行させるため
に補間技術が用いられる。その場合、上述のよう
な基本的な読み出し法に加えて、少なくとも補間
を行うべき区間において先行するセグメント波形
とその次のセグメント波形を共に読み出し、両者
を適宜の補間関数に従つて夫々重みづけする。一
例として、セグメント波形の切換わり間隔全域が
補間区間に相当しており、或るセグメント波形
SEG1を読み出すときはその次のセグメント波
形SEG3も一緒に読み出し、その次の切換わり
時ではセグメント波形SEG3とその次のセグメ
ント波形SEG5を共に読み出し、以下同様にラ
ンダムな順序で切換えながら隣合うセグメント波
形を一緒に読み出す。 第1図bには、補間関数の一例が示されてい
る。実線が第1系列用の補間関数IPF1を示し、
破線が第2系列用の補間関数IPF2を示す。第1
系列とは、上述のように補間のために読み出され
る2つのセグメント波形の一方に対応するもので
あり、第2系列とは他方に対応するものである。
この補間関数IPF1,IPF2は各系列の波形振幅
の重みづけ量を示しており、最小値は零(その波
形を出さないことを示す)である。補間を行わな
いアタツク部においては、第1系列の補間関数
IPF1を最大値に維持し、第2系列の補間関数
IPF2を最小値に維持する。アタツク部の終了
後、セグメント波形SEG1〜SEG5の補間を行
うべき期間において各補間関数IPF1,IPF2は
夫々所定の特性で時間的に変化する。両補間関数
IPF1,IPF2は互いに逆特性で変化し、一方の
系列の重みづけが漸減するとき他方が漸増するよ
うになつており、これにより滑らかな波形の移行
が達成される。第1図bでは補間関数IPF1,
IPF2は直線補間特性を示しているが、これに限
らないのは勿論である。 t1,t2,t3,t4は夫々別個の補間区間を示して
おり、補間区間が切換わる毎に各系列の補間関数
IPF1,IPF2の傾きが交互に切換わるようにな
つている。補間区間t1においては、セグメント波
形SEG1からSEG3に滑らかに移行させる補間
が行われる。この場合、セグメント波形SEG1
が第1系列において繰返し読み出され、セグメン
ト波形SEG3が第2系列において繰返し読み出
される。そして、第1系列の補間関数IPF1が最
大値から漸減する一方で第2系列の補間関数IPF
2が最小値から漸増する。この補間関数IPF1に
よつて第1系列で繰返し読み出されたセグメント
波形SEG1の複数周期波形信号が重みづけ(振
幅制御)され、また、補間関数IPF2によつて第
2系列で繰返し読み出されたセグメント波形
SEG3の複数周期波形信号が重みづけされる。
このように逆特性で重みづけされた両系列の波形
信号を混合することにより、セグメント波形
SEG1からセグメント波形SEG3へと波形が滑
らかに時間変化する楽音信号が得られる。 次の補間区間t2では、セグメント波形SEG3か
らSEG5に滑らかに移行する補間が行われる。
この場合、前回に引き続き第2系列においてセグ
メント波形SEG3が繰返し読み出され、一方、
第1系列ではセグメント波形がSEG1からSEG
5に切換わつてこれが繰返し読み出される。そし
て、補間関数IPF1,IPF2の傾きが前回とは逆
方向に夫々切換わる。 他の補間区間t3,t4も上述と同様に一方の系列
のセグメント波形が切換わると共に補間関数IPF
1,IPF2の傾きが逆方向に切換わる。第1図b
には各補間区間t1〜t4において各系列で使用され
るセグメント波形SEG1〜SEG5の番号が併記
されている。 第2図には、この発明に係る楽音信号発生装置
を適用した電子楽器の一実施例が示されている。
この電子楽器においては、第1図を参照して上述
したような楽音信号発生原理に従つて楽音信号を
発生する。 第2図において、鍵盤10は発生すべき楽音の
音高を指定するための多数の鍵を具えている。キ
ーアサイナ11は各鍵の押圧又は離鍵を検出し、
押圧鍵を複数の楽音発生チヤンネルの何れかに割
当てる処理を行う。一例として同時最大発音可能
数は12音であり、キーアサイナ11では12個のチ
ヤンネルの何れかに押圧鍵を割当てる。各チヤン
ネルに割当てられた鍵を特定するキーコードKC、
その鍵の押圧が持続しているか否かを示すキーオ
ン信号KON、及びその鍵の押圧開始時に瞬間的
に発生されるキーオンパルスKONPが所定の時
分割タイミングに従つて各チヤンネル毎に時分割
でキーアサイナ11から出力される。 時分割チヤンネルタイミングの一例を示すと第
3図のようである。各チヤンネルタイミング1〜
12はクロツクパルスφ2に同期して形成される。
クロツクパルスφ2の2倍の周波数のクロツクパ
ルスφ1に同期して各チヤンネルタイミングのタ
イムスロツトを2分して2つのサブチヤンネルタ
イミング1,2が形成される。このサブチヤンネ
ルタイミング1,2は前述の補間における第1系
列と第2系列に対応するものである。すなわちこ
の実施例では、1つのチヤンネルのタイムスロツ
トを2分して補間用の第1系列(サブチヤンネル
1)及び第2系列(サブチヤンネル2)のセグメ
ント波形を時分割で読み出すようにしている。
CH1〜CH12はチヤンネルタイミング信号で
あり、各チヤンネルタイミング1〜12に対応し
て発生する。各クロツクパルスφ1,φ2及び信号
CH1〜CH12はタイミング信号発生器12か
ら発生され、第2図に示す電子楽器内の所定の回
路に夫々供給される。 位相発生器13は、波形メモリ14から読み出
すべき楽音波形を指定し、この楽音波形を発生す
べき楽音周波数に応じて読み出すためのものであ
り、読み出すべきサンプル点を指示するアドレス
データMADRを各チヤンネル1〜12の各サブ
チヤンネル1,2毎に合計24タイムスロツトで時
分割的に発生する。位相発生器13にはキーアサ
イナ11からキーコードKCキーオンパルス
KONP、キーオン信号KONが与えられており、
これらによつて発生すべき楽音周波数及び発音開
始タイミングが指定される。 波形メモリ14は、前述のアタツク部全波形と
複数のセグメント波形を各音色に対応して複数組
記憶している。詳しくは、周知のように、各波形
を複数のサンプル点に夫々分割し、各サンプル点
に対応する波形データ(例えば当該サンプル点の
波形振幅データ)を夫々記憶している。この波形
メモリ14におけるメモリマツプの一例を略示す
ると第4図のようである。音色Aに関しては、ア
ドレスA0からA1−1のアドレス範囲でアタツク
部全波形の波形データが記憶され、アドレスA1
からA2−1のアドレス範囲で第1のセグメント
波形SEG1の1周期分の波形データが記憶され、
以下、所定のアドレス範囲で各セグメント波形
SEG2、SEG3…が順次記憶されている。他の
音色B,C…に関しても同様である。図中に記し
たA0,A1,A2…、B0,B1,B2…、C0,C1,C2
…は各アドレス範囲のスタートアドレスであり、
A0,B0,C0…はアタツク部のスタートアドレス、
A1,B1,C1…は第1のセグメント波形SEG1の
スタートアドレス、A2,B2,C2…は第2のセグ
メント波形SEG2のスタートアドレスである。
一例として1周期波形を256のサンプル点でサン
プリングし、また、アタツク部全波形の最大周期
数を256周期としている。尚、図示の通り、アタ
ツク部全波形の周期数は音色によつて異つてい
る。尚、1周期内の各サンプル点(合計256)は
丁度8ビツトの2進コードで表現できる。そこ
で、この1周期内の各サンプル点はアドレスデー
タMADRの最下位8ビツトによつて特定される
ようになつており、各スタートアドレスA1,A2
…、B1,B2…、C1,C2…はその最下位8ビツト
がオール“0”であり、その上位ビツトが各セグ
メント波形を指定するのに有効な値を持つてい
る。 第2図に戻り、音色選択回路15は音色選択情
報TCを出力し、位相発生器13及び波形メモリ
14、クロスフエード制御回路16、エンベロー
プ発生器17に与える。クロスフエード制御回路
16は、同じ発音チヤンネルに関する2つの系列
(サブチヤンネル)の楽音波形信号を逆特性で
夫々重みづけするための補間関数を発生するため
のものである。 この発明の構成との対応を示せば、波形メモリ
14から読み出すべきセグメント波形を時間的に
切換える働きをする波形切換制御手段200に該
当するのが、クロスフエード制御回路16と位相
発生器13のブロツク内に含まれる一部の回路を
含む部分であり、この波形切換制御手段200に
よるセグメント波形の切換え順序をランダムに制
御するランダム制御手段201の機能を果すもの
は位相発生器13のブロツク中に包含されてい
る。また、読出し手段28も位相発生器13のブ
ロツク中に包含されている。 アタツク部全波形の読み出しが完了したことを
示すアタツクエンド信号ATENDと、アタツク部
の読み出しを行つていないことを示す反転アタツ
ク信号が位相発生器13からクロスフエード
制御回路16に与えられる。クロスフエード制御
回路16では、これらの信号に基きアタツク部の
波形読み出しが完了したことを確認すると、所定
の補間関数の発生を開始する。補間関数はクロス
フエードカーブデータCFとして回路16から出
力され、重みづけ演算用の乗算器18に与えられ
る。また、波形切換え指令信号WCHGが回路1
6から出力され、位相発生器13に与えられる。 重みづけ演算用の乗算器18と、その出力を遅
延回路19でクロツクパルスφ1の1周期分遅延
した信号と遅延していない信号とを加算する加算
器20は補間手段の一部を成すものである。波形
メモリ14からは各チヤンネル毎の各サブチヤン
ネルタイミングに対応して時分割で楽音波形デー
タが読み出され、クロスフエード制御回路16か
らは同様に各チヤンネル毎の各サブチヤンネルタ
イミングに同期して時分割でクロスフエードカー
ブデータCFが読み出される。従つて、乗算器1
8では、各チヤンネル毎の各サブチヤンネルに対
応して時分割的に読み出された楽音波形が、各々
に対応するクロスフエードカーブデータCF(すな
わち補間関数)に従つて夫々重みづけされる。1
つの楽音発生チヤンネルに関する2つのサブチヤ
ンネルの重みづけされた楽音波形データが加算器
20で加算される。すなわち、第1のサブチヤン
ネルの楽音波形信号が遅れて遅延回路19から加
算器20に入力されるとき、同じチヤンネルの第
2のサブチヤンネルの楽音波形データが加算器2
0の他の入力に加わるようになつている。こうし
て、1つのチヤンネルのタイムスロツト(クロツ
クパルスφ2の1周期に対応するタイムスロツト)
の後半で、そのチヤンネルに関する重みづけ済み
の2つの楽音波形データが混合される。 エンベロープ発生器17は、キーアサイナ11
から与えられたキーオン信号KONとキーオンパ
ルスKONPに応じて各チヤンネル毎に振幅エン
ベロープ波形信号を時分割で発生する。このエン
ベロープ波形は押鍵中は一定レベルを維持し、離
鍵に応じてデイケイエンベロープ特性を示すもの
である。波形メモリ14に記憶されたアタツク部
全波形はアタツクエンベロープ特性が予め付与さ
れたものであるため、アタツクエンベロープ特性
はエンベロープ発生器17によつて付与する必要
がないのである。加算器20とエンベロープ発生
器17の出力が乗算器21に入力され、各チヤン
ネルの楽音波形データに対してその押鍵及び離鍵
に対応する振幅エンベロープが時分割で付与され
る。 乗算器21の出力は各チヤンネルに対応して並
列的に設けられたラツチ回路22−1乃至22−
12のデータ入力に与えられる。各ラツチ回路2
2−1乃至22−12のラツチ制御入力Lには、
各々に対応するチヤンネルタイミング信号CH1
〜CH12とクロツクパルスφ2の反転信号φ2との
アンド論理をとつたアンド回路23−1乃至23
−12の出力が夫々与えられる。こうして、各チ
ヤンネルの時分割タイムスロツトの後半のタイム
スロツトで乗算器21の出力が対応するラツチ回
路22−1乃至22−12にラツチされる。前述
の通り、加算器20では各チヤンネルタイミング
1〜12の後半のタイムスロツト(サブチヤンネ
ル2のタイミング)でそのチヤンネルに関する重
みづけ済みの2つの楽音波形データの加算を行う
ので、その加算結果に対応するデータが各ラツチ
回路22−1乃至22−12にラツチされる。こ
うして各チヤンネルの楽音波形データの時分割が
解除される。 ラツチ回路22−1乃至22−12の出力はラ
ツチ回路24−1乃至24−12に入力される。
各ラツチ回路24−1乃至24−12のラツチ制
御入力Lには位相発生器13から出力されたピツ
チ同期パルスPSP1〜PSP12が与えられる。ピ
ツチ同期パルスPSP1〜PSP12は、各チヤンネ
ルに割当てられた楽音の周波数に同期したパルス
であり、これに従つて楽音波形データをラツチす
ることにより非調和なクロツク成分を除去するよ
うにしている。各ラツチ回路24−1乃至24−
12の出力は加算器25に与えられて合算された
後、デイジタル/アナログ変換器26でアナログ
信号に変換され、サウンドシステム27に至る。 次に第2図各部の詳細につき説明する。 第5図は位相発生器13の一例を示すもので、
符号28によつて示す部分が、1周期の波形デー
タを繰返し読み出すための読出し手段に相当す
る。キーアサイナ11から時分割的に与えられた
各チヤンネルのキーコードKCがラツチ回路29
−1乃至29−12に入力され、チヤンネルタイ
ミング信号CH1〜CH12に従つて各チヤンネ
ルに対応するラツチ回路29−1乃至29−12
に夫々ラツチされる。各チヤンネル別に独立に設
けられた可変発振器30−1乃至30−12は、
各々に対応するラツチ回路29−1乃至29−1
2から与えられたキーコードKCに応じて各チヤ
ンネルに割当てられた押圧鍵の楽音周波数に対応
するノートクロツクパルスNC1〜NC12を発
生する。ノートクロツクパルスNC1〜NC12
は時分割制御回路31に与えられ、チヤンネルタ
イミング信号CH1〜CH12に従つて時分割的
にサンプリングされ、多重化され、ライン32を
介して時分割多重出力が取り出される。 時分割制御回路31の一例は第6図のようであ
り、12個のRSフリツプフロツプ33−1乃至3
3−12のセツト入力Sに各チヤンネルのノート
クロツクパルスNC1〜NC12が夫々入力され
る。アンド回路34−1乃至34−12にはフリ
ツプフロツプ33−1乃至33−12の出力Qと
チヤンネルタイミング信号CH1〜CH12が
夫々入力され、その出力がオア回路350で多重
化されてライン32に導かれると共に、対応する
フリツプフロツプ33−1乃至33−12のリセ
ツト入力Rに戻される。また、フリツプフロツプ
33−1乃至33−12の出力Qはピツチ同期パ
ルスPSP1〜PSP12として出力され、前述の通
り第2図のラツチ回路24−1乃至24−12に
与えられる。フリツプフロツプ33−1乃至33
−12はセツト入力Sの信号の立上りでセツトさ
れ、リセツト入力Rの信号の立下りでリセツトさ
れるものとする。第7図は第6図各部の入出力信
号の一例を示したものである。同図から明らかな
ように、各チヤンネルに割当てられた鍵のノート
クロツクパルスNC1〜NC12はチヤンネルタ
イミングに非同期であり、このパルスNC1〜
NC12の立上りでフリツプフロツプ33−1乃
至33−12をセツトして、対応するアンド回路
34−1乃至34−12を可能化し、その後最初
のチヤンネルタイミング信号CH1〜CH12に
対応して該アンド回路34−1乃至34−12か
らパルスを出力し、この出力パルスの立下りでフ
リツプフロツプ33−1乃至33−12をリセツ
トする。そうすると、ノートクロツクパルスNC
1〜NC12と同周波数でチヤンネルタイミング
信号CH1〜CH12に同期した新たなノートク
ロツクパルスが各アンド回路34−1乃至34−
12から得られる。こうして、各チヤンネルに割
当てた鍵の楽音周波数に対応する(その整数倍周
波数)のノートクロツクパルスが該当チヤンネル
の時分割タイミングに一致してライン32に出力
される。 第5図に戻り、ライン32に与えられた各チヤ
ンネルのノートクロツクパルスは加算器35、ゲ
ート36、シフトレジスタ37から成るカウンタ
38に入力され、そのパルス数が各チヤンネル別
に時分割でカウントされる。シフトレジスタ37
は24ステージ/8ビツトであり、サブチヤンネル
タイミングに同期するクロツクパルスφ1によつ
てシフト制御される。シフトレジスタ37の出力
は加算器35に与えられ、ライン32のノートク
ロツクパルスと加算される。その加算出力がゲー
ト36を介してシフトレジスタ37にストアされ
る。シフトレジスタ37の24ステージは12チヤン
ネルの各々の2サブチヤンネルに対応しており、
1チヤンネル分のカウント値が2ステージ(2サ
ブチヤンネルに対応)に夫々ストアされる。ゲー
ト36はキーオンパルスKONPによつて発音開
始直前に瞬時に閉じられ、シフトレジスタ37に
おける対応する2ステージ分の記憶をクリアす
る。 シフトレジスタ37は1ステージにつき8ビツ
トの容量を持つので、カウンタ38はモジユロ
256のカウントを24チヤンネル分(実際は12チヤ
ンネル分)につき時分割で行う。ゲート36の出
力がカウンタ38のカウント出力として取り出さ
れ、アドレスデータMADRの最下位8ビツトと
して波形メモリ14に与えられる。このカウンタ
38のカウント出力により256サンプル点から成
る1周期波形の各サンプル点を順次読み出すこと
ができる。カウントはノートクロツクパルスNC
1〜NC12に従つて行われるので、上記読み出
しは発生すべき楽音周波数に対応して行われるこ
とになる。 波形メモリ14を読み出すためのアドレスデー
タMADRはN+8ビツト(但しN>8)であり、
上述のように最下位8ビツトによつて波形1周期
内の順次サンプル点を指定し、上位Nビツトによ
つて1周期分の波形を指定する。 この波形指定用の上位Nビツトのアドレスデー
タは、スタートアドレス発生回路40から加算器
41を経由して与えられる。スタートアドレス発
生回路40は、前述のアタツク部全波形のスター
トアドレスA0,B0,C0…と各セグメント波形の
スタートアドレスA1,A2…を発生するものであ
る。アタツク部全波形内の個々の1周期波形を指
定するためにアタツク部周期数カウンタ39が設
けられており、このカウンタ39の出力とアタツ
ク部のスタートアドレスA0,B0,C0…とを加算
合成してアタツク部全波形内の個々の1周期波形
の絶対アドレスを特定するために加算器41が設
けられている。 アタツク部周期数カウンタ39のハード構成は
前述のカウンタ38と同様であり、加算器43、
ゲート44、シフトレジスタ45を含んでいる。
このカウンタ39は、加算器35の最上位ビツト
からのキヤリイアウト信号CRYを各チヤンネル
別に時分割でカウントする。このキヤリイアウト
信号CRYはカウンタ38の或るチヤンネルでノ
ートクロツクパルスを256カウントする毎に(つ
まり波形1周期を読み出す毎に)発生するもの
で、これをカウントすることによりアタツク部の
周期数をカウントすることができる。 カウンタ39の出力はゲート42に加わり、後
述するアタツク信号ATによりアタツク部全波形
読み出し中のみ該ゲート42が開かれ、加算器4
1に該カウンタ出力が与えられる。加算器41の
他の入力にはスタートアドレス発生回路40から
発生されたNビツトのスタートアドレスデータの
うち最下位8ビツトが入力される。Nビツトのス
タートアドレスデータのうち加算器41には入力
されなかつた最上位N−8ビツトのデータの下位
に加算器41の8ビツト出力データが位置し、両
データによつてアドレスデータMADRの最上位
Nビツトが構成される。カウンタ39のカウント
値はアタツク部全波形の最初の周期から数えた周
期数を示しており、一方、スタートアドレスA0
B0,C0…は波形メモリ14における該アタツク
部全波形の最初の絶対アドレスを示している。従
つて両者を加算することによりアタツク部全波形
の各周期毎の最初の絶対アドレスを特定する(す
なわち個々の1周期波形を指定する)ことができ
る。 アタツクエンド検出回路46はカウンタ38か
ら与えられるキヤリイアウト信号CRYをカウン
トし、アタツク部全波形の読み出しが完了したか
否かを調べるものであり、第8図にその一例が示
されている。 第8図において、アタツク部周期数メモリ47
はアタツク部全波形の周期数を各音色毎に記憶し
たもので、音色選択情報TCに応じて周期数デー
タATNから読み出される。引算器48、ゲート
49、セレクタ50、24ステージ/8ビツトのシ
フトレジスタ51から成るカウンタ52は、アタ
ツク部波形を1周期読み出す毎に周波数のダウン
カウントを行うもので、各チヤンネル別に時分割
で該ダウンカウントを行う。セレクタ50は、キ
ーオンパルスKONPが発生したときメモリ47
から読み出された周期数データATNをB入力を
介して選択し、シフトレジスタ51に取込む。そ
れ以外のときはシフトレジスタ51の最終ステー
ジから引算器48を介してセレクタ50のA入力
に加わるデータが選択され、シフトレジスタ51
に与えられる。第5図の加算器35から出力され
たキヤリイアウト信号CRYがゲート49に入力
される。ゲート49はアタツク信号ATによつて
アタツク中可能化され、キヤリイアウト信号
CRYを引算器48に与える。引算器48では、
キヤリイアウト信号CRYが与えられたときシフ
トレジスタ51の出力データから1減算する。こ
うして、始めはアタツク部全波形の周期数を示す
データがシフトレジスタ51に入り、以後アタツ
ク部波形を1周期読み出す毎に該データが1減算
され、最終的にアタツク部全波形の読み出しが完
了したとき該データがオール“0”となる。 カウンタ52の出力はセレクタ50から取り出
され、オール“0”検出回路520に与えられ
る。オール“0”検出回路520はセレクタ50
から与えられたカウント出力データがオール
“0”か否かを検出し、オール“0”のとき信号
“1”を出力する。この検出回路520の出力信
号は反転アタツク信号として出力され、それ
をインバータ53で反転した信号がアタツク信号
ATとして出力される。従つて、アタツク中はア
タツク信号ATが“1”、反転アタツク信号が
“0”であるが、アタツクが終了すると、反転し
てATが“0”、が“1”となる。遅延回路5
4はクロツクパルスφ2の12倍の周期のクロツク
パルスφ2×12によつて時分割チヤンネルタイミ
ング1サイクル分の信号遅延を設定するものであ
り、アタツク信号ATを遅延してアンド回路55
に与える。アンド回路55の他の入力には反転ア
タツク信号が与えられており、信号が
“0”から“1”に切換わつたときそのチヤンネ
ルに対応する1タイムスロツト(サブチヤンネル
2タイムスロツト分)の間アンド回路55の出力
が“1”となり、それがアタツクエンド信号
ATENDとして出力される。なお、アタツクが終
了するとアタツク信号ATの“0”によりゲート
49が閉じ、それ以上のダウンカウントは行われ
なくなる。従つて、カウンタ52のカウント値は
アタツク時以外ではオール“0”を維持する。第
8図の動作例を1つのチヤンネルに関して示すと
第11図aのようになる。 第5図に戻ると、スタートアドレス発生回路4
0は、音色選択情報TCに応じてスタートアドレ
スの一組を選択し、キーオンパルスKONPに応
じてアタツク部のスタートアドレスを発生し、次
いで、波形切換え指令信号WCHGに応じて各セ
グメント波形のスタートアドレスをランダムな順
序で時間的に切換えて発生するものである。この
ランダム制御は、内包するランダム制御手段20
1によつて行われる。このスタートアドレス発生
回路40の一例は第9図に示されている。 第9図において、スタートアドレスメモリ56
には各音色A,B,C…に対応して複数組のスタ
ートアドレスA0,A1,A2…、B0,B1,B2…、
C0,C1,C2…、(つまり、アタツク部のスタート
アドレスA0,B0,C0…と各セグメント波形のス
タートアドレスA1,A2…、B1,B2…、C1,C2
…)を夫々予め記憶したものであり、音色選択情
報TCに応じて一組のスタートアドレス(例えば
音色Aの場合はA0,A1,A2…)が選択される。 ランダム制御手段201は、乱数データを発生
するランダムデータ発生回路57と、波形切換え
指令信号WCHGが“1”のとき(つまり波形切
換えタイミングのとき)このランダムデータ発生
回路57の出力データを選択するセレクタ58
と、このセレクタ58で選択された乱数データを
各チヤンネルの各サブチヤンネル毎に記憶するシ
フトレジスタ59と、このシフトレジスタ59の
記憶を制御するゲート60とを含んでいる。シフ
トレジスタ59は24ステージであり、クロツクパ
ルスφ1によつてシフト制御される。セレクタ5
8のA入力にはランダムデータ発生回路57から
発生された乱数データRDが与えられ、B入力に
はシフトレジスタ59の出力が与えられる。アタ
ツクエンド信号ATENDと波形切換え指令信号
WCHGがオア回路61に与えられ、その出力が
“1”のときセレクタ58でA入力を選択し、
“0”のときB入力を選択する。セレクタ58の
出力はゲート60に与えられ、ゲート60の出力
はシフトレジスタ59及びスタートアドレスメモ
リ56に与えられる。 スタートアドレスメモリ56は選択された一組
のスタートアドレスデータ(例えばA0,A1,A2
…)をゲート60を介してアドレス入力に与えら
れたデータの値に従つて読み出す。すなわち、ゲ
ート60から与えられるデータの値が「0」のと
きはアタツク部のスタートアドレスA0を読み出
し、「1」のときは第1のセグメント波形SEG1
のスタートアドレスA1を読み出し、「2」のとき
は第2のセグメント波形SEG2のスタートアド
レスA2を読み出す。こうして、スタートアドレ
スメモリ56から読み出したスタートアドレスデ
ータによつて波形メモリ14(第2図)から読み
出すべき波形を指定する。 ランダムデータ発生回路57は、各セグメント
波形の番号に対応する値のデータをランダムに発
生するもので、例えば各音色毎に8個のセグメン
ト波形SEG1〜SEG8があるとすると、「1」〜
「8」の範囲で乱数データRDを発生する。 ゲート60はキーオンパルスKONPを反転し
た信号によつて可能化されるもので、キーオンパ
ルスKONPが発生していないときは常に開かれ
ており、セレクタ58の出力をシフトレジスタ5
9及びスタートアドレスメモリ56に与える。キ
ーオンパルスKONPが発生したチヤンネルタイ
ミングでゲート60が閉じ、該チヤンネルに対応
するシフトレジスタ57の記憶内容がクリアされ
る。 波形切換制御は、各チヤンネル1〜12毎の各
サブチヤンネル別に合計24タイムスロツトで時分
割的に行われる。以下では1つのチヤンネルに関
して動作を説明する。まず、前述の通り、キーオ
ンパルスKONPが発生したときゲート60が閉
じられ、当該チヤンネルに対応するシフトレジス
タ59の2つのステージの内容がオール“0”に
クリアされる。後述のようにアタツク中は波形切
換え指令信号WCHGは発生されず、また、アタ
ツクエンド信号ATENDも“0”であるため、セ
レクタ58は常にB入力を選択する。従つてキー
オンパルスKONPのタイミングでクリアされた
シフトレジスタ59の内容がセレクタ58のB入
力、ゲート60を介してチヤンネルタイミング1
サイクルの時間遅れで同じチヤンネルタイミング
に同期して循環する。従つてゲート60からスタ
ートアドレスメモリ56に与えられるデータの値
は「0」を維持し、これに応じてアタツク部のス
タートアドレス(例えばA0)を示すデータが読
み出される。 アタツクが終了すると、前述の通り第8図のア
タツクエンド検出回路46からアタツクエンド信
号ATENDが当該チヤンネルタイミング(2サブ
チヤンネル分のタイムスロツト)で1度だけ発生
する。これによりセレクタ58ではA入力を介し
て乱数データRDを選択し、シフトレジスタ59
にストアする。この場合、ランダムデータ発生回
路57から発生される乱数データRDの変化タイ
ミングが1チヤンネルタイミングよりも遅けれ
ば、2つのサブチヤンネルに対応して同じ値の乱
数データRDがストアされるが、この乱数データ
RDの変化タイミングがサブチヤンネルタイミン
グに同期していれば、2つのサブチヤンネルに対
応して異なる値の乱数データRDがストアされ
る。これはどちらを採用してもよい。 こうしてアタツク終了後、サブチヤンネル1及
び2に対応してランダムな数値(例えば「1」と
「3」)がセツトされる。これにより、スタートア
ドレスメモリ56からは、各サブチヤンネル1,
2に対応してセツトされた値に対応するセグメン
ト波形のスタートアドレスデータが夫々読み出さ
れる。次に波形切換え指令信号WCHGが与えら
れるまでこの状態が維持される。尚、ゲート60
から出力される1チヤンネル分(2つのサブチヤ
ンネル分)のデータの値の変化の一例が第11図
bに示されている。第11図bの例では、乱数デ
ータRDの変化タイミングがサブチヤンネルタイ
ミングに同期しているものとし、アタツクエンド
信号ATENDの発生時に2つのサブチヤンネルに
対応して異なる値の乱数データRD(例えば「1」
と「3」)が選択され、ストアされる場合につい
て示している。 波形切換え指令信号WCHGは、後述するよう
に1つのチヤンネルに関する2つのサブチヤンネ
ルの一方に対応して交互に切換わつて発生するよ
うになつている。第11図bに示すように最初は
サブチヤンネル1に対応して発生し、次にサブチ
ヤンネル2に対応して発生し、以後交互に切換わ
つて発生する。従つて、第9図の回路では波形切
換え指令信号WCHGに応答する乱数データRDの
選択動作は2つのサブチヤンネルのどちらか一方
に関して行われる。サブチヤンネル1,2の一方
に対応して波形切換え指令信号WCHGが交互に
発生する毎に、セレクタ58のA入力を介してそ
のときの乱数データRDが選択され、そのサブチ
ヤンネルに対応してシフトレジスタ59にストア
される。これにより、スタートアドレスメモリ5
6からは、各サブチヤンネル1,2に対応してシ
フトレジスタ59にストアされたランダムな値に
対応するセグメント波形のスタートアドレスデー
タが夫々に読み出される。こうして、セグメント
波形の切換え順序がランダムに制御される。 次に第10図を参照してクロスフエード制御回
路16について説明する。 計数手段73は重みづけの時間変化を設定する
ための時間関数を発生するためのものであり、第
1のカウンタ73Aと第2のカウンタ73Bとを
含んでいる。両カウンタ73A,73Bは、加算
器74A,74B、ゲート75A,75B、クロ
ツクパルスφ2によつて制御される12ステージの
シフトレジスタ76A,76Bを夫々含んでお
り、シフトレジスタ76A,76Bの出力が加算
器74A,74B、ゲート75A,75Bを介し
て循環し、各チヤンネル別に時分割で計数動作を
行うことが可能である。第1のカウンタ73Aは
セグメント波形の切換え回数をカウントするため
のものである。変化レートメモリ77は上記切換
え回数に応じた変化レートデータを各音色に対応
して予め記憶したものであり、音色選択情報TC
に応じて変化レートデータの一組が選択され、選
択されたデータの中から第1のカウンタ73Aで
カウンタトした切換え回数に応じて1つの変化レ
ートデータDTが読み出される。なお、ゲート7
5Aの出力が第1のカウンタ73Aのカウント出
力として取り出され、メモリ77に入力される。
第1のカウンタ73Aと変化レートメモリ77が
計数レート制御手段に相当する。 第2のカウンタ73Bは、第1の所定値(例え
ば0)から第2の所定値(例えば最大値)までの
カウントを前記メモリ77から読み出された変化
レートデータDTに応じたレートで行うものであ
る。変化レートデータDTが加算器74Bに入力
されており、第2のカウンタ73Bではこのデー
タDTを所定時間間隔でアキユムレートする。ゲ
ート75Bは反転アタツク信号によつてアタ
ツク時以外において可能化される。従つて、アタ
ツク中はカウンタ73Bのカウント内容は“0”
にクリアされており、アタツクが終了するとデー
タDTのカウントを開始する。 第2のカウンタ73Bのカウント出力はゲート
75Bから取り出され、排他オア回路から成る関
数変換回路78に入力される。この関数変換回路
78は、nビツトのカウント出力のうち下位のn
−1ビツトを別々に排他オア回路に入力し、最上
位ビツトMSBを各排他オア回路に共通に入力し、
MSBが“0”のとき下位n−1ビツトをそのま
ま通過するが、“1”のときは下位n−1ビツト
を反転して出力する。こうして、最小値0から最
大値2nまで増加するカウント値を2n-1の位置で折
返し、0から2n-1まで増加し、次いで2n-1から0
まで減少する三角波状の関数に変換する。 関数変換回路78の出力は第2系列(サブチヤ
ンネル2)用の基本の補間関数IPF2として利用
される。反転回路79はこの補間関数IPF2の各
ビツトを夫々反転して逆特性の関数を形成するも
ので、この逆特性の関数を第1系列(サブチヤン
ネル1)用の基本の補間関数IPF1とする。これ
らの補間関数IPF1,IPF2の一例が第11図c
に示されている。尚、アタツク中は第2のカウン
タ73Bの出力が全ビツト“0”であることによ
り関数変換回路78の出力が全ビツト“0”とな
り、第2系列の補間関数IPF2の値が最小値
(0)を維持し、第1系列の補間関数IPF1の値
が最大値を維持する。 セレクタ80は、各補間関数IPF1,IPF2を
各サブチヤンネル1,2のタイミングに対応して
時分割多重化するためのものであり、A入力に
IPF2が加わり、B力入力にIPF1が加わりクロ
ツクパルスφ2が“1”のとき(サブチヤンネル
1のタイムスロツトのとき)B入力のIPF1を選
択し、φ2が“0”のとき(サブチヤンネル2の
タイムスロツトのとき)A入力のIPF2を選択す
る。 切換制御手段81は計数手段73の出力に応じ
て第9図のスタートアドレス発生回路40におけ
る波形切換え動作を制御するものであり、セレク
タ80から出力された補間関数IPF1,IPF2の
値が全ビツト“0”であるか否かを検出するオー
ル“0”検出回路82と、この検出回路82の出
力と反転アタツク信号とを入力したアンド回
路83とを含んでいる。アンド回路83は信号
ATによつてアタツク時以外に可能化され、オー
ル“0”検出回路82の出力信号“1”を波形切
換え指令信号WCHGとして出力する。2つのサ
ブチヤンネルの補間関数IPF1,IPF2のうち負
の傾きで時間的に漸減する一方が全ビツト“0”
になつたとき、そのサブチヤンネルに対応するタ
イミングでオール“0”検出回路82が出力が
“1”となり、これに対応して波形切換え指令信
号WCHGが発生される。両サブチヤンネルの補
間関数IPF1,IPF2の傾きは1補間区間毎に切
換わるので、波形切換え指令信号WCHGは1回
の補間が終了する毎に一方のサブチヤンネルに対
応して交互に切換つて発生する。第11図cの補
間関数IPF1,IPF2に対応する波形切換え指令
信号WCHGの発生例が第11図bに示されてい
る。 セレクタ80から時分割的に出力される補間関
数IPF1,IPF2は時間的にリニアな特性を示し
ているが、補間関数記憶手段に相当するクロスフ
エードカーブメモリ84はこの補間関数を任意の
特性に変換するために設けられたものである。例
えば第12図a〜dに実線で示すような各種の補
間特性カーブ(重みづけ曲線)を各音色に対応し
てメモリ84に予め記憶しておき、このうち1つ
を音色選択情報TC(又は専用スイツチ等による選
択接作)に応じて選択し、選択された補間特性カ
ーブをセレクタ80からの補間関数IPF1,IPF
2をアドレスとして読み出すようになつている。
前述の通り両サブチヤンネルの補間関数IPF1,
IPF2(いわばこれは基本の補間関数である)は
逆特性であるため、メモリ84の読み出し方向が
両サブチヤンネル間では互に逆方向(一方が正方
向のときは他方が逆方向)となり、互に逆特性の
カーブがメモリ84から時分割で読み出されるこ
とになる。例えば、一方のサブチヤンネルに対応
して第12図a〜dに実線で示すような補間特性
カーブが読み出されるとき、他方のサブチヤンネ
ルに対応して同図に破線で示すような補間特性カ
ーブが読み出される。 上述のようにしてメモリ84から時分割的に読
み出された各チヤンネル毎の各サブチヤンネルに
対応する補間特性カーブデータはクロスフエード
カーブデータCFとして第2図の乗算器18に与
えられ、その特性に応じて対応するセグメント波
形データを重みづけ(振幅制御)する。なお、関
数IPF1,IPF2はメモリ84のアドレス信号と
して用いられるので、計数手段73と関数変換回
路78の部分は、メモリ84のためのアドレス発
生手段に相当するものである。 このようにメモリ84を用いたことにより補間
特性を任意の曲線に設定することができる。ま
た、任意の補間特性カーブを互に逆方向に読み出
すことにより2系列の補間特性を得るようにして
いるため、任意の補間特性カーブの設定が可能で
ありながら、結果的に(2系列の補間合成では)
必らずシンメトリカルな補間が行われることにな
り、偏りのない滑らかな補間が行える。因みに第
12図に示された特性について説明すれば、aは
補間の中間点(楽音波形変化の中間点)で音量レ
ベルが大きくなるものであり、bは初めは大きく
波形が変化し、途中は変化が緩やかであり、最後
に再び大きく変化するものである。cは初めと終
わりは波形変化が緩やかであり、中間で大きく変
化するものである。dは揺らぎながら波形が変化
するものである。 第10図に戻り、オール“0”及びオール
“1”検出回路85は波形切換えタイミングに同
期して切換え同期信号CHGSを出力するものであ
り、関数変換回路78の出力すなわち補間関数
IPF2を入力し、その値が全ビツト“0”又は全
ビツト“1”であるかを検出する。第11図cか
ら明らかなように、三角波状に変化する補間関数
IPF2の上の頂点においてその値は全ビツト
“1”であり、下の頂点においてその値は全ビツ
ト“0”であり、それは波形切換えタイミングつ
まり波形切換え指令信号WCHGのタイミングに
対応している。全ビツト“0”のとき又は全ビツ
ト“1”のときに対応して切換え同期信号CHGS
が“1”となる。この信号CHGSは両サブチヤン
ネルのタイムスロツトすなわちクロツクパルス
φ2の1周期に相当する1チヤンネル分のタイム
スロツトにおいて“1”となる。 この信号CHGSは遅延回路86でクロツクパル
スφ2×12に従つて時分割チヤンネルタイミング
1サイクル分だけ遅らされ、ゲート87を介して
カウンタ73Aの加算器74Aに与えられる。加
算器74Aの出力はゲート75Aを介して12ステ
ージのシフトレジスタ76Aに与えられ、時分割
チヤンネルタイミング1サイクル分だけ遅延され
て加算器74Aの入力に戻される。ゲート75は
アタツクエンド信号ATENDを反転した信号によ
つて制御されるもので、アタツクエンド信号
ATENDの発生時のみ瞬時に閉じられ、対応する
チヤンネルに関するシフトレジスタ76Aの記憶
をクリアする。ゲート75Aの出力は前述の通り
変化レートメモリ77に与えられると共にオール
“1”検出回路88に与えられる。オール“1”
検出回路88はカウンタ73Aのカウント値が全
ビツト“1”つまり最大値になつたとき信号
“1”を出力する。この出力をインバータ89で
反転したものがゲート87の制御入力に与えられ
る。 カウンタ73Aのカウンタト値はアタツク中は
最大値を保持しており、ゲート87は閉じられて
いる。アタツクが終了してアタツクエンド信号
ATENDによつてカウント値がクリアされると、
オール“1”検出回路88の出力が“0”とな
り、ゲート87が開かれる。以後、切換え同期信
号CHGSが発生する毎にカウンタ73Aのカウン
ト値が増加し、波形切換え回数がカウントされ
る。そして、カウント値が最大値(オール“1”)
になるとゲート87が閉じ、カウント動作が停止
する。なお、遅延回路86は信号CHGSがカウン
タ73Aに入力されるタイミングをシフトレジス
タ76Aの入出力間の時間遅れ分だけ遅延するた
めに設けられたものである。切換え同期信号
CHGSとカウンタ73Aでカウントした切換え回
数の一例を第11図cに示す。 変化レートメモリ77は、前述の通り、カウン
タ73Aのカウント値に対応して所定の変化レー
トデータDTを読み出す。この変化レートデータ
DTの値によつて第2のカウンタ73Bのカウン
ト値増加率が定まり、補間関数IPF1,IPF2の
傾きが決定され、従つて、1補間区間の時間的長
さ(第1図bのt1,t2,t3,t4…)が決定される。
メモリ77では波形切換え回数に応じて(すなわ
ち各補間区間毎に)任意に変化レートデータDT
を設定することができるので、各補間区間の長さ
t1,t2,t3,t4…は均一ではなく全く任意に設定
できる。なお、第1のカウンタ73Aが一旦最大
値になると、以後それが維持されるので、変化レ
ートメモリ77は最大値に対応する変化レートデ
ータDTを持続的に読み出すようになる。勿論、
第1のカウンタ73Aは他のカウンタと同様に各
チヤンネル毎に時分割でカウント動作を行うの
で、上述の波形切換え回数カウント及び変化レー
トデータDTの読み出しは各チヤンネル毎に時分
割で行われる。 以上説明した実施例では第1図bに示すように
基本の補間関数IPF1,IPF2(メモリ84のア
ドレス信号)が三角波状に変化し、常時2つのセ
グメント波形が重みづけされるようになつている
が、これに限らず、波形切換わりの過渡期でのみ
2波形の重みづけを行うようにしてもよい。 また、上記実施例では補間用の2系列(サブチ
ヤンネル)が時分割処理されているが、これを並
列処理するようにしてもよい。また、第2図では
補間用に重みづけされた2系列の楽音波形信号を
加算器20でデイジタル加算した後D/A変換し
ているが、各系列独立にD/A変換した後混合も
しくは独立発音するようにしてもよい。 また、第2図の波形メモリ14では波形各サン
プル点の振幅値データをそのまま記憶しているも
のとしているが、これに限らず種々の記憶法を採
用してよい。例えば、各サンプル点間の振幅値の
差分値を記憶しておき、これらを読み出した後累
算することにより各サンプル点振幅データを得る
方法、或いは各サンプル点振幅値の実数を仮数部
と指数部に分けて記憶しておき、読み出した後の
演算処理によつて各サンプル点振幅値の実数を得
る方法など、種々のものがある。 なお、上記実施例ではセグメント波形(SEG
1,SEG2,…)として波形1周期分をそのま
ま波形メモリ14に記憶するようにしたが、これ
らに限らず波形の半周期だけを記憶してもよく、
この場合には読み出された半周期波形に対して
正・負の極性を交互に付加して1周期波形とすれ
ばよい。また、波形メモリ14に記憶するセグメ
ント波形は1周期波形に限らず、複数周期(例え
ば2周期)分の波形であつてもよい。 上記実施例では、楽音信号のアタツク部につい
ては、連続する複数周期波形をそのまま波形メモ
リ14に記憶しておき、これをそのまま読み出す
ことにより発生するようにしたが、これに代え
て、アタツク部に関してもこの発明にしたがつて
複数のセグメント波形を波形メモリ14に記憶し
ておき、これをランダムに切換えて読み出すとと
もに、波形切換え時に上述した補間処理を行つて
楽音信号を発生するようにしてもよいことは勿論
である。 第9図において、ランダムデータ発生回路57
で発生する乱数の範囲を音色等に応じて可変する
ようにしてもよい。その場合、ランダムデータ発
生回路57を第13図に示すように構成するとよ
い。このランダムデータ発生回路57は、発生す
る乱数の範囲が設定可能なプログラマブル乱数発
生器62と、この乱数発生器62で発生する乱数
の範囲を指定する乱数範囲指定メモリ6とを含ん
でいる。乱数範囲指定メモリ63は、アドレス入
力に与えられる音色選択情報TCに応じて発生す
べき乱数データの上限値を指定する上限指定デー
タULと下限値を指定する下限指定データLLを読
き出す。プログラマブル乱数発生器62は、与え
られた上限指定データULと下限指定データLLの
範囲内で乱数データRDを発生する。例えば、プ
ログラマブル乱数発生器62は、発生すべき乱数
範囲が最大範囲に固定された固定乱数発生器64
と、比較器65及びラツチ回路66を含んでい
る。固定乱数発生器64は、かなり速に変化タイ
ミングで乱数データRD′を発生する。比較器65
は上限指定データUL及び下限指定データLLとこ
の乱数データRD′とを比較し、LL≦RD′≦ULが
成立したとき信号“1”を出力する。ラツチ回路
66は比較器65から信号“1”が与えられたと
き固定乱数発生器64から発生された乱数データ
RD′をラツチする。こうして、ラツチ回路66に
は、上限及び下限指定データUL,LLの範囲内の
乱数データRD′だけが選択的にラツチされ、これ
が乱数データRDとして出力され、第9図のセレ
クタ58のA入力に与えられる。 なお、音色選択情報TCに限らず、鍵タツチ検
出情報、発生すべき楽音の音高または音域、ある
いは演奏者による操作子制御などに応じて乱数の
範囲を可変設定するようにしてもよい。その場合
は、破線で示すように、鍵タツチデータ、音高デ
ータ、あるいは操作子からの制御データ等を乱数
範囲指定メモリ63にアドレス入力するようにす
ればよい。 第13図のランダムデータ発生回路57を更に
第14図のように変更して、楽音の発音開始時か
らの時間経過に従つて指定すべき乱数の範囲を切
換えるようにしてもよい。クロツクパルスφ1
よつてシフト制御される24ステージのシフトレジ
スタ67、加算器68、ゲート69から成る回路
は、波形切換え指令信号WCHGを各チヤンネル
のサブチヤンネル毎に個別にカウントするための
カウンタであり、キーオンパルスKONPの発生
時にゲート69を閉じてそのカウント内容をクリ
アし、以後、信号WCHGが発生される毎に1カ
ウントアツプされる構成である。ゲート69から
出力されるカウントデータCTが乱数範囲指定メ
モリ63のアドレス入力に与えられる。乱数範囲
指定メモリ63では、カウントデータCTの値に
応じて異なる乱数範囲を指定する上限及び下限指
定データUL,LLを出力する。カウントデータ
CTの値とメモリ63から出力されるデータUL,
LLとの関係の一例を示すと、次表のようである。
[Industrial Application Field] The present invention relates to a musical tone signal generating device, and in particular to a musical tone signal generating device that generates a musical tone signal whose spectral components change over time by randomly switching and generating a plurality of different musical sound waveforms. Regarding the generator. [Prior Art] Japanese Patent Application Laid-Open No. 58-95790 discloses a musical tone signal generation method that can generate a musical tone signal whose spectral components change over time by sequentially switching and reading out a plurality of different musical waveforms stored in a waveform memory. An apparatus is disclosed. In this case, the tone waveform to be read from the waveform memory is switched when the same tone waveform is repeatedly read out for a predetermined number of cycles. Therefore, the switching interval of musical waveforms is always fixed at a predetermined number of cycles,
The disadvantage is that the switching interval of the musical sound waveform varies depending on the frequency of the musical tone to be generated, and the time required for interpolation also varies accordingly. In order to eliminate such drawbacks, a patent application filed in 1983-
No. 2667 discloses that the waveform switching is performed according to a predetermined time function, thereby making it possible to control the switching of musical sound waveforms without being influenced by the frequency of the musical sound to be generated. There is. However, in any of the above patent applications,
The switching order of musical sound waveforms is fixed in advance for each tone, and cannot be changed randomly. [Problem to be solved by the invention] However, when we think about the temporal change in timbre in natural musical instruments, we find that the timbre does not always change in the same pattern over time each time it is pronounced, but rather differs for each occasion when it is produced. Often shows change. However, in the technology disclosed in the prior application as described above, since the switching order of musical waveforms was fixed, it was only possible to realize temporal changes in timbre using the same pattern at all times, and there was a limit. This invention was made in view of the above points,
To provide a musical tone signal generating device which imparts randomness to the temporal variation of timbre and can realize temporal variation of timbre in a manner similar to the temporal variation of timbre in a natural musical instrument. [Means for Solving the Problems] The musical tone signal generating device of the present invention includes a waveform storage means that stores waveform data of a plurality of different musical sound waveforms, and a predetermined waveform signal generation device that stores waveform data of a plurality of different musical sound waveforms, and a predetermined signal from the waveform storage means according to the musical tone frequency to be generated. A device comprising a readout means for reading out waveform data of a musical tone waveform, and a waveform switching control means for temporally switching the musical waveform to be read from the waveform storage means, wherein the order in which the musical tone waveforms are switched by the waveform switching control means is random. It is characterized by comprising random control means for controlling. Further, the present invention is not limited to a system in which a musical tone signal is formed by reading out a musical sound waveform stored in a waveform storage means, but can also be applied to a system in which a musical tone signal is formed using parameters. . That is, the musical tone signal generating device according to the second aspect of the invention generates a musical tone signal that generates a musical sound waveform having a shape determined by parameters, and also forms the musical sound waveform in accordance with a phase specified by phase data. a waveform forming means; a parameter storage means storing the parameters for determining the shape of each musical sound waveform with respect to a plurality of different musical sound waveforms; phase data generation means to be applied to the tone waveform forming means, and temporally switching and specifying the tone waveform to be formed by the tone waveform forming means;
waveform switching control means for reading out the parameters corresponding to a designated musical sound waveform from the parameter storage means and applying them to the musical sound waveform forming means, the waveform switching control means randomly controlling the switching order of the musical sound waveforms. The invention is characterized in that it includes a random control means to [Operation] The random control means randomly controls the switching order of musical sound waveforms. Therefore, even if the same timbre is selected, the manner in which the timbre changes over time will vary randomly for each pronunciation opportunity. This makes it possible to realize temporal changes in timbre in a manner similar to the temporal changes in timbre in natural musical instruments. [Embodiment] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the embodiment described below, in order to smoothly switch the tone waveform, the tone waveform signal is generated in two streams, and one stream generates the tone waveform signal before switching. Then, the other series generates the musical waveform signal after switching, and crossfades the amplitude envelopes of both with opposite characteristics (in other words, the envelope of the musical waveform before switching has a damping characteristic, and the envelope of the musical waveform after switching has a rising characteristic). (intersect as). Although the present invention is not limited to those that perform such cross-fade control, one embodiment will be described below assuming that such cross-fade control is performed. First, the principle of musical tone signal generation employed in the embodiment described below will be explained with reference to FIG. In FIG. 1a, for convenience, a musical sound waveform that should be prepared in advance in the waveform memory is schematically shown using only an amplitude envelope. In this embodiment, it is assumed that the tone waveform of a predetermined period (attack portion) from the start of sound generation is a continuous multiple period waveform that is directly sampled and stored in a waveform memory. Regarding the entire sound generation period after the attack portion, one cycle of a plurality of different tone waveforms is discretely sampled during the period, and each period is stored in a waveform memory. In Figure 1a, each one-period waveform sampled discretely in this way is labeled SEG1~
For convenience, these are referred to as segment waveforms. The basic method of reading out waveforms from the waveform memory in which waveforms are stored as described above is to first read out all the waveforms of the attack section continuously, and then read out the segment waveform SEG1 at a certain timing according to a waveform switching command as described later. ~SEG5 is selected at random, and one cycle of the selected segment waveform is repeatedly read out. For example, after reading out the attack waveform, a certain segment waveform SEG1 is repeatedly read out for a certain period of time, then another segment waveform SEG3 is switched to and read out repeatedly, and thereafter the segment waveforms are switched in a random order. When switching segment waveforms, interpolation techniques are used to provide a smooth transition from a preceding waveform to the next waveform. In that case, in addition to the basic reading method described above, at least the preceding segment waveform and the following segment waveform are read out in the interval where interpolation is to be performed, and both are weighted respectively according to an appropriate interpolation function. . As an example, the entire switching interval of segment waveforms corresponds to the interpolation interval, and a certain segment waveform
When reading out SEG1, the next segment waveform SEG3 is also read out, and at the next switching, both segment waveform SEG3 and the next segment waveform SEG5 are read out. read out together. An example of an interpolation function is shown in FIG. 1b. The solid line indicates the interpolation function IPF1 for the first series,
The broken line indicates the interpolation function IPF2 for the second series. 1st
The series corresponds to one of the two segment waveforms read out for interpolation as described above, and the second series corresponds to the other.
These interpolation functions IPF1 and IPF2 indicate the amount of weighting of the waveform amplitude of each series, and the minimum value is zero (indicating that the waveform is not output). In the attack part that does not perform interpolation, the first series of interpolation functions
Keep IPF1 at maximum value and use the second series interpolation function
Keep IPF2 at minimum value. After the attack portion ends, each of the interpolation functions IPF1 and IPF2 changes over time with predetermined characteristics during a period in which segment waveforms SEG1 to SEG5 are to be interpolated. Both interpolation functions
IPF1 and IPF2 change with opposite characteristics to each other, so that when the weighting of one series gradually decreases, the weighting of the other series gradually increases, thereby achieving a smooth waveform transition. In Figure 1b, the interpolation function IPF1,
Although IPF2 shows linear interpolation characteristics, it is of course not limited to this. t 1 , t 2 , t 3 , and t 4 each indicate a separate interpolation interval, and the interpolation function of each series is changed each time the interpolation interval is switched.
The slopes of IPF1 and IPF2 are switched alternately. In the interpolation interval t1 , interpolation is performed to smoothly transition from the segment waveform SEG1 to SEG3. In this case, segment waveform SEG1
is repeatedly read out in the first series, and segment waveform SEG3 is repeatedly read out in the second series. Then, while the first series interpolation function IPF1 gradually decreases from the maximum value, the second series interpolation function IPF
2 gradually increases from the minimum value. The multi-period waveform signal of the segment waveform SEG1 repeatedly read out in the first series is weighted (amplitude controlled) by this interpolation function IPF1, and is repeatedly read out in the second series by the interpolation function IPF2. segment waveform
The multi-period waveform signal of SEG3 is weighted.
By mixing the waveform signals of both series weighted with opposite characteristics in this way, the segment waveform
A musical tone signal whose waveform changes smoothly over time from SEG1 to segment waveform SEG3 is obtained. In the next interpolation section t2 , interpolation is performed to smoothly transition from the segment waveform SEG3 to SEG5.
In this case, the segment waveform SEG3 is read out repeatedly in the second series following the previous time, and on the other hand,
In the first series, the segment waveform is from SEG1 to SEG
5 and this is read out repeatedly. Then, the slopes of the interpolation functions IPF1 and IPF2 are respectively switched to the opposite direction from the previous time. In the other interpolation intervals t 3 and t 4 , the segment waveform of one series is switched as well as the interpolation function IPF as described above.
1. The slope of IPF2 switches to the opposite direction. Figure 1b
The numbers of segment waveforms SEG1 to SEG5 used in each series in each interpolation interval t1 to t4 are also written. FIG. 2 shows an embodiment of an electronic musical instrument to which the musical tone signal generating device according to the present invention is applied.
In this electronic musical instrument, musical tone signals are generated according to the musical tone signal generation principle as described above with reference to FIG. In FIG. 2, a keyboard 10 includes a number of keys for specifying the pitch of musical tones to be generated. The key assigner 11 detects the press or release of each key,
A process of assigning a pressed key to one of a plurality of musical tone generation channels is performed. As an example, the maximum number of notes that can be produced simultaneously is 12, and the key assigner 11 assigns a pressed key to any of the 12 channels. a key code KC that identifies the key assigned to each channel;
The key-on signal KON, which indicates whether or not the key press continues, and the key-on pulse KONP, which is instantaneously generated when the key press starts, are sent to the key assigner in a time-sharing manner for each channel according to predetermined time-sharing timing. It is output from 11. An example of time division channel timing is shown in FIG. 3. Each channel timing 1~
12 is formed in synchronization with clock pulse φ2 .
Two subchannel timings 1 and 2 are formed by dividing the time slot of each channel timing into two in synchronization with a clock pulse φ1 having twice the frequency of the clock pulse φ2. These subchannel timings 1 and 2 correspond to the first and second sequences in the interpolation described above. That is, in this embodiment, the time slot of one channel is divided into two, and the segment waveforms of the first series (subchannel 1) and the second series (subchannel 2) for interpolation are read out in a time-division manner.
CH1 to CH12 are channel timing signals, which are generated corresponding to channel timings 1 to 12, respectively. Each clock pulse φ 1 , φ 2 and signal
CH1 to CH12 are generated from the timing signal generator 12 and supplied to predetermined circuits in the electronic musical instrument shown in FIG. 2, respectively. The phase generator 13 specifies the musical sound waveform to be read out from the waveform memory 14 and reads out this musical sound waveform according to the musical sound frequency to be generated. A total of 24 time slots are generated in a time-division manner for each subchannel 1 to 12 of subchannels 1 and 2. The phase generator 13 receives the key code KC key-on pulse from the key assigner 11.
KONP, key-on signal KON is given,
These specify the musical tone frequency to be generated and the start timing of sound generation. The waveform memory 14 stores a plurality of sets of the above-mentioned attack section full waveform and a plurality of segment waveforms corresponding to each timbre. Specifically, as is well known, each waveform is divided into a plurality of sample points, and the waveform data corresponding to each sample point (for example, waveform amplitude data of the sample point) is stored. An example of the memory map in this waveform memory 14 is shown schematically in FIG. Regarding timbre A, waveform data of all waveforms of the attack section are stored in the address range from address A 0 to A 1 -1, and from address A 1
The waveform data for one period of the first segment waveform SEG1 is stored in the address range from A 2 -1,
Below, each segment waveform in the specified address range
SEG2, SEG3, etc. are stored sequentially. The same applies to the other tones B, C, and so on. A 0 , A 1 , A 2 ..., B 0 , B 1 , B 2 ..., C 0 , C 1 , C 2 written in the figure
... is the start address of each address range,
A 0 , B 0 , C 0 ... are the start addresses of the attack section,
A 1 , B 1 , C 1 . . . are the start addresses of the first segment waveform SEG1, and A 2 , B 2 , C 2 . . . are the start addresses of the second segment waveform SEG2.
As an example, one period waveform is sampled at 256 sample points, and the maximum number of periods of the entire attack portion waveform is 256 periods. As shown in the figure, the number of cycles of the entire waveform of the attack section differs depending on the tone. It should be noted that each sample point within one period (256 in total) can be expressed by just an 8-bit binary code. Therefore, each sample point within this one cycle is specified by the lowest 8 bits of address data MADR, and each start address A 1 , A 2
. . , B 1 , B 2 . . ., C 1 , C 2 . Returning to FIG. 2, the timbre selection circuit 15 outputs timbre selection information TC and supplies it to the phase generator 13, waveform memory 14, crossfade control circuit 16, and envelope generator 17. The crossfade control circuit 16 is for generating an interpolation function for weighting musical waveform signals of two series (subchannels) related to the same sounding channel with opposite characteristics. Corresponding to the configuration of the present invention, the waveform switching control means 200 that functions to temporally switch the segment waveform to be read from the waveform memory 14 corresponds to the crossfade control circuit 16 and the phase generator 13 block. A part that includes some circuits included in the phase generator 13 and functions as a random control means 201 that randomly controls the switching order of segment waveforms by the waveform switching control means 200 is included in the block of the phase generator 13. ing. Also included in the block of phase generator 13 is readout means 28 . An attack end signal ATEND indicating that reading of all waveforms of the attack section has been completed and an inverted attack signal indicating that reading of the attack section is not being performed are applied from the phase generator 13 to the crossfade control circuit 16. When the crossfade control circuit 16 confirms that the waveform readout of the attack section is completed based on these signals, it starts generating a predetermined interpolation function. The interpolation function is output from the circuit 16 as crossfade curve data CF, and is applied to a multiplier 18 for weighting calculation. Also, the waveform switching command signal WCHG is applied to circuit 1.
6 and is applied to the phase generator 13. The multiplier 18 for weighting calculation and the adder 20 which adds the output of the multiplier 18 to a signal delayed by one period of clock pulse φ 1 in the delay circuit 19 and a signal not delayed are part of the interpolation means. be. Musical waveform data is read out in a time-division manner from the waveform memory 14 in accordance with each sub-channel timing for each channel, and similarly, musical waveform data is read out in a time-division manner in synchronization with each sub-channel timing for each channel from the crossfade control circuit 16. The crossfade curve data CF is read out. Therefore, multiplier 1
In step 8, the musical waveforms read out in a time-division manner corresponding to each subchannel of each channel are respectively weighted according to the corresponding crossfade curve data CF (ie, interpolation function). 1
An adder 20 adds weighted musical waveform data of two subchannels regarding one musical tone generation channel. That is, when the tone waveform signal of the first subchannel is delayed and inputted from the delay circuit 19 to the adder 20, the tone waveform data of the second subchannel of the same channel is inputted to the adder 20.
It is designed to join the other inputs of 0. Thus, the time slot of one channel (time slot corresponding to one period of clock pulse φ2 )
In the latter half of the process, the two weighted tone waveform data for that channel are mixed. The envelope generator 17 is connected to the key assigner 11
An amplitude envelope waveform signal is generated for each channel in a time-division manner according to the key-on signal KON and the key-on pulse KONP given from the channel. This envelope waveform maintains a constant level while the key is being pressed, and exhibits a decay envelope characteristic in response to the key being released. Since all the waveforms of the attack part stored in the waveform memory 14 have been given attack envelope characteristics in advance, there is no need for the envelope generator 17 to give them attack envelope characteristics. The outputs of the adder 20 and the envelope generator 17 are input to a multiplier 21, and amplitude envelopes corresponding to key presses and key releases are applied to the musical waveform data of each channel in a time-division manner. The output of the multiplier 21 is sent to latch circuits 22-1 to 22- which are provided in parallel corresponding to each channel.
12 data inputs. Each latch circuit 2
The latch control inputs L from 2-1 to 22-12 include
Channel timing signal CH1 corresponding to each
~AND circuits 23-1 to 23 that perform AND logic between CH12 and the inverted signal φ2 of clock pulse φ2
-12 outputs are given respectively. In this manner, the output of the multiplier 21 is latched into the corresponding latch circuits 22-1 to 22-12 in the latter half of the time-division time slots of each channel. As mentioned above, the adder 20 adds the two weighted tone waveform data for each channel in the latter half time slot of each channel timing 1 to 12 (timing of subchannel 2), so the summation result corresponds to the summation result. The data is latched in each latch circuit 22-1 to 22-12. In this way, the time division of the tone waveform data of each channel is canceled. The outputs of the latch circuits 22-1 to 22-12 are input to the latch circuits 24-1 to 24-12.
Pitch synchronization pulses PSP1 to PSP12 outputted from the phase generator 13 are applied to the latch control inputs L of each of the latch circuits 24-1 to 24-12. The pitch synchronization pulses PSP1 to PSP12 are pulses synchronized with the frequencies of musical tones assigned to each channel, and by latching the musical waveform data accordingly, aharmonic clock components are removed. Each latch circuit 24-1 to 24-
The outputs of 12 are given to an adder 25 and summed, and then converted to an analog signal by a digital/analog converter 26 and sent to a sound system 27. Next, details of each part in FIG. 2 will be explained. FIG. 5 shows an example of the phase generator 13.
A portion indicated by the reference numeral 28 corresponds to a reading means for repeatedly reading one cycle of waveform data. The key code KC of each channel given in a time-sharing manner from the key assigner 11 is set in the latch circuit 29.
latch circuits 29-1 to 29-12 corresponding to each channel according to channel timing signals CH1 to CH12.
are respectively latched. The variable oscillators 30-1 to 30-12 provided independently for each channel are
Latch circuits 29-1 to 29-1 corresponding to each
Note clock pulses NC1 to NC12 corresponding to the musical tone frequencies of the pressed keys assigned to each channel are generated in accordance with the key code KC given from 2. Note clock pulse NC1~NC12
is applied to a time division control circuit 31, sampled and multiplexed in a time division manner according to channel timing signals CH1 to CH12, and a time division multiplexed output is taken out via a line 32. An example of the time division control circuit 31 is as shown in FIG.
Note clock pulses NC1 to NC12 of each channel are input to set input S 3-12, respectively. The outputs Q of the flip-flops 33-1 to 33-12 and channel timing signals CH1 to CH12 are input to the AND circuits 34-1 to 34-12, respectively, and the outputs are multiplexed by the OR circuit 350 and guided to the line 32. At the same time, they are returned to the reset inputs R of the corresponding flip-flops 33-1 to 33-12. Further, the outputs Q of the flip-flops 33-1 to 33-12 are outputted as pitch synchronizing pulses PSP1 to PSP12, and are applied to the latch circuits 24-1 to 24-12 in FIG. 2 as described above. Flip-flops 33-1 to 33
-12 is set at the rising edge of the signal at the set input S, and reset at the falling edge of the signal at the reset input R. FIG. 7 shows an example of input/output signals of each part in FIG. 6. As is clear from the figure, note clock pulses NC1 to NC12 of keys assigned to each channel are asynchronous to the channel timing, and these pulses NC1 to NC12 are asynchronous to the channel timing.
At the rising edge of NC12, flip-flops 33-1 to 33-12 are set to enable the corresponding AND circuits 34-1 to 34-12, and then corresponding to the first channel timing signals CH1 to CH12, the AND circuits 34-1 to 34-12 are enabled. 1 to 34-12, and the flip-flops 33-1 to 33-12 are reset at the falling edge of this output pulse. Then, the notebook clock pulse NC
A new note clock pulse synchronized with the channel timing signals CH1 to CH12 at the same frequency as those of CH1 to NC12 is applied to each AND circuit 34-1 to 34-.
Obtained from 12. In this way, a note clock pulse corresponding to the musical tone frequency of the key assigned to each channel (an integral multiple thereof) is outputted to the line 32 in accordance with the time division timing of the corresponding channel. Returning to FIG. 5, the note clock pulses of each channel applied to the line 32 are input to a counter 38 consisting of an adder 35, a gate 36, and a shift register 37, and the number of pulses is counted in a time-division manner for each channel. Ru. shift register 37
has 24 stages/8 bits, and is shift-controlled by a clock pulse φ1 synchronized with the subchannel timing. The output of shift register 37 is provided to adder 35 and summed with the note clock pulse on line 32. The addition output is stored in shift register 37 via gate 36. The 24 stages of the shift register 37 correspond to 2 subchannels of each of the 12 channels.
Count values for one channel are stored in two stages (corresponding to two subchannels), respectively. The gate 36 is instantaneously closed by the key-on pulse KONP just before the start of sound generation, and the memory of two corresponding stages in the shift register 37 is cleared. Since the shift register 37 has a capacity of 8 bits per stage, the counter 38 has a modulus
256 counts are performed in time division for 24 channels (actually 12 channels). The output of the gate 36 is taken out as the count output of the counter 38, and is applied to the waveform memory 14 as the lowest 8 bits of the address data MADR. By the count output of the counter 38, each sample point of a one-period waveform consisting of 256 sample points can be sequentially read out. Count is notebook clock pulse NC
1 to NC12, the reading is performed in accordance with the musical tone frequency to be generated. The address data MADR for reading the waveform memory 14 is N+8 bits (however, N>8),
As described above, the lowest 8 bits sequentially designate sample points within one cycle of the waveform, and the upper N bits designate one cycle of the waveform. The upper N bits of address data for specifying the waveform are given from the start address generation circuit 40 via the adder 41. The start address generating circuit 40 generates the start addresses A 0 , B 0 , C 0 . . . for all waveforms of the attack section mentioned above and the start addresses A 1 , A 2 . . . for each segment waveform. An attack section period number counter 39 is provided to specify each one-cycle waveform within the entire attack section waveform, and the output of this counter 39 and the attack section start addresses A 0 , B 0 , C 0 . . . An adder 41 is provided to specify the absolute address of each one-cycle waveform in the entire waveform of the attack section by adding and synthesizing the waveforms. The hardware configuration of the attack part period number counter 39 is the same as that of the counter 38 described above, and the adder 43,
It includes a gate 44 and a shift register 45.
This counter 39 counts the carry-out signal CRY from the most significant bit of the adder 35 in a time-division manner for each channel. This carry-out signal CRY is generated every time a certain channel of the counter 38 counts 256 note clock pulses (that is, every time one cycle of the waveform is read), and by counting this, the number of cycles of the attack section can be counted. can do. The output of the counter 39 is applied to a gate 42, and the gate 42 is opened only during reading of all waveforms in the attack section by an attack signal AT, which will be described later.
1 is given the counter output. The lowest 8 bits of the N-bit start address data generated by the start address generation circuit 40 are input to the other input of the adder 41. Of the N-bit start address data, the 8-bit output data of the adder 41 is located below the most significant N-8 bits of data that were not input to the adder 41, and both data are used to determine the most significant address data MADR. The upper N bits are configured. The count value of the counter 39 indicates the number of cycles counted from the first cycle of the entire waveform of the attack section, and on the other hand, the start address A 0 ,
B 0 , C 0 . . . indicate the first absolute addresses of all waveforms in the attack portion in the waveform memory 14. Therefore, by adding the two, it is possible to specify the first absolute address for each period of the entire waveform of the attack section (that is, specify each one-period waveform). The attack end detection circuit 46 counts the carryout signal CRY given from the counter 38 and checks whether reading of all waveforms of the attack portion has been completed, an example of which is shown in FIG. In FIG. 8, the attack section period number memory 47
The number of cycles of the entire waveform of the attack section is stored for each timbre, and is read out from the number of cycles data ATN in accordance with the timbre selection information TC. The counter 52, which consists of a subtracter 48, a gate 49, a selector 50, and a 24-stage/8-bit shift register 51, counts down the frequency every time the attack waveform is read out for one cycle, and counts down the frequency on a time-division basis for each channel. Perform the down count. The selector 50 selects the memory 47 when the key-on pulse KONP occurs.
The cycle number data ATN read out from the input signal ATN is selected via the B input and taken into the shift register 51. At other times, the data added to the A input of the selector 50 is selected from the final stage of the shift register 51 via the subtracter 48, and the data added to the A input of the selector 50 is selected from the final stage of the shift register 51
given to. A carry-out signal CRY output from adder 35 in FIG. 5 is input to gate 49. Gate 49 is enabled during attack by attack signal AT and carry out signal
Give CRY to the subtractor 48. In the subtractor 48,
When the carry-out signal CRY is applied, 1 is subtracted from the output data of the shift register 51. In this way, data indicating the number of cycles of the entire attack section waveform is initially entered into the shift register 51, and from then on, the data is subtracted by 1 each time one cycle of the attack section waveform is read, and finally reading of the entire attack section waveform is completed. When the data is all "0". The output of the counter 52 is taken out from the selector 50 and applied to an all "0" detection circuit 520. The all “0” detection circuit 520 is the selector 50
It detects whether the count output data given from is all "0" or not, and outputs a signal "1" when all "0". The output signal of this detection circuit 520 is output as an inverted attack signal, and the signal inverted by the inverter 53 is the attack signal.
Output as AT. Therefore, during the attack, the attack signal AT is "1" and the inverted attack signal is "0", but when the attack is completed, the AT is inverted and becomes "0" and becomes "1". Delay circuit 5
4 sets a signal delay of one cycle of time-division channel timing using a clock pulse φ 2 × 12 having a period 12 times that of the clock pulse φ 2, and delays the attack signal AT to output the AND circuit 55.
give to An inverted attack signal is given to the other input of the AND circuit 55, and when the signal switches from "0" to "1", it is activated during one time slot (two subchannel time slots) corresponding to that channel. The output of the AND circuit 55 becomes “1”, which is the attack end signal.
Output as ATEND. Note that when the attack is completed, the gate 49 is closed due to the attack signal AT being "0", and no further down-counting is performed. Therefore, the count value of the counter 52 maintains all "0" except at the time of attack. The example of the operation shown in FIG. 8 for one channel is shown in FIG. 11a. Returning to FIG. 5, start address generation circuit 4
0 selects a set of start addresses in response to tone selection information TC, generates a start address for the attack section in response to key-on pulse KONP, and then generates a start address for each segment waveform in response to waveform switching command signal WCHG. It is generated by switching over time in a random order. This random control is carried out by the included random control means 20.
1. An example of this start address generation circuit 40 is shown in FIG. In FIG. 9, the start address memory 56
There are multiple sets of start addresses A 0 , A 1 , A 2 ..., B 0 , B 1 , B 2 ... , corresponding to each tone A, B , C...,
C 0 , C 1 , C 2 ..., (that is, the start address A 0 , B 0 , C 0 ... of the attack part and the start address A 1 , A 2 ..., B 1 , B 2 ..., C 1 of each segment waveform) ,C 2
...) are stored in advance, and a set of start addresses (for example, A 0 , A 1 , A 2 . . . for timbre A) are selected according to the timbre selection information TC. The random control means 201 includes a random data generation circuit 57 that generates random number data, and a selector that selects output data of the random data generation circuit 57 when the waveform switching command signal WCHG is "1" (that is, at the waveform switching timing). 58
, a shift register 59 for storing the random number data selected by the selector 58 for each subchannel of each channel, and a gate 60 for controlling the storage of the shift register 59. Shift register 59 has 24 stages and is shift controlled by clock pulse φ1 . selector 5
Random number data RD generated from the random data generation circuit 57 is given to the A input of 8, and the output of the shift register 59 is given to the B input. Attack end signal ATEND and waveform switching command signal
When WCHG is applied to the OR circuit 61 and its output is "1", the selector 58 selects the A input,
When it is “0”, the B input is selected. The output of selector 58 is applied to gate 60, and the output of gate 60 is applied to shift register 59 and start address memory 56. The start address memory 56 stores a selected set of start address data (for example, A 0 , A 1 , A 2
...) is read out via the gate 60 according to the value of the data applied to the address input. That is, when the value of the data given from the gate 60 is "0", the start address A0 of the attack section is read out, and when it is "1", the first segment waveform SEG1 is read out.
The start address A1 of the second segment waveform SEG2 is read out, and when it is "2", the start address A2 of the second segment waveform SEG2 is read out. In this way, the start address data read out from the start address memory 56 specifies the waveform to be read out from the waveform memory 14 (FIG. 2). The random data generation circuit 57 randomly generates data of a value corresponding to the number of each segment waveform. For example, if there are eight segment waveforms SEG1 to SEG8 for each tone, the data of values "1" to "SEG8" are generated for each timbre.
Generate random number data RD within the range of "8". The gate 60 is enabled by a signal obtained by inverting the key-on pulse KONP, and is always open when the key-on pulse KONP is not generated.
9 and the start address memory 56. The gate 60 closes at the channel timing when the key-on pulse KONP is generated, and the stored contents of the shift register 57 corresponding to the channel are cleared. The waveform switching control is performed in a time-division manner in a total of 24 time slots for each subchannel of channels 1 to 12. The operation for one channel will be described below. First, as described above, when the key-on pulse KONP is generated, the gate 60 is closed, and the contents of the two stages of the shift register 59 corresponding to the channel are all cleared to "0". As will be described later, the waveform switching command signal WCHG is not generated during the attack, and the attack end signal ATEND is also "0", so the selector 58 always selects the B input. Therefore, the contents of the shift register 59 cleared at the timing of the key-on pulse KONP are transferred to the B input of the selector 58 and the channel timing 1 via the gate 60.
Cycles in synchronization with the same channel timing with a cycle time delay. Therefore, the value of the data applied from the gate 60 to the start address memory 56 remains "0", and in response, data indicating the start address (for example, A 0 ) of the attack section is read out. When the attack is completed, the attack end signal ATEND is generated from the attack end detection circuit 46 of FIG. 8 only once at the channel timing (time slot for two subchannels) as described above. As a result, the selector 58 selects the random number data RD via the A input, and the shift register 59 selects the random number data RD.
Store in. In this case, if the change timing of the random number data RD generated from the random data generation circuit 57 is later than the one channel timing, random number data RD of the same value is stored corresponding to the two subchannels, but this random number data
If the change timing of RD is synchronized with the subchannel timing, random number data RD of different values are stored corresponding to the two subchannels. Either one can be used. After the attack is completed, random numbers (for example, "1" and "3") are set corresponding to subchannels 1 and 2. As a result, from the start address memory 56, each subchannel 1,
The start address data of the segment waveforms corresponding to the values set corresponding to 2 are respectively read out. This state is maintained until the next waveform switching command signal WCHG is applied. Furthermore, gate 60
FIG. 11b shows an example of a change in the value of data for one channel (two subchannels) outputted from the subchannel. In the example shown in FIG. 11b, it is assumed that the change timing of the random number data RD is synchronized with the subchannel timing, and when the attack end signal ATEND is generated, random number data RD of different values (for example, "1 ”
and "3") are selected and stored. The waveform switching command signal WCHG is generated by being alternately switched in correspondence to one of two subchannels related to one channel, as will be described later. As shown in FIG. 11b, first, it occurs corresponding to subchannel 1, then it occurs corresponding to subchannel 2, and thereafter, it occurs alternately. Therefore, in the circuit shown in FIG. 9, the random number data RD selection operation in response to the waveform switching command signal WCHG is performed for one of the two subchannels. Every time the waveform switching command signal WCHG is generated alternately corresponding to one of subchannels 1 and 2, the random number data RD at that time is selected via the A input of the selector 58, and shifted corresponding to that subchannel. Stored in register 59. As a result, the start address memory 5
Starting address data of the segment waveform corresponding to the random value stored in the shift register 59 corresponding to each subchannel 1 and 2 is read from 6 and 6, respectively. In this way, the switching order of segment waveforms is randomly controlled. Next, the crossfade control circuit 16 will be explained with reference to FIG. The counting means 73 is for generating a time function for setting a time change in weighting, and includes a first counter 73A and a second counter 73B. Both counters 73A, 73B include adders 74A, 74B, gates 75A, 75B, and 12-stage shift registers 76A, 76B controlled by clock pulse φ 2 , respectively, and the outputs of shift registers 76A, 76B are added together. It is possible to perform a counting operation on a time-division basis for each channel by circulating through circuits 74A, 74B and gates 75A, 75B. The first counter 73A is for counting the number of times segment waveforms are switched. The change rate memory 77 stores change rate data corresponding to the number of times of switching in advance for each tone, and contains tone selection information TC.
One set of change rate data is selected according to the change rate data, and one change rate data DT is read out from the selected data according to the number of switchings counted by the first counter 73A. In addition, gate 7
The output of 5A is taken out as the count output of the first counter 73A and input to the memory 77.
The first counter 73A and the change rate memory 77 correspond to counting rate control means. The second counter 73B counts from a first predetermined value (for example, 0) to a second predetermined value (for example, the maximum value) at a rate according to the change rate data DT read from the memory 77. It is. Change rate data DT is input to adder 74B, and second counter 73B accumulates this data DT at predetermined time intervals. Gate 75B is enabled at non-attack times by the inverted attack signal. Therefore, the count content of the counter 73B is "0" during the attack.
is cleared, and starts counting the data DT when the attack ends. The count output of the second counter 73B is taken out from the gate 75B and input to a function conversion circuit 78 consisting of an exclusive OR circuit. This function conversion circuit 78 converts the lower n bits of the n-bit count output.
-1 bit is input to the exclusive OR circuit separately, the most significant bit MSB is input commonly to each exclusive OR circuit,
When the MSB is "0", the lower n-1 bits are passed through as is, but when it is "1", the lower n-1 bits are inverted and output. In this way, the count value increases from the minimum value 0 to the maximum value 2n , turns around at the 2n -1 position, increases from 0 to 2n -1 , and then from 2n -1 to 0.
Convert to a triangular wave-like function that decreases to . The output of the function conversion circuit 78 is used as the basic interpolation function IPF2 for the second series (subchannel 2). The inversion circuit 79 inverts each bit of this interpolation function IPF2 to form a function with inverse characteristics, and this function with inverse characteristics is used as the basic interpolation function IPF1 for the first series (subchannel 1). An example of these interpolation functions IPF1 and IPF2 is shown in Figure 11c.
is shown. Note that during the attack, the output of the second counter 73B is all bits "0", so the output of the function conversion circuit 78 is all bits "0", and the value of the second series interpolation function IPF2 reaches the minimum value (0). ) is maintained, and the value of the first series interpolation function IPF1 is maintained at its maximum value. The selector 80 is for time-division multiplexing the interpolation functions IPF1 and IPF2 in accordance with the timing of each subchannel 1 and 2, and is connected to the A input.
When IPF2 is added and IPF1 is added to the B force input and clock pulse φ 2 is “1” (at the time slot of subchannel 1), IPF1 of the B input is selected, and when φ 2 is “0” (subchannel 2 time slot) select IPF2 of A input. The switching control means 81 controls the waveform switching operation in the start address generation circuit 40 shown in FIG. It includes an all "0" detection circuit 82 for detecting whether or not the signal is "0", and an AND circuit 83 to which the output of this detection circuit 82 and an inverted attack signal are input. AND circuit 83 is a signal
This is enabled by AT at times other than attack, and outputs the output signal "1" of the all "0" detection circuit 82 as the waveform switching command signal WCHG. Of the two subchannel interpolation functions IPF1 and IPF2, the one that gradually decreases over time with a negative slope has all bits “0”.
, the output of the all "0" detection circuit 82 becomes "1" at the timing corresponding to that subchannel, and a waveform switching command signal WCHG is generated in response to this. Since the slopes of the interpolation functions IPF1 and IPF2 for both subchannels are switched every interpolation interval, the waveform switching command signal WCHG is generated by switching alternately corresponding to one subchannel every time one interpolation is completed. . An example of generation of the waveform switching command signal WCHG corresponding to the interpolation functions IPF1 and IPF2 of FIG. 11c is shown in FIG. 11b. The interpolation functions IPF1 and IPF2 outputted from the selector 80 in a time-division manner have temporally linear characteristics, but the crossfade curve memory 84, which corresponds to interpolation function storage means, can change these interpolation functions to arbitrary characteristics. It is provided for the purpose of conversion. For example, various interpolation characteristic curves (weighting curves) as shown by solid lines in FIG. The selected interpolation characteristic curve is selected as the interpolation function IPF1, IPF from the selector 80.
2 is read out as the address.
As mentioned above, the interpolation function IPF1 of both subchannels,
Since IPF2 (so to speak, this is a basic interpolation function) has inverse characteristics, the reading direction of the memory 84 is mutually opposite between both subchannels (when one is in the positive direction, the other is in the opposite direction), and is mutually A curve with an inverse characteristic is read out from the memory 84 in a time-division manner. For example, when an interpolation characteristic curve as shown by a solid line in FIG. 12 a to d is read out corresponding to one subchannel, an interpolation characteristic curve as shown by a broken line in the same figure corresponds to the other subchannel. Read out. The interpolation characteristic curve data corresponding to each subchannel for each channel read out in a time-divisional manner from the memory 84 as described above is given to the multiplier 18 in FIG. 2 as crossfade curve data CF, and its The corresponding segment waveform data is weighted (amplitude control) according to the characteristics. Note that since the functions IPF1 and IPF2 are used as address signals for the memory 84, the counting means 73 and the function conversion circuit 78 correspond to address generation means for the memory 84. By using the memory 84 in this way, the interpolation characteristics can be set to any curve. In addition, since two series of interpolation characteristics are obtained by reading arbitrary interpolation characteristic curves in opposite directions, it is possible to set any interpolation characteristic curve, but as a result (two series of interpolation in synthesis)
Symmetrical interpolation is always performed, and smooth interpolation without bias can be performed. Incidentally, to explain the characteristics shown in Fig. 12, a indicates that the volume level increases at the midpoint of interpolation (the midpoint of musical waveform change), and b indicates that the waveform changes greatly at the beginning, but midway through, the volume level increases. The changes are gradual, and then there is a big change again at the end. In c, the waveform changes slowly at the beginning and end, and changes greatly in the middle. d has a waveform that changes while fluctuating. Returning to FIG. 10, the all "0" and all "1" detection circuit 85 outputs the switching synchronization signal CHGS in synchronization with the waveform switching timing, and the output of the function conversion circuit 78, that is, the interpolation function
Input IPF2 and detect whether the value is all bits "0" or all bits "1". As is clear from Figure 11c, the interpolation function changes in a triangular waveform.
At the upper peak of IPF2, all bits are "1", and at the lower peak, all bits are "0", which corresponds to the waveform switching timing, that is, the timing of the waveform switching command signal WCHG. Switching synchronization signal CHGS corresponds to when all bits are “0” or when all bits are “1”
becomes “1”. This signal CHGS becomes "1" in the time slots of both subchannels, that is, in the time slots of one channel corresponding to one cycle of clock pulse φ2 . This signal CHGS is delayed by one cycle of the time division channel timing in accordance with the clock pulse φ 2 ×12 in the delay circuit 86, and is applied to the adder 74A of the counter 73A via the gate 87. The output of the adder 74A is applied to a 12-stage shift register 76A via a gate 75A, delayed by one cycle of time division channel timing, and returned to the input of the adder 74A. The gate 75 is controlled by a signal obtained by inverting the attack end signal ATEND.
It is instantaneously closed only when ATEND occurs, and the memory of the shift register 76A regarding the corresponding channel is cleared. The output of gate 75A is applied to change rate memory 77 and all "1" detection circuit 88 as described above. All “1”
The detection circuit 88 outputs a signal "1" when all bits of the count value of the counter 73A reach "1", that is, the maximum value. This output is inverted by an inverter 89 and is applied to the control input of the gate 87. The counter value of the counter 73A remains at its maximum value during the attack, and the gate 87 is closed. When the attack is completed, the attack end signal is sent.
When the count value is cleared by ATEND,
The output of the all "1" detection circuit 88 becomes "0" and the gate 87 is opened. Thereafter, each time the switching synchronization signal CHGS is generated, the count value of the counter 73A increases, and the number of waveform switching is counted. Then, the count value is the maximum value (all “1”)
When this happens, the gate 87 closes and the counting operation stops. Note that the delay circuit 86 is provided to delay the timing at which the signal CHGS is input to the counter 73A by the time delay between the input and output of the shift register 76A. Switching synchronization signal
An example of the number of switching times counted by CHGS and counter 73A is shown in FIG. 11c. As described above, the change rate memory 77 reads out predetermined change rate data DT in response to the count value of the counter 73A. This rate of change data
The count value increase rate of the second counter 73B is determined by the value of DT, and the slopes of the interpolation functions IPF1 and IPF2 are determined. t 2 , t 3 , t 4 ...) are determined.
The memory 77 arbitrarily stores change rate data DT according to the number of waveform switching (that is, for each interpolation interval).
can be set, so the length of each interpolation interval
t 1 , t 2 , t 3 , t 4 . . . are not uniform and can be set completely arbitrarily. Note that once the first counter 73A reaches the maximum value, it is maintained thereafter, so that the change rate memory 77 continuously reads out the change rate data DT corresponding to the maximum value. Of course,
Like the other counters, the first counter 73A performs the counting operation on a time-division basis for each channel, so the above-mentioned counting of the number of waveform switching and reading of the change rate data DT are performed on a time-division basis for each channel. In the embodiment described above, as shown in FIG. 1b, the basic interpolation functions IPF1 and IPF2 (address signals of the memory 84) change in a triangular waveform, and the two segment waveforms are always weighted. However, the present invention is not limited to this, and the two waveforms may be weighted only during the transition period of waveform switching. Further, in the above embodiment, two streams (subchannels) for interpolation are time-divisionally processed, but they may be processed in parallel. In addition, in Fig. 2, two series of musical sound waveform signals weighted for interpolation are digitally added in an adder 20 and then D/A converted, but each series is D/A converted independently and then mixed or independent. You may also choose to pronounce it. Further, although the waveform memory 14 shown in FIG. 2 stores the amplitude value data of each sample point of the waveform as is, the present invention is not limited to this, and various storage methods may be employed. For example, the amplitude data of each sample point can be obtained by storing the difference values of the amplitude values between each sample point, reading them out and then accumulating them, or There are various methods, such as storing the data in parts and performing arithmetic processing after reading it out to obtain the real number of the amplitude value of each sample point. Note that in the above example, the segment waveform (SEG
1, SEG2, ...), one cycle of the waveform is stored as is in the waveform memory 14, but the present invention is not limited to these, and only half a cycle of the waveform may be stored.
In this case, positive and negative polarities may be added alternately to the read half-cycle waveform to form a one-cycle waveform. Further, the segment waveform stored in the waveform memory 14 is not limited to one period waveform, but may be a waveform for a plurality of periods (for example, two periods). In the above embodiment, the attack portion of the musical tone signal is generated by storing the continuous multi-cycle waveform as it is in the waveform memory 14 and reading it out as is. Also, according to the present invention, a plurality of segment waveforms may be stored in the waveform memory 14, and these may be randomly switched and read out, and the above-mentioned interpolation process may be performed at the time of waveform switching to generate musical tone signals. Of course. In FIG. 9, random data generation circuit 57
The range of random numbers generated may be varied depending on the tone color or the like. In that case, it is preferable to configure the random data generation circuit 57 as shown in FIG. The random data generation circuit 57 includes a programmable random number generator 62 in which the range of random numbers to be generated can be set, and a random number range designation memory 6 that specifies the range of random numbers to be generated by the random number generator 62. The random number range designation memory 63 reads out upper limit designation data UL that designates the upper limit value of random number data to be generated in accordance with the tone color selection information TC given to the address input, and lower limit designation data LL that designates the lower limit value. The programmable random number generator 62 generates random number data RD within the range of the given upper limit specification data UL and lower limit specification data LL. For example, the programmable random number generator 62 is a fixed random number generator 64 whose random number range to be generated is fixed to a maximum range.
, a comparator 65 and a latch circuit 66. The fixed random number generator 64 generates random number data RD' at changing timing fairly quickly. Comparator 65
compares the upper limit designation data UL and the lower limit designation data LL with this random number data RD', and outputs a signal "1" when LL≦RD'≦UL holds true. The latch circuit 66 outputs random number data generated from the fixed random number generator 64 when the signal "1" is given from the comparator 65.
Latch RD′. In this way, the latch circuit 66 selectively latches only the random number data RD' within the range of the upper and lower limit designation data UL and LL, and outputs this as random number data RD to the A input of the selector 58 in FIG. Given. Note that the range of random numbers may be variably set in accordance with not only the tone color selection information TC but also key touch detection information, the pitch or range of the musical tone to be generated, or operator control by the performer. In that case, key touch data, pitch data, control data from the operator, etc. may be input into the random number range specifying memory 63 at an address, as shown by the broken line. The random data generation circuit 57 shown in FIG. 13 may be further modified as shown in FIG. 14 to switch the range of random numbers to be specified as time elapses from the start of sound generation of musical tones. A circuit consisting of a 24-stage shift register 67, an adder 68, and a gate 69 that is shift-controlled by a clock pulse φ1 is a counter for individually counting the waveform switching command signal WCHG for each subchannel of each channel. , when the key-on pulse KONP is generated, the gate 69 is closed to clear the count contents, and thereafter, the count is incremented by one every time the signal WCHG is generated. Count data CT output from gate 69 is applied to the address input of random number range designation memory 63. The random number range designation memory 63 outputs upper and lower limit designation data UL and LL that designate different random number ranges depending on the value of the count data CT. count data
CT value and data UL output from memory 63,
An example of the relationship with LL is shown in the table below.

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

以上の通り、この発明によれば、楽音波形を時
間的に切換えることにより音色の時間変化を実現
する場合において、楽音波形の切換え順序がラン
ダムに制御されるので、音色の時間変化の態様は
各発音機会毎にランダムに異なるものとなる。従
つて、自然楽器における音色の時間変化に近い態
様で音色の時間変化を実現することができるよう
になる。
As described above, according to the present invention, when the time change of the tone color is realized by temporally switching the musical sound waveform, the switching order of the musical sound waveform is randomly controlled, so that the aspect of the time change of the tone color is different from each other. The pronunciation will be randomly different for each pronunciation opportunity. Therefore, it becomes possible to realize a change in timbre over time in a manner similar to the change in timbre over time in a natural musical instrument.

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

第1図はこの発明の実施例における楽音信号発
生原理を説明するための略図、第2図はこの発明
に係る楽音信号発生装置を適用した電子楽器の一
実施例を示す電気的ブロツク図、第3図は同実施
例で使用するクロツクパルス及びチヤンネルタイ
ミング信号の一例及び時分割チヤンネルタイミン
グの一例を示すタイミングチヤート、第4図は同
実施例における波形メモリのメモリマツプの一例
を示す図、第5図は第2図の位相発生器の一例を
示す電気的ブロツク図、第6図は第5図の時分割
制御回路の一例を示す電気的ブロツク図、第7図
は第6図の各部信号の一例を示すタイミングチヤ
ート、第8図は第5図のアタツクエンド検出回路
の一例を示す電気的ブロツク図、第9図は第5図
のスタートアドレス発生回路の一例を示す電気的
ブロツク図、第10図は第2図のクロスフエード
制御回路の一例を示す電気的ブロツク図、第11
図は第8図、第9図、第10図の各部信号の一例
を示すタイミングチヤート、第12図は第10図
のクロスフエードカーブメモリで予め準備してお
く各種補間関数(クロスフエードカーブ)の特性
を略示する図、第13図は第9図におけるランダ
ムデータ発生回路の一例を示す電気的ブロツク
図、第14図はランダムデータ発生回路の更に別
の実施例を示すブロツク図、第15図は第9図に
示したランダム制御手段に関連する波形切換え制
御のための手段の別の実施例を示すブロツク図、
第16図は第15図におけるセレクタの選択制御
用回路の別の実施例を示すブロツク図、第17図
は第9図に示したランダム制御手段の別の実施例
を示すブロツク図、第18図はこの発明の別の実
施例を示す電子楽器の全体ブロツク図、第19図
は第18図の楽音波形形成回路を高調波合成方式
によつて構成した一例を略示するブロツク図、第
20図は同楽音波形形成回路デイジタルフイルタ
方式によつて構成した一例を略示するブロツク
図、である。 10……鍵盤、11……キーアサイナ、13…
…位相発生器、14……波形メモリ、16……ク
ロスフエード制御回路、28……読出し手段、2
00……波形切換制御手段、201……ランダム
制御手段、57……ランダムデータ発生回路、6
2……プログラマブル乱数発生器、63……乱数
範囲指定メモリ、71……シーケンス制御手段、
205……シーケンスメモリ、100……1周期
位相データ発生回路、101……楽音波形形成回
路、102……パラメータメモリ、103……セ
グメント番号データ発生回路。
FIG. 1 is a schematic diagram for explaining the principle of musical tone signal generation in an embodiment of the present invention, and FIG. 2 is an electrical block diagram showing an embodiment of an electronic musical instrument to which the musical tone signal generation device according to the present invention is applied. FIG. 3 is a timing chart showing an example of a clock pulse and channel timing signal and an example of time-division channel timing used in the same embodiment, FIG. 4 is a diagram showing an example of a memory map of the waveform memory in the same embodiment, and FIG. FIG. 6 is an electrical block diagram showing an example of the phase generator shown in FIG. 2, FIG. 6 is an electrical block diagram showing an example of the time division control circuit shown in FIG. 8 is an electrical block diagram showing an example of the attack end detection circuit of FIG. 5, FIG. 9 is an electrical block diagram showing an example of the start address generation circuit of FIG. 5, and FIG. Electrical block diagram showing an example of the crossfade control circuit of FIG. 2, No. 11
The figure is a timing chart showing an example of each part signal of Fig. 8, Fig. 9, and Fig. 10, and Fig. 12 is a timing chart showing various interpolation functions (crossfade curve ), FIG. 13 is an electrical block diagram showing an example of the random data generation circuit in FIG. 9, and FIG. 14 is a block diagram showing yet another embodiment of the random data generation circuit. FIG. 15 is a block diagram showing another embodiment of means for waveform switching control related to the random control means shown in FIG. 9;
16 is a block diagram showing another embodiment of the selector selection control circuit shown in FIG. 15, FIG. 17 is a block diagram showing another embodiment of the random control means shown in FIG. 9, and FIG. 18 is a block diagram showing another embodiment of the random control means shown in FIG. 19 is a general block diagram of an electronic musical instrument showing another embodiment of the present invention, FIG. 19 is a block diagram schematically showing an example of the musical sound waveform forming circuit of FIG. 18 configured by a harmonic synthesis method, and FIG. 20 1 is a block diagram schematically showing an example of a musical sound waveform forming circuit constructed using a digital filter method. 10...keyboard, 11...key assigner, 13...
...Phase generator, 14...Waveform memory, 16...Crossfade control circuit, 28...Reading means, 2
00...Waveform switching control means, 201...Random control means, 57...Random data generation circuit, 6
2...Programmable random number generator, 63...Random number range specification memory, 71...Sequence control means,
205...Sequence memory, 100...1 period phase data generation circuit, 101...Tone waveform forming circuit, 102...Parameter memory, 103...Segment number data generation circuit.

Claims (1)

【特許請求の範囲】 1 複数の異なる楽音波形の波形データを記憶し
た波形記憶手段と、 発生すべき楽音周波数に応じて前記波形記憶手
段から所定の楽音波形の波形データを読み出す読
出し手段と、 前記波形記憶手段から読み出すべき楽音波形を
時間的に切換える波形切換制御手段と、 前記波形切換制御手段による楽音波形の切換え
順序をランダムに制御するランダム制御手段と を具えた楽音信号発生装置。 2 前記ランダム制御手段は、乱数データを発生
するランダムデータ発生手段と、前記波形切換制
御手段によつて指示された波形切換えタイミング
で前記ランダムデータ発生手段の出力データを選
択する選択手段とを含み、前記波形切換制御手段
は、前記選択手段で選択された乱数データの値に
応じて前記波形記憶手段から読み出すべき楽音波
形を指示するようにした特許請求の範囲第1項記
載の楽音信号発生装置。 3 前記ランダムデータ発生手段は、発生する乱
数の範囲が設定可能な乱数発生器と、この乱数発
生器で発生する乱数の範囲を指定する乱数範囲指
定手段とを含むものである特許請求の範囲第2項
記載の楽音信号発生装置。 4 前記乱数範囲指定手段は、選択された音色の
種類に応じて乱数の範囲を指定するものである特
許請求の範囲第3項記載の楽音信号発生装置。 5 前記乱数範囲指定手段は、楽音の発音開始時
からの時間経過に従つて、指定すべき乱数の範囲
を切換えるものである特許請求の範囲第3項又は
第4項記載の楽音信号発生装置。 6 前記波形切換制御手段は、前記楽音波形を所
定の順番で切換えるよう制御するシーケンス制御
手段と、このシーケンス制御手段の出力と前記ラ
ンダム制御手段の出力の一方を選択する選択手段
とを含み、この選択出力に基づき楽音波形の切換
え制御を行うようにした特許請求の範囲第1項記
載の楽音信号発生装置。 7 前記選択手段は、楽音の発音開始時からの時
間経過に応じて選択状態を切換えるものである特
許請求の範囲第6項記載の楽音信号発生装置。 8 前記ランダム制御手段は、乱数データを発生
するランダムデータ発生手段と、所定のタイミン
グで前記ランダムデータ発生手段の出力データを
選択する選択手段と、前記楽音波形の切換え順序
を指示するシーケンスデータを複数組記憶し、前
記選択手段で選択された乱数データの値に応じて
所定の1組のシーケンスデータが選択的に読み出
されるシーケンス記憶手段とを含むものである特
許請求の範囲第1項記載の楽音信号発生装置。 9 パラメータによつて決定される形状の楽音波
形を形成すると共に位相データによつて指定され
た位相に対応して該楽音波形の形成を行う楽音波
形形成手段と、 複数の異なる楽音波形に関して、各楽音波形の
形状を決定する前記パラメータを夫々記憶したパ
ラメータ記憶手段と、 発生すべき楽音の周波数に応じて変化する前記
位相データを発生し、前記楽音波形形成手段に与
える位相データ発生手段と、 前記楽音波形形成手段で形成すべき楽音波形を
時間的に切換えて指定し、指定した楽音波形に対
応する前記パラメータを前記パラメータ記憶手段
から読み出して前記楽音波形形成手段に与える波
形切換制御手段と、 前記波形切換制御手段による楽音波形の切換え
順序をランダムに制御するランダム制御手段と を具えた楽音信号発生装置。 10 前記パラメータが、基本波を含む各高調波
の相対振幅係数から成り、前記楽音波形形成手段
は、前記位相データに応じて発生した各高調波信
号を対応する前記相対振幅係数で制御し合成する
ことにより前記楽音波形を形成するものである特
許請求の範囲第9項記載の楽音信号発生装置。 11 前記パラメータが、フイルタ係数から成
り、前記楽音波形形成手段は、前記位相データに
応じて音源波形信号を発生する手段と、前記パラ
メータとして与えられた前記フイルタ係数に従つ
てフイルタ特性が設定され、この特性に従つて前
記音源波形信号を制御するフイルタ回路とを含む
ものである特許請求の範囲第9項記載の楽音信号
発生装置。
[Scope of Claims] 1. A waveform storage means that stores waveform data of a plurality of different musical sound waveforms; a reading means that reads out waveform data of a predetermined musical sound waveform from the waveform storage means according to a musical sound frequency to be generated; A musical tone signal generating device comprising: a waveform switching control means for temporally switching musical waveforms to be read from a waveform storage means; and a random control means for randomly controlling the order in which the musical waveforms are switched by the waveform switching control means. 2. The random control means includes a random data generation means for generating random number data, and a selection means for selecting output data of the random data generation means at a waveform switching timing instructed by the waveform switching control means, 2. The musical tone signal generating device according to claim 1, wherein said waveform switching control means instructs a musical waveform to be read from said waveform storage means in accordance with the value of the random number data selected by said selection means. 3. The random data generating means includes a random number generator in which a range of random numbers to be generated can be set, and a random number range specifying means for specifying a range of random numbers to be generated by the random number generator. The musical tone signal generating device described above. 4. The musical tone signal generating device according to claim 3, wherein the random number range specifying means specifies a range of random numbers according to the type of selected tone color. 5. The musical tone signal generating device according to claim 3 or 4, wherein the random number range specifying means switches the range of random numbers to be specified in accordance with the passage of time from the start of sound generation of musical tones. 6. The waveform switching control means includes a sequence control means for controlling the musical waveforms to be switched in a predetermined order, and a selection means for selecting one of the output of the sequence control means and the output of the random control means. The musical tone signal generating device according to claim 1, wherein switching control of musical sound waveforms is performed based on the selected output. 7. The musical tone signal generating device according to claim 6, wherein the selection means switches the selection state according to the passage of time from the start of sound generation of the musical tone. 8. The random control means includes a random data generation means for generating random number data, a selection means for selecting output data of the random data generation means at a predetermined timing, and a plurality of sequence data for instructing the switching order of the musical sound waveforms. and a sequence storage means for storing a set of sequence data and selectively reading out a predetermined set of sequence data according to the value of the random number data selected by the selection means. Device. 9 musical sound waveform forming means for forming a musical sound waveform having a shape determined by the parameters and forming the musical sound waveform in accordance with a phase specified by the phase data; parameter storage means that stores the parameters that determine the shape of the musical sound waveform; phase data generation means that generates the phase data that changes according to the frequency of the musical sound to be generated and supplies it to the musical sound waveform forming means; a waveform switching control means for temporally switching and specifying a tone waveform to be formed by the tone waveform forming means, reading out the parameters corresponding to the specified tone waveform from the parameter storage means, and applying the parameters to the tone waveform forming means; A musical tone signal generating device comprising random control means for randomly controlling the switching order of musical waveforms by the waveform switching control means. 10 The parameters include relative amplitude coefficients of each harmonic including the fundamental wave, and the musical waveform forming means controls and synthesizes each harmonic signal generated according to the phase data with the corresponding relative amplitude coefficient. 10. The musical tone signal generating apparatus according to claim 9, wherein the musical tone signal generating apparatus forms the musical sound waveform by. 11. The parameter comprises a filter coefficient, and the musical waveform forming means includes means for generating a sound source waveform signal according to the phase data, and a filter characteristic is set according to the filter coefficient given as the parameter, 10. The musical tone signal generating apparatus according to claim 9, further comprising a filter circuit that controls the tone source waveform signal according to this characteristic.
JP60154871A 1985-07-13 1985-07-13 Musical sound signal generator Granted JPS6214696A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60154871A JPS6214696A (en) 1985-07-13 1985-07-13 Musical sound signal generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60154871A JPS6214696A (en) 1985-07-13 1985-07-13 Musical sound signal generator

Publications (2)

Publication Number Publication Date
JPS6214696A JPS6214696A (en) 1987-01-23
JPH0315200B2 true JPH0315200B2 (en) 1991-02-28

Family

ID=15593745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60154871A Granted JPS6214696A (en) 1985-07-13 1985-07-13 Musical sound signal generator

Country Status (1)

Country Link
JP (1) JPS6214696A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5568746B2 (en) * 2010-12-21 2014-08-13 株式会社コルグ Electronic musical instruments

Also Published As

Publication number Publication date
JPS6214696A (en) 1987-01-23

Similar Documents

Publication Publication Date Title
EP0311152B1 (en) Tone signal generation device for an electronic musical instrument
JPS6325359B2 (en)
EP0377459B1 (en) Electronic musical instrument having plural different tone generators
JPH0230033B2 (en)
JPS6223319B2 (en)
EP0235538B1 (en) Waveform generator for electronic musical instrument
JPH0315200B2 (en)
JPH0370237B2 (en)
JPH0120759B2 (en)
US4205580A (en) Ensemble effect in an electronic musical instrument
JP2754646B2 (en) Electronic musical instrument
JPH0122631B2 (en)
US4502360A (en) Harmonic selection coupling in an electronic musical instrument
JP2555732B2 (en) Music signal synthesis method
JP2666762B2 (en) Electronic musical instrument
JP2504196B2 (en) Music synthesizer
JP2666764B2 (en) Electronic musical instrument
JPH0369119B2 (en)
JPS583238B2 (en) electronic musical instruments
JP2666763B2 (en) Electronic musical instrument
JP2897680B2 (en) Music signal generator
JPS5895792A (en) Musical sound generator
JPS61105595A (en) Musical sound signal generator
JPH033237B2 (en)
JPS61236595A (en) Musical sound signal generator

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees