JPH09179558A - 楽音生成方法 - Google Patents

楽音生成方法

Info

Publication number
JPH09179558A
JPH09179558A JP7349045A JP34904595A JPH09179558A JP H09179558 A JPH09179558 A JP H09179558A JP 7349045 A JP7349045 A JP 7349045A JP 34904595 A JP34904595 A JP 34904595A JP H09179558 A JPH09179558 A JP H09179558A
Authority
JP
Japan
Prior art keywords
waveform
envelope
data
processing
tone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7349045A
Other languages
English (en)
Other versions
JP3097534B2 (ja
Inventor
Satoru Kamiya
了 神谷
Yoshihiro Mukoujima
祐弘 向嶋
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=18401123&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH09179558(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP07349045A priority Critical patent/JP3097534B2/ja
Priority to TW085100249A priority patent/TW382117B/zh
Priority to US08/770,356 priority patent/US5895879A/en
Publication of JPH09179558A publication Critical patent/JPH09179558A/ja
Application granted granted Critical
Publication of JP3097534B2 publication Critical patent/JP3097534B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • G10H1/057Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits
    • G10H1/0575Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits using a data store from which the envelope is synthesized
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/551Waveform approximation, e.g. piecewise approximation of sinusoidal or complex waveforms
    • G10H2250/555Piecewise linear waveform approximation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 楽音生成演算に要するCPUの負荷を軽減す
る。 【解決手段】 振幅EGまたはフィルタEGのエンベロ
ープ計算をするときに、エンベロープを数ミリ秒〜数1
0ミリ秒の長さの折れ線で近似して、各サンプリングタ
イミングにおけるエンベロープを算出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、CPUやDSP
(Digital Signal Processor)などのプログラマブルな
演算処理装置を用いて演算により楽音波形サンプルを生
成する楽音生成方法に関する。
【0002】
【従来の技術】従来より、CPUやDSPなどの演算処
理装置を用いて楽音波形サンプルを波形生成演算により
生成するようにした音源装置や、あるいは、楽音波形を
生成する楽音生成プログラムを用いてパーソナルコンピ
ュータなどの汎用コンピュータ上で特別のハードウエア
を使用することなく楽音を生成することが行なわれてい
る。
【0003】楽音を発生させるためには、サンプリング
周期、すなわち、DAC(DigitalAnalog Converter)
における変換タイミング毎に演算生成した波形サンプル
をDACに供給することが必要であり、このために演算
処理装置(以下、単に「CPU」という)における演算
量は非常に大きいものとなっている。すなわち、CPU
は、楽音を演算生成するために、入力されるMIDIイ
ベントなどの演奏情報から楽音制御情報を生成する処理
および波形生成処理を実行しなければならない。
【0004】この波形生成処理は、波形メモリ方式の音
源の場合を例にとれば、演奏情報から生成された楽音制
御情報に基づいて、各発音チャンネル毎に、LFO(Lo
w Frequency Oscillator)、フィルタEGおよび音量E
Gなどの波形演算を実行し、対応する波形メモリ(波形
テーブル)から波形データを読み出し、該読み出した波
形データに対して補間演算を行い、その結果得られた波
形データに対して各種EG波形のサンプルを乗算して当
該発音チャンネル分の波形データを演算生成し、これを
全発音チャンネルについて繰り返し実行して各発音チャ
ンネル分の波形サンプルデータを累算することにより1
サンプリングタイミングに対応する楽音波形データの生
成を行っている。
【0005】上記フィルタEGあるいは音量EGの波形
計算の一例について、図11を参照して説明する。図1
1の(a)はエンベロープの一例を示すもので、アタッ
ク(A)部、ディケイ(D)部、サスティン(S)部お
よびリリース(R)部の4つの部分からなっており、各
部分A、D、S、Rはそれぞれ、人間の耳にはリニアに
聞こえる対数関数となっている。なお、この図におい
て、縦軸は周波数または振幅を示しており、横軸は時間
を示している。各サンプリングタイミングにおけるエン
ベロープの値を算出するために、従来次のような方法が
採用されていた。
【0006】同図(b)はその一例を示すもので、対数
軸上で算出する方法である。この方法は、エンベロープ
データを対数値で記憶しておき、図示するように、エン
ベロープ値を1サンプリング周期当たりの変化量sずつ
順次加算することにより等差的に算出するものである。
そして、このようにして算出した対数で表されたエンベ
ロープ値を、テーブル参照や演算により、リニアな値に
変換するものである。
【0007】また、図の(c)は他の方法を示すもの
で、前回のサンプリングタイミングにおけるエンベロー
プ値に1サンプリング周期当たりの変化量aS を順次乗
算していくことにより各サンプリングタイムにおけるエ
ンベロープ値を算出する方法である。この場合には、エ
ンベロープデータは対数値ではなく通常の振幅あるいは
周波数で記憶されている。
【0008】
【発明が解決しようとする課題】上述したように、楽音
波形サンプルを演算生成するためにCPUにおいて実行
される演算量は非常に大きいものである。また、この演
算量は、発音中のチャンネル数や楽音生成演算の内容に
よってダイナミックに変動するものである。このように
CPUの処理負担が大きいために、発音可能チャンネル
数を多くすることができない、あるいは、汎用コンピュ
ータで他のアプリケーションプログラムと並行してソフ
トウエア音源プログラム(以下、「ソフト音源」とい
う。)を実行する場合、このソフト音源の処理量の変動
(特に演算量の増加)により、他のアプリケーションの
動作が不安定になることがあった。
【0009】また、エンベロープ計算において、前述し
た対数軸上で算出する方法(図10の(b))は、加算
により算出することができ、高速に演算を実行すること
ができるが、演算結果をリニアな値に変換することが必
要であり、そのために、変換テーブルを必要としたり、
あるいは、変換演算を行うことが必要となる。さらに、
図10の(c)の方法は、エンベロープ値を算出するた
めの乗算が必要となり、演算時間が長くなる。また、乗
算器を使用すれば演算時間を短くすることができるが、
そのためにはハードウエア(乗算器)が必要となる。
【0010】そこで本発明は、エンベロープ波形計算に
要するCPUの処理負荷を軽減することにより、楽音波
形生成演算におけるCPUの処理負荷を軽減するように
した楽音生成方法を提供することを目的としている。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明の演算処理装置による演算により楽音波形サ
ンプルを生成する楽音生成方法は、波形のエンベロープ
特性を折れ線により近似して各サンプリングタイミング
におけるエンベロープ値を算出することようにした楽音
生成方法である。また、前記折れ線は、前記楽音波形サ
ンプルを生成する演算が起動される周期と同一の長さを
有するものとされている楽音生成方法である。
【0012】
【発明の実施の形態】図1に本発明の楽音生成方法が実
行される楽音生成装置の一実施例の構成を示す。この図
において、10は楽音波形サンプルの生成や各種アプリ
ケーションプログラムなどを実行する中央処理装置(C
PU)、11はプリセット音色データなどが記憶されて
いるROM、12は実行するプログラムやデータが読み
込まれるとともにワークエリアや各種バッファ領域とし
て使用されるRAM、13は各種のアプリケーションプ
ログラムなどが記憶されているハードディスク装置、1
4は各種のデータやプログラムなどを記憶したCD−R
OMを駆動するCD−ROM装置、15は外部接続され
るMIDIキーボードなどの演奏装置との間で演奏デー
タや制御信号の送受信を行うためのMIDIインタフェ
ース、16および17は、それぞれ、パーソナルコンピ
ュータに一般的なキーボードおよびディスプレイ装置で
ある。
【0013】18はCPU10を介さずにRAM12内
の出力バッファ領域からサンプリング周期毎に波形サン
プルデータを読み出してDAC19に出力するDMA制
御回路(Direct Memory Access Controller )、19は
この波形データをアナログの楽音信号に変換してサウン
ドシステム20に出力するDAC、20はこの楽音信号
を増幅して外部出力するサウンドシステムである。ま
た、21は所定時間毎にCPU10に対して割込をかけ
るとともに、DMA制御回路18にサンプリングクロッ
クを供給するタイマである。そして、これら各構成要素
10〜18はバスを介して相互に接続されている。以上
の構成は、通常のパーソナルコンピュータやワークステ
ーションなどと同等であり、それらの上で本発明の楽音
生成方法を実行することができる。
【0014】図2は、このような楽音生成装置上で実行
される本発明の楽音生成方法の一実施の形態であるソフ
ト音源における処理の時間的な流れを説明する図であ
る。このソフト音源は、例えば25.6kHzのサンプ
リング周波数(レート)で楽音波形データを発生する
が、その楽音波形データ生成処理は例えば128サンプ
ル(1フレーム)時間毎に行うようになされている。そ
して、あるフレームに対応するタイムスロットに演奏入
力があると、次のフレームでその演奏入力に対応する楽
音波形データの算出処理を行い、さらに次のフレームで
この楽音波形データを25.6kHzの周期毎に1サン
プルずつ読み出して楽音信号を形成する。したがって、
演奏入力があってから実際に楽音が発音されるまで(ま
たは楽音が消音されるまで)は約2フレームの時間ずれ
が生じることになるが、1フレームが128サンプル
(5ミリ秒)であるため、その時間ずれはわずかであ
る。なお、この1フレームのサンプル数は任意に設定す
ることができるが、サンプル数を大きくすると発音に遅
れが生じ、小さくすると時間的マージンが減少して一時
的な演算量の増加時に応答が悪くなることがある。
【0015】なお、本実施の形態では、RAM12上に
用意された波形テーブルに記憶された波形サンプルに基
づいて楽音を生成するいわゆるテーブルルックアップ方
式の楽音生成を行うものとして説明する。また、このソ
フト音源は最大で32チャンネルの楽音発生チャンネル
を有しているものとする。
【0016】図3は前記ソフト音源の動作時にRAM1
2に設定される記憶エリアを説明する図である。同図
(A)は入力バッファを示しており、この入力バッファ
は、MIDIインタフェース15から演奏入力があった
とき、その演奏入力の内容とその発生時刻を記憶するバ
ッファである。このバッファの内容は、後述するMID
I処理で読み出され、対応する処理が実行される。
【0017】同図(B)はサンプルバッファWB、同図
(C)は出力バッファOBを示している。両バッファと
も、128サンプル分の波形データ記憶エリア(SD1
〜SD128、OD1〜OD128)を備えている。出
力バッファOBは32チャンネルの発音チャンネルの楽
音波形データを順次加算合成した波形データを記憶す
る。波形データ生成演算は、1つのチャンネル毎に1フ
レーム時間分の128サンプルを演算し、これを最大3
2チャンネル分(発音しているチャンネル分)繰り返す
という手順で行われるが、1つのチャンネルの波形デー
タを記憶するのがサンプルバッファWBであり、1つの
チャンネルの波形データが演算される毎にこの波形デー
タをサンプルタイミング毎に累算してゆくのが出力バッ
ファOBである。
【0018】同図(D)は音色データレジスタである。
この音色データレジスタは、各MIDIチャンネル(演
奏パート)で生成される楽音波形を決定する音色データ
を記憶するレジスタであり、この音色データとして、各
音色の各音域毎に素材とする波形テーブルを指定する波
形指定データ、EG制御データなどが記憶されている。
【0019】同図(E)は音源レジスタである。この音
源レジスタには、各発音チャンネル別に該発音チャンネ
ルで生成される楽音波形を決定するためのデータが記憶
される。このデータとしてはノートナンバ、いずれか1
つの波形テーブルのアドレスを示す波形指定アドレス
(アタックスタートアドレスAS、アタックエンドアド
レスAE、ループスタートアドレスLS、ループエンド
アドレスLE)、フィルタ制御データ、EG制御デー
タ、ノートオンデータなどが記憶される。
【0020】次に、フローチャートを参照して本発明の
ソフト音源の動作を説明する。図4(a)はメインルー
チンを示すフローチャートである。プログラムが起動さ
れると、まず、レジスタエリアの確保などの初期設定を
実行(S1)したのち、何らかの起動要因(トリガ)が
あるまで、S2、S3で待機する。起動要因が発生した
場合には、その起動要因をS4で判断して対応する処理
動作を実行する。起動要因としては、(1)入力バッフ
ァにMIDIデータが書き込まれた場合、(2)1フレ
ームに対応する時間毎に発生されるタイマ21などから
の割込、(3)その他パネルやウインドウ画面からのス
イッチイベントの発生、および、(4)終了コマンドの
入力の4種類の要因があり、それぞれの要因に応じて、
MIDI処理(S5)、音源処理(S6)、その他処理
(S7)、および終了処理(S8)が実行される。
【0021】終了処理S8は設定データの退避やレジス
タのクリアなどの処理であり、この処理が終了したのち
動作を終える。その他処理S7は、各種のパネル入力や
コマンド入力に対応する処理である。音源処理(S6)
は、タイマ21から128サンプルクロックをカウント
したことにより発生される割り込みまたはDMA制御回
路18からのトリガ等によって図2における読み出し再
生が次のフレームに進行したのを検出して実行される処
理である。
【0022】図4の(b)は最優先の割込処理として実
行されるMIDI割込処理のフローチャートである。こ
の割込処理はMIDIインタフェース15からMIDI
データを受信したときに起動されるものであり、当該M
IDIデータを取り込み(S10)、該受信したMID
Iデータとともにその受信時刻データを図3の(A)に
示した入力バッファに書き込む(S11)。
【0023】MIDI処理(S5)は、前記入力バッフ
ァにMIDIデータが書き込まれていることが検出され
たときに起動され、書き込まれたMIDIデータに対応
した処理が行われる。図5は、MIDI処理の1つであ
るノートオンイベント処理における動作を示す図であ
る。この処理は、入力バッファにノートオンイベントデ
ータが書き込まれていたときに実行される。まず、その
ノートオンイベントデータのノートナンバ、ベロシティ
データ、パート別音色、発生時刻をそれぞれNN、VE
L、tレジスタに記憶する(S20)。次に、32チャ
ンネルの発音チャンネルのなかからこのノートオンにか
かる楽音を発音する発音チャンネルを割り当てiに記憶
する(S21)。このノートオンにかかる音色データT
P(t)をNN、VELに応じて加工する(S22)。
次に、加工された音色データ(Fナンバ(FN)を含
む)をノートオンを示すデータおよびTMとともにiチ
ャンネルの音源レジスタに書き込む(S23)。
【0024】図6は1フレーム時間に対応する周期で起
動される音源処理S6を示すフローチャートである。ま
ず、出力バッファOBをクリアするとともに演算順位を
示すポインタiに1をセットする(S30)。次に、i
チャンネルの音源レジスタにアドレスを設定して該チャ
ンネルのデータを読出可能にするなどの波形データ演算
準備処理(S31)を実行する。次に、指定された波形
テーブルからの波形の読出および補間処理(S32)を
実行する。この波形読出および補間処理(S32)の詳
細については図7を参照して後述する。この波形読出お
よび補間処理(S32)が終わったらS33に進み、音
量制御および累算処理を行う。この処理については図8
および9を参照して後述する。
【0025】つぎに、全チャンネルについての波形デー
タ演算が終了した否かを判定し(S34)、終了してい
ないときは、iをi+1にインクリメントして(S3
6)新たなiチャンネルの波形データ演算準備処理(S
31)以降の処理を実行する。また、全チャンネル分の
波形データ演算が終了したときには、出力バッファOB
中に作成された波形データの再生を再生部(DMA制御
回路18)に再生予約する(S35)。この再生予約
は、RAM12内の記憶アドレスをDMA制御回路18
に通知することにより行われる。
【0026】図7を用いて前記波形読出および補間処理
(S32)について説明する。この処理ではiで指定さ
れているチャンネルの波形データを1フレーム(128
サンプル分)まとめて演算生成する。まず、サンプル数
カウンタsに1をセットする(S40)。次に、直前の
演算のアドレス(この処理チャンネルの前のフレームに
おける波形読出で最後に生成したアドレス)にFナンバ
を加算してアドレスの更新を行う(S41)。このと
き、通常は整数部と小数部とからなるアドレスが生成さ
れるため、指定された波形テーブルからこのアドレスを
含む2サンプル(整数部のアドレスで指定されるサンプ
ルと整数部+1のアドレスで指定されるサンプル)の波
形データを読み出す(S42)。これら2サンプルのデ
ータを小数部の値で直線補間し、その値をIDレジスタ
にセットする(S43)。次にIDレジスタの内容をサ
ンプルバッファSD(s)にセットする(S44)。こ
の動作をs=1からs=128になるまで繰り返し実行
し(S45、S46)、128回の処理が完了すれば音
源処理(図6)に戻る。
【0027】次に、S33の音量制御および累算処理に
ついて図8を参照して説明する。この音量制御および累
算処理は、サンプルバッファWB(SD(1)〜SD
(128))の値に振幅EGおよびチャンネル音量パラ
メータに基づいて楽音の立ち上がりから立ち下がりに至
る音量時間変化を付与する音量制御を施す処理である。
なお、前述したように、この例ではサンプリング周波数
を25.6kHz、1フレーム=128サンプルである
としている。したがって、演算周期は128×(1/2
5.6(kHz))=5(ミリ秒)となる。また、説明
を簡単にするため、エンベロープのうちのアタック部と
ディケイ部の長さは、それぞれ、5ミリ秒(=128サ
ンプル)の整数倍の長さであるとする。
【0028】この音量制御および累算処理(S32)に
おいて使用されるEG制御データの一例を、図10の
(a)に示す。本発明においては、アタック部(A)と
ディケイ部(D)の波形データはエンベロープ特性が付
与された波形データがそのまま波形テーブルに記憶され
ているために、アタック部(A)とディケイ部(D)に
ついてはエンベロープの作成および波形データとの乗算
を行う必要がない。したがって、アタック部(A)とデ
ィケイ部(D)のEG制御データはそれぞれの継続時間
を示す時間情報taおよびtdのみが記憶されている。
一方、サスティン部(S)およびリリース部(R)につ
いては、それぞれの継続時間を示す時間情報tsおよび
trと、それぞれの1フレーム時間毎の減衰率S’およ
びR’がEG制御情報として記憶されている。
【0029】S33の音量制御および累算処理が開始さ
れると、まず、サンプル数カウンタsに1がセットされ
る(S50)。次に、アタック部(A)およびディケイ
部(D)が終了したか否かが判定される(S51)。こ
れは、前記EG制御情報のうちのアタック部継続時間t
aおよびディケイ部継続時間tdを参照することによっ
て判定される。この判定の結果、現在エンベロープのア
タック部あるいはディケイ部の発音中であるときには、
S53に進む。アタック部(A)およびディケイ部
(D)においては、前述したようにエンベロープ特性の
付与された波形データが波形メモリ(テーブル)に記憶
されているため、ENV(s)の値は1であるとして、
サンプルバッファSD(s)の内容をそのまま出力バッ
ファOD(s)に足し込む処理が行われる。
【0030】一方、S51の判定結果がYESのとき、
すなわち、現在サスティン部(S)あるいはリリース部
(R)の発音中であるときは、エンベロープ計算処理
(S52)を実行し、当該サンプリングタイミングにお
けるエンベロープ値ENV(s)を算出する。この処理
の詳細については後述する。S52の後はS53に進
み、算出したエンベロープ値ENV(s)とサンプルバ
ッファSD(s)の内容とを乗算して、その結果を出力
バッファOD(s)に足し込む。これらの動作をs=1
からs=128になるまで繰り返し実行し(S54、S
56)、128サンプル分の処理が終了すれば、128
サンプル目のエンベロープ値(ENV(128))を次
のフレームにおける演算のために保存して(S55)、
音源処理(図6)に戻る。
【0031】本発明の特徴的な部分であるS52のエン
ベロープ計算処理について図9および図10の(b)を
参照して説明する。この処理は、エンベロープを1フレ
ーム時間(この例においては128サンプル×(1/2
5.6kHz)=5ミリ秒)に対応する長さの折れ線で
近似して、各サンプリングタイミングにおけるエンベロ
ープ値を求めるものである。すなわち、図10の(b)
に示すように、(1)まず、初期値をIとし、EG制御
情報中の減衰率S’あるいはR’を用いて、128サン
プル目のエンベロープ値I・S’(またはI・R’)を
算出する。(2)I・S’(またはI・R’)とIとの
差を128で割って、1サンプリング周期あたりの増減
値Δを算出する。(3)初期値Iにサンプリング周期毎
に増減値Δを繰り返し加算して当該サンプリングタイミ
ングにおけるエンベロープ値ENV(s)を求める。以
上のようにして、エンベロープ値が算出される。なお、
前記近似する折れ線の長さが数ミリ秒〜数10ミリ秒程
度であるときには、折れ線部におけるエンベロープの傾
きの不連続性は人間の耳にはほとんど関知できないもの
である。
【0032】すなわち、図9のフローチャートにおい
て、まず、s=1であるか否かが判定される(S6
0)。s=1のときはフレーム期間の最初であるから、
S61に進み、1サンプリング周期当たりの増減値Δの
算出が行われる。これは前述したように、Δ=(I・
S’−I)/128(または、(I・R’−I)/12
8)により求められる。次に、前回のフレームにおける
最終のエンベロープ値ENV(128)に算出した増減
値Δを加算してENV(s)(この場合にはENV
(1))にセットし(S62)、前記音量制御および累
算処理に戻る。
【0033】s=1でないときは、その前のサンプリン
グ周期におけるエンベロープ値ENV(s−1)に増減
値Δを加算してこのサンプリング周期におけるエンベロ
ープ値ENV(s)を算出して、音量制御および累算処
理に戻る。
【0034】このようにしてエンベロープ値を算出する
ことにより、長い演算時間(例えば10クロック程度)
を要する乗算をサステイン部(S)およびリリース部
(R)に属するフレームにおいて2回だけ実行し、その
他のサンプリングタイミングでは短い演算時間(例えば
2クロック程度)の加算処理を実行するだけでエンベロ
ープ値を算出することが可能となる。
【0035】また、上記実施の形態エンベロープを1フ
レーム時間を単位とする折れ線により近似しているが、
必ずしもこれに限られることはなく、折れ線の長さが数
ミリ秒〜数十ミリ秒であればよい。
【0036】なお、上述した実施の形態においては、ア
タック部(A)およびディケイ部(D)については、エ
ンベロープ特性が付与された波形データがそのまま波形
テーブルに格納されていたが、これに限られることはな
く、アタック部およびディケイ部についてもサスティン
部およびリリース部と同様にして格納されていてもよい
ことは明らかである。
【0037】
【発明の効果】本発明によれば、少ない演算量でエンベ
ロープの演算を行うことが可能となり、楽音波形生成に
要するCPUの負荷を減少させることが可能となる。
【図面の簡単な説明】
【図1】 本発明の楽音生成方法を実行するための装置
の一構成例を示す図である。
【図2】 本発明の楽音生成方法における処理の時間的
な流れを説明するための図である。
【図3】 本発明の楽音生成方法において使用される記
憶エリアを示す図である。
【図4】 本発明の楽音生成方法における処理のフロー
チャートである。
【図5】 本発明におけるノートオンイベント処理のフ
ローチャートである。
【図6】 本発明における音源処理のフローチャートで
ある。
【図7】 本発明における波形読出・補間処理のフロー
チャートである。
【図8】 本発明における音量制御・累算処理のフロー
チャートである。
【図9】 本発明におけるエンベロープ計算のフローチ
ャートである。
【図10】 本発明のエンベロープ波形およびエンベロ
ープ計算方法を説明するための図である。
【図11】 従来のエンベロープ計算方法を説明するた
めの図である
【符号の説明】
10 CPU、11 ROM、12 RAM、13 ハ
ードディスク装置、14 CD−ROM装置、15 M
IDIインターフェース、16 ディスプレイ、17
キーボード、18 DMA制御回路、19 DAC、2
0 サウンドシステム、21 タイマ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 演算処理装置による演算により楽音波形
    サンプルを生成する楽音生成方法において、 波形のエンベロープ特性を折れ線により近似して各サン
    プリングタイミングにおけるエンベロープ値を算出する
    ことを特徴とする楽音生成方法。
  2. 【請求項2】 前記折れ線は前記楽音波形サンプルを生
    成する演算が起動される周期と同一の長さを有するもの
    であることを特徴とする前記請求項1記載の楽音生成方
    法。
JP07349045A 1995-12-21 1995-12-21 楽音生成方法 Expired - Lifetime JP3097534B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP07349045A JP3097534B2 (ja) 1995-12-21 1995-12-21 楽音生成方法
TW085100249A TW382117B (en) 1995-12-21 1996-01-10 Music generation method
US08/770,356 US5895879A (en) 1995-12-21 1996-12-20 Musical tone-generating method and apparatus capable of approximating envelope characteristic of a waveform of a musical tone by a polygonal line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07349045A JP3097534B2 (ja) 1995-12-21 1995-12-21 楽音生成方法

Publications (2)

Publication Number Publication Date
JPH09179558A true JPH09179558A (ja) 1997-07-11
JP3097534B2 JP3097534B2 (ja) 2000-10-10

Family

ID=18401123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07349045A Expired - Lifetime JP3097534B2 (ja) 1995-12-21 1995-12-21 楽音生成方法

Country Status (3)

Country Link
US (1) US5895879A (ja)
JP (1) JP3097534B2 (ja)
TW (1) TW382117B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000206962A (ja) * 1999-01-08 2000-07-28 Matsushita Electric Ind Co Ltd 着信音発生装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5243415A (en) * 1975-10-03 1977-04-05 Nippon Gakki Seizo Kk Electronic musical instrument
JPS59195694A (ja) * 1983-04-22 1984-11-06 京王技研工業株式会社 エンベロ−プ発生装置
JPS6068386A (ja) * 1983-08-31 1985-04-18 カシオ計算機株式会社 エンベロ−プ制御装置
JPH02179694A (ja) * 1988-12-29 1990-07-12 Casio Comput Co Ltd 処理装置
JPH02179692A (ja) * 1988-12-29 1990-07-12 Casio Comput Co Ltd 処理装置
JPH0378799A (ja) * 1989-08-22 1991-04-03 Matsushita Electric Ind Co Ltd 楽音合成装置
JPH03212691A (ja) * 1990-01-18 1991-09-18 Matsushita Electric Ind Co Ltd 電子楽器の楽音制御装置
JPH0451000A (ja) * 1990-06-15 1992-02-19 Yamaha Corp 音源装置
JPH0458291A (ja) * 1990-06-28 1992-02-25 Casio Comput Co Ltd 楽音波形発生装置
JPH04136994A (ja) * 1990-06-28 1992-05-11 Casio Comput Co Ltd 楽音波形発生装置
JPH056171A (ja) * 1990-12-30 1993-01-14 Casio Comput Co Ltd 楽音波形圧縮方法
JPH07261763A (ja) * 1994-03-22 1995-10-13 Yamaha Corp 音源装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4184402A (en) * 1976-12-27 1980-01-22 Kabushiki Kaisha Kawai Gakki Seisakusho Electronic musical instrument
US4373416A (en) * 1976-12-29 1983-02-15 Nippon Gakki Seizo Kabushiki Kaisha Wave generator for electronic musical instrument
US5548080A (en) * 1986-11-06 1996-08-20 Casio Computer Co., Ltd. Apparatus for appoximating envelope data and for extracting envelope data from a signal
JPH06301378A (ja) * 1993-04-16 1994-10-28 Seikosha Co Ltd エンベロープ波形生成回路

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5243415A (en) * 1975-10-03 1977-04-05 Nippon Gakki Seizo Kk Electronic musical instrument
JPS59195694A (ja) * 1983-04-22 1984-11-06 京王技研工業株式会社 エンベロ−プ発生装置
JPS6068386A (ja) * 1983-08-31 1985-04-18 カシオ計算機株式会社 エンベロ−プ制御装置
JPH02179694A (ja) * 1988-12-29 1990-07-12 Casio Comput Co Ltd 処理装置
JPH02179692A (ja) * 1988-12-29 1990-07-12 Casio Comput Co Ltd 処理装置
JPH0378799A (ja) * 1989-08-22 1991-04-03 Matsushita Electric Ind Co Ltd 楽音合成装置
JPH03212691A (ja) * 1990-01-18 1991-09-18 Matsushita Electric Ind Co Ltd 電子楽器の楽音制御装置
JPH0451000A (ja) * 1990-06-15 1992-02-19 Yamaha Corp 音源装置
JPH0458291A (ja) * 1990-06-28 1992-02-25 Casio Comput Co Ltd 楽音波形発生装置
JPH04136994A (ja) * 1990-06-28 1992-05-11 Casio Comput Co Ltd 楽音波形発生装置
JPH056171A (ja) * 1990-12-30 1993-01-14 Casio Comput Co Ltd 楽音波形圧縮方法
JPH07261763A (ja) * 1994-03-22 1995-10-13 Yamaha Corp 音源装置

Also Published As

Publication number Publication date
US5895879A (en) 1999-04-20
TW382117B (en) 2000-02-11
JP3097534B2 (ja) 2000-10-10

Similar Documents

Publication Publication Date Title
US6326537B1 (en) Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
JP3097534B2 (ja) 楽音生成方法
JP2001255876A (ja) 時間軸方向における楽音波形信号の伸縮方法
JP3658826B2 (ja) 楽音生成方法
JP3019755B2 (ja) 楽音発生方法および楽音発生装置
JPH11288285A (ja) 楽音発生方法及び装置
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP3164096B2 (ja) 楽音発生方法及び装置
JP3583575B2 (ja) 電子楽器
JP2576616B2 (ja) 処理装置
US6972362B2 (en) Method and device for generating electronic sounds and portable apparatus utilizing such device and method
JP3844214B2 (ja) 変調波形発生装置
JP3122661B2 (ja) 電子楽器
JP3693045B2 (ja) 楽音発生装置
JP3561939B2 (ja) 波形メモリ音源
JP3148803B2 (ja) 音源装置
JP2970372B2 (ja) 音源パラメータ供給装置
JP3693046B2 (ja) 楽音発生装置
JPH09269774A (ja) 楽音発生装置
JP3245411B2 (ja) 電子楽器
JP2897680B2 (ja) 楽音信号発生装置
JP2626474B2 (ja) 楽音発生装置
JP2003330469A (ja) 楽音生成装置及びプログラム
JP2001166777A (ja) 音源装置
JPH05143066A (ja) 楽音制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000711

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

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080811

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130811

Year of fee payment: 13

EXPY Cancellation because of completion of term