JPH0230033B2 - - Google Patents

Info

Publication number
JPH0230033B2
JPH0230033B2 JP59002667A JP266784A JPH0230033B2 JP H0230033 B2 JPH0230033 B2 JP H0230033B2 JP 59002667 A JP59002667 A JP 59002667A JP 266784 A JP266784 A JP 266784A JP H0230033 B2 JPH0230033 B2 JP H0230033B2
Authority
JP
Japan
Prior art keywords
waveform
musical
counting
switching
data
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
JP59002667A
Other languages
Japanese (ja)
Other versions
JPS60147793A (en
Inventor
Jun Sugyama
Junichi Fujimori
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 JP59002667A priority Critical patent/JPS60147793A/en
Priority to US06/690,771 priority patent/US4633749A/en
Priority to DE8585100233T priority patent/DE3575031D1/en
Priority to EP88119459A priority patent/EP0311152B1/en
Priority to DE88119459T priority patent/DE3587423T2/en
Priority to EP85100233A priority patent/EP0150736B1/en
Publication of JPS60147793A publication Critical patent/JPS60147793A/en
Publication of JPH0230033B2 publication Critical patent/JPH0230033B2/ja
Priority to SG6095A priority patent/SG6095G/en
Priority to HK17095A priority patent/HK17095A/en
Priority to HK134095A priority patent/HK134095A/en
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

技術分野 この発明は楽音信号発生装置に関し、特に、複
数の異なる楽音波形を順次切換えて発生すること
によりスペクトル成分が時間的に変化する楽音信
号を発生するようにした楽音信号発生装置に関す
る。 従来技術 特開昭58−95790号公報においては、波形メモ
リに記憶した複数の異なる楽音波形を順次切換え
て読み出すことによりスペクトル成分が時間的に
変化する楽音信号を発生し得る楽音信号発生装置
が開示されている。そこにおいて、波形メモリか
ら読み出すべき楽音波形の切換えは、同じ楽音波
形を所定周期数だけ繰返し読み出した時に行われ
るようになつている。また、楽音波形の切換時
に、先行する楽音波形からその次の楽音波形に滑
らかに移行させるために、両波形の同じサンプル
点同士で時間的に変化する補間が行われるように
なつているが、その補間は同じ楽音波形が繰返し
読み出される所定周期数の間で行われるようにな
つている。 以上のような従来技術においては、楽音波形の
切換わり間隔が常に所定の周期数に固定されるた
め、発生すべき楽音の周波数に応じて楽音波形の
切換わり間隔が変動し、かつこれに伴ない補間に
要する時間も変動してしまう、という欠点があつ
た。すなわち、高い周波数の楽音ほど楽音波形が
速く切換わつてしまい、スペクトル成分の時変動
効果が音高によつて不均一になつてしまうという
問題が生じる。また、高い周波数の楽音ほど波形
切換わり等の補間が素速く行われてしまうことに
なり、滑らかに波形を移行させるという効果が薄
らいでしまう。 発明の目的 この発明は上述の点に鑑みてなされたもので、
発生すべき楽音の周波数に影響されることなく楽
音波形の切換えを制御し、上述の欠点を除去した
楽音信号発生装置を提供しようとするものであ
る。 発明の概要 この発明に係る楽音信号発生装置は、楽音の発
音開始から終了までの間で離散的にサンプリング
した複数の異なる楽音波形を複数のサンプル点に
夫々分割し、各サンプル点に対応する波形データ
を記憶した波形記憶手段と、複数の時分割処理チ
ヤンネルを有し、発生すべき楽音周波数に応じて
前記波形記憶手段から所定の楽音波形の波形デー
タを繰返し読み出す読出し手段と、前記波形記憶
手段から読み出すべき楽音波形を時間的に切換え
て指定する波形指定手段と、読み出すべき楽音波
形を切換えるとき、先行した楽音波形と次の楽音
波形に対応した2チヤンネル分の前記時分割処理
チヤンネルの楽音波形を重みづけする補間手段
と、前記補間手段における重みづけの時間変化を
設定するために、楽音周波数に依存しない独立の
時間関数を発生する計数手段と、この計数手段の
出力に応じて前記波形指定手段における波形切換
えを制御する切換え制御手段とを具え、前記補間
手段では、前記計数手段の計数出力に応じて、前
記先行した楽音波形については次第に減衰する特
性で重みづけし、前記次の楽音波形については次
第に立ち上がる特性で重みづけすることにより滑
らかに波形が移行するようにしたものである。計
数手段は、発生すべき楽音周波数とは無関係に前
記時間関数を発生する。補間手段では、この時間
関数に従つて重みづけの時間変化が設定される。
切換え制御手段では、前記計数手段の出力すなわ
ち前記時間関数に応じて所定の時点で波形切換え
を制御する。波形指定手段では切換え制御手段の
制御に従つて楽音波形の指定を切換える。こうし
て、楽音波形の切換えと補間が、楽音周波数とは
無関係の独自の時間関数に従つて制御されること
になり、音高の変化に左右されないスペクトル成
分の時変動効果が得られると共に、どの音域でも
滑らかな補間(波形移行)が保証される。しか
し、この発明は、上記時間関数の設定に当つて、
音高要素を多少なりとも考慮に入れることを必ら
ずしも排除するものではないのは勿論である。 ところで、この発明は、離散的にサンプリング
した複数の異なる楽音波形を記憶した波形記憶手
段から該楽音波形を読み出すことにより補間対象
たる楽音波形を形成する方式のものに限らず、パ
ラメータを用いて楽音波形を形成する方式のもの
においても有利に適用することができる。そのよ
うなパラメータによる楽音波形形成方式の一例と
して高調波合成方式を挙げることができる。この
高調波合成方式において楽音信号のスペクトルを
時間的に変化させるには、従来は、各高調波の相
対振幅を設定する高調波係数の組を多数組準備し
ておき、この係数組を時間的に切換えて楽音波形
形成演算で利用するようにしていた。そのため高
調波係数を記憶する記憶装置の容量が大型化する
と共に楽音波形の滑らかな時間変化も得にくかつ
た。そこで、この発明における楽音波形形成手段
としてパラメータ方式のものを適用すれば、高調
波合成演算あるいはその他のパラメータ方式のも
のにおいてこの発明に従う補間による楽音波形の
時間変化が実現されることになり、顕著な効果を
奏する。 すなわち、この発明によれば、前述の波形記憶
手段と読出し手段に代えて、パラメータによつて
決定される形状の楽音波形を形成すると共に位相
データによつて指定された位相に対応して前記楽
音波形の形成を行う楽音波形形成手段と、楽音の
発音開始から終了までの間で離散的にサンプリン
グした複数の異なる楽音波形に関して、各楽音波
形の形状を決定する前記パラメータを夫々記憶し
たパラメータ記憶手段と、発生すべき楽音の周波
数に応じて変化する前記位相データを発生し、前
記楽音波形形成手段に与える位相データ発生手段
とを用いることができる。この場合、前述の波形
指定手段では、前記楽音波形形成手段で形成すべ
き楽音波形を時間的に切換えて指定し、指定した
楽音波形に対応する前記パラメータを前記パラメ
ータ記憶手段から読み出して前記楽音波形形成手
段に与えるようにする。 実施例 以下添付図面を参照してこの発明の一実施例を
詳細に説明しよう。 まず、以下で説明する実施例において採用する
楽音信号発生原理について第1図を参照して説明
する。第1図aには、波形メモリにおいて予め準
備しておくべき楽音波形の概略が便宜上振幅エン
ベロープのみによつて示されている。発音開始か
ら所定期間の部分(アタツク部)の楽音波形は複
雑に変化するので、1周期波形の繰返し読み出し
によつては良質なアタツク部波形の模倣が困難で
ある。そこでこのアタツク部の楽音波形は、連続
する複数周期波形をそのままサンプリングし、波
形メモリに記憶しておくものとする、アタツク部
以後の全発音期間に関しては、その間で複数の異
なる楽音波形(1周期を離散的にサンプリング
し、夫々を波形メモリに記憶しておく。第1図a
では、そのように離散的にサンプリングした各1
周期波形をSEG1〜SEG5で示しており、これ
らを便宜上セグメント波形と呼ぶことにする。 上述のように波形を記憶した波形メモリからの
基本的な波形読み出し法は、まず、アタツク部の
全波形を連続的に読み出し、次に後述するような
波形切換え指令に従う或るタイミングでセグメン
ト波形SEG1〜SEG5を順番に選択し、選択さ
れたセグメント波形1周期を繰返し読み出す。例
えば、アタツク部波形の読み出し終了後第1のセ
グメント波形SEG1を或る時間だけ繰返し読み
出し、次いで第2のセグメント波形SEG2に切
換えてこれを繰返し読み出し、以後セグメント波
形を順次切換える。 セグメント波形の切換え時において、先行する
波形からその次の波形に滑らかに移行させるため
に補間技術が用いられる。その場合、上述のよう
な基本的な読み出し法に加えて、少くとも補間を
行うべき区間において先行するセグメント波形と
その次のセグメント波形を共に読み出し、両者を
適宜の補間関数に従つて夫々重みづけする。一例
として、セグメント波形の切換わり間隔全域が補
間区間に相当しており、第1のセグメント波形
SEG1を読み出すときは第2のセグメント波形
SEG2も一緒に読み出し、その次の切換わり時
では第2及び第3のセグメント波形SEG2,
SEG3を共に読み出し、以下同様に順次切換え
ながら隣合うセグメント波形を一緒に読み出す。 第1図bには、補間関数の一例が示されてい
る。実線が第1系列用の補間関数IPF1を示し、
破線が第2系列用の補間関数IPF2を示す。第1
系列とは、上述のように補間のために読み出され
る2つのセグメント波形の一方に対応するもので
あり、第2系列とは他方に対応するものである。
この補間関数IPF1,IPF2は各系列の波形振幅
の重みづけ量を示しており、最小値は零(その波
形を出さないことを示す)である。補間を行わな
いアタツク部においては、第1系列の補間関数
IPF1を最大値に維持し、第2系列の補間関数
IPF2を最小値に維持する。アタツク部の終了
後、セグメント波形SEG1〜SEG5の補間を行
うべき期間において各補間関数IPF1,IPF2は
夫々所定の特性で時間的に変化する。両補間関数
IPF1,IPF2は互に逆特性で変化し、一方の系
列の重みづけが漸減するとき他方が漸増するよう
になつており、これにより滑らかな波形の移行が
達成される。第1図bでは補間関数IPF1,IPF
2は直線補間特性を示しているが、これに限らな
いのは勿論である。 t1,t2,t3,t4は夫々別個の補間区間を示して
おり、補間区間が切換わる毎に各系列の補間関数
IPF1,IPF2の傾きが交互に切換わるようにな
つている。補間区間t1においては、セグメント波
形SEG1からSEG2に滑らかに移行させる補間
が行われる。この場合、セグメント波形SEG1
が第1系列において繰返し読み出され、セグメン
ト波形SEG2が第2系列において繰返し読み出
される。そして、第1系列の補間関数IPF1が最
大値から漸減する一方で第2系列の補間関数IPF
2が最小値から漸増する。この補間関数IPF1に
よつて第1系列で繰返し読み出されたセグメント
波形SEG1の複数周期波形信号が重みづけ(振
幅制御)され、また、補間関数IPF2によつて第
2系列で繰返し読み出されたセグメント波形
SEG2の複数周期波形信号が重みづけされる。
このように逆特性で重みづけされた両系列の波形
信号を混合することにより、セグメント波形
SEG1からセグメント波形SEG2へと波形が滑
らかに時間変化する楽音信号が得られる。 次の補間区間t2では、セグメント波形SEG2か
らSEG3に滑らかに移行する補間が行われる。
この場合、前回に引き続き第2系列においてセグ
メント波形SEG2が繰返し読み出され、一方、
第1系列ではセグメント波形SEG1からSEG3
に切換わつてこれが繰返し読み出される。そし
て、補間関数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タイムスロツトで
時分割的に発生する。この発明の構成との対応を
示せば、発生すべき楽音周波数に応じて波形記憶
手段から1周期の波形データを繰返し読み出す読
み出し手段と、波形記憶手段から読み出すべき楽
音波形を時間的に切換えて指定する波形指定手段
とがこの位相発生器13に含まれている。位相発
生器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つの系列
(サブチヤンネル)の楽音波形信号を逆特性で
夫々重みづけするための補間関数を発生するため
のものである。この発明の構成との対応を示せ
ば、読み出すべき楽音波形を切換えるとき、先行
した楽音波形からその次の楽音波形に滑らかに移
行させるよう両波形を重みづけするための補間手
段の一部(特にその補間関数を発生するための手
段)と、補間手段における重みづけの時間変化を
設定するための時間関数を発生する計数手段と、
この計数手段の出力に応じて波形指定手段におけ
る波形切換えを制御する切換え制御手段に相当す
るものがクロスフエード制御回路16に含まれて
いる。 アタツク部全波形の読み出しが完了したことを
示すアタツクエンド信号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乃至2−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〜CE12が夫々
入力され、その出力がオア回路350で多重化さ
れてライン32に導かれると共に、対応するフリ
ツプフロツプ33−1乃至33−12のリセツト
入力Rに戻される。また、フリツプフロツプ33
−1乃至33−12の出力Qはピツチ同期パルス
PSP1〜PSP2として出力され、前述の通り第2
図のラツチ回路24−1乃至24−12に与えら
れる。フリツプフロツプ33−1乃至33−12
はセツト入力Sの信号の立上りでセツトされ、リ
セツト入力Rの信号の立下りでリセツトされるも
のとする。第7図は第6図各部の入出力信号の一
例を示したものである。同図から明らかなよう
に、各チヤンネルに割当てられた鍵のノートクロ
ツクパルスNC1〜NC2はチヤンネルタイミン
グに非同期であり、このパルスNC1〜NC12
の立上りでフリツプフロツプ33−1乃至33−
12をセツトして、対応するアンド回路34−1
乃至34−12を可能化し、その後最初のチヤン
ネルタイミング信号CH1〜CH12に対応して
該アンド回路34−1乃至34−12からパルス
を出力し、この出力パルスの立下りでフリツプフ
ロツプ33−1乃至33−12をリセツトする。
そうすると、ノートクロツクパルスNC1〜NC
12と同周波数でチヤンネルタイミング信号CH
1〜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によつて発
音開始直前に瞬時に閉じられ、シフトレジスタ3
7における対応する2ステージ分の記憶をクリア
する。 シフトレジスタ37は1ステージにつき8ビツ
トの容量を持つので、カウンタ38はモジユロ2
56のカウントを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、ゲート4
9、セレクタ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”によりゲート4
9が閉じ、それ以上のダウンカウントは行われな
くなる。従つてカウンタ52のカウント値はアタ
ツク時以外ではオール“0”を維持する。第8図
の動作例を1つのチヤンネルに関して示すと第1
1図aのようになる。 第5図に戻ると、スタートアドレス発生回路4
0は音色選択情報TCに応じてスタートアドレス
の一組を選択し、キーオンパルスKONPに応じ
てアタツク部のスタートアドレスを発生し、波形
切換え指令信号WCHGに応じて各セグメント波
形のスタートアドレスを順次切換えて発生するも
のである。このスタートアドレス発生回路40の
一例は第9図に示されている。 第9図において、スタートアドレスメモリ56
には各音色A,B,C……に対応して複数組のス
タートアドレスA0,A1,A2……、B0,B1,B2
……、C0,C1,C2……を夫々予め記憶したもの
であり、音色選択情報TCに応じて一組のスター
トアドレス(例えば音色Aの場合はA0,A1,A2
……)が選択される。24ステージシフトレジスタ
57、セレクタ58,59,60、加算器61、
ゲート62含むループはカウンタを構成してお
り、このループ内のゲート62から取り出された
カウント値がスタートアドレスメモリ56のアド
レス入力に与えられる。スタートアドレスメモリ
56は選択された一組のスタートアドレスデータ
(例えばA0,A1,A2……)をアドレス入力に与
えられたカウント値に従つて順次読み出す。すな
わち、ゲート62から与えられるカウント値が
「0」ときはアタツク部のスタートアドレスA0
読み出し、「1」のときは第1のセグメント波形
SEG1のスタートアドレスA1を読み出し、「2」
ときは第2のセグメント波形SEG2のスタート
アドレスA2を読み出す。こうして、スタートア
ドレスメモリ56から読み出したスタートアドレ
スデータによつて波形メモリ14(第2図)から
読み出すべき波形を指定する。 ゲート62はキーオンパルスKONPの反転信
号によつて可能化されるもので、キーオ
ンパルスKONPが発生したチヤンネルでゲート
62が閉じ、該チヤンネルに対応するシフトレジ
スタ57の記憶内容がクリアされる。シフトレジ
スタ57の最終ステージの出力はセレクタ58の
C入力に与えられると共に遅延回路63,64を
夫々経由してセレクタ58のA入力及びB入力に
与えられる。遅延回路63はクロツクパルスφ1
の23周期分に相当する周期のクロツクパルスφ1
×23によつて遅延制御され、遅延回路64はクロ
ツクパルスφ1によつて遅延制御される。セレク
タ58のA選択入力SAにはクロツクパルスφ2
波形切換え指令信号WCHGのアンド論理をとつ
たアンド回路65の出力が与えられる。B選択入
力SBにはクロツクパルスφ2の反転信号と信号
WCHGのアンド論理をとつたアンド回路66の
出力が与えられる。C選択入力SCには信号
WCHGをインバータ67で反転した信号が与え
られる。 セレクタ58の出力はセレクタ59のA入力に
与えられる。セレクタ59のB入力には数値
「1」が、C入力には数値「2」が夫々与えられ
る。セレクタ59のA選択入力SAにはアタツク
エンド信号ATENDをインバータ68で反転した
信号が与えられ、B選択入力SBにはクロツクパ
ルスφ2と信号ATENDのアンド論理をとつたア
ンド回路69の出力が与えられ、C選択入力SC
にはクロツクパルスφ2の反転信号と信号
ATENDのアンド論理とつたアンド回路70の出
力が与えられる。 セレクタ59の出力は加算器61に与えられ
る。加算器61の他の入力には波形切換え指令信
号WCHGが与えられており、該指令信号WCHG
が“1”になる毎にセレクタ59の出力データに
1が加算される。加算器61の出力はセレクタ6
0のB入力に与えられる。セレクタ60のA入力
にはシーケンス戻り先メモリ71の出力が与えら
れる。また、加算器61の出力は最終セグメント
検出回路61Aに与えられており、この検出回路
61Aの出力信号がセレクタ60のA選択入力
SAに与えられ、その出力信号をインバータ72
で反転した信号がB選択入力SBに与えられる。
セレクタ60の出力はゲート62を介してシフト
レジスタ57に与えられる。 シフトレジスタ57が24ステージであり、動作
クロツクパルスがφ1であるため、カウント動作
は各チヤンネル1〜12毎の各サブチヤンネル別
に合計24タイムスロツトで時分割的に行われる。
以下では1つのチヤンネルに関してカウント動作
を説明する。まず、前述の通り、キーオンパルス
KONPが発生したときゲート62が閉じられ、
当該チヤンネルに対応するシフトレジスタ57の
2つのステージの内容がオール“0”にクリアさ
れる。後述のようにアタツク中は波形切換え指令
信号WCHGは発生されず、従つて、セレクタ5
8は常にC入力を選択する。また、アタツク中は
アタツクエンド信号ATENDは“0”であり、セ
レクタ59はA入力を選択する。さらに、最終順
位のセグメント波形の読み出しが完了するまでは
最終セグメント検出回路61Aの出力信号は
“0”であり、セレクタ60はB入力を選択する。
従つて、クリアされたシフトレジスタ57の内容
がセレクタ58のC入力、59のA入力、加算器
61、セレクタ60のB入力、ゲート62を介し
てチヤンネルタイミング1サイクルの時間遅れで
同じチヤンネルタイミングに同期して循環する。
従つてゲート62からスタートアドレスメモリ5
6に与えられるカウンタ値は「0」を維持し、こ
れに応じてアタツク部のスタートアドレス(例え
ばA0)を示すデータが読み出される。 アタツクが終了すると、前述の通り第8図のア
タツクエンド検出回路46からアタツクエンド信
号ATENDが当該チヤンネルタイミング(2サブ
チヤンネル分のタイムスロツト)で1度だけ発生
する。これによりアンド回路69,70が可能化
され、前半のタイムスロツト(すなわちクロツク
パルスφ2が“1”となるサブチヤンネル1タイ
ミング)でセレクタ59のB入力が選択され、数
値データ「1」がシフトレジスタ57にストアさ
れる。更に後半のタイムスロツト(すなわちクロ
ツクパルスφ2が“0”となるサブチヤンネル2
のタイミング)でセレクタ59のC入力が選択さ
れ、数値データ「2」がシフトレジスタ57にス
トアされる。 こうしてアタツク終了後、最初はサブチヤンネ
ル1に対応して数値「1」がセツトされ、サブチ
ヤンネル2に対応して数値「2」がセツトされ
る。これにより、スタートアドレスメモリ56か
らは、サブチヤンネル1に対応して第1のセグメ
ント波形SEG1のスタートアドレス(例えばA1
を示すデータが読み出され、サブチヤンネル2に
対応して第2のセグメント波形SEG2のスター
トアドレス(例えばA2)を示すデータが読み出
される。次に波形切換え指令信号WCHGが与え
られるまでこの状態が維持される。尚、ゲート6
2から出力される1チヤンネル分(2つのサブチ
ヤンネル分)のカウント値の変化の一例が第11図
bに示されている。 波形切換え指令信号WCHGは、後述するよう
に1つのチヤンネルに関する2つのサブチヤンネ
ルの一方に対応して交互に切換わつて発生するよ
うになつている。第11図bに示すように最初は
サブチヤンネル1に対応して発生し、次にサブチ
ヤンネル2に対応して発生し、以後交互に切換わ
つて発生する。従つて、第9図の回路では波形切
換え指令信号WCHGに応答するカウント動作は
2つのサブチヤンネルのどちらか一方に関して行
われる。 切換え指令信号WCHGが前半のチヤンネルタ
イムスロツトつまりサブチヤンネル1に対応して
発生したとき、クロツクパルスφ2の“1”に対
応してアンド回路65が可能化されるが、アンド
回路66は可能化されない。従つてその場合は、
セレクタ58のA入力を介して遅延回路63の出
力が選択され、このデータに対して加算器61で
信号WCHGによつて1が加算される。遅延回路
63はサブチヤンネルタイミングにして23タイム
スロツト前のデータを出力しており、これは同じ
チヤンネルに関する前サイクルのサブチヤンネル
2のカウントデータである。このサブチヤンネル
2のカウント値に1加算したものがサブチヤンネ
ル1の新たなカウント値となる。この場合、サブ
チヤンネル2はサブチヤンネル1のカウント値よ
りも1大きく、従つて、サブチヤンネル1のカウ
ント値は実質的に2加算されたのと同じことにな
る。例えば、前述のようにサブチヤンネル1のカ
ウント値が「1」で、サブチヤンネル2のカウン
ト値が「2」のとき、最初の波形切換え指令信号
WCHGがサブチヤンネル1に対応して与えられ
ると、サブチヤンネル1のタイミングで前サイク
ルのサブチヤンネル2のカウント値「2」(つま
り遅延回路63の出力)に対して1が加算され、
サブチヤンネル1のカウント値は「3」に変わ
る。この場合サブチヤンネル2のタイミングでは
セレクタ58のC入力を介してシフトレジスタ5
7の出力がそのまま選択され、カウント値の増加
は行われない。従つて、サブチヤンネル2のカウ
ント値は「2」のままである。こうして、最初の
波形切換え指令信号WCHGによつてサブチヤン
ネル1の読み出しアドレスが変化し、第3のセグ
メント波形SEG3のスタートアドレス(例えば
A3)を示すデータがメモリ56から読み出され
る。一方、サブチヤンネル2の読み出しアドレス
は変化せず、第2のセグメント波形SEG2のス
タートアドレスデータが依然として読み出され
る。 波形切換え指令信号WCHGがサブチヤンネル
2に対応して発生したときは、上述とは逆にアン
ド回路66が可能化され、遅延回路64の出力が
セレクタ58のB入力を介して選択され、このデ
ータに信号WCHGによつて加算器61で1が加
算される。遅延回路64は1タイムスロツト前の
サブチヤンネル、つまり同じチヤンネルのサブチ
ヤンネル1のカウント値を出力しており、このカ
ウント値に1加算したものがサブチヤンネル2の
新たなカウント値となる。この場合、サブチヤン
ネル1のカウント値はサブチヤンネル2のカウン
ト値よりも1大きく、従つて、サブチヤンネル2
のカウント値は実質的に2加算されたのと同じこ
とになる。例えば、前述のようにサブチヤンネル
1のカウント値が「3」でサブチヤンネル2のカ
ウント値が「2」のときに信号WCHGがサブチ
ヤンネル2に対応して発生すると、サブチヤンネ
ル1のカウント値「3」はそのままで、サブチヤ
ンネル2のカウント値が「4」に変わる。 以上のように、サブチヤンネル1,2の一方に
対応して波形切換え指令信号WCHGが交互に発
生する毎に、対応するサブチヤンネルのカウント
値が2づつ増加し、これに対応して各サブチヤン
ネルで指定されるセグメント波形の順位は「1」
と「2」,「3」と「2」,「3」と「4」,「5」と
「4」、というように2つおきに交互に切換わる。
このような2つおきの交互の波形切換え制御によ
つて第1図bに示したような両系列(サブチヤン
ネル1,2)に対するセグメント波形の割振りが
実現される。 波形切換え指令信号WCHGが所定数与えられ
て加算器61の出力が最終順位のセグメント波形
を指定する値を越えると最終セグメント検出回路
61Aの出力信号が“1”になる。なお、この検
出回路61Aは、例えば、波形メモリ14に各音
色毎にそれぞれ記憶される複数のセグメント波形
のうち最終順位のセグメント波形を指定する数値
を各音色毎にそれぞれ記憶し、音色選択情報TC
によつて読み出しが行なわれるメモリと、このメ
モリから読み出された数値データと加算器61の
出力データとを比較して「出力データの値>数値
データの値」のとき“1”信号を出力する比較器
とによつて構成される。検出回路61の出力信号
が“1”になると、セレクタ60はA入力選択に
切換わる。これにより、シーケンス戻り先メモリ
71から読み出された戻り先順位データがセレク
タ60で選択され、シフトレジスタ57にストア
される。シーケンス戻り先メモリ71には、最終
順位のセグメント波形を読み出した後にどの順位
のセグメント波形に戻つて読み出すべきかを指示
する戻り先順位データが各音色毎にサブチヤンネ
ル1,2についてそれぞれ記憶されており、音色
選択情報TC及びクロツクパルスφ2に応じて所定
の戻り先順位データが読み出される。最終順位の
セグメント波形を読み出した後も発音が持続して
いる場合は、戻り先順位データに対応する順位の
セグメント波形に戻つて読み出しが持続されるよ
うにする目的で、シーケンス戻り先メモリ71が
設けられている。この場合、シーケンス戻り先メ
モリ71に記憶される戻り先順位データとして
は、波形メモリ14に記憶されるシーケンス波形
SEG1,SEG2……の総数が偶数である音色に
関してはサブチヤンネル1に対応して実際に戻つ
て読み出すセグメント波形SEGの順位を示す
数値が、またサブチヤンネル2に対応して該セ
グメント波形SEGの次のセグメント波形SEG
+1の順位を示す数値+1がそれぞれ記憶さ
れる。一方、上記シーケンス波形の総数が奇数の
音色に関しては上記の場合とは逆にサブチヤンネ
ル2に対応して数値が、またサブチヤンネル1
に対応して数値+1がそれぞれ記憶される。 例えば、音色Aが選択され、この音色Aに関す
るセグメント波形の総数が「6」であるとし、戻
り先のセグメント波形の順位が「3」の場合、サ
ブチヤンネル1のカウント値は「0」→「1」→
「3」→「5」→「3」→「5」→「3」→「5」
……と変化し、一方サブチヤンネル2のカウント
値は「0」→「2」→「4」→「6」→「2」→
「6」→「2」→「6」……と変化する。これに
より、サブチヤンネル1に関してはセグメント波
形SEG1,SEG3,SEG5が順次指定された後
セグメント波形SEG3,SEG5が繰返し指定さ
れ、一方サブチヤンネル2に関してはセグメント
波形SEG2,SEG4,SEG6が順次指定された
後セグメント波形SEG4,SEG6が繰返し指定
されることになる。 次に第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が読み出される。なお、ゲート75
Aの出力が第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”のときは下位−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は信号によつてアタツク時以外
に可能化され、オール“0”検出回路82の出力
信号“1”を波形切換え指令信号WCHGとして
出力する。2つのサブチヤンネルの補間関数IPF
1,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の入力に戻される。ゲート75A
はアタツクエンド信号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の読み出しは
各チヤンネル毎に時分割で行われる。変化レート
メモリ77における変化レートデータの記憶例を
第1表に示す。同表に示された数値は変化レート
データDTの一例を10進数で表わしたものであ
る。第2表は第1表の数値に対応して設定される
各補間区間t1〜t4……の時間長を例示したも
ので、Tは所定の単位時間である。
TECHNICAL FIELD The present invention relates to a musical tone signal generating device, and more particularly to a musical tone signal generating device that generates a musical tone signal whose spectral components change over time by sequentially switching and generating a plurality of different musical waveforms. Prior Art Japanese Patent Application Laid-Open No. 58-95790 discloses a musical tone signal generating device 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. has been done. 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. Also, when switching musical waveforms, interpolation is performed that changes over time between the same sample points of both waveforms in order to smoothly transition from the preceding musical waveform to the next musical waveform. The interpolation is performed between a predetermined number of cycles in which the same tone waveform is repeatedly read out. In the conventional technology described above, the switching interval of the musical sound waveform is always fixed at a predetermined number of cycles, so the switching interval of the musical sound waveform changes depending on the frequency of the musical sound to be generated, and accordingly The disadvantage is that the time required for interpolation varies. That is, the higher the frequency of a musical tone, the faster the musical sound waveform changes, causing the problem that the time-varying effect of the spectral components becomes non-uniform depending on the pitch. Furthermore, the higher the frequency of a musical tone, the faster interpolation such as waveform switching will be performed, and the effect of smoothly transitioning waveforms will be diminished. Purpose of the invention This invention has been made in view of the above points,
It is an object of the present invention to provide a musical tone signal generating device which controls switching of musical waveforms without being affected by the frequency of musical tones to be generated and eliminates the above-mentioned drawbacks. Summary of the Invention A musical tone signal generating device according to the present invention divides a plurality of different musical sound waveforms sampled discretely between the start and end of a musical tone into a plurality of sample points, and generates a waveform corresponding to each sample point. a waveform storage means that stores data; a readout means that has a plurality of time-sharing processing channels and repeatedly reads out waveform data of a predetermined musical sound waveform from the waveform storage means according to the musical sound frequency to be generated; and the waveform storage means a waveform specifying means for temporally switching and specifying a musical sound waveform to be read from, and a musical sound waveform of the time-division processing channel for two channels corresponding to the preceding musical sound waveform and the next musical sound waveform when switching the musical sound waveform to be read out; interpolation means for weighting, a counting means for generating an independent time function independent of musical tone frequency in order to set the time change of weighting in said interpolation means, and said waveform designation according to the output of said counting means. switching control means for controlling waveform switching in the means, and the interpolation means weights the preceding musical sound waveform with a characteristic of gradually attenuating it in accordance with the count output of the counting means, The waveform is weighted with a characteristic that gradually rises, so that the waveform transitions smoothly. The counting means generates said time function independently of the musical tone frequency to be generated. In the interpolation means, a time change in weighting is set according to this time function.
The switching control means controls waveform switching at a predetermined time point according to the output of the counting means, that is, the time function. The waveform designation means switches the designation of musical waveforms under the control of the switching control means. In this way, the switching and interpolation of musical waveforms is controlled according to a unique time function that is independent of the musical frequency, producing a time-varying effect on spectral components that is independent of changes in pitch, as well as However, smooth interpolation (waveform transition) is guaranteed. However, in setting the above-mentioned time function, this invention
Of course, this does not necessarily preclude some consideration of pitch factors. By the way, the present invention is not limited to a system in which a musical sound waveform to be interpolated is formed by reading out a musical sound waveform from a waveform storage means that stores a plurality of different discretely sampled musical sound waveforms, but the present invention is not limited to a system in which a musical sound waveform to be interpolated is formed. It can also be advantageously applied to systems that form waveforms. An example of a tone waveform forming method using such parameters is a harmonic synthesis method. Conventionally, in order to temporally change the spectrum of a musical tone signal in this harmonic synthesis method, a large number of harmonic coefficient sets that set the relative amplitude of each harmonic are prepared, and these coefficient sets are temporally changed. I switched to , and used it for musical waveform formation calculations. As a result, the capacity of a storage device for storing harmonic coefficients has increased, and it has also become difficult to obtain smooth temporal changes in musical waveforms. Therefore, if a parametric method is applied as the musical sound waveform forming means in this invention, the time change of the musical sound waveform by interpolation according to the present invention will be realized in harmonic synthesis calculation or other parameter method. It has a great effect. That is, according to the present invention, instead of the above-mentioned waveform storage means and reading means, a musical waveform having a shape determined by parameters is formed, and the musical tone is generated in accordance with a phase specified by phase data. musical sound waveform forming means for forming a waveform; and parameter storage means for storing the parameters for determining the shape of each musical sound waveform, with respect to a plurality of different musical sound waveforms sampled discretely from the start to the end of musical tones. and a phase data generating means that generates the phase data that changes according to the frequency of the musical tone to be generated and supplies it to the musical sound waveform forming means. In this case, the above-mentioned waveform designating means temporally switches and designates the musical sound waveform to be formed by the musical sound waveform forming means, reads out the parameters corresponding to the designated musical sound waveform from the parameter storage means, and forms the musical sound waveform by reading out the parameters corresponding to the designated musical sound waveform from the parameter storage means. so as to give it to the forming means. Embodiment Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. 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. Since the musical sound waveform of a predetermined period (attack portion) from the start of sound generation changes in a complicated manner, it is difficult to imitate a high-quality attack portion waveform by repeatedly reading out the one-period waveform. Therefore, the musical sound waveform of this attack part is obtained by sampling the continuous multi-cycle waveform as it is and storing it in the waveform memory.For the entire sound generation period after the attack part, there are several different musical sound waveforms (one cycle). are sampled discretely and stored in the waveform memory.Figure 1a
Then, each 1 sampled discretely like that
The periodic waveforms are shown as SEG1 to SEG5, and these will be called segment waveforms for convenience. 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 are selected in order, and one cycle of the selected segment waveform is repeatedly read out. For example, after reading out the attack waveform, the first segment waveform SEG1 is repeatedly read out for a certain period of time, then the second segment waveform SEG2 is switched to and read out repeatedly, and thereafter the segment waveforms are sequentially switched. 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 readout method described above, at least the preceding segment waveform and the following segment waveform are read out together in the interval where interpolation is to be performed, and both are weighted respectively according to an appropriate interpolation function. do. As an example, the entire segment waveform switching interval corresponds to the interpolation interval, and the first segment waveform
When reading SEG1, use the second segment waveform
SEG2 is also read out, and at the next switching time, the second and third segment waveforms SEG2,
SEG3 is read out together, and then adjacent segment waveforms are read out together while sequentially switching in the same manner. 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, 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 functions IPF1, IPF
2 shows linear interpolation characteristics, but 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 SEG2. In this case, segment waveform SEG1
is repeatedly read out in the first series, and segment waveform SEG2 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 SEG2 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 SEG2 is obtained. In the next interpolation section t2 , interpolation is performed to smoothly transition from the segment waveform SEG2 to SEG3.
In this case, the segment waveform SEG2 is repeatedly read out in the second series following the previous time;
In the first series, segment waveforms SEG1 to SEG3
This is then 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. The signal is generated in a time-division manner in a total of 24 time slots for each subchannel 1 to 12. In terms of correspondence with the configuration of the present invention, there is a reading means for repeatedly reading one cycle of waveform data from the waveform storage means according to the musical tone frequency to be generated, and a musical waveform to be read from the waveform storage means by temporally switching and specifying. This phase generator 13 includes a waveform specifying means for specifying a waveform. The key code is sent to the phase generator 13 from the key assigner 11.
KC, key-on pulse KONP, key-on signal
KON is given, and the musical tone frequency to be generated and the start timing of sound generation are specified by these. 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... 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 ... are the start addresses of each address range, A 0 , B 0 , C 0 ... are the start addresses of the attack section, and A 1 , B 1 , C 1 ... are the first segment waveforms. Start address of SEG1, A 2 , B 2 ,
C 2 ... is the start address of the second segment waveform SEG2. As an example, one period waveform is 256
The maximum number of cycles of the entire attack waveform is 256 cycles. still,
As shown in the figure, the number of cycles of the entire attack section waveform 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 ..., The lowest 8 bits of C 1 , C 2 . . . are all "0", and their upper bits have a value valid for specifying each segment waveform. 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. To show the correspondence with the structure of the present invention, when switching the musical sound waveform to be read, a part of the interpolation means (particularly means for generating the interpolation function); and counting means for generating a time function for setting the time change of weighting in the interpolation means.
The crossfade control circuit 16 includes a switching control means for controlling waveform switching in the waveform specifying means in accordance with the output of the counting means. 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 calculations and the adder 20 that adds the output of the multiplier 18 to a signal delayed by one period of the clock pulse φ 1 in the delay circuit 19 and an undelayed signal form 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 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 2-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 period 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 CE12 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. Also, flip-flop 33
-1 to 33-12 output Q is pitch synchronization pulse
It is output as PSP1~PSP2, and as mentioned above, the second
It is applied to latch circuits 24-1 to 24-12 in the figure. 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 NC2 of the 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 the flip-flop 33-1 to 33-
12, and the corresponding AND circuit 34-1
After that, pulses are output from the AND circuits 34-1 to 34-12 in response to the first channel timing signals CH1 to CH12, and the flip-flops 33-1 to 33 are activated at the falling edge of this output pulse. -12 is reset.
Then, the note clock pulse NC1~NC
Channel timing signal CH at the same frequency as 12
A new note clock pulse synchronized with CH1 to CH12 is obtained from each AND circuit 34-1 to 34-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 instantly closed by the key-on pulse KONP just before the start of sound, and the shift register 3
Clear the memory for the corresponding two stages in 7. Since the shift register 37 has a capacity of 8 bits per stage, the counter 38 has a capacity of 8 bits per stage.
56 counts are performed in time division for 24 channels (actually 12 channels). The output of the gate 36 is taken out as the counter 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 (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 via an adder 41 from a start address generation circuit 40 corresponding to waveform specifying means. The start address generation circuit 40 generates the start addresses A 0 , B 0 , C 0 of all waveforms of the attack section mentioned above.
...and the start address A 1 of each segment waveform,
A 2 ... is generated. 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 address 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 section 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 address of the entire attack waveform 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 section 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 the number of cycles data ATN is read out in accordance with the timbre selection information TC. Subtractor 48, gate 4
9. A counter 52 consisting of a selector 50 and a 24-stage/8-bit shift register 51 counts down the number of cycles each time one cycle of the attack waveform is read out, and performs the down-count in a time-division manner for each channel. . The selector 50 selects the cycle number data ATN read from the memory 47 when the key-on pulse KONP is generated via the B input, and takes it into the shift register 51. At other times, data to be applied to the A input of the selector 50 is selected from the final stage of the shift register 51 via the subtracter 48 and is applied to the shift register 51. 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 carries out signal CRY.
is given to the subtracter 48. The subtracter 48 subtracts 1 from the output data of the shift register 51 when the carry-out signal CRY is applied. 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. Furthermore, when the attack is completed, the gate 4 is turned on by the attack signal AT being “0”.
9 is closed 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 operation example in Fig. 8 is shown for one channel.
It will look like Figure 1a. 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 sequentially switches the start address of each segment waveform in response to waveform switching command signal WCHG. This is something that occurs. 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 ... are stored in advance, respectively, and a set of start addresses (for example, in the case of tone A, A 0 , A 1 , A 2
) is selected. 24 stage shift register 57, selectors 58, 59, 60, adder 61,
A loop including gate 62 constitutes a counter, and the count value taken out from gate 62 in this loop is applied to the address input of start address memory 56. The start address memory 56 sequentially reads out a selected set of start address data (for example, A 0 , A 1 , A 2 . . . ) according to the count value applied to the address input. That is, when the count value given from the gate 62 is "0", the start address A0 of the attack section is read out, and when it is "1", the first segment waveform is read out.
Read the start address A 1 of SEG1 and set it to “2”
Then, read out the start address A2 of the second segment waveform SEG2. 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 gate 62 is enabled by the inverted signal of the key-on pulse KONP, and the gate 62 closes in the channel in which the key-on pulse KONP is generated, and the stored contents of the shift register 57 corresponding to the channel are cleared. The output of the final stage of the shift register 57 is applied to the C input of the selector 58, and is also applied to the A input and B input of the selector 58 via delay circuits 63 and 64, respectively. The delay circuit 63 receives a clock pulse φ 1
A clock pulse φ 1 with a period equivalent to 23 periods of
The delay is controlled by ×23, and the delay circuit 64 is delayed by the clock pulse φ1 . The A selection input SA of the selector 58 is supplied with the output of an AND circuit 65 which performs AND logic on the clock pulse φ 2 and the waveform switching command signal WCHG. The B selection input SB has the inverted signal of clock pulse φ2 and the signal
The output of an AND circuit 66 which performs the AND logic of WCHG is given. C selection input SC has a signal
A signal obtained by inverting WCHG by an inverter 67 is provided. The output of selector 58 is given to the A input of selector 59. A numerical value "1" is given to the B input of the selector 59, and a numerical value "2" is given to the C input. The A selection input SA of the selector 59 is given a signal obtained by inverting the attack end signal ATEND by an inverter 68, and the B selection input SB is given the output of an AND circuit 69 which performs AND logic on the clock pulse φ 2 and the signal ATEND. C selection input SC
is the inverted signal of clock pulse φ2 and the signal
The AND logic of ATEND and the output of the AND circuit 70 are given. The output of selector 59 is given to adder 61. A waveform switching command signal WCHG is given to the other input of the adder 61.
1 is added to the output data of the selector 59 each time becomes "1". The output of the adder 61 is the selector 6
0 to the B input. The output of the sequence return destination memory 71 is applied to the A input of the selector 60. Further, the output of the adder 61 is given to the final segment detection circuit 61A, and the output signal of this detection circuit 61A is input to the A selection input of the selector 60.
SA, and its output signal is sent to the inverter 72.
The inverted signal is applied to the B selection input SB.
The output of selector 60 is applied to shift register 57 via gate 62. Since the shift register 57 has 24 stages and the operating clock pulse is φ1 , the counting operation is performed in a time-division manner in a total of 24 time slots for each subchannel of each channel 1 to 12.
The counting operation for one channel will be explained below. First, as mentioned above, the key-on pulse
When KONP occurs, gate 62 is closed,
The contents of the two stages of the shift register 57 corresponding to the channel are all cleared to "0". As described later, the waveform switching command signal WCHG is not generated during the attack, so the selector 5
8 always selects C input. Further, during the attack, the attack end signal ATEND is "0", and the selector 59 selects the A input. Further, the output signal of the final segment detection circuit 61A is "0" until the reading of the segment waveform of the final rank is completed, and the selector 60 selects the B input.
Therefore, the contents of the cleared shift register 57 are transferred to the same channel timing via the C input of the selector 58, the A input of 59, the adder 61, the B input of the selector 60, and the gate 62 with a delay of one channel timing cycle. Cycle in sync.
Therefore, starting address memory 5 from gate 62
The counter value given to 6 is maintained at "0", and data indicating the start address (for example, A 0 ) of the attack section is read out accordingly. 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 AND circuits 69 and 70 are enabled, and the B input of the selector 59 is selected in the first half time slot (that is, the subchannel 1 timing when clock pulse φ 2 becomes "1"), and the numerical data "1" is transferred to the shift register. 57. Furthermore, in the second half time slot (that is, subchannel 2 where clock pulse φ 2 is “0”)
At this timing), the C input of the selector 59 is selected, and numerical data "2" is stored in the shift register 57. In this manner, after the attack is completed, the numerical value "1" is initially set corresponding to subchannel 1, and the numerical value "2" is set corresponding to subchannel 2. As a result, from the start address memory 56, the start address (for example, A 1 ) of the first segment waveform SEG1 corresponding to subchannel 1 is stored.
Data indicating the start address (for example, A 2 ) of the second segment waveform SEG2 corresponding to subchannel 2 is read out. This state is maintained until the next waveform switching command signal WCHG is applied. Furthermore, gate 6
An example of a change in the count value for one channel (two subchannels) outputted from No. 2 is shown in FIG. 11b. 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 of FIG. 9, the counting operation in response to the waveform switching command signal WCHG is performed for one of the two subchannels. When the switching command signal WCHG is generated corresponding to the first half channel time slot, that is, subchannel 1, the AND circuit 65 is enabled in response to the clock pulse φ 2 being "1", but the AND circuit 66 is not enabled. . Therefore, in that case,
The output of the delay circuit 63 is selected via the A input of the selector 58, and 1 is added to this data by the adder 61 using the signal WCHG. The delay circuit 63 outputs data 23 time slots ago at subchannel timing, and this is count data of subchannel 2 of the previous cycle regarding the same channel. The value added by 1 to the count value of subchannel 2 becomes the new count value of subchannel 1. In this case, subchannel 2 is greater than the count value of subchannel 1 by 1, and therefore, the count value of subchannel 1 is substantially the same as being added by 2. For example, as mentioned above, when the count value of subchannel 1 is "1" and the count value of subchannel 2 is "2", the first waveform switching command signal
When WCHG is given corresponding to subchannel 1, 1 is added to the count value "2" of subchannel 2 in the previous cycle (that is, the output of delay circuit 63) at the timing of subchannel 1, and
The count value of subchannel 1 changes to "3". In this case, at the timing of subchannel 2, the shift register 5
The output of No. 7 is selected as is, and the count value is not increased. Therefore, the count value of subchannel 2 remains "2". In this way, the read address of subchannel 1 is changed by the first waveform switching command signal WCHG, and the start address of the third segment waveform SEG3 (for example,
A 3 ) is read from memory 56. On the other hand, the read address of subchannel 2 does not change, and the start address data of the second segment waveform SEG2 is still read. When the waveform switching command signal WCHG is generated corresponding to subchannel 2, contrary to the above, the AND circuit 66 is enabled, the output of the delay circuit 64 is selected via the B input of the selector 58, and this data is 1 is added by the adder 61 according to the signal WCHG. The delay circuit 64 outputs the count value of the subchannel one time slot before, that is, the subchannel 1 of the same channel, and the value added by 1 to this count value becomes the new count value of the subchannel 2. In this case, the count value of subchannel 1 is 1 greater than the count value of subchannel 2, and therefore, the count value of subchannel 2
This is essentially the same as adding 2 to the count value. For example, as described above, when the count value of subchannel 1 is "3" and the count value of subchannel 2 is "2", and the signal WCHG is generated corresponding to subchannel 2, the count value of subchannel 1 is "2". 3" remains as is, and the count value of subchannel 2 changes to "4". As described above, each time the waveform switching command signal WCHG is generated alternately corresponding to one of subchannels 1 and 2, the count value of the corresponding subchannel increases by 2, and correspondingly, each subchannel The order of the segment waveform specified by is "1"
and "2", "3" and "2", "3" and "4", "5" and "4", and so on, and are alternately switched every second.
Through such alternating waveform switching control for every second waveform, allocation of segment waveforms to both streams (subchannels 1 and 2) as shown in FIG. 1B is realized. When a predetermined number of waveform switching command signals WCHG are applied and the output of the adder 61 exceeds a value specifying the final segment waveform, the output signal of the final segment detection circuit 61A becomes "1". Note that this detection circuit 61A stores, for each tone color, a numerical value that designates the last segment waveform among the plurality of segment waveforms stored for each tone color in the waveform memory 14, and uses the tone color selection information TC.
Compares the numerical data read from the memory with the output data of the adder 61 and outputs a "1" signal when "output data value > numerical data value". It consists of a comparator and a comparator. When the output signal of the detection circuit 61 becomes "1", the selector 60 switches to select the A input. As a result, the return destination rank data read from the sequence return destination memory 71 is selected by the selector 60 and stored in the shift register 57. The sequence return destination memory 71 stores return destination ranking data for subchannels 1 and 2 for each timbre, which instructs which ranking segment waveform should be returned to and read after reading the final ranking segment waveform. Then, predetermined return destination order data is read out in accordance with the tone color selection information TC and the clock pulse φ2 . If the sound continues even after reading out the segment waveform of the final rank, the sequence return destination memory 71 is set so that the reading continues by returning to the segment waveform of the rank corresponding to the return destination rank data. It is provided. In this case, the return destination order data stored in the sequence return destination memory 71 includes the sequence waveform stored in the waveform memory 14.
For tones in which the total number of SEG1, SEG2... is an even number, the numerical value indicating the order of the segment waveform SEG that is actually read back corresponds to subchannel 1, and the number indicating the order of the segment waveform SEG that is actually read back corresponds to subchannel 2. Segment waveform SEG of
A numerical value +1 indicating the rank of +1 is stored respectively. On the other hand, for tones where the total number of sequence waveforms is odd, contrary to the above case, the numerical value corresponds to subchannel 2, and the numerical value corresponds to subchannel 1.
A numerical value +1 is stored corresponding to each. For example, if timbre A is selected and the total number of segment waveforms related to timbre A is "6", and the order of the segment waveform to return to is "3", the count value of subchannel 1 will change from "0" to " 1” →
"3" → "5" → "3" → "5" → "3" → "5"
..., and on the other hand, the count value of subchannel 2 is "0" → "2" → "4" → "6" → "2" →
It changes as "6" → "2" → "6"... As a result, for subchannel 1, segment waveforms SEG1, SEG3, and SEG5 are specified sequentially, and then segment waveforms SEG3 and SEG5 are repeatedly specified, while for subchannel 2, segment waveforms SEG2, SEG4, and SEG6 are specified sequentially, and then segment waveforms SEG3 and SEG5 are specified sequentially. Segment waveforms SEG4 and SEG6 will be repeatedly designated. 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 times of switching counted by the first counter 73A. In addition, gate 75
The output of A 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-1 bits are inverted and output. In this way, the count value that increases from the minimum value 0 to the maximum value 2n turns around at the 2n -1 position, forming a triangular wave-like function that increases from 0 to 2n -1 and then decreases from 2n -1 to 0. Convert. 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 the 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 FIG. 11c. 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 input and clock pulse φ2 is “1” (subchannel 1
When φ2 is "0" (time slot of subchannel 2), select IPF1 of the A input. The switching control means 81 controls the waveform switching operation in the waveform specifying means, that is, the start address generation circuit 40 in FIG. an all "0" detection circuit 82 for detecting whether or not all bits are "0";
It includes an AND circuit 83 to which the output of this detection circuit 82 and an inverted attack signal are input. The AND circuit 83 is enabled by the signal 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. Interpolation function IPF of two subchannels
1. When one of the IPFs 2 that gradually decreases over time with a negative slope becomes all bits "0", the output of the all "0" detection circuit 82 becomes "1" at the timing corresponding to that subchannel, and this A waveform switching command signal WCHG is generated in response to the waveform switching command signal WCHG. 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. . Figure 11c shows an example of the generation of the waveform switching command signal WCHG corresponding to the interpolation functions IPF1 and IPF2.
Shown in Figure b. 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. (selection operation using a dedicated switch, etc.), and the selected interpolation characteristic curve is applied to the interpolation functions IPF1 and 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 changes midway through. is gradual, and then changes significantly 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. Gate 75A
is controlled by the inverted signal of 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 the gate 75A is applied to the change rate memory 77 as described above, and also to the all "1" detection signal 88. 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 count value of the counter 73A maintains the 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 accordance with 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. , t3, t4...) are determined. In the memory 77, the change rate data DT can be arbitrarily set according to the number of waveform switching (that is, for each interpolation section), so the lengths t1, t2, t3, t4, etc. of each interpolation section are not uniform. It 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 a time-division counting operation for each channel, so the above-mentioned counting of the number of waveform switching and reading of the change rate data DT are performed for each channel in a time-division manner. . Table 1 shows an example of how the change rate data is stored in the change rate memory 77. The numerical values shown in the table are examples of change rate data DT expressed in decimal notation. Table 2 exemplifies the time lengths of each interpolation section t1 to t4 set corresponding to the values in Table 1, where T is a predetermined unit time.

【表】【table】

【表】 上述から明らかなように、クロスフエードカー
ブメモリ84を利用することによつて任意の補間
特性カーブとすることができることのみならず、
切換え回数をカウントする第1のカウンタ73A
と変化レートメモリ77との組合せにより個々の
補間区間の時間長をも任意に設定することができ
る。 第10図における第1のカウンタ73Aと変化
レートメモリ77の部分すなわち計数レート制御
手段は第13図のように変更することもできる。
変化レート初期値メモリ90は変化レートデータ
DTの初期値のみを各音色毎に記憶しており、音
色選択情報TCに応じて所定の変化レート初期値
データ読み出す。セレクタ91はアタツクエンド
信号ATENDによつてアタツク終了時のみ瞬時に
メモリ90からの初期値データを選択し、シフト
レジスタ92にストアする。シフトレジスタ92
は12ステージであり、各チヤンネル分のデータの
ストアが可能である。シフトレジスタ92の最終
ステージの出力は変化レートデータDTとして出
力されると共にシフト回路93に加わり、アンド
回路94からの制御信号に応じてビツトシフトさ
れ、セレクタ91のA入力を介して循環する。ア
ンド回路94には変化レートデータDTの最下位
ビツトLSBの反転信号と遅延回路86(第10
図)で遅延された切換え同期信号CHGS′が与え
られる。一例として、シフト回路93はアンド回
路94から信号“1”が与えられたとき入力デー
タの各ビツトを下位に1ビツトシフトするもので
ある。 データDTのLSBが“0”のときはアンド回路
94が可能化され、シフトレジスタ92にストア
した初期値データは切換え同期信号CHGS′が発
生する毎に1ビツトずつ順次下位にシフトされ
る。このシフトは各チヤンネル別に時分割で行わ
れる。やがてLSBが“1”になると、アンド回
路94が不能化され、データDTはそのときの値
を維持する。この場合の変化レートデータDTの
一例を第3表に示す。
[Table] As is clear from the above, by using the crossfade curve memory 84, not only can an arbitrary interpolation characteristic curve be obtained;
First counter 73A that counts the number of times of switching
The time length of each interpolation section can also be arbitrarily set by the combination of the change rate memory 77 and the change rate memory 77. The first counter 73A and the change rate memory 77 in FIG. 10, that is, the counting rate control means, can also be changed as shown in FIG. 13.
Change rate initial value memory 90 contains change rate data.
Only the initial value of DT is stored for each timbre, and predetermined change rate initial value data is read out according to the timbre selection information TC. The selector 91 instantaneously selects the initial value data from the memory 90 only at the end of the attack in response to the attack end signal ATEND, and stores it in the shift register 92. shift register 92
has 12 stages and can store data for each channel. The output of the final stage of the shift register 92 is outputted as change rate data DT and is applied to a shift circuit 93 where it is bit shifted in accordance with a control signal from an AND circuit 94 and circulated through the A input of the selector 91. The AND circuit 94 is connected to an inverted signal of the least significant bit LSB of the change rate data DT and a delay circuit 86 (10th
A delayed switching synchronization signal CHGS' is provided in FIG. As an example, the shift circuit 93 shifts each bit of the input data by one bit to the lower order when the signal "1" is applied from the AND circuit 94. When the LSB of the data DT is "0", the AND circuit 94 is enabled, and the initial value data stored in the shift register 92 is sequentially shifted down one bit at a time every time the switching synchronization signal CHGS' is generated. This shift is performed on a time-division basis for each channel. Eventually, when the LSB becomes "1", the AND circuit 94 is disabled and the data DT maintains its current value. An example of the change rate data DT in this case is shown in Table 3.

【表】 第13図の場合は第10図に比べて変化レート
データDTの変化が単調であるが、構成が簡単に
なる。 尚、第10図及び第13図の例では第2のカウ
ンタ73Bのカウント値の最上位ビツトMSBの
値に応じて下位ビツトの反転を制御することによ
り三角波状に折返した補間関数(基本の補間関数
即ちメモリ84のアドレス信号)を得るようにし
ているため、カウンタ73Bのカウント値は必ら
ず全ビツト“0”から増加を開始して最終的にオ
ーバーフローによつて全ビツト“0”まで正確に
戻ることが要求される。従つて、変化ルートデー
タDTの値は「1」,「2」,「4」,「8」など2の
べき乗であることが要求される。これに対して、
変化レートデータDTの値を任意に設定できるよ
うにするには、第2のカウンタ73Bを第14図
のように変更すればよい。 第14図に示すカウンタ72Bにおいては、加
算器74Bとゲート75Bとの間にゲート94が
設けられている。加算器74Bの最上位ビツトか
らのキヤリイアウト信号をインバータ95で反転
した信号が反転アタツク信号と共にアンド回
路96に加わり、その出力によつてゲート75B
が制御される。加算器74Bの出力信号のうち最
上位ビツトMSBがゲート75Bに入力されると
共に立上り微分回路97に加わり、下位のn−1
ビツトがゲート94に入力される。立上り微分回
路97はMSBが信号“1”に立上つたときクロ
ツクパルスφ2の1周期幅で信号“1”を出力し、
この信号“1”がインバータ98で反転されてゲ
ート94の制御入力に加わる。ゲート94の出力
(n−1ビツト)と加算器74BのMSB出力がn
ビツトの信号としてゲート75Bに加わる。ゲー
ト75Bの出力はシフトレジスタ76Bに加わる
と共に前述と同様に関数変換回路78に与えられ
る。 アタツク中は反転アタツク信号の“0”に
よりアンド回路96が不能化され、ゲート75B
が閉じ、カウンタ73Bのカウント値はオール
“0”に維持される。アタツクが終了するとゲー
ト75Bが開き、また、通常はゲート94が開い
ているので、カウント動作が可能となり、変化レ
ートデータDTの値を所定時間間隔(チヤンネル
タイミング1サイクル)で繰返し加算する。こう
してデータDTの値に応じた任意のレートでカウ
ント値が増加する。加算結果の最上位ビツト
MSBが“0”から“1”に変化したとき、その
チヤンネルタイミングで立上り微分回路97から
パルスが出力され、ゲート94が一時的に閉じ
る。カウント値の増加率は任意である(2のべき
乗に限らない)ため加算結果のMSBが“0”か
ら“1”に切換わつたときその下位n−1ビツト
が全ビツト“0”とは限らない。しかし、上述の
ようにゲート94が一時的に閉じることにより、
加算結果の下位n−1ビツトが強制的に全ビツト
“0”にクリアされ、ゲート75Bを介してシフ
トレジスタ76Bに与えられるカウント値は
MSBが“1”でその下位n−1ビツトがオール
“0”となる。 加算結果の最上位ビツトMSBが“1”から
“0”に変化したとき、つまり、加算器74Bか
らキヤリイアウト信号が出力されたとき、アンド
回路96が不能化され、ゲート75Bが閉じる。
このときも、カウント値の増加率は任意であるた
め、加算器74Bの出力が全ビツト“0”とは限
らない。しかし、ゲート75Bが一時的に閉じる
ことにより、該ゲート75Bから出力されるカウ
ント値は強制的に全ビツト“0”となる。 これにより、関数変換回路78の出力は、折返
し点では必らず全ビツト“0”又は全ビツト
“1”となり、検出回路82,85(第10図)
では支障なくオール“0”又はオール“1”を検
出し、波形切換え制御を支障なく行うことができ
る。従つて、第14図の構成によれば、変化レー
トデータDTを2のべき乗に限らず任意の値に設
定することができる。なお、その場合、セグメン
ト波形を丁度整数周期読み出したとき波形切換え
が行われるようにするには、データDTの値を楽
音周波数に関連づけて決定するようにすればよ
い。 上述の実施例では計数手段73における計数レ
ートは、所定時間間隔で適宜の値のデータDTを
繰返しカウントすることにより、このデータDT
の値によつて決定されるようになつている。しか
し、これに限らず、データDTの値を一定にして
計数時間間隔(カウントクロツク)を可変制御す
る、もしくはデータDTの値と計数時間間隔の両
方を可変制御することにより計数レートを決定す
るようにしてもよい。 また、第9図の例はスタートアドレス発生回路
40は、或るサブチヤンネルのカウント値(セグ
メント波形順位データ)を2増加するために、他
方のサブチヤンネルのカウント値を取り出してこ
れに1増加することにより等価的に2増加したの
と同じ計算を行つている。しかし、これに限ら
ず、スタートアドレス発生回路40を第15図の
ように構成し、当該サブチヤンネルのカウント値
に直接的に2加算するようにしてもよい。 第15図において、第9図と同一符号は同一回
路であり、第9図の符号58,63〜67に相当
する回路が省略され、シフトレジスタ57の出力
がセレクタ59のA入力に直接入力されている点
が異なつている。また、ゲート99が設けられて
おり、波形切換え指令信号WCHGが与えられる
毎に数値「2」のデータを該ゲート99を介して
加算器61に与えるようになつている。従つて、
一方のサブチヤンネルに対応して波形切換え指令
信号WCHGが発生されると、そのサブチヤンネ
ルのタイミングでシフトレジスタ57から出力さ
れたカウント値に数値「2」が加算され、実質的
に第9図と同等に動作する。 以上説明した実施例では第1図bに示すように
基本の補間関数IPF1,IPF2(メモリ84のア
ドレス信号)が三角波状に変化し、常時2つのセ
グメント波形が重みづけされるようになつている
が、これに限らず、波形切換わりの過渡期でのみ
2波形の重みづけを行うようにしてもよい。第1
6図はその場合の基本の補間関数IPF1,IPF2
(メモリ84のアドレス信号)の一例を示したも
ので、例えばセグメント波形SEG1からSEG2
に切換わるときその過渡期P1において両関数IPF
1,IPF2を交差させ、以後はSEG2のための補
間関数IPF2を最大値に維持し、SEG1のための
補間関数IPF1は最小値に維持する。SEG2から
SEG3に切換わる過渡期P2においても同様であ
る。第16図のような制御を行うためには、第1
0図の検出回路82,85が単にオール“0”又
はオール“1”を検出するのではなく、オール
“0”又はオール“1”から増加方向又は減少方
向に変化したことを検出し、これに基き波形切換
え指令信号WCHGあるいは切換え同期信号
CHGSを発生するようにすればよい。 また、上記実施例では補間用の2系列(サブチ
ヤンネル)が時分割処理されているが、これを並
列処理するようにしてもよい。また、第2図では
補間用に重みづけされた2系列の楽音波形信号を
加算器20でデイジタル加算した後D/A変換し
ているが、各系列独立にD/A変換した後混合も
しくは独立発音するようにしてもよい。 また、第2図の波形メモリ14では波形各サン
プル点の振幅値データをそのまま記憶しているも
のとしているが、これに限らず種々の記憶法を採
用してよい。例えば、各サンプル点間の振幅値の
差分値を記憶しておき、これらを読み出した後累
算することにより各サンプル点振幅データを得る
方法、或いは各サンプル点振幅値の実数を仮数部
と指数部に分けて記憶しておき、読み出した後の
演算処理によつて各サンプル点振幅値の実数を得
る方法など、種々のものがある。 なお、上記実施例ではセグメント波形(SEG
1,SEG2,……)として波形1周期分をその
まま波形メモリ14に記憶するようにしたが、こ
れに限らず波形の半周期だけを記憶してもよく、
この場合には読み出された半周期波形に対して
正・負の極性を交互に付加して1周期波形とすれ
ばよい。また、波形メモリ14に記憶するセグメ
ント波形は1周期波形に限らず、複数周期(例え
ば2周期)分の波形であつてもよい。 上記実施例では、楽音信号のアタツク部につい
ては、連続する複数周期波形をそのまま波形メモ
リ14に記憶しておき、これをそのまま読み出す
ことにより発生するようにしたが、これに代え
て、アタツク部に関してもこの発明にしたがつて
複数のセグメント波形を波形メモリ14に記憶し
ておき、これを順次切換えて読み出すとともに、
波形切換え時に上述した補間処理を行つて楽音信
号を発生するようにしてもよいことは勿論であ
る。 上記実施例ではこの発明による楽音信号発生装
置を複音電子楽器に用いた場合につき説明した
が、単音電子楽器にも用いることができるのは勿
論であり、更には電子楽器に限らず楽音を発生す
る装置全てに適用できる。 また、第10図の例では最終的な補間関数つま
りクロスフエードカーブデータCFはメモリ84
から得るようになつているが、メモリ84に設け
ずに、IPF1,IPF2をそのまま乗算器18(第
2図)に重みづけ係数として与える、もしくは、
適宜の論理演算によつてIPF1,IPF2を修正し
たものを乗算器18に与えるようにしてもよい。 なお、上記実施例においては各セグメント波形
SEG1,SEG2,……の波形データは波形メモ
リ14に予め準備されており、これ読み出すこと
により各セグメント波形(ひいてはアタツク部の
波形)が発生されるようになつている。しかし、
これに限らず、高調波合成方式やデイジタルフイ
ルタ方式などのようにパラメータ(高調波相対振
幅係数やフイルタ係数)に基き所望の楽音波形を
形成する楽音波形形成手段を用いて各セグメント
波形を発生するようにしてもよい。そのようなパ
ラメータ方式の楽音波形形成手段を用いた場合に
おけるこの発明の一実施例を第17図を参照して
以下説明する。 第17図において、第2図に示したものと同一
符号が付されたものは同一機能の回路又は装置で
あり、それらに関する説明は省略する。 1周期位相データ発生回路100は、楽音波形
1周期内の各位相(各サンプル点)を順次指定す
る位相データADRを発生するためのものであり、
第5図の読出し手段28と同一構成を用いること
ができる。 楽音波形形成回路101は、パラメータを用い
た所定の演算によつて該パラメータによつて決定
される形状の楽音波形を形成すると共に前記位相
データ発生回路100から与えられた位相データ
ADRによつて指定された位相(サンプル点)に
対応してこの楽音波形の形成を行うものである。
この楽音波形形成回路101として、例えば高調
波合成演算によつて所望の楽音波形形成を行うも
のを用いることができる。そのような高調波合成
演算方式の楽音波形形成回路は特公昭52−16363
号公報(各高調波信号を並列的に発生するタイ
プ)や特開昭48−90217号公報(各高調波信号を
時分割で発生するタイプ)などで既に周知である
ため、詳細は省略するが、概略を示せば第19図
のようである。高調波合成演算方式の場合、演算
に用いるパラメータは、基本波を含む各高調波の
相対振幅係数から成る。第19図の高調波発生回
路107では位相データADRに応じて各高調波
信号(基本波を含む)を発生し、乗算器108で
は各高調波信号の相対振幅をそれに対応する相対
振幅係数(パラメータ)によつて夫々制御し、加
算合成回路109ではそれらを加算合成すること
により所望特性の楽音波形を得る。 パラメータメモリ102は、楽音の発音開始か
ら終了までの間で離散的にサンプリングした複数
の異なる楽音波形すなわちセグメント波形に関し
て、各セグメント波形の特性(特に形状)を決定
するパラメータを夫々記憶したものである。な
お、この実施例ではアタツク部と他の部分を区別
せずに、アタツク部においても適宜セグメント波
形を離散的にサンプリングするものとする。これ
らの各セグメント波形は前述と同様に符号SEG
に発生順序を示す番号1,2,3……を付加して
区別するものとする。パラメータメモリ102で
は第4表に示すように各セグメント波形SEG1,
SEG2,……の順位1,2……に対応するパラメ
ータa1,a2……、b1,b2……、c1,c2……を各
音色A,B,C……毎に記憶しており、音色選択
情報TCによつて所定の音色に対応するパラメー
タ群が選択され、選択されたパラメータ群のうち
セグメント順位データ発生回路103から発生さ
れたセグメント順位データに対応するパラメータ
が読み出されて楽音波形形成回路101に与えら
れる。
[Table] In the case of FIG. 13, the change rate data DT changes monotonically compared to FIG. 10, but the configuration is simpler. In the examples shown in FIGS. 10 and 13, the interpolation function folded into a triangular waveform (basic interpolation Since the count value of the counter 73B always starts increasing from all bits "0" and finally reaches all bits "0" due to overflow, it is accurate. required to return to. Therefore, the value of the changed route data DT is required to be a power of 2, such as "1", "2", "4", and "8". On the contrary,
In order to be able to arbitrarily set the value of the change rate data DT, the second counter 73B may be changed as shown in FIG. In counter 72B shown in FIG. 14, a gate 94 is provided between adder 74B and gate 75B. A signal obtained by inverting the carry-out signal from the most significant bit of adder 74B by inverter 95 is applied together with an inverted attack signal to AND circuit 96, and its output is used to invert gate 75B.
is controlled. The most significant bit MSB of the output signal of the adder 74B is input to the gate 75B and is also applied to the rising differential circuit 97, where it is applied to the lower n-1 bits.
The bit is input to gate 94. The rising differential circuit 97 outputs a signal “1” with a width of one period of the clock pulse φ 2 when the MSB rises to the signal “1”.
This signal "1" is inverted by an inverter 98 and applied to the control input of the gate 94. The output of gate 94 (n-1 bits) and the MSB output of adder 74B are n
It is applied to gate 75B as a bit signal. The output of gate 75B is applied to shift register 76B and is also applied to function conversion circuit 78 in the same manner as described above. During the attack, the AND circuit 96 is disabled by the inverted attack signal "0", and the gate 75B
is closed, and the count values of the counter 73B are maintained at all "0". When the attack is completed, the gate 75B opens, and since the gate 94 is normally open, a counting operation is possible, and the value of the change rate data DT is repeatedly added at predetermined time intervals (one channel timing cycle). In this way, the count value increases at an arbitrary rate depending on the value of the data DT. Most significant bit of addition result
When the MSB changes from "0" to "1", a pulse is output from the rising differential circuit 97 at that channel timing, and the gate 94 is temporarily closed. Since the increase rate of the count value is arbitrary (not limited to a power of 2), when the MSB of the addition result switches from "0" to "1", the lower n-1 bits may not all be "0". do not have. However, as described above, by temporarily closing the gate 94,
The lower n-1 bits of the addition result are forcibly cleared to all bits "0", and the count value given to the shift register 76B via the gate 75B is
The MSB is "1" and its lower n-1 bits are all "0". When the most significant bit MSB of the addition result changes from "1" to "0", that is, when the carry-out signal is output from adder 74B, AND circuit 96 is disabled and gate 75B is closed.
Also at this time, since the increase rate of the count value is arbitrary, the output of the adder 74B does not necessarily have all bits "0". However, by temporarily closing the gate 75B, all bits of the count value output from the gate 75B are forced to be "0". As a result, the output of the function conversion circuit 78 always becomes all bits "0" or all bits "1" at the turning point, and the detection circuits 82 and 85 (Fig. 10)
In this case, all "0" or all "1" can be detected without any problem, and waveform switching control can be performed without any problem. Therefore, according to the configuration shown in FIG. 14, the change rate data DT can be set to any value, not just a power of 2. In this case, in order to cause the waveform to be switched when the segment waveform is read exactly for an integer period, the value of the data DT may be determined in association with the musical tone frequency. In the embodiment described above, the counting rate in the counting means 73 is determined by repeatedly counting data DT of appropriate values at predetermined time intervals.
It is now determined by the value of . However, the counting rate is not limited to this, and the counting rate may be determined by keeping the value of data DT constant and variably controlling the counting time interval (count clock), or by variably controlling both the value of data DT and the counting time interval. You can do it like this. Furthermore, in the example of FIG. 9, in order to increase the count value (segment waveform order data) of a certain subchannel by 2, the start address generation circuit 40 extracts the count value of the other subchannel and increases it by 1. Therefore, the calculation is equivalent to increasing by 2. However, the present invention is not limited to this, and the start address generation circuit 40 may be configured as shown in FIG. 15 to directly add 2 to the count value of the subchannel. In FIG. 15, the same symbols as in FIG. 9 indicate the same circuits, and the circuits corresponding to the symbols 58, 63 to 67 in FIG. 9 are omitted, and the output of the shift register 57 is directly input to the A input of the selector 59. The difference is that Further, a gate 99 is provided, and data of numerical value "2" is provided to the adder 61 via the gate 99 every time the waveform switching command signal WCHG is applied. Therefore,
When the waveform switching command signal WCHG is generated corresponding to one of the subchannels, the numerical value "2" is added to the count value output from the shift register 57 at the timing of that subchannel, and the result is substantially as shown in FIG. Works equally well. 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. 1st
Figure 6 shows the basic interpolation functions IPF1 and IPF2 in that case.
(memory 84 address signal), for example, segment waveforms SEG1 to SEG2
Both functions IPF in the transition period P 1 when switching to
1, IPF2 is crossed, and thereafter the interpolation function IPF2 for SEG2 is maintained at the maximum value, and the interpolation function IPF1 for SEG1 is maintained at the minimum value. From SEG2
The same applies to the transition period P2 when switching to SEG3. In order to perform control as shown in Fig. 16, the first
The detection circuits 82 and 85 in Figure 0 do not simply detect all "0" or all "1", but detect a change from all "0" or all "1" in an increasing direction or a decreasing direction. Waveform switching command signal WCHG or switching synchronization signal based on
All you have to do is generate CHGS. 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 this, 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 are stored in the waveform memory 14, and these are sequentially switched and read out.
Of course, the above-mentioned interpolation process may be performed at the time of waveform switching to generate musical tone signals. In the above embodiment, the musical tone signal generating device according to the present invention is used in a multi-tone electronic musical instrument, but it can of course also be used in a single-tone electronic musical instrument, and furthermore, it can be used not only for electronic musical instruments but also for generating musical tones. Applicable to all devices. In the example shown in FIG. 10, the final interpolation function, that is, the crossfade curve data CF is stored in the memory 84.
However, instead of providing them in the memory 84, IPF1 and IPF2 can be directly given to the multiplier 18 (FIG. 2) as weighting coefficients, or
IPF1 and IPF2 may be modified by appropriate logical operations and then provided to the multiplier 18. In addition, in the above example, each segment waveform
Waveform data of SEG1, SEG2, . but,
The present invention is not limited to this, but each segment waveform can be generated using a musical sound waveform forming means that forms a desired musical sound waveform based on parameters (harmonic relative amplitude coefficients and filter coefficients), such as a harmonic synthesis method or a digital filter method. You can do it like this. An embodiment of the present invention using such a parametric tone waveform forming means will be described below with reference to FIG. In FIG. 17, circuits or devices having the same functions are denoted by the same reference numerals as those shown in FIG. 2, and a description thereof will be omitted. The one-cycle phase data generation circuit 100 is for generating phase data ADR that sequentially specifies each phase (each sample point) within one cycle of a musical sound waveform.
The same configuration as the reading means 28 in FIG. 5 can be used. The tone waveform forming circuit 101 performs a predetermined calculation using parameters to form a tone waveform having a shape determined by the parameters, and also uses phase data given from the phase data generation circuit 100.
This musical sound waveform is formed in accordance with the phase (sample point) specified by ADR.
As this tone waveform forming circuit 101, a circuit which forms a desired tone waveform by, for example, harmonic synthesis calculation can be used. A musical waveform forming circuit using such a harmonic synthesis calculation method was developed in Japanese Patent Publication No. 52-16363.
Since this method is already well known in Japanese Patent Laid-Open No. 1983-90217 (a type in which each harmonic signal is generated in parallel) and Japanese Patent Application Laid-open No. 1988-90217 (a type in which each harmonic signal is generated in a time-sharing manner), the details will be omitted. The outline is shown in FIG. 19. In the case of the harmonic synthesis calculation method, the parameters used for calculation consist of relative amplitude coefficients of each harmonic including the fundamental wave. The harmonic generation circuit 107 in FIG. 19 generates each harmonic signal (including the fundamental wave) according to the phase data ADR, and the multiplier 108 converts the relative amplitude of each harmonic signal into the corresponding relative amplitude coefficient (parameter ), and the addition and synthesis circuit 109 adds and synthesizes them to obtain a musical sound waveform with desired characteristics. The parameter memory 102 stores parameters that determine the characteristics (particularly the shape) of each segment waveform for a plurality of different musical sound waveforms, that is, segment waveforms sampled discretely from the start to the end of musical tones. . In this embodiment, it is assumed that the segment waveform is sampled discretely in the attack part as well, without distinguishing between the attack part and other parts. Each of these segment waveforms has the symbol SEG as before.
shall be distinguished by adding numbers 1, 2, 3, etc. indicating the order of occurrence. In the parameter memory 102, each segment waveform SEG1,
Parameters a1, a2..., b1, b2..., c1, c2... corresponding to ranks 1, 2... of SEG2,... are stored for each tone A, B, C..., and the tone A parameter group corresponding to a predetermined timbre is selected by the selection information TC, and among the selected parameter group, parameters corresponding to the segment ranking data generated from the segment ranking data generation circuit 103 are read out to form a musical sound waveform. The signal is applied to circuit 101.

【表】 …【table】 …

Claims (1)

【特許請求の範囲】 1 楽音の発音開始から終了までの間で離散的に
サンプリングした複数の異なる楽音波形を複数の
サンプル点に夫々分割し、各サンプル点に対応す
る波形データを記憶した波形記憶手段と、 複数の時分割処理チヤンネルを有し、発生すべ
き楽音周波数に応じて前記波形記憶手段から所定
の楽音波形の波形データを繰返し読み出す読出し
手段と、 前記波形記憶手段から読み出すべき楽音波形を
時間的に切換えて指定する波形指定手段と、 読み出すべき楽音波形を切換えるとき、先行し
た楽音波形と次の楽音波形に対応した2チヤンネ
ル分の前記時分割処理チヤンネルの楽音波形を重
みづけする補間手段と、 前記補間手段における重みづけの時間変化を設
定するために、楽音周波数に依存しない独立の時
間関数を発生する計数手段と、 この計数手段の出力に応じて前記波形指定手段
における波形切換えを制御する切換え制御手段と を具え、前記補間手段では、前記計数手段の計数
出力に応じて、前記先行した楽音波形については
次第に減衰する特性で重みづけし、前記次の楽音
波形については次第に立ち上がる特性で重みづけ
することにより滑らかに波形が移行するようにし
た楽音信号発生装置。 2 前記計数手段は、楽音周波数に依存しない計
数レートで計数動作を行なうことにより前記時間
関数を発生するものであり、前記切換え制御手段
は、前記計数手段から発生された時間関数が所定
の値に変化したことを検出し、この検出に基き波
形切換え指令信号を前記波形指定手段に与えるも
のである特許請求の範囲第1項記載の楽音信号発
生装置。 3 前記計数手段は、前記切換え制御手段による
波形切換え制御に同期して計数レートの切換えを
制御する計数レート制御手段と、この計数レート
制御手段によつて制御された計数レートに従つて
計数動作を行ない、この計数値に応じて前記時間
関数を発生する計数回路とを含むものである特許
請求の範囲第1項又は第2項記載の楽音信号発生
装置。 4 前記計数レート制御手段は、楽音波形の切換
え回数をカウントし、このカウント数に応じた計
数レートを指定するものであり、前記計数回路
は、第1の所定値から第2の所定値までの計数を
前記指定された計数レートにて行い、その計数値
に対応して前記時間関数を出力するものである特
許請求の範囲第3項記載の楽音信号発生装置。 5 前記計数レート制御手段は、前記切換え回数
をカウントするためのカウンタと、このカウンタ
でカウントした前記切換え回数に応じて所定の数
値データを読み出す変化レートメモリとを含み、
この変化レートメモリから読み出した該数値デー
タが前記計数回路において所定の時間間隔で繰返
し計数されるようにした特許請求の範囲第4項記
載の楽音信号発生装置。 6 前記計数レート制御手段は、所定の初期数値
データを発生する第1の手段と、この初期数値デ
ータを前記波形切換え制御に同期して順次変更す
る第2の手段とを含み、前記計数回路はこの第2
の手段の出力数値データを所定の時間間隔で繰返
し計数するものである特許請求の範囲第3項記載
の楽音信号発生装置。 7 パラメータによつて決定される形状の楽音波
形を形成すると共に位相データによつて指定され
た位相に対応して前記楽音波形の形成を行う楽音
波形形成手段と、 楽音の発音開始から終了までの間で離散的にサ
ンプリングした複数の異なる楽音波形に関して、
各楽音波形の形状を決定する前記パラメータを
夫々記憶したパラメータ記憶手段と、 発生すべき楽音の周波数に応じて変化する前記
位相データを発生し、前記楽音波形形成手段に与
える位相データ発生手段と、 前記楽音波形形成手段で形成すべき楽音波形を
時間的に切換えて指定し、指定した楽音波形に対
応する前記パラメータを前記パラメータ記憶手段
から読み出して前記楽音波形形成手段に与える波
形指定手段と、 形成すべき楽音波形を切換えるとき、先行した
波形からその次の楽音波形に滑らかに移行させる
よう両楽音波形を重みづけする補間手段と、 前記補間手段における重みづけの時間変化を設
定するための時間関数を発生する計数手段と、 この計数手段の出力に応じて前記波形指定手段
における波形切換えを制御する切換え制御手段と を具え、前記補間手段では、前記計数手段の計数
出力に応じて、前記先行した楽音波形については
次第に減衰する特性で重みづけし、前記次の楽音
波形については次第に立ち上がる特性で重みづけ
することにより滑らかに波形を移行させるように
した楽音信号発生装置。 8 前記パラメータが、基本波を含む各高調波の
相対振幅係数から成り、前記楽音波形形成手段
は、前記位相データに応じて発生した各高調波信
号を対応する前記相対振幅係数で制御し合成する
ことにより前記楽音波形を形成するものである特
許請求の範囲第7項記載の楽音信号発生装置。 9 前記パラメータが、デイジタルフイルタ係数
から成り、前記楽音波形形成手段は、前記位相デ
ータに応じて所定の音源波形信号をデイジタルで
発生する手段と、前記パラメータとして与えられ
た前記デイジタルフイルタ係数に従つてフイルタ
特性が設定され、この特性に従つて前記音源波形
信号を制御するデイジタルフイルタ回路とを含む
ものである特許請求の範囲第7項記載の楽音信号
発生装置。
[Scope of Claims] 1. A waveform memory in which a plurality of different musical waveforms sampled discretely between the start and end of a musical tone are divided into a plurality of sample points, and waveform data corresponding to each sample point is stored. reading means having a plurality of time-division processing channels and repeatedly reading out waveform data of a predetermined musical sound waveform from the waveform storage means according to the musical sound frequency to be generated; Waveform specifying means for specifying by temporally switching, and interpolation means for weighting the musical sound waveforms of the time-division processing channels for two channels corresponding to the preceding musical sound waveform and the next musical sound waveform when switching the musical sound waveform to be read. and counting means for generating an independent time function independent of musical tone frequency in order to set the time change of weighting in the interpolation means, and controlling waveform switching in the waveform specifying means in accordance with the output of the counting means. and a switching control means for weighting the preceding tone waveform with a gradually decreasing characteristic and weighting the next tone waveform with a gradually rising characteristic according to the count output of the counting means. A musical tone signal generator that uses weighting to smoothly transition waveforms. 2. The counting means generates the time function by performing a counting operation at a counting rate that does not depend on the musical tone frequency, and the switching control means controls the time function generated from the counting means to a predetermined value. 2. The musical tone signal generating device according to claim 1, wherein the change is detected, and based on this detection, a waveform switching command signal is given to the waveform specifying means. 3. The counting means includes counting rate control means for controlling counting rate switching in synchronization with waveform switching control by the switching control means, and counting operation according to the counting rate controlled by the counting rate control means. 3. The musical tone signal generating device according to claim 1, further comprising a counting circuit for generating the time function according to the counted value. 4. The counting rate control means counts the number of times the musical sound waveform is switched, and specifies a counting rate according to the counted number, and the counting circuit controls the number of times the musical waveform is switched from the first predetermined value to the second predetermined value. 4. The musical tone signal generating device according to claim 3, wherein the counting is performed at the specified counting rate and the time function is outputted in accordance with the counted value. 5. The counting rate control means includes a counter for counting the number of times of switching, and a change rate memory that reads predetermined numerical data according to the number of times of switching counted by this counter,
5. The musical tone signal generating device according to claim 4, wherein the numerical data read from the change rate memory is repeatedly counted at predetermined time intervals in the counting circuit. 6. The counting rate control means includes first means for generating predetermined initial numerical data, and second means for sequentially changing this initial numerical data in synchronization with the waveform switching control, and the counting circuit This second
4. The musical tone signal generating apparatus according to claim 3, wherein the output numerical data of the means is repeatedly counted at predetermined time intervals. 7. A musical sound waveform forming means that forms 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; Regarding multiple different musical sound waveforms sampled discretely between
parameter storage means that stores the parameters that determine the shape of each musical sound waveform; phase data generating 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; waveform designating means for temporally switching and specifying a musical tone waveform to be formed by the musical tone waveform forming means, reading out the parameters corresponding to the specified musical tone waveform from the parameter storage means, and applying the parameters to the musical tone waveform forming means; interpolation means for weighting both tone waveforms so as to smoothly transition from the preceding waveform to the next tone waveform when switching the tone waveform to be played; and a time function for setting a time change in weighting in the interpolation means. and switching control means for controlling waveform switching in the waveform specifying means according to the output of the counting means, and the interpolation means generates the preceding waveform according to the count output of the counting means. A musical tone signal generating device that weights a musical sound waveform with a characteristic that gradually attenuates, and weights the next musical waveform with a characteristic that gradually rises, thereby smoothly transitioning the waveform. 8. 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. 8. The musical tone signal generating apparatus according to claim 7, wherein the musical tone signal generating apparatus forms the musical sound waveform by: 9. The parameter comprises a digital filter coefficient, and the musical sound waveform forming means includes means for digitally generating a predetermined sound source waveform signal according to the phase data, and a means for digitally generating a predetermined sound source waveform signal according to the digital filter coefficient given as the parameter. 8. The musical tone signal generating apparatus according to claim 7, further comprising a digital filter circuit having a set filter characteristic and controlling the tone source waveform signal according to the characteristic.
JP59002667A 1984-01-12 1984-01-12 Musical sound signal generator Granted JPS60147793A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP59002667A JPS60147793A (en) 1984-01-12 1984-01-12 Musical sound signal generator
US06/690,771 US4633749A (en) 1984-01-12 1985-01-09 Tone signal generation device for an electronic musical instrument
EP85100233A EP0150736B1 (en) 1984-01-12 1985-01-11 Tone signal generation device for an electronic musical instrument
EP88119459A EP0311152B1 (en) 1984-01-12 1985-01-11 Tone signal generation device for an electronic musical instrument
DE88119459T DE3587423T2 (en) 1984-01-12 1985-01-11 Sound generating device for an electronic musical instrument.
DE8585100233T DE3575031D1 (en) 1984-01-12 1985-01-11 TONER GENERATING DEVICE FOR AN ELECTRONIC MUSICAL INSTRUMENT.
SG6095A SG6095G (en) 1984-01-12 1995-01-16 Tone signal generation device for an electronic musical instrument
HK17095A HK17095A (en) 1984-01-12 1995-02-09 Tone signal generation device for an electronic musical instrument
HK134095A HK134095A (en) 1984-01-12 1995-08-24 Tone signal generation device for an electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59002667A JPS60147793A (en) 1984-01-12 1984-01-12 Musical sound signal generator

Publications (2)

Publication Number Publication Date
JPS60147793A JPS60147793A (en) 1985-08-03
JPH0230033B2 true JPH0230033B2 (en) 1990-07-04

Family

ID=11535660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59002667A Granted JPS60147793A (en) 1984-01-12 1984-01-12 Musical sound signal generator

Country Status (1)

Country Link
JP (1) JPS60147793A (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3650389T2 (en) * 1985-04-12 1996-03-07 Yamaha Corp Sound signal generating device.
JPH0727384B2 (en) * 1985-10-01 1995-03-29 ヤマハ株式会社 Music signal generator
JPS6286394A (en) * 1985-10-11 1987-04-20 ヤマハ株式会社 Generation of musical sound signal
JPH079590B2 (en) * 1986-10-16 1995-02-01 株式会社河合楽器製作所 Electronic musical instrument
JP2526581B2 (en) * 1986-11-02 1996-08-21 ヤマハ株式会社 Music signal processor
JPS6449092A (en) * 1987-08-19 1989-02-23 Matsushita Electric Ind Co Ltd Musical sound synchronizer
JPS6455592A (en) * 1987-08-26 1989-03-02 Matsushita Electric Ind Co Ltd Musical sound synthesizer
JPS6455593A (en) * 1987-08-26 1989-03-02 Matsushita Electric Ind Co Ltd Musical sound synthesizer
JPH01130196A (en) * 1987-11-17 1989-05-23 Yamaha Corp Musical sound signal processor
JP2766648B2 (en) * 1988-07-29 1998-06-18 株式会社河合楽器製作所 Harmonic coefficient extracting device, harmonic coefficient synthesizing device, harmonic coefficient extracting method, and harmonic coefficient synthesizing method
JP2608938B2 (en) * 1988-10-18 1997-05-14 松下電器産業株式会社 Waveform interpolation device
US5140886A (en) * 1989-03-02 1992-08-25 Yamaha Corporation Musical tone signal generating apparatus having waveform memory with multiparameter addressing system
JP2915452B2 (en) * 1989-11-28 1999-07-05 ヤマハ株式会社 Tone generator
JP3082881B2 (en) * 1992-07-30 2000-08-28 株式会社河合楽器製作所 Electronic musical instrument

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5778599A (en) * 1980-11-04 1982-05-17 Matsushita Electric Ind Co Ltd Electronic musical instrument
JPS5895790A (en) * 1981-12-02 1983-06-07 松下電器産業株式会社 Musical sound generator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5778599A (en) * 1980-11-04 1982-05-17 Matsushita Electric Ind Co Ltd Electronic musical instrument
JPS5895790A (en) * 1981-12-02 1983-06-07 松下電器産業株式会社 Musical sound generator

Also Published As

Publication number Publication date
JPS60147793A (en) 1985-08-03

Similar Documents

Publication Publication Date Title
EP0311152B1 (en) Tone signal generation device for an electronic musical instrument
US4085644A (en) Polyphonic tone synthesizer
EP0199192A2 (en) Tone signal generation device
EP0377459B1 (en) Electronic musical instrument having plural different tone generators
JPH0230033B2 (en)
JPS6223319B2 (en)
JPS6140118B2 (en)
US5038661A (en) Waveform generator for electronic musical instrument
JPH0370237B2 (en)
JPH0120759B2 (en)
US4205580A (en) Ensemble effect in an electronic musical instrument
JPH0315200B2 (en)
JPH0122631B2 (en)
JPH04116598A (en) Musical sound signal generation device
JPS637397B2 (en)
JPS583238B2 (en) electronic musical instruments
JP2555732B2 (en) Music signal synthesis method
JPH0369119B2 (en)
JP2666764B2 (en) Electronic musical instrument
JP2897680B2 (en) Music signal generator
JPS61105595A (en) Musical sound signal generator
JPH0816178A (en) Key control device
JPS61236595A (en) Musical sound signal generator
JPH033237B2 (en)
JPS5895792A (en) Musical sound generator