JPH07199931A - 周波数データ生成装置 - Google Patents

周波数データ生成装置

Info

Publication number
JPH07199931A
JPH07199931A JP5337895A JP33789593A JPH07199931A JP H07199931 A JPH07199931 A JP H07199931A JP 5337895 A JP5337895 A JP 5337895A JP 33789593 A JP33789593 A JP 33789593A JP H07199931 A JPH07199931 A JP H07199931A
Authority
JP
Japan
Prior art keywords
target
pitch envelope
pitch
frequency data
envelope
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.)
Withdrawn
Application number
JP5337895A
Other languages
English (en)
Inventor
Shigeru Matsuyama
茂 松山
Teruo Jinbo
輝雄 神保
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP5337895A priority Critical patent/JPH07199931A/ja
Publication of JPH07199931A publication Critical patent/JPH07199931A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 発音される楽音のピッチを時間的に変化させ
るためなどに使用される周波数データを生成する周波数
データ生成装置に関し、周期性のない周波数データ変化
機能に対して周期性のある周波数データ変化機能特にデ
ィレイビブラート機能を組合せることを可能にすること
を目的とする。 【構成】 ビブラート開始ステップより前の非ループス
テップ区間では、通常のピッチエンベロープ変化で生成
されるピッチエンベロープ現在レベルとしてfレベルが
決定され、楽音波形データのピッチに非周期的変動のピ
ッチエンベロープ効果が付加される。一方、ビブラート
開始ステップ以降のループされるステップ区間では、周
期Tで変動するピッチエンベロープ現在レベルと乗算係
数現在レベルとから、楽音波形データのピッチに周期的
変動のディレイビブラート効果が付加される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、発音される楽音のピッ
チを時間的に変化させるためなどに使用される周波数デ
ータを生成する周波数データ生成装置に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】従来、
発音される楽音のピッチを時間的に変化させる機能とし
ては、いわゆるピッチエンベロープやLFO(低周波発
振器)を用いたものがある。
【0003】そして一般に、ピッチエンベロープは、ア
タック時のグライド効果などのように、周期性のないピ
ッチ変化を生成するために使用される。また、LFO
は、ビブラートなどのように、周期性のあるピッチ変化
を生成するために使用される。
【0004】しかし、従来、このどちらか一方の機能を
選択的に使用する従来技術はあっても、例えば、楽音に
対して、発音開始時には周期性のないピッチ変化を付加
し、その後に周期性のあるピッチ変化を付加するような
ことはできなかった。
【0005】特に、同じ周期性のあるピッチ変化であっ
ても、ピッチの変化幅自体が時間的に変化するいわゆる
ディレイビブラートの機能を、周期性のないピッチ変化
機能と組合せることは、発音チャネルに対する処理の遅
延による楽音の発音タイミングのずれなどの悪影響を発
生させるため、実現が困難であるという問題点を有して
いた。
【0006】本発明の課題は、周期性のない周波数デー
タ変化機能に対して周期性のある周波数データ変化機能
特にディレイビブラート機能を組合せることを可能にす
ることにある。
【0007】
【課題を解決するための手段】本発明の第1の態様は、
まず、所定の時間変化率(レート)で所定の目標レベル
に向かって変化する周波数データ(ピッチエンベロープ
現在レベル)を発生させる動作を、複数の所定の変化率
と所定の目標レベルの組合せとして定義される複数のス
テップに対応させて連続的に実行する周波数データ発生
手段(CPU101によって実行される図8のピッチエ
ンベロープ処理など)を有する。
【0008】次に、複数のステップのうちの所定の1つ
以上の連続するステップ区間をループさせ、そのループ
させられたステップ区間で周波数データの発生動作を繰
り返し実行させるステップループ化手段(CPU101
によって実行される図9の次ピッチエンベロープセット
処理など)を有する。
【0009】本発明の第2の態様は、まず、第1の態様
と同様の周波数データ発生手段を有する。次に、複数の
ステップのうちの所定のステップに対応する周波数デー
タの発生動作が実行された以降は、周期的に変化する周
波数データを発生させる周期的周波数データ発生手段
(CPU101によって実行される図23のビブラート
生成処理など)を有する。
【0010】上述の本発明の第1又は第2の態様におい
て、更に、ステップループ化手段又は周期的周波数デー
タ発生手段によって発生される周波数データの振幅の包
絡が時間的に変化するように、周波数データの値を変化
させる周波数データ振幅包絡変化手段(CPU101に
よって実行される図10の乗算係数生成処理など)を有
するように構成できる。
【0011】また、この周波数データ振幅包絡変化手段
は、周波数データの振幅の包絡がその周波数データの振
幅の繰り返し周期毎に変化するように、周波数データの
値を変化させるように構成することができる。
【0012】
【作用】周波数データ発生手段によって周期性なく変化
する周波数データを発生させることができると共に、そ
の周波数データ発生手段で使用される所定のステップを
ループさせるだけで、又はLFO(低周波発振器)など
の周期的周波数データ発生手段により、周期性をもって
変化する周波数データを簡単に発生させることができ
る。この結果、例えば電子楽器で発音される楽音のピッ
チを、周期性のないピッチエンベロープ変化から周期性
のあるビブラート変化へ、ダイナミックに変化させるこ
とができる。
【0013】また、乗算係数を演算するような簡単な周
波数データ振幅包絡変化手段によって、周波数データの
振幅の包絡が時間的に変化するように、周波数データの
値を変化させることにより、例えば電子楽器で発音され
る楽音のピッチを、周期性のないピッチエンベロープ変
化からディレイビブラート変化へ、ダイナミックに変化
させることができる。
【0014】更に、周波数データの振幅の包絡がその周
波数データの振幅の繰り返し周期毎(ビブラート周期
毎)に変化するように制御されることにより、電子楽器
の楽音のピッチ変化などに特異な音響効果を付加するこ
となどができる。
【0015】
【実施例】以下、図面を参照しながら本発明の3つの実
施例につき詳細に説明する。第1の実施例 まず、本発明の第1の実施例につき説明する。 <第1の実施例の構成の説明>図1は、本発明の第1の
実施例の全体構成図である。
【0016】CPU101は、プログラムROM106
に記憶された制御プログラムに従って動作し、押鍵検出
回路103を介して鍵盤部102の押鍵状態を検出し、
スイッチ状態検出回路105を介してスイッチ部104
の操作状態を検出し、また、MIDIデータ入力部11
4を介してMIDIデータの入力状態を検出することに
よって、演奏に必要なデータを作成して、それをワーク
RAM107の発音チャネル領域にセットする。また、
CPU101は、本発明に特に関連する動作して、デー
タROM108に記憶されているピッチエンベロープデ
ータに基づき、楽音発生回路110がデータROM10
8から読み出している各楽音波形データのピッチを変化
させるためのピッチエンベロープ処理と、その処理によ
りビブラート効果が発生されている場合に更にディレイ
ビブラート効果を付加するための乗算係数生成処理など
を実行する。タイマ部109は、後述するタイマインタ
ラプトルーチンの実行などを制御する。
【0017】楽音発生回路110は、ワークRAM10
7に設定された発音チャネルデータの内容に基づいて、
各発音チャネルに対する時分割タイミング毎に、データ
ROM108に記憶されている1つ又は2つの楽音波形
データを読み出して、各発音チャネルに対応する出力楽
音波形データを生成する。また、楽音発生回路110
は、データROM108から各発音チャネルに対応する
楽音波形データを読み出している状態において、一定時
間毎にCPU101から送られてくる新たなピッチデー
タに基づいて、それらの発音チャネルにおいてデータR
OM108から読み出している楽音波形データのピッチ
を変更することにより、それらの楽音波形データから生
成する出力楽音波形データに対してピッチエンベロープ
効果及びディレイビブラート効果を付加する。
【0018】楽音発生回路110によって生成された各
発音チャネルの出力楽音波形データは、D/A変換器1
11によりアナログ楽音信号に変換される。そのアナロ
グ楽音信号は、アンプ112D増幅された後、スピーカ
113から楽音として放音される。 <第1の実施例で用いられる各種データの構成の説明>
図2は、データROM108に記憶される音色データの
うち、本発明に特に関連するものの構成図である。
【0019】音色データは、図中、#1、#2などとし
て区別される音色毎に記憶されている。第1使用波形ナ
ンバは、楽音発生回路110がデータROM108から
読み出す楽音波形データの先頭アドレスを示す。
【0020】基準キーは、データROM108に記憶さ
れている第1使用波形ナンバで示される楽音波形データ
のデータROM108への記録時のキーを示す。ピッチ
エンベロープ波形ナンバは、第1使用波形ナンバによっ
て示される楽音波形データに付加されるべきピッチエン
ベロープ効果を生成するための、データROM108に
記憶されているピッチエンベロープ波形データの先頭ア
ドレスを示す。
【0021】ここで、楽音発生回路110が1つの音色
に対応する出力楽音波形データを、データROM108
上の2つの楽音波形データを混合することにより生成す
る場合もある。この場合には、図2に示されるように、
第1使用波形ナンバとそれに対応する基準キー及びピッ
チエンベロープ波形ナンバなどのほかに、第2使用波形
ナンバとそれに対応する基準キー及びピッチエンベロー
プ波形ナンバなども、音色データとして記憶されてい
る。
【0022】次に、図3は、データROM108に記憶
されるピッチエンベロープ波形データの構成図である。
ピッチエンベロープ波形データは、#1、#2などとし
て区別されるピッチエンベロープ波形毎に記憶されてい
る。
【0023】イニシャルレベルは、楽音発生回路110
がデータROM108から読み出している楽音波形デー
タにピッチエンベロープ効果が付加される場合に、その
効果の付加開始時におけるピッチ変更値の初期値を示
す。
【0024】ラストステップは、ピッチエンベロープ変
化が最終ステップの目標レベルに到達したことを示すた
めに使用される、最終ステップ番号を示すデータであ
る。ビブラート開始ステップは、ピッチエンベロープ効
果の付加の途中でディレイビブラート状態が開始された
ときのステップ番号を示すデータである。
【0025】目標レベル0〜7、及びレート0〜7は、
ピッチエンベロープ効果が図11に示されるように8つ
の折れ線状のピッチの変化として実現される場合の、各
折れ線が到達する目標レベルと各折れ線の変化の傾きを
示すデータ群である。
【0026】乗算係数レートは、ディレイビブラート変
化を生成するために、ピッチエンベロープ変化の特定の
連続するステップ群が繰り返されることにより生成され
るビブラート変化に時間的に変化する乗算係数が順次乗
算される場合の、その乗算係数の変化の傾きを示すデー
タである。
【0027】乗算係数目標レベルは、上述の乗算係数が
図13(a) に示される2つの折れ線状に変化する場合の
1つ目の折れ線が到達する目標レベルを示すデータであ
る。なお、2つ目の折れ線においては、乗算係数の値は
一定値となり変化しない。
【0028】続いて、図4は、ワークRAM107に記
憶される発音チャネルデータの構成図である。図1の楽
音発生回路110は、時分割処理により、例えば8つの
楽音波形データをデータROM108から並列して読み
出し処理することができる。この時分割された各処理を
発音チャネルと呼ぶ。そして、CPU101は、発音チ
ャネルを制御するための全ての情報を、ワークRAM1
07に、図4に示されるように発音チャネル毎に設定す
る。
【0029】以下の説明で、「対象発音チャネル」と
は、各発音チャネルデータが含まれる発音チャネルを示
すものとする。まず、ノートナンバは、対象発音チャネ
ルのデータを生成させた演奏操作において指定されたノ
ートを示す。このノートナンバは、図1の鍵盤部102
での押鍵操作に基づいて発生する押鍵データ、又は外部
の演奏機器又はシーケンサ装置などからMIDIデータ
入力部114を介して入力されるMIDIデータから抽
出される。
【0030】ノートピッチは、対象発音チャネルに設定
されているノートナンバと、対象発音チャネルに設定さ
れている特には図示しない音色ナンバと使用波形ナンバ
によって指定される音色内の楽音波形データの基準キー
(図2参照)との音高の差をセント単位で表したもので
ある。例えばノートナンバがG4で基準キーがA4なら
ば、ノートナンバの方が基準キーよりも2半音低いか
ら、−200セントとなる。このノートピッチは、楽音
発生回路110による対象発音チャネルに対応する楽音
波形データがデータROM108から読み出されるとき
の、波形アドレスの歩進幅を決定するデータとなる。こ
れにより、読み出される楽音波形データのピッチが決定
される。
【0031】発音状態は、楽音発生回路110における
対象発音チャネルにおける楽音の発音状態を示すため
の、2ビットからなるデータである。この発音状態の値
が00であるときは、対象発音チャネルにおいて楽音は
発音されていない無音状態を示し、発音状態の値が01
であるときは、対象発音チャネルにおいて楽音がノート
オンされてからノートオフされるまでの間のノートオン
中状態を示し、発音状態の値が10であるときは、対象
発音チャネルにおいて楽音がノートオフされてから消音
されるまでの間のノートオフ中状態を示している。
【0032】発音順は、対象発音チャネルに対応して発
音が開始された楽音が、現在発音されている全ての楽音
中での発音順を示すデータである。このデータは、例え
ば8チャネルの全ての発音チャネルが使用されていると
きに新たな発音要求が発生した場合に、例えば最も古く
発音を開始された楽音を消音してその楽音に対応する発
音チャネルを新たな発音要求に割り当てるために使用さ
れる。
【0033】ピッチエンベロープ現在レベルは、対象発
音チャネルにおいて生成されているピッチエンベロープ
値の現在値を示す。ピッチエンベロープレートは、対象
発音チャネルにおいて生成されているピッチエンベロー
プ変化の現在のステップのレート(傾き)を示す。ピッ
チエンベロープ変化のステップの進行に伴って、データ
ROM108中の対象発音チャネルに対応するピッチエ
ンベロープ波形データ中の現在のステップに対応するレ
ート(図3)が読み出されて、対象発音チャネルのピッ
チエンベロープレートとしてセットされる。対象発音チ
ャネルのピッチエンベロープ波形データは、対象発音チ
ャネルに設定されている特には図示しない音色ナンバと
使用波形ナンバによって指定される音色内のピッチエン
ベロープ波形ナンバ(図2)によって特定される。
【0034】ピッチエンベロープ目標レベルは、対象発
音チャネルにおいて生成されているピッチエンベロープ
変化の現在のステップの目標レベルを示す。ピッチエン
ベロープ変化のステップの進行に伴って、データROM
108中の対象発音チャネルに対応するピッチエンベロ
ープ波形データ中の現在のステップに対応する目標レベ
ル(図3)が読み出されて、対象発音チャネルのピッチ
エンベロープ目標レベルとしてセットされる。
【0035】ピッチエンベロープステータスは、対象発
音チャネルにおけるピッチエンベロープ変化の現在の状
態を示す2ビットのデータであり、その値が00である
場合にはストップ状態を示し、その値が01である場合
には通常のピッチエンベロープ効果が付加されているノ
ーマル状態を示し、その値が10である場合にはディレ
イビブラート効果が付加されているビブラートオン状態
を示す。
【0036】ビブラート開始ステップは、対象発音チャ
ネルにおけるピッチエンベロープ変化の途中でディレイ
ビブラート状態が開始されたときのステップ番号を示す
データである。データROM108中の対象発音チャネ
ルに対応するピッチエンベロープ波形データ中のビブラ
ート開始ステップ(図3)が読み出されて、対象発音チ
ャネルのビブラート開始ステップとしてセットされる。
【0037】ラストステップは、対象発音チャネルに対
応するピッチエンベロープ変化が最終ステップの目標レ
ベルに到達したことを示すために使用される、最終ステ
ップ番号を示すデータである。データROM108中の
対象発音チャネルに対応するピッチエンベロープ波形デ
ータ中のラストステップ(図3)が読み出され、対象発
音チャネルのラストステップとしてセットされる。
【0038】fレベルは、対象発音チャネルにおいて、
ノートピッチに対して加算されるピッチの変化分であ
り、ピッチエンベロープ現在レベル、及び次に説明する
乗算係数現在レベルなどから生成される。
【0039】乗算係数現在レベルは、ディレイビブラー
ト変化を生成するために、対象発音チャネルにおいてピ
ッチエンベロープ変化の特定の連続するステップ群が繰
り返されることにより生成されるビブラート変化に時間
的に変化する乗算係数が順次乗算される場合の、その乗
算係数の現在値を示す。
【0040】乗算係数レートは、対象発音チャネルにお
いて生成されている乗算係数変化のレート(傾き)を示
す。データROM108中の対象発音チャネルに対応す
るピッチエンベロープ波形データ中の乗算係数レート
(図3)が読み出されて、対象発音チャネルの乗算係数
レートとしてセットされる。
【0041】乗算係数目標レベルは、対象発音チャネル
において生成されている乗算係数変化の目標レベルを示
す。データROM108中の対象発音チャネルに対応す
るピッチエンベロープ波形データ中の乗算係数目標レベ
ル(図3)が読み出されて、対象発音チャネルの乗算係
数目標レベルとしてセットされる。
【0042】乗算係数フラグは、対象発音チャネルにお
ける乗算係数の変化状態を示す1ビットのフラグであ
り、その値が1のときは、乗算係数現在レベルがまだ乗
算係数目標レベルに達しておらず乗算係数レートを加算
中の状態であることを示し、その値が0のときは、乗算
係数現在レベルが乗算係数目標レベルに達し乗算係数レ
ートの加算がストップされた状態を示す。
【0043】図5は、後述する乗算係数生成処理を制御
するためにワークRAM107に記憶されるデータの構
成図である。図5に示されるように、ワークRAM10
7には、前回タイマ値、端数時間、処理回数、及びチャ
ネル指示データ(CHデータ)の各データが記憶され
る。これらのデータの機能については乗算係数処理の動
作フローチャート(図10)の説明時に後述する。 <第1の実施例の動作の説明>上述の構成を有する第1
の実施例の動作につき、以下に順次説明する。
【0044】なお、以下に説明する各種動作フローチャ
ートは、図1のCPU101がプログラムROM106
に記憶された制御プログラムを実行する動作として実現
される。
【0045】図6は、図1のCPU101において実行
されるメインルーチンの動作フローチャートである。始
めに、装置の電源が投入又は装置がリセットされると、
ステップ601のイニシャル処理により、ワークRAM
107の内容及びCPU101に内蔵される特には図示
しないレジスタの内容などがイニシャライズされる。
【0046】以後、ステップ602〜207の各処理が
繰り返し実行される。ステップ602のスイッチスキャ
ン処理では、図1のスイッチ部104内のスイッチのう
ち、音色指定スイッチなどの機能キーの設定状態がスイ
ッチ状態検出回路105を介して走査され、その設定状
態が取り込まれる。
【0047】ステップ603では、ステップ602での
機能スイッチのスキャン結果に基づいて、音色指定スイ
ッチなどの各機能キーの設定に対応する処理が実行され
る。具体的には、例えばデータROM108上の音色デ
ータの読出しアドレスを決定する処理などが実行され
る。
【0048】ステップ604の鍵盤スキャン処理では、
鍵盤部102内の特には図示しない鍵盤スイッチの押鍵
状態が押鍵検出回路103を介して走査され、その押鍵
状態が取り込まれる。また、この処理では、図1のMI
DIデータ入力部114からMIDIデータを入力する
ための処理も実行される。
【0049】ステップ605の鍵盤処理では、ステップ
604で検出された鍵盤スイッチの押鍵状態又はMID
Iデータの入力状態として指定された演奏操作に対応し
て、ワークRAM107に設けられる図4に示される発
音チャネルデータ領域に必要な発音チャネルデータが設
定される。
【0050】具体的には、まず、演奏操作に対応する発
音チャネルが決定される。以下、この発音チャネルを対
象発音チャネルと呼ぶ。次に、対象発音チャネルに対応
する領域に、ノートナンバが設定される。このデータ
は、押鍵指示された鍵に対応するもの、又はMIDIデ
ータによって指定されるものである。
【0051】次に、対象発音チャネルに対応する領域
に、特には図示しない音色ナンバと使用波形ナンバ(#
1か#2の何れか)が設定される。この音色ナンバは、
スイッチ部104において予めユーザにより指定されス
テップ603の機能キー処理により取り込まれる音色情
報に対応して設定される、データROM108内の音色
データ領域のアドレスを示すナンバである。また、使用
波形ナンバは、その音色が2つの楽音波形データを使用
する場合に(図2参照)、対象発音チャネルが2つの使
用波形のうちどちらであるかを設定するデータである。
【0052】続いて、対象発音チャネルに対応する領域
に、ノートピッチが設定される。ノートピッチは、上述
したノートナンバと、上述の音色ナンバと使用波形ナン
バによって指定される音色内の楽音波形データの基準キ
ー(図2)との音高の差をセント単位で表したものであ
る。
【0053】次に、対象発音チャネルに対応する領域
に、発音状態としてノートオン中状態が、また、発音順
として最新の発音順が設定される。また、対象発音チャ
ネルに対応する領域に、ピッチエンベロープ現在レベル
として、データROM108中の対象発音チャネルに対
応するピッチエンベロープ波形データ中のイニシャルレ
ベル(図3)が読み出されて設定される。対象発音チャ
ネルのピッチエンベロープ波形データは、対象発音チャ
ネルに設定されている特には図示しない音色ナンバと使
用波形ナンバによって指定される音色内のピッチエンベ
ロープ波形ナンバ(図2)によって特定される。
【0054】更に、対象発音チャネルに対応する領域
に、ピッチエンベロープレート及びピッチエンベロープ
目標レベルとして、データROM108中の対象発音チ
ャネルに対応するピッチエンベロープ波形データ中の第
0ステップに対応するレート0と目標レベル0(図3)
が読み出されて設定される。
【0055】また、対象発音チャネルに対応する領域
に、ピッチエンベロープステップとしてステップ0が、
ピッチエンベロープステータスとしてピッチエンベロー
プ処理の通常状態であるノーマル状態が、それぞれ設定
される。
【0056】続いて、対象発音チャネルに対応する領域
に、ビブラート開始ステップ、ラストステップ、乗算係
数レート、及び乗算係数目標レベルとして、データRO
M108中の対象発音チャネルに対応するピッチエンベ
ロープ波形データ中のビブラート開始ステップ、ラスト
ステップ、乗算係数レート、及び乗算係数目標レベル
(図3)がそれぞれ読み出されて設定される。
【0057】また、対象発音チャネルに対応する領域
に、乗算係数現在レベルとして0が、乗算係数フラグと
して乗算係数レートの加算がストップされた状態に対応
する値0が、それぞれ設定される。
【0058】以上説明したステップ605の鍵盤処理の
後、ステップ606の乗算係数生成処理では、ピッチエ
ンベロープ処理によりビブラート効果が発生されている
場合に更にディレイビブラート効果を付加するための乗
算係数を生成する処理が実行される。
【0059】ステップ607のその他各種処理では、種
々の音響効果を付加するための処理などが実行される。
図7は、タイマインタラプトルーチンを示す動作フロー
チャートである。
【0060】タイマインタラプトルーチンは、図1のタ
イマ部109によって一定時間毎に発生させられるタイ
マインタラプトに対応して起動される。タイマインタラ
プトが発生すると、図6のメインルーチンの処理が中断
させられた後に図7のタイマインタラプトルーチンが起
動され、まず、ステップ701〜708において、ピッ
チエンベロープ変化を生成するためのピッチエンベロー
プ処理が実行される。この処理は、図4に示される例え
ば8チャネルの発音チャネルのそれぞれに対応して、#
1〜#8の8回実行される。
【0061】ステップ709では、ワークRAM107
内の図4に示される各発音チャネルデータ内の各発音状
態が判定されることにより、現在無音状態でない発音チ
ャネル毎に、上述のピッチエンベロープ処理によってピ
ッチの変化分を示すfレベルがノートピッチに加算され
ることにより、新たなピッチデータが生成され、それが
CPU101から楽音発生回路110に出力される。
【0062】CPU101は、図7のタイマインタラプ
トルーチンの処理を終了すると、中断していた図6のメ
インルーチンの処理を再開する。図8は、図7のステッ
プ701〜708の共通のピッチエンベロープ処理を示
す動作フローチャートである。
【0063】以下の説明で、「対象発音チャネル」と
は、現在ピッチエンベロープ処理が実行されている発音
チャネルを示すものとする。まず、ステップ801で、
対象発音チャネルのピッチエンベロープステータス(図
4)の状態が判定される。
【0064】このステータスがストップ状態を示してい
る場合には、ピッチエンベロープ処理は実行されず、即
座に図8のピッチエンベロープ処理を終了する。一方、
ピッチエンベロープステータスがノーマル状態又はビブ
ラートオン状態を示している場合は、ステップ802に
おいて、対象発音チャネルのピッチエンベロープ現在レ
ベルに対象発音チャネルピッチエンベロープレート(共
に図4)が加算されることにより、対象発音チャネルの
ピッチエンベロープ現在レベルが更新される。
【0065】ステップ803では、対象発音チャネルの
ピッチエンベロープレート(図4)の最上位ビット(M
SB)が0であるか否か、即ち、ピッチエンベロープレ
ートが正の値であるか否か、更に換言すると、現在ピッ
チエンベロープの変化が増加方向であるか減少方向であ
るかが判定される。
【0066】ピッチエンベロープの変化が増加方向であ
ってステップ803の判定がYESの場合には、ステッ
プ804で、対象発音チャネルのピッチエンベロープ現
在レベルが対象発音チャネルのピッチエンベロープ目標
レベル(共に図4)以上となったか否かが判定される。
逆に、ピッチエンベロープの変化が減少方向であってス
テップ803の判定がYESの場合には、ステップ80
5で、対象発音チャネルのピッチエンベロープ現在レベ
ルが対象発音チャネルのピッチエンベロープ目標レベル
以下となったか否かが判定される。
【0067】ステップ804又は805の判定がNOの
場合、即ち、ピッチエンベロープ現在レベルがピッチエ
ンベロープ目標レベルに未だ到達していない場合は、ス
テップ806で、対象発音チャネルのピッチエンベロー
プステータス(図4)がディレイビブラート効果が付加
されているビブラートオン状態であるか否かが判定され
る。
【0068】ピッチエンベロープ処理の動作開始時はピ
ッチエンベロープステータスは通常のピッチエンベロー
プ効果が付加されているノーマル状態を示しているため
(図6のステップ605の説明を参照)、ステップ80
6の判定はNOとなる。
【0069】この場合は、ステップ808で、対象発音
チャネルのfレベルとして、対象発音チャネルのピッチ
エンベロープ現在レベル(共に図4)の値が設定され
る。このようにして、タイマインタラプトが発生する毎
に、対象発音チャネルのピッチエンベロープ現在レベル
の値=fレベル(図4)が順次更新され、前述したよう
に、図7のステップ709で、このfレベルがノートピ
ッチに加算されることによって、対象発音チャネルに対
応する新たなピッチデータが生成され、それがCPU1
01から楽音発生回路110に出力される。楽音発生回
路110は、これにより、データROM108から読み
出している対象発音チャネルに対応する楽音波形データ
の歩進幅を更新することにより、それに対応して発音さ
れる楽音のピッチを変化させる。
【0070】次に、ステップ804又は805の判定が
YESの場合、即ち、対象発音チャネルのピッチエンベ
ロープ現在レベルが対象発音チャネルのピッチエンベロ
ープ目標レベルに到達した場合は、ステップ809で、
上述のピッチエンベロープ現在レベルとして上述のピッ
チエンベロープ目標レベルが設定される。即ち、ピッチ
エンベロープ現在レベルは、そのレベルがピッチエンベ
ロープ目標レベルを越えないように制限される。
【0071】次に、ステップ810〜812の処理は、
前述したステップ806〜808の処理と同様である。
前述したように、ピッチエンベロープ処理の動作開始時
はピッチエンベロープステータスは通常のピッチエンベ
ロープ効果が付加されているノーマル状態を示している
ため、ステップ810の判定はNOとなって、ステップ
812で、対象発音チャネルのfレベルとして、ピッチ
エンベロープ現在レベルの値が設定される。これによ
り、ピッチエンベロープ現在レベルがピッチエンベロー
プ目標レベルに達した場合にも、fレベルが更新され、
その結果、対象発音チャネルに対応する楽音波形データ
のピッチが更新される。
【0072】その後、ステップ813において、次ピッ
チエンベロープセット処理が実行される。ここでは、図
11に示されるように、ピッチエンベロープ現在レベル
が現在のピッチエンベロープステップ(初期値は0)に
対応するピッチエンベロープ目標レベルに達したら、そ
の目標レベルに対応する現在のピッチエンベロープステ
ップがビブラート処理を開始すべきステップに等しくな
ったか否か(図11参照)の判定と、現在のピッチエン
ベロープステップを更新し、ピッチエンベロープレート
とピッチエンベロープ目標レベルを新たなステップに対
応するものに変更する処理などが実行される。
【0073】図9に、図8のステップ813の次ピッチ
エンベロープセット処理の動作フローチャートを示す。
まず、ステップ901では、対象発音チャネルのピッチ
エンベロープステップが、対象発音チャネルのラストス
テップ(共に図4)に等しいか否かが判定される。図1
1の例では、ラストステップの値は7である。
【0074】ステップ901の判定がNOなら、ステッ
プ902で、上述のピッチエンベロープステップが、対
象発音チャネルのビブラート開始ステップ(図4)の値
から1だけ減算した値に等しいか否かが判定される。図
11の例では、ビブラート開始ステップ−1の値は4で
ある。
【0075】ステップ902の判定がNOなら、ステッ
プ903で、対象発音チャネルのピッチエンベロープス
テップ(図4)が+1される。また、ステップ904
で、このピッチエンベロープステップによって示される
新たなステップに対応するピッチエンベロープ目標レベ
ルとピッチエンベロープレートが、データROM108
中の対象発音チャネルに対応するピッチエンベロープ波
形データ(図3)から読み出され、それらが対象発音チ
ャネルのピッチエンベロープ目標レベルとピッチエンベ
ロープレート(共に図4)としてセットされる。対象発
音チャネルのピッチエンベロープ波形データは、前述し
たように、対象発音チャネルに設定されている特には図
示しない音色ナンバと使用波形ナンバにより指定される
音色内のピッチエンベロープ波形ナンバ(図2)によっ
て特定される。
【0076】以上のステップ903と904の動作の
後、制御が図8のピッチエンベロープ処理に戻り、その
まま図8のピッチエンベロープ処理を終了して、制御が
図7のタイマインタラプトルーチンに戻る。
【0077】一方、対象発音チャネルのピッチエンベロ
ープステップが対象発音チャネルのビブラート開始ステ
ップ−1に等しくなりステップ902の判定がYESと
なると、ステップ905〜907、続いて、上述したス
テップ903と904の処理が実行される。
【0078】まず、ステップ905では、対象発音チャ
ネルのピッチエンベロープステータス(図4)が、ディ
レイビブラート効果が付加されている状態を示すビブラ
ートオン状態に設定される。
【0079】次に、ステップ906においては、対象発
音チャネルのビブラート開始時レベルとして、対象発音
チャネルのピッチエンベロープ目標レベル(共に図4)
が設定される。図11の例では、ピッチエンベロープス
テップは4であるため、ビブラート開始時レベルとして
ピッチエンベロープ目標レベル=L4(=L7)が設定
される。これが、ピッチにビブラート変化が付加される
場合のセンターレベルとなる。
【0080】ステップ907では、乗算係数フラグとし
て、乗算係数レートを加算中の状態であることを示す値
1に設定される。その後、ステップ903と904で、
前述したように、対象発音チャネルのピッチエンベロー
プステータス、ピッチエンベロープ目標レベル、及びピ
ッチエンベロープレートが更新される。
【0081】以上のようにして、対象発音チャネルのピ
ッチエンベロープステータスがビブラートオン状態にな
った後に、図7のタイマインタラプトルーチンが一定時
間毎に繰り返され、発音チャネル毎に図8のピッチエン
ベロープ処理と図9の次ピッチエンベロープセット処理
が繰り返され、対象発音チャネルのピッチエンベロープ
ステップが対象発音チャネルのラストステップに等しく
なり図9のステップ901の判定がYESとなると、ス
テップ908の判定がYESとなる。そして、ステップ
910では、対象発音チャネルのピッチエンベロープス
テップとして、対象発音チャネルのビブラート開始ステ
ップ(共に図4)が設定される。図11の例では、ビブ
ラート開始ステップ=5である。 その後、ステップ9
03と904で、前述のように、対象発音チャネルのピ
ッチエンベロープステータス、ピッチエンベロープ目標
レベル、及びピッチエンベロープレートが更新される。
【0082】以上の動作が繰り返される結果、ピッチエ
ンベロープステップ5〜7(図11参照)が繰り返され
るピッチエンベロープ変化が得られる。これが、ピッチ
が周期的に変化するビブラート効果となる。
【0083】次に、上述のビブラート効果をディレイビ
ブラート効果に変換するための動作について説明する。
まず、一定時間毎に繰り返される図7(及び図8、図
9)のタイマインタラプトルーチンと並行して、図6の
メインルーチンのステップ606で、乗算係数生成処理
が実行されている。この処理の動作フローチャートを図
10に示す。
【0084】まず、乗算係数生成処理は、図13(a) に
示されるように、一定の変化割合で増加するような乗算
係数を生成する必要がある。この処理は、対象発音チャ
ネルの乗算係数現在レベルに、対象発音チャネルの乗算
係数レート(共に図4)を加算する処理として実現され
る。従って、乗算係数生成処理は、できる限り一定時間
毎に実行される必要があるが、この処理をタイマインタ
ラプトルーチンで行うとCPU101に対する負荷が増
加する。そのため、乗算係数生成処理はメインルーチン
のステップ606で行うこととし、一定時間毎に処理さ
れる乗算係数生成処理の処理回数が一定になるように制
御することとする。
【0085】ステップ1001と1004は、その制御
のための処理である。まず、ステップ1001では、図
1のタイマ部109のタイマ値が読み込まれる。
【0086】次に、ステップ1002で、上述のタイマ
値からワークRAM107に記憶されている前回タイマ
値(図5、初期値は0)が減算され、それにワークRA
M107に記憶されている端数時間(図5、初期値は
0)が加算された後、ワークRAM107に記憶されて
いる一定値である処理単位時間で除算される。そして、
その除算の結果得られる商が、今回の処理で実行される
乗算係数生成処理の処理回数とされ、その値がワークR
AM107に記憶される(図5)。更に、ワークRAM
107の前回タイマ値(図5)として今回のタイマ値が
設定され、上述の除算の結果得られる余りが時間の処理
回数を計算するための端数時間としてワークRAM10
7に記憶される(図5)。
【0087】図12は、この制御動作の説明図である。
まず、処理単位時間は、乗算係数生成処理が実行される
べき一定の時間間隔を示す。そして、メインルーチンに
おいて前回ステップ606内のステップ1002が実行
されてから今回同じステップ1002が実行されるまで
の例えば区間Aにおいては、処理単位時間2回分以上3
回分より少ない時間(タイマ値−前回タイマ値)が経過
しているため、今回の処理において、ステップ1004
においてワークRAM107上の処理回数(図5)の値
が2から−1ずつされながらステップ1003で処理回
数の値が0になったと判定されるまで、合計2回のステ
ップ1005〜ステップ102の乗算係数生成処理が実
行される。
【0088】次に、図12の例えば区間Bにおいては、
前回の端数時間の開始時点から今回ステップ1002の
実行されるまでに、処理単位時間3回分以上4回分より
少ない時間(タイマ値−前回タイマ値)が経過している
ため、ステップ1004においてワークRAM107上
の処理回数(図5)の値が3から−1ずつされながらス
テップ1003で処理回数の値が0になったと判定され
るまで、合計3回のステップ1005〜ステップ102
の乗算係数生成処理が実行される。
【0089】以上のようにして、常に処理単位時間に1
回の割合で乗算係数生成処理が実行されることになる。
ステップ1005〜ステップ1012では、ステップ1
005でワークRAM107上のCHデータ(図5)の
値が1にセットされた後に、ステップ1011でCHデ
ータの値が+1ずつされながら、ステップ1012でC
Hデータの値が8を越えたと判定されるまで、CHデー
タの値として示される各発音チャネル毎に、ステップ1
006〜ステップ1011の乗算係数生成処理が実行さ
れる。
【0090】以下の説明では、CHデータの値として示
される発音チャネルを対象発音チャネルと呼ぶ。まず、
ステップ1006においては、対象発音チャネルの乗算
係数フラグ(図4)が1であるか否かが判定される。乗
算係数フラグの値は、対象発音チャネルのピッチエンベ
ロープステップ(図4)がビブラートを開始すべきステ
ップに到達した時点で、1にセットされる(図9のステ
ップ907)。
【0091】ステップ1006の判定がNOなら、その
対象発音チャネルについては、乗算係数の生成は行う必
要はないため、ステップ1011にジャンプして、次の
発音チャネルに対する処理に制御が移行する。
【0092】ステップ1006の判定YESなら、ステ
ップ1007で、対象発音チャネルの乗算係数現在レベ
ルに対象発音チャネルの乗算係数レート(共に図4)が
加算されることにより、乗算係数現在レベルが更新され
る。この結果、図13(a) に示されるように、乗算係数
現在レベルが時間的に一定の割合で増加してゆく。
【0093】ステップ1008では、対象発音チャネル
の乗算係数現在レベルが対象発音チャネルの乗算係数目
標レベル(共に図4)に達したか否かが判定される。こ
の判定がNOなら、ステップ1011にジャンプして、
次の発音チャネルに対する処理に制御が移行する。
【0094】乗算係数現在レベルが乗算係数目標レベル
に達してステップ1008の判定がYESとなると、ス
テップ1009で、上述の乗算係数現在レベルとして上
述の乗算係数目標レベルが設定される。即ち、乗算係数
現在レベルは、そのレベルが乗算係数目標レベルを越え
ないように制限される。
【0095】ステップ1010では、対象発音チャネル
の乗算係数フラグの値が、乗算係数現在レベルが乗算係
数目標レベルに達し乗算係数レートの加算がストップさ
れた状態を示す値0にリセットされる。
【0096】その後、ステップ1011にジャンプし
て、次の発音チャネルに対する処理に制御が移行する。
このように、乗算係数現在レベルが乗算係数目標レベル
に達すると乗算係数フラグの値が0にリセットされる結
果、それ以降、その対象発音チャネルについてはステッ
プ1006の判定がNOとなるため、乗算係数現在レベ
ルの増加はストップされる。この結果、乗算係数現在レ
ベルの値が乗算係数目標レベルに達した後は、図13に
示されるように、乗算係数現在レベルは一定値を維持す
る。
【0097】以上示したようにして、1つの発音チャネ
ルについてピッチエンベロープステータス(図4)がビ
ブラートオン状態になった後に図6のメインルーチンの
ステップ606で算出されるその発音チャネルについて
の乗算係数現在レベルは、図7のタイマインタラプトル
ーチンの一部(ステップ701〜708)として実行さ
れる図8のステップ807又はステップ811におい
て、ディレイビブラート効果を生成するために使用され
る。
【0098】即ち、図8のピッチエンベロープ処理にお
いて、対象発音チャネルのピッチエンベロープ現在レベ
ルがピッチエンベロープ目標レベル(共に図4)に達し
ておらずステップ804又は805の判定がNOとなっ
た場合、対象発音チャネルのピッチエンベロープ現在レ
ベルがピッチエンベロープ目標レベルに達しステップ8
04又は805の判定がYESとなりステップ809の
処理を経た場合に、ステップ806又は810の判定が
YESとなることにより、ステップ807又は811が
実行される。
【0099】ここでは、次式が計算されることにより、
対象発音チャネルにつき、ピッチエンベロープ現在レベ
ル(図4)のビブラート効果のセンターレベルに対する
変化幅が、乗算係数現在レベル(図4)の値に従って増
幅され、それにビブラート効果のセンターレベルに加算
されることにより、fレベル(図4)が算出される。こ
こで、ビブラート効果のセンターレベルは、現在のピッ
チエンベロープステップがビブラート処理を開始すべき
ステップに等しくなった時点で図9のステップ906で
セットされるビブラート開始時レベルである。 fレベル=(ピッチエンベロープ現在レベル−ビブラー
ト開始時レベル)×乗算係数現在レベル+ビブラート開
始時レベル 上述の演算の結果、図13に示されるように、ビブラー
ト開始ステップ以降でピッチエンベロープステップがル
ープされることにより得られるビブラート効果によるピ
ッチエンベロープ現在レベルの変化幅が、時間的に変化
する乗算係数現在レベルによって変化させられ、それが
fレベルとされることにより、対象発音チャネルに対応
する楽音波形データのピッチにディレイビブラート効果
が付加される。
【0100】以上説明した第1の実施例により、図14
に示されるように、ビブラート開始ステップより前の非
ループステップ区間では、通常のピッチエンベロープ変
化で生成されるピッチエンベロープ現在レベルとしてf
レベルが決定され(図8のステップ808、812)、
楽音波形データのピッチに非周期的変動のピッチエンベ
ロープ効果が付加される。一方、ビブラート開始ステッ
プ以降のループされるステップ区間では、周期Tで変動
するピッチエンベロープ現在レベルと乗算係数現在レベ
ルとから、楽音波形データのピッチに周期的変動のディ
レイビブラート効果が付加される。
【0101】このように、第1の実施例では、特定のピ
ッチエンベロープステップを繰り返すことにより、ピッ
チエンベロープ変化の後半でビブラート効果を発生さ
せ、更に、ビブラートの振幅に時間的に変化する乗算係
数現在レベルを乗算することにより、簡単にディレイビ
ブラート効果を生成することを可能にしている。
【0102】なお、データROM108に記憶されるピ
ッチエンベロープ波形データにおいて、ビブラート開始
ステップがラストステップ以上の値に設定されていれ
ば、実質的にビブラート効果が発生されない。この場合
には、図9のステップ902で対象発音チャネルのピッ
チエンベロープステップが対象発音チャネルのビブラー
ト開始ステップ−1に等しいと判定される前に、ステッ
プ901で、対象発音チャネルのピッチエンベロープス
テップが対象発音チャネルのラストステップに等しいと
判定される結果、ステップ908の判定がNOとなっ
て、ステップ909が実行され、対象発音チャネルのピ
ッチエンベロープステータスとして、ストップ状態を示
す値00が設定される。この結果、ピッチエンベロープ
効果の付加は停止される。第2の実施例 次に、本発明の第2の実施例につき説明する。
【0103】第2の実施例の動作が第1の実施例と異な
る点は、第1の実施例では、ビブラート開始ステップ以
降のループされるステップ区間におけるfレベルの値
が、図13又は図14に示されるように時間経過と共に
ほぼ連続的に変化する乗算係数現在レベルに従って変化
させられるのに対して、第2の実施例では、ビブラート
開始ステップ以降のループされるステップ区間における
fレベルの値が、図18に示されるように、1ループ毎
に階段状に変化する周期毎乗算係数に従って変化させら
れる点である。 <第2の実施例の構成の説明>第2の実施例の全体構成
は、第1の実施例の場合と同様、図1で示される。 <第2の実施例で用いられる各種データの構成の説明>
データROM108に記憶される音色データ及びピッチ
エンベロープ波形データの構成は、第1の実施例の場合
と同様、図2及び図3で示される。
【0104】図15は、ワークRAM107に記憶され
る発音チャネルデータの構成図である。図15の構成
が、第1の実施例に関する図4の構成と異なる点は、発
音チャネル毎に、図4の構成に、更に周期毎乗算係数と
いうデータが追加される点である。 <第2の実施例の動作の説明>上述の構成を有する第2
の実施例の動作につき、以下に順次説明する。
【0105】まず、メインルーチンの動作フローチャー
ト及びタイマインタラプトルーチンの全体動作フローチ
ャートは、第1の実施例の場合と同様、図6及び図7で
示される。
【0106】図16は、第2の実施例において、図7の
ステップ701〜708の共通のピッチエンベロープ処
理を示す動作フローチャートであり、第1の実施例にお
ける図8の動作フローチャートに対応している。
【0107】以下の説明で、「対象発音チャネル」と
は、現在ピッチエンベロープ処理が実行されている発音
チャネルを示すものとする。まず、ステップ1601
で、対象発音チャネルのピッチエンベロープステータス
(図15)の状態が判定される。
【0108】このステータスがストップ状態を示してい
る場合には、ピッチエンベロープ処理は実行されず、即
座に図16のピッチエンベロープ処理を終了する。一
方、ピッチエンベロープステータスがノーマル状態又は
ビブラートオン状態を示している場合には、ステップ1
602において、対象発音チャネルのピッチエンベロー
プ現在レベルに対象発音チャネルのピッチエンベロープ
レート(共に図15)が加算されることにより、対象発
音チャネルのピッチエンベロープ現在レベルが更新され
る。
【0109】ステップ1603においては、対象発音チ
ャネルのピッチエンベロープレート(図15)の最上位
ビット(MSB)が0であるか否か、即ち、ピッチエン
ベロープレートが正の値であるか否か、更に換言する
と、現在ピッチエンベロープの変化が増加方向であるか
減少方向であるかが判定される。
【0110】ピッチエンベロープの変化が増加方向であ
ってステップ1603の判定がYESの場合には、ステ
ップ1604で、対象発音チャネルのピッチエンベロー
プ現在レベルが対象発音チャネルのピッチエンベロープ
目標レベル(共に図15)以上となったか否かが判定さ
れる。逆に、ピッチエンベロープの変化が減少方向であ
ってステップ1603の判定がYESの場合には、ステ
ップ1605で、対象発音チャネルのピッチエンベロー
プ現在レベルが対象発音チャネルのピッチエンベロープ
目標レベル以下となったか否かが判定される。
【0111】ステップ1604又は1605の判定がN
Oの場合、即ち、ピッチエンベロープ現在レベルがピッ
チエンベロープ目標レベルに未だ到達していない場合
は、ステップ1608で、対象発音チャネルのfレベル
として、対象発音チャネルのピッチエンベロープ現在レ
ベル(共に図15)の値が設定される。
【0112】このようにして、タイマインタラプトが発
生する毎に、対象発音チャネルのピッチエンベロープ現
在レベルの値=fレベル(図15)が順次更新され、前
述したように、図7のステップ709で、このfレベル
がノートピッチに加算されることにより、対象発音チャ
ネルに対応する新たなピッチデータが生成され、それが
CPU101から楽音発生回路110に出力される。楽
音発生回路110は、これにより、データROM108
から読み出している対象発音チャネルに対応する楽音波
形データの歩進幅を更新することにより、それに対応し
て発音される楽音のピッチを変化させる。
【0113】次に、ステップ1604又は1605の判
定がYESの場合、即ち、対象発音チャネルのピッチエ
ンベロープ現在レベルが対象発音チャネルのピッチエン
ベロープ目標レベルに到達した場合は、ステップ160
6で、対象発音チャネルのピッチエンベロープ現在レベ
ルとして対象発音チャネルのピッチエンベロープ目標レ
ベル(共に図15)が設定される。即ち、ピッチエンベ
ロープ現在レベルは、そのレベルがピッチエンベロープ
目標レベルを越えないように制限される。
【0114】次に、ステップ1607で、次ピッチエン
ベロープセット処理が実行される。ここでは、第1の実
施例の場合と同様の図11に示されるように、ピッチエ
ンベロープ現在レベルが現在のピッチエンベロープステ
ップ(初期値は0)に対応するピッチエンベロープ目標
レベルに達したら、その目標レベルに対応する現在のピ
ッチエンベロープステップがビブラート処理を開始すべ
きステップに等しくなったか否か(図11参照)の判定
と、現在のピッチエンベロープステップを更新し、ピッ
チエンベロープレートとピッチエンベロープ目標レベル
を新たなステップに対応するものに変更する処理などが
実行される。ここで、第2の実施例に特有の動作とし
て、ビブラート処理が開始された以降は、ピッチエンベ
ロープ目標レベルとピッチエンベロープレートは、デー
タROM108に元々記憶されている目標レベル及びレ
ートが、ビブラートの1周期が経過する毎にその経過時
点での乗算係数現在レベルが設定される周期毎乗算係数
に応じた割合で変化させられた値が設定される。
【0115】図17に、図16のステップ1607の次
ピッチエンベロープセット処理の動作フローチャートを
示す。この動作フローチャートは、第1の実施例に関す
る図9の動作フローチャートに対応する。
【0116】まず、ステップ1701では、対象発音チ
ャネルのピッチエンベロープステップが、対象発音チャ
ネルのラストステップ(共に図15)に等しいか否かが
判定される。図11の例では、ラストステップの値は7
である。
【0117】ステップ1701の判定がNOなら、ステ
ップ1702で、上述のピッチエンベロープステップ
が、対象発音チャネルのビブラート開始ステップ(図1
5)の値から1だけ減算した値に等しいか否かが判定さ
れる。図11の例では、ビブラート開始ステップ−1の
値は4である。
【0118】ステップ1702の判定がNOなら、ステ
ップ1703で、対象発音チャネルのピッチエンベロー
プステップ(図15)が+1される。ステップ1704
では、対象発音チャネルのピッチエンベロープステータ
スがビブラートオン状態であるか否かが判定される。
【0119】始めは、ピッチエンベロープステータスは
ノーマル状態であるため(図6のステップ605の説明
を参照)、ステップ1704の判定はNOとなる。この
結果、ステップ1705で、ステップ1703で更新さ
れた対象発音チャネルのピッチエンベロープステップ
(図15)により示される新たなステップに対応するピ
ッチエンベロープ目標レベルとピッチエンベロープレー
トが、データROM108中の対象発音チャネルに対応
するピッチエンベロープ波形データ(図3)から読み出
され、それらが対象発音チャネルのピッチエンベロープ
目標レベルとピッチエンベロープレート(共に図15)
としてセットされる。対象発音チャネルのピッチエンベ
ロープ波形データは、前述したように、対象発音チャネ
ルに設定されている特には図示しない音色ナンバと使用
波形ナンバにより指定される音色内のピッチエンベロー
プ波形ナンバ(図2)によって特定される。
【0120】以上の動作の後、制御が図16のピッチエ
ンベロープ処理に戻り、ステップ1608が実行された
後に図16のピッチエンベロープ処理を終了して、制御
が図7のタイマインタラプトルーチンに戻る。
【0121】対象発音チャネルのピッチエンベロープス
テップが対象発音チャネルのビブラート開始ステップ−
1に等しくなりステップ1702の判定がYESとなる
と、ステップ1707〜1710の処理が実行される。
【0122】まず、ステップ1707では、対象発音チ
ャネルのピッチエンベロープステータス(図15)が、
ディレイビブラート効果が付加されている状態を示すビ
ブラートオン状態に設定される。
【0123】次に、ステップ1708においては、対象
発音チャネルのビブラート開始時レベルとして、対象発
音チャネルのピッチエンベロープ目標レベル(共に図1
5)が設定される。図11の例では、ピッチエンベロー
プステップは4であるため、ビブラート開始時レベルと
してピッチエンベロープ目標レベル=L4(=L7)が
設定される。これが、ピッチにビブラート変化が付加さ
れる場合のセンターレベルとなる。
【0124】ステップ1709では、乗算係数フラグと
して、乗算係数レートを加算中の状態であることを示す
値1に設定される。更に、ステップ1710では、対象
発音チャネルの周期毎乗算係数として対象発音チャネル
の乗算係数現在レベル(図15参照)が設定される。
【0125】続いて、ステップ1703で対象発音チャ
ネルのピッチエンベロープステータスが更新された後、
ステップ1704で対象発音チャネルのピッチエンベロ
ープステータスがビブラートオン状態であると判定さ
れ、ステップ1706が実行される。
【0126】ステップ1706ではまず、ステップ17
03で更新された対象発音チャネルのピッチエンベロー
プステップ(図15)によって示される新たなステップ
に対応するピッチエンベロープ目標レベルとピッチエン
ベロープレートが、データROM108中の対象発音チ
ャネルに対応するピッチエンベロープ波形データ(図
3)から読み出される。
【0127】次に、次式が計算されることにより、対象
発音チャネルにつき、上述のデータROM108から読
み出されたピッチエンベロープ目標レベルのビブラート
効果のセンターレベルに対する変化幅が、周期毎乗算係
数(図15)の値に従って増幅され、それにビブラート
効果のセンターレベルに加算されることにより、対象発
音チャネルの新たなピッチエンベロープ目標レベルが算
出される。 対象発音チャネルのピッチエンベロープ目標レベル=
(データROM108から読み出されたピッチエンベロ
ープ目標レベル−ビブラート開始時レベル)×周期毎乗
算係数+ビブラート開始時レベル ここで、ビブラート効果のセンターレベルは、現在のピ
ッチエンベロープステップがビブラート処理を開始すべ
きステップに等しくなった時点で図17のステップ17
08でセットされるビブラート開始時レベルである。
【0128】また、次式が計算されることによって、対
象発音チャネルにつき、上述のデータROM108から
読み出されたピッチエンベロープレートが、周期毎乗算
係数(図15)の値に従って増幅されることにより、対
象発音チャネルの新たなピッチエンベロープレートが算
出される。 対象発音チャネルのピッチエンベロープレート=データ
ROM108から読み出されたピッチエンベロープレー
ト×周期毎乗算係数 以上の動作の後、制御が図16のピッチエンベロープ処
理に戻り、ステップ1608が実行された後に図16の
ピッチエンベロープ処理を終了して、制御が図7のタイ
マインタラプトルーチンに戻る。
【0129】上述のステップ1706は、対象発音チャ
ネルのピッチエンベロープステータスがビブラートオン
状態になった後に、図7のタイマインタラプトルーチン
が一定時間毎に繰り返され、発音チャネル毎に図16の
ピッチエンベロープ処理と図17の次ピッチエンベロー
プセット処理が繰り返される毎に、実行される。この場
合、対象発音チャネルの周期毎乗算係数(図15)の値
は、対象発音チャネルのピッチエンベロープステップが
対象発音チャネルのラストステップ(共に図15)に等
しくなった時点においてのみ、即ち、ビブラートの1周
期が終了した時点においてのみ、ステップ1701、1
711、及び1712を介して実行されるステップ17
10によって、その時点における乗算係数現在レベル
(図15)の値によって更新される。なお、乗算係数現
在レベルは、第1の実施例の場合と同様にして、図6の
メインルーチンのステップ606の乗算係数生成処理
(図10)によって、連続的に更新されている。
【0130】従って、図18に示されるように、ピッチ
エンベロープステップの繰り返しによりピッチエンベロ
ープ現在レベル=fレベルとして生成されるビブラート
波形は、ビブラートの周期が進む毎に、階段状に変化す
ることになる。
【0131】図17のステップ1712及び1713の
動作は、第1の実施例に関する図9のステップ910と
909の場合と同様である。第3の実施例 次に、本発明の第3の実施例につき説明する。
【0132】第3の実施例の動作が第1及び第2の実施
例の動作と異なる点は、第1及び第2の実施例では、ビ
ブラートが開始されるべき時点以降は、ビブラート開始
ステップからラストステップまでのピッチエンベロープ
ステップが繰り返されることにより、ビブラート効果が
生成されていたのに対して、第3の実施例では、ビブラ
ートが開始されるべき時点以降は、一種のLFO(低周
波発振器)を用いて、図14に示されるように、ビブラ
ート効果が生成される点である。 <第3の実施例の構成の説明>第3の実施例の全体構成
は、第1の実施例の場合と同様、図1で示される。 <第3の実施例で用いられる各種データの構成の説明>
データROM108に記憶される音色データの構成は、
第1の実施例の場合と同様、図2で示される。
【0133】図19は、ワークRAM107に記憶され
るピッチエンベロープ波形データの構成図である。図1
9の構成が、第1及び第2の実施例に関する図3の構成
と異なる点は、ピッチエンベロープ波形毎に、図3の構
成に、更に、ビブラート1/4周期レート加算回数と、
基準ビブラートレートという2つのデータが追加される
点である。
【0134】図20は、ワークRAM107に記憶され
る発音チャネルデータの構成図である。図20の構成
が、第1の実施例に関する図4の構成と異なる点は、発
音チャネル毎に、図4の構成からビブラート開始時レベ
ルが削除され、ビブラートレート、ビブラート1/4周
期レート加算回数、加減算回数カウンタ、1/4周期カ
ウンタ、及び基準ビブラートレートというデータが追加
される点である。 <第3の実施例の動作の説明>上述の構成を有する第3
の実施例の動作につき、以下に順次説明する。
【0135】まず、メインルーチンの動作フローチャー
ト及びタイマインタラプトルーチンの全体動作フローチ
ャートは、第1の実施例の場合と同様、図6及び図7で
示される。
【0136】なお、図6のメインルーチンのステップ6
05において、ワークRAM107上の発音開始の対象
となる発音チャネル領域に、第1の実施例において説明
したデータのほかに、ビブラート1/4周期レート加算
回数及び基準ビブラートレートとして、データROM1
08中の対象発音チャネルに対応するピッチエンベロー
プ波形データ中のビブラート1/4周期レート加算回数
及び基準ビブラートレート(図19)がそれぞれ読み出
されて設定される。なお、対象となる発音チャネルのピ
ッチエンベロープ波形データは、その発音チャネルに設
定される特には図示しない音色ナンバと使用波形ナンバ
によって指定される音色内のピッチエンベロープ波形ナ
ンバ(図2)によって特定される。
【0137】図21は、第3の実施例において、図7の
ステップ701〜708の共通のピッチエンベロープ処
理を示す動作フローチャートであり、第1の実施例にお
ける図8の動作フローチャートに対応している。
【0138】以下の説明で、「対象発音チャネル」と
は、現在ピッチエンベロープ処理が実行されている発音
チャネルを示すものとする。まず、ステップ2101
で、対象発音チャネルのピッチエンベロープステータス
(図20)の状態が判定される。
【0139】このステータスがストップ状態を示してい
る場合には、ピッチエンベロープ処理は実行されず、即
座に図21のピッチエンベロープ処理を終了する。一
方、ピッチエンベロープステータスがノーマル状態又は
ビブラートオン状態を示している場合には、ステップ2
103において、対象発音チャネルのピッチエンベロー
プ現在レベルに対象発音チャネルのピッチエンベロープ
レート(共に図20)が加算されることにより、対象発
音チャネルのピッチエンベロープ現在レベルが更新され
る。
【0140】ステップ2103では、対象発音チャネル
のピッチエンベロープステータスがビブラートオン状態
であるか否かが判定される。始めは、ピッチエンベロー
プステータスはノーマル状態であるため(図6のステッ
プ605の説明を参照)、ステップ2104の判定はN
Oとなる。
【0141】ステップ2104においては、対象発音チ
ャネルのピッチエンベロープレート(図20)の最上位
ビット(MSB)が0であるか否か、即ち、ピッチエン
ベロープレートが正の値であるか否か、更に換言する
と、現在ピッチエンベロープの変化が増加方向であるか
減少方向であるかが判定される。
【0142】ピッチエンベロープの変化が増加方向であ
ってステップ2104の判定がYESの場合には、ステ
ップ2105で、対象発音チャネルのピッチエンベロー
プ現在レベルが対象発音チャネルのピッチエンベロープ
目標レベル(共に図20)以上となったか否かが判定さ
れる。逆に、ピッチエンベロープの変化が減少方向であ
ってステップ2104の判定がYESの場合には、ステ
ップ2106で、対象発音チャネルのピッチエンベロー
プ現在レベルが対象発音チャネルのピッチエンベロープ
目標レベル以下となったか否かが判定される。
【0143】ステップ2105又は2106の判定がN
Oの場合、即ち、ピッチエンベロープ現在レベルがピッ
チエンベロープ目標レベルに未だ到達していない場合
は、ステップ2109で、対象発音チャネルのfレベル
として、対象発音チャネルのピッチエンベロープ現在レ
ベル(共に図20)の値が設定される。
【0144】このようにして、タイマインタラプトが発
生する毎に、対象発音チャネルのピッチエンベロープ現
在レベルの値=fレベル(図20)が順次更新され、前
述のように、図7のステップ709で、このfレベルが
ノートピッチに加算されることによって、対象発音チャ
ネルに対応する新たなピッチデータが生成され、それが
CPU101から楽音発生回路110に出力される。楽
音発生回路110は、これにより、データROM108
から読み出している対象発音チャネルに対応する楽音波
形データの歩進幅を更新することにより、それに対応し
て発音される楽音のピッチを変化させる。
【0145】次に、ステップ2105又は2106の判
定がYESの場合、即ち、対象発音チャネルのピッチエ
ンベロープ現在レベルが対象発音チャネルのピッチエン
ベロープ目標レベルに到達した場合は、ステップ210
7で、対象発音チャネルのピッチエンベロープ現在レベ
ルとして対象発音チャネルのピッチエンベロープ目標レ
ベル(共に図20)が設定される。即ち、ピッチエンベ
ロープ現在レベルは、そのレベルがピッチエンベロープ
目標レベルを越えないように制限される。
【0146】次に、ステップ2108で、次ピッチエン
ベロープセット処理が実行される。ここでは、図24に
示されるように、ピッチエンベロープステップがビブラ
ートを開始すべきステップに達するまでは、ピッチエン
ベロープ現在レベルが現在のピッチエンベロープステッ
プ(初期値は0)に対応するピッチエンベロープ目標レ
ベルに達すると、その目標レベルに対応する現在のピッ
チエンベロープステップがビブラート処理を開始すべき
ステップに等しくなったか否かの判定と、現在のピッチ
エンベロープステップを更新し、ピッチエンベロープレ
ートとピッチエンベロープ目標レベルを新たなステップ
に対応するものに変更する処理などが実行される。ここ
で、第3の実施例に特有の動作として、ビブラート処理
を開始すべき時点が認識されると、それ以降はピッチエ
ンベロープ効果を生成する処理を中止させ、ビブラート
効果を生成させるための制御処理が実行される。
【0147】図22に、図21のステップ2108の次
ピッチエンベロープセット処理の動作フローチャートを
示す。この動作フローチャートは、第1の実施例に関す
る図9の動作フローチャートに対応する。
【0148】まず、ステップ2101では、対象発音チ
ャネルのピッチエンベロープステップが、対象発音チャ
ネルのラストステップ(共に図4)に等しいか否かが判
定される。
【0149】データROM108に記憶される図19に
示されるピッチエンベロープ波形データにおいて、ビブ
ラート開始ステップがラストステップ以上の値に設定さ
れているならば、第1の実施例の場合と同様に、実質的
にビブラート効果が発生されない。この場合には、図2
2のステップ2202で対象発音チャネルのピッチエン
ベロープステップが対象発音チャネルのビブラート開始
ステップ−1に等しいと判定される前に、ステップ22
01で、対象発音チャネルのピッチエンベロープステッ
プが対象発音チャネルのラストステップに等しいと判定
される結果、ステップ2209が実行され、対象発音チ
ャネルのピッチエンベロープステータスとして、ストッ
プ状態を示す値00が設定される。この結果、ピッチエ
ンベロープ効果及びビブラート効果の付加は停止され
る。
【0150】ステップ2209の実行の後は、図21の
ピッチエンベロープ処理に制御が戻り、ステップ210
9が実行された後に図21のピッチエンベロープ処理を
終了し、図7のタイマインタラプトルーチンに制御が戻
る。
【0151】ステップ2201の判定がNOなら、ステ
ップ2202で、対象発音チャネルのピッチエンベロー
プステップが、対象発音チャネルのビブラート開始ステ
ップ(共に図20)の値から1だけ減算した値に等しい
か否かが判定される。図24の例では、ビブラート開始
ステップ−1の値は4である。
【0152】ステップ2202の判定がNOなら、ステ
ップ2203で、対象発音チャネルのピッチエンベロー
プステップ(図20)が+1される。ステップ2204
で、ステップ2203で更新された対象発音チャネルの
ピッチエンベロープステップ(図20)により示される
新たなステップに対応するピッチエンベロープ目標レベ
ルとピッチエンベロープレートが、データROM108
中の対象発音チャネルに対応するピッチエンベロープ波
形データ(図19)から読み出され、それらが対象発音
チャネルのピッチエンベロープ目標レベルとピッチエン
ベロープレート(共に図20)としてセットされる。対
象発音チャネルのピッチエンベロープ波形データは、前
述したように、対象発音チャネルに設定されている特に
は図示しない音色ナンバと使用波形ナンバにより指定さ
れる音色内のピッチエンベロープ波形ナンバ(図2)に
よって特定される。
【0153】以上の動作の後、制御が図21のピッチエ
ンベロープ処理に戻り、ステップ2109が実行された
後に図21のピッチエンベロープ処理を終了して、制御
が図7のタイマインタラプトルーチンに戻る。
【0154】対象発音チャネルのピッチエンベロープス
テップが対象発音チャネルのビブラート開始ステップ−
1に等しくなりステップ2202の判定がYESとなる
と、ステップ2205〜2208の処理が実行される。
【0155】まず、ステップ2205では、対象発音チ
ャネルのピッチエンベロープステータス(図20)が、
ディレイビブラート効果が付加されている状態を示すビ
ブラートオン状態に設定される。
【0156】ステップ2206では、乗算係数フラグと
して、乗算係数レートを加算中の状態であることを示す
値1に設定される。ステップ2207では、対象発音チ
ャネルのビブラートレート(図20)として、対象発音
チャネルの基準ビブラートレートに対象発音チャネルの
乗算係数現在レベル(共に図20)を乗算した値が設定
される。このビブラートレートは、後述する図21のス
テップ2110で実行されるビブラート生成処理により
生成されるビブラート波形の変化幅を決定するデータで
ある。
【0157】ステップ2208では、対象発音チャネル
の1/4周期カウンタ(図20)がクリアされる。この
カウンタについては後述する。以上の動作の後、制御が
図21のピッチエンベロープ処理に戻り、ステップ21
09が実行された後に図21のピッチエンベロープ処理
を終了して、制御が図7のタイマインタラプトルーチン
に戻る。
【0158】以上のようにして、対象発音チャネルのピ
ッチエンベロープステータスがビブラートオン状態にな
った後に、図7のタイマインタラプトルーチンが一定時
間毎に繰り返され、発音チャネル毎に図21のピッチエ
ンベロープ処理が実行された場合、ステップ2102の
判定がYESとなる。従って、これ以降は、ピッチエン
ベロープ処理は停止し、代りにステップ2110のビブ
ラート生成処理が実行されるようになる。
【0159】図23は、図21のステップ2110のビ
ブラート生成処理を示す動作フローチャートである。ま
ず、ステップ2301では、対象発音チャネルの1/4
周期カウンタの値が判定される。1/4周期カウンタ
は、図24に示されるように、ビブラート波形の1周期
を4分割した場合の各分割位置を、0〜3の値によって
示すカウンタである。
【0160】1/4周期カウンタの値が0又は3の場合
には、図24に示されるように、生成されるべきビブラ
ート波形の変化方向は正である。従って、この場合に
は、ステップ2302で、対象発音チャネルのピッチエ
ンベロープ現在レベルに対象発音チャネルのビブラート
レート(共に図20)が加算される。
【0161】一方、1/4周期カウンタの値が1又は2
の場合には、図24に示されるように、生成されるべき
ビブラート波形の変化方向は負である。従って、この場
合には、ステップ2303で、対象発音チャネルのピッ
チエンベロープ現在レベルから対象発音チャネルのビブ
ラートレート(共に図20)が減算される。
【0162】ステップ2302又は2303の処理の後
は、ステップ2304で、対象発音チャネルのfレベル
として、対象発音チャネルのピッチエンベロープ現在レ
ベル(共に図20)の値が設定される。このfレベル
が、図7のステップ709でノートピッチに加算される
ことにより、対象発音チャネルに対応する新たなピッチ
データが生成され、楽音にビブラート効果が付加される
ことになる。
【0163】ステップ2305では、対象発音チャネル
の加減算回数カウンタの値が+1され、ステップ230
6では、この加減算回数カウンタの値が、対象発音チャ
ネルのビブラート1/4周期レート加算回数に等しくな
ったか否かが判定される。ビブラート波形の生成におい
ては、1/4周期毎に、対象発音チャネルのビブラート
1/4周期レート加算回数の分だけ、ビブラートレート
がピッチエンベロープ現在レベルに加算される。加減算
回数カウンタは、この回数をカウントしているのであ
る。
【0164】ステップ2306の判定がNOなら、図2
3のビブラート生成処理を終了して制御が図21のピッ
チエンベロープ処理に戻り、そのままピッチエンベロー
プ処理を終了して制御が図7のタイマインタラプトルー
チンに戻る。
【0165】ステップ2306の判定がYESとなる
と、次の1/4周期に対する動作を実行するために、ま
ず、ステップ2307で、対象発音チャネルの1/4周
期カウンタの値が+1される。
【0166】次に、ステップ2308で、1/4周期カ
ウンタの値が4になったか否か、即ち、ビブラート波形
の1周期が終了したか否かが判定される。ステップ23
08の判定がNOならば、図23のビブラート生成処理
を終了して制御が図21のピッチエンベロープ処理に戻
り、そのままピッチエンベロープ処理を終了して制御が
図7のタイマインタラプトルーチンに戻る。
【0167】ステップ2308の判定がYESとなる
と、まず、ステップ2309で、1/4周期カウンタが
クリアされて、ビブラート波形の周期の先頭に戻され
る。そして、ステップ2310で、対象発音チャネルの
ビブラートレート(図20)として、対象発音チャネル
の基準ビブラートレートに対象発音チャネルの現在の乗
算係数現在レベル(共に図20)を乗算した値が設定さ
れる。即ち、ビブラート波形の変化幅を決定するための
ビブラートレートは、ビブラート波形の1周期分の生成
が終了する毎に、図6のメインルーチンのステップ60
6の乗算係数生成処理(図10)によって連続的に更新
されている乗算係数現在レベルに対応する値に変更され
る。この結果、第2の実施例に関する図18の場合と同
様に、ビブラートレートの一定回数ずつの加減算により
ピッチエンベロープ現在レベル=fレベルとして生成さ
れるビブラート波形は、ビブラートの周期が進む毎に、
階段状に変化することになる。
【0168】ステップ2310の処理の後は、図23の
ビブラート生成処理を終了して制御が図21のピッチエ
ンベロープ処理に戻り、そのままピッチエンベロープ処
理を終了して制御が図7のタイマインタラプトルーチン
に戻る。
【0169】
【発明の効果】本発明によれば、周期性なく変化する周
波数データを発生させることができると共に、その周波
数データ発生手段で使用される所定のステップをループ
させるだけで、又はLFO(低周波発振器)などの周期
的周波数データ発生手段によって、周期性をもって変化
する周波数データを簡単に発生させることができる。こ
の結果、例えば電子楽器で発音される楽音のピッチを、
周期性のないピッチエンベロープ変化から周期性のある
ビブラート変化へ、ダイナミックに変化させることが可
能となる。
【0170】また、乗算係数を演算するような簡単な周
波数データ振幅包絡変化手段によって、周波数データの
振幅の包絡が時間的に変化するように、周波数データの
値を変化させることにより、例えば電子楽器で発音され
る楽音のピッチを、周期性のないピッチエンベロープ変
化からディレイビブラート変化へ、ダイナミックに変化
させることが可能となる。
【0171】更に、周波数データの振幅の包絡がその周
波数データの振幅の繰り返し周期毎(ビブラート周期
毎)に変化するように制御されることにより、楽音のピ
ッチ変化などに特異な音響効果を付加することなどが可
能となる。
【図面の簡単な説明】
【図1】本発明の実施例の全体構成図(第1〜第3実施
例)である。
【図2】データROM108に記憶される音色データの
構成図(第1〜第3実施例)である。
【図3】データROM108に記憶されるピッチエンベ
ロープ波形データの構成図(第1、第2実施例)であ
る。
【図4】ワークRAM107に記憶される発音チャネル
データの構成図(第1実施例)である。
【図5】ワークRAM107に記憶される乗算係数生成
制御データの構成図(第1〜第3実施例)である。
【図6】メインルーチンを示す動作フローチャート(第
1〜第3実施例)である。
【図7】タイマインタラプトルーチンを示す動作フロー
チャート(第1〜第3実施例)である。
【図8】ピッチエンベロープ処理を示す動作フローチャ
ート(第1実施例)である。
【図9】次ピッチエンベロープセット処理を示す動作フ
ローチャート(第1実施例)である。
【図10】乗算係数生成処理を示す動作フローチャート
(第1〜第3実施例)である。
【図11】ピッチエンベロープの説明図(第1、第2実
施例)である。
【図12】乗算係数生成処理の処理回数の説明図(第1
〜第3実施例)である。
【図13】乗算係数とfレベルとの関係を示した図(第
1実施例)である。
【図14】fレベルの変化を示した図(第1実施例)で
ある。
【図15】ワークRAM107に記憶される発音チャネ
ルデータの構成図(第2実施例)である。
【図16】ピッチエンベロープ処理を示す動作フローチ
ャート(第2実施例)である。
【図17】次ピッチエンベロープセット処理を示す動作
フローチャート(第2実施例)である。
【図18】ピッチエンベロープ現在レベル(=fレベ
ル)と周期毎乗算係数の関係を示した図(第2実施例)
である。
【図19】データROM108に記憶されるピッチエン
ベロープ波形データの構成図(第3実施例)である。
【図20】ワークRAM107に記憶される発音チャネ
ルデータの構成図(第3実施例)である。
【図21】ピッチエンベロープ処理を示す動作フローチ
ャート(第3実施例)である。
【図22】次ピッチエンベロープセット処理を示す動作
フローチャート(第3実施例)である。
【図23】ビブラート生成処理を示す動作フローチャー
ト(第3実施例)である。
【図24】ピッチエンベロープとビブラートの説明図
(第3実施例)である。
【符号の説明】
101 CPU 102 鍵盤部 103 押鍵検出回路 104 スイッチ部 105 スイッチ状態検出回路 106 プログラムROM 107 ワークRAM 108 データROM 109 タイマ部 110 楽音発生回路 111 D/A変換器 112 アンプ 113 スピーカ 114 MIDIデータ入力部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 所定の時間変化率で所定の目標レベルに
    向かって変化する周波数データを発生させる動作を、複
    数の前記所定の変化率と前記所定の目標レベルの組合せ
    として定義される複数のステップに対応させて連続的に
    実行する周波数データ発生手段と、 前記複数のステップのうちの所定の1つ以上の連続する
    ステップ区間をループさせ、該ループさせられたステッ
    プ区間で前記周波数データの発生動作を繰り返し実行さ
    せるステップループ化手段と、 を有する周波数データ生成装置。
  2. 【請求項2】 前記ステップループ化手段によって発生
    される前記周波数データの振幅の包絡が時間的に変化す
    るように、前記周波数データの値を変化させる周波数デ
    ータ振幅包絡変化手段を更に有する、 ことを特徴とする請求項1に記載の周波数データ生成装
    置。
  3. 【請求項3】 所定の時間変化率で所定の目標レベルに
    向かって変化する周波数データを発生させる動作を、複
    数の前記所定の変化率と前記所定の目標レベルの組合せ
    として定義される複数のステップに対応させて連続的に
    実行する周波数データ発生手段と、 前記複数のステップのうちの所定のステップに対応する
    前記周波数データの発生動作が実行された以降は、周期
    的に変化する前記周波数データを発生させる周期的周波
    数データ発生手段と、 を有する周波数データ生成装置。
  4. 【請求項4】 前記周期的周波数データ発生手段によっ
    て発生される前記周波数データの振幅の包絡が時間的に
    変化するように、前記周波数データの値を変化させる周
    波数データ振幅包絡変化手段を更に有する、 ことを特徴とする請求項3に記載の周波数データ生成装
    置。
  5. 【請求項5】 前記周波数データ振幅包絡変化手段は、
    前記周波数データの振幅の包絡が該周波数データの振幅
    の繰り返し周期毎に変化するように、前記周波数データ
    の値を変化させる、ことを特徴とする請求項2又は4の
    何れか1項に記載の周波数データ生成装置。
JP5337895A 1993-12-28 1993-12-28 周波数データ生成装置 Withdrawn JPH07199931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5337895A JPH07199931A (ja) 1993-12-28 1993-12-28 周波数データ生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5337895A JPH07199931A (ja) 1993-12-28 1993-12-28 周波数データ生成装置

Publications (1)

Publication Number Publication Date
JPH07199931A true JPH07199931A (ja) 1995-08-04

Family

ID=18313015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5337895A Withdrawn JPH07199931A (ja) 1993-12-28 1993-12-28 周波数データ生成装置

Country Status (1)

Country Link
JP (1) JPH07199931A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10116088A (ja) * 1996-10-14 1998-05-06 Roland Corp 効果付与装置
JP2018055120A (ja) * 2017-11-27 2018-04-05 カシオ計算機株式会社 効果付与装置、効果付与方法、プログラムおよび電子楽器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10116088A (ja) * 1996-10-14 1998-05-06 Roland Corp 効果付与装置
JP2018055120A (ja) * 2017-11-27 2018-04-05 カシオ計算機株式会社 効果付与装置、効果付与方法、プログラムおよび電子楽器

Similar Documents

Publication Publication Date Title
JP7176548B2 (ja) 電子楽器、電子楽器の発音方法、及びプログラム
CN115909999A (zh) 电子设备、电子设备的发音指示方法及存储介质
JP2009251261A (ja) 電子楽器
US6750390B2 (en) Automatic performing apparatus and electronic instrument
JP2636640B2 (ja) 自動伴奏装置
JPH07199931A (ja) 周波数データ生成装置
JP3844286B2 (ja) 電子楽器の自動伴奏装置
JPH03242697A (ja) 電子楽器
JPH06186973A (ja) ピッチ検出装置
US5434348A (en) Electronic keyboard instrument
US5777250A (en) Electronic musical instrument with semi-automatic playing function
JP2504260B2 (ja) 楽音周波数情報発生装置
JPH096351A (ja) 電子弦楽器
JP2007279490A (ja) 電子楽器
JP3583575B2 (ja) 電子楽器
JPH0464073B2 (ja)
JP3047431B2 (ja) 電子楽器
JP3706371B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3203734B2 (ja) 演奏支援装置
JP3042183B2 (ja) 電子楽器
JPH10133663A (ja) 電子楽器
JP2606459B2 (ja) 電子楽器のタッチレスポンス装置
JPH0480796A (ja) 電子楽器
JPH0926787A (ja) 音色制御装置
JP2629564B2 (ja) 和音検出装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306