JPH039480B2 - - Google Patents

Info

Publication number
JPH039480B2
JPH039480B2 JP61271590A JP27159086A JPH039480B2 JP H039480 B2 JPH039480 B2 JP H039480B2 JP 61271590 A JP61271590 A JP 61271590A JP 27159086 A JP27159086 A JP 27159086A JP H039480 B2 JPH039480 B2 JP H039480B2
Authority
JP
Japan
Prior art keywords
data
octave
pitch
musical tone
constant
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
JP61271590A
Other languages
Japanese (ja)
Other versions
JPS62135895A (en
Inventor
Akio Hyoshi
Akira Nakada
Tsutomu Suzuki
Eiichiro Aoki
Takatoshi Okumura
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 JP61271590A priority Critical patent/JPS62135895A/en
Publication of JPS62135895A publication Critical patent/JPS62135895A/en
Publication of JPH039480B2 publication Critical patent/JPH039480B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

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

〔産業上の利用分野〕 この発明は、所望楽音周波数に対応する定数デ
ータを発生し、この定数データに基づき楽音信号
を発生するようにした電子楽器のウエーブゼネレ
ータに関する。 〔従来の技術〕 波形メモリに記憶した波形の順次サンプル点振
幅値を順次読み出して楽音信号もしくは音源信号
を得る場合、発生すべき音の周波数に対応する定
数を繰返し演算(加算又は減算)し、その演算結
果に応じて前記波形メモリの読み出しアドレスを
進める方式の電子楽器は既に公知である。このよ
うな電子楽器において、従来は上述の周波数に対
応する定数を鍵盤の各音に個々に対応して記憶装
置に記憶させておくようにしていた(特開昭49−
130213号公報参照)。 〔発明が解決しようとする問題点〕 従来の電子楽器では、周波数に対応する定数を
鍵盤の各音に個々に対応して記憶装置に記憶させ
ておくようにしているため、例えば、鍵数が61鍵
であれば、61の種類の定数を記憶させておくこと
になり、該記憶装置に比較的大きな容量が要求さ
れ、コスト高になるという問題があつた。 この発明は、上述の点に鑑みてなされたもの
で、周波数に対応する定数を記憶する記憶装置を
小容量化したウエーブゼネレータを提供すること
を目的とする。 〔問題点を解決するための手段〕 この発明の電子楽器のウエーブゼネレータは、
発生すべき楽音の音高を指定する音高指定手段
と、前記音高指定手段で指定された音高の音名お
よびオクターブを示す音名データおよびオクター
ブデータからなるキーデータを発生するキーデー
タ発生手段と、所定オクターブの各音名の楽音の
周波数にそれぞれ対応する複数ビツトとからなる
複数の定数データを記憶する記憶手段と、前記記
憶手段から前記音名データに基づき、該音名デー
タが示す音名に対応する前記定数データを読み出
す読出し手段と、前記記憶手段から読み出された
定数データのビツト位置を前記オクターブデータ
に応じてシフトすることにより該定数データを変
更し、前記キーデータが示す音高の楽音周波数に
対応するデータを出力する変更手段と、前記変更
手段から出力されたデータに基づき前記音高の楽
音周波数に対応した周期で繰返し変化する前記定
数データよりもビツト数の多い定数データを出力
する定数データ発生手段と、前記変数データ発生
手段から出力されるデータに基づき対応する周波
数の楽音信号を発生する楽音発生手段とを具えて
構成される。 〔作用〕 記憶手段に各音名に対応する定数データのみを
記憶するようにし、この記憶手段から読み出され
た定数データのビツト位置をオクターブデータに
応じてシフトし、このシフトした定数データに基
づき所望の音高の楽音周波数に対応した周期で繰
返し変化する変数データを発生し、この変数デー
タに基づき所望の音高を楽音を発生する。 〔実施例〕 以下この発明の一実施例を添付図面にもとづい
て詳細に説明しよう。 第1図はこの発明のウエーブゼネレータ10を
使用した電子楽器の一例を示す概略ブロツク図
で、押鍵検出回路12は鍵盤11に配された各鍵
のキースイツチのオンまたはオフ動作を検出し、
押圧された鍵を識別する情報を出力する。発音割
当て回路13は押鍵検出回路12から前記押圧さ
れた鍵を識別する情報を受入して、この情報が表
わす鍵の発音を同時最大発音数(例えば12音)に
対応するチヤンネルのいずれかに割当てる。発音
割当て回路13は各チヤンネルに対応する記憶位
置を有し、或る鍵の発音が割当てられたチヤンネ
ルに対応する記憶位置にその鍵を表わすキーコー
ドKCを記憶し、各チヤンネルに記憶したキーコ
ードKCを時分割的に順次出力する。鍵盤11に
おける各鍵を識別するために、第1表に示すよう
にキーコードKCは鍵盤種類を表わす2ビツトの
鍵盤コードK1,K2、オクターブ音域を表わす3
ビツトのオクターブコードB1,B2,B3及び1オ
クターブ内の12の音名を表わす4ビツトのノート
コードN1,N2,N3,N4の計9ビツトのコード
によつて構成される。
[Industrial Application Field] The present invention relates to a wave generator for an electronic musical instrument that generates constant data corresponding to a desired musical tone frequency and generates a musical tone signal based on this constant data. [Prior Art] When obtaining a musical tone signal or a sound source signal by sequentially reading sample point amplitude values of a waveform stored in a waveform memory, a constant corresponding to the frequency of the sound to be generated is repeatedly calculated (added or subtracted), An electronic musical instrument of a type in which the read address of the waveform memory is advanced in accordance with the calculation result is already known. Conventionally, in such electronic musical instruments, constants corresponding to the above-mentioned frequencies were stored in a storage device in correspondence with each note of the keyboard (Japanese Patent Application Laid-Open No. 1983-1999).
(See Publication No. 130213). [Problems to be solved by the invention] In conventional electronic musical instruments, constants corresponding to frequencies are stored in a storage device for each note on the keyboard. If there were 61 keys, 61 types of constants would have to be stored, which would require a relatively large capacity of the storage device, resulting in high costs. The present invention has been made in view of the above-mentioned points, and an object of the present invention is to provide a wave generator in which the capacity of a storage device for storing constants corresponding to frequencies is reduced. [Means for solving the problem] The wave generator for the electronic musical instrument of the present invention has the following features:
pitch designation means for designating the pitch of a musical tone to be generated; and key data generation for generating key data consisting of pitch name data and octave data indicating the pitch name and octave of the pitch designated by the pitch designation means; a storage means for storing a plurality of constant data consisting of a plurality of bits each corresponding to the frequency of a musical tone of each note name in a predetermined octave; reading means for reading out the constant data corresponding to the note name; and changing the constant data by shifting the bit position of the constant data read from the storage means according to the octave data, and changing the constant data as indicated by the key data. a changing means for outputting data corresponding to the musical tone frequency of the pitch; and a constant having a larger number of bits than the constant data that repeatedly changes at a cycle corresponding to the musical tone frequency of the pitch based on the data output from the changing means. The apparatus includes a constant data generating means for outputting data, and a musical tone generating means for generating a musical tone signal of a corresponding frequency based on the data output from the variable data generating means. [Operation] Only the constant data corresponding to each note name is stored in the storage means, the bit position of the constant data read from the storage means is shifted according to the octave data, and the bit position of the constant data read from the storage means is shifted based on the shifted constant data. Variable data that repeatedly changes at a cycle corresponding to a musical tone frequency of a desired pitch is generated, and a musical tone of a desired pitch is generated based on this variable data. [Embodiment] Hereinafter, an embodiment of the present invention will be described in detail based on the accompanying drawings. FIG. 1 is a schematic block diagram showing an example of an electronic musical instrument using the wave generator 10 of the present invention, in which a key press detection circuit 12 detects the ON or OFF operation of the key switch of each key arranged on the keyboard 11.
Outputs information identifying the pressed key. The sound generation assignment circuit 13 receives information identifying the pressed key from the pressed key detection circuit 12, and assigns the sound of the key represented by this information to one of the channels corresponding to the maximum number of simultaneous sounds (for example, 12 notes). Assign. The sound generation assignment circuit 13 has a memory location corresponding to each channel, stores a key code KC representing a certain key in the memory location corresponding to the channel to which the sound of a certain key is assigned, and stores the key code KC stored in each channel. KC is output sequentially in a time-sharing manner. In order to identify each key on the keyboard 11, as shown in Table 1, the key code KC is a 2-bit keyboard code K 1 , K 2 representing the keyboard type, and 3 representing the octave range.
It consists of a total of 9-bit codes: octave codes B 1 , B 2 , B 3 and 4-bit note codes N 1 , N 2 , N 3 , N 4 representing the 12 note names within one octave. Ru.

【表】【table】

【表】 なお、この実施例においては、鍵盤11の鍵域
がC2音からC7音までの範囲であるものとする。
そして、第1オクターブ音域のオクターブコード
“000”は最低音のC2音にだけ使用されるものと
しており、そのコードB3〜N1は “0001110”となる。“001”という値の第2オク
ターブ音域のオクターブコードB3,B2,B1はC
2音からC3音までに使用し、以下同様に、低温
側のC# 音から高音側のC音までを1オクターブ
として同一のオクターブコードB3,B2,B1を使
用するものとし、第6オクターブ音域“101”の
オクターブコードはC# 6〜C7音に使用される。 この実施例においては、複数の音を同時に発音
可能とするために各種カウンタ、論理回路、記憶
装置等を時分割的に供用せしめるようにダイナミ
ツク論理的に構成してあるので、装置の動作を規
制するクロツクパルスの時間関係は極めて重要で
ある。第2図aは主にクロツクパルスφ1を示す
グラフで、このパルスφ1は各チヤンネルの時分
割動作を制御するものであり、例えば1μs(マイク
ロ秒;10-6秒)の周期を有している。チヤンネル
数が12であるから、主クロツクパルスφ1によつ
て順次区切られる1μs幅のタイムスロツトは第1
チヤンネル〜第12チヤンネルに順次対応させられ
る。第2図bに示すように、各タイムスロツトを
順に第1チヤンネル時間〜第12チヤンネル時間と
いうことにする。各チヤンネル時間は循環して発
生する。従つて、発音割当て回路13で発音割当
てされた鍵を表わすキーコードKCは、割当てら
れたチヤンネルの時間に一致して順次時分割的に
出力される。例えば、第1チヤンネルにペダル鍵
盤の第2オクターブ音域のC音(C3)が割当て
られ、第2チヤンネルに上鍵盤の第5オクターブ
音域のG音(G6)が割当てられ、第3チヤンネ
ルに上鍵盤の第5オクターブ音域のC音(C6
が割当てられ、第4チヤンネルに下鍵盤の第4オ
クターブ音域のE音(E5)が割当てられており、
第5〜第12チヤンネルには発音が割当てられてい
ないとすると、発音割当て回路13から各チヤン
ネル時間に同期して時分割的に出力されるキーコ
ードKCの内容は第2図cのようになる。第5チ
ヤンネルから第12チヤンネルの出力はすべて
“0”である。 また、発音割当て回路13は押圧鍵が発音割当
てされたチヤンネルにおいて発音がなされるべき
であることを表わすアタツク開始信号(またはキ
ーオン信号)ASを各チヤンネル時間に同期して
時分割的に出力する。更に、各チヤンネルに発音
割当てされた鍵が離鍵され、これにより発音が減
衰状態となるべきことを表わすデイケイ開始信号
(またはキーオフ信号)DSを各チヤンネル時間に
同期して時分割的に出力する。これらの信号AS,
DSは楽音の振幅エンベロープ制御(発音制御)
のために利用される。更に、発音割当て回路13
では、エンベロープ発生器14からそのチヤンネ
ルにおける発音が終了したことを表わすデイケイ
終了信号DFを受入し、その信号DFにもとづいて
当該チヤンネルに関する各種記憶をクリアし発音
割当てを完全に解消するクリア信号CCを出力す
る。第2図cの例において、第1チヤンネルと第
2チヤンネルに割当てられた鍵が現在押圧中であ
り、第3チヤンネルと第4チヤンネルに割当てら
れた鍵が離鍵されその発音が減衰状態であり、第
4チヤンネルにおいてはタイムスロツトt1のとき
発音終了してデイケイ終了信号DFが発生され、
12チヤンネル時間遅れたタイムスロツトt2のとき
クリア信号CCが出力されるとすると、第2図d
〜gに示すように各信号AS,DS,DF,CCが生
じる。なお、タイムスロツトt2のときクリア信号
CCが出力されるので、第4チヤンネルのアタツ
ク開始信号ASとデイケイ開始信号DSは消去され
る。このとき第2図cの第4チヤンネル時間のキ
ーコードKCが消去されるが、図では説明の都合
上そのまま描いてある。 発音割当て回路13から出力される各種信号
KC,AS,DS,CCがどのチヤンネルのものであ
るかは、第2図に示したように、チヤンネル時間
によつて区別できるようになつている。 発音割当て回路13から出力されたキーコード
KCはウエーブゼネレータ10に加わり、該ウエ
ーブゼネレータ10からは、波形メモリ15から
楽音(音源)波形の順次サンプル点振幅値を読み
出させるための変数データ(アドレスデータ)
XqFが発生される。この実施例では波形メモリ
15はフイート数の異なる音源波形が並列的に読
み出されるようになつており、2フイート2′、
4フイート4′、8フイート8′、16フイート1
6′、32フイート32′の音にそれぞれ対応してメ
モリ15A〜15Eが設けられている。 エンベロープ発生器14は、発音割当て回路1
3から与えられる各種信号AS,DS,CC等にも
とづいて、アタツク・デイケイ等の特性をもつエ
ンベロープ波形EVを発生する。このエンベロー
プ波形EVによつて波形メモリ15から読み出さ
れる音源波形信号に経時的な音量振幅エンベロー
プが付加され、発音が制御される。 波形メモリ15から読み出された各フイート
2′〜32′の音源波形信号は分配回路16に加わ
り、鍵盤種類などに応じてライン17または18
に適宜分配される。ライン17に分配された音源
波形信号は電圧制御型フイルタ(VCF)19に
加わり、音色制御がなされる。ライン18に分配
された音源波形信号は音色フイルタ群20に加わ
り、音色制御がなされる。電圧制御型フイルタ1
9のフイルタ特性は制御電圧(図示せず)によつ
て可変され、音色フイルタ群20のフイルタ特性
は各種音色に対応して固定されている。従つて両
系列において異なつた音質の音が作り出される。
音色制御された楽音波形信号はエクスプレツシヨ
ン等その他適宜の音制御回路21を経て、サウン
ドシステム22から発音される。 ウエーブゼネレータ10の詳細例は第3図及び
第4図に分割して示されている。ウエーブゼネレ
ータ10のうちノートデコーダ23、定数メモリ
24、キーボルト発生回路25の詳細例は第3図
に、オクターブ制御回路27、アキユムレータ2
8、ビツト位置切替え回路26の詳細例は第4図
に示されている。 第3図及び第4図の回路において各種回路素子
は第5図に示すような手法で図示されている。第
5図aはインバータ、同図b,cはアンド回路、
同図d,eはオア回路、同図fは1ビツトの遅延
フリツプフロツプを示す。アンド回路あるいはオ
ア回路において入力数が少ない場合は同図b,d
に示すような通常の表示図法を採用し、入力数が
多い場合は同図c,eの図法を採用する。同図
c,eにおいては、回路の入力側に1本の入力線
を描き、複数の信号線をこの入力線に交叉させ、
同回路に入力されるべき信号の信号線と入力線と
の交叉点を丸印で囲むようにしている。従つて同
図cの場合、論理式はQ=A・B・Dであり、同
図eの例の場合、論理式はQ=A+B+Cであ
る。また、第5図gはシフトレジスタを示し、ブ
ロツク中に括弧でくくつて示した分数の分子の数
はシフトレジスタのステージ数、分母の数はシフ
トレジスタの入力データのビツト数を示す。遅延
フリツプフロツプ及びシフトレジスタにはシフト
用クロツクパルスを特に図示しないが、1μs周期
の主クロツクパルスφ1(詳しくは2相クロツクパ
ルス)によつてシフトされる。 発音割当て回路13から供給されるキーコード
KCのうちノーコードN1〜N4はノートデコーダ
23に加わり、該ノートコードN1〜N4が表わす
音名に対応する出力ラインにデコード出力を生じ
る。定数メモリ24は1オクターブ内の12の音名
C〜Bの周波数に比例する定数データFを2進形
式で予め記憶したもので、前記ノートデコーダ2
3の出力に応じてノートコードN1〜N4が表わす
音名に対応する定数データFが読み出される。 定数メモリ24から読み出された定数データF
はビツト位置切替え回路26に加えられ、オクタ
ーブ制御回路27から与えられるオクターブ切替
データXの値に応じてその2進ビツト位置が左ま
たは右へシフトされる。換言すれば、ビツト位置
切替え回路26において、定数メモリ24から読
み出された定数データFに対してオクターブ制御
回路27から与えられるオクターブ切替えデータ
Xを乗算する演算がなされる。 ビツト位置切替え回路26の出力XFはアキユ
ムレータ28に加えられる。アキユムレータ28
は切替え回路26から読み出された定数データ
XFを規則的時間間隔T毎に繰返し加算し、変数
データXqFを得る。qは、時間間隔Tが経過す
る毎に、1,2,3,4,……順次増加する変数
である。すなわち、アキユムレータ28におい
て、上記オクターブ切替データXが指定するオク
ターブ音域における当該音名の周波数に対応する
変数データXqFが得られる。 オクターブ切替データXはオクターブコード
B1〜B3の内容にもとづいて発生される。一般に
データXの値はオクターブコードB1〜B3が指定
するオクターブ音域を実現しうる値となるがフイ
ートチエンジデータFF1〜FF3の値に応じてコー
ドB1〜B3を変更し、オクターブ音域を適宜変更
しうるようになつている。1オクターブのへだた
りは周波数比が2:1であるので、定数メモリ2
4に記憶した音名の属するオクターブ音域を基本
オクターブとすると、発生しようとする音のオク
ターブ音域がこの基本オクターブよりもnオクタ
ーブ上のときはXの値は2nであり、nオクターブ
下のときはXの値は2-nである。すなわち、オク
ターブ単位の周波数の関係は2のベキ乗であるた
め、2進ビツト位置切替回路26によつてオクタ
ーブの切替制御を行なうことができるのである。 ところで、定数メモリ24に記憶する定数デー
タFの値は、前記基本オクターブにおける当該音
名の周波数fと、アキユムレータ28において同
じデータFが1秒間に加算される回数Nと、波形
メモリ15に記憶した波形1周期分のアドレス数
Mとによつて定まる。すなわち、 F=f・M/N …(1) という関係式によつて定数データFの10進値が決
定される。第(1)式にもとづいて求めた各音名に対
応する定数データFを2進数に変換し、この2進
の定数データFを定数メモリ24に予め記憶させ
ておく。 変数データXqFにおいて変数qの値は1秒後
にNとなるので、前記第(1)式は下記のように書き
換えることができる。 XF=Xf・M/N …(2) 従つてオクターブ切換データXの値に比例して
周波数が切替わる。前述のようにデータXは2の
ベキで与えられるので、周波数Xfは基本オクタ
ーブの周波数fの2のベキ乗で切替わることにな
り、オクターブ単位で発生音の周波数が切替えら
れる。すなわち発生音のオクターブ音域が選択さ
れる。 従つて、ビツト位置切替回路26において定数
メモリ24の出力データFのビツト位置を左に
(上位桁に)シフトすると、データXによつて2n
の乗算を行なうことになるので、シフトしたビツ
ト位置の数nだけオクターブが上がる。また、同
切替え回路26においてデータFのビツト位置を
右に(下位桁に)シフトすると、データXによつ
て2-nの乗算を行なうことになるので、シフトし
たビツト位置の数nだけオクターブが下がる。 第3図において、ノートデコーダ23は前記第
1表に示したような内容のノートコードN1〜N4
を各音名C# 〜C別にデコードし得るように論理
が組まれたアンド回路群23Aによつて構成され
ている。定数メモリ24は、デコーダ23の出力
に応じて所定の値の10ビツトの2進定数データF
(F1〜F10)を得るように論理が組まれたオア回路
群24Aと、鍵盤コードK1,K2の内容に応じて
オア回路群24Aの出力を選択するゲート部24
Bとを具えている。 第4図に示すビツト位置切替え回路26は左シ
フト動作(2nの掛算)を行なうようになつている
ので、定数メモリ24には最低オクターブ音域に
おける各12音の周波数に比例する定数データFを
記憶している。但し、前記第1表に示した真の最
低オクターブ音域はオクターブコードB1,B2
B3の内容が“000”である第1オクターブ音域で
あるが、前述の通り、この第1オクターブ音域に
属する音はC2音だけである。そこで、この実施
例のウエーブゼネレータ10ではオクターブコー
ドB3,B2,B1の内容が“001”である第2オクタ
ーブ音域を最低オクターブ(基本オクターブ)と
して取扱うようにし、該第2オクターブ音域に属
する12音名(C2# ,D2,……B2,C3)の周波数
に対応する定数データFをメモリ24の各アドレ
スにそれぞれ記憶させている。そして、第1オク
ターブ音域に属する唯一の音、C2音に関しても
特別に定数データFを記憶しておくようにしてい
る。すなわち、第2表に示すように基本オクター
ブ(第2オクターブ音域)に属するC音(C3
の1/2の値のデータがC2音の定数データFとして
読み出されるようにオア回路群24Aにおいて論
理が組まれている。また、この実施例においては
鍵盤種類別に若干異なる値のデータFをメモリ2
4に記憶しているが、第2表には下鍵盤音のみに
ついて示した。
[Table] In this embodiment, it is assumed that the keyboard range of the keyboard 11 ranges from C2 note to C7 note.
The octave code "000" in the first octave range is used only for the lowest C2 note, and the codes B3 to N1 are "0001110". The octave codes B 3 , B 2 , B 1 in the second octave range with the value “001” are C
The same octave chord B 3 , B 2 , B 1 shall be used from the low-temperature C# note to the high - pitched C note as one octave. , the octave code of the sixth octave range "101" is used for C# 6 to C7 notes. In this embodiment, in order to be able to produce multiple sounds at the same time, various counters, logic circuits, storage devices, etc. are dynamically configured to be used in a time-sharing manner, so that the operation of the device is regulated. The time relationship of the clock pulses used is extremely important. Figure 2a is a graph mainly showing the clock pulse φ 1 , which controls the time division operation of each channel, and has a period of, for example , 1 μs (microsecond; 10 -6 seconds). There is. Since the number of channels is 12, the 1 μs wide time slots successively separated by the main clock pulse φ1 are the first
Channels 1 to 12 will be supported sequentially. As shown in FIG. 2b, each time slot is designated as a first channel time to a twelfth channel time in order. Each channel time occurs cyclically. Therefore, the key code KC representing the key to which the sound generation is assigned by the sound generation assignment circuit 13 is sequentially output in a time-division manner in accordance with the time of the assigned channel. For example, the first channel is assigned the C note (C 3 ) in the second octave range of the pedal keyboard, the second channel is assigned the G note (G 6 ) in the fifth octave range of the upper keyboard, and the third channel is assigned the C note (C 3 ) in the second octave range of the pedal keyboard. C note (C 6 ) in the 5th octave range of the upper keyboard
is assigned, and the E note (E 5 ) in the fourth octave range of the lower keyboard is assigned to the fourth channel.
Assuming that no sound is assigned to the 5th to 12th channels, the content of the key code KC output from the sound generation assignment circuit 13 in a time-sharing manner in synchronization with the time of each channel is as shown in Figure 2c. . All outputs from the 5th channel to the 12th channel are "0". Furthermore, the sound generation assignment circuit 13 time-divisionally outputs an attack start signal (or key-on signal) AS indicating that sound should be generated in the channel to which the pressed key is assigned the sound generation, in synchronization with the time of each channel. Furthermore, a decay start signal (or key-off signal) DS indicating that the key assigned to each channel is released and the sound should be attenuated is output in a time-divisional manner in synchronization with the time of each channel. . These signals AS,
DS is amplitude envelope control of musical tones (pronunciation control)
used for. Furthermore, the sound generation assignment circuit 13
Then, the decay end signal DF indicating that the sound generation in that channel has ended is received from the envelope generator 14, and based on the signal DF, a clear signal CC is generated that clears various memories related to the channel and completely cancels the sound generation assignment. Output. In the example shown in Figure 2c, the keys assigned to the first and second channels are currently being pressed, and the keys assigned to the third and fourth channels have been released and their sound is attenuated. , in the fourth channel, the sound generation ends at time slot t1 , and the decay end signal DF is generated.
Assuming that the clear signal CC is output at time slot t 2 with a delay of 12 channels, Fig. 2 d
As shown in ~g, each signal AS, DS, DF, CC is generated. In addition, when time slot t 2 , the clear signal
Since CC is output, the attack start signal AS and decay start signal DS of the fourth channel are erased. At this time, the key code KC of the fourth channel time in FIG. 2c is erased, but is drawn as is for convenience of explanation. Various signals output from the sound generation assignment circuit 13
As shown in FIG. 2, the channels to which KC, AS, DS, and CC belong can be distinguished based on the channel time. Key code output from pronunciation assignment circuit 13
KC joins the wave generator 10, and the wave generator 10 receives variable data (address data) for sequentially reading sample point amplitude values of the musical tone (sound source) waveform from the waveform memory 15.
XqF is generated. In this embodiment, the waveform memory 15 is configured such that sound source waveforms having different numbers of feet are read out in parallel;
4 feet 4', 8 feet 8', 16 feet 1
Memories 15A to 15E are provided corresponding to the sounds of 6' and 32 feet 32', respectively. The envelope generator 14 is connected to the sound generation assignment circuit 1
Based on the various signals AS, DS, CC, etc. given from 3, an envelope waveform EV having characteristics such as attack decay is generated. Using this envelope waveform EV, a time-dependent volume amplitude envelope is added to the sound source waveform signal read out from the waveform memory 15, and the sound generation is controlled. The sound source waveform signals of each foot 2' to 32' read out from the waveform memory 15 are applied to a distribution circuit 16, and are sent to lines 17 or 18 depending on the type of keyboard, etc.
will be distributed accordingly. The sound source waveform signal distributed to the line 17 is applied to a voltage controlled filter (VCF) 19 to perform timbre control. The sound source waveform signal distributed to the line 18 is applied to a timbre filter group 20, where timbre control is performed. Voltage controlled filter 1
The filter characteristics of 9 are varied by a control voltage (not shown), and the filter characteristics of timbre filter group 20 are fixed corresponding to various tones. Therefore, sounds with different tonal qualities are produced in both series.
The timbre-controlled musical sound waveform signal passes through an appropriate sound control circuit 21 such as an expression, and is outputted from a sound system 22. A detailed example of the wave generator 10 is shown separately in FIGS. 3 and 4. A detailed example of the note decoder 23, constant memory 24, and key voltage generation circuit 25 of the wave generator 10 is shown in FIG.
8. A detailed example of the bit position switching circuit 26 is shown in FIG. In the circuits of FIGS. 3 and 4, various circuit elements are illustrated in the manner shown in FIG. Figure 5a is an inverter, Figures b and c are AND circuits,
Figures d and e in the figure show an OR circuit, and f in the figure shows a 1-bit delay flip-flop. If the number of inputs is small in an AND circuit or an OR circuit, b and d in the same figure
A normal display diagram as shown in Figure 1 is used, and if there are a large number of inputs, the diagrams shown in Figures c and e are used. In Figures c and e, one input line is drawn on the input side of the circuit, and multiple signal lines are crossed with this input line.
The intersection point between the signal line of the signal to be input to the circuit and the input line is surrounded by a circle. Therefore, in the case of c in the same figure, the logical formula is Q=A・B・D, and in the case of the example in e of the same figure, the logical formula is Q=A+B+C. Further, FIG. 5g shows a shift register, and the number of the numerator of the fraction shown in parentheses in the block indicates the number of stages of the shift register, and the number of the denominator indicates the number of bits of input data to the shift register. Although shift clock pulses are not particularly shown in the delay flip-flop and shift register, they are shifted by a main clock pulse φ 1 (specifically, a two-phase clock pulse) having a period of 1 μs. Key code supplied from pronunciation assignment circuit 13
Of the KCs, no codes N1 to N4 are applied to the note decoder 23, and decoded outputs are generated on output lines corresponding to the note names represented by the note codes N1 to N4 . The constant memory 24 stores in advance constant data F in binary format that is proportional to the frequencies of the 12 note names C to B within one octave.
In response to the output of No. 3, constant data F corresponding to the note names represented by the note codes N 1 to N 4 is read out. Constant data F read from constant memory 24
is applied to the bit position switching circuit 26, and its binary bit position is shifted to the left or right according to the value of octave switching data X given from the octave control circuit 27. In other words, the bit position switching circuit 26 performs an operation of multiplying the constant data F read from the constant memory 24 by the octave switching data X given from the octave control circuit 27. The output XF of the bit position switching circuit 26 is applied to an accumulator 28. Accumulator 28
is the constant data read from the switching circuit 26
XF is repeatedly added at regular time intervals T to obtain variable data XqF. q is a variable that sequentially increases by 1, 2, 3, 4, . . . each time the time interval T elapses. That is, in the accumulator 28, variable data XqF corresponding to the frequency of the note name in the octave range specified by the octave switching data X is obtained. Octave switching data X is octave code
Generated based on the contents of B1 to B3 . Generally , the value of data It is now possible to change the range as appropriate. Since the frequency ratio of one octave gap is 2:1, constant memory 2
If the octave range to which the note name stored in step 4 belongs is the basic octave, then when the octave range of the note to be generated is n octaves above this basic octave, the value of X is 2 n , and when it is n octaves below. The value of X is 2 -n . That is, since the frequency relationship in octave units is a power of 2, the binary bit position switching circuit 26 can perform octave switching control. By the way, the value of the constant data F stored in the constant memory 24 is the frequency f of the note name in the basic octave, the number N of times the same data F is added per second in the accumulator 28, and the value stored in the waveform memory 15. It is determined by the number M of addresses for one cycle of the waveform. That is, the decimal value of the constant data F is determined by the relational expression F=f·M/N (1). Constant data F corresponding to each pitch name determined based on equation (1) is converted into a binary number, and this binary constant data F is stored in the constant memory 24 in advance. In the variable data XqF, the value of the variable q becomes N after one second, so the above equation (1) can be rewritten as follows. XF=Xf·M/N (2) Therefore, the frequency is switched in proportion to the value of the octave switching data X. As mentioned above, since the data X is given as a power of 2, the frequency Xf is changed by the power of 2 of the frequency f of the fundamental octave, and the frequency of the generated sound is changed in units of octaves. That is, the octave range of the generated sound is selected. Therefore, when the bit position switching circuit 26 shifts the bit position of the output data F of the constant memory 24 to the left (to the upper digit), the data
Therefore, the octave moves up by the number n of shifted bit positions. Furthermore, when the bit position of data F is shifted to the right (to the lower digit) in the same switching circuit 26, multiplication by 2 - n is performed by data X, so the octave is shifted by the number n of shifted bit positions. Go down. In FIG. 3, the note decoder 23 outputs note codes N 1 to N 4 as shown in Table 1 above.
It is constituted by a group of AND circuits 23A having a logic set up so as to be able to decode each pitch name C# to C separately. The constant memory 24 stores 10-bit binary constant data F of a predetermined value in accordance with the output of the decoder 23.
( F1 to F10 ); and a gate section 24 that selects the output of the OR circuit group 24A according to the contents of the keyboard codes K1 and K2 .
It has B. Since the bit position switching circuit 26 shown in FIG. 4 is designed to perform a left shift operation (multiplication by 2 n ), the constant data F proportional to the frequency of each of the 12 tones in the lowest octave range is stored in the constant memory 24. I remember. However, the true lowest octave range shown in Table 1 above is the octave code B 1 , B 2 ,
The content of B3 is "000" in the first octave range, but as mentioned above, the only note belonging to this first octave range is the C2 note. Therefore, in the wave generator 10 of this embodiment, the second octave range in which the contents of the octave codes B 3 , B 2 , and B 1 are "001" is treated as the lowest octave (basic octave), and the second octave range is Constant data F corresponding to the frequencies of the 12 pitch names (C 2 #, D 2 , . . . B 2 , C 3 ) belonging to the tone are stored in each address of the memory 24, respectively. Constant data F is also specially stored for the C2 note, which is the only note belonging to the first octave range. In other words, as shown in Table 2, the C note (C 3 ) belonging to the basic octave (second octave range)
Logic is set up in the OR circuit group 24A so that data with a value of 1/2 is read out as constant data F of the C2 note. In addition, in this embodiment, data F having slightly different values for each type of keyboard is stored in the memory 2.
4, Table 2 shows only the lower keyboard tones.

【表】 〓【table】 〓

Claims (1)

【特許請求の範囲】 1 発生すべき楽音の音高を指定する音高指定手
段と、 前記音高指定手段で指定された音高の音名およ
びオクターブを示す音名データおよびオクターブ
データからなるキーデータを発生するキーデータ
発生手段と、 所定オクターブの各音名の楽音の周波数にそれ
ぞれ対応する複数ビツトからなる複数の定数デー
タを記憶する記憶手段と、 前記記憶手段から前記音名データに基づき、該
音名データが示す音名に対応する前記定数データ
を読み出す読出し手段と、 前記記憶手段から読み出された定数データのビ
ツト位置を前記オクターブデータに応じてシフト
することにより該定数データを変更し、前記キー
データが示す音高の楽音周波数に対応するデータ
を出力する変更手段と、 前記変更手段から出力されたデータに基づき前
記音高の楽音周波数に対応した周期で繰返し変化
する前記定数データよりもビツト数の多い変数デ
ータを出力する変数データ発生手段と、 前記変数データ発生手段から出力されるデータ
に基づき対応する周波数の楽音信号を発生する楽
音発生手段と を具えた電子楽器のウエーブゼネレータ。
[Claims] 1. Pitch specifying means for specifying the pitch of a musical tone to be generated, and a key consisting of pitch name data and octave data indicating the pitch name and octave of the pitch specified by the pitch specifying means. key data generation means for generating data; storage means for storing a plurality of constant data consisting of a plurality of bits each corresponding to the frequency of a musical tone of each note name in a predetermined octave; and based on the note name data from the storage means, reading means for reading the constant data corresponding to the note name indicated by the note name data; and changing the constant data by shifting the bit position of the constant data read from the storage means according to the octave data. , a changing means for outputting data corresponding to a musical tone frequency of the pitch indicated by the key data, and a changing means for outputting data corresponding to a musical tone frequency of the pitch indicated by the key data, and a changing means for changing the constant data repeatedly at a cycle corresponding to the musical tone frequency of the pitch based on the data output from the changing means. A wave generator for an electronic musical instrument, comprising variable data generating means for outputting variable data with a large number of bits, and musical tone generating means for generating a musical tone signal of a corresponding frequency based on the data output from the variable data generating means.
JP61271590A 1986-11-14 1986-11-14 Wave generator for electronic musical apparatus Granted JPS62135895A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61271590A JPS62135895A (en) 1986-11-14 1986-11-14 Wave generator for electronic musical apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61271590A JPS62135895A (en) 1986-11-14 1986-11-14 Wave generator for electronic musical apparatus

Publications (2)

Publication Number Publication Date
JPS62135895A JPS62135895A (en) 1987-06-18
JPH039480B2 true JPH039480B2 (en) 1991-02-08

Family

ID=17502196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61271590A Granted JPS62135895A (en) 1986-11-14 1986-11-14 Wave generator for electronic musical apparatus

Country Status (1)

Country Link
JP (1) JPS62135895A (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5246088B2 (en) * 1973-04-13 1977-11-21

Also Published As

Publication number Publication date
JPS62135895A (en) 1987-06-18

Similar Documents

Publication Publication Date Title
US4077294A (en) Electronic musical instrument having transient musical effects
US4539884A (en) Electronic musical instrument of waveshape memory type with expression control
JPS642958B2 (en)
US4131049A (en) Electronic musical instrument having memories containing waveshapes of different type
US4184403A (en) Method and apparatus for introducing dynamic transient voices in an electronic musical instrument
US4114497A (en) Electronic musical instrument having a coupler effect
USRE30736E (en) Tone wave generator in electronic musical instrument
US3875842A (en) Multiplexing system for selection of notes in an electronic musical instrument
US4083283A (en) Electronic musical instrument having legato effect
JPS59105694A (en) Electronic musical instrument
JPH0160839B2 (en)
US4286491A (en) Unified tone generation in a polyphonic tone synthesizer
JPS62200398A (en) Musical sound signal generator
JPH0213318B2 (en)
US4612839A (en) Waveform data generating system
JPS636796Y2 (en)
JPH0137760B2 (en)
JP2701177B2 (en) Tone generator
JPH0583917B2 (en)
US4515057A (en) Musical sound wave generating circuit for electronic musical instrument
JPS5972492A (en) Electronic musical instrument
JPH0579996B2 (en)
JP2591160B2 (en) Waveform selection and synthesis device
JPH0786755B2 (en) Electronic musical instrument
JPS62135895A (en) Wave generator for electronic musical apparatus