JPH0990958A - Musical sound generating device capable of scratch operation - Google Patents
Musical sound generating device capable of scratch operationInfo
- Publication number
- JPH0990958A JPH0990958A JP7266252A JP26625295A JPH0990958A JP H0990958 A JPH0990958 A JP H0990958A JP 7266252 A JP7266252 A JP 7266252A JP 26625295 A JP26625295 A JP 26625295A JP H0990958 A JPH0990958 A JP H0990958A
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- waveform
- output
- scratch
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 claims abstract description 59
- 238000009825 accumulation Methods 0.000 claims abstract description 9
- 238000005070 sampling Methods 0.000 claims description 75
- 239000000872 buffer Substances 0.000 abstract description 141
- 230000000694 effects Effects 0.000 abstract description 12
- 238000000034 method Methods 0.000 description 120
- 230000008569 process Effects 0.000 description 105
- 230000008859 change Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008929 regeneration Effects 0.000 description 10
- 238000011069 regeneration method Methods 0.000 description 10
- 108091005487 SCARB1 Proteins 0.000 description 8
- 102100037118 Scavenger receptor class B member 1 Human genes 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000013256 coordination polymer Substances 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 238000006748 scratching Methods 0.000 description 4
- 230000002393 scratching effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/155—Musical effects
- G10H2210/195—Modulation effects, i.e. smooth non-discontinuous variations over a time interval, e.g. within a note, melody or musical transition, of any sound parameter, e.g. amplitude, pitch, spectral response or playback speed
- G10H2210/241—Scratch effects, i.e. emulating playback velocity or pitch manipulation effects normally obtained by a disc-jockey manually rotating a LP record forward and backward
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、ディジタルメモ
リに格納された波形データを読み出して再生し、あるい
はリアルタイムに入力する波形データをそのまま出力し
て再生する楽音発生装置に関し、特に、擬似的にスクラ
ッチ効果を実現することのできる楽音発生装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tone generating apparatus for reading out waveform data stored in a digital memory and reproducing it, or outputting waveform data inputted in real time as it is and reproducing it, and more particularly to a pseudo-scratch device. The present invention relates to a musical sound generator capable of achieving the effect.
【0002】[0002]
【従来の技術】スクラッチとは、アナログレコードをタ
ーンテーブル上で再生中にそのレコードを手で強制的に
動かして再生速度を極端に変化させ特殊な効果音を生み
出す技法のことである。スクラッチは、アナログレコー
ドを用いた特殊な技法であって、従来、ディジタル楽音
機器でスクラッチ効果を実現するものはなかった。2. Description of the Related Art Scratch is a technique for generating a special sound effect by forcibly moving a record while manually reproducing it on a turntable to extremely change the reproduction speed. Scratch is a special technique using an analog record, and hitherto, there has been no technique for realizing a scratch effect in a digital musical sound device.
【0003】一方、波形メモリに波形データを記憶して
おき、ユーザが操作する操作子の出力をそのまま波形メ
モリの読み出しアドレスとして使用し、読み出した波形
データを出力する音源があった。On the other hand, there is a sound source that stores waveform data in a waveform memory, uses the output of a manipulator operated by a user as it is as a read address of the waveform memory, and outputs the read waveform data.
【0004】[0004]
【発明が解決しようとする課題】しかし、操作子の出力
値をそのまま波形メモリの読み出しアドレスとする方式
では、発生される楽音の制御性が良くないため、アナロ
グレコードを用いて行なうスクラッチと同様の効果を得
ることはできなかった。また、ハードウェアの制限から
任意の位置からの逆再生ができず、逆方向に向かったと
きに再生音に不連続が発生するものもあった。However, in the method in which the output value of the manipulator is directly used as the read address of the waveform memory, the controllability of the generated musical tone is not good, and therefore, the same as in the scratch performed using the analog record. I couldn't get the effect. In addition, due to the limitation of hardware, reverse reproduction from an arbitrary position cannot be performed, and in some cases, discontinuity occurs in reproduced sound when moving in the reverse direction.
【0005】この発明は、ディジタルメモリに格納され
た波形データを読み出して再生し、あるいはリアルタイ
ムに入力する波形データをそのまま出力して再生する楽
音発生方式において、擬似的にスクラッチ効果を実現す
ることができるようにすることを目的とする。According to the present invention, a pseudo-scratch effect can be realized in a musical tone generating system in which waveform data stored in a digital memory is read and reproduced, or waveform data input in real time is directly output and reproduced. The purpose is to be able to.
【0006】[0006]
【課題を解決するための手段】この目的を達成するた
め、この発明の請求項1に係る楽音発生装置は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段と、指や棒その他の部材で触れた接触位
置の座標値を出力する有限長の座標検出操作子と、前記
座標検出操作子から出力される座標値を所定周期ごとに
順次取り込む操作子出力取り込み手段と、前記座標検出
操作子の操作が開始された時点で、読み出し開始位置と
してあらかじめ定められている特定アドレスから前記記
憶手段の波形データの読み出しを開始し、前記座標検出
操作子が操作されている間前記操作子出力取り込み手段
によって取り込まれる座標値に基づいて決定した読み出
しアドレスにより、前記記憶手段の波形データを順次読
み出し、読み出した波形データを出力する処理手段とを
備えたことを特徴とする。In order to achieve this object, a tone generating apparatus according to claim 1 of the present invention comprises a memory means for storing waveform data representing a waveform amplitude value for each predetermined sampling period, a finger, A coordinate detection operator of finite length that outputs the coordinate value of the contact position touched by a rod or other member; operator output fetching means that sequentially fetches the coordinate value output from the coordinate detection operator every predetermined period; When the operation of the coordinate detection operator is started, the reading of the waveform data of the storage means is started from a specific address predetermined as a read start position, and the operation is performed while the coordinate detection operator is operated. The waveform data in the storage means is sequentially read and read at the read address determined based on the coordinate values fetched by the child output fetch means. Characterized by comprising a processing means for outputting the shape data.
【0007】請求項2に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格納
した記憶手段と、指や棒その他の部材で触れた接触位置
の座標値を出力する有限長の座標検出操作子と、前記座
標検出操作子から出力される座標値を所定周期ごとに順
次取り込み、取り込んだ座標値から前記接触位置の移動
速度を求めて出力する操作子出力取り込み手段と、前記
操作子出力取り込み手段から出力される移動速度に応じ
て決定したFナンバを読み出しアドレスに累算して新た
な読み出しアドレスを算出し、累算ごとに該読み出しア
ドレスにより前記記憶手段から波形データを読み出して
出力する処理手段とを備えたことを特徴とする。Fナン
バとは、ピッチに対応した読み出しアドレスの変化量を
言う。According to a second aspect of the present invention, the musical sound generating device outputs a coordinate value of a contact position touched by a finger, a rod or other member with a storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period. A long coordinate detection manipulator, and manipulator output fetching means for sequentially fetching coordinate values output from the coordinate sensing manipulator at predetermined intervals and obtaining and outputting the moving speed of the contact position from the fetched coordinate values; A new read address is calculated by accumulating the F number determined according to the moving speed output from the manipulator output fetching means into a read address, and the waveform data is stored from the storage means by the read address for each accumulation. And a processing unit for reading and outputting. The F number is the change amount of the read address corresponding to the pitch.
【0008】請求項3に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格納
した記憶手段と、指や棒その他の部材で触れた接触位置
の座標値を出力する有限長の座標検出操作子と、前記座
標検出操作子から出力される座標値を所定周期ごとに順
次取り込み、取り込んだ座標値から前記接触位置の移動
速度を求めて出力する操作子出力取り込み手段と、前記
座標検出操作子の操作が開始された時点で、読み出し開
始位置としてあらかじめ定められている特定の読み出し
アドレスから前記記憶手段の波形データの読み出しを開
始し、前記座標検出操作子が操作されている間は、前記
操作子出力取り込み手段から出力される移動速度に応じ
て決定したFナンバを読み出しアドレスに累算して新た
な読み出しアドレスを算出し、該読み出しアドレスによ
り前記記憶手段から波形データを読み出して出力する処
理手段とを備えたことを特徴とする。A musical sound generating apparatus according to a third aspect of the present invention outputs a coordinate value of a contact position touched by a finger, a rod or other member and a storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period. A long coordinate detection manipulator, and manipulator output fetching means for sequentially fetching coordinate values output from the coordinate sensing manipulator at predetermined intervals and obtaining and outputting the moving speed of the contact position from the fetched coordinate values; When the operation of the coordinate detection operator is started, the waveform data of the storage means is started to be read from a specific read address that is predetermined as a read start position, and the coordinate detection operator is operated. During the period, a new read address is created by accumulating the F number determined according to the moving speed output from the manipulator output fetching means in the read address. It is calculated and is characterized in that a processing unit that reads and outputs waveform data from said memory means by the read address.
【0009】請求項4に係る楽音発生装置は、外部から
リアルタイムに入力した波形データを記憶するための記
憶手段と、外部からリアルタイムに入力した波形データ
をそのまま出力する出力手段と、指や棒その他の部材で
触れた接触位置の座標値を出力する有限長の座標検出操
作子と、前記座標検出操作子から出力される座標値を所
定周期ごとに順次取り込む操作子出力取り込み手段と、
前記座標検出操作子の操作が開始された時点で前記出力
手段による波形データの出力および前記記憶手段への波
形データの記憶を停止し、前記操作子出力取り込み手段
によって取り込まれる座標値に基づいて決定した読み出
しアドレスにより、前記記憶手段の波形データを順次読
み出し、読み出した波形データを出力する処理手段とを
備えたことを特徴とする。A musical sound generating apparatus according to a fourth aspect of the present invention is a storage means for storing waveform data input in real time from the outside, an output means for outputting waveform data input in real time from the outside, a finger, a stick, etc. A coordinate detection operator having a finite length for outputting the coordinate value of the contact position touched by the member, and an operator output capturing means for sequentially capturing the coordinate value output from the coordinate detection operator every predetermined period,
When the operation of the coordinate detection operator is started, the output of the waveform data by the output means and the storage of the waveform data in the storage means are stopped, and the determination is made based on the coordinate value captured by the operator output capture means. And a processing unit for sequentially reading the waveform data of the storage unit by the read address and outputting the read waveform data.
【0010】請求項5に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを外部
からリアルタイムに入力する入力手段と、前記入力手段
によりリアルタイムに入力した波形データを、そのまま
リアルタイムに出力して再生する再生手段と、前記入力
手段によりリアルタイムに入力した波形データのうち、
常に所定容量の最新の波形データを格納するようにした
記憶手段と、指や棒その他の部材で触れた接触位置の座
標値を出力する有限長の座標検出操作子と、前記座標検
出操作子から出力される座標値を所定周期ごとに順次取
り込み、取り込んだ座標値から前記接触位置の移動速度
を求めて出力する操作子出力取り込み手段と、前記座標
検出操作子の操作が開始された時点で、前記再生手段に
よる波形データのリアルタイムな再生および前記記憶手
段への新たな波形データの記憶を停止するとともに、読
み出し開始位置としてあらかじめ定められている特定の
読み出しアドレスから前記記憶手段の波形データの読み
出しを開始し、前記座標検出操作子が操作されている間
は、前記操作子出力取り込み手段から出力される移動速
度に応じて決定したFナンバを読み出しアドレスに累算
して新たな読み出しアドレスを算出し、該読み出しアド
レスにより前記記憶手段から波形データを読み出して出
力する処理手段とを備えたことを特徴とする。According to a fifth aspect of the present invention, in the musical sound generating apparatus, the input means for inputting the waveform data representing the waveform amplitude value for each predetermined sampling period from the outside in real time, and the waveform data input by the input means in real time are directly used as they are. Of the waveform data input in real time by the inputting means
From the storage means that always stores the latest waveform data of a predetermined capacity, a finite length coordinate detection operator that outputs the coordinate value of the contact position touched by a finger, a rod, or other member, and the coordinate detection operator Coordinate values to be output are sequentially taken in every predetermined cycle, and a manipulator output take-in means for obtaining and outputting the moving speed of the contact position from the taken coordinate values, and a point in time when the operation of the coordinate detecting manipulator is started, The real-time reproduction of the waveform data by the reproducing means and the storage of the new waveform data in the storage means are stopped, and the waveform data of the storage means is read from a specific read address which is predetermined as a read start position. While the coordinate detection operation element is being operated, it is determined according to the moving speed output from the operation element output fetching means. By accumulating the read address F number calculating a new read address, and further comprising a processing means reads and outputs waveform data from said memory means by the read address.
【0011】[0011]
【発明の実施の形態】以下、図面を用いてこの発明の実
施の形態を説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.
【0012】図1は、この発明に係る楽音発生装置であ
るサンプラーのブロック構成図を示す。このサンプラー
は、中央処理装置(CPU)101、リードオンリーメ
モリ(ROM)102、フラッシュメモリ103、ラン
ダムアクセスメモリ(RAM)104、タイマ105、
リボンコントローラ106、パッド107、ディスプレ
イ108、パネルスイッチ109、サンプリングクロッ
ク(Fs)発生器110、サウンドI/O112、DM
A(ダイレクトメモリアクセス)コントローラ113、
およびバスライン115を備えている。FIG. 1 is a block diagram of a sampler which is a musical tone generating apparatus according to the present invention. This sampler includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a flash memory 103, a random access memory (RAM) 104, a timer 105,
Ribbon controller 106, pad 107, display 108, panel switch 109, sampling clock (Fs) generator 110, sound I / O 112, DM
A (direct memory access) controller 113,
And a bus line 115.
【0013】CPU101は、このサンプラーの全体の
動作を制御する。ROM102は、CPU101が実行
する制御プログラムを格納する。RAM104には、各
種のレジスタやバッファなどのワーク領域が設けられ
る。フラッシュメモリ103は、このサンプラーで録音
したときの波形データを記憶するためのメモリである。
録音した波形データは一時的にRAM104上の録音バ
ッファに蓄えられるが、その録音バッファが一杯になっ
たときフラッシュメモリ103に録音バッファ上の波形
データを移す。このサンプラーの電源をオフした場合で
も、フラッシュメモリ103上のデータは保持される。The CPU 101 controls the overall operation of this sampler. The ROM 102 stores the control program executed by the CPU 101. The RAM 104 is provided with work areas such as various registers and buffers. The flash memory 103 is a memory for storing waveform data recorded by this sampler.
The recorded waveform data is temporarily stored in the recording buffer on the RAM 104. When the recording buffer is full, the waveform data on the recording buffer is transferred to the flash memory 103. Even when the power of this sampler is turned off, the data on the flash memory 103 is retained.
【0014】タイマ105は、CPU101に対して所
定間隔でタイマ割り込みを発生させるためのタイマクロ
ック信号を発生する。タイマ割り込みにより、CPU1
01は、所定時間間隔ごとにリボンコントローラ106
の検出値を取り込む処理などを行なう。The timer 105 generates a timer clock signal for generating a timer interrupt to the CPU 101 at a predetermined interval. CPU1 by timer interrupt
01 is the ribbon controller 106 at predetermined time intervals.
The process of fetching the detected value of is performed.
【0015】リボンコントローラ106は、ユーザがス
クラッチ操作やその他の操作を行なうための操作子であ
る。リボンコントローラ106は、有限長の直線上の部
材からなり、指あるいは棒などの部材で触れると触れた
位置の座標が出力される座標検出操作子である。リボン
コントローラ106の特徴として、任意の位置から操作
を開始することができる。リボンコントローラ106
は、指や棒で触れていないときは所定値を出力し、触れ
ているときは触れた座標の位置を出力するので、リボン
コントローラ106が操作されているか否か(すなわ
ち、指や棒で触れているか否か)はその検出値から判定
できる。The ribbon controller 106 is an operator for a user to perform a scratch operation and other operations. The ribbon controller 106 is a coordinate detection manipulator made of a linear member having a finite length and outputting the coordinates of the touched position when touched by a member such as a finger or a rod. As a feature of the ribbon controller 106, the operation can be started from any position. Ribbon controller 106
Outputs a predetermined value when it is not touched with a finger or a stick, and outputs the position of the touched coordinate when it is touched, so whether or not the ribbon controller 106 is operated (that is, touched with a finger or a stick) It can be determined from the detected value.
【0016】パッド107は、ユーザが発音を支持する
ための操作子である。具体的には、10個のパッドが設
けられており、録音(サンプリング)時に一つのパッド
を指定して録音することができる。再生時にはそのパッ
ドをたたく(オン)ことにより、そのパッドに対応して
録音されていた波形データが読み出されて再生される。
なお、パッドをオンする代わりに、MIDI(Musical
Instrument Digital Interface)信号のノートオンを受
信して再生を行なうようにしてもよい。The pad 107 is a manipulator for the user to support the pronunciation. Specifically, ten pads are provided, and one pad can be designated for recording during recording (sampling). By hitting (turning on) the pad during reproduction, the waveform data recorded corresponding to the pad is read and reproduced.
Note that instead of turning on the pads, MIDI (Musical
Instrument Digital Interface) signal note-on may be received and reproduced.
【0017】ディスプレイ108は、各種の設定情報を
表示するためのものである。パネルスイッチ(SW)1
09は、ユーザが各種の設定操作を行なうためのパネル
上に設けられたスイッチ群である。パネルSW109
は、モード切り替えスイッチなどのスイッチを含む。The display 108 is for displaying various setting information. Panel switch (SW) 1
A switch group 09 is provided on the panel for the user to perform various setting operations. Panel SW109
Includes switches such as a mode switch.
【0018】Fs発生器110は、サウンドI/O11
2に与える周波数Fsのサンプリングクロックを発生す
る。サウンドI/O112は、コーデック(CODE
C)と呼ばれるLSIからなる。サウンドI/O112
は、アナログディジタル(A/D)変換機能およびディ
ジタルアナログ(D/A)変換機能を備えており、A/
D入力端子には外部入力111からのアナログ楽音信号
が入力し、D/A出力端子にはサウンドシステム114
が接続される。サウンドI/O112は、A/D入力端
子から取り込んだ波形データ(外部入力111のアナロ
グ楽音信号をA/D変換機能でディジタルデータに変換
した波形データ)をADPCM(適応差分パルス符号変
調)方式で圧縮する機能、およびD/A出力端子に出力
する波形データ(D/A変換してサウンドシステム11
4に出力するディジタル波形データ)に対するADPC
M伸張を行なう機能を備えている。なお、ここで説明す
る本発明の一形態例では、サウンドI/O112ではA
DPCM圧縮のみを行なうものとし、ADPCM伸張は
CPU101が所定のソフトウエアを実行することによ
り行なうものとする。The Fs generator 110 is a sound I / O 11
2 to generate a sampling clock having a frequency Fs. The sound I / O 112 is a codec (CODE
C). Sound I / O112
Has an analog-digital (A / D) conversion function and a digital-analog (D / A) conversion function.
An analog musical tone signal from the external input 111 is input to the D input terminal, and a sound system 114 is input to the D / A output terminal.
Is connected. The sound I / O 112 uses the ADPCM (adaptive differential pulse code modulation) method to convert the waveform data (waveform data obtained by converting the analog tone signal of the external input 111 into digital data by the A / D conversion function) taken in from the A / D input terminal. Function to compress and waveform data output to D / A output terminal (D / A converted and sound system 11
ADPC for digital waveform data output to 4)
It has a function to perform M extension. In the embodiment of the present invention described here, the sound I / O 112 is A
Only DPCM compression is performed, and ADPCM decompression is performed by the CPU 101 executing predetermined software.
【0019】サウンドI/O112は、内部に2つのF
IFO(First In First Out)方式のスタック領域を備
えている。一つはA/D入力端子経由で入力されたディ
ジタル波形データを保持する入力FIFOであり、もう
一つはD/A出力端子経由で出力するディジタル波形デ
ータを保持する出力FIFOである。The sound I / O 112 has two F's inside.
It has an IFO (First In First Out) stack area. One is an input FIFO for holding digital waveform data input via an A / D input terminal, and the other is an output FIFO for holding digital waveform data output via a D / A output terminal.
【0020】以下、入力FIFOと出力FIFOを用い
たサウンドI/O112の入出力の動作について、簡単
に説明する。The input / output operation of the sound I / O 112 using the input FIFO and the output FIFO will be briefly described below.
【0021】外部入力111からサウンドI/O112
のA/D入力端子に入力したアナログ楽音信号は、周波
数Fsのサンプリングクロックに応じてA/D変換さ
れ、(必要に応じてADPCM圧縮され、あるいはその
まま)入力FIFOへ書き込まれる。入力FIFOに波
形データが入っていると、サウンドI/O112は、D
MAコントローラ113に対してその入力波形データを
処理する要求を出す。DMAコントローラ113は、そ
の処理要求に応じて、入力FIFOのデータをRAM1
04上の所定の領域(あらかじめ確保されている録音バ
ッファ領域)に転送する。このDMAコントローラ11
3によるデータの転送は、DMAコントローラ113が
サンプリングクロックFsごとにCPU101に割り込
みをかけバスライン115を確保して行なう。CPU1
01は、DMAコントローラ113によるバスライン1
15の確保を意識することはない。上述のDMAコント
ローラ113による録音時の波形データの転送処理につ
いては、図15で詳しく説明する。External input 111 to sound I / O 112
The analog tone signal input to the A / D input terminal of A is D / A converted according to the sampling clock of the frequency Fs, and is written to the input FIFO (ADPCM compressed as necessary, or as it is). If the input FIFO contains waveform data, the sound I / O 112 will
A request for processing the input waveform data is issued to the MA controller 113. The DMA controller 113 transfers the data of the input FIFO to the RAM 1 in response to the processing request.
04 to a predetermined area (recording buffer area secured in advance). This DMA controller 11
The data transfer by 3 is performed by the DMA controller 113 interrupting the CPU 101 at every sampling clock Fs to secure the bus line 115. CPU1
01 is the bus line 1 by the DMA controller 113
There is no awareness of securing 15. The waveform data transfer process during recording by the DMA controller 113 will be described in detail with reference to FIG.
【0022】一方、サウンドI/O112内の出力FI
FOに波形データが存在する場合、その出力FIFO内
の波形データは、サンプリングクロックFsごとにD/
A変換され、D/A出力端子経由でサウンドシステム1
14に送出され放音される。出力FIFOの波形データ
が出力されると、出力FIFOに空きができるので、サ
ウンドI/O112は、DMAコントローラ113に波
形データ取得の要求を出す。CPU101は、あらかじ
め出力したい波形データを生成してRAM104上の再
生バッファに置いておき、DMAコントローラ113に
はその波形の再生要求を出しておく。DMAコントロー
ラ113は、サンプリングクロックFsごとにCPU1
01に割り込みをかけてバスライン115を確保し、R
AM104上の再生バッファの波形データをサウンドI
/O112の出力FIFOに転送する。このDMAコン
トローラ113による波形データの転送は、CPU10
1が意識することはない。出力FIFOに書き込まれた
波形データは、上述したようにサンプリングクロックF
sごとにサウンドシステム114へと送られて放音され
る。上述のDMAコントローラ113による再生時の波
形データの転送処理については、図16で詳しく説明す
る。On the other hand, the output FI in the sound I / O 112
When waveform data exists in the FO, the waveform data in the output FIFO is D / D for each sampling clock Fs.
A-converted, sound system 1 via D / A output terminal
It is sent to 14 and sound is emitted. When the waveform data of the output FIFO is output, there is a space in the output FIFO, and the sound I / O 112 issues a waveform data acquisition request to the DMA controller 113. The CPU 101 previously generates waveform data to be output and places it in a reproduction buffer on the RAM 104, and issues a reproduction request for the waveform to the DMA controller 113. The DMA controller 113 uses the CPU 1 for each sampling clock Fs.
01 is interrupted to secure the bus line 115 and R
The sound data from the waveform data in the playback buffer on the AM104
/ O 112 to the output FIFO. The transfer of the waveform data by the DMA controller 113 is performed by the CPU 10
1 does not notice. The waveform data written to the output FIFO is the sampling clock F as described above.
Every s, the sound is sent to the sound system 114 and emitted. The transfer processing of the waveform data at the time of reproduction by the DMA controller 113 will be described in detail with reference to FIG.
【0023】さらに、サウンドI/O112は、A/D
入力端子に入力した波形データをそのままD/A出力端
子に素通しし、外部入力111からの楽音信号をそのま
まサウンドシステム114で放音するようにする機能を
備えている。A/D入力とD/A出力との接続は、CP
U101による指示に基づいて行なわれる。またCPU
101は、A/D入力とD/A出力の接続を切断するこ
ともできる。Further, the sound I / O 112 is an A / D
It has a function of passing the waveform data input to the input terminal as it is to the D / A output terminal, and allowing the sound system 114 to output the musical sound signal from the external input 111 as it is. The connection between A / D input and D / A output is CP
It is performed based on the instruction from U101. Also CPU
101 can also disconnect the A / D input and the D / A output.
【0024】次に、図1のサンプラーの機能の概要を説
明する。このサンプラーは、ノーマルモード、サンプリ
ングモード、フィルタ再生モード、ピッチ付き再生モー
ド、スクラッチ再生モード、外部入力(EX)フィルタ
モード、および外部入力(EX)スクラッチモードの7
つの動作モードを有する。これらのモードは、パネルS
W109上のモード切り替えスイッチにより切り替える
ことができる。以下、各モードについて説明する。Next, the outline of the function of the sampler of FIG. 1 will be described. This sampler has seven modes: normal mode, sampling mode, filter playback mode, pitch playback mode, scratch playback mode, external input (EX) filter mode, and external input (EX) scratch mode.
It has two operation modes. These modes are
It can be switched by the mode selector switch on W109. Hereinafter, each mode will be described.
【0025】ノーマルモードは、録音した楽音を再生す
るモードである。このサンプラーの初期状態はノーマル
モードである。ノーマルモードにおいて、ユーザが10
個のパッド107の内の一つをたたく(パッドオン)
と、そのパッドに対応して録音された波形データが再生
される。ノーマルモードでは4音まで再生することがで
きる。すなわち、4つのパッドまではパッドオンごとに
そのパッドに対応して録音された波形データが再生さ
れ、5つ目のパッドをオンすると一番始めにオンされた
パッドに対応する再生音が停止し、新しくオンされた5
番目のパッドに対応する波形データが再生される。The normal mode is a mode for reproducing recorded musical tones. The initial state of this sampler is normal mode. 10 users in normal mode
Hit one of the pads 107 (pad on)
Then, the waveform data recorded corresponding to the pad is reproduced. Up to 4 sounds can be played in normal mode. That is, up to the four pads, the waveform data recorded corresponding to each pad is played every time the pad is turned on, and when the fifth pad is turned on, the playback sound corresponding to the first pad turned on stops, Newly turned on 5
The waveform data corresponding to the th pad is reproduced.
【0026】サンプリングモードは録音を行なうモード
である。モード切り替えスイッチによりサンプリングモ
ードを指定したとき、ユーザは同時に録音を行なうパッ
ドを指定する。これにより、外部から入力する楽音をそ
のパッドに対応して録音することができる。The sampling mode is a mode for recording. When the sampling mode is designated by the mode selector switch, the user designates a pad for recording at the same time. As a result, a musical sound input from the outside can be recorded corresponding to the pad.
【0027】フィルタ再生モードでは、2音だけノーマ
ルモードと同様にパッドオンにしたがって再生される。
さらに、その再生音に対しディジタルフィルタ処理、具
体的にはローパスフィルタ処理を施す。ユーザは、リボ
ンコントローラ106を操作することにより、そのロー
パスフィルタ処理におけるカットオフ周波数を変更制御
することができる。In the filter reproduction mode, only two sounds are reproduced according to the pad-on as in the normal mode.
Further, the reproduced sound is subjected to digital filter processing, specifically, low-pass filter processing. By operating the ribbon controller 106, the user can change and control the cutoff frequency in the low-pass filter processing.
【0028】ピッチ付き再生モードは、録音した楽音を
ピッチ付きで再生するモードである。(ピッチ付き再生
モード以外の動作モードでは、録音したときのそのまま
のピッチで再生される。)モード切り替えスイッチによ
りピッチ付き再生モードを指定したとき、ユーザは同時
に何れかのパッドを指定することにより、ピッチ付き再
生モードで再生する波形データを指定する。その後は、
10個あるパッドの何れかをオンすると、そのパッドに
対応したピッチで、先に指定した波形データが再生され
る。当モードで再生できるのは2音分である。なお、こ
こでは再生する波形を指定するためのパッドをピッチ指
定操作子として兼用して用いているが、パッドと別にピ
ッチ指定操作子を設けてもよい。The playback mode with pitch is a mode in which the recorded musical sound is played back with pitch. (In operation modes other than the pitched playback mode, playback is performed at the same pitch as when recorded.) When the pitched playback mode is specified by the mode selector switch, the user specifies one of the pads at the same time. Specify the waveform data to be played in the pitched playback mode. After that,
When any one of the ten pads is turned on, the waveform data previously specified is reproduced at a pitch corresponding to the pad. Only two notes can be played in this mode. Although a pad for designating a waveform to be reproduced is also used as a pitch designating operator here, a pitch designating operator may be provided separately from the pad.
【0029】スクラッチ再生モードは、ユーザによるス
クラッチ操作を実現するモードである。モード切り替え
スイッチによりスクラッチ再生モードを指定したとき、
ユーザは同時に任意の一つのパッドを指定する。そのパ
ッドに対応する波形データが、スクラッチ再生される波
形データである。以後は、リボンコントローラ106に
触れると当該波形データの再生が開始され、さらにリボ
ンコントローラ106を触れている位置を移動させるこ
とにより、該再生音がスクラッチ再生される。さらに、
当モードにおいては、スクラッチ再生とは別に、10個
あるパッドによるノーマルモードと同様の再生を2音分
だけ行なうことができる。The scratch reproduction mode is a mode for realizing a scratch operation by the user. When scratch playback mode is specified by the mode switch,
The user specifies any one pad at the same time. The waveform data corresponding to the pad is the waveform data to be scratch-reproduced. After that, when the ribbon controller 106 is touched, the reproduction of the waveform data is started, and by moving the position where the ribbon controller 106 is touched, the reproduced sound is scratch-reproduced. further,
In this mode, apart from scratch reproduction, the same reproduction as the normal mode with 10 pads can be performed for two sounds.
【0030】EXフィルタモードは、外部入力111を
フィルタリング(ローパスフィルタ)してサウンドシス
テム114に出力するモードである。フィルタリングの
カットオフ周波数は、ユーザがリボンコントローラ10
6で変更制御することができる。EXフィルタモードで
は、パッドオンしてもパッドに応じた波形の再生は行な
われないようになっている。The EX filter mode is a mode in which the external input 111 is filtered (low-pass filter) and output to the sound system 114. The cutoff frequency for filtering is set by the user in the ribbon controller 10.
Change control can be performed at step 6. In the EX filter mode, even if the pad is turned on, the waveform according to the pad is not reproduced.
【0031】EXスクラッチモードは、外部入力111
を用いてスクラッチ操作を行なうモードである。EXス
クラッチモードでは、リボンコントローラ106を触れ
ない間は、外部入力111がそのままサウンドシステム
114で放音される。リボンコントローラ106に触れ
た時点で外部入力から直接放音することを停止し、その
時点までに取り込んだ外部入力波形を用いてリボンコン
トローラ106によるスクラッチ再生を行なう。EXス
クラッチモードでは、パッドオンしてもパッドに応じた
波形の再生は行なわれないようになっている。In the EX scratch mode, the external input 111 is used.
This is a mode for performing a scratch operation using. In the EX scratch mode, the external input 111 is output by the sound system 114 as it is while the ribbon controller 106 is not touched. When the ribbon controller 106 is touched, the direct sound output from the external input is stopped, and the ribbon controller 106 performs scratch reproduction using the external input waveform captured up to that point. In the EX scratch mode, even if the pad is turned on, the waveform corresponding to the pad is not reproduced.
【0032】次に、RAM104上に設けられるレジス
タ、バッファなどについて説明する。Next, the registers and buffers provided on the RAM 104 will be described.
【0033】図2(a)は、RAM104上の音源レジ
スタを示す。音源レジスタはパッド演奏用の4チャンネ
ル分の領域(1ch〜4ch)、およびスクラッチ再生
用の音源レジスタschからなる。各チャンネルのレジ
スタには、再生すべき波形データの読み出しアドレスや
ノートオンなどの情報が格納される。FIG. 2A shows a tone generator register on the RAM 104. The tone generator register is composed of four channel regions (1 to 4ch) for pad performance and a tone generator register sch for scratch reproduction. Information such as a read address of waveform data to be reproduced and note-on is stored in the register of each channel.
【0034】図2(b)は、RAM104上の録音バッ
ファを示す。録音バッファはRB0とRB1の2つが用
意され、それぞれ128サンプルの波形データを記憶で
きる。録音時は、一方の録音バッファに波形サンプルを
記憶していき(すなわち、DMAコントローラ113に
より、外部入力111の波形データをサウンドI/O1
12の入力FIFO経由で録音バッファに転送してい
く)、その録音バッファが一杯になったとき、CPU1
01によりその録音バッファの波形サンプルをフラッシ
ュメモリ103に書き出す。それとともに、もう一方の
録音バッファに波形サンプルの記憶を続けて行なうよう
にする。このように、2つある録音バッファを交互に使
用して録音を行なう。なお、RBk(k=0または1)
で現在録音(波形データの記憶)を行なっている録音バ
ッファを示し、RBkバーでもう一方の録音バッファを
示すものとする。kバーはkの反転(k=0のときkバ
ー=1、k=1のときkバー=0)を示し、図面中では
kにオーバーラインを付してkバーを表している。FIG. 2B shows a recording buffer on the RAM 104. Two recording buffers, RB0 and RB1, are prepared, each of which can store 128 samples of waveform data. During recording, waveform samples are stored in one of the recording buffers (that is, the DMA controller 113 converts the waveform data of the external input 111 into the sound I / O1).
12 transfer to the recording buffer via the input FIFO), when the recording buffer is full, CPU1
At 01, the waveform sample of the recording buffer is written in the flash memory 103. At the same time, the waveform sample is continuously stored in the other recording buffer. In this way, recording is performed by alternately using the two recording buffers. RBk (k = 0 or 1)
Indicates the recording buffer that is currently recording (storing waveform data), and the RBk bar indicates the other recording buffer. k-bar represents the inversion of k (k-bar = 1 when k = 0, k-bar = 0 when k = 1), and k is overlined in the drawing to represent k-bar.
【0035】図2(c)は、RAM104上の再生バッ
ファを示す。再生バッファはPB0とPB1の2つが用
意され、それぞれ128サンプルの波形データを記憶で
きるようになっている。一方の再生バッファが再生に用
いられているとき(すなわち、再生バッファ内の波形デ
ータがDMAコントローラ113によりサウンドI/O
112に転送され出力FIFOを経て放音されていると
き)、もう一方の再生バッファにはCPU101により
次に出力されるべき波形データが用意される。このよう
に、2つある再生バッファを交互に用いて再生を行な
う。なお、PBr(r=0または1)で現在波形データ
をサウンドI/O112に転送して再生を行なっている
再生バッファを示し、PBrバーでもう一方の再生バッ
ファを示すものとする。rバーはrの反転(r=0のと
きrバー=1、r=1のときrバー=0)を示し、図面
中ではrにオーバーラインを付してrバーを表してい
る。FIG. 2C shows a reproduction buffer on the RAM 104. Two reproduction buffers, PB0 and PB1, are prepared, each of which can store 128-sample waveform data. When one reproduction buffer is used for reproduction (that is, the waveform data in the reproduction buffer is transferred to the sound I / O by the DMA controller 113).
Waveform data to be output next by the CPU 101 is prepared in the other reproduction buffer). In this way, reproduction is performed by alternately using the two reproduction buffers. It should be noted that PBr (r = 0 or 1) indicates a reproduction buffer in which the current waveform data is transferred to the sound I / O 112 for reproduction and the PBr bar indicates the other reproduction buffer. The r bar indicates the inversion of r (r bar = 1 when r = 0, r bar = 0 when r = 1), and r is overlined in the drawing to represent the r bar.
【0036】図2(d)は、RAM104上に設けられ
たスクラッチ領域SRを示す。このスクラッチ領域SR
は、スクラッチ再生モードが指定されたときに確保され
る領域である。スクラッチ再生モードに入るとき、指定
されたパッドに対応する波形データがADPCM伸張さ
れて(リニア16ビットで)、RAM104上の所定の
領域に展開される。その展開された波形データ中の所定
の領域をスクラッチ領域SRとする。波形データ中のど
の位置にスクラッチ領域SRを設定するかは、あらかじ
め決定しておく。スクラッチ領域SR上の所定のアドレ
スを、スクラッチ開始アドレスとしてスクラッチポイン
タSPに設定する。スクラッチポインタSPの値は、ユ
ーザが変更することもできる。スクラッチ再生モードに
おいてユーザがリボンコントローラ106を操作すると
スクラッチ再生されるが、リボンコントローラ106の
操作開始位置がどこであっても、スクラッチポインタS
Pで指される位置からスクラッチ再生が開始される。FIG. 2D shows the scratch area SR provided on the RAM 104. This scratch area SR
Is an area secured when the scratch reproduction mode is designated. When entering the scratch reproduction mode, the waveform data corresponding to the designated pad is ADPCM expanded (with linear 16 bits) and expanded in a predetermined area on the RAM 104. A predetermined area in the expanded waveform data is set as a scratch area SR. The position in the waveform data where the scratch area SR is set is determined in advance. A predetermined address on the scratch area SR is set in the scratch pointer SP as a scratch start address. The value of the scratch pointer SP can be changed by the user. Scratch reproduction is performed when the user operates the ribbon controller 106 in the scratch reproduction mode. However, regardless of the operation start position of the ribbon controller 106, the scratch pointer S
The scratch reproduction is started from the position pointed to by P.
【0037】図2(e)は、EXスクラッチモードにお
けるスクラッチ領域を示す。EXスクラッチモードで
は、外部入力111の波形データを録音バッファSRB
0,SRB1(図2(e))に格納する。録音バッファ
SRB0とSRB1は、図2(b)で説明した録音バッ
ファRB0とRB1に対応する録音バッファであり、R
B0,RB1と同様にして交互に用いる。SRB0とS
RB1は、スクラッチを行なうために必要十分な容量
(例えば、サンプリングクロックが40kHzなら、4
0kサンプル以上格納できる程度の容量)とする。SR
B0とSRB1のうち、リボンコントローラ106の操
作が開始された時点で書き込みの行なわれていない方の
録音バッファをスクラッチ領域として設定する。図2
(e)では、録音バッファSRB0内に書き込むアドレ
スを示す録音ポインタRPが指す位置があるから、現在
SRB0に書き込みが行なわれている。そこで、書き込
みの行なわれていない録音バッファSRB1中の所定の
領域をスクラッチ領域SRとして設定している。また、
スクラッチ領域SR上の所定のアドレスを、スクラッチ
開始アドレスとしてスクラッチポインタSPに設定す
る。FIG. 2E shows a scratch area in the EX scratch mode. In the EX scratch mode, the waveform data of the external input 111 is transferred to the recording buffer SRB.
0, SRB1 (FIG. 2 (e)). The recording buffers SRB0 and SRB1 are recording buffers corresponding to the recording buffers RB0 and RB1 described in FIG.
They are used alternately like B0 and RB1. SRB0 and S
RB1 has a capacity sufficient for scratching (for example, if the sampling clock is 40 kHz, 4
(Capacity that can store 0 k samples or more). SR
Of B0 and SRB1, the recording buffer which is not written at the time when the operation of the ribbon controller 106 is started is set as a scratch area. FIG.
In (e), since the recording pointer RP indicating the address to be written is located in the recording buffer SRB0, writing is currently performed in SRB0. Therefore, a predetermined area in the recording buffer SRB1 which is not written is set as the scratch area SR. Also,
A predetermined address on the scratch area SR is set in the scratch pointer SP as a scratch start address.
【0038】次に、図2に示したもの以外のレジスタ類
について説明する。Next, registers other than those shown in FIG. 2 will be described.
【0039】(1)m:動作モードレジスタである。0
でノーマルモード、1でサンプリングモード、2でフィ
ルタ再生モード、3でピッチ付き再生モード、4でスク
ラッチ再生モード、5でEXフィルタモード、6でEX
スクラッチモードを示す。 (2)PN:パッドを特定するパッド番号を格納するレ
ジスタである。 (3)i:発音を割り当てるチャンネルのチャンネルナ
ンバーを格納するレジスタである。 (4)FNi:発音割当を行なった第iチャンネルのF
ナンバを格納するレジスタである。 (5)TMP:リボンコントローラ106の検出値を格
納するレジスタである。(1) m: An operation mode register. 0
Normal mode, 1 sampling mode, 2 filter playback mode, 3 pitch playback mode, 4 scratch playback mode, 5 EX filter mode, 6 EX
Indicates scratch mode. (2) PN: A register that stores a pad number that identifies the pad. (3) i: A register that stores the channel number of the channel to which the sound is assigned. (4) FNi: F of the i-th channel to which pronunciation is assigned
It is a register that stores a number. (5) TMP: A register that stores the detection value of the ribbon controller 106.
【0040】(6)RD:リボンコントローラ106か
らの検出値が変化したときに、当該検出値を設定するレ
ジスタである。 (7)RS:リボンコントローラ106の状態を示すフ
ラグである。リボンコントローラ106が操作されてい
るとき(リボンコントローラ106に指などが触れてい
るとき)1であり、操作されていないとき(指などが触
れていないとき)0である。 (8)VEL:リボンコントローラ106の移動の速度
(詳しく言えば、リボンコントローラ106に触れてい
る指などの移動速度)を設定するレジスタである。 (9)OLD:リボンコントローラ106の一回前の検
出値を保持しておくレジスタである。 (10)SAD:スクラッチ用アドレスを格納するレジ
スタである。(6) RD: A register for setting the detection value when the detection value from the ribbon controller 106 changes. (7) RS: A flag indicating the state of the ribbon controller 106. It is 1 when the ribbon controller 106 is being operated (when a finger or the like is touching the ribbon controller 106), and is 0 when it is not being operated (when the finger or the like is not touching). (8) VEL: a register for setting the moving speed of the ribbon controller 106 (specifically, the moving speed of a finger or the like touching the ribbon controller 106). (9) OLD: This is a register for holding the previous detection value of the ribbon controller 106. (10) SAD: A register for storing the scratch address.
【0041】(11)ADi:第iチャンネル(i=1
〜4)における読み出しアドレスを格納するレジスタで
ある。 (12)SFN:スクラッチ用チャンネルschの波形
データ読み出しにおけるFナンバを格納するレジスタで
ある。 (13)RP:録音用ポインタである。録音バッファの
波形データ書き込み位置を示す。 (14)PP:再生用ポインタである。再生バッファの
波形データ読み出し位置を示す。(11) ADi: i-th channel (i = 1
4) is a register for storing the read address. (12) SFN: This is a register that stores the F number in reading the waveform data of the scratch channel sch. (13) RP: A recording pointer. Indicates the waveform data write position in the recording buffer. (14) PP: A reproducing pointer. The waveform data read position of the reproduction buffer is shown.
【0042】なお、上述のレジスタなどを示す記号は、
レジスタなどの記憶領域そのものを示すとともに、該記
憶領域に格納されるデータをも示すものとする。例え
ば、mというときは、動作モードレジスタを示すととも
に、該レジスタに格納された動作モードを表すデータを
も示すものとする。The symbols indicating the above registers are as follows:
The storage area itself such as a register is shown, and also the data stored in the storage area is shown. For example, "m" indicates an operation mode register and also data indicating the operation mode stored in the register.
【0043】図3〜図16は、図1のサンプラーにおけ
るCPU101およびDMAコントローラ113の動作
を説明するためのフローチャートである。以下では、始
めにこれらのソフトウエアの階層構造について説明し、
次に図3〜図16のフローチャートにしたがって各ソフ
トウェアモジュールの処理手順を説明する。その後、そ
れらのソフトウェアモジュールをどのようなタイミング
で実施して各モードの機能を実現していくかについてモ
ード別に説明する。3 to 16 are flowcharts for explaining the operations of the CPU 101 and the DMA controller 113 in the sampler of FIG. In the following, we first explain the hierarchical structure of these software,
Next, the processing procedure of each software module will be described with reference to the flowcharts of FIGS. After that, the timing of implementing those software modules to realize the function of each mode will be described for each mode.
【0044】まず、ソフトウエアの階層構造について説
明する。図3〜図16に示すプログラムは以下のように
レベル分けされる。First, the hierarchical structure of software will be described. The programs shown in FIGS. 3 to 16 are classified into levels as follows.
【0045】レベル1:DMAコントローラ113の録
音時の処理ルーチンである図15のDR(m)ルーチ
ン、およびDMAコントローラ113の再生時の処理ル
ーチンである図16のDPルーチン。Level 1: DR (m) routine of FIG. 15 which is a processing routine of the DMA controller 113 during recording, and DP routine of FIG. 16 which is a processing routine of the DMA controller 113 during reproduction.
【0046】レベル2:CPU101により波形作成を
行なう図11および図12の波形生成ルーチンHS
(m)、およびCPU101によりリボンコントローラ
106の検出値を取り込むための図9および図10のリ
ボン値取り込みルーチンRC(m)。波形生成ルーチン
HS(m)のサブルーチンである図13および図14の
処理ルーチンも含む。Level 2: The waveform generation routine HS shown in FIGS. 11 and 12 in which the CPU 101 creates a waveform.
(M), and the ribbon value fetch routine RC (m) of FIGS. 9 and 10 for fetching the detection value of the ribbon controller 106 by the CPU 101. It also includes the processing routines of FIGS. 13 and 14, which are subroutines of the waveform generation routine HS (m).
【0047】レベル3:CPU101が実行する図3の
定常ルーチン。そのサブルーチンであるパッドスキャ
ン、SWスキャン、および各イベントルーチン(図4〜
図8の処理ルーチン)も含む。Level 3: The steady routine of FIG. 3 executed by the CPU 101. The subroutines, pad scan, SW scan, and event routines (see FIG. 4 to FIG.
The processing routine of FIG. 8) is also included.
【0048】レベル1の処理ルーチンは優先度が最も高
い。すなわち、レベル2あるいはレベル3の処理が行な
われているときにレベル1の処理ルーチンの実行のため
の割り込みがかかるとレベル1の処理ルーチンが最優先
で実行される。レベル1の処理DR(m)およびDP
は、CPU101が実行する処理でなくDMAコントロ
ーラ113が実行する処理であるので、レベル1の処理
の割り込みがかかったとき、CPU101の動作が停止
し、バスライン115はDMAコントローラ113が確
保してこれらのレベル1の処理を最優先で行なう。この
レベル1の処理の割り込みは、サンプリングクロックF
sにしたがう。すなわち、サンプリングクロックFsご
とに割り込みが発生し、DMAコントローラ113によ
り、再生であればDPが実行され、録音であればDR
(m)が実行される。なお、サンプリングクロックFs
ごとの割り込みでDPまたはDR(m)を実行するか否
かはあらかじめCPU101からDMAコントローラ1
13に対して指定しておく。The level 1 processing routine has the highest priority. That is, if an interrupt for execution of the level 1 processing routine is made while the level 2 or level 3 processing is being performed, the level 1 processing routine is executed with the highest priority. Level 1 processing DR (m) and DP
Is a process executed by the DMA controller 113, not a process executed by the CPU 101. Therefore, when the interrupt of the process of level 1 is applied, the operation of the CPU 101 is stopped and the bus line 115 is secured by the DMA controller 113. Level 1 processing is performed with the highest priority. The interrupt of this level 1 processing is the sampling clock F
Follow s. That is, an interrupt occurs every sampling clock Fs, and the DMA controller 113 executes DP for reproduction and DR for recording.
(M) is executed. The sampling clock Fs
Whether to execute DP or DR (m) with each interrupt is determined in advance from the CPU 101 to the DMA controller 1
It is specified for 13.
【0049】レベル2の処理は、レベル1の処理より優
先度は低いが、レベル3の処理より優先度が高い。すな
わち、レベル3の定常ルーチンが実行されているときレ
ベル2の処理を行なうための割り込みがかかると、レベ
ル2の処理ルーチンが優先して実行される。上記DMA
コントローラ113のDPルーチンは、再生バッファの
波形データを再生していき、該再生バッファが空になっ
たときCPU101に割り込みをかける。この割り込み
を受けて、CPU101は、波形作成ルーチンHS
(m)を実行し、波形サンプルを再生バッファに用意す
る。リボン値取り込みルーチンRC(m)は、タイマ割
り込みにより起動される。すなわち、タイマ105から
所定間隔で出力されるクロックごとに、タイマ割り込み
がかかり、これによりCPU101がリボン値取り込み
ルーチンRC(m)を実行してリボンコントローラ10
6の検出値を取り込む。The level 2 process has a lower priority than the level 1 process, but has a higher priority than the level 3 process. That is, when an interrupt for performing the processing of level 2 is made while the steady routine of level 3 is being executed, the processing routine of level 2 is preferentially executed. DMA above
The DP routine of the controller 113 reproduces the waveform data in the reproduction buffer and interrupts the CPU 101 when the reproduction buffer becomes empty. In response to this interrupt, the CPU 101 causes the waveform creation routine HS
Execute (m) to prepare the waveform sample in the reproduction buffer. The ribbon value fetch routine RC (m) is activated by a timer interrupt. That is, a timer interrupt is applied at every clock output from the timer 105 at a predetermined interval, whereby the CPU 101 executes the ribbon value fetching routine RC (m) to execute the ribbon value controller 10.
The detection value of 6 is fetched.
【0050】レベル3は最も優先度の低い処理ルーチン
である。CPU101は、図3の定常ルーチンを繰り返
し実行し、パッド107のオンイベントやパネルSW1
09の操作イベントがあったとき所定のサブルーチンを
実行する。Level 3 is a processing routine having the lowest priority. The CPU 101 repeatedly executes the steady routine of FIG. 3 to execute the ON event of the pad 107 and the panel SW1.
When there is an operation event of 09, a predetermined subroutine is executed.
【0051】次に、図3〜図16のフローチャートにし
たがって各ソフトウェアモジュールの処理手順を説明す
る。Next, the processing procedure of each software module will be described with reference to the flowcharts of FIGS.
【0052】図3は、レベル3の定常ルーチンを示す。
このサンプラーの電源がオンされると、CPU101は
この定常ルーチンを実行する。まずステップ301で、
各種の初期設定を行なう。特に、動作モードmはm=
0、すなわちノーマルモードとし、図2(a)の音源レ
ジスタの全チャンネルにノートオフを設定し、図2
(c)の再生バッファPB0,PB1の全サンプル領域
を0クリアする。また、CPU101は初期設定でDM
Aコントローラ113に再生処理を指示する。これによ
り、DMAコントローラ113は、Fs発生器110か
らのサンプリングクロックFsごとにCPU101に割
り込みをかけ、その都度図16のDPルーチンを実行し
て再生バッファ内の波形データを再生する動作を開始す
ることになる。さらに、初期設定においてはタイマ10
5を起動する。これにより、CPU101は、タイマ1
05からのクロックによるタイマ割り込みの度にRC取
り込みルーチンRC(m)を実行し、リボンコントロー
ラ106の検出値を取り込む処理を開始することにな
る。FIG. 3 shows a level 3 stationary routine.
When the power of this sampler is turned on, the CPU 101 executes this steady routine. First, in step 301,
Make various initial settings. In particular, the operation mode m is m =
0, that is, the normal mode is set, and note-off is set to all channels of the sound source register in FIG.
All the sample areas of the reproduction buffers PB0 and PB1 in (c) are cleared to 0. Also, the CPU 101 is DM by default.
Instruct the A controller 113 to perform a reproduction process. As a result, the DMA controller 113 interrupts the CPU 101 at each sampling clock Fs from the Fs generator 110, executes the DP routine of FIG. 16 each time, and starts the operation of reproducing the waveform data in the reproduction buffer. become. Further, in the initial setting, the timer 10
Start 5. As a result, the CPU 101 causes the timer 1
The RC fetch routine RC (m) is executed each time a timer interrupt is caused by the clock from 05, and the process of fetching the detection value of the ribbon controller 106 is started.
【0053】次に、ステップ302でパッドスキャン処
理を行ない、ステップ303でSWスキャン処理を行な
い、再びステップ302に戻り処理を繰り返す。ステッ
プ302のパッドスキャン処理は、10個あるパッド1
07のオンイベントがあるか否かを検出し、オンイベン
トがあった場合に図7および図8に示すオンイベントル
ーチンを実行する処理である。ステップ303のSWス
キャン処理は、パネルSW109の操作がなされたか否
かを検出し、操作があった場合にその操作に応じた処理
ルーチンを実行する処理である。Next, a pad scan process is performed in step 302, a SW scan process is performed in step 303, and the process returns to step 302 again to repeat the process. The pad scan process of step 302 includes 10 pads 1.
This is processing for detecting whether or not there is a 07 on event, and executing the on event routine shown in FIGS. 7 and 8 when there is an on event. The SW scan process of step 303 is a process of detecting whether or not the panel SW 109 is operated, and executing a processing routine corresponding to the operation when the operation is performed.
【0054】図4は、図3のステップ303のSWスキ
ャン処理でモード切り替えスイッチが操作されたことを
検出したときに呼び出されるモードSWイベントルーチ
ンである。モードSWイベントルーチンでは、ステップ
401でモード切り替えスイッチの操作に応じて指定さ
れた動作モードを示す値をレジスタmに設定し、ステッ
プ402で指定されたモードmに応じたディスプレイ1
08への表示制御を行なう。そして、ステップ403
で、指定されたモードmに対応する開始処理MS(m)
を実行した後、処理を終了する。FIG. 4 is a mode SW event routine that is called when it is detected that the mode changeover switch has been operated in the SW scan process of step 303 in FIG. In the mode SW event routine, a value indicating the operation mode designated according to the operation of the mode changeover switch in step 401 is set in the register m, and the display 1 corresponding to the mode m designated in step 402 is set.
Display control to 08 is performed. Then, step 403
Then, the start process MS (m) corresponding to the designated mode m
After executing, the process ends.
【0055】図5は、ユーザがモード切り替えスイッチ
でサンプリングモード(m=1)を指定したとき、図4
のステップ403で呼び出されるサンプリングモード開
始処理MS(1)のフローチャートである。MS(1)
処理では、まずステップ501で、パッドの指定がなさ
れたか否かを判別する。パッドの指定がなされていない
ときは、ステップ502で、サンプリングモードの指定
をやめるか否か判別する。サンプリングモードの指定処
理を続行するなら、再びステップ501に戻り、パッド
の指定を促す。FIG. 5 shows a case where the user specifies the sampling mode (m = 1) with the mode changeover switch.
14 is a flowchart of a sampling mode start process MS (1) called in step 403 of FIG. MS (1)
In the processing, first, in step 501, it is determined whether or not a pad has been designated. If the pad is not specified, it is determined in step 502 whether or not the sampling mode is specified. If the sampling mode designation process is to be continued, the process returns to step 501 again to prompt the pad designation.
【0056】ステップ501でパッドの指定がなされた
ときは、ステップ503で、指定されたパッド番号をレ
ジスタPNに格納し、ステップ504で、録音準備を行
なう。録音準備は、録音バッファRB0,RB1、フラ
ッシュメモリ103上の録音領域、およびその他の領域
の確保などの処理である。また、DMAコントローラ1
13に指示して、サンプリングクロックFsごとにCP
U101に割り込みをかけてDPルーチンを実行するこ
とを停止させる。次に、ステップ505で、録音開始の
条件(トリガ)が満たされたか否か判別する。録音開始
の条件としては、例えば入力レベルが一定以上になった
とき録音開始する、といった条件を用いる。録音開始の
条件が満たされていないときは、ステップ506で録音
をやめるか否か判別し、録音を続行するならステップ5
05に戻る。When a pad is designated in step 501, the designated pad number is stored in the register PN in step 503, and recording preparation is performed in step 504. The recording preparation is processing such as securing recording buffers RB0 and RB1, a recording area on the flash memory 103, and other areas. In addition, the DMA controller 1
13 and instructs CP every sampling clock Fs.
U101 is interrupted to stop executing the DP routine. Next, in step 505, it is determined whether or not a recording start condition (trigger) is satisfied. As the condition for starting the recording, for example, a condition for starting the recording when the input level exceeds a certain level is used. If the condition for starting recording is not satisfied, it is determined in step 506 whether or not to stop recording, and if recording is to be continued, step 5
Return to 05.
【0057】ステップ505で録音開始の条件が満たさ
れた場合は、ステップ507で、録音開始する。録音開
始は、具体的には、CPU101からDMAコントロー
ラ113に録音開始を指示する処理である。これによ
り、DMAコントローラ113は、Fs発生器110か
らのサンプリングクロックFsごとにCPU101に割
り込みをかけ、その都度図15のDR(1)ルーチンを
実行して、外部入力111から入力した波形データをサ
ウンドI/O112内の入力FIFOを経て録音バッフ
ァRBkに設定する処理を開始する。If the recording start condition is satisfied in step 505, recording is started in step 507. Specifically, the recording start is a process in which the CPU 101 instructs the DMA controller 113 to start recording. As a result, the DMA controller 113 interrupts the CPU 101 at each sampling clock Fs from the Fs generator 110, executes the DR (1) routine of FIG. 15 each time, and outputs the waveform data input from the external input 111 to the sound. The processing for setting the recording buffer RBk via the input FIFO in the I / O 112 is started.
【0058】次に、ステップ508で録音バッファが一
杯になったか否か判別する。詳しくは図15で説明する
が、DR(1)ルーチンでは、録音バッファRBkに外
部入力の波形サンプルを転送していき、RBkが一杯に
なったときはkを反転して割り込みを発生する。ステッ
プ508では、この割り込みを待つことにより録音バッ
ファが一杯になったか否かを判別する。この割り込みが
あったときは、録音バッファRBkバーに波形サンプル
が満たされたということだから、ステップ509で、録
音バッファRBkバーの波形サンプルをフラッシュメモ
リ103のあらかじめ定められた領域に書き込み、再び
ステップ508に戻る。Next, at step 508, it is judged whether or not the recording buffer is full. As will be described in detail with reference to FIG. 15, in the DR (1) routine, the waveform sample of the external input is transferred to the recording buffer RBk, and when RBk is full, k is inverted and an interrupt is generated. In step 508, it is determined whether or not the recording buffer is full by waiting for this interrupt. When this interruption occurs, it means that the waveform buffer RBk bar is filled with the waveform sample. Therefore, in step 509, the waveform sample of the recording buffer RBk bar is written in a predetermined area of the flash memory 103, and the step 508 is performed again. Return to.
【0059】ステップ508で録音バッファが一杯でな
いとき(DR(1)ルーチンからの割り込みがないと
き)は、ステップ510で、録音処理を終了するか否か
判別する。録音処理は、パネルSW109の録音ストッ
プスイッチのオンイベント、またはフラッシュメモリ1
03に確保された録音領域が一杯になったとき、終了す
るものとする。ステップ510で録音処理終了でないと
きは、ステップ508に戻り録音を続行する。ステップ
510で録音処理終了の場合は、ステップ511で録音
終了処理を行なう。これはDMAコントローラ113に
指示をして、サンプリングクロックFsごとにCPU1
01に割り込みをかけてDR(1)ルーチンを実行する
ことを停止させる処理である。次にステップ512で、
レジスタmに0を設定してノーマルモードへ戻る処理を
行ない、処理を終了する。ノーマルモードへ戻る処理で
は、DMAコントローラ113に指示して、サンプリン
グクロックFsごとにCPU101に割り込みをかけて
DPルーチンを実行することを開始させる。When the recording buffer is not full in step 508 (when there is no interrupt from the DR (1) routine), it is determined in step 510 whether or not the recording process is to be ended. The recording process is performed by the ON event of the recording stop switch of the panel SW109 or the flash memory 1
When the recording area secured in 03 is full, it shall end. If the recording process is not completed in step 510, the process returns to step 508 to continue recording. When the recording process is completed in step 510, the recording end process is executed in step 511. This instructs the DMA controller 113 to cause the CPU 1 to operate at every sampling clock Fs.
This is a process of interrupting 01 to stop the execution of the DR (1) routine. Then in step 512,
The register m is set to 0, the process of returning to the normal mode is performed, and the process is terminated. In the process of returning to the normal mode, the DMA controller 113 is instructed to interrupt the CPU 101 at each sampling clock Fs to start executing the DP routine.
【0060】ステップ502でサンプリングモード指定
処理を取りやめる場合は、ステップ513で、レジスタ
mに0を設定しノーマルモードへ戻る処理を行なった
後、処理を終了する。またステップ506で録音処理を
取りやめにする場合は、ステップ514で、レジスタm
に0を設定しノーマルモードへ戻る処理を行なった後、
処理を終了する。ステップ513,514の処理は、ス
テップ512の処理と同じである。If the sampling mode designation process is to be canceled in step 502, the register m is set to 0 in step 513 to perform the process of returning to the normal mode, and then the process is terminated. If the recording process is canceled in step 506, in step 514 the register m
After setting 0 to and performing processing to return to normal mode,
The process ends. The processing of steps 513 and 514 is the same as the processing of step 512.
【0061】図6は、ユーザがモード切り替えスイッチ
でスクラッチ再生モード(m=4)を指定したときに、
図4のステップ403で呼び出されるスクラッチ再生モ
ード開始処理MS(4)のフローチャートである。MS
(4)処理では、まずステップ601で、パッドの指定
がなされたか否かを判別する。パッドの指定がなされて
いないときは、ステップ602で、スクラッチ再生モー
ドの指定をやめるか否か判別する。スクラッチ再生モー
ドの指定処理を続行するなら、再びステップ601に戻
り、パッドの指定を促す。FIG. 6 shows that when the user specifies the scratch reproduction mode (m = 4) with the mode changeover switch,
5 is a flowchart of a scratch reproduction mode start process MS (4) called in step 403 of FIG. MS
In the process (4), first, in step 601, it is determined whether or not a pad is designated. If the pad is not specified, it is determined in step 602 whether or not the scratch reproduction mode is specified. If the scratch reproduction mode designation process is to be continued, the process returns to step 601 again to prompt the pad designation.
【0062】ステップ601でパッドの指定がなされた
ときは、ステップ603で、指定されたパッド番号をレ
ジスタPNに格納し、ステップ604で、スクラッチを
行なう準備をする。これは、パッド番号PNに対応して
録音されている波形データをフラッシュメモリ103か
ら読み出してADPCM伸張し、RAM104上の所定
領域に展開する処理である。次に、ステップ605で、
RAM104上に展開した波形データの所定の領域をス
クラッチ領域SR(図2(d))とし、スクラッチを開
始するアドレスであるスクラッチポインタSPを所定値
に設定する。When the pad is designated in step 601, the designated pad number is stored in the register PN in step 603, and the preparation for scratching is performed in step 604. In this process, the waveform data recorded corresponding to the pad number PN is read from the flash memory 103, ADPCM expanded, and expanded in a predetermined area on the RAM 104. Next, in step 605,
A predetermined area of the waveform data expanded on the RAM 104 is set as a scratch area SR (FIG. 2 (d)), and a scratch pointer SP which is an address for starting scratching is set to a predetermined value.
【0063】ステップ602でスクラッチ再生モード指
定処理を取りやめる場合は、ステップ606で、レジス
タmに0をセットしてノーマルモードへ戻る処理を行な
い、処理を終了する。When the scratch reproduction mode designation process is canceled in step 602, the register m is set to 0 in step 606, the process for returning to the normal mode is performed, and the process is terminated.
【0064】図7は、モードmがm=0,2,4の場
合、すなわちノーマルモード、フィルタ再生モード、ま
たはスクラッチ再生モードの場合に、図3のステップ3
02でパッド107のオンイベントを検出したときに呼
び出されるパッドオンイベントルーチンのフローチャー
トを示す。このオンイベントルーチンでは、まずステッ
プ701で、オンイベントのあったパッド107のパッ
ド番号をレジスタPNにセットし、ステップ702で、
パッド番号PNに対応する波形データがフラッシュメモ
リ103上に録音されているか否かを判定する。パッド
番号PNに対応する波形データがないときは、そのまま
処理を終了する。FIG. 7 shows the step 3 of FIG. 3 when the mode m is m = 0, 2, 4, that is, in the normal mode, the filter regeneration mode or the scratch regeneration mode.
A flow chart of a pad-on-event routine called when an on-event of the pad 107 is detected at 02 is shown. In this on-event routine, first in step 701, the pad number of the pad 107 having the on-event is set in the register PN, and in step 702,
It is determined whether the waveform data corresponding to the pad number PN is recorded on the flash memory 103. If there is no waveform data corresponding to the pad number PN, the processing is ended as it is.
【0065】ステップ702でパッド番号PNに対応す
る波形データが録音されていた場合は、ステップ703
で、発音チャンネルの割当を行なう。この割当はモード
mに応じた発音数で行なわれる。すなわち、ノーマルモ
ードの場合は、4音発音可能であるから第1から第4の
4つのチャンネルのいずれかに空きチャンネルがあれば
その空きチャンネルに割り当て、その4チャンネルがす
べて発音に用いられていたときは最も過去に発音を開始
したチャンネルを消音してそのチャンネルに新たに発音
割当を行なう。フィルタ再生モード、またはスクラッチ
再生モードの場合は、2音発音可能であるから第1また
は第2チャンネルに同様にして割り当てる。割り当てた
チャンネルの番号は、レジスタiに設定する。次にステ
ップ704で、第iチャンネルの音源レジスタichに
発音を行なうための各種の情報(再生すべき波形データ
の先頭アドレスADiなど)を設定し、さらにノートオ
ンを設定して処理を終了する。If the waveform data corresponding to the pad number PN is recorded in step 702, step 703.
Then, assign the sound generation channel. This allocation is performed with the number of tones generated according to the mode m. That is, in the normal mode, since four tones can be produced, if any of the first to fourth channels has an empty channel, it is assigned to that empty channel, and all four channels are used for producing sound. At this time, the channel that started sounding the earliest is muted and a new sound is assigned to that channel. In the filter reproduction mode or the scratch reproduction mode, since two sounds can be produced, they are similarly assigned to the first or second channel. The number of the assigned channel is set in the register i. Next, at step 704, various information (such as the start address ADi of the waveform data to be reproduced) for sounding is set in the sound source register ich of the i-th channel, note-on is set, and the process is ended.
【0066】図8は、モードmがm=3の場合、すなわ
ちピッチ付き再生モードの場合に、図3のステップ30
2でパッド107のオンイベントを検出したときに呼び
出されるパッドオンイベントルーチンのフローチャート
を示す。ピッチ付き再生モードでのパッドオンイベント
ルーチンでは、まずステップ801で、オンイベントの
あったパッド107のパッド番号をレジスタPNにセッ
トし、ステップ802で発音チャンネルの割当を行な
う。ピッチ付き再生モードでは、2音まで発音が可能で
あるので、最大発音数2音としてチャンネルの割当を行
なう。次にステップ803で、パッド番号PNをFナン
バに変換し、レジスタFNiにセットする。そして、ス
テップ804で、第iチャンネルの音源レジスタich
にピッチ付きで再生するための各種の情報(再生すべき
波形データの読み出し開始アドレスADiおよびFナン
バFNiなど)を設定し、さらにノートオンを設定して
処理を終了する。FIG. 8 shows step 30 of FIG. 3 when the mode m is m = 3, that is, in the pitched reproduction mode.
2 shows a flowchart of a pad-on-event routine that is called when an on-event of the pad 107 is detected in 2. In the pad-on-event routine in the pitched reproduction mode, first, in step 801, the pad number of the pad 107 having the on-event is set in the register PN, and in step 802, the tone generation channel is assigned. In the pitched reproduction mode, up to two tones can be sounded, so the channels are assigned with the maximum number of tones being two tones. Next, at step 803, the pad number PN is converted into an F number and set in the register FNi. Then, in step 804, the sound source register ich of the i-th channel
Various information for reproducing with a pitch is set (read start address ADi and F number FNi of the waveform data to be reproduced), note-on is set, and the process ends.
【0067】図9は、モードmがm=2,5の場合、す
なわちフィルタ再生モードまたはEXフィルタモードの
場合に、リボンコントローラ106の検出値を取り込む
ためのRC取り込みルーチンRC(m)のフローチャー
トである。これはリボンコントローラ106によりフィ
ルタ制御を行なうためにその検出値を取り込む処理であ
る。また、図10は、モードmがm=4,6の場合、す
なわちスクラッチ再生モードまたはEXスクラッチモー
ドの場合に、リボンコントローラ106の検出値を取り
込むためのRC取り込みルーチンRC(m)のフローチ
ャートである。これはリボンコントローラ106により
スクラッチ制御を行なうためにその検出値を取り込む処
理である。FIG. 9 is a flowchart of the RC fetch routine RC (m) for fetching the detection value of the ribbon controller 106 when the mode m is m = 2,5, that is, in the filter regeneration mode or the EX filter mode. is there. This is a process of fetching the detected value in order to control the filter by the ribbon controller 106. FIG. 10 is a flowchart of the RC fetch routine RC (m) for fetching the detection value of the ribbon controller 106 when the mode m is m = 4, 6, that is, in the scratch reproduction mode or the EX scratch mode. . This is a process of fetching the detected value for the scratch control by the ribbon controller 106.
【0068】図3のステップ301の初期設定において
タイマ105が起動され、所定時間間隔でCPU101
はタイマ割り込みの処理を実行する。図9のRC取り込
みルーチンRC(m)は、タイマ割り込みにおいてモー
ドmが2または5のとき実行される処理である。また、
図10のRC取り込みルーチンRC(m)は、タイマ割
り込みにおいてモードmが4または6のとき実行される
処理である。In the initial setting of step 301 in FIG. 3, the timer 105 is started and the CPU 101 is activated at a predetermined time interval.
Executes timer interrupt processing. The RC fetch routine RC (m) of FIG. 9 is a process executed when the mode m is 2 or 5 in the timer interrupt. Also,
The RC fetch routine RC (m) of FIG. 10 is a process executed when the mode m is 4 or 6 in the timer interrupt.
【0069】図9のRC取り込みルーチンRC(m)
(m=2,5)から説明する。まずステップ901で、
リボンコントローラ106の検出値をレジスタTMPに
セットする。次に、ステップ902で、その検出値が前
回タイマ割り込み時の検出値と比較して変化があったか
否かを判定する。変化がない場合は、処理を終了する。
変化があったときは、ステップ903で、検出値TMP
をレジスタRDに設定して処理を終了する。結果的に、
レジスタRDにリボンコントローラ106の検出値が設
定されたことになる。なお、リボンコントローラ106
から指などが離れたときは、検出値TMP,RDを所定
の標準値に戻してもよいし、または指などが離れる直前
の係数を保持するようにしてもよい。RC import routine RC (m) of FIG.
(M = 2, 5) will be described. First, in step 901,
The detection value of the ribbon controller 106 is set in the register TMP. Next, in step 902, the detected value is compared with the detected value at the time of the previous timer interrupt to determine whether or not there is a change. If there is no change, the process ends.
If there is a change, in step 903 the detected value TMP
Is set in the register RD and the process is terminated. as a result,
This means that the detection value of the ribbon controller 106 is set in the register RD. The ribbon controller 106
When the finger or the like is separated from, the detection values TMP and RD may be returned to predetermined standard values, or the coefficient immediately before the finger or the like may be held.
【0070】図10のRC取り込みルーチンRC(m)
(m=4,6)について説明する。なお、図10は、動
作モードがスクラッチ再生モード(m=4)のときに呼
び出されるRC取り込みルーチンRC(4)と動作モー
ドがEXスクラッチモード(m=6)のときに呼び出さ
れるRC取り込みルーチンRC(6)とを併せて説明す
るフローチャートであり、ステップ1006,100
9,1015,1016はRC(6)のみの処理である
ので、以下では始めにRC(4)の処理手順を説明し、
その後RC(6)の処理手順を説明する。RC import routine RC (m) of FIG.
(M = 4, 6) will be described. Note that FIG. 10 shows an RC loading routine RC (4) called when the operation mode is the scratch regeneration mode (m = 4) and an RC loading routine RC called when the operation mode is the EX scratch mode (m = 6). It is a flowchart which also explains with (6), and steps 1006 and 100
Since 9,1015 and 1016 are processing only for RC (6), the processing procedure of RC (4) will be described first below.
Then, the processing procedure of RC (6) will be described.
【0071】リボンコントローラ検出値取り込みルーチ
ンRC(4)では、まずステップ1001で、リボンコ
ントローラ106の検出値をレジスタTMPにセットす
る。次にステップ1002で、リボンコントローラ10
6の操作があるか否かを判定する。リボンコントローラ
106は、指あるいは棒などで触れているときその触れ
ている座標位置を示す座標検出値を出力するが、指また
は棒などが触れていないときは所定値を出力し触れてい
ないこと(操作されていないこと)が分かるようになっ
ている。リボンコントローラ106の操作がなされてい
ないときはステップ1003に進み、操作がなされてい
るときはステップ1004に進む。In the ribbon controller detection value fetch routine RC (4), first, in step 1001, the detection value of the ribbon controller 106 is set in the register TMP. Next, in step 1002, the ribbon controller 10
It is determined whether or not operation 6 has been performed. The ribbon controller 106 outputs the coordinate detection value indicating the touched coordinate position when touching with a finger or stick, but outputs a predetermined value and does not touch when the finger or stick does not touch ( It is understood that it is not operated). If the ribbon controller 106 is not operated, the process proceeds to step 1003, and if the operation is performed, the process proceeds to step 1004.
【0072】ステップ1003では、レジスタRSが0
か否か判定する。レジスタRSが0のときは、前の割り
込みの時点および今回の割り込みの時点の両方でリボン
コントローラ106は操作されていないということだか
ら、そのまま処理を終了する。ステップ1003でRS
が0でないときは、前の割り込みの時点でRS=1すな
わちリボンコントローラ106の操作がなされていたの
が、今回の割り込みの時点で操作がなされていない(指
または棒などを離した)ということだから、ステップ1
013でレジスタRSを0クリアし、ステップ1014
でスクラッチ用チャンネルの音源レジスタschにノー
トオフを書き込み、処理を終了する。At step 1003, the register RS is set to 0.
Is determined. When the register RS is 0, it means that the ribbon controller 106 has not been operated both at the time of the previous interrupt and the time of the current interrupt, and thus the process is ended. RS at step 1003
Is not 0, it means that RS = 1 at the time of the previous interrupt, that is, the ribbon controller 106 was operated, but that the operation was not performed at the time of the current interrupt (the finger or the stick is released). So step one
The register RS is cleared to 0 by 013, and step 1014 is executed.
Then, note-off is written in the sound source register sch of the scratch channel, and the process is terminated.
【0073】ステップ1004では、レジスタRSが1
であるか否か判定する。レジスタRSが1でないとき
は、前の割り込みの時点でRS=0すなわちリボンコン
トローラ106の操作がなされていなかったのが、今回
の割り込みの時点で操作がなされたということだから、
ステップ1005で、レジスタRSに1をセットすると
ともに、速度VELに0をセットする。そして、ステッ
プ1007で読み出しアドレスSADとしてスクラッチ
ポインタSPの値(所定値)をセットする。次に、ステ
ップ1008で、スクラッチ用チャンネルの音源レジス
タschに、スクラッチ再生のための各種の情報(スク
ラッチ再生すべき波形データの読み出しアドレスSAD
および速度値VELなど)を設定するとともに、ノート
オンを書き込む。次にステップ1010で、レジスタO
LDに今回のリボンコントローラ106の検出値TMP
をセットし、処理を終了する。At step 1004, the register RS is set to 1
Or not. When the register RS is not 1, RS = 0 at the time of the previous interrupt, that is, the ribbon controller 106 was not operated, but it means that the operation was performed at the time of this interrupt.
In step 1005, 1 is set in the register RS and 0 is set in the speed VEL. Then, in step 1007, the value (predetermined value) of the scratch pointer SP is set as the read address SAD. Next, in step 1008, various information for scratch reproduction (read-out address SAD of waveform data to be scratch reproduced is stored in the sound source register sch of the scratch channel.
And velocity value VEL) are set, and note-on is written. Then in step 1010, register O
The detection value TMP of the ribbon controller 106 of this time is added to the LD.
Is set and the process ends.
【0074】ステップ1004でRSが1のときは、前
回の割り込みの時点でRS=1であり今回の割り込みの
時点でもRS=1であるということ(リボンコントロー
ラ106の操作が継続している)であるから、ステップ
1011で、リボンコントローラ106の操作の速度を
検出し、レジスタVELにセットする。速度VELは今
回の検出値TMPから前回割り込み時の検出値OLDを
減算することにより算出するものとする。したがって、
速度VELが負数になることもあり得る。さらに速度V
ELは、スクラッチ用チャンネルの音源レジスタsch
に設定するものとする。次に、ステップ1012で、今
回の検出値TMPをレジスタOLDにセットし、処理を
終了する。When RS is 1 in step 1004, it means that RS = 1 at the time of the previous interrupt and RS = 1 at the time of the current interrupt (the operation of the ribbon controller 106 continues). Therefore, in step 1011, the operation speed of the ribbon controller 106 is detected and set in the register VEL. The speed VEL is calculated by subtracting the detection value OLD at the previous interruption from the detection value TMP at this time. Therefore,
It is possible that the velocity VEL may be a negative number. Further speed V
EL is the sound source register sch of the scratch channel
Shall be set to. Next, in step 1012, the current detection value TMP is set in the register OLD, and the process ends.
【0075】以上説明したのはモードm=4すなわちス
クラッチ再生モードの場合のRC取り込みルーチンRC
(4)であるが、モードm=6の場合すなわちEXスク
ラッチモードの場合のRC取り込みルーチンRC(6)
では、ステップ1005の後にステップ1006を追加
し、ステップ1008の後にステップ1009を追加
し、ステップ1014の後にステップ1015,101
6を追加する。さらに、ステップ1008,1014の
処理が若干異なる。以下では、これらについて説明す
る。What has been described above is the RC fetch routine RC in the mode m = 4, that is, in the scratch reproduction mode.
(4) In the case of mode m = 6, that is, in the EX scratch mode, the RC fetch routine RC (6)
Then, step 1006 is added after step 1005, step 1009 is added after step 1008, and steps 1015 and 101 are added after step 1014.
Add 6. Furthermore, the processing of steps 1008 and 1014 is slightly different. These will be described below.
【0076】リボンコントローラ106の操作が開始さ
れた時点では、ステップ1004から1005を経て、
ステップ1006に進む。ステップ1006では、CP
U101からDMAコントローラ113に指示をして、
サンプリングクロックFsごとにCPU101に割り込
みをかけてDR(6)ルーチンを実行することを停止さ
せるとともに、2つの録音バッファSRB0,SRB1
のうち現在書き込みの行なわれていないほうの録音バッ
ファSRBkバーに図2(e)で説明したようにスクラ
ッチ領域SRを設定する。次に、ステップ1007を経
て1008に進む。At the time when the operation of the ribbon controller 106 is started, through steps 1004 to 1005,
Proceed to step 1006. In step 1006, the CP
U101 gives an instruction to the DMA controller 113,
The CPU 101 is interrupted at every sampling clock Fs to stop the execution of the DR (6) routine, and the two recording buffers SRB0 and SRB1 are also executed.
The scratch area SR is set in the recording buffer SRBk bar which is not currently written, as described with reference to FIG. Next, the process proceeds to 1008 via step 1007.
【0077】ステップ1008では、スクラッチ用チャ
ンネルの音源レジスタschに、スクラッチ再生のため
の各種の情報(スクラッチ再生すべき波形データの読み
出しアドレスSADおよび速度値VELなど)を設定す
るとともに、ノートオンを書き込む。さらに、ステップ
1008では、上記処理の前に、以下の処理も行なう。
すなわち、まず再生バッファPBrに128サンプルを
生成する。この処理は、再生バッファPBrを0クリア
した後、後述する図14のEXスクラッチ処理を再生バ
ッファPBrに対して(図14でPBrバーの代わりに
PBrを用いる)行なえばよい。また、CPU101か
らDMAコントローラ113に指示をして、サンプリン
グクロックFsごとにCPU101に割り込みをかけて
DPルーチンを実行することを再開する。さらに、後述
する図16のDPルーチンのステップ1605で発生す
る割り込みと同じ意味の割り込みを発生させる。この割
り込みにより、HS(6)が実行され、次にスクラッチ
再生される128サンプルがPBrバーに生成される。In step 1008, various information for scratch reproduction (read-out address SAD of waveform data to be scratch-reproduced, speed value VEL, etc.) is set in the sound source register sch of the scratch channel, and note-on is written. . Further, in step 1008, the following processing is also performed before the above processing.
That is, first, 128 samples are generated in the reproduction buffer PBr. For this processing, after clearing the reproduction buffer PBr to 0, the EX scratch processing of FIG. 14, which will be described later, may be performed on the reproduction buffer PBr (using PBr in place of the PBr bar in FIG. 14). Further, the CPU 101 instructs the DMA controller 113 to interrupt the CPU 101 at each sampling clock Fs and restart the execution of the DP routine. Further, an interrupt having the same meaning as the interrupt generated in step 1605 of the DP routine of FIG. 16 described later is generated. This interrupt causes HS (6) to be executed, and 128 samples to be scratch-reproduced next are generated in the PBr bar.
【0078】その後、ステップ1009で、CPU10
1からの指示により、サウンドI/O112のA/D入
力からD/A出力への直接接続を切り離し、外部入力1
11から直接サウンドシステム114へ楽音信号を流し
て放音することを停止する。Thereafter, in step 1009, the CPU 10
In response to the instruction from 1, the direct connection from the A / D input of the sound I / O 112 to the D / A output is disconnected, and the external input 1
The musical sound signal is directly supplied from 11 to the sound system 114 to stop the sound emission.
【0079】リボンコントローラ106の操作を止めた
時点では、ステップ1002から1003,1013を
経て、ステップ1014に進む。ステップ1014で
は、スクラッチ用チャンネルの音源レジスタschにノ
ートオフを書き込むが、その処理の後に以下の処理も行
なう。すなわち、CPU101からDMAコントローラ
113に指示をして、サンプリングクロックFsごとに
CPU101に割り込みをかけてDPルーチンを実行す
ることを停止する。At the time when the operation of the ribbon controller 106 is stopped, steps 1002 to 1003 and 1013 are performed, and then the process proceeds to step 1014. In step 1014, note-off is written in the sound source register sch of the scratch channel, but after that processing, the following processing is also performed. That is, the CPU 101 gives an instruction to the DMA controller 113 to interrupt the CPU 101 at every sampling clock Fs to stop executing the DP routine.
【0080】また、ステップ1015では、CPU10
1からの指示により、サウンドI/O112のA/D入
力からD/A出力への直接接続を再開し、外部入力11
1から直接サウンドシステム114へ楽音信号を流して
放音するようにする。ステップ1016では、CPU1
01からDMAコントローラ113に指示をして、サン
プリングクロックFsごとにCPU101に割り込みを
かけてDR(6)ルーチンを実行することを再開する。In step 1015, the CPU 10
The direct connection from the A / D input of the sound I / O 112 to the D / A output is restarted by the instruction from the external input 11
A musical tone signal is sent from 1 directly to the sound system 114 so as to emit a sound. In step 1016, the CPU 1
From 01, the DMA controller 113 is instructed to interrupt the CPU 101 at each sampling clock Fs and restart the execution of the DR (6) routine.
【0081】図11(a)〜(c)、および図12
(a)〜(c)は、各モードmにおいてCPU101が
再生バッファ上に波形サンプルを生成するために実行す
る波形生成ルーチンHS(m)のフローチャートであ
る。波形生成ルーチンHS(m)は、後述する図16の
DPルーチンのステップ1605の割り込み要求に応じ
てCPU101が実行する。すなわち、DPルーチン
は、サンプリングクロックFsごとに再生バッファPB
r内の波形サンプルをサウンドI/O112に転送して
再生を行なうが、再生バッファPBr内の128サンプ
ルをすべて再生したら、DPルーチンはkを反転して割
り込みを発生する。この割り込みを契機として、CPU
101は、モードmに応じた波形生成ルーチンHS
(m)を実行し、たった今再生が終わって空になった再
生バッファPBrバーに1フレーム分の128サンプル
を新たに生成する。11A to 11C and FIG.
(A)-(c) is a flowchart of a waveform generation routine HS (m) executed by the CPU 101 to generate a waveform sample on the reproduction buffer in each mode m. The waveform generation routine HS (m) is executed by the CPU 101 in response to the interrupt request of step 1605 of the DP routine of FIG. 16 described later. That is, the DP routine executes the reproduction buffer PB every sampling clock Fs.
The waveform sample in r is transferred to the sound I / O 112 and played back. When all 128 samples in the playback buffer PBr have been played back, the DP routine inverts k and generates an interrupt. This interrupt triggers the CPU
101 is a waveform generation routine HS corresponding to the mode m.
(M) is executed, and 128 samples for one frame are newly generated in the empty playback buffer PBr bar which has just finished playing.
【0082】図11(a)は、ノーマルモードのときに
再生バッファ上に波形サンプルを生成する波形生成ルー
チンHS(0)のフローチャートである。HS(0)で
は、ステップ1101でサブルーチンであるノーマル4
を呼び出し、処理を終了する。このサブルーチンについ
ては、図13(a)で後述する。FIG. 11A is a flowchart of a waveform generation routine HS (0) for generating a waveform sample on the reproduction buffer in the normal mode. In HS (0), normal 4 which is a subroutine in step 1101.
To end the process. This subroutine will be described later with reference to FIG.
【0083】図11(b)は、フィルタ再生モードのと
きに再生バッファ上に波形サンプルを生成する波形生成
ルーチンHS(2)のフローチャートである。HS
(2)では、ステップ1111でサブルーチンであるノ
ーマル2を呼び出し、ステップ1112でリボンコント
ローラ106の検出値RDに応じてフィルタ係数(カッ
トオフ周波数)を生成する。そして、ステップ1113
でフィルタ処理(ローパスフィルタ処理)を行ない、処
理を終了する。ステップ1111のノーマル2について
は、図13(a)で後述する。FIG. 11B is a flowchart of a waveform generation routine HS (2) for generating a waveform sample on the reproduction buffer in the filter reproduction mode. HS
In (2), in step 1111 the subroutine normal 2 is called, and in step 1112 a filter coefficient (cutoff frequency) is generated according to the detection value RD of the ribbon controller 106. And step 1113
The filter process (low-pass filter process) is performed with and the process ends. The normal 2 of step 1111 will be described later with reference to FIG.
【0084】図11(c)は、ピッチ付き再生モードの
ときに再生バッファ上に波形サンプルを生成する波形生
成ルーチンHS(3)のフローチャートである。HS
(3)では、ステップ1121でサブルーチンであるピ
ッチ2を呼び出し、処理を終了する。ピッチ2について
は、図13(b)で後述する。FIG. 11C is a flowchart of a waveform generation routine HS (3) for generating a waveform sample on the reproduction buffer in the pitched reproduction mode. HS
In (3), the pitch 2 which is a subroutine is called in step 1121 and the process ends. The pitch 2 will be described later with reference to FIG.
【0085】図12(a)は、スクラッチ再生モードの
ときに再生バッファ上に波形サンプルを生成する波形生
成ルーチンHS(4)のフローチャートである。HS
(4)では、ステップ1201でサブルーチンであるノ
ーマル2を呼び出し、ステップ1202でサブルーチン
であるスクラッチ処理ルーチンを呼び出し、処理を終了
する。ノーマル2については、図13(a)で後述す
る。スクラッチ処理については、図14で後述する。FIG. 12A is a flowchart of a waveform generation routine HS (4) for generating a waveform sample on the reproduction buffer in the scratch reproduction mode. HS
In (4), the normal 2 subroutine is called in step 1201, the scratch processing routine subroutine is called in step 1202, and the process ends. The normal 2 will be described later with reference to FIG. The scratch processing will be described later with reference to FIG.
【0086】図12(b)は、EXフィルタモードのと
きに再生バッファ上に波形サンプルを生成する波形生成
ルーチンHS(5)のフローチャートである。HS
(5)が呼び出された時点では、録音バッファRBkバ
ーに外部入力111からの波形データが128サンプル
(リニアサンプル)書き込まれており、かつ再生バッフ
ァPBrバーが空き状態である。そこで、HS(5)で
は、まずステップ1211でリボンコントローラ106
の検出値RDに応じてフィルタ係数を生成し、ステップ
1212でEXフィルタ処理を行なう。このEXフィル
タ処理とは、録音バッファRBkバーの128個の波形
サンプルに対して、ステップ1211で求めたフィルタ
係数を用いてフィルタリング処理し、処理結果の128
個の波形サンプルを再生バッファPBrバーに設定する
処理である。ステップ1212の後、処理を終了する。FIG. 12B is a flow chart of the waveform generation routine HS (5) for generating a waveform sample on the reproduction buffer in the EX filter mode. HS
When (5) is called, 128 samples (linear samples) of the waveform data from the external input 111 are written in the recording buffer RBk bar, and the reproduction buffer PBr bar is empty. Therefore, in the HS (5), first, in step 1211, the ribbon controller 106
A filter coefficient is generated according to the detected value RD of, and in step 1212, EX filter processing is performed. This EX filter processing is performed by filtering the 128 waveform samples of the recording buffer RBk bar using the filter coefficient obtained in step 1211, and the filtering result 128 is obtained.
This is a process of setting individual waveform samples in the reproduction buffer PBr bar. After step 1212, the process ends.
【0087】図12(c)は、EXスクラッチモードの
ときに再生バッファ上に波形サンプルを生成する波形生
成ルーチンHS(6)のフローチャートである。HS
(6)では、ステップ1221でレジスタRSが1であ
るか否かを判定する。レジスタRSが1でないときは、
リボンコントローラ106の操作がなされていないとい
うことだから、そのまま処理を終了する。ステップ12
21でレジスタRSが1であるときは、リボンコントロ
ーラ106の操作がなされているということだから、ス
テップ1222でEXスクラッチ処理を行ない、処理を
終了する。EXスクラッチ処理については、図14で後
述する。FIG. 12C is a flowchart of a waveform generation routine HS (6) for generating a waveform sample on the reproduction buffer in the EX scratch mode. HS
In (6), it is determined in step 1221 whether the register RS is 1. When the register RS is not 1,
Since the ribbon controller 106 has not been operated, the processing ends. Step 12
If the register RS is 1 at 21, it means that the ribbon controller 106 is being operated. Therefore, at step 1222, the EX scratch process is performed and the process is terminated. The EX scratch process will be described later with reference to FIG.
【0088】図13(a)は、ノーマルnのフローチャ
ートを示す。nは、上述のステップ1101で呼び出す
ノーマル4のときはn=4、上述のステップ1111,
1201で呼び出すノーマル2のときはn=2である。FIG. 13A shows a flowchart for normal n. n is 4 when normal 4 is called in step 1101 described above, and n is 4 in step 1111 described above.
When normal 2 is called at 1201, n = 2.
【0089】まずステップ1301で、チャンネルをカ
ウントするためのワークレジスタiに1を設定し、サン
プル数をカウントするためのワークレジスタjに0を設
定し、現在DPルーチンによる再生が行なわれていない
方の再生バッファPBrバーのサンプル領域をすべて0
クリアする。次にステップ1302で、第iチャンネル
の音源レジスタichを参照し、ノートオンが書き込ま
れているか否か判定する。ノートオンが書き込まれてい
ないときは、第iチャンネルの波形生成は行なう必要が
ないから、そのままステップ1308に進む。ステップ
1302で第iチャンネルがノートオンされていたとき
は、ステップ1303に進む。First, in step 1301, the work register i for counting channels is set to 1, the work register j for counting the number of samples is set to 0, and reproduction is not currently performed by the DP routine. Playback buffer PBr bar sample area is all 0
clear. Next, at step 1302, the tone generator register ich of the i-th channel is referred to, and it is determined whether or not note-on is written. If note-on has not been written, it is not necessary to generate the waveform of the i-th channel, so the flow directly advances to step 1308. When the note is on for the i-th channel in step 1302, the process proceeds to step 1303.
【0090】ステップ1303で第iチャンネルの読み
出しアドレスADi(ADiは第iチャンネルの音源レ
ジスタichにセットされている)をインクリメント
し、ステップ1304で第iチャンネルで読み出すべき
波形データのアドレスADiの位置から波形サンプルを
読み出し、ADPCM伸張を行ないリニアな波形サンプ
ルを求めて、ワークレジスタTMPにセットする。次に
ステップ1305で、再生バッファPBrバー(j)に
レジスタTMPの値を累算(チャンネル累算)する。In step 1303, the read address ADi of the i-th channel (ADi is set in the tone generator register ich of the i-th channel) is incremented, and in step 1304, from the position of the address ADi of the waveform data to be read in the i-th channel. The waveform sample is read, ADPCM expansion is performed to obtain a linear waveform sample, and the linear waveform sample is set in the work register TMP. Next, at step 1305, the value of the register TMP is accumulated (channel accumulation) in the reproduction buffer PBr bar (j).
【0091】次に、ステップ1306でレジスタjの値
が127に至ったか否かを判別し、未だレジスタjが1
27に至っていないときは、ステップ1307でレジス
タjをインクリメントした後、ステップ1303に戻り
次の波形サンプルの読み出しおよび伸張と累算を繰り返
す。ステップ1306でレジスタjの値が127になっ
たときは、再生バッファPBrバーの128サンプル分
の領域に第iチャンネルの128サンプルの累算が終了
したということであるから、ステップ1308に進む。Next, at step 1306, it is judged whether or not the value of the register j reaches 127, and the register j is still 1
If it has not reached 27, the register j is incremented in step 1307, and then the process returns to step 1303 to repeat the reading, expansion and accumulation of the next waveform sample. When the value of the register j becomes 127 in step 1306, it means that the accumulation of 128 samples of the i-th channel is completed in the area of 128 samples of the reproduction buffer PBr bar, and therefore the process proceeds to step 1308.
【0092】ステップ1308でレジスタiがnに至っ
たか否かを判別する。レジスタiがnに至っていないと
きは、次のチャンネルの累算を行なうべく、ステップ1
309でレジスタiをインクリメントし、レジスタjを
0クリアして、ステップ1302に戻り、第iチャンネ
ルに対して処理を繰り返す。ステップ1308でレジス
タiがnに至ったときは、処理すべきチャンネルの累算
が終わり再生バッファPBrバー上に128サンプルが
生成されたということであるから、処理を終了する。In step 1308, it is determined whether the register i has reached n. If the register i has not reached n, step 1 is performed to accumulate the next channel.
In step 309, the register i is incremented, the register j is cleared to 0, the process returns to step 1302, and the process is repeated for the i-th channel. When the register i reaches n in step 1308, it means that the accumulation of the channels to be processed is completed and 128 samples are generated on the reproduction buffer PBr bar, so that the processing is ended.
【0093】図13(b)は、図11(c)のステップ
1121でコールされるサブルーチンであるピッチ2の
フローチャートである。ステップ1311で、チャンネ
ルをカウントするためのワークレジスタiに1を設定
し、サンプル数をカウントするためのワークレジスタj
に0を設定し、現在DPルーチンによる再生が行なわれ
ていない方の再生バッファPBrバーのサンプル領域を
すべて0クリアする。次にステップ1312で、第iチ
ャンネルの音源レジスタichを参照し、ノートオンが
書き込まれているか否か判定する。ノートオンが書き込
まれていないときは、第iチャンネルのピッチ付き波形
生成は行なう必要がないから、そのままステップ131
9に進む。ステップ1312で第iチャンネルがノート
オンされていたときは、ステップ1313に進む。FIG. 13B is a flow chart of pitch 2 which is a subroutine called in step 1121 of FIG. 11C. In step 1311, the work register i for counting the channels is set to 1, and the work register j for counting the number of samples is set.
Is set to 0, and all the sample areas of the reproduction buffer PBr bar which is not currently reproduced by the DP routine are cleared to 0. Next, at step 1312, the tone generator register ich of the i-th channel is referred to, and it is determined whether or not note-on is written. If note-on has not been written, it is not necessary to generate the waveform with pitch for the i-th channel, so that step 131 is directly executed.
Proceed to 9. If note-on has been made to the i-th channel in step 1312, the process proceeds to step 1313.
【0094】ステップ1313で、第iチャンネルの波
形サンプル読み出しアドレスADiにFナンバFNiを
加算し、新たなアドレスADiとする。ADiおよびF
Niは、第iチャンネルの音源レジスタichにセット
されている。次に、ステップ1314で、第iチャンネ
ルで読み出すべき波形データのアドレスADiの位置か
ら波形サンプルを読み出し、ADPCM伸張を行ないリ
ニアな波形サンプルを求めて、ワークレジスタTMPに
セットする。なお、読み出すべき波形データはADPC
M圧縮されているので、アドレスADiの整数部が2以
上進む場合は、前回の読み出し位置から今回の読み出し
位置ADiまでの全サンプルを読み出して伸張に用い
る。次に、ステップ1315で、アドレスADiの小数
部に応じてサンプル間の補間を行ない、補間済みの波形
サンプルをレジスタTMPに設定する。そして、ステッ
プ1316で、再生バッファPBrバーのj番目のサン
プル領域PBrバー(j)に、算出した波形サンプルT
MPをチャンネル累算する。At step 1313, the F number FNi is added to the waveform sample read address ADi of the i-th channel to obtain a new address ADi. ADi and F
Ni is set in the sound source register ich of the i-th channel. Next, at step 1314, a waveform sample is read from the position of the address ADi of the waveform data to be read on the i-th channel, ADPCM expansion is performed to obtain a linear waveform sample, and the linear waveform sample is set in the work register TMP. The waveform data to be read is ADPC.
Since it is M-compressed, when the integer part of the address ADi advances by 2 or more, all samples from the previous read position to the current read position ADi are read and used for expansion. Next, at step 1315, interpolation between samples is performed according to the fractional part of the address ADi, and the interpolated waveform sample is set in the register TMP. Then, in step 1316, the calculated waveform sample T is added to the j-th sample area PBr bar (j) of the reproduction buffer PBr bar.
Channel accumulation of MP.
【0095】次にステップ1317で、レジスタjが1
27に至ったか否かを判定する。至っていないときは、
次のサンプルの処理を行なうべく、ステップ1318で
レジスタjをインクリメントし、ステップ1313に戻
る。ステップ1317でレジスタjが127に至ったと
きは、第iチャンネルの処理が終了したということだか
ら、ステップ1319でレジスタiが2に至ったか否か
を判定する。レジスタiが2に至っていないときは、次
のチャンネルの処理を行なうべく、ステップ1320で
レジスタiをインクリメントしレジスタjを0クリアし
た後、ステップ1312に戻る。ステップ1319でレ
ジスタiの値が2に至ったときは、処理を終了する。Next, at step 1317, the register j is set to 1
It is determined whether 27 has been reached. When not reached,
In order to process the next sample, the register j is incremented in step 1318, and the process returns to step 1313. When the value of the register j reaches 127 in step 1317, it means that the processing of the i-th channel is completed. Therefore, it is determined in step 1319 whether or not the register i reaches 2. If the register i has not reached 2, the register i is incremented and the register j is cleared to 0 in step 1320 in order to process the next channel, and then the process returns to step 1312. When the value of the register i reaches 2 in step 1319, the process ends.
【0096】図14は、図12(a)のステップ120
2で呼び出されるスクラッチ処理、または図12(c)
のステップ1222で呼び出されるEXスクラッチ処理
のフローチャートである。まずステップ1401で、検
出されたリボンコントローラ106の移動速度VEL
(VELはスクラッチ用チャンネルの音源レジスタsc
hにセットされている)をスクラッチ用のFナンバSF
Nに変換する。正数だけでなく負数ともなる速度VEL
に応じてFナンバSFNを決定するので、このFナンバ
SFNも正負の領域で変化することになる。次に、ステ
ップ1402でレジスタjを0クリアし、ステップ14
03に進む。FIG. 14 shows step 120 of FIG. 12 (a).
Scratch process called in 2, or FIG. 12 (c)
12 is a flowchart of an EX scratch process called in step 1222 of FIG. First, in step 1401, the moving speed VEL of the detected ribbon controller 106 is detected.
(VEL is the sound source register sc of the scratch channel.
(set to h) F number for scratch SF
Convert to N. VEL which is not only a positive number but also a negative number
Since the F number SFN is determined according to the F number, the F number SFN also changes in the positive and negative regions. Next, in step 1402, the register j is cleared to 0, and step 14
Go to 03.
【0097】ステップ1403でスクラッチ用読み出し
アドレスSAD(SADはスクラッチ用チャンネルの音
源レジスタschにセットされている)にスクラッチ用
FナンバSFNを加算し、ステップ1404で読み出す
べき波形データのアドレスSADの位置から波形サンプ
ルを読み出しレジスタTMPにセットする。なお、図1
2(a)のステップ1202で呼び出されるスクラッチ
処理では、読み出すべき波形データはあらかじめADP
CM伸張されて所定領域に展開され、その波形データ中
にスクラッチ領域SRが設定されている(図6のステッ
プ604,605)。また、図12(c)のステップ1
222で呼び出されるEXスクラッチ処理では、それま
でに外部入力111から入力して録音バッファSRB
0,SRB1に交互に波形データ(リニアサンプル)を
書き込んでいく処理を行なっており、リボンコントロー
ラ106が操作開始された時点で書き込みの行なわれて
いない方の録音バッファの波形データ中にスクラッチ領
域SRが設定されている(図10のステップ100
7)。どちらにしても、ステップ1404では補間に必
要なサンプル数だけ読み出すものとする。At step 1403, the scratch F number SFN is added to the scratch read address SAD (SAD is set in the sound source register sch of the scratch channel), and at step 1404, the waveform data address SAD to be read is read. The waveform sample is set in the read register TMP. FIG.
In the scratch processing called in step 1202 of 2 (a), the waveform data to be read is previously ADP.
The CM is expanded and expanded in a predetermined area, and the scratch area SR is set in the waveform data (steps 604 and 605 in FIG. 6). In addition, step 1 in FIG.
In the EX scratch processing called in 222, the recording buffer SRB is input from the external input 111 by then.
0 and SRB1 are alternately written with waveform data (linear samples), and the scratch area SR is included in the waveform data of the recording buffer that has not been written at the time when the ribbon controller 106 is operated. Is set (step 100 in FIG. 10).
7). In either case, in step 1404, the number of samples required for interpolation is read.
【0098】次にステップ1405で、アドレスSAD
の小数部に応じてサンプル間の補間を行ない、補間済み
の波形サンプルをレジスタTMPにセットする。そし
て、ステップ1406で、再生バッファPBrバーのj
番目のサンプル領域PBrバー(j)に波形サンプルT
MPをチャンネル累算する。Next, in step 1405, the address SAD
Interpolation between samples is performed according to the fractional part of, and the interpolated waveform sample is set in the register TMP. Then, in step 1406, j of the playback buffer PBr bar
The waveform sample T is placed in the th sample area PBr bar (j).
Channel accumulation of MP.
【0099】次に、ステップ1407でレジスタjが1
27に至ったか否かを判定する。レジスタjが127に
至っていないときは、次のサンプルの処理を行なうべ
く、ステップ1408でレジスタjをインクリメント
し、ステップ1403に戻る。ステップ1407でレジ
スタjが127に至ったときは、処理を終了する。Next, at step 1407, the register j is set to 1
It is determined whether 27 has been reached. If the register j has not reached 127, the register j is incremented in step 1408 to process the next sample, and the process returns to step 1403. When the register j reaches 127 in step 1407, the processing ends.
【0100】図15は、DMAコントローラ113がF
s発生器110から発生するサンプリングクロックFs
ごとに実行するDR(m)ルーチンのフローチャートで
ある。録音はモードmがm=1,5,6のときに行なわ
れるので、DR(m)ではm=1,5,6の何れかであ
る。In FIG. 15, the DMA controller 113 is F
sampling clock Fs generated from the s generator 110
It is a flow chart of a DR (m) routine executed for each. Since the recording is performed when the mode m is m = 1, 5, 6, the DR (m) is either m = 1, 5, 6.
【0101】まずステップ1501で、サウンドI/O
112の入力FIFO(外部入力111からA/D入力
端子に入力した楽音信号がA/D変換され入力FIFO
にセットされる)から、波形サンプルを録音バッファR
Bkの録音ポインタRPで指されるサンプル領域RBk
(RP)に転送する。なお、モードmがm=1すなわち
サンプリングモードのときは、サウンドI/O112の
ADPCM圧縮機能を用いてA/D変換したリニアな波
形サンプルをADPCM圧縮し、圧縮後の波形サンプル
を入力FIFO経由で録音バッファRBk(RP)に転
送するものとする。また、モードmがm=5,6すなわ
ちEXフィルタモードまたはEXスクラッチモードのと
きは、サウンドI/O112のADPCM圧縮機能を使
用せず、A/D変換したリニアな波形サンプルを入力F
IFO経由で録音バッファRBk(RP)に転送する
(ただし、m=6のときは録音バッファRBk(RP)
の代わりに、録音バッファSRBk(RP)を用いる)
ものとする。First, in step 1501, sound I / O
112 input FIFO (the tone signal input from the external input 111 to the A / D input terminal is A / D converted and input FIFO
Is set to), the waveform sample from the recording buffer R
A sample area RBk pointed to by the recording pointer RP of Bk
(RP). When the mode m is m = 1, that is, the sampling mode, the linear waveform sample A / D converted by the ADPCM compression function of the sound I / O 112 is ADPCM compressed, and the compressed waveform sample is input via the input FIFO. It shall be transferred to the recording buffer RBk (RP). When the mode m is m = 5 or 6, that is, the EX filter mode or the EX scratch mode, the ADPCM compression function of the sound I / O 112 is not used, and the linear waveform sample obtained by A / D conversion is input F
Transfer to recording buffer RBk (RP) via IFO (however, when m = 6, recording buffer RBk (RP))
Recording buffer SRBk (RP) is used instead of
I shall.
【0102】次に、ステップ1502で録音ポインタR
Pをインクリメントし、ステップ1503で録音バッフ
ァRBk(m=6のときはSRBk、以下同様)が一杯
になったか否かを判定する。一杯になっていないとき
は、処理を終了する。録音バッファRBkが一杯になっ
たときは、ステップ1504でkを反転(0なら1、1
なら0とする)し、ステップ1505で割り込みを発生
し、処理を終了する。この割り込みは、一杯になった録
音バッファ(この時点ではRBkバー)の波形サンプル
をフラッシュメモリ103に書き込んで録音バッファを
空きにする処理をCPU101に依頼するための割り込
みである。Next, in step 1502, the recording pointer R
P is incremented, and it is determined in step 1503 whether the recording buffer RBk (SRBk when m = 6, and so on) is full. If it is not full, the process ends. When the recording buffer RBk is full, k is inverted in step 1504 (1 for 0, 1 for 1).
If so, the value is set to 0), an interrupt is generated in step 1505, and the process ends. The interrupt is an interrupt for requesting the CPU 101 to write the waveform sample of the recording buffer (RBk bar at this time) which is full to the flash memory 103 to empty the recording buffer.
【0103】図16は、DMAコントローラ113がF
s発生器110から発生するサンプリングクロックFs
ごとに実行するDPルーチンのフローチャートである。In FIG. 16, the DMA controller 113 has the F
sampling clock Fs generated from the s generator 110
It is a flow chart of a DP routine performed for every.
【0104】まずステップ1601で、再生バッファP
Br上の再生ポインタPPで示される波形サンプルPB
r(PP)を、サウンドI/O112の出力FIFOに
転送する。出力FIFOに格納された波形サンプルは、
図1で説明したように、D/A変換の後、サウンドシス
テム114に送出されて放音される。次に、ステップ1
602で再生ポインタPPをインクリメントし、ステッ
プ1603で再生バッファPBrの再生サンプルの最後
まで再生し終わったか否かを判別する。First, in step 1601, the reproduction buffer P
Waveform sample PB indicated by reproduction pointer PP on Br
r (PP) is transferred to the output FIFO of the sound I / O 112. The waveform samples stored in the output FIFO are
As described with reference to FIG. 1, after D / A conversion, it is sent to the sound system 114 and emitted. Next, step 1
At 602, the reproduction pointer PP is incremented, and at step 1603, it is determined whether or not the reproduction sample in the reproduction buffer PBr has been reproduced to the end.
【0105】ステップ1603で再生バッファPBrの
すべての波形サンプルを再生し終わったなら、ステップ
1604でrを反転し(0なら1、1なら0とする)、
もう一方の再生バッファを次に読み出すべき再生バッフ
ァPBrとする。そして、ステップ1605で、CPU
101に対し波形サンプルを用意することを要求するた
めに割り込みを発生し、処理を終了する。ステップ16
03で再生バッファPBr上にまだ再生していない波形
サンプルがある場合は、そのまま処理を終了する。When reproduction of all the waveform samples in the reproduction buffer PBr is completed in step 1603, r is inverted in step 1604 (0 is 1, 1 is 0),
The other reproduction buffer is the reproduction buffer PBr to be read next. Then, in step 1605, the CPU
An interrupt is generated to request 101 to prepare a waveform sample, and the process ends. Step 16
If there is a waveform sample that has not been reproduced in the reproduction buffer PBr at 03, the processing is ended as it is.
【0106】次に、各モード別に、どのようなタイミン
グで上述の各フローチャートの処理がなされるかを説明
する。Next, at what timing each of the above-mentioned flowcharts is processed for each mode will be described.
【0107】まず、ノーマルモード(m=0)における
動作を説明する。モード切り替えスイッチでノーマルモ
ードがユーザにより指定されると、上述の図4のモード
SWイベントルーチンにおいて、レジスタmに0が設定
される。ノーマルモードの開始処理MS(0)は、特に
説明すべき処理を行なうものではないのでフローチャー
トは省略した。ただし、EXスクラッチモードなどによ
りサンプリングクロックFsごとにDPルーチンを実行
する動作が停止していた場合は、MS(0)でその再生
動作を再開する。First, the operation in the normal mode (m = 0) will be described. When the user selects the normal mode with the mode changeover switch, 0 is set in the register m in the mode SW event routine shown in FIG. The normal mode start process MS (0) does not perform a process that should be particularly described, and therefore the flowchart is omitted. However, when the operation of executing the DP routine for each sampling clock Fs is stopped due to the EX scratch mode or the like, the reproduction operation is restarted by MS (0).
【0108】図3のステップ301の初期設定におい
て、あるいは上記MS(0)による再生動作の再開処理
において、CPU101は、図2(a)の全チャンネル
の音源レジスタをノートオフの状態に設定し、図2
(c)の再生バッファPB0,PB1の全サンプル領域
を0クリアし、サウンドI/O112およびDMAコン
トローラ113に再生の動作を行なうように指定した
後、Fs発生器110によるサンプリングクロックFs
を発生開始させる。これにより、DMAコントローラ1
13は、Fs発生器110からのサンプリングクロック
FsごとにCPU101に割り込みをかけ、その都度図
16のDPルーチンを実行して再生バッファ内の波形デ
ータを再生する動作を開始する。In the initial setting of step 301 in FIG. 3 or in the resuming process of the reproducing operation by the MS (0), the CPU 101 sets the tone generator registers of all the channels in FIG. 2 (a) to the note-off state, Figure 2
After clearing all the sample areas of the reproduction buffers PB0 and PB1 in (c) to 0 and designating the sound I / O 112 and the DMA controller 113 to perform the reproduction operation, the sampling clock Fs generated by the Fs generator 110 is used.
Start to occur. As a result, the DMA controller 1
13 interrupts the CPU 101 at every sampling clock Fs from the Fs generator 110, executes the DP routine of FIG. 16 each time, and starts the operation of reproducing the waveform data in the reproduction buffer.
【0109】ここで、再生時の処理のタイミングについ
て説明する。図17(a)は、再生時のタイミング図を
示す。S1〜S5の各区間は、128サンプル分の再生
を行なうフレームを示す。「CPUによる波形生成」
は、CPU101により図11(a)の波形生成ルーチ
ンHS(0)を実行して、再生バッファPB0またはP
B1に次に再生すべき128サンプルを生成する処理を
行なう区間を示す。また、「DMACのDPルーチン」
は、DPルーチンを実行して再生バッファ内の波形デー
タを再生する処理を行なう区間を示す。DPルーチンの
実行はサンプリングクロックFsに応じた割り込みごと
に行なわれ、その割り込みは1フレーム中で均等間隔に
128回発生するようになっている。「CPUによる波
形生成」および「DMACのDPルーチン」の各区間に
付された数字0〜4は、波形生成および再生の順序を示
すために便宜的に付けた数字である。Here, the timing of processing during reproduction will be described. FIG. 17A shows a timing chart at the time of reproduction. Each section of S1 to S5 shows a frame for reproducing 128 samples. "Waveform generation by CPU"
Causes the CPU 101 to execute the waveform generation routine HS (0) of FIG.
B1 shows a section in which a process for generating the next 128 samples to be reproduced is performed. Also, "DMAC DP routine"
Indicates a section in which the DP routine is executed to reproduce the waveform data in the reproduction buffer. The DP routine is executed for each interrupt according to the sampling clock Fs, and the interrupt is generated 128 times at equal intervals in one frame. The numbers 0 to 4 attached to the respective sections of "waveform generation by CPU" and "DP routine of DMAC" are numbers conveniently attached to indicate the order of waveform generation and reproduction.
【0110】図17(a)では、まず区間S1で、CP
U101がHS(0)を実行し、再生バッファPB0へ
波形データ(128個の波形サンプル)を生成する。次
の区間S2では、サンプリングクロックFsごとの割り
込みでDMAコントローラ113がDPルーチンを実行
する。これにより、区間S1で生成された再生バッファ
PB0の128個の波形サンプルは、区間S2で、順
次、サウンドI/O112の出力FIFOに転送され再
生される。再生バッファPB0の128個の波形サンプ
ルがすべてサウンドI/O112の出力FIFOに転送
された時点(区間S2終了時)で割り込み(ステップ1
605)が発生する。この割り込みを契機として、CP
U101は区間S3で波形生成ルーチンHS(0)を実
行し、再生バッファPB0へ新たな波形データ(128
個の波形サンプル)を生成する。In FIG. 17A, first, in the section S1, the CP
U101 executes HS (0) to generate waveform data (128 waveform samples) in the reproduction buffer PB0. In the next section S2, the DMA controller 113 executes the DP routine at an interrupt for each sampling clock Fs. As a result, the 128 waveform samples of the reproduction buffer PB0 generated in the section S1 are sequentially transferred to the output FIFO of the sound I / O 112 and reproduced in the section S2. When all 128 waveform samples of the reproduction buffer PB0 have been transferred to the output FIFO of the sound I / O 112 (at the end of section S2), an interrupt (step 1
605) occurs. With this interrupt as a trigger, CP
U101 executes the waveform generation routine HS (0) in the section S3, and writes new waveform data (128) to the reproduction buffer PB0.
Waveform samples).
【0111】以上は、再生バッファPB0に着目して説
明したものであるが、PB1も同様にしてPB0と交互
に用いられる。要するに、DPルーチンはサンプリング
クロックFsごとの割り込みで実行され、区間S1でP
B1の波形サンプルを再生し、区間S2でPB0の波形
サンプルを再生し、区間S3でPB1の波形サンプルを
再生し、区間S4でPB0の波形サンプルを再生し、…
というように、サンプリングクロックFsにしたがって
交互にPB0とPB1の波形サンプルの再生を行なう。
そして、各区間で128サンプルが再生された時点で発
生する割り込みによりHS(0)が実行され、次の12
8サンプルをPB0またはPB1(再生が行なわれてい
ない方)に生成するようになっている。ソフトウエアの
階層構造上、DPルーチンはレベル1であり、HS
(0)はレベル2である。したがって、HS(0)が実
行されているときにサンプリングクロックFsにしたが
う割り込みがあると、DPルーチンが優先的に実行され
る。これにより、DPルーチンによる再生と波形生成ル
ーチンHS(0)による波形生成とを並行して実行する
ことができる。Although the above description has focused on the reproduction buffer PB0, PB1 is also used alternately with PB0 in the same manner. In short, the DP routine is executed by the interrupt for each sampling clock Fs, and the P routine is executed in the section S1.
The waveform sample of B1 is reproduced, the waveform sample of PB0 is reproduced in the section S2, the waveform sample of PB1 is reproduced in the section S3, the waveform sample of PB0 is reproduced in the section S4, ...
In this way, the waveform samples of PB0 and PB1 are reproduced alternately according to the sampling clock Fs.
Then, HS (0) is executed by an interrupt generated when 128 samples are reproduced in each section, and the next 12
Eight samples are generated in PB0 or PB1 (one not being reproduced). Due to the hierarchical structure of the software, the DP routine is level 1 and HS
(0) is level 2. Therefore, if there is an interrupt according to the sampling clock Fs while HS (0) is being executed, the DP routine is executed with priority. Thereby, the reproduction by the DP routine and the waveform generation by the waveform generation routine HS (0) can be executed in parallel.
【0112】ノーマルモード(m=0)において、パッ
ドがオンされていないときは、図17(a)で説明した
タイミングで、再生バッファPB0,PB1内のオール
0のサンプルが繰り返し再生される。オール0のサンプ
ルの再生であるので、実際には楽音は放音されていない
のと同じことになる。この状態で、パッドがオンされた
ときの処理を説明する。図17(a)の「パッド」の矢
印に示すように、区間S1でパッドがオンされたとす
る。定常ルーチンにおいてパッドオンが検出されると、
図7のオンイベントルーチンによりオンされたパッドに
対応する波形データのノートオンが図2(a)の音源レ
ジスタに書き込まれる。定常ルーチンやオンイベントル
ーチンは、レベル3の処理であり、波形生成ルーチンH
S(0)やDPルーチンと並行して動作可能である。音
源レジスタに書き込まれたノートオンは、次のHS
(0)の実行において再生バッファに反映される。In the normal mode (m = 0), when the pad is not turned on, all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced at the timing described with reference to FIG. Since it is the reproduction of the sample of all 0, it means that no musical sound is actually emitted. The process when the pad is turned on in this state will be described. It is assumed that the pad is turned on in the section S1, as indicated by the arrow "pad" in FIG. When pad-on is detected in the routine routine,
Note-on of the waveform data corresponding to the pad turned on by the on-event routine of FIG. 7 is written in the tone generator register of FIG. The steady routine and the on-event routine are level 3 processing, and the waveform generation routine H
It can operate in parallel with the S (0) and DP routines. The note-on written in the sound source register is the next HS
It is reflected in the reproduction buffer in the execution of (0).
【0113】次に、サンプリングモード(m=1)にお
ける動作を説明する。モード切り替えスイッチでサンプ
リングモードがユーザにより指定されると、上述の図4
のモードSWイベントルーチンにおいて、レジスタmに
1が設定される。さらに、サンプリングモードの開始処
理MS(1)が図5のように実行される。MS(1)で
は、DPルーチンを停止し、サウンドI/O112およ
びDMAコントローラ113に録音の動作を行なうよう
に指令する。これにより、DMAコントローラ113
は、Fs発生器110からのサンプリングクロックFs
ごとにCPU101に割り込みをかけ、その都度図15
のDR(1)ルーチンを実行して、外部からの波形サン
プルを録音バッファに録音する動作を開始する。Next, the operation in the sampling mode (m = 1) will be described. When the sampling mode is specified by the user with the mode changeover switch, the above-mentioned FIG.
In the mode SW event routine of 1, the register m is set to 1. Further, the sampling mode start process MS (1) is executed as shown in FIG. In MS (1), the DP routine is stopped and the sound I / O 112 and the DMA controller 113 are instructed to perform the recording operation. As a result, the DMA controller 113
Is the sampling clock Fs from the Fs generator 110.
The CPU 101 is interrupted each time, and FIG.
The DR (1) routine is executed to start recording an external waveform sample in the recording buffer.
【0114】ここで、録音時の処理のタイミングについ
て説明する。図17(b)は、録音時のタイミング図を
示す。S1〜S5の各区間は、128サンプル分の録音
を行なうフレームを示す。「DMACのDRルーチン」
は、DR(1)ルーチンを実行してサウンドI/O11
2の入力FIFO(外部入力111をA/D変換しAD
PCM圧縮した波形サンプルが書き込まれている)の波
形サンプルを録音バッファに書き込む処理(録音)を行
なう区間を示す。DR(1)ルーチンの実行はサンプリ
ングクロックFsに応じた割り込みごとに行なわれ、そ
の割り込みは1フレーム中で均等間隔に128回発生す
るようになっている。「CPUによるフラッシュメモリ
への書き込み」は、CPU101により図5のステップ
509で録音バッファRB0またはRB1の波形サンプ
ルをフラッシュメモリ103に書き込んで録音バッファ
を空きにする処理を行なう区間を示す。なお、各区間に
付された数字0〜4は、録音およびフラッシュメモリへ
の書き込みの順序を示すために便宜的に付けた数字であ
る。Here, the timing of processing during recording will be described. FIG. 17B shows a timing chart during recording. Each section of S1 to S5 shows a frame for recording 128 samples. "DMAC DR routine"
Executes the DR (1) routine to execute the sound I / O 11
2 input FIFO (external input 111 is A / D converted and AD
A section for performing processing (recording) of writing a waveform sample of a PCM-compressed waveform sample to a recording buffer is shown. The execution of the DR (1) routine is performed for each interrupt according to the sampling clock Fs, and the interrupt is generated 128 times at equal intervals in one frame. “Write to flash memory by CPU” indicates a section in which the CPU 101 writes the waveform sample of the recording buffer RB0 or RB1 to the flash memory 103 in step 509 of FIG. 5 to empty the recording buffer. It should be noted that the numbers 0 to 4 attached to each section are numbers conveniently attached to show the order of recording and writing to the flash memory.
【0115】図17(b)では、まず区間S1でサンプ
リングクロックFsごとに割り込みが発生して、その都
度DMAコントローラ113がDR(1)ルーチンを実
行する。これにより、サウンドI/O112の入力FI
FOの波形サンプルが、順次、録音バッファRB0へ書
き込まれる。録音バッファRB0に128個の波形サン
プルが書き込まれた時点(区間S1終了時)で割り込み
(ステップ1505)が発生する。この割り込みを契機
として、CPU101は、区間S2で録音バッファRB
0の波形サンプルをフラッシュメモリ103に書き込み
(ステップ509)、録音バッファRB0を空きにす
る。In FIG. 17 (b), first, an interrupt occurs at each sampling clock Fs in the section S1, and the DMA controller 113 executes the DR (1) routine each time. This allows input FI of the sound I / O 112.
Waveform samples of FO are sequentially written in the recording buffer RB0. An interrupt (step 1505) is generated when 128 waveform samples are written in the recording buffer RB0 (at the end of the section S1). In response to this interrupt, the CPU 101 causes the recording buffer RB in the section S2.
The waveform sample of 0 is written in the flash memory 103 (step 509) to make the recording buffer RB0 empty.
【0116】以上は、録音バッファRB0に着目して説
明したものであるが、RB1も同様にしてRB0と交互
に用いられる。要するに、DR(1)ルーチンはサンプ
リングクロックFsごとの割り込みで実行され、区間S
1でRB0に波形サンプルを録音し、区間S2でRB1
に波形サンプルを録音し、区間S3でRB0に波形サン
プルを録音し、…というように、サンプリングクロック
FsにしたがってRB0とRB1に交互に波形サンプル
の録音(書き込み)を行なう。そして、各区間で128
サンプルが録音された時点で発生する割り込みにより、
録音バッファ(書き込みが行なわれていない方)の波形
サンプルをフラッシュメモリ103に書き込むようにな
っている。ソフトウエアの階層構造上、DR(1)ルー
チンはレベル1であり、MS(1)はレベル3である。
したがって、MS(1)が実行されているときにサンプ
リングクロックFsにしたがう割り込みがあると、DR
(1)ルーチンが優先的に実行される。これにより、D
R(1)ルーチンによる録音とMS(1)によるフラッ
シュメモリ103への書き込みとを並行して実行するこ
とができる。Although the above description is focused on the recording buffer RB0, the RB1 is also used alternately with the RB0 in the same manner. In short, the DR (1) routine is executed by interruption every sampling clock Fs, and the section S
Record a waveform sample in RB0 in 1 and RB1 in section S2
, The waveform sample is recorded in RB0 in the section S3, and so on. And 128 in each section
By the interrupt that occurs when the sample is recorded,
The waveform sample of the recording buffer (the one not written) is written in the flash memory 103. Due to the hierarchical structure of software, the DR (1) routine is at level 1 and the MS (1) is at level 3.
Therefore, if there is an interrupt according to the sampling clock Fs while MS (1) is being executed, DR
(1) The routine is executed with priority. This gives D
Recording by the R (1) routine and writing by the MS (1) to the flash memory 103 can be executed in parallel.
【0117】次に、フィルタ再生モード(m=2)にお
ける動作を説明する。モード切り替えスイッチでフィル
タ再生モードがユーザにより指定されると、上述の図4
のモードSWイベントルーチンにおいて、レジスタmに
2が設定される。フィルタ再生モードの開始処理MS
(2)は、特に説明すべき処理を行なうものではないの
でフローチャートは省略した。ただし、EXスクラッチ
モードなどによりサンプリングクロックFsごとにDP
ルーチンを実行する動作が停止していた場合は、ノーマ
ルモードの開始処理MS(0)と同様に、MS(2)で
その再生動作を再開する。Next, the operation in the filter regeneration mode (m = 2) will be described. When the filter regeneration mode is designated by the user with the mode changeover switch, the above-mentioned FIG.
In the mode SW event routine of, 2 is set in the register m. Filter regeneration mode start processing MS
Since (2) does not perform any processing that should be particularly described, the flowchart is omitted. However, due to EX scratch mode, etc.
When the operation for executing the routine is stopped, the reproducing operation is restarted by MS (2) as in the normal mode start processing MS (0).
【0118】フィルタ再生モードは、ノーマルモードと
ほぼ同様の手順で再生を行なう。サンプリングクロック
FsごとにDPルーチンが実行され、パッドオンが為さ
れていないとき再生バッファPB0,PB1内のオール
0のサンプルが繰り返し再生されること、およびパッド
オンのときの処理手順も同じである。また、再生時のタ
イミングも図17(a)と同じである。ただし、フィル
タ再生モードでは、タイマ割り込みにより所定時間間隔
ごとに図9のRC取り込みルーチンRC(2)を実行し
てリボンコントローラ106の検出値を取り込むととも
に、図17(a)におけるCPU101の波形生成処理
をHS(0)の代わりに図11(b)のHS(2)とす
る。波形生成ルーチンHS(2)では、パッドオンによ
る2音分の波形サンプルを再生バッファに累算するとと
もに、該再生バッファの波形サンプルに対し、リボンコ
ントローラ106の検出値RDに応じたフィルタ係数で
フィルタ処理を施す(ステップ1112,1113)。
以上のようにして、リボンコントローラ106による再
生音のフィルタ制御を行なう。In the filter reproduction mode, reproduction is carried out in substantially the same procedure as in the normal mode. The DP routine is executed for each sampling clock Fs, all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced when pad-on is not performed, and the processing procedure when pad-on is the same. The timing of reproduction is also the same as in FIG. 17 (a). However, in the filter regeneration mode, the RC capture routine RC (2) of FIG. 9 is executed at predetermined time intervals by a timer interrupt to capture the detection value of the ribbon controller 106, and the waveform generation processing of the CPU 101 in FIG. Be HS (2) in FIG. 11 (b) instead of HS (0). In the waveform generation routine HS (2), waveform samples for two sounds due to pad-on are accumulated in the reproduction buffer, and the waveform samples in the reproduction buffer are filtered with a filter coefficient according to the detection value RD of the ribbon controller 106. Is performed (steps 1112 and 1113).
As described above, the filter control of the reproduced sound is performed by the ribbon controller 106.
【0119】フィルタ再生モードでは、ノーマルモード
で4音再生していたのを2音に減らし、そのように楽音
生成数を減らす代わりに、再生する波形にフィルタ処理
を施すものである。1フレーム時間内で所定数のサンプ
ル生成を行なわなければならないため、ノーマルモード
で4音再生可能であったのが、その再生音にフィルタ処
理を施す場合には処理時間が足りなくなってしまう。そ
こで、楽音生成数を2音に減らし、波形生成の処理時間
を短縮し、余った時間でフィルタ処理を行なうようにし
たものである。In the filter reproduction mode, four sounds reproduced in the normal mode are reduced to two sounds, and instead of reducing the number of generated musical sounds, the waveform to be reproduced is filtered. Since it is necessary to generate a predetermined number of samples within one frame time, four sounds can be reproduced in the normal mode. However, when the reproduced sound is filtered, the processing time becomes short. Therefore, the number of generated musical tones is reduced to two, the processing time for waveform generation is shortened, and the filter processing is performed in the remaining time.
【0120】次に、ピッチ付き再生モード(m=3)に
おける動作を説明する。モード切り替えスイッチでフィ
ルタ再生モードがユーザにより指定されると、上述の図
4のモードSWイベントルーチンにおいて、レジスタm
に3が設定される。フィルタ再生モードの開始処理MS
(3)は、特に説明すべき処理を行なうものではないの
でフローチャートは省略した。ただし、EXスクラッチ
モードなどによりサンプリングクロックFsごとにDP
ルーチンを実行する動作が停止していた場合は、ノーマ
ルモードの開始処理MS(0)と同様に、MS(3)で
その再生動作を再開する。Next, the operation in the pitched reproduction mode (m = 3) will be described. When the filter regeneration mode is designated by the user with the mode changeover switch, the register m is registered in the mode SW event routine of FIG.
Is set to 3. Filter regeneration mode start processing MS
Since (3) does not carry out any processing that should be particularly explained, the flow chart is omitted. However, due to EX scratch mode, etc.
When the operation for executing the routine is stopped, the reproducing operation is restarted by MS (3) as in the normal mode start processing MS (0).
【0121】ピッチ付き再生モードは、ノーマルモード
とほぼ同様の手順で再生を行なう。サンプリングクロッ
クFsごとにDPルーチンが実行され、パッドオンが為
されていないとき再生バッファPB0,PB1内のオー
ル0のサンプルが繰り返し再生されること、およびパッ
ドオンのときの処理手順も同じである。また、再生時の
タイミングも図17(a)と同じである。ただし、ピッ
チ付き再生モードでは、パッドオンイベントルーチンを
図7に代えて図8とし、波形生成ルーチンを図11
(a)のHS(0)の代わりに図11(c)のHS
(3)とする。図8のパッドオンイベントルーチンでは
パッド番号PNに応じたFナンバFNiを生成し、図1
1(c)の波形生成ルーチンHS(3)では、そのFナ
ンバFNiをアドレスADiに累算したアドレスで波形
サンプルを読み出して再生する。これにより、ピッチ付
きで再生を行なうことができる。In the pitched reproduction mode, reproduction is performed in substantially the same procedure as the normal mode. The DP routine is executed for each sampling clock Fs, all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced when pad-on is not performed, and the processing procedure when pad-on is the same. The timing of reproduction is also the same as in FIG. 17 (a). However, in the playback mode with pitch, the pad-on event routine is changed from FIG. 7 to FIG.
Instead of HS (0) in (a), HS in FIG. 11 (c)
(3). In the pad-on-event routine of FIG. 8, the F number FNi corresponding to the pad number PN is generated,
In the waveform generation routine HS (3) of 1 (c), a waveform sample is read and reproduced at an address obtained by accumulating the F number FNi in the address ADi. As a result, reproduction can be performed with a pitch.
【0122】ピッチ付き再生モードでは、ノーマルモー
ドで4音再生していたのを2音に減らし、そのように楽
音生成数を減らす代わりに、再生する波形にピッチ付与
処理を施すものである。1フレーム時間内で所定数のサ
ンプル生成を行なわなければならないため、ノーマルモ
ードで4音再生可能であったのが、その再生音にピッチ
付与処理を施す場合には処理時間が足りなくなってしま
う。そこで、楽音生成数を2音に減らし、波形生成の処
理時間を短縮し、余った時間でピッチ付与処理を行なう
ようにしたものである。In the playback mode with pitch, four tones are reproduced in the normal mode to two, and instead of reducing the number of generated musical tones in this manner, pitch imparting processing is performed on the reproduced waveform. Since it is necessary to generate a predetermined number of samples within one frame time, four sounds can be reproduced in the normal mode. However, when the pitch is added to the reproduced sound, the processing time becomes short. Therefore, the number of generated musical tones is reduced to two, the processing time for waveform generation is shortened, and the pitch assignment processing is performed in the remaining time.
【0123】次に、スクラッチ再生モード(m=4)に
おける動作を説明する。モード切り替えスイッチでスク
ラッチ再生モードがユーザにより指定されると、上述の
図4のモードSWイベントルーチンにおいて、レジスタ
mに4が設定される。スクラッチ再生モードの開始処理
MS(4)(図6)では、スクラッチ再生する波形デー
タを所定領域に展開しスクラッチ領域SRとスクラッチ
ポインタSPを設定して前準備を行なっておく。なお、
図6では図示していないが、EXスクラッチモードなど
によりサンプリングクロックFsごとにDPルーチンを
実行する動作が停止していた場合は、ノーマルモードの
開始処理MS(0)と同様に、MS(4)でその再生動
作を再開する。Next, the operation in the scratch reproduction mode (m = 4) will be described. When the scratch reproduction mode is designated by the user with the mode changeover switch, 4 is set in the register m in the mode SW event routine of FIG. 4 described above. In the scratch reproduction mode start processing MS (4) (FIG. 6), the waveform data to be scratch-reproduced is developed in a predetermined area, the scratch area SR and the scratch pointer SP are set, and preparations are made. In addition,
Although not shown in FIG. 6, when the operation of executing the DP routine for each sampling clock Fs is stopped due to the EX scratch mode or the like, MS (4) is set in the same manner as the normal mode start process MS (0). To restart the playback operation.
【0124】スクラッチ再生モードは、パッドオンによ
る2音分の再生についてはノーマルモードとほぼ同様の
手順で再生を行なう。サンプリングクロックFsごとに
DPルーチンが実行され、パッドオンが為されていない
とき再生バッファPB0,PB1内のオール0のサンプ
ルが繰り返し再生されること、およびパッドオンのとき
の処理手順も同じである。また、再生時のタイミングも
図17(a)と同じである。ただし、スクラッチ再生モ
ードでは、タイマ割り込みにより図10のRC取り込み
ルーチンRC(4)を実行して、リボンコントローラ1
06の検出値を取り込み、操作開始時にはスクラッチ用
チャンネルの音源レジスタschにノートオンを書き込
むとともに、リボンコントローラ106の操作の速度V
ELを検出して音源レジスタschに書き込む。また、
CPU101の波形生成処理をHS(0)の代わりに図
12(a)のHS(4)とする。波形生成ルーチンHS
(4)では、サブルーチンであるノーマル2によりパッ
ドオンによる2音分の波形サンプルの生成をノーマルモ
ード時と同様にして行ない、サブルーチンであるスクラ
ッチ(図14)により、検出した速度VELに応じたF
ナンバSFNをアドレスSADに累算して求めたアドレ
スSADでスクラッチ領域SRの波形サンプルを読み出
して再生バッファPBrバーにチャンネル累算する。こ
れにより、パッドオンによる2音に加えて、指定した波
形データを用いたスクラッチ再生が実現される。In the scratch reproduction mode, the reproduction of two tones by pad-on is performed in substantially the same procedure as the normal mode. The DP routine is executed for each sampling clock Fs, all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced when pad-on is not performed, and the processing procedure when pad-on is the same. The timing of reproduction is also the same as in FIG. 17 (a). However, in the scratch reproduction mode, the RC fetch routine RC (4) of FIG.
The detection value of 06 is fetched, note-on is written in the sound source register sch of the scratch channel at the start of the operation, and the operation speed V of the ribbon controller 106 is changed.
EL is detected and written in the sound source register sch. Also,
The waveform generation process of the CPU 101 is HS (4) in FIG. 12A instead of HS (0). Waveform generation routine HS
In (4), the waveform normalization for two tones by pad-on is performed in the same way as in the normal mode by the normal 2 subroutine, and the F (F) corresponding to the detected speed VEL is performed by the scratch (FIG. 14) subroutine.
The waveform sample of the scratch area SR is read at the address SAD obtained by accumulating the number SFN in the address SAD, and the channel is accumulated in the reproduction buffer PBr bar. As a result, in addition to the two tones produced by pad-on, scratch reproduction using the designated waveform data is realized.
【0125】スクラッチ再生モードでは、ノーマルモー
ドで4音再生していたのを2音に減らし、そのように楽
音生成数を減らす代わりに、スクラッチ音を発生するも
のである。1フレーム時間内で所定数のサンプル生成を
行なわなければならないため、ノーマルモードで4音再
生可能であったのが、それに加えてスクラッチ音を発生
する場合には処理時間が足りなくなってしまう。そこ
で、楽音生成数を2音に減らし、波形生成の処理時間を
短縮し、余った時間でスクラッチ音の発生を行なうよう
にしたものである。In the scratch reproduction mode, four sounds reproduced in the normal mode are reduced to two sounds, and a scratch sound is generated instead of reducing the number of generated musical sounds. Since it is necessary to generate a predetermined number of samples within one frame time, four sounds can be reproduced in the normal mode, but in addition to that, when a scratch sound is generated, the processing time becomes short. Therefore, the number of generated musical tones is reduced to two, the processing time for waveform generation is shortened, and the scratch sound is generated in the extra time.
【0126】次に、EXフィルタモード(m=5)にお
ける動作を説明する。モード切り替えスイッチでEXフ
ィルタモードがユーザにより指定されると、上述の図4
のモードSWイベントルーチンにおいて、レジスタmに
5が設定される。EXフィルタモードの開始処理MS
(5)のフローチャートは省略したが、MS(5)では
DR(5)ルーチンの起動処理を行なう。すなわち、C
PU101からサウンドI/O112およびDMAコン
トローラ113に指令して、Fs発生器110からのサ
ンプリングクロックFsごとにCPU101に割り込み
をかけ、その都度図15のDR(5)ルーチンを実行し
て、外部からの波形サンプルを録音バッファRBkに書
き込む動作を開始させる。このとき、Fs発生器110
からのサンプリングクロックFsごとにCPU101に
割り込みをかけ、その都度図16のDPルーチンを実行
して再生バッファ内の波形データを再生する動作は、停
止しない(もし、EXスクラッチモードなどによりサン
プリングクロックFsごとにDPルーチンを実行する動
作が停止していた場合は、ノーマルモードの開始処理M
S(0)と同様に、MS(5)でその再生動作を再開す
るものとする)。すなわち、サンプリングクロックFs
ごとに、DPとDR(5)が実行されることになる。こ
の場合、同じサンプリングクロックFsにしたがって動
作するので、DPとDR(5)は同期して動作し、DP
ルーチンのステップ1605の割り込みとDR(5)ル
ーチンのステップ1505の割り込みは、全く同じタイ
ミングで発行される。この同じタイミングで発行される
割り込みを契機として、図12(b)の波形生成ルーチ
ンHS(5)が実行される。なお、EXフィルタモード
では、外部入力を実質的に録音することはないので(D
R(5)ルーチンで外部入力を取り込むのは、取り込ん
だ波形データをフィルタリングするためである)、フラ
ッシュメモリ103への書き込みは行なわない。Next, the operation in the EX filter mode (m = 5) will be described. When the EX filter mode is designated by the user with the mode changeover switch, the above-mentioned FIG.
In the mode SW event routine of, the register m is set to 5. EX filter mode start processing MS
Although the flowchart of (5) is omitted, in the MS (5), the activation process of the DR (5) routine is performed. That is, C
The PU 101 issues an instruction to the sound I / O 112 and the DMA controller 113 to interrupt the CPU 101 at each sampling clock Fs from the Fs generator 110, and each time the DR (5) routine of FIG. The operation of writing the waveform sample to the recording buffer RBk is started. At this time, the Fs generator 110
16 interrupts the CPU 101 every sampling clock Fs, and the DP routine shown in FIG. 16 is executed each time the waveform data in the reproduction buffer is not stopped (if the sampling clock Fs is exceeded due to the EX scratch mode or the like). If the operation of executing the DP routine has stopped, the normal mode start processing M
Similar to S (0), the playback operation is restarted by MS (5)). That is, the sampling clock Fs
Each time, DP and DR (5) will be executed. In this case, since the same sampling clock Fs operates, DP and DR (5) operate in synchronization, and DP
The interrupt in step 1605 of the routine and the interrupt in step 1505 of the DR (5) routine are issued at exactly the same timing. The interrupt issued at the same timing triggers the waveform generation routine HS (5) of FIG. 12 (b). In EX filter mode, the external input is not actually recorded, so (D
The external input is taken in the R (5) routine for filtering the taken waveform data), and writing to the flash memory 103 is not performed.
【0127】上述したようにDPとDR(5)から同じ
タイミングで割り込みが発生した時点では、録音バッフ
ァRBkバーに外部入力111からの波形データが12
8サンプル(リニアサンプル)書き込まれており、かつ
再生バッファPBrバーが空き状態である。波形生成ル
ーチンHS(5)は、録音バッファRBkバーの128
個の波形サンプルに対してフィルタリング処理し、処理
結果の128個の波形サンプルを再生バッファPBrバ
ーに設定する。フィルタリングのフィルタ係数は、タイ
マ割り込みにより図9のRC取り込みルーチンRC
(5)を実行してリボンコントローラ106の検出値R
Dを取り込み、その検出値RDに応じて決定する。以上
のようにして、外部入力111に対してリボンコントロ
ーラ106によるフィルタ制御をかけて出力することが
できる。As described above, when the interrupts are generated from DP and DR (5) at the same timing, the waveform data from the external input 111 is 12 in the recording buffer RBk bar.
Eight samples (linear samples) have been written and the playback buffer PBr bar is empty. The waveform generation routine HS (5) uses 128 in the recording buffer RBk bar.
The number of waveform samples is filtered, and 128 waveform samples resulting from the processing are set in the reproduction buffer PBr bar. The filter coefficient of the filtering is the RC fetch routine RC of FIG.
Execute (5) to detect the value R detected by the ribbon controller 106.
D is taken in and determined according to the detected value RD. As described above, the filter can be controlled by the ribbon controller 106 with respect to the external input 111 and output.
【0128】次に、EXスクラッチモード(m=6)に
おける動作を説明する。モード切り替えスイッチでEX
スクラッチモードがユーザにより指定されると、上述の
図4のモードSWイベントルーチンにおいて、レジスタ
mに6が設定される。EXスクラッチモードの開始処理
MS(6)のフローチャートは省略したが、MS(6)
では、以下のような処理を行なう。まず、CPU101
からサウンドI/O112およびDMAコントローラ1
13に指令して、Fs発生器110からのサンプリング
クロックFsごとにCPU101に割り込みをかけ、そ
の都度図16のDPルーチンを実行して再生バッファP
Brの波形サンプルを再生出力する動作を停止させる。
また、CPU101からサウンドI/O112に指令し
て、A/D入力とD/A出力を直接接続し、外部入力1
11から直接サウンドシステム114へ楽音信号を流し
て放音するようにする。また、CPU101からサウン
ドI/O112およびDMAコントローラ113に指令
して、Fs発生器110からのサンプリングクロックF
sごとにCPU101に割り込みをかけ、その都度図1
5のDR(6)ルーチンを実行して、外部からの波形サ
ンプルを録音バッファSRBkに書き込む動作を開始さ
せる。なお、EXスクラッチモードでは、外部入力を実
質的に録音することはないので(DR(6)ルーチンで
外部入力を取り込むのは、取り込んだ波形データをスク
ラッチ再生に用いるためである)、フラッシュメモリ1
03への書き込みは行なわない。さらに、ステップ30
1の初期設定でタイマ割り込みを有効にしているので、
タイマ105によるタイマ割り込みで、所定時間間隔ご
とに図10のRC取り込みルーチンRC(6)が実行さ
れるようになっている。Next, the operation in the EX scratch mode (m = 6) will be described. EX with the mode switch
When the scratch mode is designated by the user, 6 is set in the register m in the mode SW event routine of FIG. 4 described above. Although the flowchart of the start processing MS (6) of the EX scratch mode is omitted, MS (6)
Then, the following processing is performed. First, the CPU 101
To Sound I / O 112 and DMA controller 1
13 is instructed to interrupt the CPU 101 at every sampling clock Fs from the Fs generator 110, and the DP routine of FIG.
The operation of reproducing and outputting the Br waveform sample is stopped.
In addition, the CPU 101 instructs the sound I / O 112 to directly connect the A / D input and the D / A output, and the external input 1
A tone signal is sent from 11 directly to the sound system 114 so as to emit a sound. Further, the CPU 101 issues an instruction to the sound I / O 112 and the DMA controller 113, and the sampling clock F from the Fs generator 110 is sent.
Interrupts the CPU 101 every s
The DR (6) routine 5 is executed to start the operation of writing the waveform sample from the outside into the recording buffer SRBk. In the EX scratch mode, the external input is not actually recorded (the external input is captured in the DR (6) routine because the captured waveform data is used for scratch reproduction).
Writing to 03 is not performed. Step 30
Since the timer interrupt is enabled in the initial setting of 1,
The timer interruption by the timer 105 causes the RC fetch routine RC (6) of FIG. 10 to be executed at predetermined time intervals.
【0129】リボンコントローラ106の操作をしない
間は、図10のRC(6)ではステップ1001→10
02→1003→エンドで処理を終えるので、外部入力
111から直接サウンドシステム114へ放音される処
理が継続される。また、サンプリングクロックFsごと
の割り込みでDR(6)ルーチンを実行しているので、
外部入力111をA/D変換したリニアな波形サンプル
が、入力FIFO経由で録音バッファSRB0,SRB
1に交互に書き込まれる。While the ribbon controller 106 is not operated, in RC (6) of FIG.
Since the process is ended in the order of 02 → 1003 → end, the process of emitting the sound directly from the external input 111 to the sound system 114 is continued. Further, since the DR (6) routine is executed by the interrupt for each sampling clock Fs,
A linear waveform sample obtained by A / D converting the external input 111 is transferred to the recording buffers SRB0 and SRB via the input FIFO.
Alternately written to 1.
【0130】リボンコントローラ106の操作が開始
(指などが触れた)されると、RC(6)ではステップ
1001→1002→1004→1005に進み、次の
ステップ1006で、CPU101からDMAコントロ
ーラ113に指示をして、サンプリングクロックFsご
とにCPU101に割り込みをかけてDR(6)ルーチ
ンを実行することを停止させるとともに、2つの録音バ
ッファSRB0,SRB1のうち現在書き込みの行なわ
れていないほうの録音バッファSRBkバーに図2
(e)で説明したようにスクラッチ領域SRを設定す
る。次に、ステップ1007で読み出しアドレスSAD
としてスクラッチポインタSPの値(所定値)をセット
する。さらに、ステップ1008で、再生バッファPB
rに始めに再生すべき128サンプルを生成し、CPU
101からDMAコントローラ113に指示をして、サ
ンプリングクロックFsごとにCPU101に割り込み
をかけてDPルーチンを実行することを再開する。さら
に、図16のDPルーチンのステップ1605で発生す
る割り込みと同じ意味の割り込みを発生させる。この割
り込みにより、HS(6)が実行され、次にスクラッチ
再生される128サンプルがPBrバーに生成される。
さらに、ステップ1008ではスクラッチ用チャンネル
の音源レジスタschにノートオンを書き込む。その
後、ステップ1009で、CPU101からの指示によ
り、サウンドI/O112のA/D入力からD/A出力
への直接接続を切り離し、外部入力111から直接サウ
ンドシステム114へ楽音信号を流して放音することを
停止する。When the operation of the ribbon controller 106 is started (touched by a finger or the like), in RC (6), the process proceeds to steps 1001 → 1002 → 1004 → 1005, and at the next step 1006, the CPU 101 instructs the DMA controller 113. Then, the CPU 101 is interrupted at every sampling clock Fs to stop the execution of the DR (6) routine, and the recording buffer SRBk which is not currently written out of the two recording buffers SRB0, SRB1. Figure 2 on the bar
The scratch area SR is set as described in (e). Next, in step 1007, the read address SAD
The value (predetermined value) of the scratch pointer SP is set as. Furthermore, in step 1008, the reproduction buffer PB
128 samples to be reproduced first in r, CPU
From 101, the DMA controller 113 is instructed to interrupt the CPU 101 at each sampling clock Fs and restart the execution of the DP routine. Further, an interrupt having the same meaning as the interrupt generated in step 1605 of the DP routine of FIG. 16 is generated. This interrupt causes HS (6) to be executed, and 128 samples to be scratch-reproduced next are generated in the PBr bar.
Further, in step 1008, note-on is written in the sound source register sch of the scratch channel. Thereafter, in step 1009, the direct connection from the A / D input to the D / A output of the sound I / O 112 is disconnected according to an instruction from the CPU 101, and a musical tone signal is directly sent from the external input 111 to the sound system 114 to emit a sound. Stop things.
【0131】さらに、リボンコントローラ106に指な
どを触れたまま移動させると、ステップ1004からス
テップ1011に進み、速度VELを検出して音源レジ
スタschに設定する。一方、サンプリングクロックF
sごとの割り込みで実行されるDPルーチンでは、引き
続き再生バッファPB0,PB1を交互に再生してい
る。したがって、リボンコントローラ106の操作が開
始された時点から音源レジスタschに基づきスクラッ
チ音の再生が開始される。特に、DPルーチンのステッ
プ1605の割り込みによって起動される図12(c)
の波形生成ルーチンHS(6)では、リボンコントロー
ラ106の操作が行なわれている間はRS=1であるの
で、ステップ1221からステップ1222に進み、図
14のEXスクラッチ処理が行なわれる。図14のEX
スクラッチ処理では、検出した速度VELに応じたFナ
ンバSFNをアドレスSADに累算して求めたアドレス
SADでスクラッチ領域SRの波形サンプルを読み出
し、再生バッファPBrバーを設定する(ステップ14
06ではチャンネル累算しているように見えるが、PB
rバーはオール0が設定されているので、実質的にはス
クラッチ再生する波形サンプルTMPがPBrバーに設
定されることになる)。以上により、外部から入力した
波形データを用いたスクラッチ再生が実現される。Furthermore, when the ribbon controller 106 is moved while touching it with a finger or the like, the process proceeds from step 1004 to step 1011 and the velocity VEL is detected and set in the tone generator register sch. On the other hand, the sampling clock F
In the DP routine executed by interruption every s, the reproduction buffers PB0 and PB1 are reproduced alternately. Therefore, the scratch sound reproduction is started based on the sound source register sch from the time when the operation of the ribbon controller 106 is started. In particular, FIG. 12 (c), which is activated by the interrupt of step 1605 of the DP routine.
In the waveform generation routine HS (6), since RS = 1 while the ribbon controller 106 is being operated, the routine proceeds from step 1221 to step 1222, and the EX scratch processing of FIG. 14 is performed. EX in FIG.
In the scratch processing, the waveform sample of the scratch area SR is read out at the address SAD obtained by accumulating the F number SFN corresponding to the detected speed VEL in the address SAD, and the reproduction buffer PBr bar is set (step 14).
In 06, it seems that channels are accumulated, but PB
Since the r bar is set to all 0s, the waveform sample TMP for scratch reproduction is set to the PBr bar. As described above, scratch reproduction using waveform data input from the outside is realized.
【0132】図18は、図14のステップ1401で行
なっている速度VELからスクラッチ用FナンバSFN
への変換の例を示す。この変換は、演算で行なってもよ
いし、テーブルを用いて変換してもよい。図18(a)
は、速度VELの値の絶対値が大きくなるほどFナンバ
SFNの変化量が大きくなるようにして、リボンコント
ローラ106の長さが短い場合でもピッチ変化が大きい
スクラッチ効果を実現できるようにした例である。FIG. 18 shows the scratch F-number SFN from the speed VEL performed in step 1401 of FIG.
An example of conversion to This conversion may be performed by calculation or may be performed using a table. FIG. 18 (a)
Is an example in which the change amount of the F number SFN is increased as the absolute value of the velocity VEL is increased, so that the scratch effect with a large pitch change can be realized even when the length of the ribbon controller 106 is short. .
【0133】なお、スクラッチ再生では聴感上正確なピ
ッチは要求されないので、必要に応じてスクラッチ用ア
ドレスSADの小数部のビット数を減らしてもよい。す
なわち、図14のステップ1403で累算したアドレス
SADの小数部のビット数を減らしてもよい。そうする
ことにより、ステップ1405で行なう補間の演算量を
減らすことができる。さらに、速度VELからスクラッ
チ用FナンバSFNへ変換する際に図18(b)のよう
なテーブルを用いて、これによりFナンバSFNにおい
て小数部のビット数を減らすことにより同様にして補間
の演算量の減少の効果を得ることもできる。Since an accurate pitch is not required in hearing in scratch reproduction, the number of bits in the decimal part of the scratch address SAD may be reduced if necessary. That is, the number of bits in the decimal part of the address SAD accumulated in step 1403 of FIG. 14 may be reduced. By doing so, the calculation amount of the interpolation performed in step 1405 can be reduced. Further, when converting from the speed VEL to the scratch F number SFN, a table as shown in FIG. 18B is used, whereby the number of bits of the decimal part in the F number SFN is reduced to similarly perform the calculation amount of interpolation. It is also possible to obtain the effect of reduction.
【0134】また、上記の例ではEXスクラッチモード
において、SRB0,SRB1の2つの録音バッファに
交互に外部入力からの波形データを格納し、リボンコン
トローラの操作開始時点で書き込みが行なわれていない
方の録音バッファにスクラッチ領域を設定するようにし
ているが、録音バッファを3つ以上設けて順番に(リン
グ状に)波形データを格納し、リボンコントローラの操
作開始時点で書き込みが行なわれていない複数の録音バ
ッファ上にスクラッチ領域を設定するようにしてもよ
い。そのようにすれば、複数の録音バッファ上にスクラ
ッチ領域を設定するので、スクラッチするのに十分な容
量のスクラッチ領域を設定することができる。また、1
つの録音バッファの容量を小さくできるので、リボンコ
ントローラの操作開始時点で書き込みの行なわれている
録音バッファ上のデータ量が少なくなり、スクラッチに
用いることがないデータ(捨て去るデータ)を少なくで
きる。Further, in the above example, in the EX scratch mode, the waveform data from the external input is alternately stored in the two recording buffers SRB0 and SRB1 and the writing is not performed at the start of the operation of the ribbon controller. Although the scratch area is set in the recording buffer, three or more recording buffers are provided to store the waveform data in order (in a ring shape), and a plurality of unwritten data are not written at the start of the operation of the ribbon controller. A scratch area may be set on the recording buffer. By doing so, the scratch areas are set on the plurality of recording buffers, so that it is possible to set the scratch area having a sufficient capacity for scratching. Also, 1
Since the capacity of one recording buffer can be reduced, the amount of data in the recording buffer that is being written at the start of operation of the ribbon controller is reduced, and the data that is not used for scratch (data to be discarded) can be reduced.
【0135】なお図17(a)では、パッドオンの検出
区間、CPUによる波形生成の区間、およびDMACの
DPルーチンの実行区間の各区間先頭時点を完全に一致
させて図示しているが、必ずしも一致させる必要はな
く、各区間はずれていてもよい。図17(b)の録音時
タイミングも同様である。17A, the pad-on detection section, the waveform generation section by the CPU, and the start time of each section of the DP routine execution section of the DMAC are shown to be completely coincident, but they are not necessarily coincident. It is not necessary to do so, and each section may be deviated. The same applies to the recording timing of FIG.
【0136】また図17(a)では、DPルーチンで一
方の再生バッファのサンプルを再生し終えた時点でCP
Uによる波形生成を行なうようにしているが、再生バッ
ファ中で再生していないサンプル数を検出し、その数が
所定数以下になったら、空き部分に新たなサンプルを生
成するようにしてもよい。したがって、サンプルの再生
と生成のタイミングを調整しさえすれば、再生バッファ
は1つでもよいし、3つ以上の複数でもよい。Further, in FIG. 17A, when the DP routine finishes reproducing a sample in one reproduction buffer, CP is executed.
Although the waveform is generated by U, the number of samples not reproduced in the reproduction buffer may be detected, and when the number becomes less than a predetermined number, a new sample may be generated in the empty portion. . Therefore, the number of reproduction buffers may be one or may be three or more as long as the timings of reproduction and generation of samples are adjusted.
【0137】[0137]
【発明の効果】以上説明したように、この発明によれ
ば、記憶手段からディジタルデータである波形データを
読み出して再生する楽音発生装置において、座標検出操
作子を備え、該座標検出操作子で検出した座標値に基づ
いて決定した読み出しアドレスにより波形データを順次
読み出して出力するようにしているので、従来アナログ
レコードでしか行なうことができなかったスクラッチ効
果をディジタル機器で自然な操作感で行なうことができ
る。As described above, according to the present invention, a musical tone generating apparatus for reading out waveform data, which is digital data, from the storage means and reproducing the waveform data is provided with a coordinate detecting operator and is detected by the coordinate detecting operator. Since the waveform data is sequentially read and output according to the read address determined based on the coordinate values, it is possible to perform the scratch effect, which was previously possible only with analog records, with a natural operation feeling on digital devices. it can.
【0138】特に、請求項1、3の楽音発生装置では、
座標検出操作子の操作が開始された時点で、読み出し開
始位置としてあらかじめ定められている特定アドレスか
ら波形データの読み出しを開始しているので、座標検出
操作子のどの位置から操作開始しても、常に特定のアド
レスから波形データの再生が行なわれるようになる。ア
ナログレコードを用いたスクラッチではリズムに合わせ
てレコード盤の特定位置が繰り返し再生されるように操
作するが、本発明によれば、それと同じような効果が容
易に得られる。Particularly, in the musical tone generating apparatus of claims 1 and 3,
At the time when the operation of the coordinate detection operator is started, the waveform data is read from a specific address that is predetermined as the read start position, so even if the operation is started from any position of the coordinate detection operator, The waveform data is always reproduced from a specific address. In a scratch using an analog record, the operation is performed such that a specific position on the record board is repeatedly reproduced in accordance with the rhythm, but according to the present invention, the same effect as that can be easily obtained.
【0139】また、請求項2、3、5の楽音発生装置で
は、座標検出操作子で検出される座標から速度を求め、
速度に応じて決定したFナンバをアドレスに累算して波
形データの読み出しアドレスを作成している。したがっ
て、有限長の座標操作子でFナンバの変化領域を幅広く
とることができ、幅広いスクラッチ効果の制御が可能と
なる。Further, in the tone generating device of the second, third, and fifth aspects, the velocity is obtained from the coordinates detected by the coordinate detecting operator,
The F number determined according to the speed is accumulated in the address to create the read address of the waveform data. Therefore, it is possible to set a wide F-number change region with the coordinate operator having a finite length, and it is possible to control a wide range of scratch effects.
【0140】さらに、請求項4、5の楽音発生装置で
は、リアルタイムに入力する楽音波形に対してスクラッ
チ効果をかけることができる。演奏者は、再生されてい
る楽曲の気に入った位置でスクラッチを行なうことがで
きる。Further, in the tone generating device of the fourth and fifth aspects, the scratch effect can be applied to the tone waveform input in real time. The performer can scratch at the favorite position of the music being played.
【図1】この発明に係る楽音発生装置であるサンプラー
のブロック構成図FIG. 1 is a block diagram of a sampler which is a musical sound generating device according to the present invention.
【図2】図1のサンプラーにおける各種のワーク領域を
示す図FIG. 2 is a diagram showing various work areas in the sampler of FIG.
【図3】定常ルーチンのフローチャート図FIG. 3 is a flowchart of a routine routine
【図4】モードSWイベントルーチンのフローチャート
図FIG. 4 is a flowchart of a mode SW event routine.
【図5】サンプリングモード開始処理MS(1)のフロ
ーチャート図FIG. 5 is a flowchart of a sampling mode start process MS (1).
【図6】スクラッチ再生モード開始処理MS(4)のフ
ローチャート図FIG. 6 is a flowchart of scratch reproduction mode start processing MS (4).
【図7】パッドオンイベントルーチン(モードm=0,
2,4)のフローチャート図FIG. 7 is a pad-on event routine (mode m = 0,
2, 4) Flowchart diagram
【図8】パッドオンイベントルーチン(モードm=3)
のフローチャート図FIG. 8 is a pad-on event routine (mode m = 3).
Flow chart diagram
【図9】リボンコントローラ検出値取り込みルーチンR
C(m)(m=2,5)のフローチャート図FIG. 9: Ribbon controller detection value fetch routine R
Flow chart of C (m) (m = 2,5)
【図10】リボンコントローラ検出値取り込みルーチン
RC(m)(m=4,6)のフローチャート図FIG. 10 is a flowchart of a ribbon controller detection value fetch routine RC (m) (m = 4, 6).
【図11】波形生成ルーチンHS(m)(モードm=
0,2,3)のフローチャート図FIG. 11 is a waveform generation routine HS (m) (mode m =
0, 2, 3) flow chart
【図12】波形生成ルーチンHS(m)(モードm=
4,5,6)のフローチャート図FIG. 12 is a waveform generation routine HS (m) (mode m =
4, 5, 6) flow chart
【図13】サブルーチンノーマルnおよびピッチ2のフ
ローチャート図FIG. 13 is a flowchart of subroutine normal n and pitch 2.
【図14】スクラッチ処理、およびEXスクラッチ処理
のフローチャート図FIG. 14 is a flowchart of scratch processing and EX scratch processing.
【図15】DR(m)ルーチン(モードm=1,5,
6)のフローチャート図FIG. 15 is a DR (m) routine (modes m = 1, 5,
6) Flow chart diagram
【図16】DPルーチンのフローチャート図FIG. 16 is a flowchart of a DP routine.
【図17】再生時および録音時のタイミングを示す図FIG. 17 is a diagram showing timings during playback and recording.
【図18】速度VELからスクラッチ用FナンバSFN
ヘの変換例を示す図FIG. 18: Speed VEL to scratch F number SFN
Figure showing conversion example
101…中央処理装置(CPU)、102…リードオン
リーメモリ(ROM)、103…フラッシュメモリ、1
04…ランダムアクセスメモリ(RAM)、105…タ
イマ、106…リボンコントローラ、107…パッド、
108…ディスプレイ、109…パネルスイッチ、11
0…サンプリングクロック(Fs)発生器、111…外
部入力、112…サウンドI/O、113…DMA(ダ
イレクトメモリアクセス)コントローラ、114…サウ
ンドシステム、115…バスライン。101 ... Central processing unit (CPU), 102 ... Read only memory (ROM), 103 ... Flash memory, 1
04 ... Random access memory (RAM), 105 ... Timer, 106 ... Ribbon controller, 107 ... Pad,
108 ... Display, 109 ... Panel switch, 11
0 ... Sampling clock (Fs) generator, 111 ... External input, 112 ... Sound I / O, 113 ... DMA (Direct Memory Access) controller, 114 ... Sound system, 115 ... Bus line.
Claims (5)
表す波形データを格納した記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込む操作子出力取り込み手段と、 前記座標検出操作子の操作が開始された時点で、読み出
し開始位置としてあらかじめ定められている特定アドレ
スから前記記憶手段の波形データの読み出しを開始し、
前記座標検出操作子が操作されている間前記操作子出力
取り込み手段によって取り込まれる座標値に基づいて決
定した読み出しアドレスにより、前記記憶手段の波形デ
ータを順次読み出し、読み出した波形データを出力する
処理手段とを備えたことを特徴とする楽音発生装置。1. A storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period, and a finite length coordinate detection operator for outputting coordinate values of a contact position touched by a finger, a rod or other member. A manipulator output fetching means for sequentially fetching coordinate values output from the coordinate detection manipulator at predetermined intervals, and a specific address predetermined as a reading start position at the time when the operation of the coordinate sensing manipulator is started. To start reading the waveform data from the storage means,
A processing unit that sequentially reads the waveform data of the storage unit and outputs the read waveform data by a read address determined based on the coordinate value captured by the operator output capturing unit while the coordinate detection operator is operated. And a musical tone generating device.
表す波形データを格納した記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込み、取り込んだ座標値から前記接触位置
の移動速度を求めて出力する操作子出力取り込み手段
と、 前記操作子出力取り込み手段から出力される移動速度に
応じて決定したFナンバを読み出しアドレスに累算して
新たな読み出しアドレスを算出し、累算ごとに該読み出
しアドレスにより前記記憶手段から波形データを読み出
して出力する処理手段とを備えたことを特徴とする楽音
発生装置。2. A storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period, and a coordinate detection operator of finite length for outputting coordinate values of a contact position touched by a finger, a rod or other member. Coordinate values output from the coordinate detection manipulator are sequentially fetched at predetermined intervals, and manipulator output fetching means for obtaining and outputting the moving speed of the contact position from the fetched coordinate values, and output from the manipulator output fetching means The F number determined according to the moving speed is accumulated in the read address to calculate a new read address, and the processing means for reading and outputting the waveform data from the storage means by the read address for each accumulation. A musical tone generating device characterized by being provided.
表す波形データを格納した記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込み、取り込んだ座標値から前記接触位置
の移動速度を求めて出力する操作子出力取り込み手段
と、 前記座標検出操作子の操作が開始された時点で、読み出
し開始位置としてあらかじめ定められている特定の読み
出しアドレスから前記記憶手段の波形データの読み出し
を開始し、前記座標検出操作子が操作されている間は、
前記操作子出力取り込み手段から出力される移動速度に
応じて決定したFナンバを読み出しアドレスに累算して
新たな読み出しアドレスを算出し、該読み出しアドレス
により前記記憶手段から波形データを読み出して出力す
る処理手段とを備えたことを特徴とする楽音発生装置。3. Storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period, and a coordinate detection operator of finite length for outputting coordinate values of a contact position touched by a finger, a rod or other member. The coordinate value output from the coordinate detection manipulator is sequentially taken in every predetermined cycle, and the manipulator output fetching means for obtaining and outputting the moving speed of the contact position from the fetched coordinate value, and the operation of the coordinate detection manipulator At the time of starting, the reading of the waveform data of the storage means is started from a specific read address which is predetermined as a read start position, and while the coordinate detection operator is operated,
A new read address is calculated by accumulating the F number determined according to the moving speed output from the manipulator output fetching means into a read address, and the waveform data is read out from the storage means and output based on the read address. A musical tone generating apparatus comprising: a processing means.
タを記憶するための記憶手段と、 外部からリアルタイムに入力した波形データをそのまま
出力する出力手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込む操作子出力取り込み手段と、 前記座標検出操作子の操作が開始された時点で前記出力
手段による波形データの出力および前記記憶手段への波
形データの記憶を停止し、前記操作子出力取り込み手段
によって取り込まれる座標値に基づいて決定した読み出
しアドレスにより、前記記憶手段の波形データを順次読
み出し、読み出した波形データを出力する処理手段とを
備えたことを特徴とする楽音発生装置。4. Storage means for storing waveform data input in real time from the outside, output means for outputting waveform data input in real time from the outside, and contact positions touched by a finger, a stick or other member. A coordinate detection operator having a finite length for outputting coordinate values, an operator output fetching means for sequentially fetching coordinate values output from the coordinate detection operator at predetermined intervals, and an operation of the coordinate detection operator is started. At this point, the output of the waveform data by the output means and the storage of the waveform data in the storage means are stopped, and the waveform data of the storage means is determined by the read address determined based on the coordinate value captured by the manipulator output capturing means. And a processing means for outputting the read waveform data.
表す波形データを外部からリアルタイムに入力する入力
手段と、 前記入力手段によりリアルタイムに入力した波形データ
を、そのままリアルタイムに出力して再生する再生手段
と、 前記入力手段によりリアルタイムに入力した波形データ
のうち、常に所定容量の最新の波形データを格納するよ
うにした記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込み、取り込んだ座標値から前記接触位置
の移動速度を求めて出力する操作子出力取り込み手段
と、 前記座標検出操作子の操作が開始された時点で、前記再
生手段による波形データのリアルタイムな再生および前
記記憶手段への新たな波形データの記憶を停止するとと
もに、読み出し開始位置としてあらかじめ定められてい
る特定の読み出しアドレスから前記記憶手段の波形デー
タの読み出しを開始し、前記座標検出操作子が操作され
ている間は、前記操作子出力取り込み手段から出力され
る移動速度に応じて決定したFナンバを読み出しアドレ
スに累算して新たな読み出しアドレスを算出し、該読み
出しアドレスにより前記記憶手段から波形データを読み
出して出力する処理手段とを備えたことを特徴とする楽
音発生装置。5. Input means for externally inputting in real time waveform data representing a waveform amplitude value for each predetermined sampling period, and reproducing means for outputting the waveform data input by the input means in real time as it is in real time for reproduction. And a storage means for always storing the latest waveform data of a predetermined capacity out of the waveform data input in real time by the input means, and a coordinate value of a contact position touched by a finger, a rod or other member. A coordinate detection operator having a finite length, and operator output fetching means for sequentially fetching coordinate values output from the coordinate sensing operator at predetermined intervals and obtaining and outputting the moving speed of the contact position from the fetched coordinate values; , When the operation of the coordinate detection operator is started, the waveform data is reproduced by the reproducing means in real time and before. The storage of the new waveform data in the storage means is stopped, the reading of the waveform data of the storage means is started from a specific read address predetermined as a read start position, and the coordinate detection operator is operated. During this period, a new read address is calculated by accumulating the F number determined according to the moving speed output from the manipulator output fetching means into the read address, and the waveform data is stored from the storage means by the read address. A musical tone generating apparatus comprising a processing unit for reading and outputting.
Priority Applications (9)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7266252A JP2933204B2 (en) | 1995-09-20 | 1995-09-20 | Tone generator capable of scratch operation |
| SG1996010726A SG47179A1 (en) | 1995-09-20 | 1996-09-18 | Computerized music apparatus processing waveform to create sound effect |
| US08/716,552 US6025552A (en) | 1995-09-20 | 1996-09-18 | Computerized music apparatus processing waveform to create sound effect, a method of operating such an apparatus, and a machine-readable media |
| EP96115054A EP0764934B1 (en) | 1995-09-20 | 1996-09-19 | Computerized music apparatus processing waveform to create sound effect |
| EP00102932A EP1018724B1 (en) | 1995-09-20 | 1996-09-19 | Computerized music apparatus processing waveform to create sound effect |
| DE69632696T DE69632696T2 (en) | 1995-09-20 | 1996-09-19 | Digital musical instrument with waveform processing to create a sound effect |
| DE69613068T DE69613068T2 (en) | 1995-09-20 | 1996-09-19 | Digital musical instrument with waveform processing to create a sound effect |
| KR1019960041264A KR100386404B1 (en) | 1995-09-20 | 1996-09-20 | Computer instruments that process waveforms to produce sound effects, how these devices operate, and machine-readable media |
| HK98111661.8A HK1010763B (en) | 1995-09-20 | 1998-10-30 | Computerized music apparatus processing waveform to create sound effect |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7266252A JP2933204B2 (en) | 1995-09-20 | 1995-09-20 | Tone generator capable of scratch operation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0990958A true JPH0990958A (en) | 1997-04-04 |
| JP2933204B2 JP2933204B2 (en) | 1999-08-09 |
Family
ID=17428400
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7266252A Expired - Fee Related JP2933204B2 (en) | 1995-09-20 | 1995-09-20 | Tone generator capable of scratch operation |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2933204B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9443499B2 (en) | 2014-09-22 | 2016-09-13 | Casio Computer Co., Ltd. | Musical sound control apparatus, musical sound control method, program storage medium and electronic musical instrument |
-
1995
- 1995-09-20 JP JP7266252A patent/JP2933204B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9443499B2 (en) | 2014-09-22 | 2016-09-13 | Casio Computer Co., Ltd. | Musical sound control apparatus, musical sound control method, program storage medium and electronic musical instrument |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2933204B2 (en) | 1999-08-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6025552A (en) | Computerized music apparatus processing waveform to create sound effect, a method of operating such an apparatus, and a machine-readable media | |
| JPH06308964A (en) | Musical tone forming device | |
| JPH11126070A (en) | Musical sound generating method | |
| JPH0631986B2 (en) | Musical sound generator | |
| JP3224002B2 (en) | Musical tone generation method and waveform storage method | |
| JPH1020860A (en) | Musical tone generator | |
| JP2956550B2 (en) | Music sound generating apparatus and music sound generating method | |
| JPH0990958A (en) | Musical sound generating device capable of scratch operation | |
| JP3637577B2 (en) | Music generation method | |
| JP4170525B2 (en) | Waveform readout device | |
| JPH08335075A (en) | Music system, sound source, and musical sound compositing method | |
| JP2798077B2 (en) | Sound source device for electronic musical instruments | |
| JP3799711B2 (en) | Musical sound generation method and musical sound generator | |
| JP3723973B2 (en) | Sound generator | |
| JP3832383B2 (en) | Musical sound generating apparatus and program | |
| JP3518357B2 (en) | Music generating method, musical sound generating apparatus and computer readable recording medium storing musical sound generating processing program | |
| JP3740717B2 (en) | Tone generator and musical sound generation method | |
| JP2641851B2 (en) | Automatic performance device | |
| JP3178176B2 (en) | Automatic accompaniment device | |
| JP3257400B2 (en) | Effect device | |
| JP3293049B2 (en) | Music control device | |
| JP3279122B2 (en) | Tempo control device | |
| JP3235557B2 (en) | Waveform reproducing device, waveform recording / reproducing device, waveform output circuit, waveform input / output circuit, waveform reproducing method, and waveform recording / reproducing method | |
| JP3148803B2 (en) | Sound source device | |
| JP5549838B2 (en) | Playback apparatus and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 12 |
|
| LAPS | Cancellation because of no payment of annual fees |