JP2956550B2 - 楽音発生装置および楽音発生方法 - Google Patents

楽音発生装置および楽音発生方法

Info

Publication number
JP2956550B2
JP2956550B2 JP7266253A JP26625395A JP2956550B2 JP 2956550 B2 JP2956550 B2 JP 2956550B2 JP 7266253 A JP7266253 A JP 7266253A JP 26625395 A JP26625395 A JP 26625395A JP 2956550 B2 JP2956550 B2 JP 2956550B2
Authority
JP
Japan
Prior art keywords
mode
waveform data
reproduction
tone
scratch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7266253A
Other languages
English (en)
Other versions
JPH0990955A (ja
Inventor
博文 向野
武司 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP7266253A priority Critical patent/JP2956550B2/ja
Priority to US08/716,552 priority patent/US6025552A/en
Priority to SG1996010726A priority patent/SG47179A1/en
Priority to EP00102932A priority patent/EP1018724B1/en
Priority to EP96115054A priority patent/EP0764934B1/en
Priority to DE69613068T priority patent/DE69613068T2/de
Priority to DE69632696T priority patent/DE69632696T2/de
Priority to KR1019960041264A priority patent/KR100386404B1/ko
Publication of JPH0990955A publication Critical patent/JPH0990955A/ja
Priority to HK98111661A priority patent/HK1010763A1/xx
Application granted granted Critical
Publication of JP2956550B2 publication Critical patent/JP2956550B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディジタルメモ
リに格納された波形データをソフトウェアにより読み出
して再生し、あるいはリアルタイムに入力する波形デー
タをソフトウェアにより出力して再生する楽音発生装置
および楽音発生方法に関し、特に、通常再生できる楽音
の数を減らす代わりに、生成する楽音にフィルタ処理、
ピッチ付与処理、あるいはスクラッチ効果の付与などを
行なうことができる楽音発生装置および楽音発生方法に
関する。
【0002】
【従来の技術】従来より、あらかじめ外部音を録音(サ
ンプリング)した波形データを記憶装置に記憶保持して
おき、再生時には、操作子の操作に応じて録音した波形
データをソフトウェアで読み出して再生するソフトウェ
ア音源が知られている。
【0003】
【発明が解決しようとする課題】しかし、従来のソフト
ウェア音源は機能が固定化されており、目的に合わない
場合があった。
【0004】近年では、楽音に種々の効果(例えば、デ
ィジタル音色フィルタ処理やスクラッチ効果など)を付
与するなどさらに高機能な音源が求められている。な
お、スクラッチとは、アナログレコードをターンテーブ
ル上で再生中にそのレコードを手で強制的に動かして再
生速度を極端に変化させ特殊な効果音を生み出す技法の
ことである。スクラッチは、アナログレコードを用いた
特殊な技法であって、従来、ディジタル楽音機器でスク
ラッチ効果を実現するものはなかった。
【0005】この発明は、ディジタルメモリに格納され
た波形データをソフトウェアで読み出して再生する楽音
発生方式において、生成する楽音数を減らす代わりに、
楽音に種々の加工や効果の付与を行ない、従来ソフトウ
ェア音源で実現されていない機能を実現することを目的
とする。また、この発明は、リアルタイムに入力する波
形データをそのまま出力して再生する楽音発生方式にお
いて、外部入力の波形データに対して種々の加工や効果
の付与を行ない、従来ソフトウェア音源で実現されてい
ない機能を実現することを目的とする。
【0006】
【課題を解決するための手段】この目的を達成するた
め、この発明の請求項1に係る楽音発生装置は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段と、該記憶手段に格納されている波形デ
ータ再生を指示する再生指示手段と、動作モードとし
て、ノーマルモードまたはフィルタ再生モードを設定す
モード設定手段と、前記モード設定手段で設定された
モードに応じたソフトウェアを実行する処理装置であっ
て、ノーマルモードにおいては、前記再生指示手段によ
り波形データの再生が指示されたとき、前記記憶手段に
格納された波形データを読み出すことにより所定時間間
隔で最大n音分の楽音を複数サンプル分一括して生成
し、フィルタ再生モードにおいては、前記再生指示手段
により波形データの再生が指示されたとき、前記記憶手
段に格納された波形データを読み出すとともに該波形デ
ータに対してディジタル音色フィルタ処理を施すことに
より所定時間間隔で最大m(ただし、m<n)音分の楽
音を複数サンプル分一括して生成するものと、前記処理
装置による楽音の生成と並行して、前記処理装置で生成
された楽音の各サンプルを前記所定時間間隔より短い時
間間隔で出力する出力手段とを備えたことを特徴とす
る。
【0007】請求項2に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格
した記憶手段と、該記憶手段に格納されている波形デー
再生を指示する再生指示手段と、動作モードとし
て、ノーマルモードまたはピッチ付き再生モードを設定
するモード設定手段と、生成する楽音のピッチを指定す
るピッチ指定手段と、前記モード設定手段で設定された
モードに応じたソフトウェアを実行する処理装置であっ
て、ノーマルモードにおいては、前記再生指示手段によ
り波形データの再生が指示されたとき、前記記憶手段に
格納された波形データを読み出すことにより所定のピッ
チの楽音を最大n音分生成し、ピッチ付き再生モードに
おいては、前記再生指示手段により波形データの再生が
指示されたとき、前記記憶手段に格納された波形データ
を前記ピッチ指定手段で指定されたピッチに応じて読み
出すことにより前記ピッチ指定手段で指定されたピッチ
の楽音を最大m(ただし、m<n)音分生成するもの
を備えたことを特徴とする。
【0008】請求項3に係る楽音発生装置は、請求項2
において、前記処理装置が、ノーマルモードにおいて
は、前記記憶手段に格納された波形データを読み出すた
めの整数部からなるアドレスを生成し、前記アドレスの
整数部に応じて前記記憶手段に格納された波形データを
読み出し、ピッチ付き再生モードにおいては、前記ピッ
チ指定手段で指定されたピッチに応じて前記記憶手段に
格納された波形データを読み出すための整数部および小
数部からなるアドレスを生成し、生成したアドレスの整
数部に応じて前記記憶手段に格納された波形データを読
み出すとともに該読み出した波形データを前記アドレス
の小数部に応じて補間するものであることを特徴とす
る。請求項3に係る楽音発生装置は、請求項2におい
て、前記処理装置が所定時間間隔で前記楽音を複数サン
プル分一括して生成するものであり、さらに前記処理装
置による楽音の生成と並行して、前記処理装置で生成さ
れた楽音の各サンプルを前記所定時間間隔より短い時間
間隔で出力する出力手段を備えたことを特徴とする。
【0009】請求項4に係る楽音発生装置は、請求項
において、再生指示手段とピッチ指定手段とを同じ操作
子で共用し、該操作子を、ノーマルモードが選択されて
いるときは再生指示手段として用い、ピッチ付き再生モ
ードが選択されているときはピッチ指定手段として用い
るようにしたものである。
【0010】
【0011】請求項6に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格
した記憶手段と、該記憶手段に格納されている波形デー
再生を指示する再生指示手段と、動作モードとし
て、ノーマルモードまたはスクラッチ再生モードを設定
するモード設定手段と、ユーザがスクラッチ操作を行な
うためのスクラッチ操作子と、前記モード設定手段で設
定されたモードに応じたソフトウェアを実行する処理装
置であって、ノーマルモードにおいては、前記再生指
手段により波形データの再生が指示されたとき、前記記
憶手段に格納された波形データを読み出すことにより所
定時間間隔で最大n音分の楽音を複数サンプル分一括し
生成し、スクラッチ再生モードにおいては、前記記憶
手段に格納された波形データを、前記スクラッチ操作子
からの出力に基づいて決定したアドレスで読み出すこと
により所定時間間隔で最大m(ただし、m<n)音分の
楽音を複数サンプル分一括して生成するものと、前記処
理装置による楽音の生成と並行して、前記処理装置で生
成された楽音の各サンプルを前記所定時間間隔より短い
時間間隔で出力する出力手段とを備えたことを特徴とす
る。
【0012】請求項7に係る楽音発生装置は、所定サン
プリング周期ごとの波形振幅値を表す波形データを格
した記憶手段と、該記憶手段に格納されている波形デー
再生を指示する再生指示手段と、動作モードとし
て、ノーマルモードまたは外部入力モードを設定する
ード設定手段と、外部からリアルタイムに波形データを
入力する外部入力手段と、前記モード設定手段で設定さ
れたモードに応じたソフトウェアを実行する処理装置で
あって、ノーマルモードにおいては、前記再生指示手段
により波形データの再生が指示されたとき、前記記憶手
段に格納された波形データを読み出すことにより所定時
間間隔で最大n音分の楽音を複数サンプル分一括して
成し、外部入力モードにおいては、前記外部入力手段に
より入力した波形データに対して特殊効果付与処理を施
すことにより所定時間間隔で最大m(ただし、m<n)
音分の楽音を複数サンプル分一括して生成するものと、
前記処理装置による楽音の生成と並行して、前記処理装
置で生成された楽音の各サンプルを前記所定時間間隔よ
り短い時間間隔で出力する出力手段とを備えたことを特
徴とする。請求項8に係る発明は、請求項7において、
前記処理装置が、外部入力モードにおいて、前記再生指
示手段の指示に基づく楽音の生成を停止するものである
ことを特徴とする。
【0013】請求項に係る楽音発生装置は、請求項7
において、前記処理装置における特殊効果付与処理を、
ソフトウェアによるディジタル音色フィルタ処理、また
はスクラッチ効果付与処理としたものである。
【0014】請求項10に係る楽音発生装置は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段と、該記憶手段に格納されている波形デ
ータ再生を指示する再生指示手段と、動作モードとし
て、ノーマルモードまたは外部入力スクラッチモードを
設定するモード設定手段と、ユーザがスクラッチ操作を
行なうためのスクラッチ操作子と、外部からリアルタイ
ムに波形データを入力する外部入力手段と、前記モード
設定手段で設定されたモードに応じたソフトウェアを実
行する処理装置であって、ノーマルモードにおいては、
前記再生指示手段により波形データの再生が指示された
とき、前記記憶手段に格納された波形データを読み出
ことにより楽音を生成し、外部入力スクラッチモードに
おいては、楽音生成数を前記ノーマルモードにおける楽
音生成数より減らすとともに、その代わりに、前記外部
入力手段により入力して一時記憶しておいた波形データ
を、前記スクラッチ操作子からの出力に基づいて決定し
たアドレスでリアルタイムに読み出し出力することによ
、楽音を生成するものとを備えたことを特徴とする。
請求項11は、請求項10において、前記処理装置が、
外部入力スクラッチモードにおいては、前記再生指示手
段の指示に基づく楽音の生成を停止するものであること
を特徴とする。請求項12は、請求項10において、前
記処理装置が、外部入力スクラッチモードにおいては、
前記スクラッチ操作子の操作が行なわれていないとき
に、前記外部入力手段から入力した波形データを受け取
るとともに、前記スクラッチ操作子が操作されたとき、
既に受け取った前記波形データを、前記スクラッチ操作
子からの出力に基づいて決定したアドレスで読み出し出
力するものであることを特徴とする。請求項13は、請
求項10において、前記処理装置が、所定時間間隔で前
記楽音を複数サンプル分一括して生成するものであり、
さらに、前記処理装置による楽音の生成と並行して、前
記処理装置で生成された楽音の各サンプルを前記所定時
間間隔より短い時間間隔で出力する出力手段を備えたこ
とを特徴とする。請求項14は、請求項1乃至13にお
いて、前記モード設定手段は、ユーザにより任意のモー
ドが設定されるものであることを特徴とする。
【0015】請求項15に係る楽音発生方法は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段から波形データを読み出して出力し、こ
れにより楽音を生成する楽音発生方法において、前記記
憶手段に格納されている波形データ再生を指示する再
生指示ステップと、動作モードとして、ノーマルモード
またはフィルタ再生モードを設定するモード設定ステッ
プと、前記モード設定ステップで設定されたモードに応
じたソフトウェアを実行する処理ステップであって、
ーマルモードにおいては、前記再生指示ステップによ
形データの再生が指示されたとき、前記記憶手段に格
納された波形データを読み出すことにより所定時間間隔
で最大n音分の楽音を複数サンプル分一括して生成し、
フィルタ再生モードにおいては、前記再生指示ステップ
により波形データの再生が指示されたとき、前記記憶手
段に格納された波形データを読み出すとともに該波形デ
ータに対してディジタル音色フィルタ処理を施すことに
より所定時間間隔で最大m(ただし、m<n)音分の楽
音を複数サンプル分一括して生成するステップと、前記
処理ステップによる楽音の生成と並行して、前記処理ス
テップで生成された楽音の各サンプルを前記所定時間間
隔より短い時間間隔で出力する出力ステップとを備えた
ことを特徴とする。
【0016】請求項16に係る楽音発生方法は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段から波形データを読み出して出力し、こ
れにより楽音を生成する楽音発生方法において、前記記
憶手段に格納されている波形データ再生を指示する再
生指示ステップと、動作モードとして、ノーマルモード
またはピッチ付き再生モードを設定するモード設定ステ
ップと、生成する楽音のピッチを指定するピッチ指定ス
テップと、前記モード設定ステップで設定されたモード
に応じたソフトウェアを実行する処理ステップであっ
て、ノーマルモードにおいては、前記再生指示ステップ
により波形データの再生が指示されたとき、前記記憶手
段に格納された波形データを読み出すことにより所定の
ピッチの楽音を最大n音分生成し、ピッチ付き再生モー
ドにおいては、前記再生指示ステップにより波形データ
の再生が指示されたとき、前記記憶手段に格納された波
形データを前記ピッチ指定ステップで指定されたピッチ
に応じて読み出すことにより前記ピッチ指定ステップで
指定されたピッチの楽音を最大m(ただし、m<n)音
分生成するステップとを備えたことを特徴とする。
【0017】請求項17に係る楽音発生方法は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段から波形データを読み出して出力し、こ
れにより楽音を生成する楽音発生方法において、前記記
憶手段に格納されている波形データ再生を指示する再
生指示ステップと、動作モードとして、ノーマルモード
またはスクラッチ再生モードを設定するモード設定ステ
ップと、スクラッチ操作子の操作を検出する検出ステッ
プと、前記モード設定ステップで設定されたモードに応
じたソフトウェアを実行する処理ステップであって、
ーマルモードにおいては、前記再生指示ステップによ
形データの再生が指示されたとき、前記記憶手段に格
納された波形データを読み出すことにより所定時間間隔
で最大n音分の楽音を複数サンプル分一括して生成し、
スクラッチ再生モードにおいては、前記記憶手段に格納
された波形データを前記スクラッチ操作子からの出力に
基づいて決定したアドレスで読み出すことにより所定時
間間隔で最大m(ただし、m<n)音分の楽音を複数サ
ンプル分一括して生成するステップと、前記処理ステッ
プによる楽音の生成と並行して、前記処理ステップで生
成された楽音の各サンプルを前記所定時間間隔より短い
時間間隔で出力する出力ステップとを備えたことを特徴
とする。
【0018】請求項18に係る楽音発生方法は、所定サ
ンプリング周期ごとの波形振幅値を表す波形データを格
納した記憶手段から波形データを読み出して出力し、こ
れにより楽音を生成する楽音発生方法において、前記記
憶手段に格納されている波形データ再生を指示する再
生指示ステップと、動作モードとして、ノーマルモード
または外部入力モードを設定するモード設定ステップ
と、外部からリアルタイムに波形データを入力する外部
入力ステップと、前記モード設定ステップで設定された
モードに応じたソフトウェアを実行する処理ステップで
あって、ノーマルモードにおいては、前記再生指示ステ
ップにより波形データの再生が指示されたとき、前記記
憶手段に格納された波形データを読み出すことにより所
定時間間隔で最大n音分の楽音を複数サンプル分一括し
生成し、外部入力モードにおいては、前記外部入力ス
テップにより入力した波形データに対して特殊効果付与
処理を施すことにより所定時間間隔で最大m(ただし、
m<n)音分の楽音を複数サンプル分一括して生成する
ステップと、前記処理ステップによる楽音の生成と並行
して、前記処理ステップで生成された楽音の各サンプル
を前記所定時間間隔より短い時間間隔で出力する出力ス
テップとを備えたことを特徴とする。
【0019】請求項19に係る楽音発生方法は、請求項
18において、前記処理ステップにおける特殊効果付与
処理を、ソフトウェアによるディジタル音色フィルタ処
理またはスクラッチ効果付与処理としたものである。
【0020】
【発明の実施の形態】以下、図面を用いてこの発明の実
施の形態を説明する。
【0021】図1は、この発明に係る楽音発生装置であ
るサンプラーのブロック構成図を示す。このサンプラー
は、中央処理装置(CPU)101、リードオンリーメ
モリ(ROM)102、フラッシュメモリ103、ラン
ダムアクセスメモリ(RAM)104、タイマ105、
リボンコントローラ106、パッド107、ディスプレ
イ108、パネルスイッチ109、サンプリングクロッ
ク(Fs)発生器110、サウンドI/O112、DM
A(ダイレクトメモリアクセス)コントローラ113、
およびバスライン115を備えている。
【0022】CPU101は、このサンプラーの全体の
動作を制御する。ROM102は、CPU101が実行
する制御プログラムを格納する。RAM104には、各
種のレジスタやバッファなどのワーク領域が設けられ
る。フラッシュメモリ103は、このサンプラーで録音
したときの波形データを記憶するためのメモリである。
録音した波形データは一時的にRAM104上の録音バ
ッファに蓄えられるが、その録音バッファが一杯になっ
たときフラッシュメモリ103に録音バッファ上の波形
データを移す。このサンプラーの電源をオフした場合で
も、フラッシュメモリ103上のデータは保持される。
【0023】タイマ105は、CPU101に対して所
定間隔でタイマ割り込みを発生させるためのタイマクロ
ック信号を発生する。タイマ割り込みにより、CPU1
01は、所定時間間隔ごとにリボンコントローラ106
の検出値を取り込む処理などを行なう。
【0024】リボンコントローラ106は、ユーザがス
クラッチ操作やその他の操作を行なうための操作子であ
る。リボンコントローラ106は、有限長の直線上の部
材からなり、指あるいは棒などの部材で触れると触れた
位置の座標が出力される座標検出操作子である。リボン
コントローラ106の特徴として、任意の位置から操作
を開始することができる。リボンコントローラ106
は、指や棒で触れていないときは所定値を出力し、触れ
ているときは触れた座標の位置を出力するので、リボン
コントローラ106が操作されているか否か(すなわ
ち、指や棒で触れているか否か)はその検出値から判定
できる。
【0025】パッド107は、ユーザが発音を支持する
ための操作子である。具体的には、10個のパッドが設
けられており、録音(サンプリング)時に一つのパッド
を指定して録音することができる。再生時にはそのパッ
ドをたたく(オン)ことにより、そのパッドに対応して
録音されていた波形データが読み出されて再生される。
なお、パッドをオンする代わりに、MIDI(Musical
Instrument Digital Interface)信号のノートオンを受
信して再生を行なうようにしてもよい。
【0026】ディスプレイ108は、各種の設定情報を
表示するためのものである。パネルスイッチ(SW)1
09は、ユーザが各種の設定操作を行なうためのパネル
上に設けられたスイッチ群である。パネルSW109
は、モード切り替えスイッチなどのスイッチを含む。
【0027】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が所定のソフトウエアを実行することによ
り行なうものとする。
【0028】サウンドI/O112は、内部に2つのF
IFO(First In First Out)方式のスタック領域を備
えている。一つはA/D入力端子経由で入力されたディ
ジタル波形データを保持する入力FIFOであり、もう
一つはD/A出力端子経由で出力するディジタル波形デ
ータを保持する出力FIFOである。
【0029】以下、入力FIFOと出力FIFOを用い
たサウンドI/O112の入出力の動作について、簡単
に説明する。
【0030】外部入力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で詳しく説明する。
【0031】一方、サウンド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で詳しく説明す
る。
【0032】さらに、サウンドI/O112は、A/D
入力端子に入力した波形データをそのままD/A出力端
子に素通しし、外部入力111からの楽音信号をそのま
まサウンドシステム114で放音するようにする機能を
備えている。A/D入力とD/A出力との接続は、CP
U101による指示に基づいて行なわれる。またCPU
101は、A/D入力とD/A出力の接続を切断するこ
ともできる。
【0033】次に、図1のサンプラーの機能の概要を説
明する。このサンプラーは、ノーマルモード、サンプリ
ングモード、フィルタ再生モード、ピッチ付き再生モー
ド、スクラッチ再生モード、外部入力(EX)フィルタ
モード、および外部入力(EX)スクラッチモードの7
つの動作モードを有する。これらのモードは、パネルS
W109上のモード切り替えスイッチにより切り替える
ことができる。以下、各モードについて説明する。
【0034】ノーマルモードは、録音した楽音を再生す
るモードである。このサンプラーの初期状態はノーマル
モードである。ノーマルモードにおいて、ユーザが10
個のパッド107の内の一つをたたく(パッドオン)
と、そのパッドに対応して録音された波形データが再生
される。ノーマルモードでは4音まで再生することがで
きる。すなわち、4つのパッドまではパッドオンごとに
そのパッドに対応して録音された波形データが再生さ
れ、5つ目のパッドをオンすると一番始めにオンされた
パッドに対応する再生音が停止し、新しくオンされた5
番目のパッドに対応する波形データが再生される。
【0035】サンプリングモードは録音を行なうモード
である。モード切り替えスイッチによりサンプリングモ
ードを指定したとき、ユーザは同時に録音を行なうパッ
ドを指定する。これにより、外部から入力する楽音をそ
のパッドに対応して録音することができる。
【0036】フィルタ再生モードでは、2音だけノーマ
ルモードと同様にパッドオンにしたがって再生される。
さらに、その再生音に対しディジタルフィルタ処理、具
体的にはローパスフィルタ処理を施す。ユーザは、リボ
ンコントローラ106を操作することにより、そのロー
パスフィルタ処理におけるカットオフ周波数を変更制御
することができる。
【0037】ピッチ付き再生モードは、録音した楽音を
ピッチ付きで再生するモードである。(ピッチ付き再生
モード以外の動作モードでは、録音したときのそのまま
のピッチで再生される。)モード切り替えスイッチによ
りピッチ付き再生モードを指定したとき、ユーザは同時
に何れかのパッドを指定することにより、ピッチ付き再
生モードで再生する波形データを指定する。その後は、
10個あるパッドの何れかをオンすると、そのパッドに
対応したピッチで、先に指定した波形データが再生され
る。当モードで再生できるのは2音分である。なお、こ
こでは再生する波形を指定するためのパッドをピッチ指
定操作子として兼用して用いているが、パッドと別にピ
ッチ指定操作子を設けてもよい。
【0038】スクラッチ再生モードは、ユーザによるス
クラッチ操作を実現するモードである。モード切り替え
スイッチによりスクラッチ再生モードを指定したとき、
ユーザは同時に任意の一つのパッドを指定する。そのパ
ッドに対応する波形データが、スクラッチ再生される波
形データである。以後は、リボンコントローラ106に
触れると当該波形データの再生が開始され、さらにリボ
ンコントローラ106を触れている位置を移動させるこ
とにより、該再生音がスクラッチ再生される。さらに、
当モードにおいては、スクラッチ再生とは別に、10個
あるパッドによるノーマルモードと同様の再生を2音分
だけ行なうことができる。
【0039】EXフィルタモードは、外部入力111を
フィルタリング(ローパスフィルタ)してサウンドシス
テム114に出力するモードである。フィルタリングの
カットオフ周波数は、ユーザがリボンコントローラ10
6で変更制御することができる。EXフィルタモードで
は、パッドオンしてもパッドに応じた波形の再生は行な
われないようになっている。
【0040】EXスクラッチモードは、外部入力111
を用いてスクラッチ操作を行なうモードである。EXス
クラッチモードでは、リボンコントローラ106を触れ
ない間は、外部入力111がそのままサウンドシステム
114で放音される。リボンコントローラ106に触れ
た時点で外部入力から直接放音することを停止し、その
時点までに取り込んだ外部入力波形を用いてリボンコン
トローラ106によるスクラッチ再生を行なう。EXス
クラッチモードでは、パッドオンしてもパッドに応じた
波形の再生は行なわれないようになっている。
【0041】次に、RAM104上に設けられるレジス
タ、バッファなどについて説明する。
【0042】図2(a)は、RAM104上の音源レジ
スタを示す。音源レジスタはパッド演奏用の4チャンネ
ル分の領域(1ch〜4ch)、およびスクラッチ再生
用の音源レジスタschからなる。各チャンネルのレジ
スタには、再生すべき波形データの読み出しアドレスや
ノートオンなどの情報が格納される。
【0043】図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バーを表している。
【0044】図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バーを表してい
る。
【0045】図2(d)は、RAM104上に設けられ
たスクラッチ領域SRを示す。このスクラッチ領域SR
は、スクラッチ再生モードが指定されたときに確保され
る領域である。スクラッチ再生モードに入るとき、指定
されたパッドに対応する波形データがADPCM伸張さ
れて(リニア16ビットで)、RAM104上の所定の
領域に展開される。その展開された波形データ中の所定
の領域をスクラッチ領域SRとする。波形データ中のど
の位置にスクラッチ領域SRを設定するかは、あらかじ
め決定しておく。スクラッチ領域SR上の所定のアドレ
スを、スクラッチ開始アドレスとしてスクラッチポイン
タSPに設定する。スクラッチポインタSPの値は、ユ
ーザが変更することもできる。スクラッチ再生モードに
おいてユーザがリボンコントローラ106を操作すると
スクラッチ再生されるが、リボンコントローラ106の
操作開始位置がどこであっても、スクラッチポインタS
Pで指される位置からスクラッチ再生が開始される。
【0046】図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に設定す
る。
【0047】次に、図2に示したもの以外のレジスタ類
について説明する。
【0048】(1)m:動作モードレジスタである。0
でノーマルモード、1でサンプリングモード、2でフィ
ルタ再生モード、3でピッチ付き再生モード、4でスク
ラッチ再生モード、5でEXフィルタモード、6でEX
スクラッチモードを示す。 (2)PN:パッドを特定するパッド番号を格納するレ
ジスタである。 (3)i:発音を割り当てるチャンネルのチャンネルナ
ンバーを格納するレジスタである。 (4)FNi:発音割当を行なった第iチャンネルのF
ナンバを格納するレジスタである。 (5)TMP:リボンコントローラ106の検出値を格
納するレジスタである。
【0049】(6)RD:リボンコントローラ106か
らの検出値が変化したときに、当該検出値を設定するレ
ジスタである。 (7)RS:リボンコントローラ106の状態を示すフ
ラグである。リボンコントローラ106が操作されてい
るとき(リボンコントローラ106に指などが触れてい
るとき)1であり、操作されていないとき(指などが触
れていないとき)0である。 (8)VEL:リボンコントローラ106の移動の速度
(詳しく言えば、リボンコントローラ106に触れてい
る指などの移動速度)を設定するレジスタである。 (9)OLD:リボンコントローラ106の一回前の検
出値を保持しておくレジスタである。 (10)SAD:スクラッチ用アドレスを格納するレジ
スタである。
【0050】(11)ADi:第iチャンネル(i=1
〜4)における読み出しアドレスを格納するレジスタで
ある。 (12)SFN:スクラッチ用チャンネルschの波形
データ読み出しにおけるFナンバを格納するレジスタで
ある。 (13)RP:録音用ポインタである。録音バッファの
波形データ書き込み位置を示す。 (14)PP:再生用ポインタである。再生バッファの
波形データ読み出し位置を示す。
【0051】なお、上述のレジスタなどを示す記号は、
レジスタなどの記憶領域そのものを示すとともに、該記
憶領域に格納されるデータをも示すものとする。例え
ば、mというときは、動作モードレジスタを示すととも
に、該レジスタに格納された動作モードを表すデータを
も示すものとする。
【0052】図3〜図16は、図1のサンプラーにおけ
るCPU101およびDMAコントローラ113の動作
を説明するためのフローチャートである。以下では、始
めにこれらのソフトウエアの階層構造について説明し、
次に図3〜図16のフローチャートにしたがって各ソフ
トウェアモジュールの処理手順を説明する。その後、そ
れらのソフトウェアモジュールをどのようなタイミング
で実施して各モードの機能を実現していくかについてモ
ード別に説明する。
【0053】まず、ソフトウエアの階層構造について説
明する。図3〜図16に示すプログラムは以下のように
レベル分けされる。
【0054】レベル1:DMAコントローラ113の録
音時の処理ルーチンである図15のDR(m)ルーチ
ン、およびDMAコントローラ113の再生時の処理ル
ーチンである図16のDPルーチン。
【0055】レベル2:CPU101により波形作成を
行なう図11および図12の波形生成ルーチンHS
(m)、およびCPU101によりリボンコントローラ
106の検出値を取り込むための図9および図10のリ
ボン値取り込みルーチンRC(m)。波形生成ルーチン
HS(m)のサブルーチンである図13および図14の
処理ルーチンも含む。
【0056】レベル3:CPU101が実行する図3の
定常ルーチン。そのサブルーチンであるパッドスキャ
ン、SWスキャン、および各イベントルーチン(図4〜
図8の処理ルーチン)も含む。
【0057】レベル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に対して指定しておく。
【0058】レベル2の処理は、レベル1の処理より優
先度は低いが、レベル3の処理より優先度が高い。すな
わち、レベル3の定常ルーチンが実行されているときレ
ベル2の処理を行なうための割り込みがかかると、レベ
ル2の処理ルーチンが優先して実行される。上記DMA
コントローラ113のDPルーチンは、再生バッファの
波形データを再生していき、該再生バッファが空になっ
たときCPU101に割り込みをかける。この割り込み
を受けて、CPU101は、波形作成ルーチンHS
(m)を実行し、波形サンプルを再生バッファに用意す
る。リボン値取り込みルーチンRC(m)は、タイマ割
り込みにより起動される。すなわち、タイマ105から
所定間隔で出力されるクロックごとに、タイマ割り込み
がかかり、これによりCPU101がリボン値取り込み
ルーチンRC(m)を実行してリボンコントローラ10
6の検出値を取り込む。
【0059】レベル3は最も優先度の低い処理ルーチン
である。CPU101は、図3の定常ルーチンを繰り返
し実行し、パッド107のオンイベントやパネルSW1
09の操作イベントがあったとき所定のサブルーチンを
実行する。
【0060】次に、図3〜図16のフローチャートにし
たがって各ソフトウェアモジュールの処理手順を説明す
る。
【0061】図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の検出値を取り込む処理を開始することにな
る。
【0062】次に、ステップ302でパッドスキャン処
理を行ない、ステップ303でSWスキャン処理を行な
い、再びステップ302に戻り処理を繰り返す。ステッ
プ302のパッドスキャン処理は、10個あるパッド1
07のオンイベントがあるか否かを検出し、オンイベン
トがあった場合に図7および図8に示すオンイベントル
ーチンを実行する処理である。ステップ303のSWス
キャン処理は、パネルSW109の操作がなされたか否
かを検出し、操作があった場合にその操作に応じた処理
ルーチンを実行する処理である。
【0063】図4は、図3のステップ303のSWスキ
ャン処理でモード切り替えスイッチが操作されたことを
検出したときに呼び出されるモードSWイベントルーチ
ンである。モードSWイベントルーチンでは、ステップ
401でモード切り替えスイッチの操作に応じて指定さ
れた動作モードを示す値をレジスタmに設定し、ステッ
プ402で指定されたモードmに応じたディスプレイ1
08への表示制御を行なう。そして、ステップ403
で、指定されたモードmに対応する開始処理MS(m)
を実行した後、処理を終了する。
【0064】図5は、ユーザがモード切り替えスイッチ
でサンプリングモード(m=1)を指定したとき、図4
のステップ403で呼び出されるサンプリングモード開
始処理MS(1)のフローチャートである。MS(1)
処理では、まずステップ501で、パッドの指定がなさ
れたか否かを判別する。パッドの指定がなされていない
ときは、ステップ502で、サンプリングモードの指定
をやめるか否か判別する。サンプリングモードの指定処
理を続行するなら、再びステップ501に戻り、パッド
の指定を促す。
【0065】ステップ501でパッドの指定がなされた
ときは、ステップ503で、指定されたパッド番号をレ
ジスタPNに格納し、ステップ504で、録音準備を行
なう。録音準備は、録音バッファRB0,RB1、フラ
ッシュメモリ103上の録音領域、およびその他の領域
の確保などの処理である。また、DMAコントローラ1
13に指示して、サンプリングクロックFsごとにCP
U101に割り込みをかけてDPルーチンを実行するこ
とを停止させる。次に、ステップ505で、録音開始の
条件(トリガ)が満たされたか否か判別する。録音開始
の条件としては、例えば入力レベルが一定以上になった
とき録音開始する、といった条件を用いる。録音開始の
条件が満たされていないときは、ステップ506で録音
をやめるか否か判別し、録音を続行するならステップ5
05に戻る。
【0066】ステップ505で録音開始の条件が満たさ
れた場合は、ステップ507で、録音開始する。録音開
始は、具体的には、CPU101からDMAコントロー
ラ113に録音開始を指示する処理である。これによ
り、DMAコントローラ113は、Fs発生器110か
らのサンプリングクロックFsごとにCPU101に割
り込みをかけ、その都度図15のDR(1)ルーチンを
実行して、外部入力111から入力した波形データをサ
ウンドI/O112内の入力FIFOを経て録音バッフ
ァRBkに設定する処理を開始する。
【0067】次に、ステップ508で録音バッファが一
杯になったか否か判別する。詳しくは図15で説明する
が、DR(1)ルーチンでは、録音バッファRBkに外
部入力の波形サンプルを転送していき、RBkが一杯に
なったときはkを反転して割り込みを発生する。ステッ
プ508では、この割り込みを待つことにより録音バッ
ファが一杯になったか否かを判別する。この割り込みが
あったときは、録音バッファRBkバーに波形サンプル
が満たされたということだから、ステップ509で、録
音バッファRBkバーの波形サンプルをフラッシュメモ
リ103のあらかじめ定められた領域に書き込み、再び
ステップ508に戻る。
【0068】ステップ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ルーチンを実行することを開始させる。
【0069】ステップ502でサンプリングモード指定
処理を取りやめる場合は、ステップ513で、レジスタ
mに0を設定しノーマルモードへ戻る処理を行なった
後、処理を終了する。またステップ506で録音処理を
取りやめにする場合は、ステップ514で、レジスタm
に0を設定しノーマルモードへ戻る処理を行なった後、
処理を終了する。ステップ513,514の処理は、ス
テップ512の処理と同じである。
【0070】図6は、ユーザがモード切り替えスイッチ
でスクラッチ再生モード(m=4)を指定したときに、
図4のステップ403で呼び出されるスクラッチ再生モ
ード開始処理MS(4)のフローチャートである。MS
(4)処理では、まずステップ601で、パッドの指定
がなされたか否かを判別する。パッドの指定がなされて
いないときは、ステップ602で、スクラッチ再生モー
ドの指定をやめるか否か判別する。スクラッチ再生モー
ドの指定処理を続行するなら、再びステップ601に戻
り、パッドの指定を促す。
【0071】ステップ601でパッドの指定がなされた
ときは、ステップ603で、指定されたパッド番号をレ
ジスタPNに格納し、ステップ604で、スクラッチを
行なう準備をする。これは、パッド番号PNに対応して
録音されている波形データをフラッシュメモリ103か
ら読み出してADPCM伸張し、RAM104上の所定
領域に展開する処理である。次に、ステップ605で、
RAM104上に展開した波形データの所定の領域をス
クラッチ領域SR(図2(d))とし、スクラッチを開
始するアドレスであるスクラッチポインタSPを所定値
に設定する。
【0072】ステップ602でスクラッチ再生モード指
定処理を取りやめる場合は、ステップ606で、レジス
タmに0をセットしてノーマルモードへ戻る処理を行な
い、処理を終了する。
【0073】図7は、モードmがm=0,2,4の場
合、すなわちノーマルモード、フィルタ再生モード、ま
たはスクラッチ再生モードの場合に、図3のステップ3
02でパッド107のオンイベントを検出したときに呼
び出されるパッドオンイベントルーチンのフローチャー
トを示す。このオンイベントルーチンでは、まずステッ
プ701で、オンイベントのあったパッド107のパッ
ド番号をレジスタPNにセットし、ステップ702で、
パッド番号PNに対応する波形データがフラッシュメモ
リ103上に録音されているか否かを判定する。パッド
番号PNに対応する波形データがないときは、そのまま
処理を終了する。
【0074】ステップ702でパッド番号PNに対応す
る波形データが録音されていた場合は、ステップ703
で、発音チャンネルの割当を行なう。この割当はモード
mに応じた発音数で行なわれる。すなわち、ノーマルモ
ードの場合は、4音発音可能であるから第1から第4の
4つのチャンネルのいずれかに空きチャンネルがあれば
その空きチャンネルに割り当て、その4チャンネルがす
べて発音に用いられていたときは最も過去に発音を開始
したチャンネルを消音してそのチャンネルに新たに発音
割当を行なう。フィルタ再生モード、またはスクラッチ
再生モードの場合は、2音発音可能であるから第1また
は第2チャンネルに同様にして割り当てる。割り当てた
チャンネルの番号は、レジスタiに設定する。次にステ
ップ704で、第iチャンネルの音源レジスタichに
発音を行なうための各種の情報(再生すべき波形データ
の先頭アドレスADiなど)を設定し、さらにノートオ
ンを設定して処理を終了する。
【0075】図8は、モードmがm=3の場合、すなわ
ちピッチ付き再生モードの場合に、図3のステップ30
2でパッド107のオンイベントを検出したときに呼び
出されるパッドオンイベントルーチンのフローチャート
を示す。ピッチ付き再生モードでのパッドオンイベント
ルーチンでは、まずステップ801で、オンイベントの
あったパッド107のパッド番号をレジスタPNにセッ
トし、ステップ802で発音チャンネルの割当を行な
う。ピッチ付き再生モードでは、2音まで発音が可能で
あるので、最大発音数2音としてチャンネルの割当を行
なう。次にステップ803で、パッド番号PNをFナン
バに変換し、レジスタFNiにセットする。そして、ス
テップ804で、第iチャンネルの音源レジスタich
にピッチ付きで再生するための各種の情報(再生すべき
波形データの読み出し開始アドレスADiおよびFナン
バFNiなど)を設定し、さらにノートオンを設定して
処理を終了する。
【0076】図9は、モードmがm=2,5の場合、す
なわちフィルタ再生モードまたはEXフィルタモードの
場合に、リボンコントローラ106の検出値を取り込む
ためのRC取り込みルーチンRC(m)のフローチャー
トである。これはリボンコントローラ106によりフィ
ルタ制御を行なうためにその検出値を取り込む処理であ
る。また、図10は、モードmがm=4,6の場合、す
なわちスクラッチ再生モードまたはEXスクラッチモー
ドの場合に、リボンコントローラ106の検出値を取り
込むためのRC取り込みルーチンRC(m)のフローチ
ャートである。これはリボンコントローラ106により
スクラッチ制御を行なうためにその検出値を取り込む処
理である。
【0077】図3のステップ301の初期設定において
タイマ105が起動され、所定時間間隔でCPU101
はタイマ割り込みの処理を実行する。図9のRC取り込
みルーチンRC(m)は、タイマ割り込みにおいてモー
ドmが2または5のとき実行される処理である。また、
図10のRC取り込みルーチンRC(m)は、タイマ割
り込みにおいてモードmが4または6のとき実行される
処理である。
【0078】図9のRC取り込みルーチンRC(m)
(m=2,5)から説明する。まずステップ901で、
リボンコントローラ106の検出値をレジスタTMPに
セットする。次に、ステップ902で、その検出値が前
回タイマ割り込み時の検出値と比較して変化があったか
否かを判定する。変化がない場合は、処理を終了する。
変化があったときは、ステップ903で、検出値TMP
をレジスタRDに設定して処理を終了する。結果的に、
レジスタRDにリボンコントローラ106の検出値が設
定されたことになる。なお、リボンコントローラ106
から指などが離れたときは、検出値TMP,RDを所定
の標準値に戻してもよいし、または指などが離れる直前
の係数を保持するようにしてもよい。
【0079】図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)の処理手順を説明する。
【0080】リボンコントローラ検出値取り込みルーチ
ンRC(4)では、まずステップ1001で、リボンコ
ントローラ106の検出値をレジスタTMPにセットす
る。次にステップ1002で、リボンコントローラ10
6の操作があるか否かを判定する。リボンコントローラ
106は、指あるいは棒などで触れているときその触れ
ている座標位置を示す座標検出値を出力するが、指また
は棒などが触れていないときは所定値を出力し触れてい
ないこと(操作されていないこと)が分かるようになっ
ている。リボンコントローラ106の操作がなされてい
ないときはステップ1003に進み、操作がなされてい
るときはステップ1004に進む。
【0081】ステップ1003では、レジスタRSが0
か否か判定する。レジスタRSが0のときは、前の割り
込みの時点および今回の割り込みの時点の両方でリボン
コントローラ106は操作されていないということだか
ら、そのまま処理を終了する。ステップ1003でRS
が0でないときは、前の割り込みの時点でRS=1すな
わちリボンコントローラ106の操作がなされていたの
が、今回の割り込みの時点で操作がなされていない(指
または棒などを離した)ということだから、ステップ1
013でレジスタRSを0クリアし、ステップ1014
でスクラッチ用チャンネルの音源レジスタschにノー
トオフを書き込み、処理を終了する。
【0082】ステップ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
をセットし、処理を終了する。
【0083】ステップ1004でRSが1のときは、前
回の割り込みの時点でRS=1であり今回の割り込みの
時点でもRS=1であるということ(リボンコントロー
ラ106の操作が継続している)であるから、ステップ
1011で、リボンコントローラ106の操作の速度を
検出し、レジスタVELにセットする。速度VELは今
回の検出値TMPから前回割り込み時の検出値OLDを
減算することにより算出するものとする。したがって、
速度VELが負数になることもあり得る。さらに速度V
ELは、スクラッチ用チャンネルの音源レジスタsch
に設定するものとする。次に、ステップ1012で、今
回の検出値TMPをレジスタOLDにセットし、処理を
終了する。
【0084】以上説明したのはモードm=4すなわちス
クラッチ再生モードの場合のRC取り込みルーチンRC
(4)であるが、モードm=6の場合すなわちEXスク
ラッチモードの場合のRC取り込みルーチンRC(6)
では、ステップ1005の後にステップ1006を追加
し、ステップ1008の後にステップ1009を追加
し、ステップ1014の後にステップ1015,101
6を追加する。さらに、ステップ1008,1014の
処理が若干異なる。以下では、これらについて説明す
る。
【0085】リボンコントローラ106の操作が開始さ
れた時点では、ステップ1004から1005を経て、
ステップ1006に進む。ステップ1006では、CP
U101からDMAコントローラ113に指示をして、
サンプリングクロックFsごとにCPU101に割り込
みをかけてDR(6)ルーチンを実行することを停止さ
せるとともに、2つの録音バッファSRB0,SRB1
のうち現在書き込みの行なわれていないほうの録音バッ
ファSRBkバーに図2(e)で説明したようにスクラ
ッチ領域SRを設定する。次に、ステップ1007を経
て1008に進む。
【0086】ステップ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バーに生成される。
【0087】その後、ステップ1009で、CPU10
1からの指示により、サウンドI/O112のA/D入
力からD/A出力への直接接続を切り離し、外部入力1
11から直接サウンドシステム114へ楽音信号を流し
て放音することを停止する。
【0088】リボンコントローラ106の操作を止めた
時点では、ステップ1002から1003,1013を
経て、ステップ1014に進む。ステップ1014で
は、スクラッチ用チャンネルの音源レジスタschにノ
ートオフを書き込むが、その処理の後に以下の処理も行
なう。すなわち、CPU101からDMAコントローラ
113に指示をして、サンプリングクロックFsごとに
CPU101に割り込みをかけてDPルーチンを実行す
ることを停止する。
【0089】また、ステップ1015では、CPU10
1からの指示により、サウンドI/O112のA/D入
力からD/A出力への直接接続を再開し、外部入力11
1から直接サウンドシステム114へ楽音信号を流して
放音するようにする。ステップ1016では、CPU1
01からDMAコントローラ113に指示をして、サン
プリングクロックFsごとにCPU101に割り込みを
かけてDR(6)ルーチンを実行することを再開する。
【0090】図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サンプル
を新たに生成する。
【0091】図11(a)は、ノーマルモードのときに
再生バッファ上に波形サンプルを生成する波形生成ルー
チンHS(0)のフローチャートである。HS(0)で
は、ステップ1101でサブルーチンであるノーマル4
を呼び出し、処理を終了する。このサブルーチンについ
ては、図13(a)で後述する。
【0092】図11(b)は、フィルタ再生モードのと
きに再生バッファ上に波形サンプルを生成する波形生成
ルーチンHS(2)のフローチャートである。HS
(2)では、ステップ1111でサブルーチンであるノ
ーマル2を呼び出し、ステップ1112でリボンコント
ローラ106の検出値RDに応じてフィルタ係数(カッ
トオフ周波数)を生成する。そして、ステップ1113
でフィルタ処理(ローパスフィルタ処理)を行ない、処
理を終了する。ステップ1111のノーマル2について
は、図13(a)で後述する。
【0093】図11(c)は、ピッチ付き再生モードの
ときに再生バッファ上に波形サンプルを生成する波形生
成ルーチンHS(3)のフローチャートである。HS
(3)では、ステップ1121でサブルーチンであるピ
ッチ2を呼び出し、処理を終了する。ピッチ2について
は、図13(b)で後述する。
【0094】図12(a)は、スクラッチ再生モードの
ときに再生バッファ上に波形サンプルを生成する波形生
成ルーチンHS(4)のフローチャートである。HS
(4)では、ステップ1201でサブルーチンであるノ
ーマル2を呼び出し、ステップ1202でサブルーチン
であるスクラッチ処理ルーチンを呼び出し、処理を終了
する。ノーマル2については、図13(a)で後述す
る。スクラッチ処理については、図14で後述する。
【0095】図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の後、処理を終了する。
【0096】図12(c)は、EXスクラッチモードの
ときに再生バッファ上に波形サンプルを生成する波形生
成ルーチンHS(6)のフローチャートである。HS
(6)では、ステップ1221でレジスタRSが1であ
るか否かを判定する。レジスタRSが1でないときは、
リボンコントローラ106の操作がなされていないとい
うことだから、そのまま処理を終了する。ステップ12
21でレジスタRSが1であるときは、リボンコントロ
ーラ106の操作がなされているということだから、ス
テップ1222でEXスクラッチ処理を行ない、処理を
終了する。EXスクラッチ処理については、図14で後
述する。
【0097】図13(a)は、ノーマルnのフローチャ
ートを示す。nは、上述のステップ1101で呼び出す
ノーマル4のときはn=4、上述のステップ1111,
1201で呼び出すノーマル2のときはn=2である。
【0098】まずステップ1301で、チャンネルをカ
ウントするためのワークレジスタiに1を設定し、サン
プル数をカウントするためのワークレジスタjに0を設
定し、現在DPルーチンによる再生が行なわれていない
方の再生バッファPBrバーのサンプル領域をすべて0
クリアする。次にステップ1302で、第iチャンネル
の音源レジスタichを参照し、ノートオンが書き込ま
れているか否か判定する。ノートオンが書き込まれてい
ないときは、第iチャンネルの波形生成は行なう必要が
ないから、そのままステップ1308に進む。ステップ
1302で第iチャンネルがノートオンされていたとき
は、ステップ1303に進む。
【0099】ステップ1303で第iチャンネルの読み
出しアドレスADi(ADiは第iチャンネルの音源レ
ジスタichにセットされている)をインクリメント
し、ステップ1304で第iチャンネルで読み出すべき
波形データのアドレスADiの位置から波形サンプルを
読み出し、ADPCM伸張を行ないリニアな波形サンプ
ルを求めて、ワークレジスタTMPにセットする。次に
ステップ1305で、再生バッファPBrバー(j)に
レジスタTMPの値を累算(チャンネル累算)する。
【0100】次に、ステップ1306でレジスタjの値
が127に至ったか否かを判別し、未だレジスタjが1
27に至っていないときは、ステップ1307でレジス
タjをインクリメントした後、ステップ1303に戻り
次の波形サンプルの読み出しおよび伸張と累算を繰り返
す。ステップ1306でレジスタjの値が127になっ
たときは、再生バッファPBrバーの128サンプル分
の領域に第iチャンネルの128サンプルの累算が終了
したということであるから、ステップ1308に進む。
【0101】ステップ1308でレジスタiがnに至っ
たか否かを判別する。レジスタiがnに至っていないと
きは、次のチャンネルの累算を行なうべく、ステップ1
309でレジスタiをインクリメントし、レジスタjを
0クリアして、ステップ1302に戻り、第iチャンネ
ルに対して処理を繰り返す。ステップ1308でレジス
タiがnに至ったときは、処理すべきチャンネルの累算
が終わり再生バッファPBrバー上に128サンプルが
生成されたということであるから、処理を終了する。
【0102】図13(b)は、図11(c)のステップ
1121でコールされるサブルーチンであるピッチ2の
フローチャートである。ステップ1311で、チャンネ
ルをカウントするためのワークレジスタiに1を設定
し、サンプル数をカウントするためのワークレジスタj
に0を設定し、現在DPルーチンによる再生が行なわれ
ていない方の再生バッファPBrバーのサンプル領域を
すべて0クリアする。次にステップ1312で、第iチ
ャンネルの音源レジスタichを参照し、ノートオンが
書き込まれているか否か判定する。ノートオンが書き込
まれていないときは、第iチャンネルのピッチ付き波形
生成は行なう必要がないから、そのままステップ131
9に進む。ステップ1312で第iチャンネルがノート
オンされていたときは、ステップ1313に進む。
【0103】ステップ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をチャンネル累算する。
【0104】次にステップ1317で、レジスタjが1
27に至ったか否かを判定する。至っていないときは、
次のサンプルの処理を行なうべく、ステップ1318で
レジスタjをインクリメントし、ステップ1313に戻
る。ステップ1317でレジスタjが127に至ったと
きは、第iチャンネルの処理が終了したということだか
ら、ステップ1319でレジスタiが2に至ったか否か
を判定する。レジスタiが2に至っていないときは、次
のチャンネルの処理を行なうべく、ステップ1320で
レジスタiをインクリメントしレジスタjを0クリアし
た後、ステップ1312に戻る。ステップ1319でレ
ジスタiの値が2に至ったときは、処理を終了する。
【0105】図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に進む。
【0106】ステップ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では補間に必
要なサンプル数だけ読み出すものとする。
【0107】次にステップ1405で、アドレスSAD
の小数部に応じてサンプル間の補間を行ない、補間済み
の波形サンプルをレジスタTMPにセットする。そし
て、ステップ1406で、再生バッファPBrバーのj
番目のサンプル領域PBrバー(j)に波形サンプルT
MPをチャンネル累算する。
【0108】次に、ステップ1407でレジスタjが1
27に至ったか否かを判定する。レジスタjが127に
至っていないときは、次のサンプルの処理を行なうべ
く、ステップ1408でレジスタjをインクリメント
し、ステップ1403に戻る。ステップ1407でレジ
スタjが127に至ったときは、処理を終了する。
【0109】図15は、DMAコントローラ113がF
s発生器110から発生するサンプリングクロックFs
ごとに実行するDR(m)ルーチンのフローチャートで
ある。録音はモードmがm=1,5,6のときに行なわ
れるので、DR(m)ではm=1,5,6の何れかであ
る。
【0110】まずステップ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)を用いる)
ものとする。
【0111】次に、ステップ1502で録音ポインタR
Pをインクリメントし、ステップ1503で録音バッフ
ァRBk(m=6のときはSRBk、以下同様)が一杯
になったか否かを判定する。一杯になっていないとき
は、処理を終了する。録音バッファRBkが一杯になっ
たときは、ステップ1504でkを反転(0なら1、1
なら0とする)し、ステップ1505で割り込みを発生
し、処理を終了する。この割り込みは、一杯になった録
音バッファ(この時点ではRBkバー)の波形サンプル
をフラッシュメモリ103に書き込んで録音バッファを
空きにする処理をCPU101に依頼するための割り込
みである。
【0112】図16は、DMAコントローラ113がF
s発生器110から発生するサンプリングクロックFs
ごとに実行するDPルーチンのフローチャートである。
【0113】まずステップ1601で、再生バッファP
Br上の再生ポインタPPで示される波形サンプルPB
r(PP)を、サウンドI/O112の出力FIFOに
転送する。出力FIFOに格納された波形サンプルは、
図1で説明したように、D/A変換の後、サウンドシス
テム114に送出されて放音される。次に、ステップ1
602で再生ポインタPPをインクリメントし、ステッ
プ1603で再生バッファPBrの再生サンプルの最後
まで再生し終わったか否かを判別する。
【0114】ステップ1603で再生バッファPBrの
すべての波形サンプルを再生し終わったなら、ステップ
1604でrを反転し(0なら1、1なら0とする)、
もう一方の再生バッファを次に読み出すべき再生バッフ
ァPBrとする。そして、ステップ1605で、CPU
101に対し波形サンプルを用意することを要求するた
めに割り込みを発生し、処理を終了する。ステップ16
03で再生バッファPBr上にまだ再生していない波形
サンプルがある場合は、そのまま処理を終了する。
【0115】次に、各モード別に、どのようなタイミン
グで上述の各フローチャートの処理がなされるかを説明
する。
【0116】まず、ノーマルモード(m=0)における
動作を説明する。モード切り替えスイッチでノーマルモ
ードがユーザにより指定されると、上述の図4のモード
SWイベントルーチンにおいて、レジスタmに0が設定
される。ノーマルモードの開始処理MS(0)は、特に
説明すべき処理を行なうものではないのでフローチャー
トは省略した。ただし、EXスクラッチモードなどによ
りサンプリングクロックFsごとにDPルーチンを実行
する動作が停止していた場合は、MS(0)でその再生
動作を再開する。
【0117】図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ルーチンを実行して再生バッファ内の波形デ
ータを再生する動作を開始する。
【0118】ここで、再生時の処理のタイミングについ
て説明する。図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は、波形生成および再生の順序を示
すために便宜的に付けた数字である。
【0119】図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
個の波形サンプル)を生成する。
【0120】以上は、再生バッファ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)による波形生成とを並行して実行する
ことができる。
【0121】ノーマルモード(m=0)において、パッ
ドがオンされていないときは、図17(a)で説明した
タイミングで、再生バッファPB0,PB1内のオール
0のサンプルが繰り返し再生される。オール0のサンプ
ルの再生であるので、実際には楽音は放音されていない
のと同じことになる。この状態で、パッドがオンされた
ときの処理を説明する。図17(a)の「パッド」の矢
印に示すように、区間S1でパッドがオンされたとす
る。定常ルーチンにおいてパッドオンが検出されると、
図7のオンイベントルーチンによりオンされたパッドに
対応する波形データのノートオンが図2(a)の音源レ
ジスタに書き込まれる。定常ルーチンやオンイベントル
ーチンは、レベル3の処理であり、波形生成ルーチンH
S(0)やDPルーチンと並行して動作可能である。音
源レジスタに書き込まれたノートオンは、次のHS
(0)の実行において再生バッファに反映される。
【0122】次に、サンプリングモード(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)ルーチンを実行して、外部からの波形サン
プルを録音バッファに録音する動作を開始する。
【0123】ここで、録音時の処理のタイミングについ
て説明する。図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は、録音およびフラッシュメモリへ
の書き込みの順序を示すために便宜的に付けた数字であ
る。
【0124】図17(b)では、まず区間S1でサンプ
リングクロックFsごとに割り込みが発生して、その都
度DMAコントローラ113がDR(1)ルーチンを実
行する。これにより、サウンドI/O112の入力FI
FOの波形サンプルが、順次、録音バッファRB0へ書
き込まれる。録音バッファRB0に128個の波形サン
プルが書き込まれた時点(区間S1終了時)で割り込み
(ステップ1505)が発生する。この割り込みを契機
として、CPU101は、区間S2で録音バッファRB
0の波形サンプルをフラッシュメモリ103に書き込み
(ステップ509)、録音バッファRB0を空きにす
る。
【0125】以上は、録音バッファ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への書き込みとを並行して実行するこ
とができる。
【0126】次に、フィルタ再生モード(m=2)にお
ける動作を説明する。モード切り替えスイッチでフィル
タ再生モードがユーザにより指定されると、上述の図4
のモードSWイベントルーチンにおいて、レジスタmに
2が設定される。フィルタ再生モードの開始処理MS
(2)は、特に説明すべき処理を行なうものではないの
でフローチャートは省略した。ただし、EXスクラッチ
モードなどによりサンプリングクロックFsごとにDP
ルーチンを実行する動作が停止していた場合は、ノーマ
ルモードの開始処理MS(0)と同様に、MS(2)で
その再生動作を再開する。
【0127】フィルタ再生モードは、ノーマルモードと
ほぼ同様の手順で再生を行なう。サンプリングクロック
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による再
生音のフィルタ制御を行なう。
【0128】フィルタ再生モードでは、ノーマルモード
で4音再生していたのを2音に減らし、そのように楽音
生成数を減らす代わりに、再生する波形にフィルタ処理
を施すものである。1フレーム時間内で所定数のサンプ
ル生成を行なわなければならないため、ノーマルモード
で4音再生可能であったのが、その再生音にフィルタ処
理を施す場合には処理時間が足りなくなってしまう。そ
こで、楽音生成数を2音に減らし、波形生成の処理時間
を短縮し、余った時間でフィルタ処理を行なうようにし
たものである。
【0129】次に、ピッチ付き再生モード(m=3)に
おける動作を説明する。モード切り替えスイッチでフィ
ルタ再生モードがユーザにより指定されると、上述の図
4のモードSWイベントルーチンにおいて、レジスタm
に3が設定される。フィルタ再生モードの開始処理MS
(3)は、特に説明すべき処理を行なうものではないの
でフローチャートは省略した。ただし、EXスクラッチ
モードなどによりサンプリングクロックFsごとにDP
ルーチンを実行する動作が停止していた場合は、ノーマ
ルモードの開始処理MS(0)と同様に、MS(3)で
その再生動作を再開する。
【0130】ピッチ付き再生モードは、ノーマルモード
とほぼ同様の手順で再生を行なう。サンプリングクロッ
ク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に累算したアドレスで波形
サンプルを読み出して再生する。これにより、ピッチ付
きで再生を行なうことができる。
【0131】ピッチ付き再生モードでは、ノーマルモー
ドで4音再生していたのを2音に減らし、そのように楽
音生成数を減らす代わりに、再生する波形にピッチ付与
処理を施すものである。1フレーム時間内で所定数のサ
ンプル生成を行なわなければならないため、ノーマルモ
ードで4音再生可能であったのが、その再生音にピッチ
付与処理を施す場合には処理時間が足りなくなってしま
う。そこで、楽音生成数を2音に減らし、波形生成の処
理時間を短縮し、余った時間でピッチ付与処理を行なう
ようにしたものである。
【0132】次に、スクラッチ再生モード(m=4)に
おける動作を説明する。モード切り替えスイッチでスク
ラッチ再生モードがユーザにより指定されると、上述の
図4のモードSWイベントルーチンにおいて、レジスタ
mに4が設定される。スクラッチ再生モードの開始処理
MS(4)(図6)では、スクラッチ再生する波形デー
タを所定領域に展開しスクラッチ領域SRとスクラッチ
ポインタSPを設定して前準備を行なっておく。なお、
図6では図示していないが、EXスクラッチモードなど
によりサンプリングクロックFsごとにDPルーチンを
実行する動作が停止していた場合は、ノーマルモードの
開始処理MS(0)と同様に、MS(4)でその再生動
作を再開する。
【0133】スクラッチ再生モードは、パッドオンによ
る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音に加えて、指定した波
形データを用いたスクラッチ再生が実現される。
【0134】スクラッチ再生モードでは、ノーマルモー
ドで4音再生していたのを2音に減らし、そのように楽
音生成数を減らす代わりに、スクラッチ音を発生するも
のである。1フレーム時間内で所定数のサンプル生成を
行なわなければならないため、ノーマルモードで4音再
生可能であったのが、それに加えてスクラッチ音を発生
する場合には処理時間が足りなくなってしまう。そこ
で、楽音生成数を2音に減らし、波形生成の処理時間を
短縮し、余った時間でスクラッチ音の発生を行なうよう
にしたものである。
【0135】次に、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の割り込みは、全く同じタイ
ミングで発行される。この同じタイミングで発行される
R>割り込みを契機として、図12(b)の波形生成ルー
チンHS(5)が実行される。なお、EXフィルタモー
ドでは、外部入力を実質的に録音することはないので
(DR(5)ルーチンで外部入力を取り込むのは、取り
込んだ波形データをフィルタリングするためである)、
フラッシュメモリ103への書き込みは行なわない。
【0136】上述したようにDPとDR(5)から同じ
タイミングで割り込みが発生した時点では、録音バッフ
ァRBkバーに外部入力111からの波形データが12
8サンプル(リニアサンプル)書き込まれており、かつ
再生バッファPBrバーが空き状態である。波形生成ル
ーチンHS(5)は、録音バッファRBkバーの128
個の波形サンプルに対してフィルタリング処理し、処理
結果の128個の波形サンプルを再生バッファPBrバ
ーに設定する。フィルタリングのフィルタ係数は、タイ
マ割り込みにより図9のRC取り込みルーチンRC
(5)を実行してリボンコントローラ106の検出値R
Dを取り込み、その検出値RDに応じて決定する。以上
のようにして、外部入力111に対してリボンコントロ
ーラ106によるフィルタ制御をかけて出力することが
できる。
【0137】次に、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)が実行さ
れるようになっている。
【0138】リボンコントローラ106の操作をしない
間は、図10のRC(6)ではステップ1001→10
02→1003→エンドで処理を終えるので、外部入力
111から直接サウンドシステム114へ放音される処
理が継続される。また、サンプリングクロックFsごと
の割り込みでDR(6)ルーチンを実行しているので、
外部入力111をA/D変換したリニアな波形サンプル
が、入力FIFO経由で録音バッファSRB0,SRB
1に交互に書き込まれる。
【0139】リボンコントローラ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へ楽音信号を流して放音することを
停止する。
【0140】さらに、リボンコントローラ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バーに設
定されることになる)。以上により、外部から入力した
波形データを用いたスクラッチ再生が実現される。
【0141】図18は、図14のステップ1401で行
なっている速度VELからスクラッチ用FナンバSFN
への変換の例を示す。この変換は、演算で行なってもよ
いし、テーブルを用いて変換してもよい。図18(a)
は、速度VELの値の絶対値が大きくなるほどFナンバ
SFNの変化量が大きくなるようにして、リボンコント
ローラ106の長さが短い場合でもピッチ変化が大きい
スクラッチ効果を実現できるようにした例である。
【0142】なお、スクラッチ再生では聴感上正確なピ
ッチは要求されないので、必要に応じてスクラッチ用ア
ドレスSADの小数部のビット数を減らしてもよい。す
なわち、図14のステップ1403で累算したアドレス
SADの小数部のビット数を減らしてもよい。そうする
ことにより、ステップ1405で行なう補間の演算量を
減らすことができる。さらに、速度VELからスクラッ
チ用FナンバSFNへ変換する際に図18(b)のよう
なテーブルを用いて、これによりFナンバSFNにおい
て小数部のビット数を減らすことにより同様にして補間
の演算量の減少の効果を得ることもできる。
【0143】また、上記の例ではEXスクラッチモード
において、SRB0,SRB1の2つの録音バッファに
交互に外部入力からの波形データを格納し、リボンコン
トローラの操作開始時点で書き込みが行なわれていない
方の録音バッファにスクラッチ領域を設定するようにし
ているが、録音バッファを3つ以上設けて順番に(リン
グ状に)波形データを格納し、リボンコントローラの操
作開始時点で書き込みが行なわれていない複数の録音バ
ッファ上にスクラッチ領域を設定するようにしてもよ
い。そのようにすれば、複数の録音バッファ上にスクラ
ッチ領域を設定するので、スクラッチするのに十分な容
量のスクラッチ領域を設定することができる。また、1
つの録音バッファの容量を小さくできるので、リボンコ
ントローラの操作開始時点で書き込みの行なわれている
録音バッファ上のデータ量が少なくなり、スクラッチに
用いることがないデータ(捨て去るデータ)を少なくで
きる。
【0144】なお図17(a)では、パッドオンの検出
区間、CPUによる波形生成の区間、およびDMACの
DPルーチンの実行区間の各区間先頭時点を完全に一致
させて図示しているが、必ずしも一致させる必要はな
く、各区間はずれていてもよい。図17(b)の録音時
タイミングも同様である。
【0145】また図17(a)では、DPルーチンで一
方の再生バッファのサンプルを再生し終えた時点でCP
Uによる波形生成を行なうようにしているが、再生バッ
ファ中で再生していないサンプル数を検出し、その数が
所定数以下になったら、空き部分に新たなサンプルを生
成するようにしてもよい。したがって、サンプルの再生
と生成のタイミングを調整しさえすれば、再生バッファ
は1つでもよいし、3つ以上の複数でもよい。
【0146】
【発明の効果】以上説明したように、この発明によれ
ば、ソフトウェア音源において生成する楽音数を減らす
代わりに、ディジタル音色フィルタ処理、ピッチ付与処
理、あるいはスクラッチ効果を付与する処理を行なうモ
ードを備えているので、従来ソフトウェア音源で実現さ
れていない機能を実現することができ、ユーザの種々の
目的に添った楽音生成を行なうことができる。
【図面の簡単な説明】
【図1】この発明に係る楽音発生装置であるサンプラー
のブロック構成図
【図2】図1のサンプラーにおける各種のワーク領域を
示す図
【図3】定常ルーチンのフローチャート図
【図4】モードSWイベントルーチンのフローチャート
【図5】サンプリングモード開始処理MS(1)のフロ
ーチャート図
【図6】スクラッチ再生モード開始処理MS(4)のフ
ローチャート図
【図7】パッドオンイベントルーチン(モードm=0,
2,4)のフローチャート図
【図8】パッドオンイベントルーチン(モードm=3)
のフローチャート図
【図9】リボンコントローラ検出値取り込みルーチンR
C(m)(m=2,5)のフローチャート図
【図10】リボンコントローラ検出値取り込みルーチン
RC(m)(m=4,6)のフローチャート図
【図11】波形生成ルーチンHS(m)(モードm=
0,2,3)のフローチャート図
【図12】波形生成ルーチンHS(m)(モードm=
4,5,6)のフローチャート図
【図13】サブルーチンノーマルnおよびピッチ2のフ
ローチャート図
【図14】スクラッチ処理、およびEXスクラッチ処理
のフローチャート図
【図15】DR(m)ルーチン(モードm=1,5,
6)のフローチャート図
【図16】DPルーチンのフローチャート図
【図17】再生時および録音時のタイミングを示す図
【図18】速度VELからスクラッチ用FナンバSFN
ヘの変換例を示す図
【符号の説明】
101…中央処理装置(CPU)、102…リードオン
リーメモリ(ROM)、103…フラッシュメモリ、1
04…ランダムアクセスメモリ(RAM)、105…タ
イマ、106…リボンコントローラ、107…パッド、
108…ディスプレイ、109…パネルスイッチ、11
0…サンプリングクロック(Fs)発生器、111…外
部入力、112…サウンドI/O、113…DMA(ダ
イレクトメモリアクセス)コントローラ、114…サウ
ンドシステム、115…バスライン。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G10H 7/00 G10H 1/02

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】定サンプリング周期ごとの波形振幅値を
    表す波形データを格納した記憶手段と、 該記憶手段に格納されている波形データ再生を指示す
    る再生指示手段と、 動作モードとして、ノーマルモードまたはフィルタ再生
    モードを設定するモード設定手段と、前記モード設定手段で設定されたモードに応じたソフト
    ウェアを実行する処理装置であって、 ノーマルモードに
    おいては、前記再生指示手段により波形データの再生が
    指示されたとき、前記記憶手段に格納された波形データ
    を読み出すことにより所定時間間隔で最大n音分の楽音
    を複数サンプル分一括して生成し、フィルタ再生モード
    においては、前記再生指示手段により波形データの再生
    が指示されたとき、前記記憶手段に格納された波形デー
    タを読み出すとともに該波形データに対してディジタル
    音色フィルタ処理を施すことにより所定時間間隔で最大
    m(ただし、m<n)音分の楽音を複数サンプル分一括
    して生成するものと、 前記処理装置による楽音の生成と並行して、前記処理装
    置で生成された楽音の各サンプルを前記所定時間間隔よ
    り短い時間間隔で出力する出力手段と を備えたことを特
    徴とする楽音発生装置。
  2. 【請求項2】定サンプリング周期ごとの波形振幅値を
    表す波形データを格納した記憶手段と、 該記憶手段に格納されている波形データ再生を指示す
    る再生指示手段と、 動作モードとして、ノーマルモードまたはピッチ付き再
    生モードを設定するモード設定手段と、生成する楽音のピッチを指定するピッチ指定手段と、 前記モード設定手段で設定されたモードに応じたソフト
    ウェアを実行する処理装置であって、 ノーマルモードに
    おいては、前記再生指示手段により波形データの再生が
    指示されたとき、前記記憶手段に格納された波形データ
    を読み出すことにより所定のピッチの楽音を最大n音分
    生成し、ピッチ付き再生モードにおいては、前記再生指
    示手段により波形データの再生が指示されたとき、前記
    記憶手段に格納された波形データを前記ピッチ指定手段
    で指定されたピッチに応じて読み出すことにより前記ピ
    ッチ指定手段で指定されたピッチの楽音を最大m(ただ
    し、m<n)音分生成するものとを備えたことを特徴と
    する楽音発生装置。
  3. 【請求項3】前記処理装置は、ノーマルモードにおいて
    は、前記記憶手段に格納された波形データを読み出すた
    めの整数部からなるアドレスを生成し、前記アドレスの
    整数部に応じて前記記憶手段に格納された波形データを
    読み出し、ピッチ付き再生モードにおいては、前記ピッ
    チ指定手段で指定されたピッチに応じて前記記憶手段に
    格納された波形データを読み出すための整数部および小
    数部からなるアドレスを生成し、生成したアドレスの整
    数部に応じて前記記憶手段に格納された波形データを読
    み出すとともに該読み出した波形データを前記アドレス
    の小数部に応じて補間するものであることを特徴とする
    請求項2に記載の楽音発生装置。
  4. 【請求項4】前記処理装置は、所定時間間隔で前記楽音
    を複数サンプル分一括して生成するものであり、 さらに前記処理装置による楽音の生成と並行して、前記
    処理装置で生成された楽音の各サンプルを前記所定時間
    間隔より短い時間間隔で出力する出力手段を備えたこと
    を特徴とする請求項2に記載の楽音発生装置。
  5. 【請求項5】前記再生指示手段と前記ピッチ指定手段と
    を同じ操作子で共用し、該操作子を、ノーマルモードが
    選択されているときは再生指示手段として用い、ピッチ
    付き再生モードが選択されているときはピッチ指定手段
    として用いる請求項に記載の楽音発生装置。
  6. 【請求項6】定サンプリング周期ごとの波形振幅値を
    表す波形データを格納した記憶手段と、 該記憶手段に格納されている波形データ再生を指示す
    る再生指示手段と、 動作モードとして、ノーマルモードまたはスクラッチ再
    生モードを設定するモード設定手段と、 ユーザがスクラッチ操作を行なうためのスクラッチ操作
    子と、前記モード設定手段で設定されたモードに応じたソフト
    ウェアを実行する処理装置であって、 ノーマルモードに
    おいては、前記再生指示手段により波形データの再生が
    指示されたとき、前記記憶手段に格納された波形データ
    を読み出すことにより所定時間間隔で最大n音分の楽音
    を複数サンプル分一括して生成し、スクラッチ再生モー
    ドにおいては、前記記憶手段に格納された波形データ
    を、前記スクラッチ操作子からの出力に基づいて決定し
    たアドレスで読み出すことにより所定時間間隔で最大m
    (ただし、m<n)音分の楽音を複数サンプル分一括し
    て生成するものと、 前記処理装置による楽音の生成と並行して、前記処理装
    置で生成された楽音の各サンプルを前記所定時間間隔よ
    り短い時間間隔で出力する出力手段と を備えたことを特
    徴とする楽音発生装置。
  7. 【請求項7】定サンプリング周期ごとの波形振幅値を
    表す波形データを格納した記憶手段と、 該記憶手段に格納されている波形データ再生を指示す
    る再生指示手段と、 動作モードとして、ノーマルモードまたは外部入力モー
    ドを設定するモード設定手段と、 外部からリアルタイムに波形データを入力する外部入力
    手段と、前記モード設定手段で設定されたモードに応じたソフト
    ウェアを実行する処理装置であって、 ノーマルモードに
    おいては、前記再生指示手段により波形データの再生が
    指示されたとき、前記記憶手段に格納された波形データ
    を読み出すことにより所定時間間隔で最大n音分の楽音
    を複数サンプル分一括して生成し、外部入力モードにお
    いては、前記外部入力手段により入力した波形データに
    対して特殊効果付与処理を施すことにより所定時間間隔
    で最大m(ただし、m<n)音分の楽音を複数サンプル
    分一括して生成するものと、 前記処理装置による楽音の生成と並行して、前記処理装
    置で生成された楽音の 各サンプルを前記所定時間間隔よ
    り短い時間間隔で出力する出力手段と を備えたことを特
    徴とする楽音発生装置。
  8. 【請求項8】前記処理装置は、外部入力モードにおいて
    は、前記再生指示手段の指示に基づく楽音の生成を停止
    するものであることを特徴とする請求項7に記載の楽音
    発生装置。
  9. 【請求項9】前記処理装置における特殊効果付与処理
    、ソフトウェアによるディジタル音色フィルタ処理、
    またはスクラッチ効果付与処理である請求項7に記載の
    楽音発生装置。
  10. 【請求項10】定サンプリング周期ごとの波形振幅値
    を表す波形データを格納した記憶手段と、 該記憶手段に格納されている波形データ再生を指示す
    る再生指示手段と、 動作モードとして、ノーマルモードまたは外部入力スク
    ラッチモードを設定するモード設定手段と、 ユーザがスクラッチ操作を行なうためのスクラッチ操作
    子と、 外部からリアルタイムに波形データを入力する外部入力
    手段と、前記モード設定手段で設定されたモードに応じたソフト
    ウェアを実行する処理装置であって、 ノーマルモードに
    おいては、前記再生指示手段により波形データの再生が
    指示されたとき、前記記憶手段に格納された波形データ
    を読み出すことにより楽音を生成し、外部入力スクラッ
    チモードにおいては、楽音生成数を前記ノーマルモード
    における楽音生成数より減らすとともに、その代わり
    に、前記外部入力手段により入力して一時記憶しておい
    た波形データを、前記スクラッチ操作子からの出力に基
    づいて決定したアドレスでリアルタイムに読み出し出力
    することにより、楽音を生成するものとを備えたことを
    特徴とする楽音発生装置。
  11. 【請求項11】前記処理装置は、外部入力スクラッチモ
    ードにおいては、前記再生指示手段の 指示に基づく楽音
    の生成を停止するものであることを特徴とする請求項1
    0に記載の楽音発生装置。
  12. 【請求項12】前記処理装置は、外部入力スクラッチモ
    ードにおいては、前記スクラッチ操作子の操作が行なわ
    れていないときに、前記外部入力手段から入力した波形
    データを受け取るとともに、前記スクラッチ操作子が操
    作されたとき、既に受け取った前記波形データを、前記
    スクラッチ操作子からの出力に基づいて決定したアドレ
    スで読み出し出力するものであることを特徴とする請求
    項10に記載の楽音発生装置。
  13. 【請求項13】前記処理装置は、所定時間間隔で前記楽
    音を複数サンプル分一括して生成するものであり、 さらに、前記処理装置による楽音の生成と並行して、前
    記処理装置で生成された楽音の各サンプルを前記所定時
    間間隔より短い時間間隔で出力する出力手段を備えたこ
    とを特徴とする請求項10に記載の楽音発生装置。
  14. 【請求項14】前記モード設定手段は、ユーザにより任
    意のモードが設定されるものであることを特徴とする請
    求項1乃至13に記載の楽音発生装置。
  15. 【請求項15】定サンプリング周期ごとの波形振幅値
    を表す波形データを格納した記憶手段から波形データを
    読み出して出力し、これにより楽音を生成する楽音発生
    方法において、 前記記憶手段に格納されている波形データ再生を指示
    する再生指示ステップと、 動作モードとして、ノーマルモードまたはフィルタ再生
    モードを設定するモード設定ステップと、前記モード設定ステップで設定されたモードに応じたソ
    フトウェアを実行する処理ステップであって、 ノーマル
    モードにおいては、前記再生指示ステップにより波形デ
    ータの再生が指示されたとき、前記記憶手段に格納され
    波形データを読み出すことにより所定時間間隔で最大
    n音分の楽音を複数サンプル分一括して生成し、フィル
    タ再生モードにおいては、前記再生指示ステップにより
    波形データの再生が指示されたとき、前記記憶手段に格
    納された波形データを読み出すとともに該波形データに
    対してディジタル音色フィルタ処理を施すことにより所
    定時間間隔で最大m(ただし、m<n)音分の楽音を複
    数サンプル分一括して生成するステップと、 前記処理ステップによる楽音の生成と並行して、前記処
    理ステップで生成された楽音の各サンプルを前記所定時
    間間隔より短い時間間隔で出力する出力ステップと を備
    えたことを特徴とする楽音発生方法。
  16. 【請求項16】定サンプリング周期ごとの波形振幅値
    を表す波形データを格納した記憶手段から波形データを
    読み出して出力し、これにより楽音を生成する楽音発生
    方法において、 前記記憶手段に格納されている波形データ再生を指示
    する再生指示ステップと、 動作モードとして、ノーマルモードまたはピッチ付き再
    生モードを設定するモード設定ステップと、生成する楽音のピッチを指定するピッチ指定ステップ
    と、 前記モード設定ステップで設定されたモードに応じたソ
    フトウェアを実行する処理ステップであって、 ノーマル
    モードにおいては、前記再生指示ステップにより波形デ
    ータの再生が指示されたとき、前記記憶手段に格納され
    波形データを読み出すことにより所定のピッチの楽音
    を最大n音分生成し、ピッチ付き再生モードにおいて
    は、前記再生指示ステップにより波形データの再生が指
    示されたとき、前記記憶手段に格納された波形データを
    前記ピッチ指定ステップで指定されたピッチに応じて読
    み出すことにより前記ピッチ指定ステップで指定された
    ピッチの楽音を最大m(ただし、m<n)音分生成する
    ステップとを備えたことを特徴とする楽音発生方法。
  17. 【請求項17】定サンプリング周期ごとの波形振幅値
    を表す波形データを格納した記憶手段から波形データを
    読み出して出力し、これにより楽音を生成する楽音発生
    方法において、 前記記憶手段に格納されている波形データ再生を指示
    する再生指示ステップと、 動作モードとして、ノーマルモードまたはスクラッチ再
    生モードを設定するモード設定ステップと、スクラッチ操作子の操作を検出する検出ステップと、 前記モード設定ステップで設定されたモードに応じたソ
    フトウェアを実行する処理ステップであって、 ノーマル
    モードにおいては、前記再生指示ステップにより波形デ
    ータの再生が指示されたとき、前記記憶手段に格納され
    波形データを読み出すことにより所定時間間隔で最大
    n音分の楽音を複数サンプル分一括して生成し、スクラ
    ッチ再生モードにおいては、前記記憶手段に格納された
    波形データを前記スクラッチ操作子からの出力に基づい
    て決定したアドレスで読み出すことにより所定時間間隔
    で最大m(ただし、m<n)音分の楽音を複数サンプル
    分一括して生成するステップと、 前記処理ステップによる楽音の生成と並行して、前記処
    理ステップで生成された楽音の各サンプルを前記所定時
    間間隔より短い時間間隔で出力する出力ステップと を備
    えたことを特徴とする楽音発生方法。
  18. 【請求項18】定サンプリング周期ごとの波形振幅値
    を表す波形データを格納した記憶手段から波形データを
    読み出して出力し、これにより楽音を生成する楽音発生
    方法において、 前記記憶手段に格納されている波形データ再生を指示
    する再生指示ステップと、 動作モードとして、ノーマルモードまたは外部入力モー
    ドを設定するモード設定ステップと、 外部からリアルタイムに波形データを入力する外部入力
    ステップと、前記モード設定ステップで設定されたモードに応じたソ
    フトウェアを実行する処理ステップであって、 ノーマル
    モードにおいては、前記再生指示ステップにより波形デ
    ータの再生が指示されたとき、前記記憶手段に格納され
    波形データを読み出すことにより所定時間間隔で最大
    n音分の楽音を複数サンプル分一括して生成し、外部入
    力モードにおいては、前記外部入力ステップにより入力
    した波形データに対して特殊効果付与処理を施すことに
    より所定時間間隔で最大m(ただし、m<n)音分の楽
    音を複数サンプル分一括して生成するステップと、 前記処理ステップによる楽音の生成と並行して、前記処
    理ステップで生成された楽音の各サンプルを前記所定時
    間間隔より短い時間間隔で出力する出力ステップと を備
    えたことを特徴とする楽音発生方法。
  19. 【請求項19】前記処理ステップにおける特殊効果付与
    処理は、ソフトウェアによるディジタル音色フィルタ処
    理、またはスクラッチ効果付与処理である請求項18
    記載の楽音発生方法。
JP7266253A 1995-09-20 1995-09-20 楽音発生装置および楽音発生方法 Expired - Fee Related JP2956550B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP7266253A JP2956550B2 (ja) 1995-09-20 1995-09-20 楽音発生装置および楽音発生方法
SG1996010726A SG47179A1 (en) 1995-09-20 1996-09-18 Computerized music apparatus processing waveform to create sound effect
US08/716,552 US6025552A (en) 1995-09-20 1996-09-18 Computerized music apparatus processing waveform to create sound effect, a method of operating such an apparatus, and a machine-readable media
EP96115054A EP0764934B1 (en) 1995-09-20 1996-09-19 Computerized music apparatus processing waveform to create sound effect
EP00102932A EP1018724B1 (en) 1995-09-20 1996-09-19 Computerized music apparatus processing waveform to create sound effect
DE69613068T DE69613068T2 (de) 1995-09-20 1996-09-19 Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE69632696T DE69632696T2 (de) 1995-09-20 1996-09-19 Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
KR1019960041264A KR100386404B1 (ko) 1995-09-20 1996-09-20 음향효과를생성하도록파형을처리하는컴퓨터악기,이와같은장치의동작방법,및기계판독가능한매체
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
JP7266253A JP2956550B2 (ja) 1995-09-20 1995-09-20 楽音発生装置および楽音発生方法

Publications (2)

Publication Number Publication Date
JPH0990955A JPH0990955A (ja) 1997-04-04
JP2956550B2 true JP2956550B2 (ja) 1999-10-04

Family

ID=17428415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7266253A Expired - Fee Related JP2956550B2 (ja) 1995-09-20 1995-09-20 楽音発生装置および楽音発生方法

Country Status (1)

Country Link
JP (1) JP2956550B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012098482A (ja) * 2010-11-02 2012-05-24 Korg Inc 効果付加装置
JP6024722B2 (ja) * 2014-09-22 2016-11-16 カシオ計算機株式会社 楽音制御装置、楽音制御方法、プログラム及び電子楽器

Also Published As

Publication number Publication date
JPH0990955A (ja) 1997-04-04

Similar Documents

Publication Publication Date Title
JP2671747B2 (ja) 楽音形成装置
US6025552A (en) Computerized music apparatus processing waveform to create sound effect, a method of operating such an apparatus, and a machine-readable media
US6180863B1 (en) Music apparatus integrating tone generators through sampling frequency conversion
KR100392621B1 (ko) 악음파형생성방법및그장치
JP3163984B2 (ja) 楽音発生装置
JP2956550B2 (ja) 楽音発生装置および楽音発生方法
JPH0926791A (ja) 楽音発生方法及び波形記憶方法
JP2933204B2 (ja) スクラッチ動作可能な楽音発生装置
US6535772B1 (en) Waveform data generation method and apparatus capable of switching between real-time generation and non-real-time generation
JPH07121181A (ja) 音声情報処理装置
JP2000276172A (ja) 楽音生成装置および記憶媒体
JP3572847B2 (ja) コンピュータソフトウェアを用いた音源システム及び方法
JP3799711B2 (ja) 楽音発生方法および楽音発生装置
JPH07306681A (ja) 楽音生成装置
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP3518357B2 (ja) 楽音生成方法、楽音生成装置及び楽音生成処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3723973B2 (ja) 音源装置
JP3781171B2 (ja) 楽音発生方法
JP4120979B2 (ja) 波形再生装置
JP3148803B2 (ja) 音源装置
JP3460524B2 (ja) 曲データ加工方法、加工後曲データ再生方法および記憶媒体
JP3095018B2 (ja) 楽音発生装置
JP2956552B2 (ja) 楽音発生方法および装置
JP3610759B2 (ja) ディジタル信号処理装置
JP3832382B2 (ja) 楽音生成装置及びプログラム

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: 20090723

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120723

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees