JP2933204B2 - Tone generator capable of scratch operation - Google Patents
Tone generator capable of scratch operationInfo
- Publication number
- JP2933204B2 JP2933204B2 JP7266252A JP26625295A JP2933204B2 JP 2933204 B2 JP2933204 B2 JP 2933204B2 JP 7266252 A JP7266252 A JP 7266252A JP 26625295 A JP26625295 A JP 26625295A JP 2933204 B2 JP2933204 B2 JP 2933204B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- output
- waveform
- mode
- reproduction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000005070 sampling Methods 0.000 claims description 76
- 238000001514 detection method Methods 0.000 claims description 64
- 238000009825 accumulation Methods 0.000 claims description 7
- 239000000872 buffer Substances 0.000 description 141
- 238000000034 method Methods 0.000 description 123
- 230000008569 process Effects 0.000 description 109
- 230000008859 change Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008929 regeneration Effects 0.000 description 9
- 238000011069 regeneration method Methods 0.000 description 9
- 108091005487 SCARB1 Proteins 0.000 description 8
- 102100037118 Scavenger receptor class B member 1 Human genes 0.000 description 8
- 238000001914 filtration Methods 0.000 description 6
- 238000006748 scratching Methods 0.000 description 6
- 230000002393 scratching effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 239000013256 coordination polymer Substances 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 3
- 230000004044 response Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 101100326509 Catharanthus roseus CYP76B6 gene Proteins 0.000 description 2
- 101100326510 Swertia mussotii CYP76B10 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 230000001960 triggered effect 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)
Description
【0001】[0001]
【発明の属する技術分野】この発明は、ディジタルメモ
リに格納された波形データを読み出して再生し、あるい
はリアルタイムに入力する波形データをそのまま出力し
て再生する楽音発生装置に関し、特に、擬似的にスクラ
ッチ効果を実現することのできる楽音発生装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tone generator for reading and reproducing waveform data stored in a digital memory, or outputting and reproducing waveform data input in real time as it is, and more particularly to a pseudo-scratch device. The present invention relates to a tone generator capable of achieving an effect.
【0002】[0002]
【従来の技術】スクラッチとは、アナログレコードをタ
ーンテーブル上で再生中にそのレコードを手で強制的に
動かして再生速度を極端に変化させ特殊な効果音を生み
出す技法のことである。スクラッチは、アナログレコー
ドを用いた特殊な技法であって、従来、ディジタル楽音
機器でスクラッチ効果を実現するものはなかった。2. Description of the Related Art Scratch is a technique in which an analog record is forcibly moved by hand while the analog record is being reproduced on a turntable, and the reproduction speed is extremely changed to produce a special sound effect. Scratch is a special technique using an analog record, and there has been no digital music device that realizes the scratch effect.
【0003】一方、波形メモリに波形データを記憶して
おき、ユーザが操作する操作子の出力をそのまま波形メ
モリの読み出しアドレスとして使用し、読み出した波形
データを出力する音源があった。On the other hand, there has been a sound source that stores waveform data in a waveform memory, uses the output of an operator operated by a user 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 operator is used as the read address of the waveform memory as it is, the controllability of the generated musical tone is not good. No effect could be obtained. Further, in some cases, reverse playback from an arbitrary position cannot be performed due to hardware limitations, and discontinuity occurs in the playback sound when heading in the reverse direction.
【0005】この発明は、ディジタルメモリに格納され
た波形データを読み出して再生し、あるいはリアルタイ
ムに入力する波形データをそのまま出力して再生する楽
音発生方式において、擬似的にスクラッチ効果を実現す
ることができるようにすることを目的とする。According to the present invention, a pseudo-scratch effect can be realized in a tone generation system in which waveform data stored in a digital memory is read and reproduced, or waveform data input in real time is output and reproduced as it is. The purpose is to be able to.
【0006】[0006]
【課題を解決するための手段】この目的を達成するた
め、この発明の請求項1に係る楽音発生装置は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段と、指や棒その他の部材で触れた接触位
置の座標値を出力する有限長の座標検出操作子と、前記
座標検出操作子から出力される座標値を所定周期ごとに
順次取り込む操作子出力取り込み手段と、前記座標検出
操作子の操作が開始された時点で、読み出し開始位置と
してあらかじめ定められている特定アドレスから前記記
憶手段の波形データの読み出しを開始し、前記座標検出
操作子が操作されている間前記操作子出力取り込み手段
によって取り込まれる座標値に基づいて決定した読み出
しアドレスにより、前記記憶手段の波形データを順次読
み出し、読み出した波形データを出力する処理手段とを
備えたことを特徴とする。In order to achieve this object, a musical sound generating apparatus according to a first aspect of the present invention comprises a storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period; A finite-length coordinate detection operator that outputs a coordinate value of a contact position touched by a stick or another member, an operator output capture unit that sequentially captures a coordinate value output from the coordinate detection operator at predetermined intervals, and At the time when the operation of the coordinate detection operator is started, the reading of the waveform data from the storage means is started from a specific address which is predetermined as a read start position, and the operation is performed while the coordinate detection operator is being operated. The waveform data in the storage unit is sequentially read and read by the read address determined based on the coordinate value captured by the slave output capture unit. Characterized by comprising a processing means for outputting the shape data.
【0007】請求項2に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格納
した記憶手段と、指や棒その他の部材で触れた接触位置
の座標値を出力する有限長の座標検出操作子と、前記座
標検出操作子から出力される座標値を所定周期ごとに順
次取り込み、取り込んだ座標値から前記接触位置の移動
速度を求めて出力する操作子出力取り込み手段と、前記
操作子出力取り込み手段から出力される移動速度に応じ
て決定したFナンバを読み出しアドレスに累算して新た
な読み出しアドレスを算出し、累算ごとに該読み出しア
ドレスにより前記記憶手段から波形データを読み出して
出力する処理手段とを備えたことを特徴とする。Fナン
バとは、ピッチに対応した読み出しアドレスの変化量を
言う。According to a second aspect of the present invention, there is provided a musical sound generating apparatus for storing waveform data representing a waveform amplitude value for each predetermined sampling period, and outputting a coordinate value of a contact position touched by a finger, a stick, or another member. A long coordinate detection operator, an operator output capture unit that sequentially captures the coordinate values output from the coordinate detection operator at predetermined intervals, obtains and outputs the moving speed of the contact position from the captured coordinate values, and A new read address is calculated by accumulating the F number determined according to the moving speed output from the operator output capture means to the read address, and the waveform data is stored from the storage means by the read address for each accumulation. Processing means for reading and outputting. The F number refers to the amount of change in the read address corresponding to the pitch.
【0008】請求項3に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格納
した記憶手段と、指や棒その他の部材で触れた接触位置
の座標値を出力する有限長の座標検出操作子と、前記座
標検出操作子から出力される座標値を所定周期ごとに順
次取り込み、取り込んだ座標値から前記接触位置の移動
速度を求めて出力する操作子出力取り込み手段と、前記
座標検出操作子の操作が開始された時点で、読み出し開
始位置としてあらかじめ定められている特定の読み出し
アドレスから前記記憶手段の波形データの読み出しを開
始し、前記座標検出操作子が操作されている間は、前記
操作子出力取り込み手段から出力される移動速度に応じ
て決定したFナンバを読み出しアドレスに累算して新た
な読み出しアドレスを算出し、該読み出しアドレスによ
り前記記憶手段から波形データを読み出して出力する処
理手段とを備えたことを特徴とする。According to a third aspect of the present invention, there is provided a musical tone generating apparatus for storing a waveform data representing a waveform amplitude value for each predetermined sampling period, and outputting a coordinate value of a contact position touched by a finger, a stick or another member. A long coordinate detection operator, an operator output capture unit that sequentially captures the coordinate values output from the coordinate detection operator at predetermined intervals, obtains and outputs the moving speed of the contact position from the captured coordinate values, and At the time when the operation of the coordinate detection operator is started, reading of the waveform data from the storage means is started from a specific read address which is predetermined as a read start position, and the coordinate detection operator is operated. In the meantime, the F number determined according to the moving speed output from the operator output capturing means is accumulated in the read address and a new read address is obtained. 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に係る楽音発生装置は、外部から
リアルタイムに入力した波形データを記憶するための記
憶手段と、外部からリアルタイムに入力した波形データ
をそのまま出力する出力手段と、指や棒その他の部材で
触れた接触位置の座標値を出力する有限長の座標検出操
作子と、前記座標検出操作子から出力される座標値を所
定周期ごとに順次取り込む操作子出力取り込み手段と、
前記座標検出操作子の操作が開始された時点で前記出力
手段による波形データの出力および前記記憶手段への波
形データの記憶を停止し、前記操作子出力取り込み手段
によって取り込まれる座標値に基づいて決定した読み出
しアドレスにより、前記記憶手段の波形データを順次読
み出し、読み出した波形データを出力する処理手段とを
備えたことを特徴とする。According to a fourth aspect of the present invention, there is provided a musical tone generating apparatus for storing a waveform data inputted from outside in real time, an output means for outputting the waveform data inputted from outside in real time, a finger, a stick or the like. A coordinate detection operator of a finite length that outputs the coordinate value of the contact position touched by the member, and an operator output capturing unit that sequentially captures the coordinate value output from the coordinate detection operator at predetermined intervals,
At the time when the operation of the coordinate detection operator is started, the output of the waveform data by the output unit and the storage of the waveform data in the storage unit are stopped, and the determination is made based on the coordinate value captured by the operator output capture unit. Processing means for sequentially reading out the waveform data from the storage means in accordance with the read-out address and outputting the read-out waveform data.
【0010】請求項5に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを外部
からリアルタイムに入力する入力手段と、前記入力手段
によりリアルタイムに入力した波形データを、そのまま
リアルタイムに出力して再生する再生手段と、前記入力
手段によりリアルタイムに入力した波形データのうち、
常に所定容量の最新の波形データを格納するようにした
記憶手段と、指や棒その他の部材で触れた接触位置の座
標値を出力する有限長の座標検出操作子と、前記座標検
出操作子から出力される座標値を所定周期ごとに順次取
り込み、取り込んだ座標値から前記接触位置の移動速度
を求めて出力する操作子出力取り込み手段と、前記座標
検出操作子の操作が開始された時点で、前記再生手段に
よる波形データのリアルタイムな再生および前記記憶手
段への新たな波形データの記憶を停止するとともに、読
み出し開始位置としてあらかじめ定められている特定の
読み出しアドレスから前記記憶手段の波形データの読み
出しを開始し、前記座標検出操作子が操作されている間
は、前記操作子出力取り込み手段から出力される移動速
度に応じて決定したFナンバを読み出しアドレスに累算
して新たな読み出しアドレスを算出し、該読み出しアド
レスにより前記記憶手段から波形データを読み出して出
力する処理手段とを備えたことを特徴とする。請求項6
に係る発明は、請求項1〜3において、前記処理手段が
前記座標検出操作子のみに基づいて前記記憶手段の読み
出しアドレスを決定するものであることを特徴とする。
請求項7に係る発明は、請求項1〜3において、前記処
理手段が、前記座標検出操作子の操作位置が変更されな
かった場合、楽音を発生しないものであることを特徴と
する。 According to a fifth aspect of the present invention, there is provided a musical sound generating apparatus comprising: input means for inputting in real time waveform data representing a waveform amplitude value for each predetermined sampling period; Reproducing means for outputting and reproducing the waveform data from among the waveform data input in real time by the input means;
A storage unit that always stores the latest waveform data of a predetermined capacity, a finite-length coordinate detection operator that outputs a coordinate value of a contact position touched by a finger, a stick, or another member, and the coordinate detection operator. An operator output capturing means for sequentially capturing the output coordinate values at predetermined intervals, obtaining and outputting the moving speed of the contact position from the captured coordinate values, and at the time when the operation of the coordinate detection operator is started, While stopping the real-time reproduction of the waveform data by the reproduction means and the storage of new waveform data in the storage means, reading the waveform data from the storage means from a specific read address which is predetermined as a read start position. Start and while the coordinate detection operator is being operated, it is determined according to the moving speed output from the operator output capturing 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. Claim 6
According to the invention according to claims 1 to 3, the processing means
Reading of the storage means based on only the coordinate detection operator
The transmission address is determined.
The invention according to claim 7 is the invention according to claims 1 to 3, wherein
Control means does not change the operation position of the coordinate detection operator.
Is that it does not generate musical sounds
I do.
【0011】[0011]
【発明の実施の形態】以下、図面を用いてこの発明の実
施の形態を説明する。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 shows a block diagram of a sampler which is a musical sound generator according to the present invention. The 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 entire operation of the sampler. The ROM 102 stores a 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 the sampler.
The recorded waveform data is temporarily stored in a recording buffer on the RAM 104. When the recording buffer becomes full, the waveform data on the recording buffer is transferred to the flash memory 103. Even when the power of the 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 causing the CPU 101 to generate a timer interrupt at predetermined intervals. CPU1 is interrupted by a timer interrupt.
01 is the ribbon controller 106 at predetermined time intervals.
For example, a process for taking in the detected value 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 operator which is formed of a member having a finite length on a straight line, and outputs coordinates of the touched position when the member is touched by a member such as a finger or a stick. As a characteristic of the ribbon controller 106, the operation can be started from an arbitrary position. Ribbon controller 106
Outputs a predetermined value when not touched by a finger or a stick, and outputs a position of the touched coordinate when touched. Can be determined from the detected value.
【0016】パッド107は、ユーザが発音を支持する
ための操作子である。具体的には、10個のパッドが設
けられており、録音(サンプリング)時に一つのパッド
を指定して録音することができる。再生時にはそのパッ
ドをたたく(オン)ことにより、そのパッドに対応して
録音されていた波形データが読み出されて再生される。
なお、パッドをオンする代わりに、MIDI(Musical
Instrument Digital Interface)信号のノートオンを受
信して再生を行なうようにしてもよい。The pad 107 is an operator for the user to support sound generation. Specifically, ten pads are provided, and one pad can be designated for recording at the time of recording (sampling). At the time of reproduction, by hitting (turning on) the pad, the waveform data recorded corresponding to the pad is read and reproduced.
Instead of turning on the pad, MIDI (Musical
An instrument digital interface (Note) signal may be received and played back.
【0017】ディスプレイ108は、各種の設定情報を
表示するためのものである。パネルスイッチ(SW)1
09は、ユーザが各種の設定操作を行なうためのパネル
上に設けられたスイッチ群である。パネルSW109
は、モード切り替えスイッチなどのスイッチを含む。The display 108 is for displaying various setting information. Panel switch (SW) 1
Reference numeral 09 denotes a switch group provided on a panel for the user to perform various setting operations. Panel SW109
Includes a switch such as a mode changeover 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 has 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 tone signal from the external input 111 is input to a D input terminal, and a sound system 114 is input to a D / A output terminal.
Is connected. The sound I / O 112 converts waveform data (waveform data obtained by converting an analog tone signal of the external input 111 into digital data by an A / D conversion function) taken from an A / D input terminal by an ADPCM (adaptive differential pulse code modulation) method. Compression function, and waveform data (D / A conversion and sound system 11 output to the D / A output terminal)
ADPC for digital waveform data output to 4)
It has a function to perform M expansion. In the embodiment of the present invention described here, the sound I / O 112 uses A
Assume that only DPCM compression is performed, and ADPCM expansion 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
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で詳しく説明する。A sound I / O 112 from an external input 111
The analog tone signal input to the A / D input terminal is A / D-converted according to a sampling clock having a frequency Fs, and is written to an input FIFO (ADPCM-compressed as necessary or as it is). If the input FIFO contains waveform data, the sound I / O 112
A request to process the input waveform data is issued to the MA controller 113. The DMA controller 113 stores the data of the input FIFO in 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 transfer of data by 3 is performed by the DMA controller 113 securing the bus line 115 by interrupting the CPU 101 every sampling clock Fs. CPU1
01 is the bus line 1 by the DMA controller 113
I do not have to worry about securing 15. The process of transferring the waveform data during the 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
14 and the sound is emitted. When the waveform data of the output FIFO is output, the output FIFO has an empty space, so that the sound I / O 112 issues a request for obtaining the waveform data to the DMA controller 113. The CPU 101 generates waveform data to be output in advance and stores the waveform data in a reproduction buffer on the RAM 104, and issues a reproduction request of the waveform to the DMA controller 113. The DMA controller 113 controls the CPU 1 every sampling clock Fs.
01, the bus line 115 is secured, and R
The waveform data in the playback buffer on the AM 104
/ O112 to the output FIFO. The transfer of the waveform data by the DMA controller 113 is performed by the CPU 10.
No one is conscious. The waveform data written in the output FIFO is, as described above, the sampling clock F.
It is sent to the sound system 114 every s and is 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 has an A / D
A function is provided in which the waveform data input to the input terminal is passed directly to the D / A output terminal, and the tone signal from the external input 111 is output as it is by the sound system 114. The connection between the A / D input and the D / A output is CP
This is performed based on an instruction from U101. Also CPU
The 101 can also disconnect the connection between 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: a normal mode, a sampling mode, a filter reproduction mode, a reproduction mode with a pitch, a scratch reproduction mode, an external input (EX) filter mode, and an external input (EX) scratch mode.
It has two operation modes. These modes are in panel S
It can be switched by the mode 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 sounds. The initial state of this sampler is the normal mode. In normal mode, the user
Tap one of the pads 107 (pad on)
Then, the waveform data recorded corresponding to the pad is reproduced. In the normal mode, up to four sounds can be reproduced. That is, up to four pads, the waveform data recorded corresponding to each pad is reproduced every time the pad is turned on, and when the fifth pad is turned on, the reproduction sound corresponding to the first turned on pad is stopped, 5 newly turned on
The waveform data corresponding to the third pad is reproduced.
【0026】サンプリングモードは録音を行なうモード
である。モード切り替えスイッチによりサンプリングモ
ードを指定したとき、ユーザは同時に録音を行なうパッ
ドを指定する。これにより、外部から入力する楽音をそ
のパッドに対応して録音することができる。The sampling mode is a mode for performing recording. When the sampling mode is designated by the mode changeover switch, the user designates a pad for simultaneous recording. Thus, a musical tone input from the outside can be recorded corresponding to the pad.
【0027】フィルタ再生モードでは、2音だけノーマ
ルモードと同様にパッドオンにしたがって再生される。
さらに、その再生音に対しディジタルフィルタ処理、具
体的にはローパスフィルタ処理を施す。ユーザは、リボ
ンコントローラ106を操作することにより、そのロー
パスフィルタ処理におけるカットオフ周波数を変更制御
することができる。In the filter reproduction mode, only two tones are reproduced in accordance with 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 pitched reproduction mode is a mode for reproducing a recorded musical tone with a pitch. (In operation modes other than the playback mode with the pitch, playback is performed at the same pitch as when recording.) When the playback mode with the pitch is designated by the mode changeover switch, the user designates any pad at the same time. Specify the waveform data to be played in the playback mode with pitch. After that,
When any of the ten pads is turned on, the previously specified waveform data is reproduced at a pitch corresponding to that pad. Only two sounds can be reproduced in this mode. Here, a pad for designating a waveform to be reproduced is also used as a pitch designation operator, but a pitch designation 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 a user. When the 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. Thereafter, when the user touches the ribbon controller 106, the reproduction of the waveform data starts, and by moving the position touching the ribbon controller 106, the reproduction sound is scratch-reproduced. further,
In this mode, in addition to the scratch reproduction, reproduction similar to the normal mode using ten 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 filtered) and output to the sound system 114. The cut-off frequency of the filtering is determined by the user using the ribbon controller 10.
6 can control the change. In the EX filter mode, even when the pad is turned on, the reproduction of the waveform corresponding to the pad is not performed.
【0031】EXスクラッチモードは、外部入力111
を用いてスクラッチ操作を行なうモードである。EXス
クラッチモードでは、リボンコントローラ106を触れ
ない間は、外部入力111がそのままサウンドシステム
114で放音される。リボンコントローラ106に触れ
た時点で外部入力から直接放音することを停止し、その
時点までに取り込んだ外部入力波形を用いてリボンコン
トローラ106によるスクラッチ再生を行なう。EXス
クラッチモードでは、パッドオンしてもパッドに応じた
波形の再生は行なわれないようになっている。In the EX scratch mode, the external input 111
This is a mode in which a scratch operation is performed using. In the EX scratch mode, the external input 111 is emitted by the sound system 114 as it is while the ribbon controller 106 is not touched. When the ribbon controller 106 is touched, direct sound emission 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 reproduction of the waveform corresponding to the pad is not performed.
【0032】次に、RAM104上に設けられるレジス
タ、バッファなどについて説明する。Next, registers, buffers, and the like 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 includes an area for four channels for pad performance (1 ch to 4 ch) and a tone generator register sch for scratch reproduction. The register of each channel stores information such as a read address of waveform data to be reproduced and note-on.
【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. At the time of recording, waveform samples are stored in one recording buffer (that is, the DMA controller 113 converts the waveform data of the external input 111 to the sound I / O1).
12) to the recording buffer via the input FIFO), and when the recording buffer is full, the CPU 1
In step 01, the waveform sample of the recording buffer is written to the flash memory 103. At the same time, the waveform samples are continuously stored in the other recording buffer. In this manner, recording is performed using two recording buffers alternately. RBk (k = 0 or 1)
Indicates a recording buffer that is currently recording (storing waveform data), and the RBk bar indicates the other recording buffer. The k bar indicates the inversion of k (k bar = 1 when k = 0, k bar = 0 when k = 1), and k bars are indicated by overlining k in the drawing.
【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 samples of waveform data. When one of the reproduction buffers is used for reproduction (that is, the waveform data in the reproduction buffer
When the data is transferred to the output FIFO 112 and output through the output FIFO), waveform data to be output next by the CPU 101 is prepared in the other reproduction buffer. In this way, the reproduction is performed using the two reproduction buffers alternately. It should be noted that PBr (r = 0 or 1) indicates a playback buffer that is currently transferring waveform data to the sound I / O 112 for playback, and a PBr bar indicates the other playback buffer. The r bar indicates the inversion of r (r bar = 1 when r = 0, r bar = 0 when r = 1), and the r bar is indicated by overlining r in the drawing.
【0036】図2(d)は、RAM104上に設けられ
たスクラッチ領域SRを示す。このスクラッチ領域SR
は、スクラッチ再生モードが指定されたときに確保され
る領域である。スクラッチ再生モードに入るとき、指定
されたパッドに対応する波形データがADPCM伸張さ
れて(リニア16ビットで)、RAM104上の所定の
領域に展開される。その展開された波形データ中の所定
の領域をスクラッチ領域SRとする。波形データ中のど
の位置にスクラッチ領域SRを設定するかは、あらかじ
め決定しておく。スクラッチ領域SR上の所定のアドレ
スを、スクラッチ開始アドレスとしてスクラッチポイン
タSPに設定する。スクラッチポインタSPの値は、ユ
ーザが変更することもできる。スクラッチ再生モードに
おいてユーザがリボンコントローラ106を操作すると
スクラッチ再生されるが、リボンコントローラ106の
操作開始位置がどこであっても、スクラッチポインタS
Pで指される位置からスクラッチ再生が開始される。FIG. 2D shows a 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 expanded by ADPCM (in 16-bit linear format) and expanded in a predetermined area on the RAM 104. A predetermined area in the expanded waveform data is defined as a scratch area SR. In which position in the waveform data 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. When the user operates the ribbon controller 106 in the scratch reproduction mode, the scratch reproduction is performed. However, regardless of the operation start position of the ribbon controller 106, the scratch pointer S
Scratch reproduction is started from the position indicated 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 stored in the recording buffer SRB.
0, stored in SRB1 (FIG. 2 (e)). The recording buffers SRB0 and SRB1 are recording buffers corresponding to the recording buffers RB0 and RB1 described with reference to FIG.
It is used alternately in the same manner as B0 and RB1. SRB0 and S
RB1 has a capacity sufficient for performing scratching (for example, if the sampling clock is 40 kHz, 4
(Capacity enough to store 0 k samples or more). SR
Of the B0 and SRB1, the recording buffer to which writing has not been performed when the operation of the ribbon controller 106 is started is set as a scratch area. FIG.
In (e), since there is a position indicated by the recording pointer RP indicating the address to be written in the recording buffer SRB0, writing is currently performed on SRB0. Therefore, a predetermined area in the recording buffer SRB1 in which writing is not performed is set as a 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: Operation mode register. 0
Is normal mode, 1 is sampling mode, 2 is filter playback mode, 3 is playback mode with pitch, 4 is scratch playback mode, 5 is EX filter mode, 6 is EX mode.
Indicates a scratch mode. (2) PN: a register for storing a pad number for specifying a pad. (3) i: a register for storing a channel number of a channel to which a sound is to be assigned. (4) FNi: F of the i-th channel to which the sound is assigned
This is a register that stores the number. (5) TMP: a register for storing a 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. The value is 1 when the ribbon controller 106 is operated (when a finger or the like is touching the ribbon controller 106), and is 0 when the ribbon controller 106 is not operated (when a finger or the like is not touching). (8) VEL: a register for setting a moving speed of the ribbon controller 106 (specifically, a moving speed of a finger or the like touching the ribbon controller 106). (9) OLD: a register for holding the detected value of the ribbon controller 106 one time before. (10) SAD: a register for storing a 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) A register for storing the read address in 4). (12) SFN: A register for storing the F number in reading the waveform data of the scratch channel sch. (13) RP: a recording pointer. Indicates the waveform data write position of the recording buffer. (14) PP: pointer for reproduction. Indicates the read position of the waveform data in the reproduction buffer.
【0042】なお、上述のレジスタなどを示す記号は、
レジスタなどの記憶領域そのものを示すとともに、該記
憶領域に格納されるデータをも示すものとする。例え
ば、mというときは、動作モードレジスタを示すととも
に、該レジスタに格納された動作モードを表すデータを
も示すものとする。The symbols indicating the above-mentioned registers and the like are as follows:
The storage area itself such as a register is shown, and the data stored in the storage area is also shown. For example, "m" indicates an operation mode register and also indicates data indicating an operation mode stored in the register.
【0043】図3〜図16は、図1のサンプラーにおけ
るCPU101およびDMAコントローラ113の動作
を説明するためのフローチャートである。以下では、始
めにこれらのソフトウエアの階層構造について説明し、
次に図3〜図16のフローチャートにしたがって各ソフ
トウェアモジュールの処理手順を説明する。その後、そ
れらのソフトウェアモジュールをどのようなタイミング
で実施して各モードの機能を実現していくかについてモ
ード別に説明する。FIGS. 3 to 16 are flowcharts for explaining the operation 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. Then, at what timing the software modules are implemented to realize the functions 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 the following levels.
【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 at the time of recording, and DP routine of FIG. 16 which is a processing routine of the DMA controller 113 at the time of reproduction.
【0046】レベル2:CPU101により波形作成を
行なう図11および図12の波形生成ルーチンHS
(m)、およびCPU101によりリボンコントローラ
106の検出値を取り込むための図9および図10のリ
ボン値取り込みルーチンRC(m)。波形生成ルーチン
HS(m)のサブルーチンである図13および図14の
処理ルーチンも含む。Level 2: Waveform generation routine HS in FIGS. 11 and 12 in which a waveform is generated by CPU 101
(M), and a ribbon value capture routine RC (m) of FIGS. 9 and 10 for capturing the detection value of the ribbon controller 106 by the CPU 101. The processing routine of FIGS. 13 and 14 which is a subroutine of the waveform generation routine HS (m) is also included.
【0047】レベル3:CPU101が実行する図3の
定常ルーチン。そのサブルーチンであるパッドスキャ
ン、SWスキャン、および各イベントルーチン(図4〜
図8の処理ルーチン)も含む。Level 3: A steady routine of FIG. 3 executed by the CPU 101. Subroutines such as pad scan, SW scan, and event routines (FIGS.
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 processing routine of level 1 has the highest priority. That is, when an interrupt for executing the level 1 processing routine is applied 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 an interrupt of the level 1 process is applied, the operation of the CPU 101 is stopped, and the bus line 115 is secured by the DMA controller 113. Is performed with the highest priority. The interruption of this level 1 processing is performed by the sampling clock F
Follow s. That is, an interrupt occurs for each sampling clock Fs, and the DMA controller 113 executes DP for reproduction and DR for recording.
(M) is executed. Note that the sampling clock Fs
Whether to execute DP or DR (m) in each interrupt is determined in advance by the CPU 101 by the DMA controller 1.
13 is specified.
【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 processing has a lower priority than the level 1 processing, but has a higher priority than the level 3 processing. That is, when an interrupt for performing the level 2 processing is applied while the level 3 routine is being executed, the level 2 processing routine is executed with priority. 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. Upon receiving this interrupt, the CPU 101 sets the waveform creation routine HS
Execute (m) to prepare a waveform sample in the reproduction buffer. The ribbon value fetching routine RC (m) is started by a timer interrupt. That is, a timer interrupt is generated at every clock output from the timer 105 at a predetermined interval, whereby the CPU 101 executes the ribbon value fetching routine RC (m) and
The detection value of 6 is taken in.
【0050】レベル3は最も優先度の低い処理ルーチン
である。CPU101は、図3の定常ルーチンを繰り返
し実行し、パッド107のオンイベントやパネルSW1
09の操作イベントがあったとき所定のサブルーチンを
実行する。Level 3 is a processing routine having the lowest priority. The CPU 101 repeatedly executes the regular routine shown in FIG.
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 routine.
When the power of the sampler is turned on, the CPU 101 executes this regular routine. First, in step 301,
Make various initial settings. In particular, the operation mode m is m =
0, that is, the normal mode, note-off is set to all the channels of the tone generator register in FIG.
(C) All the sample areas of the reproduction buffers PB0 and PB1 are cleared to zero. Also, the CPU 101 sets the DM
The reproduction processing is instructed to the A controller 113. Thus, the DMA controller 113 interrupts the CPU 101 for each sampling clock Fs from the Fs generator 110, and starts the operation of reproducing the waveform data in the reproduction buffer by executing the DP routine of FIG. 16 each time. become. Furthermore, in the initial setting, the timer 10
5 is started. As a result, the CPU 101
Each time a timer interrupt occurs from the clock 05, the RC fetching routine RC (m) is executed, 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 and repeats the process. The pad scan processing in step 302 is performed by using ten pads 1
07 is a process for detecting whether or not there is an ON event, and executing the ON event routine shown in FIGS. 7 and 8 when the ON event is detected. The SW scanning process in step 303 is a process of detecting whether or not the operation of the panel SW 109 has been performed, and executing a processing routine according to the operation when the operation has been performed.
【0054】図4は、図3のステップ303のSWスキ
ャン処理でモード切り替えスイッチが操作されたことを
検出したときに呼び出されるモードSWイベントルーチ
ンである。モードSWイベントルーチンでは、ステップ
401でモード切り替えスイッチの操作に応じて指定さ
れた動作モードを示す値をレジスタmに設定し、ステッ
プ402で指定されたモードmに応じたディスプレイ1
08への表示制御を行なう。そして、ステップ403
で、指定されたモードmに対応する開始処理MS(m)
を実行した後、処理を終了する。FIG. 4 shows a mode SW event routine which is called when it is detected that the mode changeover switch has been operated in the SW scan processing in step 303 of FIG. In the mode SW event routine, a value indicating the operation mode specified in accordance with the operation of the mode change switch in step 401 is set in the register m, and the display 1 corresponding to the mode m specified in step 402 is set.
08 to display control. Then, step 403
And the start processing MS (m) corresponding to the specified mode m
Is executed, and the process ends.
【0055】図5は、ユーザがモード切り替えスイッチ
でサンプリングモード(m=1)を指定したとき、図4
のステップ403で呼び出されるサンプリングモード開
始処理MS(1)のフローチャートである。MS(1)
処理では、まずステップ501で、パッドの指定がなさ
れたか否かを判別する。パッドの指定がなされていない
ときは、ステップ502で、サンプリングモードの指定
をやめるか否か判別する。サンプリングモードの指定処
理を続行するなら、再びステップ501に戻り、パッド
の指定を促す。FIG. 5 shows a case where the user designates the sampling mode (m = 1) with the mode changeover switch.
5 is a flowchart of a sampling mode start process MS (1) called in step 403 of FIG. MS (1)
In the process, first, at step 501, it is determined whether or not a pad has been designated. If the pad has not been designated, it is determined in step 502 whether or not the designation of the sampling mode is stopped. If the sampling mode designation process is continued, the process returns to step 501 again, and prompts the user to designate a pad.
【0056】ステップ501でパッドの指定がなされた
ときは、ステップ503で、指定されたパッド番号をレ
ジスタPNに格納し、ステップ504で、録音準備を行
なう。録音準備は、録音バッファRB0,RB1、フラ
ッシュメモリ103上の録音領域、およびその他の領域
の確保などの処理である。また、DMAコントローラ1
13に指示して、サンプリングクロックFsごとにCP
U101に割り込みをかけてDPルーチンを実行するこ
とを停止させる。次に、ステップ505で、録音開始の
条件(トリガ)が満たされたか否か判別する。録音開始
の条件としては、例えば入力レベルが一定以上になった
とき録音開始する、といった条件を用いる。録音開始の
条件が満たされていないときは、ステップ506で録音
をやめるか否か判別し、録音を続行するならステップ5
05に戻る。If 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. DMA controller 1
13 for each sampling clock Fs.
By interrupting U101, the execution of the DP routine is stopped. Next, in step 505, it is determined whether or not a recording start condition (trigger) is satisfied. As a condition for starting the recording, for example, a condition that the recording is started when the input level becomes equal to or higher than 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.
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 condition for starting recording is satisfied in step 505, recording is started in step 507. The recording start is, specifically, a process in which the CPU 101 instructs the DMA controller 113 to start recording. Thus, the DMA controller 113 interrupts the CPU 101 for each sampling clock Fs from the Fs generator 110, executes the DR (1) routine of FIG. The process of 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 determined whether or not the recording buffer is full. As will be described in detail with reference to FIG. 15, in the DR (1) routine, an externally input waveform sample is transferred to the recording buffer RBk, and when RBk is full, k is inverted to generate an interrupt. In step 508, it is determined whether or not the recording buffer is full by waiting for the interruption. When this interruption occurs, it means that the recording buffer RBk bar has been filled with the waveform sample. Therefore, in step 509, the waveform sample of the recording buffer RBk bar is written to 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 at step 508 (when there is no interruption from the DR (1) routine), at step 510, it is determined whether or not the recording processing is to be ended. The recording process is performed when the recording stop switch of the panel SW 109 is turned on or when the flash memory 1 is turned on.
It is assumed that the process ends when the recording area secured at 03 is full. If the recording process is not completed in step 510, the process returns to step 508 to continue recording. If the recording process is completed in step 510, a recording end process is performed in step 511. This is done by instructing the DMA controller 113 to make the CPU 1
This is a process of interrupting 01 and stopping the execution of the DR (1) routine. Next, in step 512,
A process for setting the register m to 0 and returning to the normal mode is performed, and the process ends. In the process of returning to the normal mode, the CPU 101 is instructed to start the execution of the DP routine by interrupting the CPU 101 for each sampling clock Fs.
【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 process returns to the normal mode after setting the register m to 0 in step 513, and the process is terminated. If the recording process is to be canceled in step 506, the register m
After setting the value to 0 and returning to the 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 a case where the user designates 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 has been designated. If the pad has not been designated, it is determined in step 602 whether or not the designation of the scratch reproduction mode is stopped. If the process of designating the scratch reproduction mode is continued, the process returns to step 601 again, and prompts for the designation of the pad.
【0062】ステップ601でパッドの指定がなされた
ときは、ステップ603で、指定されたパッド番号をレ
ジスタPNに格納し、ステップ604で、スクラッチを
行なう準備をする。これは、パッド番号PNに対応して
録音されている波形データをフラッシュメモリ103か
ら読み出してADPCM伸張し、RAM104上の所定
領域に展開する処理である。次に、ステップ605で、
RAM104上に展開した波形データの所定の領域をス
クラッチ領域SR(図2(d))とし、スクラッチを開
始するアドレスであるスクラッチポインタSPを所定値
に設定する。If a pad is designated in step 601, the designated pad number is stored in the register PN in step 603, and preparation is made in step 604 for scratching. In this process, waveform data recorded corresponding to the pad number PN is read from the flash memory 103, expanded by ADPCM, and expanded in a predetermined area on the RAM 104. Next, in step 605,
A predetermined area of the waveform data developed on the RAM 104 is set as a scratch area SR (FIG. 2D), and a scratch pointer SP, which is an address to start the scratch, is set to a predetermined value.
【0063】ステップ602でスクラッチ再生モード指
定処理を取りやめる場合は、ステップ606で、レジス
タmに0をセットしてノーマルモードへ戻る処理を行な
い、処理を終了する。If the scratch reproduction mode designating process is canceled in step 602, the process returns to the normal mode by setting 0 to the register m in step 606, and the process ends.
【0064】図7は、モードmがm=0,2,4の場
合、すなわちノーマルモード、フィルタ再生モード、ま
たはスクラッチ再生モードの場合に、図3のステップ3
02でパッド107のオンイベントを検出したときに呼
び出されるパッドオンイベントルーチンのフローチャー
トを示す。このオンイベントルーチンでは、まずステッ
プ701で、オンイベントのあったパッド107のパッ
ド番号をレジスタPNにセットし、ステップ702で、
パッド番号PNに対応する波形データがフラッシュメモ
リ103上に録音されているか否かを判定する。パッド
番号PNに対応する波形データがないときは、そのまま
処理を終了する。FIG. 7 shows a case where the mode m is m = 0, 2, or 4, that is, when the mode is the normal mode, the filter regeneration mode, or the scratch regeneration mode, step 3 in FIG.
2 shows a flowchart of a pad-on-event routine called when an on-event of the pad 107 is detected at 02. 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 has been recorded on the flash memory 103 or not. If there is no waveform data corresponding to the pad number PN, the process ends.
【0065】ステップ702でパッド番号PNに対応す
る波形データが録音されていた場合は、ステップ703
で、発音チャンネルの割当を行なう。この割当はモード
mに応じた発音数で行なわれる。すなわち、ノーマルモ
ードの場合は、4音発音可能であるから第1から第4の
4つのチャンネルのいずれかに空きチャンネルがあれば
その空きチャンネルに割り当て、その4チャンネルがす
べて発音に用いられていたときは最も過去に発音を開始
したチャンネルを消音してそのチャンネルに新たに発音
割当を行なう。フィルタ再生モード、またはスクラッチ
再生モードの場合は、2音発音可能であるから第1また
は第2チャンネルに同様にして割り当てる。割り当てた
チャンネルの番号は、レジスタiに設定する。次にステ
ップ704で、第iチャンネルの音源レジスタichに
発音を行なうための各種の情報(再生すべき波形データ
の先頭アドレスADiなど)を設定し、さらにノートオ
ンを設定して処理を終了する。If it is determined in step 702 that the waveform data corresponding to the pad number PN has been recorded, step 703 is executed.
To assign sounding channels. This assignment is performed with the number of sounds according to the mode m. That is, in the normal mode, four sounds can be generated, so if any of the first to fourth channels has an empty channel, it is assigned to the empty channel, and all the four channels are used for sound generation. At this time, the channel which has started sounding the earliest in the past is muted, and a new sound is assigned to the channel. In the case of the filter reproduction mode or the scratch reproduction mode, two sounds can be generated, so that the sound is allocated to the first or second channel in the same manner. The assigned channel number is set in the register i. Next, in step 704, various kinds of information (such as the start address ADi of the waveform data to be reproduced) for generating sound are set in the tone generator register ich of the i-th channel, and note-on is set, and the process is terminated.
【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 a case where the mode m is m = 3, that is, in the case of the reproduction mode with pitch, step 30 in FIG.
2 shows a flowchart of a pad-on-event routine called when an on-event of the pad 107 is detected in 2. In the pad-on event routine in the playback mode with pitch, 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, a sound channel is assigned. In the pitched playback mode, up to two tones can be generated, and therefore, channels are assigned as a maximum of two tones. Next, in step 803, the pad number PN is converted to an F number and set in the register FNi. Then, in step 804, the sound source register ich of the i-th channel
, Various kinds of information (read start address ADi of waveform data to be reproduced and F number FNi, etc.) for reproduction with pitch are set, and 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 an RC fetching 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 for taking in the detected value in order for the ribbon controller 106 to perform the filter control. FIG. 10 is a flowchart of an RC capturing routine RC (m) for capturing 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 for taking in the detected value for performing 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のとき実行される
処理である。The timer 105 is started in the initial setting of step 301 in FIG.
Performs timer interrupt processing. The RC capture routine RC (m) in FIG. 9 is a process executed when the mode m is 2 or 5 in the timer interrupt. Also,
The RC capture 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を所定
の標準値に戻してもよいし、または指などが離れる直前
の係数を保持するようにしてもよい。The RC capture routine RC (m) shown in FIG.
(M = 2, 5). First, in step 901,
The detection value of the ribbon controller 106 is set in the register TMP. Next, in step 902, it is determined whether the detected value has changed by comparing with the detected value at the time of the previous timer interruption. 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 ends. as a result,
This means that the detection value of the ribbon controller 106 has been set in the register RD. Note that the ribbon controller 106
When a finger or the like leaves from, the detected values TMP and RD may be returned to a predetermined standard value, or a coefficient immediately before the finger or the like may be retained.
【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)の処理手順を説明する。The RC acquisition routine RC (m) shown in FIG.
(M = 4, 6) will be described. FIG. 10 shows the RC capture routine RC (4) called when the operation mode is the scratch reproduction mode (m = 4) and the RC capture routine RC called when the operation mode is the EX scratch mode (m = 6). 10 is a flowchart for explaining (6) together with steps 1006 and 100
9, 1015, and 1016 are processes of only RC (6), so that the processing procedure of RC (4) will first be described 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 fetching routine RC (4), first, in step 1001, the detection value of the ribbon controller 106 is set in a register TMP. Next, in step 1002, the ribbon controller 10
It is determined whether or not operation 6 is performed. The ribbon controller 106 outputs a coordinate detection value indicating a coordinate position touched by a finger or a stick when touched by a finger or a stick. Operation is not performed). If the operation of the ribbon controller 106 has not been performed, the process proceeds to step 1003, and if the operation has been 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 value of the register RS is 0, it means that the ribbon controller 106 has not been operated at both the time of the previous interrupt and the time of the current interrupt. RS in step 1003
Is not 0, it means that RS = 1 at the time of the previous interrupt, that is, the operation of the ribbon controller 106 has been performed, but that no operation has been performed at the time of this interrupt (the finger or the stick has been released). So step 1
In step 013, the register RS is cleared to 0, and
Then, note-off is written into 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
Is determined. When the register RS is not 1, since RS = 0 at the time of the previous interrupt, that is, the operation of the ribbon controller 106 has not been performed, it means that the operation has been 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 (the read address SAD of waveform data to be scratch-reproduced) is stored in the sound source register sch of the scratch channel.
And speed value VEL) and write note-on. Next, at step 1010, register O
The detected value TMP of the ribbon controller 106 at this time is stored in 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にセットし、処理を
終了する。If RS is 1 in step 1004, it means that RS = 1 at the time of the previous interruption and RS = 1 at the time of this interruption (the operation of the ribbon controller 106 is continued). 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 current detection value TMP. Therefore,
The speed VEL may be negative. 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 take-in routine RC in the case of mode m = 4, that is, in the case of the scratch reproduction mode.
(4) RC input routine RC (6) when mode m = 6, that is, when EX scratch mode
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. Further, the processing of steps 1008 and 1014 is slightly different. Hereinafter, these will be described.
【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 instructs the DMA controller 113,
The CPU 101 interrupts the sampling clock Fs to stop the execution of the DR (6) routine, and the two recording buffers SRB0 and SRB1.
Among them, the scratch area SR is set in the recording buffer SRBk bar on which writing is not currently performed as described with reference to FIG. Next, the process proceeds to step 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バーに生成される。At step 1008, various information for scratch reproduction (read 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. In this process, after the reproduction buffer PBr is cleared to 0, the EX scratch processing of FIG. 14 described later may be performed on the reproduction buffer PBr (using PBr instead of the PBr bar in FIG. 14). In addition, the CPU 101 instructs the DMA controller 113 to restart the execution of the DP routine by interrupting the CPU 101 for each sampling clock Fs. Further, an interrupt having the same meaning as the interrupt generated in step 1605 of the DP routine of FIG. By this interrupt, HS (6) is executed, and 128 samples to be scratch-reproduced next are generated on the PBr bar.
【0078】その後、ステップ1009で、CPU10
1からの指示により、サウンドI/O112のA/D入
力からD/A出力への直接接続を切り離し、外部入力1
11から直接サウンドシステム114へ楽音信号を流し
て放音することを停止する。Thereafter, in step 1009, the CPU 10
1 disconnects the direct connection from the A / D input of the sound I / O 112 to the D / A output,
The transmission of the musical sound signal from the sound signal 11 directly to the sound system 114 is stopped.
【0079】リボンコントローラ106の操作を止めた
時点では、ステップ1002から1003,1013を
経て、ステップ1014に進む。ステップ1014で
は、スクラッチ用チャンネルの音源レジスタschにノ
ートオフを書き込むが、その処理の後に以下の処理も行
なう。すなわち、CPU101からDMAコントローラ
113に指示をして、サンプリングクロックFsごとに
CPU101に割り込みをかけてDPルーチンを実行す
ることを停止する。When the operation of the ribbon controller 106 is stopped, the process proceeds from Steps 1002 through 1003 and 1013 to Step 1014. In step 1014, note-off is written to the sound source register sch of the scratch channel. After that, the following processing is also performed. That is, the CPU 101 instructs the DMA controller 113 to stop executing the DP routine by interrupting the CPU 101 for each sampling clock Fs.
【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
1 restarts the direct connection of the sound I / O 112 from the A / D input to the D / A output,
1 directly to the sound system 114 to output a tone signal. In step 1016, the CPU 1
From 01, the DMA controller 113 is instructed to restart the execution of the DR (6) routine by interrupting the CPU 101 every sampling clock Fs.
【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サンプル
を新たに生成する。FIGS. 11A to 11C and FIG.
(A) to (c) are flowcharts 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 an interrupt request in step 1605 of the DP routine of FIG. That is, the DP routine executes the reproduction buffer PB for each sampling clock Fs.
The waveform sample in r is transferred to the sound I / O 112 for reproduction. When all 128 samples in the reproduction buffer PBr have been reproduced, 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 reproduction buffer PBr bar just after the reproduction.
【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), the subroutine normal 4
And ends the processing. 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), normal 2 which is a subroutine is called in step 1111, and a filter coefficient (cutoff frequency) is generated in step 1112 according to the detection value RD of the ribbon controller 106. And step 1113
Performs filter processing (low-pass filter processing), and ends the processing. The normal 2 in 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 waveform samples on the reproduction buffer in the reproduction mode with pitch. HS
In (3), the subroutine pitch 2 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), normal 2 which is a subroutine is called in step 1201, and a scratch processing routine which is a subroutine is called in step 1202, and the process is terminated. 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 flowchart of a 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 have been written to the recording buffer RBk bar, and the reproduction buffer PBr bar is empty. Therefore, in HS (5), first, in step 1211, the ribbon controller 106
, A filter coefficient is generated in accordance with the detected value RD, and EX filtering is performed in step 1212. The EX filter process is a process of performing a filtering process on 128 waveform samples of the recording buffer RBk bar using the filter coefficient obtained in step 1211, and obtaining a 128
This is a process of setting the number of 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 whether or not the register RS is 1 in step 1221. When the register RS is not 1,
Since the operation of the ribbon controller 106 has not been performed, the process ends. Step 12
If the register RS is 1 at 21, it means that the ribbon controller 106 has been operated, so the EX scratch processing is performed at step 1222, and the processing ends. The EX scratch processing 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 n = 4 when the normal 4 is called in the above-described step 1101, and the above-mentioned steps 1111 and 1111 are used.
In the case of normal 2 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, a work register i for counting channels is set to 1 and a work register j for counting the number of samples is set to 0. All the sample areas of the reproduction buffer PBr bar
clear. Next, in step 1302, it is determined whether or not note-on is written by referring to the tone generator register ich of the i-th channel. When the note-on is not written, the waveform generation of the i-th channel does not need to be performed, and the process proceeds to step 1308 as it is. If it is determined in step 1302 that the i-th channel has been turned on, 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. The waveform sample is read out and subjected to ADPCM expansion to obtain a linear waveform sample, which is set in the work register TMP. Next, in step 1305, the value of the register TMP is accumulated in the reproduction buffer PBr (j) (channel accumulation).
【0091】次に、ステップ1306でレジスタjの値
が127に至ったか否かを判別し、未だレジスタjが1
27に至っていないときは、ステップ1307でレジス
タjをインクリメントした後、ステップ1303に戻り
次の波形サンプルの読み出しおよび伸張と累算を繰り返
す。ステップ1306でレジスタjの値が127になっ
たときは、再生バッファPBrバーの128サンプル分
の領域に第iチャンネルの128サンプルの累算が終了
したということであるから、ステップ1308に進む。Next, at step 1306, it is determined whether or not the value of the register j has reached 127.
If the count has not reached 27, the value of the register j is incremented in step 1307, and the process returns to step 1303 to repeat 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 has been completed in the area of 128 samples of the reproduction buffer PBr bar, and the process proceeds to step 1308.
【0092】ステップ1308でレジスタiがnに至っ
たか否かを判別する。レジスタiがnに至っていないと
きは、次のチャンネルの累算を行なうべく、ステップ1
309でレジスタiをインクリメントし、レジスタjを
0クリアして、ステップ1302に戻り、第iチャンネ
ルに対して処理を繰り返す。ステップ1308でレジス
タiがnに至ったときは、処理すべきチャンネルの累算
が終わり再生バッファPBrバー上に128サンプルが
生成されたということであるから、処理を終了する。At step 1308, it is determined whether or not 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, and the process returns to step 1302 to repeat the processing for the i-th channel. When the value of the register i reaches n in step 1308, it means that the accumulation of the channel to be processed has been completed and 128 samples have been generated on the reproduction buffer PBr bar.
【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 flowchart of pitch 2 which is a subroutine called in step 1121 of FIG. 11C. In step 1311, 1 is set to a work register i for counting channels, and a 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 are not currently reproduced by the DP routine are cleared to 0. Next, in step 1312, it is determined whether or not note-on has been written by referring to the tone generator register ich of the i-th channel. When the note-on is not written, it is not necessary to generate the pitched waveform of the i-th channel.
Go to 9. If it is determined in step 1312 that the i-th channel has been turned on, 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をチャンネル累算する。In 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 tone generator 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, and a linear waveform sample is obtained by performing ADPCM expansion, and set in the work register TMP. The waveform data to be read is ADPC
When the integer part of the address ADi advances by 2 or more because of the M compression, all samples from the previous read position to the present read position ADi are read and used for expansion. Next, in step 1315, interpolation between samples is performed according to the decimal 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.
MP is channel accumulated.
【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 or not the number has reached 27. If not,
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 has been completed. Therefore, it is determined in step 1319 whether or not the value of the register i has reached 2. If the register i has not reached 2, the register i is incremented in step 1320 and the register j is cleared to 0 in order to perform the processing of 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 is a flowchart showing step 120 in FIG.
2 or the scratch processing called in FIG.
It is a flowchart of the EX scratch process called in step 1222 of FIG. First, in step 1401, the detected moving speed VEL of the ribbon controller 106 is set.
(VEL is the sound source register sc of the scratch channel.
h) is replaced by the F number SF for scratching
Convert to N Speed VEL which is not only positive number but also negative number
, The F number SFN is also determined in accordance with the equation (1), the F number SFN also changes in the positive / negative region. Next, at step 1402, the register j is cleared to 0, and at 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では補間に必
要なサンプル数だけ読み出すものとする。In step 1403, the scratch F number SFN is added to the scratch read address SAD (SAD is set in the tone generator register sch of the scratch channel). In step 1404, the address of the waveform data address SAD to be read is determined. The waveform sample is set in the read register TMP. FIG.
In the scratch process called in step 1202 of FIG. 2A, the waveform data to be read
The CM is expanded and expanded in a predetermined area, and a scratch area SR is set in the waveform data (steps 604 and 605 in FIG. 6). Step 1 in FIG.
In the EX scratch process called at 222, the recording buffer SRB input from the external input
0 and SRB1 are written alternately in the waveform data (linear samples). When the operation of the ribbon controller 106 is started, the scratch area SR is included in the waveform data of the recording buffer that has not been written. Is set (step 100 in FIG. 10).
7). In any case, in step 1404, it is assumed that the number of samples required for interpolation is read.
【0098】次にステップ1405で、アドレスSAD
の小数部に応じてサンプル間の補間を行ない、補間済み
の波形サンプルをレジスタTMPにセットする。そし
て、ステップ1406で、再生バッファPBrバーのj
番目のサンプル領域PBrバー(j)に波形サンプルT
MPをチャンネル累算する。Next, at step 1405, the address SAD
Is interpolated between the samples according to the decimal part, and the interpolated waveform sample is set in the register TMP. Then, at step 1406, j of the reproduction buffer PBr bar
The waveform sample T is placed in the PBr bar (j) of the
MP is channel accumulated.
【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 or not the number has reached 27. If the value of the register j has not reached 127, the value of the register j is incremented in step 1408 so as to process the next sample, and the process returns to step 1403. When the value of the register j reaches 127 in step 1407, the process ends.
【0100】図15は、DMAコントローラ113がF
s発生器110から発生するサンプリングクロックFs
ごとに実行するDR(m)ルーチンのフローチャートで
ある。録音はモードmがm=1,5,6のときに行なわ
れるので、DR(m)ではm=1,5,6の何れかであ
る。FIG. 15 shows that the DMA controller 113
sampling clock Fs generated from the s generator 110
9 is a flowchart of a DR (m) routine executed every time. Since the recording is performed when the mode m is m = 1, 5, 6, DR (m) is either m = 1, 5, or 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
A 112 input FIFO (a tone signal input from an external input 111 to an A / D input terminal is A / D converted and input FIFO
Is set in the recording buffer R
Sample area RBk pointed to by Bk recording pointer RP
(RP). When the mode m is m = 1, that is, in the sampling mode, the A / D-converted linear waveform sample is ADPCM-compressed using the ADPCM compression function of the sound I / O 112, and the compressed waveform sample is input via the input FIFO. The data is transferred to the recording buffer RBk (RP). When the mode m is m = 5 or 6, that is, in the EX filter mode or the EX scratch mode, the A / D-converted linear waveform sample is input to the input F without using the ADPCM compression function of the sound I / O 112.
Transfer to recording buffer RBk (RP) via IFO (however, when m = 6, recording buffer RBk (RP)
Instead of using a recording buffer SRBk (RP))
Shall be.
【0102】次に、ステップ1502で録音ポインタR
Pをインクリメントし、ステップ1503で録音バッフ
ァRBk(m=6のときはSRBk、以下同様)が一杯
になったか否かを判定する。一杯になっていないとき
は、処理を終了する。録音バッファRBkが一杯になっ
たときは、ステップ1504でkを反転(0なら1、1
なら0とする)し、ステップ1505で割り込みを発生
し、処理を終了する。この割り込みは、一杯になった録
音バッファ(この時点ではRBkバー)の波形サンプル
をフラッシュメモリ103に書き込んで録音バッファを
空きにする処理をCPU101に依頼するための割り込
みである。Next, at step 1502, the recording pointer R
P is incremented, and it is determined in step 1503 whether or not the recording buffer RBk (SRBk when m = 6, the same applies hereinafter) is full. If it is not full, the process ends. When the recording buffer RBk is full, k is inverted in step 1504 (0, 1, 1).
Then, it is set to 0), an interrupt is generated in step 1505, and the process is terminated. This 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 make the recording buffer empty.
【0103】図16は、DMAコントローラ113がF
s発生器110から発生するサンプリングクロックFs
ごとに実行するDPルーチンのフローチャートである。FIG. 16 shows that the DMA controller 113
sampling clock Fs generated from the s generator 110
6 is a flowchart of a DP routine executed every time.
【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 the D / A conversion, the data is transmitted to the sound system 114 and is emitted. Next, step 1
In step 602, the reproduction pointer PP is incremented, and in step 1603, it is determined whether or not reproduction to the end of the reproduction sample in the reproduction buffer PBr has been completed.
【0105】ステップ1603で再生バッファPBrの
すべての波形サンプルを再生し終わったなら、ステップ
1604でrを反転し(0なら1、1なら0とする)、
もう一方の再生バッファを次に読み出すべき再生バッフ
ァPBrとする。そして、ステップ1605で、CPU
101に対し波形サンプルを用意することを要求するた
めに割り込みを発生し、処理を終了する。ステップ16
03で再生バッファPBr上にまだ再生していない波形
サンプルがある場合は、そのまま処理を終了する。When all waveform samples in the reproduction buffer PBr have been reproduced in step 1603, r is inverted in step 1604 (1 if 0, 1 if 0),
The other reproduction buffer is set as a reproduction buffer PBr to be read next. Then, in step 1605, the CPU
An interrupt is generated to request the 101 to prepare a waveform sample, and the process ends. Step 16
If there is a waveform sample which has not been reproduced yet in the reproduction buffer PBr in 03, the processing is terminated as it is.
【0106】次に、各モード別に、どのようなタイミン
グで上述の各フローチャートの処理がなされるかを説明
する。Next, the timing at which the processing of the above-described flowcharts is performed 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 normal mode is designated by the user with the mode switch, 0 is set in the register m in the mode SW event routine of FIG. Since the normal mode start process MS (0) does not perform a process to be particularly described, the flowchart is omitted. However, if the operation of executing the DP routine is stopped for each sampling clock Fs due to the EX scratch mode or the like, the reproduction operation is restarted at 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 process of restarting the reproduction operation by the MS (0), the CPU 101 sets the tone generator registers of all the channels in FIG. FIG.
(C) After clearing all sample areas of the reproduction buffers PB0 and PB1 to 0 and designating the sound I / O 112 and the DMA controller 113 to perform the reproduction operation, the sampling clock Fs by the Fs generator 110
To start generating. Thereby, the DMA controller 1
13 interrupts the CPU 101 for each sampling clock Fs from the Fs generator 110, and starts the operation of reproducing the waveform data in the reproduction buffer by executing the DP routine of FIG. 16 each time.
【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 processing timing at the time of reproduction will be described. FIG. 17A shows a timing chart at the time of reproduction. Each section of S1 to S5 indicates a frame for reproducing 128 samples. "Waveform generation by CPU"
Executes the waveform generation routine HS (0) shown in FIG.
B1 indicates a section in which processing for generating 128 samples to be reproduced next is performed. Also, "DP routine of DMAC"
Indicates a section in which the DP routine is executed to perform processing for reproducing the waveform data in the reproduction buffer. The execution of the DP routine is performed for each interrupt corresponding to the sampling clock Fs, and the interrupt occurs 128 times at equal intervals in one frame. The numbers 0 to 4 assigned to the sections of “waveform generation by CPU” and “DP routine of DMAC” are numbers added for convenience 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 by an interrupt for each sampling clock Fs. Thereby, 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. An interrupt occurs 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 the section S2) (step 1).
605) occurs. This interrupt triggers the CP
U101 executes the waveform generation routine HS (0) in the section S3, and stores new waveform data (128) in 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 been made with a focus on the reproduction buffer PB0, PB1 is similarly used alternately with PB0. In short, the DP routine is executed by interruption every sampling clock Fs, and P
The waveform sample of B1 is reproduced, the waveform sample of PB0 is reproduced in section S2, the waveform sample of PB1 is reproduced in section S3, the waveform sample of PB0 is reproduced in section S4,.
Thus, the waveform samples of PB0 and PB1 are alternately reproduced 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 (the one in which reproduction is not performed). 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. Thus, 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 all 0 samples are reproduced, it is the same as the fact that no musical tone 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 of “pad” in FIG. When pad on is detected in the routine,
The note-on of the waveform data corresponding to the pad turned on by the on-event routine of FIG. 7 is written to the tone generator register of FIG. The steady routine and the on-event routine are level 3 processes, and the waveform generation routine H
It can operate in parallel with S (0) and the DP routine. Note-on written to the tone generator register is the next HS
This 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 user designates the sampling mode with the mode switch, the above-described FIG.
Is set to 1 in the register m. Further, the sampling mode start process MS (1) is executed as shown in FIG. The MS (1) stops the DP routine and instructs the sound I / O 112 and the DMA controller 113 to perform a recording operation. Thereby, the DMA controller 113
Is the sampling clock Fs from the Fs generator 110
Interrupts the CPU 101 every time,
, The operation of recording a waveform sample from the outside in the recording buffer is started.
【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 the processing at the time of recording will be described. FIG. 17B shows a timing chart at the time of recording. Each section of S1 to S5 indicates a frame in which recording of 128 samples is performed. "DRC routine of DMAC"
Executes the DR (1) routine to execute the sound I / O 11
2 input FIFO (A / D conversion of external input 111 and AD
This shows a section in which processing (recording) of writing a waveform sample of PCM-compressed waveform sample) to a recording buffer is performed. The execution of the DR (1) routine is performed for each interruption corresponding to the sampling clock Fs, and the interruption occurs 128 times at equal intervals in one frame. “Writing to the flash memory by the 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. The numbers 0 to 4 assigned to each section are numbers added for convenience to indicate 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. 17B, first, an interrupt occurs for each sampling clock Fs in the section S1, and the DMA controller 113 executes the DR (1) routine each time. Thereby, the input FI of the sound I / O 112 is
The waveform samples of the FO are sequentially written to the recording buffer RB0. An interrupt (step 1505) occurs when 128 waveform samples have been written to the recording buffer RB0 (at the end of the section S1). With this interrupt, the CPU 101 sets the recording buffer RB in the section S2.
The waveform sample of 0 is written in the flash memory 103 (step 509), and the recording buffer RB0 is made 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 has been made with a focus on the recording buffer RB0, RB1 is similarly used alternately with RB0. In short, the DR (1) routine is executed by interruption every sampling clock Fs,
1 records a waveform sample on RB0, and RB1 on section S2.
, A waveform sample is recorded in RB0 in the section S3, and so on. The waveform sample is alternately recorded (written) in RB0 and RB1 according to the sampling clock Fs. And 128 in each section
An interrupt that occurs when a sample is recorded
The waveform sample of the recording buffer (the one to which writing has not been performed) is written to the flash memory 103. Due to the hierarchical structure of the 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 to the flash memory 103 by the MS (1) 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 user selects the filter regeneration mode with the mode switch, the above-described FIG.
In the mode SW event routine of 2, the register m is set to 2. Filter regeneration mode start processing MS
The flowchart (2) is omitted because it does not perform the processing to be particularly described. However, DP is set for each sampling clock Fs by the EX scratch mode or the like.
If the operation for executing the routine has been stopped, the reproduction operation is restarted in MS (2) as in the normal mode start process 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 performed in substantially the same procedure as in the normal mode. The DP routine is executed for each sampling clock Fs, and all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced when the pad is not turned on, and the processing procedure when the pad is turned on is the same. The timing at the time of reproduction is the same as that in FIG. 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 process of the CPU 101 in FIG. Is replaced by HS (2) in FIG. 11B instead of HS (0). In the waveform generation routine HS (2), waveform samples for two tones due to pad-on are accumulated in the reproduction buffer, and the waveform samples in the reproduction buffer are filtered with a filter coefficient corresponding to the detection value RD of the ribbon controller 106. (Steps 1112 and 1113).
As described above, the filter control of the reproduced sound by the ribbon controller 106 is performed.
【0119】フィルタ再生モードでは、ノーマルモード
で4音再生していたのを2音に減らし、そのように楽音
生成数を減らす代わりに、再生する波形にフィルタ処理
を施すものである。1フレーム時間内で所定数のサンプ
ル生成を行なわなければならないため、ノーマルモード
で4音再生可能であったのが、その再生音にフィルタ処
理を施す場合には処理時間が足りなくなってしまう。そ
こで、楽音生成数を2音に減らし、波形生成の処理時間
を短縮し、余った時間でフィルタ処理を行なうようにし
たものである。In the filter reproduction mode, the reproduction of four sounds in the normal mode is reduced to two sounds, and instead of reducing the number of generated musical sounds, filter processing is performed on the reproduced waveform. Since a predetermined number of samples must be generated within one frame time, four sounds can be reproduced in the normal mode. However, when filtering the reproduced sound, the processing time becomes insufficient. Therefore, the number of generated musical sounds is reduced to two, the processing time of waveform generation is reduced, and the filter processing is performed in extra time.
【0120】次に、ピッチ付き再生モード(m=3)に
おける動作を説明する。モード切り替えスイッチでフィ
ルタ再生モードがユーザにより指定されると、上述の図
4のモードSWイベントルーチンにおいて、レジスタm
に3が設定される。フィルタ再生モードの開始処理MS
(3)は、特に説明すべき処理を行なうものではないの
でフローチャートは省略した。ただし、EXスクラッチ
モードなどによりサンプリングクロックFsごとにDP
ルーチンを実行する動作が停止していた場合は、ノーマ
ルモードの開始処理MS(0)と同様に、MS(3)で
その再生動作を再開する。Next, the operation in the playback mode with pitch (m = 3) will be described. When the filter regeneration mode is designated by the user with the mode switch, the register m is set in the mode SW event routine of FIG.
Is set to 3. Filter regeneration mode start processing MS
Since (3) does not perform processing that should be particularly described, the flowchart is omitted. However, DP is set for each sampling clock Fs by the EX scratch mode or the like.
If the operation for executing the routine has been stopped, the reproduction operation is resumed at MS (3), similarly to the normal mode start process 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 reproduction mode with pitch, reproduction is performed in substantially the same procedure as in the normal mode. The DP routine is executed for each sampling clock Fs, and all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced when the pad is not turned on, and the processing procedure when the pad is turned on is the same. The timing at the time of reproduction is the same as that in FIG. However, in the playback mode with pitch, the pad-on event routine is changed to FIG. 8 instead of FIG.
11 (c) instead of HS (0) in FIG.
(3). In the pad-on event routine of FIG. 8, an F number FNi corresponding to the pad number PN is generated, and FIG.
In the waveform generation routine HS (3) of 1 (c), a waveform sample is read out and reproduced at an address obtained by accumulating the F number FNi at the address ADi. Thereby, reproduction can be performed with a pitch.
【0122】ピッチ付き再生モードでは、ノーマルモー
ドで4音再生していたのを2音に減らし、そのように楽
音生成数を減らす代わりに、再生する波形にピッチ付与
処理を施すものである。1フレーム時間内で所定数のサ
ンプル生成を行なわなければならないため、ノーマルモ
ードで4音再生可能であったのが、その再生音にピッチ
付与処理を施す場合には処理時間が足りなくなってしま
う。そこで、楽音生成数を2音に減らし、波形生成の処
理時間を短縮し、余った時間でピッチ付与処理を行なう
ようにしたものである。In the reproduction mode with pitch, the reproduction of four sounds in the normal mode is reduced to two sounds, and instead of reducing the number of generated musical tones, pitch is applied to the reproduced waveform. Since a predetermined number of samples must be generated within one frame time, four sounds can be reproduced in the normal mode. However, when pitch is applied to the reproduced sound, the processing time becomes insufficient. Therefore, the number of generated musical tones is reduced to two, the processing time of the waveform generation is reduced, and the pitch provision processing is performed in extra 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 switch, 4 is set in the register m in the mode SW event routine of FIG. In the scratch reproduction mode start process MS (4) (FIG. 6), the waveform data to be subjected to the scratch reproduction is developed in a predetermined area, and the scratch area SR and the scratch pointer SP are set to prepare in advance. In addition,
Although not shown in FIG. 6, when the operation of executing the DP routine is stopped for each sampling clock Fs due to the EX scratch mode or the like, MS (4) is executed similarly to the normal mode start process MS (0). Restarts 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, reproduction of two tones by pad on is performed in substantially the same procedure as in the normal mode. The DP routine is executed for each sampling clock Fs, and all 0 samples in the reproduction buffers PB0 and PB1 are repeatedly reproduced when the pad is not turned on, and the processing procedure when the pad is turned on is the same. The timing at the time of reproduction is the same as that in FIG. However, in the scratch reproduction mode, the RC acquisition routine RC (4) of FIG.
At the start of the operation, note-on is written into the sound source register sch of the scratch channel, and the operation speed V of the ribbon controller 106 is read.
EL is detected and written to the tone generator register sch. Also,
The waveform generation process of the CPU 101 is set to HS (4) in FIG. 12A instead of HS (0). Waveform generation routine HS
In (4), a waveform sample for two tones by pad-on is generated by the subroutine Normal 2 in the same manner as in the normal mode, and F is generated according to the detected speed VEL by the subroutine scratch (FIG. 14).
The waveform sample in the scratch area SR is read out 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, scratch reproduction using the designated waveform data is realized in addition to the two sounds caused by pad-on.
【0125】スクラッチ再生モードでは、ノーマルモー
ドで4音再生していたのを2音に減らし、そのように楽
音生成数を減らす代わりに、スクラッチ音を発生するも
のである。1フレーム時間内で所定数のサンプル生成を
行なわなければならないため、ノーマルモードで4音再
生可能であったのが、それに加えてスクラッチ音を発生
する場合には処理時間が足りなくなってしまう。そこ
で、楽音生成数を2音に減らし、波形生成の処理時間を
短縮し、余った時間でスクラッチ音の発生を行なうよう
にしたものである。In the scratch reproduction mode, the reproduction of four sounds in the normal mode is reduced to two sounds. Instead of reducing the number of generated musical sounds, a scratch sound is generated. Since a predetermined number of samples must be generated within one frame time, four sounds can be reproduced in the normal mode. However, when a scratch sound is generated, the processing time becomes insufficient. Therefore, the number of generated musical sounds is reduced to two, the processing time of waveform generation is reduced, and a scratch sound is generated in an 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 switch, the above-described FIG.
In the mode SW event routine of 5, the register m is set to 5. EX filter mode start processing MS
Although the flowchart of (5) is omitted, the MS (5) performs the activation process of the DR (5) routine. That is, C
The PU 101 instructs the sound I / O 112 and the DMA controller 113 to interrupt the CPU 101 for each sampling clock Fs from the Fs generator 110, and executes 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
The CPU 101 interrupts the CPU 101 for each sampling clock Fs, and does not stop the operation of reproducing the waveform data in the reproduction buffer by executing the DP routine of FIG. If the operation of executing the DP routine has been stopped, the normal mode start processing M
As in S (0), the reproduction operation is resumed in MS (5)). That is, the sampling clock Fs
Each time, DP and DR (5) are executed. In this case, since the operation is performed according to the same sampling clock Fs, 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. Triggered by the interrupt issued at the same timing, the waveform generation routine HS (5) of FIG. 12B is executed. In the EX filter mode, the external input is not substantially recorded.
The reason why the external input is fetched in the R (5) routine is to filter the fetched waveform data.) 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 an interrupt occurs at the same timing from DP and DR (5), the waveform data from the external input 111 is stored in the recording buffer RBk bar.
Eight samples (linear samples) have been written, and the reproduction buffer PBr bar is empty. The waveform generation routine HS (5) has a recording buffer RBk bar of 128.
The filtering process is performed on the number of waveform samples, and the 128 waveform samples resulting from the processing are set in the reproduction buffer PBr bar. The filter coefficient of the filtering is determined by a timer interrupt in the RC capture routine RC of FIG.
By executing (5), the detection value R of the ribbon controller 106 is obtained.
D is taken in and determined according to the detected value RD. As described above, the external input 111 can be output after being subjected to the filter control by the ribbon controller 106.
【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 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. Although the flowchart of the start process MS (6) of the EX scratch mode is omitted, the MS (6)
Then, the following processing is performed. First, the CPU 101
To sound I / O 112 and DMA controller 1
13, the CPU 101 interrupts the CPU 101 for each sampling clock Fs from the Fs generator 110, and executes the DP routine of FIG.
The operation of reproducing and outputting the Br waveform sample is stopped.
Also, the CPU 101 instructs the sound I / O 112 to directly connect the A / D input and the D / A output,
A tone signal is directly transmitted from the audio signal 11 to the sound system 114 to emit sound. The CPU 101 instructs the sound I / O 112 and the DMA controller 113 to input a sampling clock F from the Fs generator 110.
The CPU 101 is interrupted every s.
A DR (6) routine of No. 5 is executed to start an operation of writing an external waveform sample to the recording buffer SRBk. In the EX scratch mode, the external input is not substantially recorded (the external input is captured in the DR (6) routine because the captured waveform data is used for scratch reproduction).
03 is not written. Step 30
Since the timer interrupt is enabled in the initial setting of 1,
In response to a timer interruption by the timer 105, the RC fetching routine RC (6) in FIG. 10 is 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, steps 1001 → 10 in RC (6) of FIG.
Since the processing ends at 02 → 1003 → end, the processing of directly emitting sound from the external input 111 to the sound system 114 is continued. In addition, since the DR (6) routine is executed by interruption every sampling clock Fs,
Linear waveform samples obtained by A / D conversion of the external input 111 are input to the recording buffers SRB0 and SRB via the input FIFO.
1 is written alternately.
【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 (a finger or the like is touched), the flow proceeds to steps 1001 → 1002 → 1004 → 1005 in RC (6), and in the next step 1006, the CPU 101 instructs the DMA controller 113. To stop the execution of the DR (6) routine by interrupting the CPU 101 for each sampling clock Fs, and to execute the recording buffer SRBk of the two recording buffers SRB0 and SRB1 which are not currently written. Figure 2 on the bar
The scratch area SR is set as described in (e). Next, in step 1007, the read address SAD
Is set as the value (predetermined value) of the scratch pointer SP. Further, in step 1008, the reproduction buffer PB
r to generate 128 samples to be reproduced first,
The CPU 101 issues an instruction to the DMA controller 113 to restart the execution of the DP routine by interrupting the CPU 101 for each sampling clock Fs. Further, an interrupt having the same meaning as the interrupt generated in step 1605 of the DP routine in FIG. 16 is generated. By this interrupt, HS (6) is executed, and 128 samples to be scratch-reproduced next are generated on the PBr bar.
Further, in step 1008, note-on is written to 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 tone signal is directly transmitted from the external input 111 to the sound system 114 to emit sound. Stop that thing.
【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バーに設
定されることになる)。以上により、外部から入力した
波形データを用いたスクラッチ再生が実現される。Further, when the ribbon controller 106 is moved while touching a finger or the like, the flow advances from step 1004 to step 1011 to detect the speed VEL and set it in the tone generator register sch. On the other hand, the sampling clock F
In the DP routine executed by the interruption every s, the reproduction buffers PB0 and PB1 are continuously reproduced alternately. Therefore, the reproduction of the scratch sound 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) activated by the interruption of step 1605 of the DP routine
In the waveform generation routine HS (6), since RS = 1 while the operation of the ribbon controller 106 is being performed, the process proceeds from step 1221 to step 1222, and the EX scratch processing of FIG. 14 is performed. EX in FIG.
In the scratch process, 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).
At 06, it looks like channel accumulation, but PB
Since the r bar is set to all 0s, the waveform sample TMP to be scratch-reproduced is substantially 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 is a diagram showing the F number SFN for scratching based on the speed VEL performed in step 1401 of FIG.
Here is 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 larger the absolute value of the value of the speed VEL is, the larger the change amount of the F number SFN is, so that even when the length of the ribbon controller 106 is short, a scratch effect in which the pitch change is large can be realized. .
【0133】なお、スクラッチ再生では聴感上正確なピ
ッチは要求されないので、必要に応じてスクラッチ用ア
ドレスSADの小数部のビット数を減らしてもよい。す
なわち、図14のステップ1403で累算したアドレス
SADの小数部のビット数を減らしてもよい。そうする
ことにより、ステップ1405で行なう補間の演算量を
減らすことができる。さらに、速度VELからスクラッ
チ用FナンバSFNへ変換する際に図18(b)のよう
なテーブルを用いて、これによりFナンバSFNにおい
て小数部のビット数を減らすことにより同様にして補間
の演算量の減少の効果を得ることもできる。Note that since accurate pitch is not required in terms of audibility in scratch reproduction, the number of bits in the decimal part of the scratch address SAD may be reduced as necessary. That is, the number of bits of the decimal part of the address SAD accumulated in step 1403 of FIG. 14 may be reduced. By doing so, the amount of calculation for the interpolation performed in step 1405 can be reduced. Further, when converting from the speed VEL to the F number SFN for scratch, a table as shown in FIG. 18B is used, thereby reducing the number of bits of the decimal part in the F number SFN, thereby similarly calculating the amount of interpolation. Can be obtained.
【0134】また、上記の例ではEXスクラッチモード
において、SRB0,SRB1の2つの録音バッファに
交互に外部入力からの波形データを格納し、リボンコン
トローラの操作開始時点で書き込みが行なわれていない
方の録音バッファにスクラッチ領域を設定するようにし
ているが、録音バッファを3つ以上設けて順番に(リン
グ状に)波形データを格納し、リボンコントローラの操
作開始時点で書き込みが行なわれていない複数の録音バ
ッファ上にスクラッチ領域を設定するようにしてもよ
い。そのようにすれば、複数の録音バッファ上にスクラ
ッチ領域を設定するので、スクラッチするのに十分な容
量のスクラッチ領域を設定することができる。また、1
つの録音バッファの容量を小さくできるので、リボンコ
ントローラの操作開始時点で書き込みの行なわれている
録音バッファ上のデータ量が少なくなり、スクラッチに
用いることがないデータ(捨て去るデータ)を少なくで
きる。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 sequentially store (in a ring shape) the waveform data, and a plurality of writing buffers that 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, a scratch area is set on a plurality of recording buffers, so that a scratch area having a capacity sufficient for scratching can be set. Also, 1
Since the capacity of one recording buffer can be reduced, the amount of data in the recording buffer in which writing is performed at the start of the operation of the ribbon controller is reduced, and the data that is not used for scratching (data to be discarded) can be reduced.
【0135】なお図17(a)では、パッドオンの検出
区間、CPUによる波形生成の区間、およびDMACの
DPルーチンの実行区間の各区間先頭時点を完全に一致
させて図示しているが、必ずしも一致させる必要はな
く、各区間はずれていてもよい。図17(b)の録音時
タイミングも同様である。In FIG. 17 (a), the head-on time of each section of the pad-on detection section, the section for waveform generation by the CPU, and the section for executing the DP routine of the DMAC are completely coincident with each other. There is no need to make the intervals, and each section may be shifted. The same applies to the recording timing in FIG.
【0136】また図17(a)では、DPルーチンで一
方の再生バッファのサンプルを再生し終えた時点でCP
Uによる波形生成を行なうようにしているが、再生バッ
ファ中で再生していないサンプル数を検出し、その数が
所定数以下になったら、空き部分に新たなサンプルを生
成するようにしてもよい。したがって、サンプルの再生
と生成のタイミングを調整しさえすれば、再生バッファ
は1つでもよいし、3つ以上の複数でもよい。In FIG. 17A, when the reproduction of the sample of one reproduction buffer in the DP routine is completed, the CP
Although the waveform generation by U is performed, the number of unreproduced samples in the reproduction buffer is detected, and when the number becomes less than or equal to a predetermined number, a new sample may be generated in an empty portion. . Therefore, as long as the timing of reproduction and generation of the sample is adjusted, only one reproduction buffer or three or more reproduction buffers may be used.
【0137】[0137]
【発明の効果】以上説明したように、この発明によれ
ば、記憶手段からディジタルデータである波形データを
読み出して再生する楽音発生装置において、座標検出操
作子を備え、該座標検出操作子で検出した座標値に基づ
いて決定した読み出しアドレスにより波形データを順次
読み出して出力するようにしているので、従来アナログ
レコードでしか行なうことができなかったスクラッチ効
果をディジタル機器で自然な操作感で行なうことができ
る。As described above, according to the present invention, a musical sound generator for reading out and reproducing waveform data, which is digital data, from a storage means is provided with a coordinate detection operator, and the coordinate detection operator detects the waveform data. The waveform data is sequentially read and output according to the read address determined based on the coordinate values thus obtained, so that the scratch effect which could only be performed by the conventional analog record can be performed with a natural operation feeling by the digital device. it can.
【0138】特に、請求項1、3の楽音発生装置では、
座標検出操作子の操作が開始された時点で、読み出し開
始位置としてあらかじめ定められている特定アドレスか
ら波形データの読み出しを開始しているので、座標検出
操作子のどの位置から操作開始しても、常に特定のアド
レスから波形データの再生が行なわれるようになる。ア
ナログレコードを用いたスクラッチではリズムに合わせ
てレコード盤の特定位置が繰り返し再生されるように操
作するが、本発明によれば、それと同じような効果が容
易に得られる。In particular, in the musical sound generating apparatus according to the first and third aspects,
At the time when the operation of the coordinate detection operator is started, the reading of the waveform data has been started from a specific address that is predetermined as a read start position. Reproduction of waveform data is always performed from a specific address. In a scratch using an analog record, an operation is performed so that a specific position on the record board is repeatedly reproduced according to the rhythm. According to the present invention, the same effect can be easily obtained.
【0139】また、請求項2、3、5の楽音発生装置で
は、座標検出操作子で検出される座標から速度を求め、
速度に応じて決定したFナンバをアドレスに累算して波
形データの読み出しアドレスを作成している。したがっ
て、有限長の座標操作子でFナンバの変化領域を幅広く
とることができ、幅広いスクラッチ効果の制御が可能と
なる。Further, according to the musical tone generating device of the second, third and fifth aspects, the speed is obtained from the coordinates detected by the coordinate detecting operator.
A read address for waveform data is created by accumulating the F number determined according to the speed in the address. Therefore, the F number change area can be made wider by the finite length coordinate operator, and a wide range of scratch effect control becomes possible.
【0140】さらに、請求項4、5の楽音発生装置で
は、リアルタイムに入力する楽音波形に対してスクラッ
チ効果をかけることができる。演奏者は、再生されてい
る楽曲の気に入った位置でスクラッチを行なうことがで
きる。Further, in the tone generator according to the fourth and fifth aspects, a scratch effect can be applied to a tone waveform input in real time. The player can perform a scratch at a favorite position of the music being reproduced.
【図1】この発明に係る楽音発生装置であるサンプラー
のブロック構成図FIG. 1 is a block diagram of a sampler which is a musical sound generator according to the present invention.
【図2】図1のサンプラーにおける各種のワーク領域を
示す図FIG. 2 is a view showing various work areas in the sampler of FIG. 1;
【図3】定常ルーチンのフローチャート図FIG. 3 is a flowchart of a normal 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 a scratch reproduction mode start process MS (4).
【図7】パッドオンイベントルーチン(モードm=0,
2,4)のフローチャート図FIG. 7 shows a pad-on event routine (mode m = 0,
Flowchart diagram of 2, 4)
【図8】パッドオンイベントルーチン(モードm=3)
のフローチャート図FIG. 8 is a pad-on event routine (mode m = 3);
Flowchart diagram
【図9】リボンコントローラ検出値取り込みルーチンR
C(m)(m=2,5)のフローチャート図FIG. 9 shows a ribbon controller detection value acquisition 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 acquisition routine RC (m) (m = 4, 6).
【図11】波形生成ルーチンHS(m)(モードm=
0,2,3)のフローチャート図FIG. 11 is a waveform generation routine HS (m) (mode m =
Flow chart of (0, 2, 3)
【図12】波形生成ルーチンHS(m)(モードm=
4,5,6)のフローチャート図FIG. 12 is a waveform generation routine HS (m) (mode m =
Flowchart diagram of 4, 5, 6)
【図13】サブルーチンノーマルnおよびピッチ2のフ
ローチャート図FIG. 13 is a flowchart of a subroutine normal n and a pitch 2;
【図14】スクラッチ処理、およびEXスクラッチ処理
のフローチャート図FIG. 14 is a flowchart of a scratch process and an EX scratch process.
【図15】DR(m)ルーチン(モードm=1,5,
6)のフローチャート図FIG. 15 shows a DR (m) routine (mode m = 1, 5,
6) Flow chart
【図16】DPルーチンのフローチャート図FIG. 16 is a flowchart of a DP routine.
【図17】再生時および録音時のタイミングを示す図FIG. 17 is a diagram showing timings during reproduction and recording.
【図18】速度VELからスクラッチ用FナンバSFN
ヘの変換例を示す図FIG. 18 is a diagram illustrating an F number SFN for a scratch from a speed VEL.
Diagram showing example of conversion
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.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G10H 7/02 G10H 1/053 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 6 , DB name) G10H 7/02 G10H 1/053
Claims (7)
表す波形データを格納した記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込む操作子出力取り込み手段と、 前記座標検出操作子の操作が開始された時点で、読み出
し開始位置としてあらかじめ定められている特定アドレ
スから前記記憶手段の波形データの読み出しを開始し、
前記座標検出操作子が操作されている間前記操作子出力
取り込み手段によって取り込まれる座標値に基づいて決
定した読み出しアドレスにより、前記記憶手段の波形デ
ータを順次読み出し、読み出した波形データを出力する
処理手段とを備えたことを特徴とする楽音発生装置。A storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period; a finite-length coordinate detection operator for outputting a coordinate value of a contact position touched by a finger, a stick, or another member; An operator output capturing means for sequentially capturing the coordinate values output from the coordinate detection operator at predetermined intervals, and a specific address which is predetermined as a read start position when the operation of the coordinate detection operator is started. Starting reading the waveform data from the storage means from
Processing means for sequentially reading the waveform data of the storage means and outputting the read waveform data by a read address determined based on the coordinate value taken in by the manipulator output taking means while the coordinate detection manipulator is being operated; And a tone generator.
表す波形データを格納した記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込み、取り込んだ座標値から前記接触位置
の移動速度を求めて出力する操作子出力取り込み手段
と、 前記操作子出力取り込み手段から出力される移動速度に
応じて決定したFナンバを読み出しアドレスに累算して
新たな読み出しアドレスを算出し、累算ごとに該読み出
しアドレスにより前記記憶手段から波形データを読み出
して出力する処理手段とを備えたことを特徴とする楽音
発生装置。A storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period; a finite-length coordinate detection operator for outputting a coordinate value of a contact position touched by a finger, a stick, or another member; An operator output capturing unit that sequentially captures the coordinate values output from the coordinate detection operator at predetermined intervals, obtains and outputs the moving speed of the contact position from the captured coordinate values, and outputs the output from the operator output capturing unit. Processing means for accumulating the F number determined according to the moving speed to be calculated to the read address to calculate a new read address, and reading and outputting the waveform data from the storage means using the read address for each accumulation. A musical sound generator comprising:
表す波形データを格納した記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込み、取り込んだ座標値から前記接触位置
の移動速度を求めて出力する操作子出力取り込み手段
と、 前記座標検出操作子の操作が開始された時点で、読み出
し開始位置としてあらかじめ定められている特定の読み
出しアドレスから前記記憶手段の波形データの読み出し
を開始し、前記座標検出操作子が操作されている間は、
前記操作子出力取り込み手段から出力される移動速度に
応じて決定したFナンバを読み出しアドレスに累算して
新たな読み出しアドレスを算出し、該読み出しアドレス
により前記記憶手段から波形データを読み出して出力す
る処理手段とを備えたことを特徴とする楽音発生装置。A storage means for storing waveform data representing a waveform amplitude value for each predetermined sampling period; a finite-length coordinate detection operator for outputting a coordinate value of a contact position touched by a finger, a stick, or another member; An operator output capturing unit that sequentially captures the coordinate values output from the coordinate detection operator at predetermined intervals, obtains and outputs the moving speed of the contact position from the captured coordinate values, and operates the coordinate detection operator. At the time of the start, the reading of the waveform data of the storage means is started from a specific read address that is predetermined as a read start position, and while the coordinate detection operation element is being operated,
A new read address is calculated by accumulating the F number determined according to the moving speed output from the manipulator output capture means to the read address, and the waveform data is read out from the storage means using the read address and output. A musical sound generator comprising a processing means.
タを記憶するための記憶手段と、 外部からリアルタイムに入力した波形データをそのまま
出力する出力手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込む操作子出力取り込み手段と、 前記座標検出操作子の操作が開始された時点で前記出力
手段による波形データの出力および前記記憶手段への波
形データの記憶を停止し、前記操作子出力取り込み手段
によって取り込まれる座標値に基づいて決定した読み出
しアドレスにより、前記記憶手段の波形データを順次読
み出し、読み出した波形データを出力する処理手段とを
備えたことを特徴とする楽音発生装置。4. A storage means for storing waveform data inputted from outside in real time, an output means for outputting waveform data inputted from outside in real time as it is, and a contact position of a finger or a stick or another member. A finite-length coordinate detection operator that outputs coordinate values, an operator output capturing unit that sequentially captures 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 unit and the storage of the waveform data in the storage unit are stopped, and the waveform data of the storage unit is determined by the read address determined based on the coordinate value fetched by the operator output fetching unit. And a processing means for sequentially reading the waveform data and outputting the read waveform data.
表す波形データを外部からリアルタイムに入力する入力
手段と、 前記入力手段によりリアルタイムに入力した波形データ
を、そのままリアルタイムに出力して再生する再生手段
と、 前記入力手段によりリアルタイムに入力した波形データ
のうち、常に所定容量の最新の波形データを格納するよ
うにした記憶手段と、 指や棒その他の部材で触れた接触位置の座標値を出力す
る有限長の座標検出操作子と、 前記座標検出操作子から出力される座標値を所定周期ご
とに順次取り込み、取り込んだ座標値から前記接触位置
の移動速度を求めて出力する操作子出力取り込み手段
と、 前記座標検出操作子の操作が開始された時点で、前記再
生手段による波形データのリアルタイムな再生および前
記記憶手段への新たな波形データの記憶を停止するとと
もに、読み出し開始位置としてあらかじめ定められてい
る特定の読み出しアドレスから前記記憶手段の波形デー
タの読み出しを開始し、前記座標検出操作子が操作され
ている間は、前記操作子出力取り込み手段から出力され
る移動速度に応じて決定したFナンバを読み出しアドレ
スに累算して新たな読み出しアドレスを算出し、該読み
出しアドレスにより前記記憶手段から波形データを読み
出して出力する処理手段とを備えたことを特徴とする楽
音発生装置。5. An input means for externally inputting waveform data representing a waveform amplitude value for each predetermined sampling period in real time, and a reproducing means for outputting and reproducing the waveform data input in real time by said input means in real time as it is. And 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 outputting coordinate values of a contact position touched by a finger, a stick, or another member. A finite-length coordinate detection operator, an operator output capture unit that sequentially captures the coordinate values output from the coordinate detection operator at predetermined intervals, obtains and outputs the moving speed of the contact position from the captured coordinate values, and When the operation of the coordinate detection operator is started, the real-time reproduction of the waveform data by the reproduction means and the previous The storage of the new waveform data in the storage means is stopped, and 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 the coordinate detection operation element is operated. During this period, the F number determined according to the moving speed output from the operator output capturing means is added to the read address to calculate a new read address, and the read address is used to calculate waveform data from the storage means. And a processing means for reading and outputting.
に基づいて前記記憶手段の読み出しアドレスを決定するThe read address of the storage means is determined based on
ものである請求項1から3の何れか1つに記載の楽音発A tone generator according to any one of claims 1 to 3,
生装置。Raw equipment.
作位置が変更されなかった場合、楽音を発生しない請求Requests that do not generate a musical tone if the operation position is not changed
項1から3の何れか1つに記載の楽音発生装置。Item 4. The tone generator according to any one of Items 1 to 3.
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 |
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 |
SG1996010726A SG47179A1 (en) | 1995-09-20 | 1996-09-18 | 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 |
EP00102932A EP1018724B1 (en) | 1995-09-20 | 1996-09-19 | Computerized music apparatus processing waveform to create sound effect |
DE69613068T DE69613068T2 (en) | 1995-09-20 | 1996-09-19 | Digital musical instrument with waveform processing to create a sound effect |
EP96115054A EP0764934B1 (en) | 1995-09-20 | 1996-09-19 | Computerized music apparatus processing waveform to create 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 |
HK98111661A HK1010763A1 (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 JPH0990958A (en) | 1997-04-04 |
JP2933204B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6024722B2 (en) | 2014-09-22 | 2016-11-16 | カシオ計算機株式会社 | Musical sound control device, musical sound control method, program, and electronic musical instrument |
-
1995
- 1995-09-20 JP JP7266252A patent/JP2933204B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0990958A (en) | 1997-04-04 |
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 | |
JPH10319964A (en) | Electronic musical instrument | |
JP3293474B2 (en) | Tone generation method | |
JP3163984B2 (en) | Music generator | |
JPH0922287A (en) | Musical sound waveform generating method | |
JP2933204B2 (en) | Tone generator capable of scratch operation | |
JP2956550B2 (en) | Music sound generating apparatus and music sound generating method | |
JP2000276172A (en) | Musical sound generating device and storage medium | |
JP3327107B2 (en) | Music generator | |
JPH07306681A (en) | Musical sound producing device | |
JP3572847B2 (en) | Sound source system and method using computer software | |
JP4120979B2 (en) | Waveform playback device | |
JP3137043B2 (en) | Waveform memory tone generator and tone generator | |
JP3781171B2 (en) | Music generation method | |
JP3723973B2 (en) | Sound generator | |
JP2765433B2 (en) | Memory playback device | |
JP2626315B2 (en) | Signal processing device | |
JP3740717B2 (en) | Tone generator and musical sound generation method | |
JP3518357B2 (en) | Music generating method, musical sound generating apparatus and computer readable recording medium storing musical sound generating processing program | |
JP3148803B2 (en) | Sound source device | |
JPH10124051A (en) | Music data processing method, reproducing method for music data after processing, and storage medium | |
JP3178176B2 (en) | Automatic accompaniment 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 | |
JP2956552B2 (en) | Musical sound generating method and apparatus | |
JP3627557B2 (en) | Musical sound generating apparatus and method |
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 |