JPH07101351B2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JPH07101351B2
JPH07101351B2 JP62001210A JP121087A JPH07101351B2 JP H07101351 B2 JPH07101351 B2 JP H07101351B2 JP 62001210 A JP62001210 A JP 62001210A JP 121087 A JP121087 A JP 121087A JP H07101351 B2 JPH07101351 B2 JP H07101351B2
Authority
JP
Japan
Prior art keywords
address
sample data
waveform sample
data
sampling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62001210A
Other languages
English (en)
Other versions
JPS63169695A (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 JP62001210A priority Critical patent/JPH07101351B2/ja
Priority to DE87119422T priority patent/DE3786654T2/de
Priority to EP87119422A priority patent/EP0274137B1/en
Priority to US07/141,122 priority patent/US4947723A/en
Publication of JPS63169695A publication Critical patent/JPS63169695A/ja
Priority to SG5995A priority patent/SG5995G/en
Priority to HK134395A priority patent/HK134395A/xx
Publication of JPH07101351B2 publication Critical patent/JPH07101351B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、外部から入力された音信号をサンプリング
してメモリに記憶し、その後このメモリに記憶した波形
サンプルデータを鍵操作等に応じて所望の音高で読み出
すことにより楽音を発生するようにしたサンプリング方
式の楽音発生装置に関し、特に、メモリに記憶した波形
サンプルデータの最終アドレスを即座に検出し、該最終
アドレスを終点又は起点とする読出し制御に即座に対応
し得るようにした楽音発生装置に関する。
〔従来の技術〕
サンプリング方式の楽音発生装置として、従来は例えば
特公昭61−33199号公報に示されたものがある。このよ
うな従来のサンプリング方式の楽音発生装置において
は、メモリにおける1音分の楽音波形サンプルデータの
記憶領域が予め定まっており、読出しの際には、この一
定の記憶領域の全アドレスを読み出すようになってい
る。
また、特公昭61−47435号公報には、サンプリングした
複数周期の波形データを繰返し読み出す際に、繰返し読
出しの頭においてノズルが出ないようにするために、該
複数周期の最初の部分においてゼロクロスを検出し、こ
のゼロクロスのアドレスを繰返し読出しの際の基点アド
レスとして用いることが開示されている。そのためゼロ
クロス検出の手法は、サンプリングした複数周期の波形
データをメモリに書き込んだ後に、これを読み出して解
析することにより検出するものであった。
〔発明が解決しようとする問題点〕
サンプリング方式の楽音発生装置においては、メモリに
記憶した波形データを順方向に1回読み出すばかりでな
く、順方向に何回も繰返し読み出したり、逆方向に1回
読み出す、あるいは逆方向に何回も繰返し読み出す、あ
るいは順方向に1回読み出した後、逆方向に1回読み出
す等、様々な態様で読み出しを行い、サンプリング音に
基づく楽音を様々なバリエーションで発音することが考
えられている。その場合、前者のような従来技術ではメ
モリの一定の記憶領域を全アドレスにわたって読み出す
ので、サンプリングした音が該記憶領域の一部にしか記
憶されていない場合は、繰返し読み出しの際に発音の空
白期間が長くなりすぎたり、逆方向読み出の際に即座に
発音が開始されない、等の問題が生じる。
このような問題を解決するには、メモリに記憶した外部
音波形サンプルデータの実際の最終アドレスを検出し、
この最終アドレスを終点又は起点として該メモリの波形
サンプルデータを順方向に又は逆方向に読み出すように
することが望ましい。その場合、波形データのゼロクロ
スを検出し、最後のゼロクロス検出アドレスを最終アド
レスとして検出することが考えられる。
ところで、後者のような従来技術において示されたゼロ
クロス検出は、サンプリングした波形データをメモリに
書き込んだ後に、これを読み出して解析するものであっ
たため、時間がかかり、発音可能な状態にすぐり移行す
ることはできない。そのため、サンプリングした波形デ
ータをメモリに書き込んだ直後に任意の読み出しモード
で即座に読み出してサンプリング音を確認しようとする
場合は、これを行うことができなかった。
この発明は上述の点に鑑みてなされたもので、メモリに
書き込んだ外部音波形サンプルデータの実際の最終アド
レスを書込み動作に並行して同時に検出し、この最終ア
ドレスを終点又は起点として該メモリの波形サンプルデ
ータを順方向に又は逆方向に読み出すようにする多様な
形態の読み出し制御を書込み後直ちに行えるようにする
楽音発生装置を提供しようとするものである。
更に、異なる外部音波形サンプルデータを合成して新規
な波形サンプルデータを得る場合において、上述と同様
に、合成波形の実際の最終アドレスを書込み動作に並行
して行ない、任意方向へ読出し制御を即座に行なうこと
ができるようにした楽音発生装置を提供しようとするも
のである。
〔問題点を解決するための手段〕
この発明に係る楽音発生装置は、外部から入力された音
信号をサンプリングする外部音サンプリング手段と、波
形サンプルデータを記憶する読み書き可能な記憶手段
と、前記外部音サンプリング手段でサンプリングされた
音信号の波形サンプルデータを前記記憶手段に書き込み
制御手段と、前記書込み制御手段による書込み動作に並
行して、前記音信号又は前記波形サンプルデータのゼロ
クロスを検出するゼロクロス検出手段と、前記ゼロクロ
ス検出手段によりゼロクロスが検出される毎に前記記憶
手段に対する波形サンプルデータの書込みアドレスを記
憶し、書込みが終了したときに記憶されている最後のア
ドレスを前記波形サンプルデータの最終アドレスとして
検出する最終アドレス検出手段と、前記最終アドレス検
出手段で検出された最終アドレスを終点又は起点として
前記記憶手段の波形サンプルデータを順方向に又は逆方
向に読み出す読出し制御手段とを具え、前記記憶手段か
ら読み出された前記波形サンプルデータに対応する楽音
信号を発生するようにしたものである。
これを図によって示すと、第1図のようであり、1が外
部音サンプリング手段、2が記憶手段、3が書込み制御
手段、4がゼロクロス検出手段、5が最終アドレス検出
手段、6が読み出し制御手段、である。
更に、この出願の第2の発明に係る楽音発生装置は、外
部から入力された音信号をサンプリングする外部音サン
プリング手段と、波形サンプルデータを記憶する読み書
き可能な記憶手段と、前記外部音サンプリング手段でサ
ンプリングされた音信号の波形サンプルデータを前記記
憶手段に書き込む書込み制御手段と、前記記憶手段に書
き込んだ波形サンプルデータの最終アドレスを検出する
最終アドレス検出手段と、前記記憶手段に既に記憶され
ている波形サンプルデータと前記外部音サンプリング手
段で新たにサンプリングされた音信号の波形サンプルデ
ータとを合成し、合成された波形サンプルデータを前記
記憶手段に書き込む制御を行う合成波形書込み制御手段
と、前記最終アドレス検出手段の検出を制御するもので
あって、前記合成波形書込み制御手段により制御を行う
場合、前記記憶手段に既に記憶されている波形サンプル
データと前記外部音サンプリング手段で新たにサンプリ
ングされた音信号の波形サンプルデータうちデータサイ
ズの長い方の最終アドレスを、前記合成された波形サン
プルデータの最終アドレスとして検出させる制御を行う
最終アドレス検出制御手段と、前記最終アドレス検出制
御手段による制御を受けて前記最終アドレス検出手段で
検出された最終アドレスを終点又は起点として前記記憶
手段に記憶した波形サンプルデータを順方向にまたは逆
方向に読み出す制御を行う読出し制御手段とを具え、前
記記憶手段から読み出された波形サンプルデータに対応
する楽音信号を発生するようにしたものである。
〔作用〕
外部から入力された音信号は外部音サンプリング手段1
によってサンプリングされ、サンプリングされた該音信
号の波形サンプルデータは書込み制御手段3の制御によ
り記憶手段2に書き込まれる。この書込み動作の最中
に、これと並行して、ゼロクロス検出手段4により、外
部音サンプリング手段1から記憶手段2に与えられる波
形サンプルデータのゼロクロスが検出される。なお、こ
れはサンプリングされた音信号そのものからゼロクロス
を検出するようにしても同じことである。最終アドレス
検出手段5では、このゼロクロス検出手段4によりゼロ
クロスが検出される毎に記憶手段2に対する波形サンプ
ルデータの書込みアドレスを記憶し、該波形サンプルデ
ータの書込みが終了したときに記憶されている最後のア
ドレスを前記波形サンプルデータの最終アドレスとして
検出する。この最終アドレス検出手段5で検出された最
終アドレスは、この最終アドレスを終点又は起点として
記憶手段2の波形サンプルデータを順方向に又は逆方向
に読み出すために読出し制御手段6で利用される。記憶
手段2から読み出された波形サンプルデータに対応する
楽音信号が発音される。
このように、記憶手段2に書き込んだ外部音波形サンプ
ルデータの実際の最終アドレスを書込み動作に並行して
同時に検出するので、この最終アドレスを終点又は起点
として記憶手段2の波形サンプルデータを順方向に又は
逆方向に読み出すようにする多様な形態の読み出し制御
を書き込み後直ちに行えるようになる。これにより、サ
ンプリング方式の楽音発生装置としての演奏性能を向上
させることができる。
また、第2の発明に係る楽音発生装置によれば、記憶手
段に既に記憶されている波形サンプルデータと新たにサ
ンプリングされた音信号の波形サンプルデータとを合成
し、合成された波形サンプルデータを記憶手段に書き込
むようにすることにより、異なる外部音波形サンプルデ
ータを合成して新規な波形サンプルデータを作成するこ
とができるものであある。その場合に、記憶手段に既に
記憶されている波形サンプルデータと新たにサンプリン
グされた音信号の波形サンプルデータのうちデータサイ
ズの長い方の最終アドレスを、前記合成された波形サン
プルデータの最終アドレスとして検出させる制御を行う
最終アドレス検出制御手段を具備することにより、合成
波形の実際の最終アドレスを書込み動作に並行して行な
うことができるものであり、この最終アドレスを終点又
は起点として記憶手段の合成波形サンプルデータを順方
向に又は逆方向に読み出すようにする多様な形態の読み
出し制御を書込み後直ちに行えるようになる。これによ
り、サンプリング方式の楽音発生装置としての演奏性能
を更に向上させることができる。
〔実施例〕
以下、添付図面を参照してこの発明の実施例を詳細に説
明しよう。
第2図はこの発明に係る楽音発生装置を適用した電子楽
器の一実施例のハード構成を示すもので、この実施例の
電子楽器においてはCPU(中央処理ユニット)11、プロ
グラムROM(リードオンリーメモリ)12及びデータ及び
ワーキングRAM(ランダムアクセスメモリ)13を含むマ
イクロコンピュータ部によって各種の動作や処理が制御
される。鍵盤14は、楽音の音高を指定するための複数の
鍵を具えている。操作パネル部15には、外部音のサンプ
リング動作及びその読出し動作を制御するためのサンプ
リング制御操作子群16と、楽音のエンベロープ波形を設
定・制御するためのエンベロープ制御操作子群17と、各
種の楽音効果の設定・制御を行うための効果制御操作子
群18と、その他種々の楽音発生・制御用の操作子群19と
が設けられている。
サンプリング制御操作子群16において、サンプリングス
イッチSMPLとオーバーライススイッチOVRWRは外部音の
波形サンプルデータをトーンジェネレータ部20内のデー
タメモリ21に書き込む制御を行うべきことを指示するス
イッチである。リバーススイッチRVRとUターンスイッ
チUTRNとループスイッチLOOPとエコースイッチECHOでは
該メモリ21に記憶した波形サンプルデータを読み出して
演奏を行う際の演奏モードを指示するスイッチである。
サンプリングスイッチSMPLは、外部音のサンプリングを
行うべきことを指示するとき操作するものである。
オーバーライトスイッチOVRWRは、上記と同様に外部音
のサンプリングを行うべきことを指示するとき操作する
ものであるが、既にメモリ21に記憶して或る外部音の波
形サンプルデータに対して、そのデータを消去せずに、
別の外部音のサンプルデータを重ね書きすること(これ
を「オーバーライト」という)を指示するとき操作する
ものである。これに対して、サンプリングスイッチSMPL
によりサンプリング指示されたときは、前に記憶した外
部音の波形サンプルデータは消去される。
リバーススイッチRVRSは、メモリ21に記憶した外部音の
波形サンプルデータを逆方向に読み出して行う演奏を指
示するとき操作するものである。このような読出しを称
して単に「リバース」という。なお、メモリ21を逆方向
に読み出すとは、アドレスの値の大きい方から順に読み
出すことである。これに対して、メモリ21を順方向に読
み出すとは、アドレスの値の小さい方から順に読み出す
ことである。
UターンスイッチUTRNは、メモリ21に記憶した外部音の
波形サンプルデータを順方向に読み出した後、逆方向に
折返して読み出す演奏を指示するとき操作するものであ
る。このようなアドレ読出しを称して単に「Uターン」
という。
なお、「Uターン」と「リバース」を同時に選択・指示
することが可能であり、その場合は、メモリ21に記憶し
た外部音の波形サンプルデータを逆方向に読み出した
後、順方向に折返して読み出した後、順方向に折返して
読み出す。これを称して「Uターン・リバース」とい
う。
ループスイッチLOOPは、メモリ21に記憶した外部音の波
形サンプルデータを繰返し読み出すことを指示するとき
操作するものである。このような読出しを称して単に
「ループ」という。通常の「ループ」は、メモリ21に記
憶した外部音の波形サンプルデータを順方向に繰返し読
み出す。これを称して「ノーマル・ループ」という。
「ループ」と「リバース」を同時に選択・指示すること
が可能であり、その場合は、メモリ21に記憶した外部音
の波形サンプルデータを逆方向に繰返し読み出す。これ
を称して「リバース・ループ」という。
「ループ」と「Uターン」を同時に選択・指示すること
が可能であり、その場合は、メモ21に記憶した外部音の
波形サンプルデータを順方向に読み出した後、逆方向に
折返して読み出すことを繰り返す。これを称して「Uタ
ーン・ループ」という。
「ループ」と「Uターン」と「リバース」を同時に選択
・指示することが可能であり、その場合は、メモリ21に
記憶した外部音の波形サンプルデータを逆方向に読み出
した後、順方向に折返して読み出すことを繰り返す。こ
れを称して「Uターン・リバース・ループ」という。
上述のような演奏モードの一覧が第3図に示されてい
る。演奏モードは8個であり、モードを記号M1〜M8で区
別する。左欄は、モード名を示し、これは上述の名称に
対応している。従って、各モードが選択される条件は上
述から明らかであろう。なお、「ノーマル」モードM1は
メモリ21に記憶した外部音の波形サンプルデータを順方
向に1回だけ読み出すモードであり、特別のモードM2〜
M8が選択されていないときこの「ノーマル」モードとな
る。右欄は、各モードにおけるメモリ21からの波形サン
プルデータの読出し状態を模式的に示したものであり、
矢印の方向が読出しの順方向又は逆方向の別を示してい
る。「ループ」に関連するモードM3,M5,M6,M8では、図
示のような読出しが繰返される。順方向読出しにおける
起点は所定のスタートアドレスであり、終点は所定のエ
ンドアドレスである。逆に、逆方向読出しにおける起点
はエンドアドレスであり、終点はスタートアドレスであ
る。
このスタートアドレスとエンドアドレスが、順方向又は
逆方向読出しにおける起点又は終点を指示する基準アド
レスとなっている。この実施例では、一方の基準アドレ
スつまりスタートアドレスは、常に所定の初期アドレス
(例えばアドレス0)に固定されており、他方の基準ア
ドレスつまりエンドアドレスがサンプリングされた波形
データの最終のゼロクロスアドレスに対応して適宜変動
するようになっている。また、この基準アドレスつまり
エンドアドレスの値は演奏者によって適宜増減変更でき
るようになっている。なお、この実施例では、エンドア
ドレスの値の増減変更は、上述の「ループ」に関連する
モードM3,M5,M6,M8のときに可能である。
サンプリング制御操作子群16において、上述のエンドア
ドレスの増減変更を指示するために、増加スイッチINC
と減少スイッチDECが設けられている。増加スイッチINC
の操作に応じてアドレス値が増加し、減少スイッチDEC
の操作に応じてアドレス値が減少する。この実施例で
は、一例として、増加スイッチINCと減少スイッチDECに
よるエンドアドレスの増減変更は、1アドレス単位では
なく、複数のアドレスからなるブロック単位で行われる
ようになっている。
ここで、トーンジェネレータ部20内のデータメモリ21に
おけるアドレス構成の一例を第4図により説明する。1
音分の外部音の波形サンプルデータを記憶するアドレス
の全範囲は0〜15の16ブロックからなり、1ブロックは
256アドレスからなる。この全アドレス範囲の先頭のア
ドレスがスタートアドレスであり、アドレス値0であ
る。エンドアドレスは、サンプリングされた波形データ
の最終のゼロクロスアドレスに対応して適宜変動する。
この実施例では、このエンドアドレスもブロック単位で
決定されるようになっている。このエンドアドレスの値
が増加スイッチINCと減少スイッチDECの操作に応じて増
減変更される。
サンプリング制御操作子群16に設けられたエコースイッ
チECHOは、エコー効果を選択するためのものである。こ
こでいうエコー効果とは、演奏モードを「ループ」に自
動的に設定し、かつ発生楽音の音量エンベロープのレリ
ース時間を自動的に長く(例えば最長に)設定し、これ
により、サンプリングされた波形データをメモリ21から
繰返し読み出し、読出した波形データに対応する楽音信
号の音量エンベロープを緩やかに減衰させながら該楽音
が繰返し発音されるようにすることである。
サンプリング制御操作子群16に設けられたオールキャン
セルスイッチCANSELは、サンプリングした波形サンプル
データに関連して操作パネル部15で設定・選択・変更・
調整した各種のデータの全て又は所定のものを、キャン
セルし、これらのデータの内容を最初にサンプリングし
たときの状態に戻すために操作されるものである。つま
り、サンプリングした波形サンプルデータ関連して編集
した様々のデータの編集内容をキャンセルし、編集前の
初期状態に戻すためのものである。このように編集内容
をキャンセルして編集前の初期状態に戻せるようにする
ことにより、失敗をおそれることなく、自由な編集を行
うことができるようになり、サンプリングした波形サン
プルデータに関連する編集機能を向上させることができ
る。
操作パネル部15におけるエンベロープ制御操作子群17
は、データメモリ21から読み出した波形サンプルデータ
に付与する音量エンベロープ波形の特性を設定・制御す
る操作子からなり、例えば、A.D.S.R.特性を決定するア
タック時間、ディケイ時間、サステインレベル、レリー
ス時間を夫々設定・制御する操作子からなる。
操作パネル部15における効果操作子群18は、例えば、ビ
ブラート、トレモロ、リバーブ等の楽音効果の設定・制
御を行うための操作子からなる。
トーンジェネレータ部20は、マイクロフォン22を介して
外部から入力された音信号をサンプリングしてディジタ
ル波形サンプルデータに変換する機能と、サンプリング
されたディジタル波形サンプルデータをデータメモリ21
に書き込む機能と、鍵盤14での押鍵等に応じてデータメ
モリ21の波形サンプルデータを読み出す機能と、読み出
した波形サンプルデータの音量エンベロープを制御した
り各種の楽音効果を付与する機能とを具えている。トー
ンジェネレータ部20から発生されたディジタル楽音信号
はアナログ変換された後、サウンドシステム23に与えら
れる。
タイマビープ回路24は、外部音のサンプリングを開始す
るときに一定時間の間ビープ音を発生するための回路で
ある。ビープ音の発生時間は例えば300ms程度であり、
サンプリングスイッチSMPLの操作に応じて発音開始し、
終了したときビープエンドパルスBPENDを発生する。ビ
ープエンドパルスBPENDに基づき、トーンジェネレータ
部20ではサンプリング動作を開始する。
鍵盤14における押鍵・離鍵検出のための鍵走査及び発音
割当て処理や、操作パネル部15におけるスイッチ等の操
作検出のための走査及び表示器等の点灯・消灯処理や、
トーンジェネレータ部20におけるサンプリングデータの
書込み・読出し制御、など各種の処理がマイクロコンピ
ュータ部によって実行される。
マイクロコンピュータ部によって実行される処理のう
ち、この発明に関連する処理のフローチャートの一例が
第8図〜第19図に示されている。この処理に関連して使
用されるデータ及びワーキングRAM13内の記憶内容の一
例が第5図に示されている。
SMPFLGは、サンプリングフラグであり、通常のサンプリ
ングモードのとき“1"となる。OVWFLGは、オーバーライ
トサンプリングフラグであり、オーバーライトモードの
とき“1"となる。
RVFLGは、リバースフラグであり、「リバース」の演奏
モードのとき“1"となる。このフラグはリバーススイッ
チRVRSがオンされる毎に“1"から“0"に又は“0"から
“1"に反転する。
UTFLGは、Uターンフラグであり、「Uターン」の演奏
モードのとき“1"となる。このフラグはUターンスイチ
ィUTRNがオンされる毎に“1"から“0"に又は“0"から
“1"に反転する。
LPFLGは、ループフラグであり、「ループ」の演奏モー
ドのとき“1"となる。このフラグはループスイッチLOOP
がオンされる毎に“1"から“0"に又は“0"から“1"に反
転する。
ECFLGは、エコーフラグであり、エコー効果が選択され
たとき“1"となる。このフラグはエコースイッチECHOが
オンされる毎に“1"から“0"に又は“0"から“1"に反転
する。
LPFLGBは、ループフラグバッファであり、エコー効果が
選択されたときループフラグLPFLGの内容を強制的に
“1"にするために、その直前のループフラグLPFLGの内
容を保存しておくためのものである。このバッファLPFL
GBに保存した内容は、エコー効果が選択されなくなった
ときループフラグLPFLGに戻される。
NKEYは、ニューキーコードレジスタであり、新たに押鍵
又は離鍵された鍵のキーコードを記憶するものである。
KCODEは、キーコードレジスタであり、現在発音中の楽
音に対応するキーコードを記憶するものである。
ZCRADBは、ゼロクロスアドレスバッファであり、外部か
らサンプリングした波形サンプルデータの最終のゼロク
ロスアドレスを記憶するものである。
LPADBは、エンドアドレスバッファであり、前述のエン
ドアドレスを記憶するものである。
ATBはアタックタイムバッファ、DTBはディケイタイムバ
ッファ、SLBはサステインレベルバッファ、RTBはレリー
スタイムバッファ、であり、エンベロープ制御操作子群
17で設定・制御されたアタック時間、ディケイ時間、サ
ステインレベル、レリース時間のデータを夫々記憶する
ものである。
RTBUFは、レリースタイム保存バッファであり、エコー
効果が選択されたときレリースタイムバッファRTBの内
容を強制的に最長時間にするために、その直前のレリー
スタイムバッファRTBの内容を保存しておくためのもの
である。このバッファRTBUFに保存した内容は、エコー
効果が選択されなくなったときレリースタイムバッファ
RTBに戻される。
上述のようなレジスタ、フラグ、あるいはバッファのた
めの領域が、データ及びワーキングRAM13内に設けられ
ている。また、データ及びワーキングRAM13内には、操
作パネル部15における効果制御操作子群18及びその他の
操作子群13の操作検出データを記憶するための領域や、
その他のデータ及びワーキング領域が設けられている。
トーンジェネレータ部20の詳細例は第6図に示されてい
る。
第6図のトーンジェネレータ部20において、データバス
25を介してマイクロコンピュータ部側とデータの授受を
行うために、インタフェース26が設けられている。イン
タフェース26は、バッファレジスタを含むものである。
マイクロコンピュータ部から与えられたデータはインタ
フェース26を介してトーンジェネレータ部20内の所定の
回路に入力される。また、トーンジェネレータ部20内の
所定の回路から出力されたデータはインタフェース26及
びデータバス25を介してマイクロコンピュータ部に与え
られる。
トーンジェネレータ部20内の主要な回路について簡単に
説明すると、データメモリ21は前述した第4図のような
アドレス構成からなるものであり、読み書き制御入力R/
Wに与えられる信号が“1"ならば読出しモードとなり、
“0"ならば書込みモードとなる。ADはアドレス入力、DT
はデータ入出力端子、である。
マイクロフォン22でピックアップした外部音の信号はア
ナログ/ディジタル変換器27でクロックパルスφに従
ってサンプリングされ、ディジタル変換される。ディジ
タル変換された波形サンプルデータは、重ね書き用の加
算器28、ラッチ回路29、ゲート30を介してデータメモリ
21のデータ入出力端子DTに与えられる。また、アナログ
/ディジタル変換器27から出力された波形サンプルデー
タは立上り検出回路31に与えられ、音の立上りが検出さ
れる。音の立上り検出に応じてトリガパルスTRGが出力
される。このトリガパネルTRGは、データメモリ21への
波形サンプルデータの書込み開始タイミングを指示する
信号として使用される。
また、アナログ/ディジタル変換器27から出力された波
形サンプルデータはゼロクロス検出回路32に与えられ、
ゼロクロスが検出される。この実施例では、ゼロクロス
検出回路32の構成の簡単化のために、波形サンプルデー
タのレベルが所定のゼロ判定範囲(ゼロレベルの±αの
範囲:αは適宜のレベル)内に入ったか否かを検出し、
ゼロ判定範囲を外れたときゼロクロス検出パルスZCRを
出力するようにしている。ゼロクロス検出パルスZCRは
ゼロクロスアドレスラッチ回路33のラッチ制御入力Lに
与えられ、ゼロクロスが検出されたときの書込みアドレ
スを該ラッチ回路33にラッチする。ゼロクロス検出パル
スZCRは波形サンプルデータのゼロクロス毎に発生され
るので、ラッチ回路33のゼロクロスアドレスは、何度も
書き換えられ、最後にラッチ回路33に残されたデータが
波形サンプルデータにおける最終のゼロクロスアドレス
である。
ノートクロック発生回路34は、ニューキーコードNKCに
応じてノートクロックパルスφを発生する。ニューキ
ーコードNKCは、データメモリ21の書込みレート又は読
出しレートを指定するためのものであり、サンプリング
時において所定の基準音高(例えばA4音)のキーコード
に設定され、鍵盤14における押鍵に応じて変更される。
ノートクロックパルスφは分周器35で1/2分周され、
第7図に示すような互いに逆相のノートクロックパルス
φ1が得られる。進相のノートクロックパルスφ
がアンド回路36を介してアドレスカウンタ37のカウント
クロック入力CLKに入力される。遅相のノートクロック
パルスφは、ナンド回路44を介してデータメモリ21の
読み書き制御入力R/Wに加わり、その読み書きモードを
制御する。
後述するように、サンプリングモード(通常のサンプリ
ングモード又はオーバーライト・サンプリングモード)
のとき、信号SM1又はSM2が“1"となり、オア回路45から
ナンド回路44に“1"が与えられる。これにより、ナンド
回路44は遅相のノートクロックパルスφを反転し、デ
ータメモリ21の読み書き制御入力R/Wに加える。従っ
て、データメモリ21は、進相のノートクロックパルスφ
が“1"のとき読出しモード、遅相のノートクロックパ
ルスφが“1"のとき書込みモードとなり、1アドレス
の時間内で時分割的に読み書きモードが切り換わる。こ
れは、後述するオーバーライト・サンプリングモードの
ための処置である。なお、各種の演奏モードM1〜M8のと
きは、信号SM1及びSM2が“0"であり、ナンド回路44は常
に“1"を出力し、データメモリ21は常時書込みモードと
なる。なお、1/2分周したノートクロックパルスφ
アドレスカウンタ37でカウントするので、ノートクロッ
ク発生回路34は目的のノートクロックパルスφの2倍
の周波数のノートクロックパルスφを発生するものと
する。
アドレスカウンタ37は、データメモリ21の読み書きアド
レスを指定するアドレス信号を発生するもので、プリセ
ット制御入力PRに加わるプリセットパルスPRPに応じて
プリセットデータ入力PRDに加わるプリセットデータを
プリセットし、このプリセット値を起点としてカウント
クロック入力CLKに加わるノートクロックパルスφ
カウントを行う。アドレスカウンタ37は、アップ/ダウ
ンカウンタであり、方向指示信号DIRが“1"のときアッ
プカウント、“0"のときダウンカウントを行う。
アドレスカウンタ37の出力はデータメモリ21のアドレス
入力ADに加わると共に比較器38に加わり、更に上位4ビ
ットがゼロクロスアドレスラッチ回路33に入力される。
アドレス信号は、12ビットからなり、上位4ビットで0
〜15の各ブロックを識別し、下位8ビットで1ブロック
内の256アドレスを識別する。ゼロクロスアドレスラッ
チ回路33にアドレス信号の上位4ビットがラッチされる
ことにより、ゼロクロスアドレスはブロック単位で検出
されることになる。ラッチ回路33にラッチされたゼロク
ロスアドレスデータZCRADは、インタフェース26を介し
てマイクロコンピュータ部に供給される。
比較器38は、アドレスカウンタ37から発生されたアドレ
ス信号が終点に到達したかを検出するためのものであ
る。アドレス信号が順方向に進んでいる(つまり増加し
ている)ときは、セレクタ39によりエンドアドレスデー
タLPADを選択して終点アドレスレジスタ40に記憶し、こ
のレジスタ40に記憶されたエンドアドレスデータLPADと
アドレス信号とを比較器38で比較し、両者が一致したと
きエンドパルスENDを出力する(“1"にする)。一方、
アドレス信号が逆方向に進んでいる(つまり減少してい
る)ときは、セレクタ39により全12ビットが“0"である
初期アドレスデータを選択して終点アドレスレジスタ40
に記憶し、このレジスタ40に記憶された初期アドレスデ
ータとアドレス信号とを比較器38で比較し、両者が一致
したときエンドパルスENDを出力する。
セレクタ39の選択制御は、T−フリップフロップ41から
周力される方向指示信号DIRに応じてなされる。この方
向指示信号DIRが“1"のときつまりアドレスの順方向変
化を指示しているとき、B入力を選択し、“0"のときつ
まりアドレスの逆方向変化を指示しているときは、A入
力を選択する。
なお、後述するようにエンドアドレスデータLPADは、前
述のゼロクロスアドレスデータZCRADに基づいてマイク
ロコンピュータ部から与えられるもので、ブロック単位
でエンドアドレスを指示する4ビットのデータである。
このブロック単位のエンドアドレスデータLPADをアドレ
ス単位に直すために、その下位に8ビットのオール“1"
を追加したものをセレクタ39のB入力に与えるようにし
ている。これにより、エンドアドレスデータLPADは、ブ
ロック内の最終アドレスを示すものとされる。
アドレスカウンタ37のプリセットデータ入力PRDにはセ
レクタ42の出力が加わる。このセレクタ42は、上述のセ
レクタ39とは反対に、方向指示信号DIRが“1"のときつ
まりアドレスの順方向変化を指示するとき、A入力に加
わる全12ビット“0"の初期アドレスデータを選択し、
“0"のときつまりアドレスの逆方向変化を指示するとき
は、B入力に加わるエンドアドレスデータLPADを選択す
る。このエンドアドレスデータLPADもその下位に8ビッ
トのオール“1"を追加してブロック内の最終アドレスを
示すものとされる。
なお、終点アドレスレジスタ40は、アドレスカウンタ37
のプリセット制御入力PRに加わるプリセットパルスPRP
と同じパルスPRPにより、アドレスカウンタ37のプリセ
ットと同時に、セレクタ39からの終点アドレスデータを
ロードする。
方向指示信号DIRを発生するT−フリップフロップ41
は、サンプリングモードあるいは各種の演奏モードM1〜
M8に応じて後述するように制御される。
アドレスカウンタ37のプリセット制御を行うプリセット
パルスPRPも、サンプリングモードあるいは各種の演奏
モードM1〜M8に応じて後述するようにその発生条件が制
御される。
アドレスカウンタ37のカウントクロック入力CLKにノー
トクロックパルスφを加える制御を行うアンド回路36
は、フリップフロップ43の出力信号に応じて制御され
る。このフリップフロップ43の状態は、サンプリングモ
ードあるいは各種の演奏モードM1〜M8に応じて後述する
ように制御される。
データメモリ21から読み出された波形サンプルデータ
は、乗算器46に入力され、エンベロープ発生器47から与
えられるエンベロープ波形データが乗算される。エンベ
ロープ発生器47は、マイクロコンピュータ部からインタ
フェース26を介して与えられるアタックタイムデータA
T、ディケイタイムデータDT、サステインレベルデータS
L、レリースタイムデータRTに基づき設定される形状の
エンベロープ波形を、キーオンパルスKONP,OKONP及びキ
ーオフパルスKOFP,OKOFPに応答して発生する。周知のよ
うに、キーオンパルスに応答してアタック、ディケイ、
サステインと続くエンベロープ波形部分を発生し、キー
オフパルスに応答してレリース部分を発生する。ここ
で、一方のキーオンパルスKONP及びキーオフパルスKOFP
は、通常の押鍵操作に基づいて与えられるものであり、
もう一方のキーオンパルスOKONP及びキーオフパルスOKO
FPは、サンプリングしたばかりの楽音をオウム返しに即
座に自動的に発音するために与えられるものである。
乗算器46で音量エンベロープが制御された波形サンプル
データは、ディジタル/アナログ変換器48に与えられて
アナログ信号に変換され、最終的にサウンドシステム23
に与えられる。また、効果回路49にも適宜与えられ、リ
バーブ、トレモロ、ビブラート等の楽音効果が付与され
る。
次に、第8図〜第19図を参照して、この電子楽器の各種
動作について説明する。
第8図は、メインルーチンを示すもので、まず、キース
キャン処理においては、鍵盤14の各鍵を走査し、押鍵及
び離鍵を検出する。この検出に応じて所定の処理を実行
する。ここでは、新たな押鍵を検出したとき第12図のキ
ーオンイベントルーチンを実行し、新たな離鍵を検出し
たとき第13図のキーオフイベントルーチンを実行する。
サンプリング制御操作子スキャン処理においては、サン
プリング制御操作子群16の各スイッチの操作を検出し、
この検出に応じて所定の処理を実行する。ここでは、サ
ンプリングスイッチSMPLがオフからオンに変わったこと
を検出したとき第9図のサンプリングイベントルーチン
を実行し、オーバーライトスイッチOVRWRがオフからオ
ンに変わったことを検出したとき第10図のオーバーライ
トイベントルーチンを実行する。また、サンプリング開
始時のビープ音が終了したときにタイマビープ回路24か
ら与えられるビープエンドパルスBPENDを検出し、この
検出に応じて第11図のタイマビープエンドイベントルー
チンを実行する。また、外部音のサンプリングが終了し
たときに後述のようにトーンジェネレータ部20から与え
られるサンプリングエンド信号SMPENDに応じて、第14図
のサンプリングエンドイベントルーチンを実行する。ま
た、リバーススイッチRVRS、UターンスイッチUTRN、ル
ープスイッチLOOP、エコースイッチECHO、増加スイッチ
INC、減少スイッチDEC、オールキャンセルスイッチCANS
ELが夫々オフからオンに変わったことを検出したとき、
第15図〜第19図のリバースイベントルーチン、Uターン
イベントルーチン、ループイベントルーチン、エコーイ
ベントルーチン、増加イベントルーチン、減少イベント
ルーチン、オールキャンセルイベントルーチンを夫々実
行する。
エンベロープ制御操作子スキャン処理においては、エン
ベロープ制御操作子群17の各操作子の操作を検出し、こ
の検出に応じて所定の処理を実行する。ここでは、エン
ベロープ制御操作子群17で設定・制御されたアタック時
間、ディケイ時間、サステインレベル、レリース時間の
データをアタックタイムバッファATB、ディケイタイム
バッファDTB、サステインレベルバッファSLB、レリース
タイムバッファRTBに夫々記憶する。
効果制御操作子スキャン処理においては、効果制御操作
子群18の各操作子の操作を検出し、この検出に応じて所
定の処理を実行する。その他の操作子スキャン処理にお
いては、その他の操作子群19の各操作子の操作を検出
し、この検出に応じて所定の処理を実行する。
通常のサンプリング動作 通常のサンプリング動作を行う場合はまずサンプリング
スイッチSMPLをオンする。これに応じて第9図のサンプ
リングイベントルーチンがスタートする。ここではサン
プリングフラグSMPFLGを“1"にセットし、他のフラグOV
WFLG〜ECFLGを“0"にリセットする(ステップ101)。次
に、ニューキーコードNKCとして所定の基準音高(例え
ばA4音)のキーコードをトーンジェネレータ部20に送出
する(ステップ102)。そして、タイマビープ回路24に
スタートトリガ信号を送出し、ビープ音を発音させる
(ステップ103)。なお、フローチャートではトーンジ
ェネレータ部20をTGで示す。
タイマビープ回路24では、このスタートトリガ信号に応
じて所定時間(例えば300ms)ビープ音を発音し、この
時間が経過すると、ビープエンドパルスBPENDを出力す
る。
第6図を参照すると、トーンジェネレータ部20では、与
えられたニューキーコードNKCに応じてノートクロック
発生回路34から基準音高(A4音)のノートクロックパル
スφを発生する。ビープ音の発音時間中に、このノー
トクロックパルスが安定して発生されるようになり、サ
ンプリングの準備が完了する。このように、ビープ音は
サンプリングの準備完了を知らせる役割を果す。
ビープエンドパルスBPENDに応じて第11図のルーチンが
スタートする。ステップ104では、サンプリングフラグS
MPFLGが“1"であることを確認して、ステップ105に行
く。ここでは、通常のサンプリングモードに対応するサ
ンプリングモード信号SM1を“1"にし、オーバーライト
・サンプリングモードに対応するサンプリングモード信
号SM2を“0"にして、トーンジェネレータ部20に送出す
る。
次のステップ106では、トーンジェネレータ部20に与え
るべきデータを次のように初期設定してトーンジェネレ
ータ部20に送出する。演奏モードの各種モード信号M1〜
M8を“0"にする。エンドアドレスデータLPADを最終ブロ
ックを示す値「15」に設定する。アタックタイムデータ
AT、ディケイタイムデータDT、レリースタイムデータRT
を夫々「0」に設定し、サステインレベルデータSLを最
大値「MAX」に設定する。これは、キーオンからキーオ
フまで一定のエンベロープレベルを維持する直接キーイ
ング型のエンベロープ波形を設定するものである。この
直接キーイング型のエンベロープ波形では、サンプリン
グしたままの音量レベルで楽音が発音される。
次のステップ107では、マイクロコンピュータ部内のア
タックタイムバッファATB、ディケイタイムバッファDT
B、サステインレベルバッファSLB、レリースタイムバッ
ファRTBの内容も上記と同様に直接キーイング型のエン
ベロープ波形を設定するものに初期設定する。次のステ
ップ108では、各種楽音効果用のデータも所定の内容に
初期設定する。
一方、演奏者はビープ音を確認してから、マイクロフォ
ン22により所望の外部音をピックアップする。第6図を
参照すると、前述の通り、ピックアップされた信号はア
ナログ/ディジタル変換器27でサンプリングされ、ディ
ジタル変換される。ディジタル変換された波形サンプリ
ングデータの音の立上りが立上り検出回路31で検出さ
れ、音の立上り検出に応じてトリガパルスTRGが出力さ
れる。このトリガパルスTRGは、アンド回路50に入力さ
れる。アンド回路50の他の入力には、サンプリングモー
ド信号SM1の“1"がオア回路51を介して与えられてお
り、トリガパルスTRGに同期してアンド回路50の出力が
“1"となり、これがサンプリングスタートパルスSMPST
としてオア回路52を介してフリップフロップ43のセット
入力Sに与えられると共に、オア回路53を介してプリセ
ットパルスPRPとしてアドレスカウンタ37のプリセット
制御入力PRに与えられ、かつ終点アドレスレジスタ40に
与えられる。また、サンプリングスタートパルスSMPST
がオア回路54を介して、サンプリングモード信号SM1が
オア回路55を介して、夫々アンド回路56に入力され、該
アンド回路56の出力“1"がT−フリップフロップ41のセ
ット入力Sに与えられる。
これにより、T−フリップフロップ41から出力される方
向指示信号DIRが“1"となり、セレクタ42で初期アドレ
ス(オール“0")を選択してアドレスカウンタ37にプリ
セットし、セレクタ39では最終ブロックを示すエンドア
ドレスLPADを選択して終点アドレスレジスタ40にロード
し、アドレスカウンタ37はアップカウントに設定され
る。そして、フリップフロップ43のセット出力“1"によ
りアンド回路36が可能化され、A4音に対応するレートの
ノートクロックパルスφがアドレスカウンタ37に入力
される。
こうして、トリガパルスTRGの発生に応じて、アドレス
カウンタ37がA4音に対応するレートのノートクロックパ
ルスφのアップカウントを開始し、その発生アドレス
信号は、初期アドレス(オール“0")を起点とし、エン
ドアドレスLPADを終点として順方向に変化する。
一方、サンプリングモード信号SM1が“1"となることに
より、前述の通り、ノートクロックパルスφを反転し
た信号がナンド回路44からデータメモリ21の読み書き制
御入力R/Wに加えられ、データメモリ21は、進相のノー
トクロックパルスφが“1"のとき読出しモード、遅相
のノートクロックパルスφが“1"のとき書込みモード
となり、1アドレスの時間内で時分割的に読み書きモー
ドが切り換わる。しかし、サンプリングモード信号SM1
が“1"のときは、サンプリングモード信号SM2が“0"で
あり、データメモリ21の読出し信号を加算器28に加える
ためのゲート57が閉じられており、かつ、エンベロープ
発生器47からエンベロープ波形データを発生させるため
のキーオンパルスも発生されていない(従って乗算器46
はデータメモリ21の読出し信号をカットする)ので、読
出しは意味を持たない。
アナログ/ディジタル変換器27から出力される外部音の
ディジタル波形サンプルデータは、加算器28の一方入力
に与えられる。加算器28の他方入力には、上記ゲート57
の出力が与えられるが、これは上述のように“0"である
ので、外部音のディジタル波形サンプルデータは加算器
28を単に通過してラッチ回路29に与えられる。ラッチ回
路29は、書込みタイミングであるノートクロックパルス
φのタイミングでラッチ動作を行う。なお、アナログ
/ディジタル変換器27におけるアナログ/ディジタル変
換動作は、進相のノートクロックパルスφのタイミン
グで行う。
ラッチ回路29の出力はゲート30を通過してデータメモリ
21のデータ入力DTに入る。ゲート30は、サンプリングモ
ード信号SM1及びSM2を入力したオア回路58の出力とノー
トクロックパルスφとが入力されるアンド回路59の出
力によって制御される。これにより、ゲート30は、サン
プリングモード(通常のサンプリングモード及びオーバ
ーライト・サンプリングモード)であって且つノートク
ロックパルスφが“1"のときのみ、つまり書込みタイ
ミングにおいてのみ、開放される。なお、各種の演奏モ
ードM1〜M8のときは、信号SM1及びSM2が“0"であり、ア
ンド回路59は常に“0"を出力し、ゲート30は常に閉じて
いるので、もし、マイクロフォン22によりノイズをピッ
クアップしたとしてもここでカットすることができる。
こうして、外部音のディジタル波形サンプルデータが、
書込みタイミングにおいてデータメモリ21のデータ入力
DTに入力され、アドレスカウンタ37から与えられるアド
レス信号によって指定されたアドレスに書き込まれる。
一方、アナログ/ディジタル変換器27から出力された波
形サンプルデータはゼロクロス検出回路32に与えられ、
前述のように、書込み動作に並行して、ゼロクロスが検
出される。ゼロクロス検出回路32から出力されたゼロク
ロス検出パルスZCRに応じて、ゼロクロスが検出された
ときの書込みアドレスがゼロクロスアドレスラッチ回路
33にラッチされる。ゼロクロス検出パルスZCRは波形サ
ンプルデータのゼロクロス毎に発生されるので、ラッチ
回路33のゼロクロスアドレスは、何度も書き換えられ、
最後にラッチ回路33に残されたデータが波形サンプルデ
ータにおける最終のゼロクロスアドレスである。従っ
て、サンプリングが終了したときには、最終のゼロクロ
スアドレスが既に判明している。
書込みアドレスがメモリ21の最終アドレスまで到達する
と、終点アドレスレジスタ40に記憶されている最終ブロ
ックの最終アドレスを示すエンドアドレスLPADと一致
し、比較器38からエンドパルスENDが出力される。この
エンドパルスENDはアンド回路60に入力される。このア
ンド回路60は、オア回路61からのサンプリングモード信
号SM1の“1"により可能化されているので、エンドパル
スENDに対応する“1"がアンド回路60からオア回路62,遅
延フリップフロップ63を介してフリップフロップ43のリ
セット入力Rに入力される。遅延フリップフロップ63は
ノートクロックパルスφの1クロック分の遅延を行
う。これにより、カウント値が最終アドレスに到達した
1クロック後に、フリップフロップ43がリセットされ、
アンド回路36が閉じて、ノートクロックパルスφが止
められる。こうして、アドレスカウンタ37のカウントが
停止する。因に、このときは、プリセット操作が行われ
ないので、カウント値は最終値に保持される。このよう
に、サンプリングモード時は、データメモリ21の初期ア
ドレスから最終アドレスまで全アドレス範囲にわたって
書込みが行われる。
エンドパルスENDはアンド回路64に与えられる。このア
ンド回路64は、オア回路65からのサンプリングモード信
号SM1の“1"により可能化されているので、エンドパル
スENDに対応する“1"がアンド回路64から出力され、こ
れがサンプリングエンド信号SMPENDとしてマイクロコン
ピュータ部に送出される。また、ゼロクロスアドレスラ
ッチ回路33にラッチされたゼロクロスアドレスデータZC
RADもマイクロコンピュータ部に送出される。
オーバーライト・サンプリング動作 先にサンプリングした音に重ねて新たにサンプリングし
た音の波形サンプルデータを書込む場合は、オーバーラ
イトスイッチOVRWRをオンする。これに応じて、第10図
のオーバーライトイベントルーチンが実行される。ここ
では、まず、オーバーライトフラグOVWFLGを“1"にセッ
トし、他のフラグを“0"にリセットする(ステップ101
a)。これに続くステップ102a,103aの処理は第9図のス
テップ102,103と同じであり、ニューキーコードNKCとし
てA4音のキーコードを設定し、タイマビープ音を発音す
る。
ビープ音が終了すると、前述と同様に第11図のタイマビ
ープエンドイベントルーチンが実行される。ここで、ス
テップ104では、サンプリングフラグSMPFLGが“0"なの
で、NOと判断され、ステップ109と行く。ステップ109で
は、サンプリングモード信号SM1を“0"にセットし、SM2
を“1"にセットして、トーンジェネレータ部20に送出す
る。その後、通常のサンプリングモードと同様に、ステ
ップ106、107、108の処理を実行する。
このように、オーバーライト・サンプリングモードの場
合は、サンプリングモード信号SM1が“0"、SM2が“1"と
なる点が通常のサンプリングモードの場合と反対であ
り、その他は通常のサンプリングモードの場合と同様で
ある。
第6図を参照すると、サンプリングモード信号SM2が、S
M1と同様に、オア回路45、51、55、58、61、65に入力さ
れており、この点に関しては、トーンジェネレータ部20
は前述の通常のサンプリングモードの場合と全く同様に
動作する。異なる点は、信号SM2がゲート57の制御入力
に与えられていることである。これにより、データメモ
リ21から読み出された波形サンプルデータが加算器28に
入力され、アナログ/ディジタル変換器27から与えられ
る新たな波形サンプルデータと加算される。
すなわち、前述の通り、オア回路45からナンド回路44に
与えられる信号SM2の“1"により、ノートクロックパル
スφを反転した信号がデータメモリ21の読み書き制御
入力R/Wに与えられ、該データメモリ21は1アドレス時
間の前半で読出しモードとなり、後半で書込みモードと
なる。1アドレス時間の前半でデータメモリ21から読み
出された先にサンプリングされた音の波形サンプルデー
タが、信号SM2の“1"によって開放されたゲート57を通
って加算器28に入力され、新たにサンプリングされた外
部音の波形サンプルデータと加算される。加算された波
形サンプルデータは、前述と同様に、1アドレス時間の
後半のタイミング(φが“1"のタイング)でラッチ回
路29にラッチされ、ゲート30を介してデータメモリ21に
入力され、該当アドレスに書き込まれる。
こうして、既にサンプリングしてある音の波形サンプル
データに新たにサンプリングした音の波形サンプルデー
タを加算したデータがメモリ21に書き込まれる。前述と
同様に、書込みアドレスが最終アドレスに到達すると、
アンド回路64からサンプリングエンド信号SMPENDが発生
される。また、前述と同様に、新たにサンプリングした
波形サンプルデータの最後のゼロクロスアドレスがラッ
チ回路33に最終的にラッチされる。
サンプリングレートの変更 通常のサンプリングモード及びオーバーライト・サンプ
リングモードにおける波形サンプルデータの書込みレー
トは基準高音(A4音)に限らず、限盤14の押限によって
適宜変更することができる。
サンプリングレートとして設定したい所望の音高の鍵を
鍵盤14で押鍵すると、マイクロコンピュータ部において
新たな押鍵が検出され、第12図のキーオンイベントルー
チンが実行される。ステップ110では、新たな押鍵に係
るキーコードをニューキーコードレジスタNKEYに記憶す
る。次のステップ111では、通常のサンプリングフラグS
MPLLG又はオーバーライト・サンプリングフラグOVWFLG
が“1"であるかを調べる。YESつまりどちらかのサンプ
リングモードであれば、ステップ112に行き、ニューキ
ーコードレジスタNKEYの内容をニューキーコードNKCと
してトーンジェネレータ部20に送出する。これに基づ
き、トーンジェネレータ部20のノートクロック発生回路
34から発生されるノートクロックパルスφ(つまりφ
1)が、鍵盤14で指定された音高に対応するものと
なる。
こうして、サンプリングレートを所望の音高に対応する
ものに変更してから、所望の外部音をサンプリングする
ようにしてもよい。
オーバーライト・サンプリングの使用例 演奏者の望みに応じて様々な重ね書きの態様が可能であ
るが、一例として、次のようなハーモニーサンプリング
について説明する。
例えば、Cメジャー和音の場合、まず、サンプリングレ
ートをC4音に設定し、所望の音色のC4音の音信号を外部
からサンプリングする。次に、サンプリングレートをE4
音に設定し、上記と同じC4音の音信号を外部から入力し
てオーバーライト・サンプリングする。更に次に、サン
プリングレートをG4音に設定し、上記と同じC4音の音信
号を外部から入力してオーバーライト・サンプリングす
る。こうして、C4,E4,G4の音高の3音の波形サンプルデ
ータを加算したものがデータメモリ21に記憶される。こ
の場合、押鍵に応じた所望の音高のレートで該データメ
モリ21から波形サンプルデータを読み出せば、押圧鍵を
根音とするメジャー和音の楽音信号を発音することがで
きる。
このように、一例として、オーバーライト・サンプリン
グは簡単な押鍵操作で和音演奏を行おうとする場合に便
利である。例えば、鍵盤14を鍵域分割して一部の鍵域で
和音演奏を行おうとする場合など、和音演奏用鍵域の押
鍵に対応してデータメモリ21を読み出すようにすれば、
上述のように簡便な和音演奏が行える。
サンプリング終了時の処理 前述のように、外部音波形サンプルデータの書込み終了
時にサンプリングエンド信号SMPENDが発生されると、第
14図のサンプリングエンドイベントルーチンが実行され
る。
ここでは、まず、トーンジェネレータ部20のゼロクロス
アドレスラッチ回路33にラッチされているゼロクロスア
ドレスデータZCRADをマイクロコンピュータ部内のゼロ
クロスアドレスバッファZCRADBに取り込む(ステップ11
3)。前述のように、このデータZCRADは、メモリ21にお
いてサンプリングした音の最後のサンプルデータを記憶
しているアドレスを示している。
次のステップ114ではオーバーライト・サンプリングフ
ラグOVWFLGが“1"であるかを調べ、NOつまり通常のサン
プリングモードのときは、ステップ115に進み、ゼロク
ロスアドレスバッファZCRADBの内容をエンドアドレスバ
ッファLPADBに記憶する。こうして、波形サンプルデー
タの最後のゼロクスアドレスデータがエンドアドレスデ
ータとしてバッファLPADBに記憶される。
次に、サンプリングフラグSMPFLG及びOVWFLGを共に“0"
にリセットし(ステップ116)、トーンジェネレータ部2
0に送出する信号の内容を、SM1とSM2が共に“0"、M1が
“1"、M2〜M8を“0"に夫々設定し、かつバッファLPADB
の内容をエンドアドレスデータLPADとして送出する(ス
テップ117)。そして、オウム返し発音用のキーオンパ
ルスOKONPをトーンジェネレータ部20に送出する(ステ
ップ118)。このキーオンパルスOKONPは、サンプリング
した波形サンプルデータに対応する楽音をサンプリング
直後に即座に発音させ、その内容を確認するためのもの
である。
オーバーライト・サンプリング終了時の処理 オーバーライト・サンプリングが終了したときは、第14
図のステップ114がYESと判定され、ステップ119に進
み、現在のエンドアドレスバッファLPADBの内容(これ
は前回サンプリングした波形サンプルデータの最終ゼロ
クロスアドレスを示している)がゼロクスアドレスバッ
ファZCRADBの内容(これは今回サンプリングした波形サ
ンプルデータの最終ゼロクロスアドレスを示している)
より小さいかを調べる。YESならば、ステップ115に進
み、バッファLPADBの内容を今回の最終ゼロクロスアド
レスデータに書き替える。NOならば、ステップ115は行
わずに、ステップ120を経由してステップ116に行く。
こうして、オーバーライトの場合は、重ね書きされた複
数の外部音サンプリングデータのうちアドレス長の最も
長いデータの最終ゼロクロスアドレスがエンドアドレス
データとしてバッファLPADBに記憶される。
なお、ステップ120では、エンドアドレスバッファLPADB
の内容をゼロクロスアドレスバッファZCRADBにセットす
る。これは、重ね書きされた外部音サンプリングデータ
のうち今回サンプリングしたデータの最終ゼロクロスア
ドレス(これは前ステップ119の段階ではバッファZCRAD
Bに記憶されている)は、前回サンプリングしたデータ
の最終ゼロクロスアドレスよりも小さいことにより、重
ね書きされたデータ全体見れば最終ゼロクロスアドレス
を特定しているものとはいえないものであることが判明
したため、重ね書きされた波形サンプルデータ全体から
見て真の最終ゼロクロスアドレスを特定しているバッフ
ァLPADBの内容をバッファZCRADBに記憶させるためであ
る。後述するように、オールキャンセル処理のとき、ゼ
ロクロスアドレスバッファZCRADBの内容をエンドアドレ
スバッファLPADBに戻し、該バッファLPADBの内容を真の
最終ゼロクスアドレスに戻してやる必要があるため、重
ね書き波形における真の最終ゼロクロスアドレスをバッ
ファZCRADBに保存しておく必要がある。そのために、ス
テップ120の処理が挿入されている。
サンプリング直後の自動発音動作 外部からサンプリングした波形サンプルデータの書込み
が終了すると、前述のように第14図のステップ118によ
りオウム返し発音用のキーオンパルスOKONPが自動的に
発生される。
第6図を参照すると、トーンジェネレータ部20では、こ
のオウム返し発音用のキーオンパルスOKONPがオア回路6
6を介してエンベロープ発生器47に入力されると共に、
オア回路52,53,54及びフリップフロップ67のセット入力
Sにも入力される。
また、前述のサンプリングエンドイベントルーチン(第
14図)のステップ117の処理により、演奏モード信号M1
が“1"とされており、この信号M1はトーンジェネレータ
部20のオア回路55,61,68に入力される。
キーオンパルスOKONPと信号M1の“1"によりアンド回路5
6の条件が成立し、T−フリップフロップ41がセットさ
れ、方向指示信号DIRが“1"となる。また、キーオンパ
ルスOKONPに応じてオア回路53からプリセットパルスPRP
が出力される。これにより、セレクタ42で初期アドレス
データ(オール“0")が選択されてアドレスカウンタ37
にプリセットされ、セレクタ39でエンドアドレスデータ
LPADが選択されてレジスタ40にロードされる。また、キ
ーオパルスOKONPに応じてフリップフロップ43がセット
され、アドレスカウンタ37がカウント動作を開始する。
この場合、ニューキーコードNKCは変更されていないの
で、書込み時と同じレートのノートクロックパルスφ
がカウントされる。こうして、アドレスカウンタ37は、
アップカウントを行い、初期アドレスを起点とし、エン
ドアドレスLPADを終点として純方向にアドレス信号が変
化する。
データメモリ21は信号SM1,SM2が共に“0"であることに
より常時読出しモードとなる。こうして、直前に書込ん
だばかりの波形サンプルデータが頭から読み出される。
一方、エンベロープ発生器47は、キーオンパルスOKONP
に応じてエンベロープ波形データの発生を行う。この場
合、エンベロープ波形設定用の各データAT,DT,SL,RT
は、前述の通り、タイマビープエンドイベントルーチ
(第11図)のステップ106で直接キーイング型のエンベ
ロープ波形を設定する内容に初期設定されているので、
キーオンからキーオフまで一定レベルのエンベロープ波
形データが発生される。これにより、サンプリングした
波形サンプルデータがそのままの音量レベルで発音され
る。こうして、サンプリングした外部音信号の状態を即
座に確認することができる読出しアドレスがエンドアド
レスデータLPADに対応する値になると、比較器38からエ
ンドパルスENDが発生され、これがアンド回路69に与え
られる。このアンド回路69の他の入力ににはキーオンパ
ルスOKONPによってセットサレタフリップフロップ67の
出力“1"が与えられているので、エンドパルスENDに応
じてアンド回路69の出力が“1"となり、これがオウム返
し発音用のキーオフパルスOKOFPとしてオア回路70を介
してエンベロープ発生器47に与えられる。このように自
動的に作成されたキーオフパルスOKOFPによって、エン
ベロープ発生器47から発生していた直後キーイング型の
エンベロープ波形データがレベル0に立下がる。こうし
て、オウム返しの自動発音が終了する。なお、フリップ
フロップ67は、キーオフパルスOKOFPを遅延フリップフ
ロップ88で遅延した信号によりリセットされる。
演奏モードの決定 前述の8種の演奏モードM1〜M8(第3図参照)は、各ス
イッチRVRS,UTRN,LOOPの操作に応じて決定される。
リバーススイッチRVRSがオンされると、第15図のリバー
スオンイベントルーチンが実行され、リバースフラグRV
FLGを“0"から“1"に、又は“1"から“0"に反転する
(ステップ121)。次にステップ124に行く。
UターンスイッチUTRNがオンされると、第15図のUター
ンイベントルーチンが実行され、UターンフラグUTFLG
を“0"から“1"に、又は“1"から“0"に反転する(ステ
ップ122)。次にステップ124に行く。
ループスイッチLOOPがオンされると、第15図のループイ
ベントルーチンが実行され、ループフラグLPFLGを“0"
から“1"に、又は“1"から“0"に反転する(ステップ12
3)。次にステップ124に行く。
ステップ124では、上記各フラグRVFLG,UTFLG,LPFLGの内
容に基づき、下記テーブルに従って演奏モードM1〜M8を
決定する。
次に、ステップ125では決定した演奏モードに応じた内
容のモード信号M1〜M8をトーンジェネレータ部20に送出
する。すなわち、上記第1表に従って決定された1つの
モード信号だけが“1"であり、他のモード信号は“0"と
される。
演奏モード時のキーオン・オフ処理 データメモリ21に記憶した波形サンプルデータを読み出
して発音する場合は、鍵盤14で所望の鍵を押圧する。
鍵が押圧されると、第12図のキーオンイベントルーチン
が実行され、押圧鍵のキーコードがニューキーコードレ
ジスタNKEYに取込まれる(ステップ110)。次のステッ
プ111では、演奏モード時にはサンプリングフラグSMPFL
G,OVWFLGが“0"であるため、NOと判断され、ステップ12
6に行く。ステップ126では、所定の発音割当て処理、こ
の実施例では単音優先発音方式を採用するものとしてい
るため単音優先処理、を行う。次のステップ127では、
前ステップでの単音優先処理結果に従って新たな押鍵に
係る楽音を発音する必要があるか否かを判断し、発音の
必要がなければリターンに行くが、必要があればステッ
プ128に行く。単音優先基準としては周知のように高音
優先や後着優先などを適宜採用すればよい。ステップ12
8では、ニューキーコードを発音割当てするために、レ
ジスタNKEYのニューキーコードをレジスタKCODEに記憶
する。次のステップ129では、レジスタKCODEのキーコー
ド(つまり新たに発音割当てされた新たな押圧鍵に係る
キーコード)をニューキーコードNKCとしてトーンジェ
ネレータ部20に送出する。更にステップ130ではキーオ
ンパルスKONPをトーンジェネレータ部20に送出する。
押圧されていた鍵が離されたときは第13図のキーオフイ
ベントルーチンが実行される。新たに離鍵された鍵のキ
ーコードをニューキーコードレジスタNKEYに取込み(ス
テップ131)、サンプリングフラグSMPFLG,OVWFLGが“1"
であるかを調べ(ステップ132)、NOであることつまり
演奏モードであることを条件にステップ133に進み、離
鍵された鍵が現在発音中の鍵であるか(NKEY=KCODE)
を調べる。そうであれば、キーオフパルスKOFPをトーン
ジェネレータ部20に送出する。
演奏動作 次に、各演奏モードM1〜M8におけるトーンジェレータ部
20の動作について説明する。
(各モード共通の説明) 鍵押圧に応じて、前述のようにして押圧鍵のキーコード
がニューキーコードNKCとして与えられ、これに基づ
き、ノートクロック発生回路34から押圧鍵のノートクロ
ックパルスφが発生される。また、キーオンパルスKO
NPによりオア回路52を介してフリップフロップ43がセッ
トされ、アドレスカウンタ37のカウント入力CLKに対し
てノートクロックパルスφが入力される状態となり、
アドレス信号のアウントが開始される。
T−フリップフロップ41から発生される方向指示信号DI
Rの内容は、後述するように、各演奏モードに対応する
信号M1〜M8の状態に応じて異なる。これに応じてアドレ
スカウンタ37のカウント方向が決定され、ノートクロッ
クパルスφに応じてアドレス信号が変化し、データメ
モリ21から波形サンプルデータが読み出される。
また、前述のようにして鍵押圧及び離鍵に対応して発生
されるキーオンパルスKONPとキーオフパルスKOFPがオア
回路66,70を介してエンベロープ発生器47に与えられ、
これに応じてエンベロープ波形データが発生され。デー
タメモリ21から読み出された波形サンプルデータの音量
エンベロープがこのエンベロープ波形データに応じて制
御されて発音される。なお、エンベロープ波形設定用の
各データAT,DT,SL,RTはエンベロープ操作子群17によっ
て設定された内容となっており、これに応じて設定され
る適宜の形状のエンベロープ波形によって波形サンプル
データの音量エンベロープが制御される。
なお、比較器38からエンドパルスENDが発生されたとき
の処理は、後述するように、各演奏モードに対応する信
号M1〜M8の状態に応じて異なる。
(モードM1:通常演奏) モード信号M1が“1"のときは、オア回路54,55を介して
与えられるキーオパルスKONPと信号M1の“1"によってア
ンド回路56の条件が成立し、T−フリップフロップ41が
セットされ、方向指示信号DIRが“1"となる。また、キ
ーオンパルスKONPに応じてオア回路53からプリセットパ
ルスPRPが発生される。これにより、前述のオウム返し
発音のときと同様に、初期アドレス(オール“0")を起
点とし、エンドアドレスLPADを終点としてデータメモリ
21から順方向に1回だけ波形サンプルデータが読み出さ
れる。
読出しアドレスがエンドアドレスLPADに到達すると、比
較器38からエンドパルスENDが発生される。このエンド
パルスENDは、アンド回路60,71,72,73に加わる。アンド
回路60の他の入力にはオア回路61を介して信号M1の“1"
が与えられており、エンドパルスENDに応じてアンド回
路60,オア回路62,遅延フリップフロップ63を介してフリ
ップフロップ43のリセット入力Rに“1"が与えられる。
これにより、読出しアドレスエンドアドレスLPADに到達
したとき、アドレスカウンタ37のカウントが停止する。
他のアンド回路71,72,73は信号M1が“1"のときは動作し
ない。
こうして、演奏モードM1つまり通常のメモリ読出しモー
ドの場合は、データメモリ21を順方向に1回だけ読み出
して発音する。
(モードM2:リバース) モード信号M2が“1"のときは、オア回路54,74を介して
与えられるキーオンパルスKONPと信号M2の“1"によって
アンド回路75の条件が成立し、T−フリップフロップ41
のリセット入力Rに“1"が与えられる。これにより、T
−フリップフロップ41がリセットされ、方向指示信号DI
Rが“0"となる。この方向指示信号DIRの“0"により、セ
レクタ42では、エンドアドレスデータLPADを選択し、セ
レクタ39では、初期アドレスデータ(オール“0")を選
択する。また、キーオンパルスKONPに応じてオア回路53
からプリセットパルスPRPが発生される。これにより、
上述のモードM1のときとは逆に、エンドアドレスLPADを
起点とし、初期アドレスを終点としてデータメモリ21か
ら逆方向に1回だけ波形サンプルデータが読み出され
る。
読出しアドレスが初期アドレスに到達すると、比較器38
からエンドパルスENDが発生される。
このエンドパルスENDは、アンド回路60,71,72,73に加わ
る。アンド回路60の他の入力にはオア回路61を介して信
号M2の“1"が与えられており、エンドパルスENDに応じ
てアンド回路60,オア回路62,遅延フリップフロップ63を
介してフリップフロップ43のリセット入力Rに“1"が与
えられる。これにより、読出しアドレスが初期アドレス
に到達したとき、アドレスカウンタ37のカウントが停止
する。他のアンド回路71,72,73は、信号M2が“1"のとき
は動作しない。
こうして、演奏モードM2つまり「リバース」モードの場
合は、データメモリ21を逆方向に1回だけ読み出して発
音する。
(モードM3:ループ) モード信号M3が“1"のときは、オア回路54,55を介して
与えられるキーオンパルスKONPと信号M3の“1"によって
アンド回路56の条件が成立し、T−フリップフロップ41
がセットされ、方向指示信号DIRが“1"となる。また、
キーオンパルスKONPに応じてオア回路53からプリセット
パルスPRPが発生される。これにより、モードM1のとき
と同様に、初期アドレスを起点とし、エンドアドレスLP
ADを終点としてデータメモリ21から順方向に波形サンプ
ルデータが読み出される。
読出しアドレスがエンドアドレスLPADに到達すると、比
較器38からエンドパルスENDが発生される。このエンド
パルスENDは、アンド回路60に加わるが、オア回路61に
はモード信号M3〜M8が与えられていないので、エンドパ
ルスENDによってはフリップフロップ43がリセットされ
ず、アドレスカウンタ37のカウントは停止しない。
一方、信号M1,M2の“0"によりオア回路68の出力が
“0"、これを反転したインバータ76の出力が“1"とな
り、エンドパルスENDに応じてアンド回路72の出力が
“1"となる。アンド回路72の出力“1"はアンド回路77に
加わる。アンド回路77の他の入力であるインバータ38の
出力信号はM4,M7が“0"のときは常時“1"であるため、
エンドパルスENDに応じてアンド回路77の条件が成立
し、アンド回路77の出力信号“1"に応じて遅延フリップ
フロップ78、オア回路53を介してプリセットパルスPRP
が発生される。
一方、エンドパルスENDはアンド回路71にも加わるが、
オア回路79の出力が“0"であるため、アンド回路71の条
件が成立せず、T−フリップフロップ41の状態は変化し
ない。従って、方向指示信号DIRは“1"のまま変化せ
ず、読出しアドレスがエンドアドレスLPADに到達したと
きに上述のように発生されるプリセットパルスPRPに応
じて、再び、アドレスカウンタ37に初期アドレスデータ
(オール“0")がプリセットされ、かつレジスタ40には
エンドアドレスデータLPADがロードされる。また、アド
レスカウンタ37はアップカウントモードのままである。
こうして、初期アドレスを起点とし、エンドアドレスLP
ADを終点としてデータメモリ21から再び順方向に波形サ
ンプルデータが読み出される。
こうして、「ループ」の場合は、データメモリ21の波形
サンプルデータが順方向繰返し読み出され、サンプリン
グした外部音に基づく楽音が何回も繰返し発音される。
押圧鍵を離鍵して音量制御エンベロープを減衰させるこ
とにより、発音を終了することができる。
(モードM4:Uターン) モード信号M4が“1"のときは、オア回路54,55を介して
与えられるキーオンパルスKONPと信号M4の“1"によって
アンド回路56の条件が成立し、T−フリップフロップ41
がセットされ、方向指示信号DIRが“1"となる。また、
キーオンパルスKONPに応じてオア回路53からプリセット
パルスPRPが発生される。これにより、モードM1のとき
と同様に、初期アドレス起点とし、エンドアドレスLAD
を終点としてデータメモリ21から順方向に波形サンプル
データが読み出される。
読出しアドレスがエンドアドレスLPADに到達すると、比
較器38からエンドパルスENDが発生される。このエンド
パルスENDは、アンド回路60に加わるが、オア回路61に
はモード信号M3〜M8が与えられていないので、アンド回
路60の出力は“0"のままである。また、エンドパルスEN
Dは、アンド回路73に加わるが、この出力も“0"であ
る。つまり、信号M4が“1"のとき方向指示信号DIRが
“1"(つまりアドレスが順方向に変化している)なら
ば、該信号M4と方向指示信号DIRの反転信号を入力した
アンド回路85の出力が“0"、信号M7と信号DIRが入力さ
れたアンド回路86の出力も“0"であり、オア回路87から
アド回路73に加わる信号は“0"であり、アンド回路73の
条件は成立しない。従って、アンド回路60,73の出力を
入力したオア回路62の出力は“0"であり、順方向のカウ
ント動作中に発生されるエンドパルスENDによってはフ
リップフロップ43はリセットされず、アドレスカウンタ
37のカウントは停止しない。
一方、信号M1,M2の“0"によりオア回路68の出力が
“0"、これを反転したインバータ76の出力が“1"とな
り、エンドパルスENDに応じてアンド回路72の出力が
“1"となる。アンド回路72の出力“1"はアンド回路77に
加わる。信号M4が“1"のとき方向指示信号DIRが“1"
(つまりアドレスが順方向に変化している)ならば、該
信号M4と方向指示信号DIRの反転信号を入力したアンド
回路80の出力が“0"信号M7と信号DIRが入力されたアン
ド回路81の出力も“0"であり、両アンド回路80,81の出
力を入力したオア回路82の出力が“0"、これを反転した
インバータ83の出力“1"であり、これを入力したアンド
回路77の出力が“1"となる。従って、アンド回路77の出
力信号“1"に応じて遅延フリップフロップ78、オア回路
53を介してプリセットパルスPRPが発生される。
一方、エンドパルスENDはアンド回路71にも加わり、信
号M4の“1"によりオア回路79の出力が“1"であるため、
アンド回路71の条件が成立し、遅延フリップフロップ84
を介してT−フリップフロップ41のカウント入力Cに
“1"が加わり、該T−フリップフロップ41の状態が“1"
から“0"に反転する。従って、方向指示信号DIRは“0"
となる。これにより、セレクタ42では、エンドアドレス
データLPADを選択し、セレクタ39では、初期アドレスデ
ータ(オール“0")を選択し、上述のように発生したプ
リセットパルスPRPにより、これらがカウンタ37にプリ
セットされ、また、レジスタ40にロードされる。こうし
て、前回とは逆に、エンドアドレスLPADを起点とし、初
期アドレスを終点としてデータメモリ21から逆方向に波
形サンプルデータが読み出される。
読出しアドレスが初期アドレスに到達すると、比較器38
からエンドパルスENDが発生される。今度は、方向指示
信号DIRは“0"であり、その反転信号は“1"であり、ア
ンド回路80と85の条件が成立する。これにより、アンド
回路73の出力が“1"となり、フリップフロップ43がリセ
ットされる。これにより、読出しアドレスが初期アドレ
ス(オール“0")に到達したとき、アドレスカウンタ37
のカウントが停止する。また、アンド回路80の出力“1"
によりアンド回路77の出力が“0"となり、プリセットパ
ルスPRPはもはや発生されない。
こうして、「Uターン」の場合は、データメモリ21の波
形サンプルデータを順方向に1回読み出し後、該データ
メモリ21の波形サンプルデータを逆方向に折返して1回
読み出す。
(モードM5:リバース・ループ) モード信号M5が“1"のときは、オア回路54,74を介して
与えられるキーオンパルスKONPと信号M5の“1"によって
アンド回路75の条件が成立し、T−フリップフロップ41
のリセット入力Rに“1"が与えられる。これにより、T
−フリップフロップ41がリセットされ、方向指示信号DI
Rが“0"となる。この方向指示信号DIRの“0"により、上
述のモードM2のときと同様に、エンドアドレスLPADを起
点とし、初期アドレスを終点としてデータメモリ21から
逆方向に波形サンプルデータが読み出される。
読出しアドレスが初期アドレスに到達すると、比較器38
からエンドパルスENDが発生される。モードM3(ルー
プ)のときと同様に、エンドパルスENDによってはフリ
ップフロップ43がリセットされず、アドレスカウンタ37
のカウントは停止しない。また、エンドパルスENDに応
じてアンド回路77の条件が成立し、プリセットパルスPR
Pが発生される。また、エンドパルスENDが発生してもア
ンド回路71の条件が成立せず、T−フリップフロップ41
の状態は変化しない。従って、方向指示信号DIRは“0"
のまま変化せず、読出しアドレスが初期アドレスに到達
したときに上述のように発生されるプリセットパルスPR
Pに応じて、再び、アドレスカウンタ37にエンドアドレ
スデータLPADがプリセットされ、かつレジスタ40には初
期アドレスデータ(オール“0")がロードされる。ま
た、アドレスカウンタ37はダウンカウントモードのまま
である。こうして、エンドアドレスLPADを起点とし、初
期アドレスを終点としてデータメモリ21から再び逆方向
に波形サンプルデータが読み出される。
こうして、「リバース・ループ」の場合は、データメモ
リ21の波形サンプルデータ逆方向に繰返し読み出され、
サンプリングした外部音を時間的に逆方向に並べ替えた
楽音が何回も繰返し発音される。押圧鍵を離鍵して音量
制御エンベロープを減衰させることにより、この発音を
終了することができる。
(モードM6:Uターンループ) モード信号M6が“1"のときは、オア回路54,55を介して
与えられキーオンパルスKONPと信号M6の“1"によってア
ンド回路56の条件が成立し、T−フリップフロップ41が
セットされ、方向指示信号DIRが“1"となる。また、キ
ーオンパルスKONPに応じてオア回路53からプリセットパ
ルスPRPが発生される。これにより、モードM1のときと
同様に、初期アドレスを起点とし、エンドアドレスLPAD
を終点としてデータメモリ21から順方向に波形サンプル
データが読み出される。
読出しアドレスがエンドアドレスLPADに到達すると、比
較器38からエンドパルスENDが発生される。信号M6が
“1"のときは、アンド回路73の条件は成立せず、エンド
パルスENDによってはフリップフロップ43はリセットさ
れず、アドレスカウンタ37のカウントは停止しない。ま
た、エンドパルスENDによってアンド回路77の条件が成
立し、プリセットパルスPRPが発生される。また、信号M
6の“1"によりオア回路79の出力が“1"であるため、エ
ンドパルスENDによってアンド回路71の条件が成立し、
遅延フリップフロップ84を介してT−フリップフロップ
41のカウト入力Cに“1"が加わり、該T−フリップフロ
ップ41の状態が“1"から“0"に反転する。従って、方向
指示信号DIRは“0"となる。これにより、アドレスカウ
ンタ37のカウント方向が前回とは逆になり、エンドアド
レスLPADを起点とし、初期アドレスを終点としてデータ
メモリ21から逆方向に波形サンプルデータが読み出され
る。
読出しアドレスが初期アドレスに到達すると、エンドパ
ルスENDが発生され、前述と同様に、アンド回路71と77
の条件が成立し、プリセットパルスPRPが発生されると
共に、T−フリップフロップ41の状態が“0"から“1"に
反転して方向指示信号DIRが“1"となる。これにより、
アドレスカウンタ37のカウント方向が順方向に戻り、初
期アドレスを起点とし、エンドアドレスLPADを終点とし
てデータメモリ21から順方向に波形サンプルデータが読
み出される。次に、エンドパルスENDが発生されると、
アドレスカウンタ37のカウント方向が逆方向にされる。
以後、同様に、エンドパルスENDが発生される毎に、U
ターン読出しを繰返す。
こうして、「Uターン・ループ」の場合は、データメモ
リ21の波形サンプルデータを順方向に読み出した後、該
データメモリ21の波形サンプルデータを逆方向に折返し
て読み出すUターン読出しを何回も繰返す。
(モードM7:Uターン・リバース) モード信号M7が“1"のときは、オア回路54,74を介して
与えられるキーオンパルスKONPと信号M7の“1"によって
アンド回路75の条件が成立し、T−フリップフロップ41
がリセットされ、方向指示信号DIRが“0"となる。この
方向指示信号DIRの“0"により、上述のモードM2(リバ
ース)のときと同様に、エンドアドレスLPADを起点と
し、初期アドレスを終点としてデータメモリ21から逆方
向に波形サンプルデータが読み出される。
読出しアドレスが初期アドレスに到達すると、比較器38
からエンドパルスENDが発生される。このエンドパルスE
NDは、アンド回路73に加わるが、この出力は“0"であ
る。つまり、信号M7が“1"のとき方向指示信号DIRが
“0"(つまりアドレスが逆方向に変化している)なら
ば、該信号M7と方向指示信号DIRを入力したアンド回路8
6の出力が“0"、アンド回路85の出力も“0"であり、オ
ア回路87からアンド回路73に加わる信号は“0"であり、
アンド回路73の条件は成立しない。従って、モードM7の
ときは、逆方向のカウント動作中に発生されるエンドパ
ルスENDによってはフリップフロップ43はリセットされ
ず、アドレスカウンタ37のカウントは停止しない。
また、信号M7の“1"と方向指示信号DIRの“0"によりア
ド回路81及びオア回路82の出力が“0"であり、エンドパ
ルスENDに応じてアンド回路77の出力が“1"となり、遅
延フリップフロップ78、オア回路53を介してプリセット
パルスPRPが発生される。
一方、エンドパルスENDはアンド回路71にも加わり、信
号M7の“1"によりオア回路79の出力が“1"であるため、
アンド回路71の条件が成立し、遅延フリップフロップ84
を介してT−フリップフロップ41のカウント入力Cに
“1"が加わり、該T−フリップフロップ41の状態が“0"
から“1"に反転する。従って、方向指示信号DIRは“1"
となる。これにより、セレクタ42では、初期アドレスデ
ータ(オール“0")を選択し、セレクタ39では、エンド
アドレスデータLPADを選択し、上述のように発生したプ
リセットパルスPRPにより、これらがカウンタ37にプリ
セットされ、また、レジスタ40にロードされる。こうし
て、前回とは逆に、初期アドレスを起点とし、エンドア
ドレスLPADを終点としてデータメモリ21から順方向に波
形サンプルデータが読み出される。
読出しアドレスがエンドアドレスLPADに到達すると、比
較器38からエンドパルスENDが発生される。今度は、方
向指示信号DIRは“1"であり、アンド回路81と86の条件
が成立する。これにより、アンド回路73の出力が“1"と
なり、フリップフロップ43がリセットされる。これによ
り、読出しアドレスがエンドアロデルLPADに到達したと
き、アドレスカウンタ37のカウントが停止する。また、
アンド回路81の出力“1"によりアンド回路77の出力が
“0"となり、プリセットパルスPRPはもやは発生されな
い。
こうして、「Uターン・リバース」の場合は、データメ
モリ21の波形サンプルデータを逆方向に1回読み出した
後、該データメモリ21の波形サンプルデータを順方向に
折返して1回読み出す。これにより、サンプリングした
外部音を時間的に逆方向に並べ替えた楽音を1回発音し
た後、該サンプリング音を時間的に順方向に直してもう
1回発音する、という新しい演奏効果を実現することが
できる。
(モードM8:Uターン・リバース・ループ) モード信号M8が“1"のときは、オア回路54,74を介して
与えられるキーオンパルスKONPと信号M8の“1"によって
アンド回路75の条件が成立し、T−フリップフロップ41
がリセットされ、方向指示信号DIRが“0"となる。この
方向指示信号DIRの“0"により、上述のモードM7(Uタ
ーン・リバース)のときと同様に、エンドアドレスLPAD
を起点とし、初期アドレスを終点としてデータメモリ21
から逆方向に波形サンプルデータが読み出される。
読出しアドレスが初期アドレスに到達すると、比較器38
からエンドパルスENDが発生される。信号M8が“1"のと
きは、アンド回路73の条件は成立せず、エンドパルスEN
Dによってはフリップフロップ43はリセットされず、ア
ドレスカウタ37のカウントは停止しない。また、エンド
パルスENDによってアンド回路77の条件が成立し、プリ
セットパルスPRPが発生される。また、信号M8の“1"に
よりオア回路79の出力が“1"であるため、エンドパルス
ENDによってアンド回路71の条件が成立し、遅延フリッ
プフロップ84を介してT−フリップフロップ41のカウン
ト入力Cに“1"が加わり、該T−フリップフロップ41の
状態が“0"から“1"に反転する。従って、方向指示信号
DIRは“1"となる。これにより、アドレスカウンタ37の
カウント方向が前回とは逆になり、初期アドレス(オー
ル“0")を起点とし、エンドアドレスLPADを終点として
データメモリ21から順方向に波形サンプルデータが読み
出される。
読出しアドレスがエンドアドレスLPADに到達すると、エ
ンドパルスENDが発生され、前述と同様に、アンド回路7
1と77の条件が成立し、プリセットパルスPRPが発生され
ると共に、T−フリップフロップ41の状態が“1"から
“0"に反転して方向指示信号DIRが“0"となる。これに
より、アドレスカウンタ37のカウント方向が逆方向に戻
り、エンドアドレスLPADを起点とし、初期アドレスを終
点としてデータメモリ21から逆方向に波形サンプルデー
タが読み出される。次に、エンドパルスENDが発生され
ると、アドレスカウンタ37のカウント方向が順方向にさ
れる。
以後、同様に、エンドパルスENDが発生される毎に、
「Uターン・リバース」読出しを繰返す。
こうして、「Uターン・リバース・ループ」の場合は、
データメモリ21の波形サンプルデータを逆方向に読み出
した後、該データメモリ21の波形サンプルデータを順方
向に折返して読み出す「Uターン・リバース」読出しを
何回も繰返す。これにより、サンプリングした外部を時
間的に逆方向に並べ変えた楽音を1回発音した後、該サ
ンプリング音を時間的に順方向に直してもう1回発音す
る、という「Uターン・リバース」を何回も繰返して新
しい演奏効果を実現することができる。押圧鍵を離鍵し
て音量制御エンベロープを減衰させることにより、この
発音を終了することができる。
エンドアドレスの増減変更処理 前述の第14図のステップ115の処理により、マイクロコ
ンピュータ部内のエンドアドレスバッファLPADBに記憶
するエンドアドレスデータとして、サンプリングした原
波形における最終ゼロクロス部分のデータを記憶してい
るアドレスつまり最後ゼロクロスアドレス(一例として
ブロック単位のアドレス)が初期設定される。前述の各
演奏モードM1〜M8においてトーンジェネレータ部20で利
用されるエンドアドレスデータLPADはこのエンドアドレ
スバッファLPADBに記憶されたデータであり、上記のよ
うに初期設定されたままであるとすると、前出のエンド
アドレスデータLPADはサンプリングした原波形における
最終ゼロクロスアドレスそのもの(つまりゼロクロスア
ドレスバッファZCRADBに記憶しているデータ)である。
このように、サンプリングした原波形における最終ゼロ
クロスアドレスデータそのものをエンドアドレスデータ
LPADとして使用した場合は、外部からサンプリングした
原波形全部に対応する楽音が演奏モード時に発音され
る。しかし、前述の各演奏モードM1〜M8においてトーン
ジェネレータ部20で利用するエンドアドレスデータLPAD
を、サンプリングした原波形における最終ゼロクロスア
ドレスデータそのものに限定せずに、適宜変更できるよ
うにすれば、演奏効果を更に高めることができる。
そのために、このエンドアドレスデータLPADを変更する
ことは、増加スイッチINC及び減少スイッチDECの操作に
よって行うことができる。なお、この実施例では、サン
プリングした波形データを繰返し読み出して発音するモ
ードのとき、つまり「ループ」、「リバース・ルー
プ」、「Uターン・ループ」、又は「Uターン・リバー
ス・ループ」のとき、そのような変更処理が可能となっ
ている。これは、そのような繰返し演奏のときにエンド
アドレスの調整により繰返しの1サイクル長を制御する
ことはかなり有効だからである。しかし、これに限ら
ず、他の演奏モードのときにもエンドアドレスデータLP
ADの増減変更が行えるようにしてもよい。
増加スイッチINCがオンされると、第17図の増加イベン
トルーチンが実行される。ここでは、スイッチ135にお
いてループフラグLPFLGが“1"であるかを調べ、YESなら
ステップ136に行くが、NOならばリターンへ行く。これ
は、上述の「ループ」関連の演奏モードM3,M5,M6,M8の
ときにこの制御を行うためである。ステップ136におい
ては、エンドアドレスバッファLPADBの内容を1増加す
る。なお、この増加演算でバッファLPADBの内容が最大
値に達した場合は最大値を保持するものとする。前述の
通りバッファLPADBに記憶されるデータはブロック単位
であるため、この増加もブロック単位で行われる。この
場合、最大値は「15」である。次のステップ137では、
エンドアドレスバッファLPADBの内容をエンドアドレス
データLPADとしてトーンジェネレータ部20に送出する。
減少スイッチDECがオンされると、第18図の減少イベン
トルーチンが実行される。ここのステップ135a,136a,13
7aの処理は第17図の各ステップ135,136,137の処理とほ
ぼ同様であり、異なる点は、ステップ136ではエンドア
ドレスバッファLPADBの内容を1増加したのに対して、
ステップ136aではこのバッファLPADBの内容を1減少す
る点だけである。
こうして、エンドアドレスバッファLPADBの内容を増減
変更することによりトージェネレータ部20で利用するエ
ンドアドレスデータLPADの値を増減変更することができ
る。
このようにエンドアドレスデータLPADの値を増減変更す
ることにより、順方向読み出しにおいては終点のアドレ
スを、逆方向読み出しにおいては起点のアドレスを夫々
変更・調整することができ、ループ演奏における繰返し
の基点アドレスを自由に変更することができる。従っ
て、このエンドアドレスデータLPADの増減変更の調整の
仕方によって、繰返し読み出しの態様を自由に変更する
ことができる。
例えば、波形サンプルデータの最終アドレスの手前のア
ドレスに記憶した波形サンプルデータ部分にノイズが含
まれているような場合は、エンドアドレスデータLPADの
値を減少して手前のアドレス寄りに適宜調整することに
より、演奏時にデータメモリ21から読み出すべきアドレ
スの範囲内にノイズを含むアドレスが入らないようにす
ることができ、こうしてノイズを含む波形サンプルデー
タの部分の発音をカットすることができる。
あるいは、エンドアドレスデータLPADの値を増加して波
形サンプルデータの最終アドレスよりも先のアドレスに
適宜調整することにより、演奏時にデータメモリ21から
読み出すべキアドレスの範囲を波形サンプルデータが実
際には記憶されていないアドレスにまで拡大することが
でき、この拡大されたアドレス範囲で繰返し読出しを行
なうことにより、繰返し読出しのつなぎ目で意識的に適
当な長さの無音区間を作り、この無音区間の存在により
音が断続的に繰返される特殊な演奏効果を作り出すこと
もできる。
なお、増加スイッチINC及び減少スイッチDECによって変
更されるのはエンドアドレスバッファLPADBの内容であ
り、ゼロクロスアドレスバッファZCRABに記憶した原波
形における本来の最終ゼロクロスアドレスは変更されな
い。これは、後述するオールキャンセル処理のとき、エ
ンドアドレスバッファLPADBの内容を原波形における本
体の最終ゼロクロスアドレスに戻すために利用される。
エコー効果 エコースイッチECHOがオンされると、第16図のエコーイ
ベントルーチンが実行される。ステップ138では、エコ
ーフラグECFLGを“0"から“1"に、又は“1"から“0"に
反転する。ステップ139では、エコーフラグECFLGが“1"
であるかを調べ、“1"であれば、ステップ140に行き、
ループフラグLPFLGの内容をループフラグバッファLPFLG
Bに保存してから該ループフラグLPFLGを“1"にセットす
る。こうして、演奏モードを「ループ」に関連するモー
ド、つまり「ループ」、「リバース・ループ」、「Uタ
ーン・ループ」、又は「Uターン・リバース・ループ」
に自動的に設定する。
次のステップ124a,125aでは、第15図のステップ124,125
と同じ処理を行い、演奏モードをM1〜M8の何れかに決定
する。但し、この場合はループフラグLPFLGが“1"にセ
ットされているので、「ループ」関連の演奏モードM3,M
5,M6,M8の何れかに必ず決定される。
次に、ステップ141ではレリースタイムバッファRTBの内
容をレリースタイム保存バッファRTBUFに記憶し、ステ
ップ142ではレリースタイムバッファRTBの内容を最大値
MAXに設定する。そして、ステップ143ではレリースタイ
ムバッファRTBの内容をトーンジェネレータ部20に対し
てレリースタイムデータRTとして送出する。
これにより、エンベロープ発生器47から発生されるエン
ベロープ波形データのレリース時間が最長に設定され、
発生等音は、離鍵後に極めて緩やかに減衰するようにな
る。しかも、演奏モードは「ループ」関連のM3,M5,M6,M
8の何れかに設定されるので、データメモリ21に記憶し
たサンプルデータが順方向又は逆方向又は交互に順方向
と逆方向に切り変わりながら繰返し読み出され、それに
対応する楽音が次第に小さくなる音量レベルで繰返し発
音される。なお、繰返し読み出される波形サンプルデー
タ外部音をサンプリングしたものであるため、一般に、
それ自体で音の立上りから立下りに至る振幅エンベロー
プを具備している。従って、音の立上りから立下りに至
る振幅エンベロープを具備した音が何回も繰返し発音さ
れ、しかもその音量が次第に減衰する、エコーのような
効果を実現することができる。しかも、単なる従来のエ
コーと異なる点は、「ループ」関連の演奏モードM3,M5,
M6,M8による発音制御によって、音がその本来の時系列
とは逆に発音されたり、本来の時系列通りに発音された
り、その組合せで交互に発音されたりすることである。
しかも、上述のようなエンドアドレスの増減調整制御と
組合せることにより、従来全くなかった自由なエコー効
果を実現することもできる。
エコーフラグECFLGが“0"になると、ステップ144の処理
によりループフラグバッファLPFLGBの内容をループフラ
グLPFLGにに戻すことにより、該ループフラグLPFLGの内
容をエコー効果をかける前の状態に戻す。次のステップ
124b,125bでは、第15図のステップ124,125と同じ処理を
行い、演奏モードをM1〜M8の何れかに決定する。次のス
テップ145では、レリースタイム保存バッファRTBUFの内
容をレリースタイムバッファRTBに戻すことにより、該
レリースタイムバッファRTBの内容をエコー効果をかけ
る前の状態に戻す。
オールキャンセル処理 サンプリングした波形サンプルデータに関連して操作パ
ネル部15で設定・選択・変更・調整した各種のデータの
全て又は所定のものを、キャンセルし、これらのデータ
の内容を最初にサンプリングしたときの状態に戻したい
場合は、オールキャンセルスイッチCANSELを操作する。
すると、第19図のオールキャンセルイベントルーチンが
実行される。
まず、ステップ146では、各フラグSMPFLG,OVWFLG,LPFL
G,UTFLG,RVFLG,ECFLGを“0"にリセットする。これは、
操作パネル部15における各スイッチSMPL,OVRWR,LOOP,UT
RN,RVRS,ECHOの操作に応じて設定されたサンプリングモ
ードや演奏モードM2〜M8をキャンセルし、演奏モードM1
に初期設定するためである。
次のステップ147では、ゼロクロスアドレスバッファCRA
DBに記憶している原波形における本来の最終ゼロクロス
アドレスデータをエンドアドレスバッファLPADBに記憶
する。これは、前述のようにエンドアドレスバッファLP
ADBの内容は増加スイッチINC及び減少スイッチDECの操
作に応じて変更されることがあるので、そのような変更
をキャンセルして、エンドアドレスバッファLPADBの内
容を原波形における本来の最終ゼロクロスアドレスに戻
すためである。
ステップ148では、アタックタイムバッファATB、ディケ
イタイムバッファDTB、サステインレベルバッファSLB、
レリースタイムバッファRTBの内容を前述の直接キーイ
ング型のエンベロープ波形を設定する内容に初期設定す
る。これは、エンベロープ制御操作子群17の操作に応じ
て変更された各バッファATB,DTB,SLB,RTBの内容をキャ
ンセルして、直接キーイング型のエンベロープ波形を設
定する内容に初期設定するためである。
ステップ149では、トーンジェネレータ部20に与えるべ
きデータを次のように初期設定してトーンジェネレータ
部20に送出する。サンプリングモード信号SM1及びSM2を
“0"にする。演奏モード信号M1を“1"にし、残りの演奏
モード信号M2〜M8を“0"にする。エンドアドレスデータ
LPADを、エンドアドレスバッファLPADBに記憶された最
終ゼロクロスアドレスデータに設定する。アタックタイ
ムデータAT、ディケイタイムデータDT、サステインレベ
ルデータSL、レリースタイムデータRTとして、夫々上記
バッファATB,DTB,SLB,RTBの内容を設定する。次のステ
ップ150では、各種楽音効果用のデータモ所定の内容に
初期設定する。
このように、オールキャンセルスイッチCANSELが操作さ
れると、波形サンプルデータに関連して操作パネル部15
で設定・選択・変更・調整した各種のデータの全て又は
所定のものが、キャンされ、これらのデータの内容が最
初にサンプリングしたときの状態に戻される。つまり、
サンプリングした波形サンプルデータに関連して編集し
た様々のデータの編集内容がキャンセルされ、編集前の
初期状態の戻されるのである。このように編集内容をキ
ャンセルして編集前の初期状態に戻せるようにすること
により、失敗をおそれることなく、自由な編集を行うこ
とができるようになり、サンプリングした波形サンプル
データに関連する編集機能を向上させることができる。
変更例 上記実施例では、データメモリに記憶する波形サンプル
データは、PCM(パルスコード変調)方式で表現されて
いるものとしているが、これに限らず、差分PCMや適応
差分PCM、デルタ変調(DM)、適応デルタ変調(ADM)な
ど、適宜のデータ圧縮方式を用いて表現するようにして
もよい。また、サンプリングした波形サンプルデータに
対して適宜のデータ補正処理(例えばその振幅レベルが
全区間でほぼ一定になるように規格化する処理など)を
行った後データメモリに書き込むようにしてもよい。こ
の場合、上記データ補正処理(レベル規格化処理など)
はマイクロフォンでピックアップしたアナログの音信号
に対し行うようにしてもよい。
マイクロコンピュータ部におけるソフトウェア処理によ
って実行する第8図〜第19図の処理は、専用のハードウ
ェア回路によって実施してもよい。反対に、トーンジェ
ネレータ部におけるデータメモリの読み書き制御回路
は、第6図では専用のハードウェア回路によって構成し
ているが、これはマイクロコンピュータ部におけるソフ
トウェア処理によって実行するようにすることもでき
る。また、第6図では読み書き制御に一部共通の回路
(例えばアドレスカウンタなど)が用いられているが、
書込み制御と読出し制御を別々の回路で行ってもよい。
上記実施例では、単音発音方式であるが、複音発音方式
であってもよいのは勿論である。その場合は、周知の複
数チャンネルに対する発音割当て処理技術を用いればよ
い。
また、上記実施例では、鍵盤を具えた電子楽器において
この発明の楽音発生装置が適用されているが、これに限
らず、その他の電気又は電子楽器、若しくは、モジュー
ル化された鍵盤あるいは適宜の入力機器や、サウンドシ
ステム、効果装置あるいは汎用コンピュータなどと適宜
選択的に接続して使用される音源装置モジュールにおい
てこの発明の楽音発生装置を適用するようにしてもよ
い。
また、上記実施例では特に示さなかったが、操作パネル
部において、現在選択されている演奏モードや、現在設
定されているエンドアドレスデータLPADの内容、各種の
エンベロープ設定データの内容、その他の各種設定デー
タの内容、などを表示するLED等からなる表示を設ける
とよい。
また、上記実施例では、3つのスイッチRVRS,UTRN,LOOP
の操作に応じて8つの演奏モードM1〜M8を決定するよう
にしているが、各モードM1〜M8を別個に選択するための
スイッチを別々に設けてもよい。
第6図のトーンジェネレータ部においては外部からサン
プリングした音だけを音源としているが、これに限ら
ず、他に適宜の音源を有し、既成の複数の音色と外部サ
ンプリング音の音色の中から所望の音色を適宜選択でき
る構成としてもよい。
上記実施例では外部音をサンプリングした直後にサンプ
リングした音を自動的にオウム返しに発音するためのト
リガとしてのキーオンパルスOKONPをソフトウェア処理
(第14図のステップ118)によって発生しているが、こ
れは、トーンジェネレータ部における専用のハードウェ
ア回路によって発生するようにしてもよい。そのために
は、例えば、サンプリングエンド信号SMPENDが出たとき
つまりエンドパルスENDが出たときにアドレスカウンタ3
7のカウントを停止せずにオーバーフローにまかせてそ
のまま初期アドレスからのアップカウントを継続させ、
かつサンプリングエンド信号SMPENDをオウム返し用のキ
ーオンパルスOKONPとしてエンベロープ発生器47に入力
すると共に、サンプリングモード信号SM1,SM2を夫々
“0"にし、モード信号M1を“1"にするとよい。
また、上記実施例では外部をサンプリングした直後のオ
ウム返しの発音におけるデータメモリの読出しレートは
書込みレートと同じであるが、これは異ならせてもよ
い。
ゼロクロスの検出方法は上記実施例に示したものに限ら
ず、どのような方法でもよい。例えば、上記実施例のよ
うなある程度の幅のあるゼロ判定範囲を採用せずに、波
形サンプルデータのレベルが実際にプラスからマイナス
に又はマイナスからプラスに変化することを検出するよ
うにしてもよい。また、マイクロフォンによってピック
アップしたアナログの音信号においてゼロクロスを検出
するようにしてもよい。
また、上記実施例では検出したゼロクロスに対応するア
ドレスはブロック単位のデータで記憶しているが、これ
はアドレス単位のデータで記憶するようにしてもよい。
同様に、最終ゼロクロスアドレスに対応するエンドアド
レスデータ(LPAD)もブロック単位のデータに限らず、
アドレス単位のデータで記憶するようにしてもよい。そ
の場合、エンドアドレスデータを増減調整する際の増加
量及び減少量もアドレス単位で細かに調整し得るように
するとよい。また、増減調整の対象とする基準アドレス
は、上記実施例のようなエンドアドレスに限らず、初期
アドレスであってもよく、また両方であってもよい。
また、各ブロック毎に実際の最終ゼロクロスアドレスを
夫々記憶しておき、エンドアドスデータをブロック単位
で増減調整した場合、エンドアドレスとして定められた
ブロックにおける実際の最終ゼロクロスアドレスをエン
ドアドレス(12ビットのアドレス単位のエンドアドレ
ス)とするようにしてもよい。
また、上記実施例ではエンドアドレスデータの増減調整
はループフラグが立っているとき、つまりサンプリング
した外部音に対応する楽音を繰返し発音するときに可能
であるが、これに限らず、他の場合においてもエンドア
ドレスデータ(基準アドレスデータ)の増減変更・調整
が行えるようにしてもよい。
また、上記実施例ではオールキャンセル処理においては
操作パネル部で設定・制御した全てのデータをキャンセ
ルして所定の初期状態に戻すようにしているが、これは
サンプリングした外部音に密接に関連するデータのみキ
ャンセルして所定の初期状態に戻すようにしてもよい。
例えば、各種楽音効果用のデータはキャンセルしなくて
もよい。
〔発明の効果〕
以上の通り、この発明によれば、記憶手段に書き込んだ
外部音波形サンプルデータの実際の最終アドレスをその
書込み動作に並行して同時に検出するようにしたので、
この最終アドレスを終点又は起点として記憶手段の波形
サンプルデータを順方向に又は逆方向に読み出すように
する多様な読出し形態に基づく演奏を書込み後直ちに行
えるようになり、これにより、サンプリング方式の楽音
発生装置としての演奏性能を向上させることができる、
という優れた効果を奏する。
更に、記憶手段に既に記憶されている波形サンプルデー
タと新たににサンプリングされた音信号の波形サンプル
データとを合成し、合成された波形サンプルデータを記
憶手段に書き込むようにすることにより、異なる外部音
波形サンプルデータを合成して新規な波形サンプルデー
タを作成する場合においては、記憶手段に既に記憶され
ている波形サンプルデータと新たにサンプリングされた
音信号の波形サンプルデータのうちデータサイズの長い
方の最終アドレスを、前記合成された波形サンプルデー
タの最終アドレスとして検出させる制御を行うようにし
たことにより、該合成波形の実際の最終アドレスを書込
み動作に並行して行なうことができるものであり、この
最終アドレスを終点又は起点して記憶手段の合成波形サ
ンプルデータを順方向に又は逆方向に読み出すようにす
る多様な形態の読み出し制御を書込み後直ちに行えるよ
うになり、これにより、サンプリング方式の楽音発生装
置としての演奏性能を向上させることができる、という
優れた効果を奏する。
【図面の簡単な説明】
第1図はこの発明に係る楽音発生装置の概要を示す機能
ブロック図、 第2図はこの発明に係る楽音発生装置を適用した電子楽
器の一実施例を示すハード構成図、 第3図は第2図の実施例において実現される各種演奏モ
ードにおけるデータメモリの読出し形態を概略的に示す
図、 第4図は第2図のトーンジェネレータ部に含まれるデー
タメモリのアドレス構成の一例を示す図、 第5図は第2図のマイクロコンピュータ部におけるデー
タ及びワーキングメモリのマップの一例を示す図、 第6図は第2図のトーンジェネレータ部の詳細例を示す
ブロック図、 第7図は第6図におけるノートクロックパルスの発生例
を示すタイミングチャート、 第8図乃至第19図は第2図のマイクロコンピュータ部に
おいて実行されるプログラムの一例を示すフローチャー
トであって、第8図はメインルーチン、第9図はサンプ
リングイベントルーチン、第10図はオーバーライトイベ
ントルーチン、第11図はタイマビープエンドイベントル
ーチン、第12図はキーオンイベントルーチン、第13図は
キーオフイベントルーチン、第14図はサンプリングエン
ドイベントルーチン、第15図はリバースイベントルーチ
ン及びUターンイベントルーチン及びループイベントル
ーチン、第16図はエコーイベントルーチン、第17図は増
加イベントルーチン、第18図は減少イベントルーチン、
第19図でオールキャンセルベントルーチンを夫々示すも
の、である。 1……外部音サンプリング手段、2……記憶手段、3…
…書込み制御手段、4……読出し制御手段、14……鍵
盤、15……操作パネル部、16……サンプリング制御操作
子群、17……エンベロープ制御操作子群、18……効果制
御操作子群、20……トーンジェネレータ部、21……デー
タメモリ、22……マイクロフォン、24……タイマビープ
回路、27……アナログ/ディジタル変換器、28……重ね
書き用の加算器、32……ゼロクロス検出回路、33……ゼ
ロクスアドレスラッチ回路、34……ノートクロック発生
回路、37……アドレスカウンタ、38……比較器、40……
終点アドレスジスタ、47……エンベロープ発生器。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】外部から入力された音信号をサンプリング
    する外部音サンプリング手段と、波形サンプルデータを
    記憶する読み書き可能な記憶手段と、 前記外部音サンプリング手段でサンプリングされた音信
    号の波形サンプルデータを前記記憶手段に書き込む書込
    み制御手段と、 前記書込み制御手段による書込み動作に並行して、前記
    音信号又は前記波形サンプルデータのゼロクロスを検出
    するゼロクロス検出手段と、 前記ゼロクロス検出手段によりゼロクロスが検出される
    毎に前記記憶手段に対する波形サンプルデータの書込み
    アドレスを記憶し、書込みが終了したときに記憶されて
    いる最後のアドレスを前記波形サンプルデータの最終ア
    ドレスとして検出する最終アドレス検出手段と、 前記最終アドレス検出手段で検出された最終アドレスを
    終点又は起点として前記記憶手段の波形サンプルデータ
    を順方向に又は逆方向に読み出す読出し制御手段と を具え、前記記憶手段から読み出された前記波形サンプ
    ルデータに対応する楽音信号を発生する楽音発生装置。
  2. 【請求項2】前記最終アドレス検出手段は、複数のアド
    レスからなるブロック単位で、ゼロクロスが検出された
    アドレスに対応するブロックを記憶し、書込みが終了し
    たときに記憶されている最後のブロック内の最後のアド
    レスを前記波形サンプルデータの最終アドレスとして検
    出するものである特許請求の範囲第1項記載の楽音発生
    装置。
  3. 【請求項3】前記ゼロクロス検出手段は、前記音信号又
    は波形サンプルデータのレベルが所定のゼロ判定範囲内
    に入ったか否かを検出するものである特許請求の範囲第
    1項記載の楽音発生装置。
  4. 【請求項4】外部から入力された音信号をサンプリング
    する外部音サンプリング手段と、 波形サンプルデータを記憶する読み書き可能な記憶手段
    と、 前記外部音サンプリング手段でサンプリングされた音信
    号の波形サンプルデータを前記記憶手段に書き込む書込
    み制御手段と、 前記記憶手段に書き込んだ波形サンプルデータの最終ア
    ドレスを検出する最終アドレス検出手段と、 前記記憶手段に既に記憶されている波形サンプルデータ
    と前記外部音サンプリング手段で新たにサンプリングさ
    れた音信号の波形サンプルデータとを合成し、合成され
    た波形サンプルデータを前記記憶手段に書き込む制御を
    行う合成波形書込み制御手段と、 前記最終アドレス検出手段の検出を制御するものであっ
    て、前記合成波形書込み制御手段により制御を行う場
    合、前記記憶手段に既に記憶されている波形サンプルデ
    ータと前記外部音サンプリング手段で新たにサンプリン
    グされた音信号の波形サンプルデータのうちデータサイ
    ズの長い方の最終アドレスを、前記合成された波形サン
    プルデータの最終アドレスとして検出させる制御を行う
    最終アドレス検出制御手段と、 前記最終アドレス検出制御手段による制御を受けて前記
    最終アドレス検出手段で検出された最終アドレスを終点
    又は起点として前記記憶手段に記憶した波形サンプルデ
    ータを順方向にまたは逆方向に読み出す制御を行う読出
    し制御手段と を具え、前記記憶手段から読み出された波形サンプルデ
    ータに対応する楽音信号を発生する楽音発生装置。
  5. 【請求項5】前記最終アドレス検出手段は、前記音信号
    又は前記波形サンプルデータのゼロクロスを検出するゼ
    ロクロス検出手段と、このゼロクロス検出手段によりゼ
    ロクロスが検出される毎に前記記憶手段に対する波形サ
    ンプルデータの書込みアドレスを記憶し、書込みが終了
    したときに記憶されている最後のアドレスを前記波形サ
    ンプルデータの最終アドレスとして検出する手段とを含
    み、 前記最終アドレス検出制御手段は、前記記憶手段に既に
    記憶されている波形サンプルデータの最終アドレスと前
    記外部音サンプリング手段で新たにサンプリングされた
    音信号の波形サンプルデータの最後の前記ゼロクロス対
    応アドレスとを比較し、大きい方のアドレスを前記合成
    された波形サンプルデータの最終アドレスとして検出さ
    せるものである特許請求の範囲第4項に記載の楽音発生
    装置。
JP62001210A 1987-01-07 1987-01-07 楽音発生装置 Expired - Lifetime JPH07101351B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP62001210A JPH07101351B2 (ja) 1987-01-07 1987-01-07 楽音発生装置
DE87119422T DE3786654T2 (de) 1987-01-07 1987-12-31 Tonsignal-Erzeugungsvorrichtung mit einer digitalen Ton-Speicher-Funktion.
EP87119422A EP0274137B1 (en) 1987-01-07 1987-12-31 Tone signal generation device having a tone sampling function
US07/141,122 US4947723A (en) 1987-01-07 1988-01-05 Tone signal generation device having a tone sampling function
SG5995A SG5995G (en) 1987-01-07 1995-01-16 Tone signal generation device having a tone sampling function
HK134395A HK134395A (en) 1987-01-07 1995-08-24 Tone signal generation device having a tone sampling function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62001210A JPH07101351B2 (ja) 1987-01-07 1987-01-07 楽音発生装置

Publications (2)

Publication Number Publication Date
JPS63169695A JPS63169695A (ja) 1988-07-13
JPH07101351B2 true JPH07101351B2 (ja) 1995-11-01

Family

ID=11495103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62001210A Expired - Lifetime JPH07101351B2 (ja) 1987-01-07 1987-01-07 楽音発生装置

Country Status (1)

Country Link
JP (1) JPH07101351B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5635192A (en) * 1979-08-31 1981-04-07 Nippon Musical Instruments Mfg Electronic musical instrument
JPS61245196A (ja) * 1985-04-24 1986-10-31 ヤマハ株式会社 楽音発生方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5635192A (en) * 1979-08-31 1981-04-07 Nippon Musical Instruments Mfg Electronic musical instrument
JPS61245196A (ja) * 1985-04-24 1986-10-31 ヤマハ株式会社 楽音発生方法および装置

Also Published As

Publication number Publication date
JPS63169695A (ja) 1988-07-13

Similar Documents

Publication Publication Date Title
US4947723A (en) Tone signal generation device having a tone sampling function
JPS6091395A (ja) 電子楽器
JPS6328478Y2 (ja)
JPH0213318B2 (ja)
JP2613788B2 (ja) 楽音発生装置
JP2586094B2 (ja) 楽音発生装置
JPS6057392A (ja) 電子楽器
JPH07101351B2 (ja) 楽音発生装置
JP2754646B2 (ja) 電子楽器
JPH0318197B2 (ja)
JPS6231358B2 (ja)
JPS6113239B2 (ja)
US5116192A (en) Tone generation device capable of generating a special tone
JPS5840199B2 (ja) デンシガツキ
JP2701177B2 (ja) 楽音発生装置
JP3660125B2 (ja) 電子楽器の音像定位感制御装置
JPH02135564A (ja) データ処理装置
JP3508139B2 (ja) デジタル信号処理プロセッサ
JPS6158915B2 (ja)
JP2833485B2 (ja) 楽音発生装置
JPS644157Y2 (ja)
JPS63169694A (ja) 楽音発生装置
JP3652504B2 (ja) 電子楽器の残響効果付加装置
JP3129119B2 (ja) エンベロープ波形発生装置
JPS63169696A (ja) 楽音発生装置