JP2997470B2 - Music information processing device - Google Patents

Music information processing device

Info

Publication number
JP2997470B2
JP2997470B2 JP63281099A JP28109988A JP2997470B2 JP 2997470 B2 JP2997470 B2 JP 2997470B2 JP 63281099 A JP63281099 A JP 63281099A JP 28109988 A JP28109988 A JP 28109988A JP 2997470 B2 JP2997470 B2 JP 2997470B2
Authority
JP
Japan
Prior art keywords
data
read address
processing
address data
read
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 - Fee Related
Application number
JP63281099A
Other languages
Japanese (ja)
Other versions
JPH02126296A (en
Inventor
勉 斉藤
豊 鷲山
洋一 長嶋
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP63281099A priority Critical patent/JP2997470B2/en
Publication of JPH02126296A publication Critical patent/JPH02126296A/en
Application granted granted Critical
Publication of JP2997470B2 publication Critical patent/JP2997470B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、楽音を生成するための情報を処理する楽音
情報処理装置に関する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical sound information processing apparatus that processes information for generating musical sounds.

[従来技術] 従来、楽音に関する表すデータと、この楽音を生成ま
たは制御するための処理プログラムとは、別々の記憶装
置に記憶して、各々別々の読出装置によって楽音データ
と処理プログラムとを読み出していた。この場合、各読
出装置の読出アドレスデータは、各々まったく独立に制
御されていた。
[Prior Art] Conventionally, data representing a musical tone and a processing program for generating or controlling the musical tone are stored in separate storage devices, and the musical tone data and the processing program are read by separate reading devices. Was. In this case, the read address data of each read device is controlled completely independently.

[発明が解決しようとする課題] しかしながら、楽音データ用の記憶装置と処理プログ
ラム用の記憶装置とを別々に設けることは、それだけ回
路構成が複雑となり、コストアップの原因にもなってい
た。また、このように別々の記憶装置を設けることは、
読出アドレスデータを完全に独立に制御しなくてはなら
ず、情報処理が複雑化していた。
[Problems to be Solved by the Invention] However, providing a storage device for musical sound data and a storage device for a processing program separately complicates the circuit configuration and causes an increase in cost. Also, providing such separate storage devices is
The read address data must be controlled completely independently, which complicates information processing.

本発明は、上述した課題を解決するためになされたも
のであり、回路構成が簡単で、しかも情報の読出処理が
簡易な楽音情報処理装置を提供することを目的としてい
る。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and has as its object to provide a tone information processing apparatus having a simple circuit configuration and a simple information reading process.

[課題を解決するための手段] 上記目的を達成するために、本発明は、楽音に関する
楽音データを記憶するデータ記憶手段と、上記楽音を生
成または制御するための処理プログラムを記憶するプロ
グラム記憶手段とを一体に設け、両記憶手段の読み出し
を切り換える切換手段等とを備えたものである。
[Means for Solving the Problems] In order to achieve the above object, the present invention provides a data storage means for storing musical sound data relating to musical sounds, and a program storing means for storing a processing program for generating or controlling the musical sounds. Are provided integrally with each other, and switching means for switching reading between both storage means is provided.

[作用] これにより、楽音データと処理プログラムとを1つの
記憶手段に記憶できるし、読出アドレスデータを楽音デ
ータと処理プログラムの記憶されているエリアのアドレ
スの差だけ切り換えるだけで、楽音データと処理プログ
ラムの読み出しを切り換えることができる。この一例
が、第4図のMMUラッチ310、セレクタ312、ROM20による
もので、プログラム読出のときCPUアドレスCA1〜15が選
択され、音色データ読出のとき上記CPUアドレスCA12〜1
5のみMMUアドレスに変更され、波形データ読出のとき全
て周波数ナンパ累積値に切り換えられる。
[Operation] Thereby, the musical tone data and the processing program can be stored in one storage means, and the read address data is switched only by the difference between the address of the area where the musical tone data and the processing program are stored. The program reading can be switched. This example is based on the MMU latch 310, the selector 312, and the ROM 20 shown in FIG. 4. The CPU addresses CA1 to CA15 are selected at the time of reading a program, and the CPU addresses CA12 to 1 are read at the time of reading timbre data.
Only 5 is changed to the MMU address, and all are switched to the frequency numper accumulated value when reading the waveform data.

[実施例] 以下、本発明を具体化した一実施例を図面を参照して
詳述する。
Embodiment An embodiment of the present invention will be described below in detail with reference to the drawings.

<全体回路> 第1図は、本発明の全体回路図を示すもので、キーボ
ード1の各キー及び音色スイッチ2の各スイッチは、キ
ーアサイナ回路30によって走査され、操作キーに応じた
音高で、操作音色スイッチに応じた音色の楽音が16チャ
ンネルの楽音生成系の空チャンネルに割り当てられる。
このチャンネル割り当て内容は、アサイメントメモリ回
路32に記憶される。
<Overall Circuit> FIG. 1 shows an overall circuit diagram of the present invention. Each key of a keyboard 1 and each switch of a tone switch 2 are scanned by a key assigner circuit 30 and have a pitch corresponding to an operation key. A tone of a tone corresponding to the operation tone switch is assigned to an empty channel of the 16 tone generation system.
This channel assignment content is stored in the assignment memory circuit 32.

ROM20には、楽音信号を生成するための処理プログラ
ムと、波形及びエンベロープに関する音色データと、波
形データRDそのものが記憶されており、ROMアドレス制
御回路31によって読出アドレスが制御され、処理プログ
ラム又は音色データの読み出しと、波形データRDの読み
出しとが切り換えられる。ROM20より読み出された処理
プログラムは、キーアサイナ回路30の後述するCPU300に
送られて各種処理が実行され、また同じくROM20より読
み出された波形やエンベロープに関する音色データは、
アサイメントメモリ回路32の空チャンネルに応じたエリ
アに書き込まれ、さらに同じくROM20より読み出された
波形データRDそのものは波形データ伸長補間回路50へと
送られる。アサイメントメモリ回路32には、キーボード
1の操作キーに応じた周波数ナンバスピードデータFSも
空チャンネルに応じたエリアに書き込まれる。
The ROM 20 stores a processing program for generating a tone signal, timbre data relating to a waveform and an envelope, and the waveform data RD itself, and a read address is controlled by a ROM address control circuit 31. And reading of the waveform data RD is switched. The processing program read from the ROM 20 is sent to a CPU 300, which will be described later, of the key assigner circuit 30 to execute various types of processing.In addition, the tone data relating to the waveform and envelope read from the ROM 20 is
The waveform data RD itself written in the area corresponding to the empty channel of the assignment memory circuit 32 and read from the ROM 20 is sent to the waveform data decompression interpolation circuit 50. In the assignment memory circuit 32, the frequency number speed data FS corresponding to the operation key of the keyboard 1 is also written in the area corresponding to the empty channel.

この周波数ナンバスピードデータFSは、周波数ナンバ
累算器40で各チャンネルごとに順次累算され、ROMアド
レス制御回路31を介してROM20に読出アドレスデータと
して与えられ、波形データRDが周波数ナンバスピードデ
ータFSに応じた速度、すなわち音高に応じた速度で読み
出され、波形データ伸長補間回路50に入力される。読み
出された波形データRDはROM20内に多数記憶されてお
り、これらの選択はアサイメントメモリ回路32より読み
出されるバンクデータによって行われる。上記波形デー
タ伸長補間回路50では、データ圧縮された状態でROM20
より読み出されてきた差分データが伸長されるととも
に、各波形データRDのサンプルポイント地点の間の補間
地点も求められて乗算回路70に送られる。この補間は周
波数ナンバ累算器40からの周波数ナンバ累算値FAの一部
を使って行われる。
The frequency number speed data FS is sequentially accumulated for each channel by the frequency number accumulator 40, is given to the ROM 20 via the ROM address control circuit 31 as read address data, and the waveform data RD is the frequency number speed data FS. , Ie, at a speed corresponding to the pitch, and is input to the waveform data decompression interpolation circuit 50. A large number of the read waveform data RD are stored in the ROM 20, and the selection is made by the bank data read from the assignment memory circuit 32. In the waveform data decompression interpolation circuit 50, the ROM 20
The difference data thus read out is expanded, and an interpolation point between sample point points of each waveform data RD is also obtained and sent to the multiplication circuit 70. This interpolation is performed using a part of the frequency number accumulated value FA from the frequency number accumulator 40.

また、アサイメントメモリ回路32からのエンベロープ
に関するデータは、エンベロープ発生器60へ送られてエ
ンベロープ波形が生成され、上記乗算回路70へ送られ
る。乗算回路70では、上記伸長補間波形データIPの各サ
ンプル値とエンベロープ波形の各サンプル値EAとが乗算
され、シフト回路80でデータシフトが行われて、系列累
算回路90で系列ごとに累算され、D−A変換器100を介
してサウンドシステム110より放音出力される。
The data on the envelope from the assignment memory circuit 32 is sent to the envelope generator 60 to generate an envelope waveform, which is sent to the multiplication circuit 70. The multiplication circuit 70 multiplies each sample value of the above-described expanded interpolation waveform data IP by each sample value EA of the envelope waveform, performs data shift in the shift circuit 80, and accumulates each sequence in the sequence accumulation circuit 90. The sound is output from the sound system 110 via the DA converter 100.

上記エンベロープ発生器60より、アサイメントメモリ
回路32には、エンベロープ波形の現在のフェーズ値PHが
送られ、次の新しいフェーズに関するエンベロープデー
タを出力するように働きかける。またエンベロープ発生
器60より、周波数ナンバ累算器40には、キーオンのタイ
ミングでオンイベント信号が送られ、周波数ナンバスピ
ードデータFSの累算が開始される。さらにエンベロープ
発生器60より、波形データ伸長補間回路50にはデータ長
信号D816が送られ、波形データRDの補間を行うか、行わ
ないかの選択が行われる。データ長信号D816は、波形デ
ータRDが8ビットのサンプル値2つよりなるか、10ビッ
トのサンプル値と6ビットの差分データよりなるかの区
別を示すもので、10ビットのサンプル値と6ビットの差
分データが読み出されたとき、波形データRDの補間が行
われる。
The current phase value PH of the envelope waveform is sent from the envelope generator 60 to the assignment memory circuit 32, and acts to output envelope data for the next new phase. Further, an ON event signal is sent from the envelope generator 60 to the frequency number accumulator 40 at the key-on timing, and accumulation of the frequency number speed data FS is started. Further, a data length signal D816 is sent from the envelope generator 60 to the waveform data decompression interpolation circuit 50, and selection is made whether interpolation of the waveform data RD is performed or not. The data length signal D816 indicates whether the waveform data RD is made up of two 8-bit sample values or a 10-bit sample value and 6-bit difference data. Is read out, interpolation of the waveform data RD is performed.

上記シフト回路80は、乗算後の楽音データをエンベロ
ープ累算値EAの上位ビットであるエンベロープパワーデ
ータEA12〜15の大きさに応じてシフトダウンし、ディケ
イ、リリースの減衰時の立下りをエクスポーネンシャル
な特性にして、自然音に近づけるためのものである。
The shift circuit 80 shifts down the multiplied musical tone data in accordance with the magnitude of the envelope power data EA12 to 15, which are the upper bits of the envelope accumulated value EA, and exposes the fall when the decay and release decay. The purpose is to make the sound characteristics similar to natural sounds.

また上記D−A変換器100には、4つの楽音生成系が
時分割により形成されており、系列累算回路90におい
て、アサイメントメモリ回路32からの系列データGRに応
じて、いずれの生成系の楽音データを送り込むかが決定
される。この系列累算回路90には、周波数ナンバ累算器
40から、波形折返し信号FDUを与えられており、この波
形折返し信号FDUは波形データの一波形のうた前半の半
波形の生成が終わって、後半の半波形の生成にはいると
きハイレベルとなり、これにより系列累算回路90では、
楽音データをプラスマイナス反転した値とされる。ま
た、系列累算回路90には、キーアサイナ回路30より、D
−Aゲート信号も与えられており、D−A変換器100へ
の楽音データ出力コントロールが行われる。
In the DA converter 100, four tone generation systems are formed in a time-division manner. In the sequence accumulation circuit 90, any of the generation systems is set in accordance with the sequence data GR from the assignment memory circuit 32. Is determined. The sequence accumulator circuit 90 includes a frequency number accumulator.
From 40, a waveform return signal FDU is given, and this waveform return signal FDU becomes high level when generation of the first half of the first half of one waveform of the waveform data is completed and when the second half of the waveform is generated, Thereby, in the sequence accumulation circuit 90,
This is a value obtained by inverting the musical tone data by plus or minus. In addition, the key is assigned to the series accumulation circuit 90 by the key assigner circuit 30.
A -A gate signal is also supplied, and the output of musical sound data to the DA converter 100 is controlled.

システムクロック発生器10から、第1図の各回路30、
40、50、60、90には、第2図に示すようなクロック信号
等が与えられており、各回路のタイミングコントロール
が行われる。
From the system clock generator 10, each circuit 30 in FIG.
Clock signals and the like as shown in FIG. 2 are given to 40, 50, 60, and 90, and the timing of each circuit is controlled.

<ROM20> 第3図はROM20の記憶内容を示すもので、このROM20に
は楽音信号を生成するため処理プログラムと、波形及び
エンベロープの内容を選択決定するための音色データ
と、波形の各サンプル値よりなる波形データRDとが記憶
されている。音色データの記憶エリアは処理プログラム
の記憶エリアより、後述するMMUアドレスデータ分だけ
ずれた位置にある。音色データは、バンクデータ、デー
タ長信号データD816、系列データGR、イニシャル周波数
ナンバデータ、レープトップデータ、ループエンドデー
タ、エンベロープデータよりなり、エンベロープデータ
は、さらにフェーズレベルデータPL、エンベロープ加減
信号データEDU、シンアウトデータTH、エンベロープス
ピードデータESよりなっている。
<ROM 20> FIG. 3 shows the stored contents of the ROM 20. The ROM 20 has a processing program for generating a tone signal, tone color data for selectively determining the contents of the waveform and the envelope, and each sample value of the waveform. And stored waveform data RD. The storage area of the timbre data is located at a position shifted from the storage area of the processing program by the MMU address data described later. The timbre data consists of bank data, data length signal data D816, sequence data GR, initial frequency number data, rape top data, loop end data, and envelope data, and the envelope data further includes phase level data PL and envelope adjusted signal data EDU. , Thin-out data TH, and envelope speed data ES.

バンクデータは、複数の波形データRDのうちの1つを
選択指定するためのもので、1つのチャンネルに割り当
てられる1つの音色につき、(A)(B)2つの波形が
選択され、データ長信号D816は、上述したように波形デ
ータRDが8ビットのサンプル値2つよりなるか、10ビッ
トのサンプル値と6ビットの差分データよりなるかの区
別を示すもので、系列データGR0,1も上述したように、
上記乗算後の楽音データSTを4つのいずれの楽音生成系
に割り当てるかを示すものである。
The bank data is used to select and designate one of a plurality of waveform data RD. For one tone color assigned to one channel, two waveforms (A) and (B) are selected, and a data length signal is selected. D816 indicates whether the waveform data RD is composed of two 8-bit sample values or a 10-bit sample value and 6-bit difference data, as described above. As you did,
This shows to which of the four tone generation systems the tone data ST after the multiplication is assigned.

イニシャル周波数ナンバデータは、第8図に示すよう
に、周波数ナンバスピードデータFSを順次累算して波形
データRDを読み出していくにあたってのスタート時点の
周波数ナンバ累算値を示し、ループエンドデータは、周
波数ナンバスピードデータFSの累算を加算方向から減算
方向へ折り返す地点の周波数ナンバ累算値FAを示し、ル
ープトップデータは、周波数ナンバスピードデータFSの
累算方向を減算方向から加算方応へ折り返す地点の周波
数ナンバ累算値FAを示し、第8図に示すようにループト
ップとループエンドとの間で周波数ナンバ累算値FAをル
ープ変化させることにより、半波形分の波形データを連
続して波形の状態で読み出して行くことができる。
As shown in FIG. 8, the initial frequency number data indicates the frequency number accumulated value at the start at the time of sequentially accumulating the frequency number speed data FS and reading out the waveform data RD, and the loop end data indicates Indicates the frequency number accumulated value FA at the point where the accumulation of the frequency number speed data FS is turned from the addition direction to the subtraction direction, and the loop top data wraps the accumulation direction of the frequency number speed data FS from the subtraction direction to the addition direction. The frequency number accumulated value FA at the point is shown. As shown in FIG. 8, the frequency number accumulated value FA is loop-changed between the loop top and the loop end, so that the waveform data for a half waveform is continuously outputted. Reading can be performed in a waveform state.

なお第8図の波形折返し信号FDUは、周波数ナンバ累
算値FAの最上位ビットデータであり、波形データの一波
長のうち前半の半波形の生成が終わって、後半の半波長
の生成にはいるときハイレベルとなるものであって、こ
の信号FDUに基づいて周波数ナンバ累算値FAの加減演算
切換と、波形データ(楽音データ)のサンプル値(振幅
値)のプラスマイナス切換が行われる。
The waveform folded signal FDU in FIG. 8 is the most significant bit data of the frequency number accumulated value FA, and the generation of the first half of the wavelength of the waveform data is completed. When the signal FDU is at the high level, the switching of the addition / subtraction operation of the frequency number accumulated value FA and the plus / minus switching of the sample value (amplitude value) of the waveform data (tone data) are performed based on the signal FDU.

エンベロープデータの中のエンベロープレベルデータ
ELは第24図に示すように、エンベロープ波形のアック、
ディケイ、サスティン、リリースの最終地点におけるエ
ンベロープ累算値を示し、エンベロープ加減信号データ
EDUは、エンベロープ累算値EAを加算していくのか、減
算していくのかを示すものである。またエンベロープデ
ータのエンベロープスピードデータESは、エンベロープ
累算値EAの加減速度を示すデータで、この値が大きいほ
どエンベロープ波形の傾きが大きくなる。エンベロープ
スピードデーダESとエンベロープレベルデータELとは、
キーボード1のキーの押鍵速度、又は押鍵圧力に応じた
キータッチデータに応じて決定される。
Envelope level data in envelope data
EL is an envelope waveform ack, as shown in Fig. 24.
Indicates the accumulated value of the envelope at the end point of the decay, sustain, and release, and the envelope addition / subtraction signal data
EDU indicates whether to add or subtract the envelope accumulated value EA. The envelope speed data ES of the envelope data is data indicating the acceleration / deceleration of the accumulated value EA of the envelope. The larger the value, the larger the slope of the envelope waveform. Envelope speed data ES and envelope level data EL
It is determined according to the key pressing speed of the key of the keyboard 1 or the key touch data corresponding to the key pressing pressure.

エンベロープの中のシンアウトデータTHは、エンベロ
ープ累算値EAの累算システムへのエンベロープ累算値EA
の取り入てラッチの間引き率を示すデータであり、本来
のエンベロープ累算値EAの取り入れラッチは、繰り返し
行われる全チャンネル分のタイムスロットに1回行なわ
れる。このデータが「11」のとき間引きはなく、「10」
のとき4回に1回取り入れ、「01」のとき16回に1回取
り入れ、「00」のとき64回に1回取り入れる。0、1は
2値論理レベルのlow状態、high状態を示すものであ
る。このシンアウト(取り入れラッチ間引き)により、
同じエンベロープスピードデータでもエンベロープのス
ピードを等倍、4倍、16倍、64倍に変化させることがで
きる。このシフトアウトデータTHもキーボード1のキー
の押鍵速度、又は押鍵圧力に応じたキータッチデータに
応じて変化させても良い。
The thin-out data TH in the envelope is the envelope accumulated value EA to the accumulation system of the envelope accumulated value EA.
And the data indicating the thinning rate of the latch, and the latch of the original envelope accumulated value EA is performed once in the time slot for all the channels that is repeatedly performed. When this data is "11", there is no thinning, "10"
In the case of, take in once in four times, in the case of "01", take in once in 16 times, and in the case of "00", take in once in 64 times. 0 and 1 indicate a low state and a high state of the binary logic level. By this thin out (take-in latch thinning),
Even with the same envelope speed data, the envelope speed can be changed to 1, 4, 16, or 64 times. The shift-out data TH may also be changed according to the key pressing speed of the key of the keyboard 1 or the key touch data corresponding to the key pressing pressure.

このようにROM20には、楽音を生成放音するための処
理プログラムと、楽音の内容を表わす楽音データとが記
憶されているので、プログラムとデータを記憶するメモ
リが1つで済み、その分回路構成を簡易なものとするこ
とができる。
As described above, since the ROM 20 stores the processing program for generating and emitting a musical tone and the musical tone data representing the content of the musical tone, only one memory for storing the program and the data is required, and the circuit The configuration can be simplified.

<キーアサイナ回路30> 第4図は、キーアサイナ回路30を示すもので、CPU300
は与えられるマスタクロック信号φ(CK2)が、ハイレ
ベルのときのみ動作可能なもので、第2図下方に示すよ
うに、CPU300のデータバスライン及びアドレスバスライ
ンには、マスタクロック信号CK2がハイレベル「1」の
とき、CPU300に関するデータが流れ、ローレベル「0」
のとき、CPU300に無関係なデータが流れる。
<Key Assigner Circuit 30> FIG. 4 shows the key assigner circuit 30, in which the CPU 300
Is operable only when the applied master clock signal φ (CK2) is at a high level. As shown in the lower part of FIG. 2, the master clock signal CK2 is high on the data bus line and the address bus line of the CPU 300. When the level is “1”, data relating to the CPU 300 flows, and the low level is “0”.
In this case, data unrelated to the CPU 300 flows.

《ROMアドレス制御回路31》 このCPU300からのROM20や各種メモリのアクセス用の
アドレスデータCA0〜15は16ビットデータであるが、最
下位ビットを除く下位11ビットCA1〜11はセレクタ313に
与えられる。また、上位4ビットCA12〜15は上位に「00
00」の4ビットデータが付加されて、セレクタ312のB
入力を通して上記下位11ビットCA1〜11とともに19ビッ
トのアドレスデータとしてセレクタ313を介してROM20に
与えられ、主に処理プログラムの読み出しが行われる。
またCPU300が処理プログラム以外の音色データやその他
データを読み出す時には、CPU300より8ビットのMMUア
ドレスデータがデータバスラインを通じて出力され、こ
れがMMUラッチ310を介して上記セレクタ312を通じ、上
述の下位11ビットCA1〜11に付加されて、セレクタ313を
介しROM20に与えられる。
<< ROM Address Control Circuit 31 >> Although the address data CA0 to CA15 for accessing the ROM 20 and various memories from the CPU 300 are 16-bit data, the lower 11 bits CA1 to 11 excluding the least significant bit are given to the selector 313. The upper 4 bits CA12 to 15 are set to "00"
00 ”is added, and the B
Through the input, it is supplied to the ROM 20 via the selector 313 as 19-bit address data together with the lower 11 bits CA1 to CA11, and the processing program is mainly read.
When the CPU 300 reads tone data and other data other than the processing program, 8-bit MMU address data is output from the CPU 300 through the data bus line, and this is output through the selector 312 through the MMU latch 310 and the lower 11 bits CA1 described above. 11 are provided to the ROM 20 via the selector 313.

このアドレスデータの切り換え状態を示したのが、第
5図であり、ROM20のアドレスデータは19ビットである
にもかかわらず、CPU300のアドレスデータは16ビットで
あるため、「0000」の付加や、MMUアドレスデータの付
加が行われる。
FIG. 5 shows the switching state of the address data. Although the address data of the ROM 20 is 19 bits, the address data of the CPU 300 is 16 bits. MMU address data is added.

こうして、MMUアドレスを付加するか、「0000」を付
加するかで、プログラムの読み出しと音色データの読み
出しが簡単に切り換えられる。またCPU300の読出アドレ
スデータがROM20の読出アドレスデータより少ないビッ
ト数でも、ROM20の全領域の読み出しを行うことができ
る。
In this way, the reading of the program and the reading of the timbre data can be easily switched by adding the MMU address or adding “0000”. Further, even when the read address data of the CPU 300 is smaller in the number of bits than the read address data of the ROM 20, the entire area of the ROM 20 can be read.

上記上位4ビットデータCA12〜15はコンパレータ311
にも与えられており、このコンパレータ311には4ビッ
トのf(x)データも与えられており、両データが一致
しない時、「0000」と上位4ビットアドレスデータCA12
〜15の方が選択される。また両データが一致した時、一
致信号がコンパレータ311から上記セレクタ312に与えら
れて、MMUラッチ310の方が選択される。従って上位4ビ
ットのアドレスデータCA12〜15がf(x)データに一致
していない時に、CPU300の処理プログラム等の読み出し
が行われ、一致した時は音色データ等が読み出される。
このf(x)データはCPU300によって選択設定してもよ
いし、予め固定された値でもよい。
The upper 4-bit data CA12 to CA15 are supplied to the comparator 311.
This comparator 311 is also supplied with 4-bit f (x) data. When the two data do not match, "0000" and the upper 4-bit address data CA12
~ 15 is selected. When the two data match, a match signal is provided from the comparator 311 to the selector 312, and the MMU latch 310 is selected. Therefore, when the upper 4-bit address data CA12 to CA15 do not match the f (x) data, the processing program of the CPU 300 is read, and when they match, the tone color data and the like are read.
The f (x) data may be selected and set by the CPU 300 or may be a fixed value.

上記セレクタ313には、後述するアサイメントメモリ3
2よりCPU300によって読み出されたバンクデータと周波
数ナンバ累算器40からの周波数ナンバ累算値FA12〜26も
与えられ、このセレクタ313を介してROM20に与えられ、
対応するバンクの波形データRDが読み出される。セレク
タ313における、データセレクト切換は、上記システム
クロック発生器10からのクロック信号CK2によって行わ
れ、第2図下方に示すように、処理プログラムの読み出
しと波形データRDのサンプル値との読み出しが切り換え
られる。このうち、処理プログラムの読み出しのタイミ
ングにおては、上記f(x)データに基づいて、処理プ
ログラムの読み出しと音色データの読み出しが切り換え
られる。そして、これらの読出処理が16チャンネル分繰
返し行われて行く。
The selector 313 includes an assignment memory 3 described later.
2, the bank data read by the CPU 300 and the frequency number accumulated values FA12 to 26 from the frequency number accumulator 40 are also given, and given to the ROM 20 via the selector 313.
The waveform data RD of the corresponding bank is read. Data selector switching in the selector 313 is performed by a clock signal CK2 from the system clock generator 10, and switching between reading of a processing program and reading of a sample value of waveform data RD is performed as shown in the lower part of FIG. . Among these, at the timing of reading the processing program, the reading of the processing program and the reading of the timbre data are switched based on the f (x) data. Then, these reading processes are repeatedly performed for 16 channels.

ROM20より読み出されるデータのうち、波形データRD
はそのまま波形データ伸長補間回路50へ送られ、処理プ
ログラムや音色データは、8ビットデータずつ2分割さ
れ、セレクタ314を介してCPU300に送られたり、ゲート
バッファ323を介してアサイメントメモリ320に送られた
りする。セレクタ314における、データセレクタ切換
は、上記CPU300からのアドレスデータCAの最下位ビット
CA0に基づいて行われる。
Of the data read from ROM 20, waveform data RD
Is sent to the waveform data decompression interpolation circuit 50 as it is, and the processing program and timbre data are divided into two by 8 bit data and sent to the CPU 300 via the selector 314 or to the assignment memory 320 via the gate buffer 323. And others. The data selector switching in the selector 314 is performed by switching the least significant bit of the address data CA from the CPU 300.
Performed based on CA0.

これにより、CPU300の処理速度に追随してROM20から
のデータ取り込みが行われる。また、CPU300のデータバ
スラインのビット数に対しROM20からの読み出しデータ
のビット数が多くても、スムーズにデータ処理を行うこ
とができる。
Thus, data is taken in from the ROM 20 following the processing speed of the CPU 300. Further, even if the number of bits of data read from the ROM 20 is larger than the number of bits of the data bus line of the CPU 300, data processing can be performed smoothly.

《アサイメントメモリ回路32》 第6図は、アサイメントメモリ回路32のアサイメント
メモリ320の記憶内容を示すもので、アサイメントメモ
リ320は、16チャンネル分の音色データのメモリエリア
が形成されており、各チャンネルエリアにROM20からの
音色データがセットされる。この場合、セットされる音
色データのうちエンベロープデータはEG0〜15の各エン
ベロープグループエリアにセットされ、それ以外のデー
タはCH0〜15の各チャンネルエリアに分けてセットされ
る。CH0〜15にセットされるデータは、バンクデータ
(A)(B)、エンベロープグループデータ(A)
(B)、周波数ナンバスピードデータFS、キーオン信号
データ、データ長信号データD816、系列データGR、イニ
シャル周波数ナンバデータ、ループトップデータ、ルー
プエンドデータよりなっており、このうち周波数ナンバ
スピードデータFS、キーオン信号データ、エンベロープ
グループデータ(A)(B)以外のデータについては、
ROM20の記憶内容のところで説明したとおりである。
<< Assignment Memory Circuit 32 >> FIG. 6 shows the storage contents of the assignment memory 320 of the assignment memory circuit 32. The assignment memory 320 has a memory area of 16 channels of timbre data. The timbre data from the ROM 20 is set in each channel area. In this case, among the tone data to be set, the envelope data is set in each of the envelope group areas EG0 to EG15, and the other data is set separately in the respective channel areas of CH0 to CH15. Data set in CH0 to CH15 are bank data (A) and (B), envelope group data (A)
(B), frequency number speed data FS, key-on signal data, data length signal data D816, sequence data GR, initial frequency number data, loop top data, loop end data, of which frequency number speed data FS, key-on For data other than signal data and envelope group data (A) and (B),
This is as described for the storage contents of the ROM 20.

周波数ナンバスピードデータFSは、キーボード1の操
作キーの音高に応じたデータで波形データRDの読出アド
レスデータの累算ステップキ値として用いられる。キー
オン信号データは、現在キーオン中であることを示すデ
ータで、キーオンで「1」、キーオフで「0」となる。
エンベロープグループデータ(A)(B)は、当該チャ
ンネルエリアの音色に応じたエンベロープデータの記憶
されているエンベロープグループエリアEG0〜15のアド
レスを示すデータであり、1つのチャンネルに割り当て
られる音色は2つの楽音よりなるものであるため、
(A)(B)と2つの存在することになる。これに応じ
て、波形データRDも2つ存在するため、バンクデータも
(A)(B)2つの存在することになる。EG0〜15にセ
ットされるエンベロープデータについても上述ROM20の
記憶内容の説明のところで説明したとおりである。
The frequency number speed data FS is data corresponding to the pitch of the operation key of the keyboard 1 and is used as an accumulation step value of the read address data of the waveform data RD. The key-on signal data is data indicating that the key is currently on, and is "1" for key-on and "0" for key-off.
The envelope group data (A) and (B) are data indicating the addresses of the envelope group areas EG0 to EG15 in which the envelope data corresponding to the tone color of the channel area is stored. Two tone colors are assigned to one channel. Because it is composed of musical sounds,
(A) and (B) exist. Accordingly, since there are two waveform data RDs, there are two bank data (A) and (B). The envelope data set in EG0 to EG15 is also as described in the description of the storage contents of the ROM 20 described above.

このアサイメントメモリ320より読み出されたデータ
はAM(アサイメントメモリ)バスを介して周波数ナンバ
累算器40やエンベロープ発生器60等へ送出されたり、ゲ
ートバッファ322を介してCPU300に与えられる。また4
ビットのエンベロープグループデータ(A)(B)につ
いては、ラッチ324を介し、エンベロープ発生器60から
のフェーズデータPAが2ビット下位に付加され、「1」
が1ビット上位に付加されて計7ビットとなり、セレク
タ321を介し、再びアサイメントメモリ320に与えられ、
対応するエンベロープのエンベロープレベルデータEL、
シンアウトデータTH、エンベロープスピードデータES等
が読み出されたエンベロープ発生器60に送られる。この
セレクタ321を介してシステムクロック発生器10からの
クロック信号CKの集合である読出アドレスデータもアサ
イメントメモリ320に与えられるほか、CPU300からのア
クセスアドレスデータも与えられる。
The data read from the assignment memory 320 is sent to the frequency number accumulator 40, the envelope generator 60, and the like via an AM (assignment memory) bus, or is supplied to the CPU 300 via the gate buffer 322. Also 4
As for the bit envelope group data (A) and (B), the phase data PA from the envelope generator 60 is added to the lower two bits via the latch 324, and is set to "1".
Is added to the upper bit by one bit to make a total of 7 bits, and is again provided to the assignment memory 320 via the selector 321.
Envelope level data EL of the corresponding envelope,
The thin-out data TH, the envelope speed data ES and the like are sent to the read envelope generator 60. Read address data, which is a set of clock signals CK from the system clock generator 10, is also supplied to the assignment memory 320 via the selector 321, and also access address data from the CPU 300 is supplied.

これらのアドレスデータの切換状態を示したのが第2
図最下段のタイムチャートであり、クロック信号群CKに
基づいてバンクデータ(A)(B)とエンベロープグル
ープデータ(A)(B)、これに続いて周波数ナンバス
ピードデータFSの読み出しの後、上記エンベロープグル
ープデータ(A)とフェーズデータPAに基づいたエンベ
ロープスピードデータ(A)ESとエンベロープレベルデ
ータ(A)ELの読み出しが行われ、この後CPU300のアク
セスが行われる。そして同じくクロック信号群CKに基づ
いたイニシャル周波数ナンバ、キーオン、データ長信号
データD816、系列データGRの各データと、これに続いて
ループトップデータ、ループエンドデータとが読み出さ
れ、上記エンベロープグループデータ(B)とフェーズ
データPAに基づいたエンベロープスピードデータ(B)
ESとエンベロープレベルデータ(B)ELの読み出しが行
われ、この後CPU300のアクセスが行われる。そしてこれ
らのアクセス処理が16チャンネル分繰り返し行われてい
く。
The switching state of these address data is shown in the second section.
It is a time chart at the bottom of the figure. After reading out bank data (A) and (B) and envelope group data (A) and (B) based on a clock signal group CK, and subsequently reading out frequency number speed data FS, The envelope speed data (A) ES and the envelope level data (A) EL based on the envelope group data (A) and the phase data PA are read, and thereafter, the CPU 300 accesses. Similarly, the initial frequency number, key-on, data length signal data D816, and sequence data GR based on the clock signal group CK are read, followed by the loop top data and the loop end data. (B) and envelope speed data based on phase data PA (B)
The ES and the envelope level data (B) EL are read, and thereafter the CPU 300 accesses. These access processes are repeated for 16 channels.

この場合、読出アドレスデータとして用いられるクロ
ック信号群CKは第2図のCK1〜CKなどが用いられる。セ
レクタ321における各アドレスデータのセレクトはシス
テムクロック発生器10からのクロック信号CK1、CK2に基
づいて行われ、「00」、「01」のタイミングで、クロッ
ク信号群CKが選択され、「10」でラッチ324からのエン
ベロープグループデータとフェーズデータPAが選択さ
れ、「11」でCPU300からのアドレスデータが選択され
る。
In this case, as the clock signal group CK used as read address data, CK1 to CK in FIG. 2 are used. The selection of each address data in the selector 321 is performed based on the clock signals CK1 and CK2 from the system clock generator 10, and the clock signal group CK is selected at timings of “00” and “01”, and is selected at “10”. The envelope group data and the phase data PA from the latch 324 are selected, and the address data from the CPU 300 is selected at "11".

RAM301には、各種中間処理データがメモリされ、タイ
マ302は、CPU300が設定した周期でインタラプト信号をC
PU300に与え、リセット回路303は電源投入時にCPU300と
アウトプットラッチ304にリセットをかけるものであ
る。アウトプットラッチ304、306には音色スイッチ2、
キーボード1のサンプリングアドレスが一時セットさ
れ、インプットバッファ305、307には、そのサンプリン
グ結果が入力される。上記アウトプットラッチ304のサ
ンプリングデータのうち1ビットのみ上記D−A変換器
100のゲート信号として用いられる。
The RAM 301 stores various types of intermediate processing data, and the timer 302 outputs an interrupt signal at a cycle set by the CPU 300.
The reset circuit 303 resets the CPU 300 and the output latch 304 when the power is turned on. The output latches 304 and 306 have a tone switch 2,
The sampling address of the keyboard 1 is temporarily set, and the sampling results are input to the input buffers 305 and 307. Only one bit of the sampling data of the output latch 304 is the DA converter.
Used as 100 gate signals.

<周波数ナンバ累算器40> 第7図は、周波数ナンバ累算器40を示すもので、上記
アサイメントメモリ回路32からの周波数ナンバスピード
データFSは、ラッチ404を介し、イクスクルシブオアゲ
ート群405を介して、アダー407で、それまでの周波数ナ
ンバ累算値FAに累算され、上位8ビットFA19〜28はセレ
クタ413を介し、下位19ビットFA0〜18はイクスクルシブ
オアゲート群414を介し、ラッチ群415、セレクタ416を
介して、上記周波数ナンバ累算値FAとして再びアダー40
7に与えられる。これにより、周波数ナンバ累算値FAが
周波数ナンバスピードデータFSの大きさに応じた速度で
累算され、この累算値FAはラッチ418を介し、上位の整
数部分にあたる15ビットFA12〜26が上記ROMアドレス制
御回路31に送られる、波形データRDの読み出しが行われ
る。また小数部分の上位3ビットFA9〜11と最上位ビッ
トの波形折返し信号FDUは、上記波形データ伸長補間回
路50へ送られて、波形データRDのサンプル値の伸長と補
間に用いられる。
<Frequency Number Accumulator 40> FIG. 7 shows the frequency number accumulator 40. The frequency number speed data FS from the assignment memory circuit 32 is transmitted via a latch 404 to an exclusive OR gate group 405. Via the adder 407, is accumulated to the frequency number accumulated value FA so far, the upper 8 bits FA19 to 28 are through the selector 413, the lower 19 bits FA0 to 18 are through the exclusive OR gate group 414, Via the latch group 415 and the selector 416, the adder 40 is again used as the frequency number accumulated value FA.
Given to 7. As a result, the frequency number accumulated value FA is accumulated at a speed corresponding to the size of the frequency number speed data FS, and the accumulated value FA is transferred via the latch 418 to the 15-bit FA12 to 26 corresponding to the upper integer part. The reading of the waveform data RD sent to the ROM address control circuit 31 is performed. The waveform return signal FDU of the upper three bits FA9 to 11 and the most significant bit of the decimal part is sent to the waveform data decompression interpolation circuit 50, and is used for decompression and interpolation of the sample value of the waveform data RD.

このような周波数ナンバ累算値FAの内容を示したのが
第9図であり、周波数ナンバ累算値FAは全部で28ビット
のデータであり、最上位ビットは波形折返し信号FDU
で、次の8ビットFA19〜26はコンパレートビットで、後
述するループエンド、ループトップに到達したか否かの
対比に用いられ、さらに次の7ビットFA12〜18が整数部
分、最後の12ビットFA0〜11が小数部分となっている。
このような周波数ナンバスピードデータFSは、CH0〜15
の16チャンネル分、周波数ナンバ累算器40で累算され、
各チャンネルの周波数ナンバ累算値FAは上記ラッチ群41
5にメモリされている。このラッチ群415は16個のラッチ
よりなり、(A)(B)2つの楽音成分につき、同じ読
み出しアドレス(同じ周波数ナンバ累算値FA12〜FA26)
が使われる。音色の違いは上記バンクデータ(A)
(B)の違いに基づいている。
FIG. 9 shows the contents of the frequency number accumulated value FA. The frequency number accumulated value FA is 28-bit data in total, and the most significant bit is the waveform folding signal FDU.
Then, the next 8 bits FA19 to 26 are comparison bits, which are used for comparing a loop end described later or whether or not the loop top has been reached. Further, the next 7 bits FA12 to 18 are an integer part, and the last 12 bits. FA0 to 11 are decimal parts.
Such frequency number speed data FS is CH0 to CH15.
The 16 channels are accumulated by the frequency number accumulator 40,
The accumulated frequency number FA of each channel is calculated by the latch group 41
5 is stored in the memory. This latch group 415 is composed of 16 latches, and has the same read address (the same frequency number accumulated value FA12 to FA26) for two tone components (A) and (B).
Is used. The difference of tone is the above bank data (A)
(B).

また、アサイメントメモリ回路32からの8ビットイニ
シャル周波数ナンバは、ラッチ406を介しセレクタ416に
て、上位に1ビットの「0」下位に19ビットの「00…
0」が付加されて、周波数ナンバ累算値FAと同じ28ビッ
トデータとしてセレクタされる。このセレクタ416にお
けるセレクタ信号は、エンベロープ発生器60からのキー
オンタイミングに出力されるオンイベント信号が用いら
れ、第8図に示すように、キーオンタイミングから、こ
のイニシャル周波数ナンバに対し、順次周波数ナンバス
ピードデータFSが累算されていく。
Also, the 8-bit initial frequency number from the assignment memory circuit 32 is supplied to the selector 416 via the latch 406, where the upper 1 bit is “0” and the lower 19 bits are “00.
"0" is added and the selector is selected as 28-bit data which is the same as the frequency number accumulated value FA. As the selector signal in the selector 416, an on-event signal output at the key-on timing from the envelope generator 60 is used, and as shown in FIG. Data FS is accumulated.

さらに、アサイメントメモリ回路32からのループエン
ドデータ、ループトップデータは、ラッチ402を介し、
セレクタ403でループエンド、ループトップいずれかが
選択され、コンパレータ409に与えられるとともに、セ
レクタ413にも与えられる。コンパレータ409では、周波
数ナンバ累算値FAの上位8ビットコンパレートビットFA
19〜26との比較が行われ、周波数ナンバ累算値FAがルー
プエンドのループトップの間の範囲を越えたとき、セレ
クタ410よりオーバラン信号FCPが出力され、オアゲート
411を介し、上記イクスクルシブオアゲート群414及びセ
レクタ413に与えられ、ループエンドデータ又はループ
トップデータが周波数ナンバ累算値FAの上位のコンパレ
ータビットFA19〜26に代わって、新たなデータとして取
り込まれる。このとき、イクスクルシブオアゲート群41
4では、それまでの周波数ナンバ累算値FAの整数部分及
び小数部分の値がプラスマイナス反転されるが、これは
波形データRDの読出方向をループエンド又はループトッ
プで反転させるにあたって、それまでの周波数ナンバ累
算値FAの端数をプラスマイナス反転した状態でそのまま
使い、波形データRDの反転読み出しに整合性をもたせる
ためのものであるる。
Further, the loop end data and the loop top data from the assignment memory circuit 32 are transmitted via the latch 402,
Either the loop end or the loop top is selected by the selector 403 and is supplied to the comparator 409 and also to the selector 413. In the comparator 409, the upper 8 bits of the frequency number accumulated value FA
When the comparison with 19 to 26 is performed and the frequency number accumulated value FA exceeds the range between the loop end of the loop end, the selector 410 outputs the overrun signal FCP, and the OR gate
Via 411, the exclusive OR gate group 414 and the selector 413 are supplied to the above-mentioned exclusive OR gate group 414, and the loop end data or the loop top data is taken in as new data instead of the upper comparator bits FA19 to 26 of the frequency number accumulated value FA. . At this time, the exclusive OR gate group 41
In FIG. 4, the values of the integer part and the decimal part of the frequency number accumulated value FA up to that point are inverted plus or minus. This is because when the reading direction of the waveform data RD is inverted at the loop end or the loop top, The frequency number accumulative value FA is used as it is in a state where the fraction of the accumulated value FA is plus / minus inverted to provide consistency in inversion reading of the waveform data RD.

上記オーバラン信号FCPは、イクスクルシブオアゲー
ト412にも与えられて、周波数ナンバ累算値FAの最上位
ビットである波形折返し信号FDUを反転させ、これによ
りイクスクルシブオアゲート群405における周波数ナン
バスピードデータFSの値がプラスマイナス反転され、ア
ダー407における周波数ナンバ累算値FAの累算方向が加
減切り換えされる。このような周波数ナンバスピードデ
ータFSの加減切換による半波形ごとのループ再生の状態
を示したのが第8図である。
The overrun signal FCP is also given to the exclusive OR gate 412, and inverts the waveform folding signal FDU, which is the most significant bit of the frequency number accumulated value FA. The value of FS is inverted plus or minus, and the direction of accumulation of the frequency number accumulated value FA in the adder 407 is switched between increasing and decreasing. FIG. 8 shows a state of loop reproduction for each half-waveform due to the switching of the frequency number speed data FS.

上記波形折返し信号FDUは、セレクタ403、410にセレ
クタ信号として与えられ、周波数ナンバスピードデータ
FSの加算時にはループエンドデータとA<B検出信号の
方が選択され、減算時にはループトップデータとA>B
検出信号の方が選択される。また波形折返し信号FDU
は、アダー407のCin端子にも入力され、周波数ナンバス
ピードデータFSの減算時の周波数ナンバ累算値FAの+1
処理が行われるほか、イクスクルシブオアゲート408に
も与えられる。このイクスクルシブオアゲート408に
は、アダー407のCout端子からの出力信号も与えられて
おり、周波数ナンバ累算値FAがオーバーフロー又はアン
ダーフローしたことが検出され、これも上記オーバラン
信号FCPとして出力される。
The waveform folding signal FDU is supplied to the selectors 403 and 410 as a selector signal, and the frequency number speed data
When FS is added, the loop end data and A <B detection signal are selected, and when subtracted, the loop top data and A> B
The detection signal is selected. In addition, the waveform folding signal FDU
Is also input to the Cin terminal of the adder 407, and the frequency number accumulated value FA at the time of subtraction of the frequency number speed data FS is +1.
In addition to performing the processing, it is also provided to an exclusive OR gate 408. An output signal from the Cout terminal of the adder 407 is also given to the exclusive OR gate 408, and it is detected that the frequency number accumulated value FA has overflowed or underflowed, and this is also output as the overrun signal FCP. You.

さらに、アサイメントメモリ回路32からのバンクデー
タ(A)(B)は、ラッチ400を介して、セレクタ401で
(A)、(B)いずれか一方のバンクデータが選択さ
れ、ラッチ417を介して、上述周波数ナンバ累算値FAの
整数部分とコンパレートビットとともにROMアドレス制
御回路31へ送られ、波形データRDの読み出しが行われ
る。
Further, the bank data (A) and (B) from the assignment memory circuit 32 are sent through the latch 400, one of the bank data (A) and (B) is selected by the selector 401, and is sent through the latch 417. Is transmitted to the ROM address control circuit 31 together with the integer part of the above-described accumulated frequency number FA and the comparison bit, and the waveform data RD is read.

これにより、1つのチャンネルに割り当てられる2つ
の楽音成分(A)(B)は、バンクデータは異なってい
るものの、共通の周波数ナンバ累算値FAが用いられ、楽
音生成処理のタイミング同期がとられる。
As a result, although the two tone components (A) and (B) assigned to one channel have different bank data, a common frequency number accumulated value FA is used, and the timing of the tone generation process is synchronized. .

上記セレクタ401のセレクタ信号には、システムクロ
ック発生器10からのクロック信号CK3が用いられ、この
クロック信号CK3の前半で(A)について楽音生成処理
が行われ、後半で(B)についての楽音生成処理が行わ
れることになる。システムクロック発生器10からのクロ
ック信号群CKは、上記ラッチ400、402、404、406、41
5、417、418にもラッチ信号として与えられ、チャンネ
ル周期及びタイミング同期がとられる。
The clock signal CK3 from the system clock generator 10 is used as the selector signal of the selector 401. The tone generation processing is performed for (A) in the first half of the clock signal CK3, and the tone generation processing for (B) is performed in the second half. Processing will be performed. The clock signal group CK from the system clock generator 10 corresponds to the latches 400, 402, 404, 406, 41
5, 417 and 418 are also provided as latch signals to synchronize the channel cycle and timing.

<波形データ伸長補間回路50> 第10図は、波形データ伸長補間回路50を示すもので、
ゲート500〜510とセレクタ511〜513で第14図に示くよう
な波形データRDの中の差分データの伸長が行われ、ゲー
ト514〜517とゲート群518、519、アダー520、セレクタ5
21で第12図に示すような波形データRDの各サンプル値
R0、R1、R2、R3…の補間が行われゲート群524、522、ゲ
ート526、セレクタ525、アダー527で波形データRDが10
ビットのサンプル値と6ビットの差分データのとき補間
し(D816=0)、8ビットのサンプル値2つのとき補間
しない(D816=1)制御が行われる。
<Waveform Data Expansion Interpolation Circuit 50> FIG. 10 shows the waveform data expansion interpolation circuit 50.
The difference data in the waveform data RD as shown in FIG. 14 is expanded by the gates 500 to 510 and the selectors 511 to 513, and the gates 514 to 517, the gate groups 518, 519, the adder 520, and the selector 5 are expanded.
Each sample value of waveform data RD as shown in Fig. 12 at 21
Interpolation of R 0 , R 1 , R 2 , R 3 … is performed, and the gate group 524, 522, the gate 526, the selector 525, and the adder 527 generate 10 waveform data RD.
Interpolation is performed for a bit sample value and 6-bit difference data (D816 = 0), and no interpolation is performed for two 8-bit sample values (D816 = 1).

《波形データ伸長補間回路50のデータ処理の概要》 第13図は、ROM20より読み出された波形データRDのデ
ータ構成を示すもので、データ長信号D816がローレベル
で10ビットのサンプル値と6ビットと差分データからな
るときは、上位10ビットRD6〜15はサンプル値で、RD5は
差分符号データ、RD2〜4は差分パワーデータ、RD0、1
は差分マンティッサデータとなっている。差分データRD
0〜4は圧縮状態で記憶されており、伸長すると第14図
に示すような10ビットの伸長差分データIE0〜8、IESと
なる。すなわち差分パワーデータRD2〜4は、差分値の
何ビット目にはじめて「1」があるかを示すデータであ
り、差分マンティッサデータRD0、1は、この「1」に
続く2ビット分のデータそのものを示している。このよ
うに、第14図上段のデータは伸長差分データを加算する
ときのものであるが、下段のデータは減算するときのも
のである。この場合には、差分パワーデータRD2〜4
は、差分値の何ビット目まで「1」が続くかを示すデー
タであり、これに続く交換差分マンティッサデータRD0
〜2は、差分マンティッサデータRD0、1を第14図下方
の論理式で変換したもので、この変換内容は第15図に示
すとおりであり、プラスマイナス反転した値に変換され
る。
<< Outline of Data Processing of Waveform Data Decompression Interpolator 50 >> FIG. 13 shows the data structure of waveform data RD read from the ROM 20. The data length signal D816 is a low-level 10-bit sample value and 6 bits. When the data consists of bits and differential data, the upper 10 bits RD6 to 15 are sample values, RD5 is differential code data, RD2 to 4 are differential power data, RD0, 1
Is difference Mantissa data. Difference data RD
0 to 4 are stored in a compressed state, and when expanded, become 10-bit expanded difference data IE0 to IE8 and IES as shown in FIG. In other words, the difference power data RD2 to RD4 are data indicating the first bit of the difference value where "1" is present, and the difference mantisser data RD0 and RD1 are two bits of data following the "1". It shows itself. Thus, the data in the upper part of FIG. 14 is for adding the decompression difference data, while the data in the lower part is for subtraction. In this case, the difference power data RD2 to RD4
Is the data indicating how many bits of the difference value “1” continues, and the exchanged difference mantisser data RD0
.About.2 are obtained by converting the differential mantisser data RD0, RD1 by the logical expression shown in the lower part of FIG. 14, and the contents of the conversion are as shown in FIG.

このような伸長差分データIE0〜8、IESは、第12図に
大丸で示す波形データRDの各サンプル値の間の差の1/2
であり、各サンプル値と×印で示す仮想値との差を示す
ことになる。第12図の仮想値は補間値と重なって×印に
○印が重なった状態となっている。
Such expanded difference data IE0 to IE8 and IES are の of the difference between the sample values of the waveform data RD indicated by the large circles in FIG.
And indicates the difference between each sample value and the virtual value indicated by the mark x. The virtual values in FIG. 12 overlap with the interpolation values and are in a state in which the crosses are superimposed on the crosses.

波形データRDの各サンプル値R0、R1、R2…は、周波数
ナンバ累算値FAの小数が1/2のときにおけるものである
ため、第11図(2)と第12図の×印でつながる波形を実
行するためには、サンプル値G0、G1、G2、…の各×印地
点の中間点のサンプル値をメモリすればよいことにな
る。この中間点のサンプル値は、R0=(G0+G1)/2、R1
=(G1+G2)/2、R2=(G2+G3)/2…となる。
Since the sample values R 0 , R 1 , R 2, ... Of the waveform data RD are obtained when the decimal number of the frequency number accumulated value FA is 1/2, X in FIG. 11 (2) and FIG. In order to execute the waveform connected by the mark, it is only necessary to store the sample value of the intermediate point between each of the sample values G 0 , G 1 , G 2 ,. The sample value of this intermediate point is R 0 = (G 0 + G 1 ) / 2, R 1
= (G 1 + G 2 ) / 2, R 2 = (G 2 + G 3 ) / 2.

このように、×印のサンプル値ではなく、×印の中間
点のサンプル値を記憶することにより、第12図と第11図
(2)に示すように、周波数ナンバ累算値FAが「00…
0」のスタート地点で波形データレベルを正確に「0」
にすることができる。すなわち、ROM20の波形データRD
のメモリエリアの先頭番地には、通常第1ステップ目の
「0」レベルでない波形データRDがメモリされている
が、周波数ナンバ累算値FAが「00…0」のとき、この第
1ステップを読み出してしまわないような処理が行われ
なくとも、上記中間点のサンプル値を記憶することによ
り自動的に位相合わせができ、第11図(1)のような位
相のずれを生じてしまうことがなくなる。
In this way, by storing the sample value of the midpoint of the cross instead of the sample value of the cross, the frequency number accumulated value FA becomes "00" as shown in FIGS. 12 and 11 (2). …
The waveform data level is exactly "0" at the starting point of "0"
Can be That is, the waveform data RD of the ROM 20
In the first address of the memory area, waveform data RD which is not the “0” level in the first step is normally stored. When the frequency number accumulated value FA is “00... 0”, this first step is performed. Even if a process for preventing reading is not performed, the phase can be automatically adjusted by storing the sample value of the intermediate point, and a phase shift as shown in FIG. 11 (1) may occur. Disappears.

また、×印の中間点とこの中間点の前後の補間点との
差分データは前後同じとなり、この結果、記憶すべき差
分データは本来の差分データの1/2で済むことになる。
従って、通常波形データRDのサンプル値が10ビットの
時、その差分データは10ビットであり、上記のような圧
主方式を用いても差分パワーデータのビット数が4ビッ
ト必要となるため、最大圧縮して7ビットにしかならな
いが、上述しなように差分データを1/2にできることに
より、差分データを6ビットにでき、合計16ビットとし
て、通常のデータアクセスにおいて1回でアクセスでき
る。
Further, the difference data between the midpoint of the mark x and the interpolation points before and after the midpoint is the same before and after, and as a result, the difference data to be stored is only 1/2 of the original difference data.
Therefore, when the sample value of the normal waveform data RD is 10 bits, the difference data is 10 bits. Even if the above-described compression method is used, the number of bits of the difference power data is 4 bits. Although the data is compressed to only 7 bits, the difference data can be reduced to half as described above, so that the difference data can be reduced to 6 bits, so that a total of 16 bits can be accessed once in normal data access.

このため、1つのROM20より波形データRDとプログラ
ム(又は音色データ)とを交互に読み出して、単位時間
当りの波形データRDの読み出し機会が1/2に減っても十
分対応できる。
Therefore, the waveform data RD and the program (or timbre data) are alternately read from one ROM 20, so that even if the chance of reading the waveform data RD per unit time is reduced by half, it is possible to cope with the situation.

なお、記憶す波形データRDは、×地点が折れ線状につ
ながる波形であってもよい。
Note that the stored waveform data RD may be a waveform in which the X points are connected in a polygonal line.

上述の伸長差分データの1/4、2/4、3/4、4/4をサンプ
ル値に対し第16図に示すように加減すれば、補間値が求
められることになる。この場合、第12図の各サンプル値
R0、R1、R2、R3…に対し、E0、D1、D2、D3…のように、
補間値の方が大きいときは、伸長差分データは第14図上
段に示すように加算値となり、D0、E1、E2、E3…のよう
に補間値の方が小さいときは、伸長差分データは第14図
下段に示すように減算値となる。
If 1/4, 2/4, 3/4, and 4/4 of the above-described decompression difference data are added to or subtracted from the sample values as shown in FIG. 16, an interpolation value is obtained. In this case, each sample value in Fig. 12
For R 0 , R 1 , R 2 , R 3 …, E 0 , D 1 , D 2 , D 3
When the interpolated value is larger, the decompressed difference data becomes an added value as shown in the upper part of FIG. 14, and when the interpolated value is smaller, such as D 0 , E 1 , E 2 , E 3 . The difference data is a subtraction value as shown in the lower part of FIG.

波形データRDのデータ形式に10ビットのものと、8ビ
ットのものの2種類あるのは、量子化ビット数を減らし
ても量子化ノイズがそれほど問題とならないにぎやかな
音は8ビットし、量子化ノイズが目立つ音は10ビットと
して使い分け、メモリ使用量を少なくしたものである。
There are two types of data format of the waveform data RD: 10-bit data format and 8-bit data format. The noisy quantization noise does not cause much problem even if the number of quantization bits is reduced. The sound that is noticeable is properly used as 10 bits, and uses less memory.

《波形データ伸長補間回路50の回路構成》 第10図において、セレクタ511のA側「0」端子とB
側「1」端子には、差分マンティッサデータRD0がその
まま入力される。またセレクタ511のA側「1」端子と
B側「2」端子には、伸長差分データの最上位ビットIE
Sが「0」のとき、差分マンティッサデータRD1がそのま
ま入力され、最上位ビットIESが「1」のとき、アンド
ゲート502が開成されるので、差分マンティッサデータR
D0とRD1との排他的論理和データRG1が入力される。さら
にセレクタ511のA側「2」端子とB側「3」端子に
は、上記最上位ビットIESが「0」のとき、ナンドゲー
ト505の出力が「1」となってイクスクルシブオアゲー
ト506でノアゲート509の出力が反転されるので、差分パ
ワーデータRD2〜4の論理和が入力され、最上位ビットI
ESが「1」のとき、オアゲート504による差分マンティ
ッサデータRD0、1の論理和の反転データと差分パワー
データRD2〜4の論理和の反転データとの排他的論理和
データRG2が入力される。そして、セレクタ511のA側
「3」端子には、上記最上位ビットIESが入力され、B
側「0」端子には、「0」データが入力される。
<< Circuit Configuration of Waveform Data Decompression Interpolation Circuit 50 >> In FIG.
The difference Mantissa data RD0 is directly input to the terminal “1”. The A side “1” terminal and the B side “2” terminal of the selector 511 have the most significant bit IE of the decompression difference data.
When S is “0”, the differential mantissa data RD1 is input as it is, and when the most significant bit IES is “1”, the AND gate 502 is opened.
Exclusive OR data RG1 of D0 and RD1 is input. Further, when the most significant bit IES is "0", the output of the NAND gate 505 becomes "1" and the exclusive OR gate 506 outputs the NOR gate to the "2" terminal on the A side and the "3" terminal on the B side of the selector 511. Since the output of 509 is inverted, the logical sum of the difference power data RD2 to RD4 is input and the most significant bit I
When ES is “1”, exclusive OR data RG2 of the inverted data of the OR of the difference mantisser data RD0 and 1 by the OR gate 504 and the inverted data of the OR of the difference power data RD2 to RD4 is input. . The most significant bit IES is input to the “3” terminal on the A side of the selector 511,
“0” data is input to the side “0” terminal.

これにより、第14図に示すような、差分マンティッサ
データRD0、1と上位ビット分のデータ、又は変換差分
マンティッサデータRD0、1、2のデータが作成される
ことになる。交換差分マンティッサデータRG0〜2の具
体的な内容は第15図に示すとうりである。
As a result, as shown in FIG. 14, data of the differential mantissa data RD0, RD0, 1 and the upper bits, or data of the converted differential mantissa data RD0, RD1, 1, 2 are created. The specific contents of the exchange difference mantisser data RG0 to RG2 are as shown in FIG.

このセレクタ511の4ビットデータは、セレクタ512、
513で上位に最上位ビットIESが2ビット分、4ビット分
付加されるか、下位に「0」データが2ビット分、4ビ
ット分付加されるかが選択され、10ビットデータとして
出力される。各セレクタ511、512、513のセレクト状態
を適当に選ぶことにより差分マンティッサデータRD0、
1はRG0〜2を第14図に示すようにシフトしていくこと
ができ、このセレクト状態の選択は、差分パワーデータ
RD2〜4に基づいて行われる。
The 4-bit data of the selector 511 is
At 513, it is selected whether the uppermost bit IES is added by 2 bits or 4 bits or the lower "0" data is added by 2 bits or 4 bits, and is output as 10-bit data. . By appropriately selecting the select state of each of the selectors 511, 512, 513, the difference mantisser data RD0,
1 can shift RG0 to RG2 as shown in FIG. 14, and the selection of this selection state is based on the difference power data.
This is performed based on RD2-4.

こうして、差分圧縮データが6ビットであるにもかか
わらず、伸長差分データを10ビットまで拡大することが
でき、メモリ使用量を少なくできる。
In this way, the expanded differential data can be expanded to 10 bits, even though the differential compressed data is 6 bits, and the memory usage can be reduced.

上記伸長差分データの最上位ビットIESは、イクスク
ルシブオアゲート500の入力の差分符号データRD5と、ノ
アゲート501の入力の周波数ナンバ累算値FAの小数部分
の最上位ビットFA11と、ノアゲート508からの差分デー
タの各ビットRD0〜4の論理和の反転データとによって
決定される。すなわち、第12図に示すように、D0のFA11
が「0」、差分符号RD5が「0」(加算方向)のとき
と、E1、E2…のFA11が「1」、RD5が「1」(減算方
向)のときは、伸長差分データの最上位ビットIESが
「1」となって、サンプル値に対して差分データを減算
しなくてはならないことを示す。上記ノアゲート501に
は差分データの各ビットRD0、1、2、3、4、5の論
理和の反転データが入力されて、差分データが「0000
0」のとき、ノアゲート501の出力を「0」として、伸長
差分データの最上位ビットIESが「1」にならないよう
にコントロールされる。
The most significant bit IES of the expanded differential data is the difference code data RD5 of the input of the exclusive OR gate 500, the most significant bit FA11 of the decimal part of the frequency number accumulated value FA of the input of the NOR gate 501, and the most significant bit FA11 of the NOR gate 508. It is determined by the inverted data of the logical sum of the bits RD0 to RD4 of the difference data. That is, as shown in FIG. 12, FA11 of D 0
Is “0” and the difference code RD5 is “0” (addition direction), and when FA11 of E 1 , E 2 ... Is “1” and RD5 is “1” (subtraction direction), The most significant bit IES becomes “1”, indicating that the difference data must be subtracted from the sample value. The NOR gate 501 receives the inverted data of the logical sum of the bits RD0, 1, 2, 3, 4, and 5 of the difference data, and outputs the difference data of "0000".
At the time of “0”, the output of the NOR gate 501 is set to “0”, and control is performed so that the most significant bit IES of the decompression difference data does not become “1”.

伸長差分データIEは、1ビット下位にシフトされて2/
4の値となってアンドゲート群519を介しアダー520の一
方の端子に入力されるとともに、2ビット下位にシフト
されて1/4の値となってアンドゲート群518を介しアダー
520の他方の端子に入力され、このアダー520の出力はセ
レクタ521のA側に与えられる。またセレクタ521のB側
には、上記伸長差分データIEがシフトされず、そのまま
の倍率で与えられる。従って、アンドゲート群518、519
の開成信号であるIM0、IM1とセレクタ521のセレクト信
号であるIM2よりなる掛率データIMを適当に選ぶことに
より、第16図に示すように伸長差分データIEを1/4倍、2
/4倍、3/4倍、4/4倍、0倍とすることができる。
The decompression difference data IE is shifted down by one bit and
The value of 4 is input to one terminal of the adder 520 via the AND gate group 519, and is also shifted down by 2 bits to a 1/4 value to be added to the adder 520 via the AND gate group 518.
The output of the adder 520 is supplied to the A side of the selector 521. On the B side of the selector 521, the decompressed difference data IE is not shifted but is given at the same magnification. Therefore, the AND gate group 518, 519
As shown in FIG. 16, the expansion difference data IE is 1/4 times, 2 times, as shown in FIG. 16, by appropriately selecting the rate data IM including the opening signals IM0 and IM1 and the selection signal IM2 of the selector 521.
/ 4 times, 3/4 times, 4/4 times, 0 times.

このような掛率とされた伸長差分データIEは、アンド
ゲート群522を介してアダー527に与えられ、後述する波
形データRDのサンプル値RD6〜15に加減算され、波形デ
ータRDの各サンプル値の補間が行われることになる。
The extended difference data IE having such a multiplication factor is given to the adder 527 via the AND gate group 522, and is added to or subtracted from the sample values RD6 to RD15 of the waveform data RD described later. Interpolation will be performed.

こうして、1つのサンプル値RD6〜15と差分データRD0
〜5で、8つの地点で波形データRDを作成することがで
き、なめらかな波形特性を得ることができるとともにメ
モリ容量も少なくすることができている。またこのよう
な1つのデータで8つの地点を決定できる波形データRD
は1回の読み出しで読み出すことができ、波形データRD
の読み出し機会が少なくても十分なめらかな波形を実現
でき、この結果、ROM20より波形データRDとそれ以外の
プログラム等とを交互に読み出しても、波形生成処理に
支障をきたすことがなくなり、ROM20にプログラムと波
形データRDとを一緒にメモリしても、各情報の読み出し
速度を高める必要もなくなる。
Thus, one sample value RD6 to RD15 and the difference data RD0
5, the waveform data RD can be created at eight points, smooth waveform characteristics can be obtained, and the memory capacity can be reduced. Waveform data RD that can determine eight points with one such data
Can be read in one read, and the waveform data RD
A sufficient smooth waveform can be realized even if there is little opportunity to read the waveform data.As a result, even if the waveform data RD and other programs are read alternately from the ROM 20, the waveform generation processing will not be disturbed, and Even if the program and the waveform data RD are stored together, it is not necessary to increase the reading speed of each information.

上記掛率データIM0〜2は、周波数ナンバ累算値FAの
小数部分の上位3ビットFA9〜11によって、論理ゲート5
14〜517によって作成される。このゲート群514、517に
より、第16図に示すようなデータ変換が行われ、波形デ
ータRDの補間値が求められることになる。この場合、、
周波数ナンバ累算値FAの小数部分の最上位ビットFA11の
みが「1」のとき、すなわち周波数ナンバ累算値FAが1/
2のときは、サンプル値に対する補間は行われず、ここ
を中心として、これより前のタイミングでは、補間値が
差分データの1/4、2/4、3/4、4/4の減算値となり、後の
タイミングでは、補間値が差分データの1/4、2/4、3/4
の加算値となっている。
The above-mentioned multiplication data IM0 to 2 are determined by the upper 3 bits FA9 to 11 of the decimal part of the frequency number accumulated value FA.
Created by 14-517. By the gate groups 514 and 517, data conversion as shown in FIG. 16 is performed, and an interpolation value of the waveform data RD is obtained. in this case,,
When only the most significant bit FA11 of the decimal part of the frequency number accumulated value FA is “1”, that is, when the frequency number accumulated value FA is 1 /
In the case of 2, no interpolation is performed on the sample value, and the interpolation value becomes a subtraction value of 1/4, 2/4, 3/4, 4/4 of the difference data at the timing before this centered at this point. , At later timing, the interpolation value is 1/4, 2/4, 3/4
Is the added value of

上記波形データRD0〜15は、10ビットのサンプル値と
6ビットの差分データよりなるときは、サンプル値RD6
〜15が、セレクタ525のA側より入力されて、そのまま
上記アダー527に与えられて、補間値が加減される。こ
のとき、データ長信号D816は、「0」となるから、アン
ドゲート群524、522は開成され、アンドゲート526は閉
成され、セレクタ525はA側が選択される。また波形デ
ータRD0〜15が、8ビットのサンプル値2つよりなると
きは、波形データRD0〜7はセレクタ525のB側より入力
され、上記アダー527に与えられ、波形データRD8〜15は
セレクタ525のA側より入力され、上記アダー527に与え
られる。このとき各データRD0〜7、8〜15の下位に2
ビット「00」が付加されて10ビットデータとされる。ま
た、このとき、データ長信号D816は「1」となるから、
アンドゲート群524、522は閉成され、補間は行われな
い。さらに、このとき、アンドゲート526は開成される
から、周波数ナンバ累算値FAの小数部分の最上位ビット
FA11の値(1、0)に応じて、サンプル値(2n=RD0〜
7、2n+1=RD8〜15)が切り換えられる。
When the waveform data RD0 to RD15 consist of a 10-bit sample value and 6-bit difference data, the sample value RD6
.About.15 are input from the A side of the selector 525, and are given to the adder 527 as they are, and the interpolation value is adjusted. At this time, since the data length signal D816 becomes "0", the AND gate groups 524 and 522 are opened, the AND gate 526 is closed, and the selector 525 selects the A side. When the waveform data RD0 to RD15 consist of two 8-bit sample values, the waveform data RD0 to RD7 are input from the B side of the selector 525 and are given to the adder 527. And is given to the adder 527. At this time, each data RD0-7, 2
Bit “00” is added to form 10-bit data. At this time, since the data length signal D816 is "1",
The AND gates 524 and 522 are closed and no interpolation is performed. Further, at this time, since the AND gate 526 is opened, the most significant bit of the decimal part of the frequency number accumulated value FA is obtained.
Depending on the value of FA11 (1, 0), the sample value (2n = RD0-
7, 2n + 1 = RD8-15).

本発明は上記実施例に限定されず、本発明の趣旨を逸
脱しない範囲で種々変更可能である。例えば、1回の読
み出しで読み出されるプログラムは8ビットずつのプロ
グラムでもよく、データとプログラムとを記憶する手段
は、ROMとRAMを一体化したもの、磁気メモリ、光メモリ
等でもよく、データとプログラムとの読出手段は、CPU3
00、周波数ナンバ累算器60以外のものでもよく、データ
とプログラムとの読み出し切り換えは、MMUアドレスデ
ータ、クロック信号CK1〜7以外によるものでもよい。
The present invention is not limited to the above embodiment, and can be variously modified without departing from the spirit of the present invention. For example, the program read by one reading may be an 8-bit program, and the means for storing data and the program may be an integrated ROM and RAM, a magnetic memory, an optical memory, or the like. The reading means of CPU3
00, a device other than the frequency number accumulator 60 may be used, and switching between data and program reading may be performed by a device other than the MMU address data and the clock signals CK1 to CK7.

[発明の効果] 以上詳述したように本発明によれば、本発明は、楽音
についてのデータとプログラムとを一体の記憶手段に記
憶することにより、記憶装置をコンパクトして、回路構
成を簡単なものとすることができるほか、読出アドレス
データをデータとプログラムの記憶されているエリアの
アドレスの差だけ切り換えるだけで、データとプログラ
ムの読出切り換えを行うことができ、情報の読出処理が
簡易になる等の効果を奏する。
[Effects of the Invention] As described in detail above, according to the present invention, the present invention stores data and programs for musical sounds in an integrated storage means, thereby making the storage device compact and simplifying the circuit configuration. In addition, by simply switching the read address data by the difference between the address of the data and the address of the area where the program is stored, the switching between the data and the program can be performed, and the process of reading the information can be simplified. It has effects such as becoming.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の全体回路図であり、第2図は第1図及
び第4図の各部におけるタイムチャート図であり、第3
図はROM20の記憶内容を示す図であり、第4図はキーア
サイナ回路30の回路図であり、第5図はCPU300のアドレ
スデータとROM20のアドレスデータの対応関係を示す図
であり、第6図はアサイメントメモリ320の記憶内容を
示す図であり、第7図は周波数ナンバ累算器40の回路図
であり、第8図は波形データの読み出し状態を示す図で
あり、第9図は周波数ナンバ累算値FA内容を示す図であ
り、第10図は波形データ伸長補間回路50の回路図であ
り、第11図な波形データの半波長分のサンプル値と読み
出しタイミングとの対応関係を示す図であり、第12図は
波形データのサンプル値と補間値を示す図であり、第13
図は波形データRDの内容を示す図であり、第14図は波形
データの差分データRD0〜5を伸長した内容を示す図で
あり、第15図は差分マンティッサデータRDから変換差分
マンティッサデータRGへの変換内容を示す図であり、第
16図は周波数ナンバ累算値の小数部分の上位ビットFA9
〜11と差分データの掛率データIM0〜2と波形データの
サンプル値の補間内容との関係を示す図である。 20……ROM、30……キーアサイナ回路、31……ROMアドレ
ス制御回路、32……アサイメントメモリ回路、40……周
波数ナンバ累算器、50……波形データ伸長補間回路、60
……エンベロープ発生器、70……乗算回路、80……シフ
ト回路、90……系列累算回路、300……CPU、320……ア
サイメントメモリ。
FIG. 1 is an overall circuit diagram of the present invention, FIG. 2 is a time chart of each part in FIGS. 1 and 4, and FIG.
FIG. 4 is a diagram showing the contents stored in the ROM 20, FIG. 4 is a circuit diagram of the key assigner circuit 30, FIG. 5 is a diagram showing the correspondence between the address data of the CPU 300 and the address data of the ROM 20, and FIG. FIG. 7 is a diagram showing the storage contents of the assignment memory 320, FIG. 7 is a circuit diagram of the frequency number accumulator 40, FIG. 8 is a diagram showing a state of reading waveform data, and FIG. FIG. 10 is a circuit diagram of a waveform data decompression interpolating circuit 50, showing the correspondence between sample values for half a wavelength of waveform data and readout timing in FIG. 11. FIG. 12 is a diagram showing sample values and interpolation values of waveform data, and FIG.
FIG. 14 is a diagram showing the contents of the waveform data RD, FIG. 14 is a diagram showing the expanded contents of the difference data RD0 to RD5 of the waveform data, and FIG. FIG. 9 is a diagram showing the contents of conversion to
Figure 16 shows the high-order bit FA9 of the decimal part of the accumulated frequency number.
FIG. 11 is a diagram showing a relationship between the interpolation data IM0 to 2 of difference data and the interpolation contents of sample values of waveform data. 20 ROM: 30 Key assigner circuit 31 ROM address control circuit 32 Assignment memory circuit 40 Frequency number accumulator 50 Waveform data decompression interpolator 60
... Envelope generator, 70 Multiplying circuit, 80 Shift circuit, 90 Sequence accumulating circuit, 300 CPU, 320 Assignment memory.

フロントページの続き (72)発明者 長嶋 洋一 静岡県浜松市寺島町200番地 株式会社 河合楽器製作所内 (56)参考文献 特開 昭51−60515(JP,A) 特開 昭60−149092(JP,A) 特開 昭63−143594(JP,A)Continuation of the front page (72) Inventor Yoichi Nagashima 200 Terashimacho, Hamamatsu-shi, Shizuoka Prefecture Kawai Musical Instruments Manufacturing Co., Ltd. (56) References JP-A-51-60515 (JP, A) JP-A-60-149092 (JP, A) JP-A-63-143594 (JP, A)

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】記憶手段内に設けられた楽音に関する楽音
波形データを記憶するデータ記憶部と、 同じくこの記憶手段内に設けられ、楽音を生成または制
御するための処理プログラムを記憶するプログラム記憶
部と、 上記記憶手段から複数のチャンネルごとに上記楽音波形
データを周期的に読み出すための読出アドレスデータを
発生する第一の読出アドレスデータ発生手段と、 この第一の読出アドレスデータ発生手段によって読み出
された楽音波形データを処理する処理手段と、 上記第一の読出アドレスデータ発生手段とは別の手段で
あって、上記記憶手段から中央処理装置の処理プログラ
ムを処理の進行にしたがって順に読み出すための読出ア
ドレスデータを発生する第二の読出アドレスデータ発生
手段と、 この第二の読出アドレスデータ発生手段によって読み出
された処理プログラムに基づいて処理を行う中央処理装
置と、 これら第一の読出アドレスデータ発生手段からの読出ア
ドレスデータと第二の読出アドレスデータ発生手段から
の読出アドレスデータとを所定周期ごとに交互に切り換
えて、いずれか一方の読出アドレスデータだけを上記記
憶手段に供給するアドレス切換手段とを備えたことを特
徴とする楽音情報処理装置。
1. A data storage section provided in a storage means for storing musical tone waveform data relating to a musical tone, and a program storage section also provided in the storage means for storing a processing program for generating or controlling a musical tone. First read address data generating means for generating read address data for periodically reading the tone waveform data from the storage means for each of a plurality of channels; and reading by the first read address data generating means. Processing means for processing the generated musical tone waveform data, and means separate from the first read address data generating means for sequentially reading out the processing program of the central processing unit from the storage means as the processing proceeds. Second read address data generating means for generating read address data; A central processing unit for performing processing based on the processing program read by the generating means; and a read address data from the first read address data generating means and a read address data from the second read address data generating means. A tone information processing apparatus comprising: an address switching unit that alternately switches at predetermined intervals and supplies only one of the read address data to the storage unit.
【請求項2】記憶手段内に設けられた楽音に関する楽音
データを記憶するデータ記憶部と、 同じくこの記憶手段内に設けられ、上記楽音データを処
理するプログラムとは異なるプログラムであって、楽音
を生成または制御するための処理プログラムを記憶する
プログラム記憶部と、 上記記憶手段から楽音データを読み出すための読出アド
レスデータを発生する第一の読出アドレスデータ発生手
段と、 この第一の読出アドレスデータ発生手段によって読み出
された楽音データを処理する第一の処理手段と、 上記第一の読出アドレスデータ発生手段とは別の手段で
あって、上記記憶手段から処理プログラムを読み出すた
めの読出アドレスデータを発生する第二の読出アドレス
データ発生手段と、 この第二の読出アドレスデータ発生手段によって読み出
された処理プログラムに基づいて処理を行う手段であっ
て、上記第一の処理手段とは独立した異なる第二の処理
手段と、 これら第一の読出アドレスデータ発生手段からの読出ア
ドレスデータと第二の読出アドレスデータ発生手段から
の読出アドレスデータとを所定周期ごとに交互に切り換
えて、いずれか一方の読出アドレスデータだけを上記記
憶手段に供給するアドレス切換手段とを備えたことを特
徴とする楽音情報処理装置。
2. A data storage section provided in the storage means for storing musical sound data relating to musical sounds, and a program provided in the storage means and different from the program for processing the musical sound data. A program storage unit for storing a processing program for generating or controlling; a first read address data generating unit for generating read address data for reading musical tone data from the storage unit; First processing means for processing the musical tone data read by the means, and means separate from the first read address data generating means, wherein read address data for reading a processing program from the storage means are read out. The second read address data generating means generated, and the second read address data generating means Means for performing processing based on the read processing program, the second processing means being different from the first processing means, and read address data from the first read address data generating means. Address switching means for alternately switching the read address data from the second read address data generating means at predetermined intervals and supplying only one of the read address data to the storage means. Music information processing device.
【請求項3】上記第二の読出アドレスデータ発生手段及
び第二の処理手段または中央処理装置は、上記プログラ
ム記憶部から処理プログラムを読み出して、上記楽音を
チャンネルに割り当てる制御を行うことを特徴とする請
求項1または2記載の楽音情報処理装置。
3. The second read address data generating means and the second processing means or the central processing unit reads a processing program from the program storage unit and performs control for allocating the musical tone to a channel. 3. The musical tone information processing apparatus according to claim 1, wherein
【請求項4】上記第一の読出アドレスデータ発生手段及
び第一の処理手段は、上記データ記憶部から楽音波形デ
ータを読み出して楽音を生成処理することを特徴とする
請求項2記載の楽音情報処理装置。
4. The musical tone information according to claim 2, wherein said first read address data generating means and said first processing means read musical tone waveform data from said data storage unit and generate musical tone. Processing equipment.
【請求項5】上記アドレス切換手段は、これら第一の読
出アドレスデータ発生手段からの読出アドレスデータと
第二の読出アドレスデータ発生手段からの読出アドレス
データとを時分割に切り換える手段であることを特徴と
する請求項1、2、3または4記載の楽音情報処理装
置。
5. The address switching means for switching between the read address data from the first read address data generating means and the read address data from the second read address data generating means in a time sharing manner. The musical sound information processing apparatus according to claim 1, 2, 3, or 4, wherein:
【請求項6】上記プログラム記憶部の処理プログラム
は、中央処理装置によって読み出され、上記データ記憶
部の楽音データは、時分割処理によって形成された各チ
ャンネルごとであって楽音データを処理するための各チ
ャンネルごとに順次読み出されることを特徴とする請求
項2記載の楽音情報処理装置。
6. A processing program in said program storage section is read out by a central processing unit, and said tone data in said data storage section is for each tone channel formed by time-division processing for processing tone data. 3. The musical tone information processing apparatus according to claim 2, wherein the musical tone information is sequentially read out for each of the channels.
【請求項7】上記データ記憶部からは、1回の読出で、
複数ステップ分の楽音データまたは楽音波形データが読
み出され、上記プログラム記憶部からは、1回の読出
で、複数ステップ分の処理プログラムが読み出されるこ
とを特徴とする請求項1、2、3、4、5または6記載
の楽音情報処理装置。
7. The method according to claim 1, wherein the data is read out once from the data storage unit.
4. The method according to claim 1, wherein a plurality of steps of tone data or tone waveform data are read, and a plurality of steps of a processing program are read from the program storage unit by one reading. A musical tone information processing apparatus according to 4, 5, or 6.
JP63281099A 1988-11-07 1988-11-07 Music information processing device Expired - Fee Related JP2997470B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63281099A JP2997470B2 (en) 1988-11-07 1988-11-07 Music information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63281099A JP2997470B2 (en) 1988-11-07 1988-11-07 Music information processing device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP8044210A Division JP3067630B2 (en) 1996-02-05 1996-02-05 Music sound information processing apparatus and music sound information processing method

Publications (2)

Publication Number Publication Date
JPH02126296A JPH02126296A (en) 1990-05-15
JP2997470B2 true JP2997470B2 (en) 2000-01-11

Family

ID=17634328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63281099A Expired - Fee Related JP2997470B2 (en) 1988-11-07 1988-11-07 Music information processing device

Country Status (1)

Country Link
JP (1) JP2997470B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2972431B2 (en) * 1992-01-29 1999-11-08 株式会社河合楽器製作所 Sound generator
JP2011007888A (en) * 2009-06-24 2011-01-13 Kawai Musical Instr Mfg Co Ltd Memory controller of music creation device
JP2014112198A (en) * 2012-11-05 2014-06-19 Yamaha Corp Sound generating device
JP2014092723A (en) * 2012-11-05 2014-05-19 Yamaha Corp Sound generator
JP2014092722A (en) * 2012-11-05 2014-05-19 Yamaha Corp Sound generator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5160515A (en) * 1974-11-22 1976-05-26 Matsushita Electric Ind Co Ltd

Also Published As

Publication number Publication date
JPH02126296A (en) 1990-05-15

Similar Documents

Publication Publication Date Title
US5525748A (en) Tone data recording and reproducing device
JPS6199193A (en) Musical sound signal generator
JP2997470B2 (en) Music information processing device
US5892170A (en) Musical tone generation apparatus using high-speed bus for data transfer in waveform memory
JP3067630B2 (en) Music sound information processing apparatus and music sound information processing method
US4185529A (en) Electronic musical instrument
JP3176901B2 (en) Music sound information processing apparatus and music sound information processing method
JP3344988B2 (en) Music sound generation apparatus and music sound generation method
JP3447715B2 (en) Musical sound generation device and musical sound generation method
JP4070347B2 (en) Music signal generator
JP2565555B2 (en) Sequence accumulator for electronic musical instruments
JP2950461B2 (en) Tone generator
JPH0769699B2 (en) Waveform generation method
JP2705042B2 (en) Envelope waveform generation method
JP2798913B2 (en) Musical tone waveform generating apparatus and musical tone waveform generating method
JPH0769700B2 (en) Waveform generation method
JPS6330638B2 (en)
JPH02179699A (en) Musical sound waveform generating device
JPS6118559Y2 (en)
JPH02203394A (en) Musical sound frequency modulating device for electronic musical instrument
JPH03204695A (en) Musical sound synthesizing device
JP2727931B2 (en) Waveform memory sound source
JPH0651776A (en) Musical sound data recording and reproducing device
JPS6113240B2 (en)
JPH04212996A (en) Effect device

Legal Events

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