JP4158198B2 - 波形発生装置および波形発生処理プログラム - Google Patents

波形発生装置および波形発生処理プログラム Download PDF

Info

Publication number
JP4158198B2
JP4158198B2 JP2004019258A JP2004019258A JP4158198B2 JP 4158198 B2 JP4158198 B2 JP 4158198B2 JP 2004019258 A JP2004019258 A JP 2004019258A JP 2004019258 A JP2004019258 A JP 2004019258A JP 4158198 B2 JP4158198 B2 JP 4158198B2
Authority
JP
Japan
Prior art keywords
waveform
timbre data
amplitude
wavelet
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004019258A
Other languages
English (en)
Other versions
JP2005215103A (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.)
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 JP2004019258A priority Critical patent/JP4158198B2/ja
Publication of JP2005215103A publication Critical patent/JP2005215103A/ja
Application granted granted Critical
Publication of JP4158198B2 publication Critical patent/JP4158198B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、電子楽器の音源に用いて好適な波形発生装置および波形発生処理プログラムに関する。
電子楽器の音源として各種方式の波形発生装置が知られている。代表的な方式としては、波形メモリに記憶された波形データを読み出して再生する波形メモリ読み出し方式や、メモリに記憶した基本波(正弦波)および複数の高調波を選択的に読み出して重ね合わせて任意の倍音構造の波形を発生する正弦波合成方式がある。また、例えば特許文献1に開示の発明のように、ベジェ関数を用いた多項式補間演算によって波形形成するものも知られている。
特開2001−228875号公報
ところで、上記特許文献1に開示の発明では、多項式補間を行うための制御点を可変設定して波形形状を変化させることで少ないデータ量で様々な音色波形の発生を可能にしているが、複雑な波形を発生させ難い。一方、正弦波合成方式では、理論的に凡ゆる波形を形成し得る反面、合成に供する各正弦波毎にエンベロープ処理等を行わなければならず、このために処理が複雑化するという弊害がある。
そこで本発明は、このような事情に鑑みてなされたもので、比較的簡単な処理で複雑な波形を形成することができる波形発生装置および波形発生処理プログラムを提供することを目的としている。
請求項に記載の発明では、発生タイミング、周波数、振幅およびベロシティ変換特性を一組とした音色データを複数記憶する音色データ記憶手段と、正弦波に
ガウス関数包絡線を乗算してなるウェーブレット波形を記憶する波形記憶手段と、発音すべき音高および音量を指定する指定手段と、前記指定手段により発音すべき音高および音量が指定された場合に、前記音色データ記憶手段から発生タイミング順に音色データを読み出す音色データ読み出し手段と、前記音色データ読
み出し手段により読み出された音色データの周波数を、前記指定手段が指定する発音音高に応じて変調し、変調された周波数のウェーブレット波形を前記波形記 憶手段から読み出す波形読み出し手段と、前記音色データ読み出し手段により読み出された音色データのベロシティ変換特性に従って前記指定手段が指定する音
量を変換し、変換された音量に応じて当該音色データの振幅を調整する振幅調整手段と、前記振幅調整手段によって調整された音色データの振幅を、前記波形読 み出し手段により読み出されるウェーブレット波形に乗算して出力する波形乗算手段と、前記波形乗算手段から発生タイミング順に出力される一連のウェーブ
レット波形を加算して楽音波形を発生する楽音波形発生手段とを具備することを特徴とする。
請求項に記載の発明では、発生タイミング、周波数、振幅およびキースケール変換特性を一組とした音色データを複数記憶する音色データ記憶手段と、正弦波
にガウス関数包絡線を乗算してなるウェーブレット波形を記憶する波形記憶手段と、発音すべき音高および音量を指定する指定手段と、前記指定手段により発音 すべき音高および音量が指定された場合に、前記音色データ記憶手段から発生タイミング順に音色データを読み出す音色データ読み出し手段と、前記音色データ
読み出し手段により読み出された音色データの周波数を、前記指定手段が指定する発音音高に応じて変調し、変調された周波数のウェーブレット波形を前記波形 記憶手段から読み出す波形読み出し手段と、前記音色データ読み出し手段により読み出された音色データのキースケール変換特性に従って前記指定手段が指定する音高に対応したキースケール値を発生し、そのキースケール値に応じて当該音色データの振幅を調整する振幅調整手段と、前記振幅調整手段によって調整された音色データの振幅を、前記波形読み出し手段により読み出されるウェーブレット波形に乗算して出力する波形乗算手段と、前記波形乗算手段から発生タイミン
グ順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生手段とを具備することを特徴とする。
請求項に記載の発明では、発生タイミング、周波数、振幅、ベロシティ変換特性およびキースケール変換特性を一組とした音色データを複数記憶する音色デー
タ記憶手段と、正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を記憶する波形記憶手段と、発音すべき音高および音量を指定する指定手段と、前 記指定手段により発音すべき音高および音量が指定された場合に、前記音色データ記憶手段から発生タイミング順に音色データを読み出す音色データ読み出し手
段と、前記音色データ読み出し手段により読み出された音色データの周波数を、前記指定手段が指定する発音音高に応じて変調し、変調された周波数のウェーブ レット波形を前記波形記憶手段から読み出す波形読み出し手段と、前記音色データ読み出し手段により読み出された音色データのベロシティ変換特性に従って前
記指定手段が指定する音量を変換すると共に、当該音色データのキースケール変換特性に従って前記指定手段が指定する音高に対応したキースケール値を発生 し、変換された音量とキースケール値とに応じて当該音色データの振幅を調整する振幅調整手段と、前記振幅調整手段によって調整された音色データの振幅を、
前記波形読み出し手段により読み出されるウェーブレット波形に乗算して出力する波形乗算手段と、前記波形乗算手段から発生タイミング順に出力される一連の ウェーブレット波形を加算して楽音波形を発生する楽音波形発生手段とを具備することを特徴とする。
請求項に記載の発明では、発音すべき音高および音量を指定する指定処理と、発生タイミング、周波数、振幅およびベロシティ変換特性を一組とした音色デー
タを予め複数記憶しておき、前記指定処理にて発音すべき音高および音量が指定された場合に、これら音色データを発生タイミング順に読み出す音色データ読み 出し処理と、正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を予め記憶しておき、前記音色データ読み出し処理にて読み出された音色データの周
波数を、前記指定処理で指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す波形読み出し処理と、前記音色データ読み出し 処理にて読み出された音色データのベロシティ変換特性に従って前記指定処理で指定された音量を変換し、変換された音量に応じて当該音色データの振幅を調整
する振幅調整処理と、前記振幅調整処理により調整された音色データの振幅を、前記波形読み出し処理にて読み出されるウェーブレット波形に乗算して出力する 波形乗算処理と、前記波形乗算処理により発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生処理とをコン
ピュータで実行させることを特徴とする。
請求項に記載の発明では、発音すべき音高および音量を指定する指定処理と、発生タイミング、周波数、振幅およびキースケール変換特性を一組とした音色
データを予め複数記憶しておき、前記指定処理にて発音すべき音高および音量が指定された場合に、これら音色データを発生タイミング順に読み出す音色データ 読み出し処理と、正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を予め記憶しておき、前記音色データ読み出し処理にて読み出された音色データ
の周波数を、前記指定処理で指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す波形読み出し処理と、前記音色データ読み 出し処理にて読み出された音色データのキースケール変換特性に従って前記指定処理で指定された音高に対応したキースケール値を発生し、そのキースケール値
に応じて当該音色データの振幅を調整する振幅調整処理と、前記振幅調整処理により調整された音色データの振幅を、前記波形読み出し処理にて読み出される ウェーブレット波形に乗算して出力する波形乗算処理と、前記波形乗算処理により発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形
を発生する楽音波形発生処理とをコンピュータで実行させることを特徴とする。
請求項に記載の発明では、発音すべき音高および音量を指定する指定処理と、発生タイミング、周波数、振幅、ベロシティ変換特性およびキースケール変換特
性を一組とした音色データを予め複数記憶しておき、前記指定処理にて発音すべき音高および音量が指定された場合に、これら音色データを発生タイミング順に 読み出す音色データ読み出し処理と、正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を予め記憶しておき、前記音色データ読み出し処理にて読み
出された音色データの周波数を、前記指定処理で指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す波形読み出し処理と、 前記音色データ読み出し処理により読み出された音色データのベロシティ変換特性に従って前記指定処理で指定された音量を変換すると共に、当該音色データの
キースケール変換特性に従って前記指定処理で指定された音高に対応したキースケール値を発生し、変換された音量とキースケール値とに応じて当該音色データ の振幅を調整する振幅調整処理と、前記振幅調整処理によって調整された音色データの振幅を、前記波形読み出し処理にて読み出されるウェーブレット波形に乗
算して出力する波形乗算処理と、前記波形乗算処理により発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生 処理とをコンピュータで実行させることを特徴とする。
請求項に記載の発明によれば、発生タイミング、周波数、振幅およびベロシティ変換特性を一組とした音色データを予め複数記憶しておき、発音すべき音高および音量が指定されると、これら音色データを発生タイミング順に読み出す。そして、読み出された音色データの周波数を指定された音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す。次に、読み出された音色データのベロシティ変換特性に従い、指定された音量を変換し、変換された音量に応じて当該音色データの振幅を調整する。次いで、この調整された音色データの振幅を、読み出されたウェーブレット波形に乗算して出力する。こうして発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生するため、従来の正弦波合成方式で行われるエンベロープ処理を必要とせず、比較的簡単な処理で複雑な波形を形成することができる。また、音色データの周波数を音高に応じて変調するので、発音する音高毎に音色変化を与えることができる。さらに、音色データのベロシティ変換特性に従い、指定された音量を変換し、変換された音量に応じて当該音色データの振幅を調整するため、例えば押鍵タッチで音色を変化させることができる。
請求項に記載の発明によれば、発生タイミング、周波数、振幅およびキースケール変換特性を一組とした音色データを予め複数記憶しておき、発音すべき音高および音量が指定されると、これら音色データを発生タイミング順に読み出す。そして、読み出された音色データの周波数を指定された音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す。次に、読み出された音色データのキースケール変換特性に従い、指定された音高に対応したキースケール値を発生し、そのキースケール値に応じて当該音色データの振幅を調整する。次いで、この調整された音色データの振幅を、読み出されたウェーブレット波形に乗算して出力する。こうして発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する結果、比較的簡単な処理で複雑な波形を形成することができ、しかも音色データの周波数を音高に応じて変調するから、発音する音高毎に音色変化を与えることができる。さらに、音色データのキースケール変換特性に従い、指定された音高に対応したキースケール値を発生し、そのキースケール値に応じて当該音色データの振幅を調整するため、例えば押鍵する鍵毎に音色を変化させることができる。
請求項に記載の発明によれば、発生タイミング、周波数、振幅、ベロシティ変換特性およびキースケール変換特性を一組とした音色データを予め複数記憶しておき、発音すべき音高および音量が指定されると、これら音色データを発生タイミング順に読み出す。そして、読み出された音色データの周波数を、指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す。次に、読み出された音色データのベロシティ変換特性に従い、指定された音量を変換すると共に、当該音色データのキースケール変換特性に従い、指定された音高に対応したキースケール値を発生し、変換された音量とキースケール値とに応じて当該音色データの振幅を調整する。次いで、この調整された音色データの振幅を、読み出されたウェーブレット波形に乗算して出力する。こうして発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する結果、比較的簡単な処理で複雑な波形を形成することができる。しかも、音色データの周波数を音高に応じて変調するから、発音する音高毎に音色変化を与えることができる。さらに、音色データのベロシティ変換特性およびキースケール変換特性に従い、指定された音量および音高を変換し、その変換値に応じて当該音色データの振幅を調整するため、例えば押鍵タッチや押鍵する鍵毎に音色変化を付与することができる。
本発明による波形発生装置は、電子楽器や楽音制御装置などに適用され得る。以下では、本発明による最良の実施形態による電子楽器を実施例とし、これについて図面を参照して説明する。
A.構成
(1)全体構成
図1は実施例である電子楽器の全体構成を示すブロック図である。この図において、鍵盤1は押離鍵操作に応じたキーオン/キーオフイベントおよびノート番号、ベロシティ等からなる演奏情報を発生する。スイッチ部2は楽器パネルに配設される各種スイッチ(例えば電源スイッチや音色選択スイッチ等)から構成され、ユーザのスイッチ操作に対応したスイッチイベントを発生する。ROM3は各種制御プログラムやデータテーブルを記憶するROMである。ここで言う各種制御プログラムとは、後述するメインルーチンおよびタイマインタラプト処理を含む。また、データテーブルとは、後述するベロシティテーブルVLTおよびキースケールテーブルKSTを指す。
RAM4は各種レジスタ・フラグデータを一時記憶するワークエリアと、各種音色に対応した複数の音色データテーブルTCTを格納するデータエリアとを備える。ワークエリアの構成およびデータエリアに格納される音色データテーブルTCTの構成については追って詳述する。表示部5はLCDパネルおよび駆動ドライバから構成され、後述するCPU7から供給される表示制御信号に応じて楽器各部の設定状態や動作状態などを表示する。モジュレーションホイール6は、ユーザのホイール操作に対応した変調値MODを発生する。変調値MODは、鍵盤1が発生する演奏情報の内、ベロシティをレベル制御する。
CPU7は、スイッチ部2から供給されるスイッチイベントに基づき楽器各部の動作状態を設定したり、鍵盤1から供給される演奏情報に応じて音源8に発音および消音を指示する。音源8に発音を指示する場合、CPU7は押鍵された鍵のノート番号NOTEと、このノート番号NOTEに対応してRAM4のデータエリアに格納される音色データテーブルTCTから読み出される音色データとを音源8に送出する。音源8はCPU7からの指示に従って楽音波形を発生する。音源8の構成については追って述べる。D/A変換器9は、音源8が出力する楽音波形をアナログ形式の波形信号に変換して出力する。サウンドシステム10は、D/A変換器9から出力される波形信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカ11から発音させる。
(2)音色データテーブルTCTの構成
次に、図2〜図5を参照してRAM4のデータエリアに格納される音色データテーブルTCTの構成について説明する。図2に図示するように、音色データテーブルTCTは、発生楽音の音色を決める複数のテーブルTBL[1]〜TBL[M]から構成される。これらテーブルTBL[1]〜TBL[M]は、後述するインデックスIDXで指定される。インデックスIDXで指定される1つのテーブルTBL[IDX]には、時刻TIME、周波数PITCH、振幅AMP、ベロシティテーブル番号VT、キースケールテーブル番号KSおよびループ間隔LOOPを一組とするデータセットが格納される。
時刻TIMEは波形発生タイミングを表す時間情報であり、前データセットからの経過時間(単位mSec)で表現される。なお、終端テーブルTBL[M]に格納される時刻TIMEにはテーブルの終わりを表す値「−1」が格納される。周波数PITCHは、後述する波形ROM81に格納されるウェーブレット波形WLの読み出し速度を表す。例えば、周波数PITCHが「1」なら1倍速(原ピッチ)で読み出し、「2」なら2倍速で読み出す。振幅AMPは、後述する波形ROM81から読み出されるウェーブレット波形WLに乗算する振幅値を表す。
ベロシティテーブル番号VTは、ROM3に格納されるベロシティテーブルVLTを指定する。例えば図3に図示するように、ROM3に4種のベロシティテーブルVLT(0)〜VLT(3)が格納されている場合、ベロシティテーブル番号VTの値「0」〜「3」にてそれぞれ指定される。なお、ROM3に格納されるベロシティテーブルVLT(0)〜VLT(3)は、入力ベロシティ(鍵盤1が発生するベロシティ値もしくはそれをモジュレーションホイール6で調整したベロシティ値)を出力ベロシティに変換する特性を表す。出力ベロシティは上記振幅AMPを変調する値として使用される。
キースケールテーブル番号KSは、ROM3に格納されるキースケールテーブルKSTを指定する。例えば図4に図示するように、ROM3に4種のキースケールテーブルKST(0)〜KST(3)が格納されている場合、キースケールテーブル番号の値「0」〜「3」にてそれぞれ指定される。なお、ROM3に格納されるキースケールテーブルKST(0)〜KST(3)は、押鍵された鍵のノート番号NOTEをキースケール出力に変換する特性を表す。キースケール出力は上記振幅AMPを変調する値として使用される。ループ間隔LOOPは、テーブルTBL[IDX]に含まれるデータセットで修飾されるウェーブレット波形中で予め定められた波形区間を繰り返し読み出し(ループ再生)する間隔(1msec単位の時間間隔)を表す。
以上説明したデータセットを含むテーブルTBL[1]〜TBL[10]から構成される音色データテーブルTCTの一例を図5に図示する。この図に示す音色データテーブルTCTの場合、キーオンと同時にテーブルTBL[1]〜TBL[4]に含まれる各データセットの内容に従ってそれぞれ個々にウェーブレット波形WLを修飾し、続いてキーオン時点から10msec経過して時点でテーブルTBL[5]〜TBL[6]に基づきそれぞれ個々にウェーブレット波形を修飾する。この後、前データセットのタイミングから5msec、7msecおよび3msec経過する毎に、テーブルTBL[7]、テーブルTBL[8]およびテーブルTBL[9]〜TBL[10]の各データセットの内容に応じたウェーブレット波形修飾を順次行う。なお、こうしたウェーブレット波形修飾が意図するところについては追って述べる。
(3)RAM4の構成
次に、図6を参照してRAM4が備えるワークエリアの構成について説明する。RAM4のワークエリアは、レジスタエリアTA、後述する波形発生器82−1〜82−Nに対応して設けられる波形発生エリアWG[1]〜WG[N]およびループ処理エリアLPT[1]〜LPT[L]から構成される。レジスタエリアTAは、レジスタNOTE、レジスタVEL、レジスタVEL_ORG、レジスタIDXおよびレジスタTIMEを備える。レジスタNOTEには、鍵盤1にて押鍵された鍵のノート番号がストアされる。レジスタVEL_ORGには、押鍵に応じて発生するベロシティがストアされる。以下、レジスタVEL_ORGの内容を基準ベロシティVEL_ORGと称す。レジスタVELには、モジュレーションホイール6のホイール操作に応じて基準ベロシティVEL_ORGを変化させたベロシティ(以下、調整ベロシティと記す)がストアされる。レジスタIDXには、前述した音色データテーブルTCT(図2または図5参照)を構成するテーブルTBL[1]〜TBL[M]を指定するインデックス値がストアされる。レジスタIDXの内容をインデックスIDXと称す。レジスタTIMEには、波形発生タイミングを表す前述の時刻TIMEがストアされる。
波形発生エリアWG[1]〜WG[N]は、後述する波形発生器82−1〜82−Nに供給するパラメータを一時記憶するフラグON、レジスタADR、レジスタPITCH、レジスタAMP、レジスタVTおよびレジスタKSを各々備える。フラグONは、波形発生中に「1」、波形発生停止中に「0」となるフラグである。レジスタADRには、波形ROM81(後述する)に格納されるウェーブレット波形WLの読み出しアドレスがストアされる。以後、レジスタADRの内容を読み出しアドレスADRと記す。なお、読み出しアドレスADRは整数部アドレスと小数部アドレスとから形成される。レジスタPITCH、レジスタAMP、レジスタVTおよびレジスタKSには、上述した音色データテーブルTCT(図2参照)においてインデックスIDXで指定されるテーブルTBL[IDX]から読み出される周波数PITCH、振幅AMP、ベロシティテーブル番号VTおよびキースケールテーブル番号KSがそれぞれストアされる。
ループ処理エリアLPT[1]〜LPT[L]は、後述する波形発生器82−1〜82−Nのループ再生動作を制御するパラメータを一時記憶するレジスタIDX、レジスタLOOPおよびカウンタTIMEを各々備える。レジスタIDXには、レジスタエリアTAのインデックスIDXがストアされる。レジスタLOOPには、音色データテーブルTCTにてインデックスIDXで指定されるテーブルTBL[IDX]から読み出されるループ間隔LOOPがストアされる。カウンタTIMEはループ再生期間をmsec単位で計時するレジスタである。
(4)音源8の構成
次に、図7〜図8を参照して音源8の構成について説明する。音源8は、図7に示すように、波形ROM81、波形発生器82−1〜82−Nおよび加算器83から構成される。波形ROM81には、図8に図示する形状のウェーブレット波形WLが格納される。ウェーブレット波形WLとは、ガウス関数(正規分布)の包絡線で正弦波振幅を変調した波形である。波形発生器82−1〜82−Nは、それぞれ波形読出部82aおよび振幅乗算部82bから構成される。
波形発生器82−1〜82−Nの波形読出部82aには、CPU7がRAM4の波形発生エリアWG[1]〜WG[N](図6参照)からそれぞれ読み出す周波数PITCHおよび読み出しアドレスADRと、レジスタエリアTAから読み出すノート番号NOTEとが供給される。波形読出部82aは、周波数PITCHおよびノート番号NOTEに対応した読み出し速度で読み出しアドレスADRから波形ROM81に格納されるウェーブレット波形WLを読み出す。なお、読み出しアドレスADRは小数部を含むため、波形読出部82aでは読み出しアドレスADRの整数部で小数部に対応したウェーブレット波形WLを補間読み出しする。
波形発生器82−1〜82−Nの振幅乗算部82bには、CPU7がRAM4の波形発生エリアWG[1]〜WG[N](図6参照)からそれぞれ読み出す振幅AMP、ベロシティテーブル番号VTおよびキースケールテーブル番号KSと、レジスタエリアTAから読み出す調整ベロシティVELおよびノート番号NOTEとが供給される。各振幅乗算部82bでは、波形読出部82aが出力するウェーブレット波形WLの波形値をレベル制御する。具体的には、ベロシティテーブル番号VTで指定されるベロシティテーブルVLT(図3参照)にて調整ベロシティVELを出力ベロシティに変換すると共に、キースケールテーブル番号KSで指定されるキースケールテーブルKST(図4参照)にてノート番号NOTEをキースケール出力に変換した後、出力ベロシティとキースケール出力とに応じて振幅AMPを変調し、変調された振幅AMPに従って波形読出部82aが出力するウェーブレット波形WLをレベル制御する。加算器83は、波形発生器82−1〜82−Nの各振幅乗算部82bからそれぞれ出力されるウェーブレット波形WLを加算合成して楽音波形Wを形成する。
こうした構成の音源8は次に説明する原理に基づいて楽音波形Wを形成している。スペクトル解析手法として公知のウェーブレット変換理論では、不規則に見える複雑な波形も局在的なウェーブレット波形WLの重ね合わせで表現できるとされる。音源8では、こうした理論に基づき、複数のウェーブレット波形WLを重ね合わせて波形形成するウェーブレット逆変換を行っている。
つまり、前述した音色データテーブルTCTに登録されるデータセット(テーブルTBL)の内容は、所定音色の楽音波形についてウェーブレット変換して得られる一群のウェーブレット波形を表すパラメータ(フーリエ変換のフーリエ係数に相当)である。そして、音源8では、波形ROM81から時分割に読み出した複数のウェーブレット波形WLについて音色データテーブルTCTのデータセットに従って修飾し、修飾された複数のウェーブレット波形WLを重ね合わせるウェーブレット逆変換にて所定音色の楽音波形を再生するようになっている。
B.動作
次に、図9〜図16を参照して実施例の動作を説明する。上述した実施例の構成はハードウェアイメージとして捉らえた機能構成を説明したが、以下に説明する動作では、CPU7が音源8の機能を兼ねる処理を実行するものとしている。また、この動作説明では、説明の簡略化を図るため、モノフォニック発音を前提としている。以下では、最初に全体の概略動作としてCPU7が実行するメインルーチンの動作を説明した後、このメインルーチンからコールされる鍵盤処理およびモジュレーション処理の各動作について述べ、続いてタイマインタラプト処理の動作を説明する。
(1)メインルーチンの動作
電源スイッチ操作で実施例がパワーオンされると、CPU7はROM3から所定の制御プログラムを読み出して自身にロードし、図9に示すメインルーチンを実行する。メインルーチンが実行されると、CPU7はステップSA1に処理を進め、RAM4に格納される各種レジスタやフラグ類をリセットしたり初期値をセットする初期化処理を行う。具体的には、RAM4のレジスタエリアTAにおけるレジスタNOTEおよびレジスタTIMEに初期値「−1」を、波形発生エリアWG[1]〜WG[N]の各フラグONを「0」を、ループ処理エリアLPT[1]〜LPT[L]の各レジスタLOOP(ループ間隔LOOP)に「0」をそれぞれセットする。
そして、初期化処理が完了すると、CPU7はステップSA2に進み、スイッチ部2のスイッチ操作に応じたスイッチ処理を実行する。例えばRAM4のデータエリアに格納される各種音色に対応した複数の音色データテーブルTCTの内から音色選択スイッチの操作に応じて任意の音色データテーブルTCTが選択された場合、その選択された音色データテーブルTCTの内容を、例えば図5に図示する表示形態で表示部5に画面表示したり、画面表示された音色データテーブルTCTの内容をユーザのスイッチ操作に応じて編集したりする等の処理を実行する。次いで、ステップSA3では、鍵盤1の押離鍵操作に応じて発音/消音を指示する鍵盤処理を実行する。続いて、ステップSA4では、モジュレーションホイール6のホイール操作に応じて、押鍵に対応して発生するベロシティを修飾するモジュレーションホイール処理を実行する。そして、ステップSA5では、例えば発生楽音に効果付与する等の、その他の処理を実行する。以後、電源がオフされるまで上述したステップSA2〜SA5を繰り返し実行する。
(2)鍵盤処理の動作
次に、図10を参照して鍵盤処理の動作を説明する。上述したメインルーチンのステップSA3(図9参照)を介して本処理が実行されると、CPU7は図10に示すステップSB1に進み、鍵イベントに基づき状態判定する。押離鍵操作が行われず鍵イベントに変化が無い場合には、何も行わずに本処理を完了させる。
一方、押鍵操作に応じてキーオンイベントが発生した場合には、ステップSB2に進む。ステップSB2では、レジスタNOTEの値が「−1」、すなわち消音中における新たな押鍵であるか否かを判断する。発音中の押鍵であれば、判断結果は「NO」になり、本処理を完了させる。一方、消音中の新たな押鍵であると、判断結果が「YES」となり、ステップSB3に進む。
ステップSB3では、インデックスIDXに「0」にストアすると共に、このインデックスIDXで指定される音色データテーブルTCT中のテーブルTBL[IDX]の時刻TIMEに、1msec内に実行されるタイマインタラプト処理回数Dを乗算し、これにて得られる波形形成タイミングをレジスタTIMEにストアする。また、ステップSB3では、押鍵された鍵のノート番号をレジスタNOTEに、押鍵に応じて発生したベロシティを一旦レジスタVELに格納した後にレジスタVEL_ORGにストアし直して基準ベロシティVEL_ORGとする。こうして、押鍵に対応して発生する各パラメータをレジスタセットし終えると、本処理を完了させる。
これに対し、離鍵操作された場合には、ステップSB4に進み、レジスタNOTEの値が「−1」、すなわち消音中であるか否かを判断する。消音中であると、判断結果は「YES」になり、何も行わずに本処理を完了させるが、発音中の離鍵であると、判断結果は「NO」になり、ステップSB5に進み、発音中の楽音波形を消音する消音処理を実行する。この後、ステップSB6に進み、レジスタTIME、NOTEにそれぞれ「−1」をストアして消音状態である旨を表してから本処理を完了させる。
(3)モジュレーションホイール処理の動作
次に、図11を参照してモジュレーションホイール処理の動作を説明する。前述したメインルーチンのステップSA4(図9参照)を介して本処理が実行されると、CPU7は図11に示すステップSC1に進み、ユーザのホイール操作に対応してモジュレーションホイール6が出力する変調値MOD(−1〜1)をレジスタMODにストアする。以下、レジスタMODの値を変調値MODと称す。次いで、ステップSC2では、変調値MODが「0」より大きいか否かを判断する。変調値MODが「0」より大きければ、判断結果は「YES」になり、ステップSC3に進み、VEL_ORG+(127−VEL_ORG)×MODなる算出式にて求めた調整ベロシティをレジスタVELにストアして本処理を終える。一方、変調値MODが「0」より小さいと、上記ステップSC2の判断結果が「NO」になり、ステップSC4に進み、VEL_ORG+VEL_ORG×MODなる算出式にて求めた調整ベロシティをレジスタVELにストアして本処理を終える。
(4)タイマインタラプト処理の動作
次に、図12を参照してタイマインタラプト処理の動作を説明する。CPU7は、前述したメインルーチン(図9参照)を実行している過程で一定周期(本実施例の場合、(1/D)msec)毎にタイマインタラプト処理を割込み実行する。割込み実行タイミングになると、CPU7は図12に示すステップSD1に処理を進め、キーオン(押鍵)に対応して音色データテーブルTCTから新たに読み出したデータセットに基づき楽音形成したり、ループ再生過程にある楽音を形成したりするパラメータ更新処理を実行する。このパラメータ更新処理の詳細については追って述べる。パラメータ更新処理が完了すると、CPU7はステップSD2に進み、レジスタSUM(後述する)をゼロリセットすると共に、ポインタiに初期値「1」をセットする。
ステップSD3〜SD8では、RAM4のワークエリア(図6参照)における波形発生エリアWG[1]〜WG[N]の内容を参照して楽音波形Wを発生させる。すなわち、ステップSD3では、ポインタiで指定される波形発生エリアWG[i]のフラグONが「1」、つまり波形発生中であるか否かを判断する。フラグONが「0」の波形発生停止中であれば、判断結果は「NO」になり、後述するステップSD7に処理を進める。一方、波形発生中であると、判断結果が「YES」となり、ステップSD4に進む。ステップSD4では、ポインタiで指定される波形発生エリアWG[i]の読み出しアドレスADRに応じて波形ROM81(図7参照)から読み出されるウェーブレット波形WLについてレベル制御した結果をレジスタSUMに加算する。
ウェーブレット波形WLのレベル制御とは、ポインタiで指定される波形発生エリアWG[i]のベロシティテーブル番号VTで指定されるベロシティテーブルVLT(図3参照)にて調整ベロシティVELを出力ベロシティに変換すると共に、キースケールテーブル番号KSで指定されるキースケールテーブルKST(図4参照)にてノート番号NOTEをキースケール出力に変換した後、この出力ベロシティとキースケール出力とに応じて、ポインタiで指定される波形発生エリアWG[i]の振幅AMPを変調し、変調された振幅AMPを、上記読み出しアドレスADRに応じて波形ROM81から読み出されるウェーブレット波形WLの波形値に乗算する処理を指す。
また、ステップSD4では、こうしてウェーブレット波形WLをレベル制御した後、押鍵された鍵のノート番号NOTEと、ポインタiで指定される波形発生エリアWG[i]の周波数PITCHとで定まる読み出し速度に従ってポインタiで指定される波形発生エリアWG[i]の読み出しアドレスADRを更新する。そして、ステップSD5では、更新された読み出しアドレスADRがエンドアドレス(ウェーブレット波形WLの終端)を超えたか否かを判断する。読み出しアドレスADRがエンドアドレスを超えていなければ、判断結果は「NO」になり、後述するステップSD7に進む。一方、読み出しアドレスADRがエンドアドレスを超えると、判断結果が「YES」となり、ステップSD6に進み、ポインタiで指定される波形発生エリアWG[i]のフラグONをゼロリセットする。
ステップSD7では、ポインタiの値がN(前述した波形発生器82−1〜82−Nの数に相当)に達したかどうかを判断する。ポインタiの値がNに達していなければ、判断結果は「NO」になり、ステップSD8に進み、ポインタiをインクリメントして歩進させてから上述のステップSD3に処理を戻す。以後、ポインタiがNに達するまで、ポインタiを歩進させながら、上述したステップSD3〜SD6を繰り返す。そして、ポインタiがNに達すると、上記ステップSD7の判断結果が「YES」になり、ステップSD9に進む。ステップSD9では、レジスタSUMに加算された波形(波形発生エリアWG[1]〜WG[N]に格納される各パラメータに対応して修飾されたウェーブレット波形WL)を楽音波形Wとして出力した後、本処理を完了させる。
(5)パラメータ更新処理の動作
次に、図13〜図16を参照してパラメータ更新処理の動作を説明する。CPU7は、上述したタイマインタラプト処理のステップSD1(図12参照)を介してパラメータ更新処理を実行する。パラメータ更新処理は、図13に示すように、音色データテーブル読み出し処理(ステップSE1)およびループ処理(ステップSE2)から構成される。
<音色データテーブル読み出し処理の動作>
ステップSE1を介して音色データテーブル読み出し処理が実行されると、CPU7は図14に示すステップSF1に処理を進め、RAM4のレジスタTIMEに格納される時刻TIMEの値が「−1」、つまり消音中であるか否かを判断する。消音中であれば、判断結果は「YES」になり、この場合、音色データテーブルTCTを読み出す必要はない為、何も処理せずに本処理を完了する。一方、消音中でなければ、判断結果が「NO」になり、次のステップSF2に進む。ステップSF2では、時刻TIMEの値が「0」、つまり波形発生タイミング下であるかどうかを判断する。波形発生タイミング下でなければ、判断結果は「NO」になり、ステップSF3に進み、時刻TIMEをデクリメントして本処理を終える。
一方、波形発生タイミング下であると、上記ステップSF2の判断結果が「YES」となり、ステップSF4に進む。ステップSF4では、インデックスIDXの値をレジスタxにストアする。そして、ステップSF5を介してパラメータセット処理を実行すると、CPU7は図15に示すステップSF5−1に進み、ポインタiに初期値「1」をセットし、続くステップSF5−2では、ポインタiで指定される波形発生エリアWG[i]のフラグONが「0」、つまり波形発生停止中であるか否かを判断する。波形発生中であると、判断結果は「NO」になり、ステップSF5−3に進む。ステップSF5−3では、ポインタiの値がNに達したかどうかを判断する。ポインタiの値がNに達していなければ、判断結果は「NO」になり、ステップSF5−4に進み、ポインタiを歩進させてステップSF5−2に処理を戻す。
このように、ステップSF5−2〜SF5−4では、ポインタiを歩進させながら、波形発生停止中の波形発生エリアWG[i]を検索する。そして、波形発生停止中の波形発生エリアWG[i]が検索されると、上記ステップSF5−2の判断結果が「YES」になり、ステップSF5−5に進み、レジスタxで指定されるテーブルTBL[x]に含まれるデータセットを音色データテーブルTCTから読み出し、それらをポインタiで指定される波形発生エリアWG[i]の対応するレジスタにストアする。
すなわち、テーブルTBL[x]の周波数PITCHを波形発生エリアWG[i]のレジスタPITCHに、テーブルTBL[x]の振幅AMPを波形発生エリアWG[i]のレジスタAMPに、テーブルTBL[x]のベロシティテーブル番号VTを波形発生エリアWG[i]のレジスタVTに、テーブルTBL[x]のキースケールテーブル番号KSを波形発生エリアWG[i]のレジスタKSにそれぞれストアする。また、ステップSF5−5では、波形発生エリアWG[i]の読み出しアドレスADRをゼロリセットした後、波形発生エリアWG[i]のフラグONを「1」にセットして本処理を終える。
さて、こうしたパラメータセット処理が完了すると、CPU7は図14に示すステップSF6に処理を進める。ステップSF6では、インデックスIDXで指定される音色データテーブルTCT中のテーブルTBL[IDX]におけるループ間隔LOOPの値が「0」、つまりループ再生するかどうかを判断する。ループ再生しない場合(ループ間隔LOOPの値が「0」の場合)には、判断結果が「YES」になり、後述するステップSF12に進む。
一方、ループ再生を行う場合には、上記ステップSF6の判断結果が「NO」になり、ステップSF7に進み、ポインタiに初期値「1」をセットする。次いで、ステップSF8〜SF10では、ループ間隔LOOPの値が「0」となるループ処理エリアLPT[i](i=1〜L)をポインタiを歩進させながら検索する。該当するループ処理エリアLPT[i]が検索されなければ、ステップSF9の判断結果が「YES」となり、後述するステップSF12に進む。これに対し、ループ間隔LOOPの値が「0」となるループ処理エリアLPT[i]を検索すると、ステップSF8の判断結果が「YES」になり、ステップSF11に進む。
ステップSF11では、検索されたループ処理エリアLPT[i]のレジスタIDXにインデックスIDXを、レジスタLOOPにテーブルTBL[IDX]から読み出されるループ間隔LOOPをそれぞれストアする。また、ステップSF11では、1msec内に実行されるタイマインタラプト処理回数Dをループ間隔LOOPに乗算して得るループ再生期間をカウンタTIMEにセットする。そして、ステップSF12では、インデックスIDXを歩進させると共に、歩進されたインデックスIDXで指定される音色データテーブルTCT中のテーブルTBL[IDX]の時刻TIMEに、1msec内に実行されるタイマインタラプト処理回数Dを乗算し、その値をRAM4のレジスタTIMEにストアして上述のステップSF1に処理を戻す。
このように、音色データテーブル読み出し処理では、波形発生タイミング毎に、波形発生停止中の波形発生エリアWG[i]に、音色データテーブルTCTから読み出したテーブルTBL[IDX]のデータセットを与え、そのテーブルTBL[IDX]がループ再生実行を指示する場合には、ループ再生していないループ処理エリアLPT[i]に、当該テーブルTBL[IDX]のループ間隔LOOPをストアすると共に、当該ループ間隔LOOPに、1msec内に実行されるタイマインタラプト処理回数Dを乗算して得るループ再生期間をカウンタTIMEにセットする。この後、インデックスIDXを歩進させ、時刻TIMEを更新させる。
<ループ処理の動作>
上述した音色データテーブル読み出し処理が完了すると、CPU7はステップSE2(図13参照)を介してループ処理を実行する。ループ処理が実行されると、CPU7は図16に示すステップSG1に進み、ポインタiに初期値「1」をセットする。続いて、ステップSG2〜SG4では、ポインタiを歩進させながら、レジスタLOOPの値が「0」でないループ処理エリアLPT[i](i=1〜L)、つまりループ再生中のループ処理エリアLPT[i]を検索する。該当するループ処理エリアLPT[i]が検索されなければ、ステップSG3の判断結果が「YES」となり、本処理を完了させる。
一方、ループ再生中のループ処理エリアLPT[i]を検索すると、ステップSG2の判断結果が「NO」となり、ステップSG5に進む。ステップSG5では、ループ再生中のループ処理エリアLPT[i]におけるレジスタTIMEの値が「0」、すなわち波形再発生タイミングに達したか否かを判断する。波形再発生タイミングに達していなければ、判断結果は「NO」になり、ステップSG6に進み、ループ処理エリアLPT[i]におけるレジスタTIMEの値をデクリメントしてステップSG3に進み、全てのループ処理エリアLPT[i]〜LPT[L]について検索し終えたかどうかを判断する。
検索し終えていなければ、判断結果は「NO」になり、ステップSG4にてポインタiを歩進させた後、上述のステップSG2に処理を戻す。そして、例えば歩進されたポインタiが指定するループ処理エリアLPT[i]が波形再発生タイミングになったとする。そうすると、ステップSG5の判断結果が「YES」になり、ステップSG7に進む。ステップSG7では、ループ処理エリアLPT[i]のレジスタIDXに格納されるインデックスIDXをレジスタxにストアする。続いて、ステップSG8を介して図15に示すパラメータセット処理を実行する。
パラメータセット処理が実行されると、CPU7は図15に示すステップSF5−1に進み、ポインタiに初期値「1」をセットし、続くステップSF5−2では、ポインタiで指定される波形発生エリアWG[i]のフラグONが「0」、つまり波形発生停止中であるか否かを判断する。波形発生中であると、判断結果は「NO」になり、ステップSF5−3に進む。ステップSF5−3では、ポインタiの値がNに達したかどうかを判断する。ポインタiの値がNに達していなければ、判断結果は「NO」になり、ステップSF5−4に進み、ポインタiを歩進させてステップSF5−2に処理を戻す。
このように、ステップSF5−2〜SF5−4では、ポインタiを歩進させながら、波形発生停止中の波形発生エリアWG[i]を検索する。そして、波形発生停止中の波形発生エリアWG[i]が検索されると、上記ステップSF5−2の判断結果が「YES」になり、ステップSF5−5に進み、レジスタxで指定されるテーブルTBL[x]に含まれるデータセットを音色データテーブルTCTから読み出し、それらをポインタiで指定される波形発生エリアWG[i]の対応するレジスタにストアする。
すなわち、テーブルTBL[x]の周波数PITCHを波形発生エリアWG[i]のレジスタPITCHに、テーブルTBL[x]の振幅AMPを波形発生エリアWG[i]のレジスタAMPに、テーブルTBL[x]のベロシティテーブル番号VTを波形発生エリアWG[i]のレジスタVTに、テーブルTBL[x]のキースケールテーブル番号KSを波形発生エリアWG[i]のレジスタKSにそれぞれストアする。また、ステップSF5−5では、波形発生エリアWG[i]の読み出しアドレスADRをゼロリセットした後、波形発生エリアWG[i]のフラグONを「1」にセットして本処理を終える。
パラメータセット処理が完了すると、CPU7は図16に示すステップSG9に処理を進める。ステップSG9では、ポインタiで指定されるループ処理エリアLPT[i]のレジスタLOOPに格納されるループ間隔LOOPに、1msec内に実行されるタイマインタラプト処理回数Dを乗算したループ再生期間をループ処理エリアLPT[i]のカウンタTIMEにストアする。この後、ステップSG3に進み、全てのループ処理エリアLPT[i]〜LPT[L]について検索し終えたかどうかを判断し、検索し終えた場合には、判断結果が「YES」となり、本処理を完了させる。
このように、ループ処理では、ループ再生中のループ処理エリアLPT[i]を検索し、当該ループ処理エリアLPT[i]が波形再発生タイミングに達した時点で、波形発生停止中の波形発生エリアWG[i]に音色データテーブルTCTから読み出したテーブルTBL[IDX]のデータセットを与え、この後、ループ再生完了したループ処理エリアLPT[i]のループ間隔LOOPに、1msec内に実行されるタイマインタラプト処理回数Dを乗算したループ再生期間をループ処理エリアLPT[i]のカウンタTIMEにストアする。
以上説明したように、本実施例によれば、ウェーブレット波形WLの発生タイミング、周波数および振幅を決めるデータセットを複数備えた音色データテーブルTCTから発生タイミング順に読み出したデータセットが指定する周波数および振幅のウェーブレット波形WLを発生し、発生した複数のウェーブレット波形WLを重ね合わせるウェーブレット逆変換にて所定音色の楽音波形を再生するので、正弦波合成方式で行われるエンベロープ処理を必要とせず、比較的簡単な処理で複雑な波形を形成することが可能になっている。
また、上述した実施例では、データセットの周波数を押鍵された鍵のノート番号NOTEに応じて変調するので、押鍵音毎に音色変化を与えることが可能になる。さらに、データセットの振幅をベロシティ変換出力およびキースケール変換出力に応じて変調可能にしたため、押鍵タッチやモジュレーションホイール6の操作で音色変化を与えたり、押鍵された鍵毎に異なる音色の楽音を発生させることもできる。
本発明による一実施例である電子楽器の全体構成を示すブロック図である。 音色データテーブルTCTの構成を示す図である。 ROM3に格納されるベロシティテーブルVLT(0)〜VLT(3)とベロシティ番号VTとの対応関係を示す図である。 ROM3に格納されるキースケールテーブルKST(0)〜KST(3)とキースケール番号KSとの対応関係を示す図である。 音色データテーブルTCTの一例を示す図である。 RAM4のワークエリアの構成を示す図である。 音源8の構成を示すブロック図である。 波形ROM81に格納されるウェーブレット波形WLを示す波形図である。 メインルーチンの動作を示すフローチャートである。 鍵盤処理の動作を示すフローチャートである。 モジュレーションホイール処理の動作を示すフローチャートである。 タイマインタラプト処理の動作を示すフローチャートである。 パラメータ更新処理の動作を示すフローチャートである。 音色データテーブル読み出し処理の動作を示すフローチャートである。 パラメータセット処理の動作を示すフローチャートである。 ループ処理の動作を示すフローチャートである。
符号の説明
1 鍵盤
2 スイッチ部
3 ROM
4 RAM
5 表示部
6 モジュレーションホイール
7 CPU
8 音源
9 D/A
10 サウンドシステム
11 スピーカ

Claims (6)

  1. 発生タイミング、周波数、振幅およびベロシティ変換特性を一組とした音色データを複数記憶する音色データ記憶手段と、
    正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を記憶する波形記憶手段と、
    発音すべき音高および音量を指定する指定手段と、
    前記指定手段により発音すべき音高および音量が指定された場合に、前記音色データ記憶手段から発生タイミング順に音色データを読み出す音色データ読み出し手段と、
    前記音色データ読み出し手段により読み出された音色データの周波数を、前記指定手段が指定する発音音高に応じて変調し、変調された周波数のウェーブレット波形を前記波形記憶手段から読み出す波形読み出し手段と、
    前記音色データ読み出し手段により読み出された音色データのベロシティ変換特性に従って前記指定手段が指定する音量を変換し、変換された音量に応じて当該音色データの振幅を調整する振幅調整手段と、
    前記振幅調整手段によって調整された音色データの振幅を、前記波形読み出し手段により読み出されるウェーブレット波形に乗算して出力する波形乗算手段と、
    前記波形乗算手段から発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生手段と
    を具備することを特徴とする波形発生装置。
  2. 発生タイミング、周波数、振幅およびキースケール変換特性を一組とした音色データを複数記憶する音色データ記憶手段と、
    正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を記憶する波形記憶手段と、
    発音すべき音高および音量を指定する指定手段と、
    前記指定手段により発音すべき音高および音量が指定された場合に、前記音色データ記憶手段から発生タイミング順に音色データを読み出す音色データ読み出し手段と、
    前記音色データ読み出し手段により読み出された音色データの周波数を、前記指定手段が指定する発音音高に応じて変調し、変調された周波数のウェーブレット波形を前記波形記憶手段から読み出す波形読み出し手段と、
    前記音色データ読み出し手段により読み出された音色データのキースケール変換特性に従って前記指定手段が指定する音高に対応したキースケール値を発生し、そのキースケール値に応じて当該音色データの振幅を調整する振幅調整手段と、
    前記振幅調整手段によって調整された音色データの振幅を、前記波形読み出し手段により読み出されるウェーブレット波形に乗算して出力する波形乗算手段と、
    前記波形乗算手段から発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生手段と
    を具備することを特徴とする波形発生装置。
  3. 発生タイミング、周波数、振幅、ベロシティ変換特性およびキースケール変換特性を一組とした音色データを複数記憶する音色データ記憶手段と、
    正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を記憶する波形記憶手段と、
    発音すべき音高および音量を指定する指定手段と、
    前記指定手段により発音すべき音高および音量が指定された場合に、前記音色データ記憶手段から発生タイミング順に音色データを読み出す音色データ読み出し手段と、
    前記音色データ読み出し手段により読み出された音色データの周波数を、前記指定手段が指定する発音音高に応じて変調し、変調された周波数のウェーブレット波形を前記波形記憶手段から読み出す波形読み出し手段と、
    前記音色データ読み出し手段により読み出された音色データのベロシティ変換特性に従って前記指定手段が指定する音量を変換すると共に、当該音色データのキースケール変換特性に従って前記指定手段が指定する音高に対応したキースケール値を発生し、変換された音量とキースケール値とに応じて当該音色データの振幅を調整する振幅調整手段と、
    前記振幅調整手段によって調整された音色データの振幅を、前記波形読み出し手段により読み出されるウェーブレット波形に乗算して出力する波形乗算手段と、
    前記波形乗算手段から発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生手段と
    を具備することを特徴とする波形発生装置。
  4. 発音すべき音高および音量を指定する指定処理と、
    発生タイミング、周波数、振幅およびベロシティ変換特性を一組とした音色データを予め複数記憶しておき、前記指定処理にて発音すべき音高および音量が指定された場合に、これら音色データを発生タイミング順に読み出す音色データ読み出し処理と、
    正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を予め記憶しておき、前記音色データ読み出し処理にて読み出された音色データの周波数を、前記指定処理で指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す波形読み出し処理と、
    前記音色データ読み出し処理にて読み出された音色データのベロシティ変換特性に従って前記指定処理で指定された音量を変換し、変換された音量に応じて当該音色データの振幅を調整する振幅調整処理と、
    前記振幅調整処理により調整された音色データの振幅を、前記波形読み出し処理にて読み出されるウェーブレット波形に乗算して出力する波形乗算処理と、
    前記波形乗算処理により発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生処理と
    をコンピュータで実行させることを特徴とする波形発生処理プログラム。
  5. 発音すべき音高および音量を指定する指定処理と、
    発生タイミング、周波数、振幅およびキースケール変換特性を一組とした音色データを予め複数記憶しておき、前記指定処理にて発音すべき音高および音量が指定された場合に、これら音色データを発生タイミング順に読み出す音色データ読み出し処理と、
    正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を予め記憶しておき、前記音色データ読み出し処理にて読み出された音色データの周波数を、前記指定処理で指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す波形読み出し処理と、
    前記音色データ読み出し処理にて読み出された音色データのキースケール変換特性に従って前記指定処理で指定された音高に対応したキースケール値を発生し、そのキースケール値に応じて当該音色データの振幅を調整する振幅調整処理と、
    前記振幅調整処理により調整された音色データの振幅を、前記波形読み出し処理にて読み出されるウェーブレット波形に乗算して出力する波形乗算処理と、
    前記波形乗算処理により発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生処理と
    をコンピュータで実行させることを特徴とする波形発生処理プログラム。
  6. 発音すべき音高および音量を指定する指定処理と、
    発生タイミング、周波数、振幅、ベロシティ変換特性およびキースケール変換特性を一組とした音色データを予め複数記憶しておき、前記指定処理にて発音すべき音高および音量が指定された場合に、これら音色データを発生タイミング順に読み出す音色データ読み出し処理と、
    正弦波にガウス関数包絡線を乗算してなるウェーブレット波形を予め記憶しておき、前記音色データ読み出し処理にて読み出された音色データの周波数を、前記指定処理で指定された発音音高に応じて変調し、変調された周波数のウェーブレット波形を読み出す波形読み出し処理と、
    前記音色データ読み出し処理により読み出された音色データのベロシティ変換特性に従って前記指定処理で指定された音量を変換すると共に、当該音色データのキースケール変換特性に従って前記指定処理で指定された音高に対応したキースケール値を発生し、変換された音量とキースケール値とに応じて当該音色データの振幅を調整する振幅調整処理と、
    前記振幅調整処理によって調整された音色データの振幅を、前記波形読み出し処理にて読み出されるウェーブレット波形に乗算して出力する波形乗算処理と、
    前記波形乗算処理により発生タイミング順に出力される一連のウェーブレット波形を加算して楽音波形を発生する楽音波形発生処理と
    をコンピュータで実行させることを特徴とする波形発生処理プログラム。
JP2004019258A 2004-01-28 2004-01-28 波形発生装置および波形発生処理プログラム Expired - Fee Related JP4158198B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004019258A JP4158198B2 (ja) 2004-01-28 2004-01-28 波形発生装置および波形発生処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004019258A JP4158198B2 (ja) 2004-01-28 2004-01-28 波形発生装置および波形発生処理プログラム

Publications (2)

Publication Number Publication Date
JP2005215103A JP2005215103A (ja) 2005-08-11
JP4158198B2 true JP4158198B2 (ja) 2008-10-01

Family

ID=34903522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004019258A Expired - Fee Related JP4158198B2 (ja) 2004-01-28 2004-01-28 波形発生装置および波形発生処理プログラム

Country Status (1)

Country Link
JP (1) JP4158198B2 (ja)

Also Published As

Publication number Publication date
JP2005215103A (ja) 2005-08-11

Similar Documents

Publication Publication Date Title
JP3812328B2 (ja) 自動伴奏パターン発生装置及び方法
JPH03184095A (ja) 電子楽器
JP4158198B2 (ja) 波形発生装置および波形発生処理プログラム
JP4561531B2 (ja) 楽音制御装置および楽音制御処理のプログラム
JP2768168B2 (ja) 楽音合成装置
JP3092273B2 (ja) 電子楽器
JP3279861B2 (ja) 楽音信号発生装置
JP2989423B2 (ja) 電子楽器
JP6528752B2 (ja) 楽音再生装置、楽音再生方法、プログラムおよび電子楽器
JP4614131B2 (ja) 波形発生装置および波形発生プログラム
JP3832383B2 (ja) 楽音生成装置及びプログラム
JP7006744B1 (ja) 電子楽器、楽音発生方法およびプログラム
JPS6120093A (ja) 波形合成装置
JP3832382B2 (ja) 楽音生成装置及びプログラム
JP5347405B2 (ja) 波形発生装置および波形発生処理プログラム
JPH0497196A (ja) 楽音合成装置
JP5029898B2 (ja) 音源装置および音源処理プログラム
JP2684833B2 (ja) 楽音信号発生装置
JP2006301274A (ja) 電子楽器
JP4441928B2 (ja) 音量制御装置および音量制御処理プログラム
JPH0792978A (ja) 楽音発生装置
JP2001215973A (ja) 楽音制御パラメータ生成方法、楽音制御パラメータ生成装置および記録媒体
JP4548327B2 (ja) 楽音制御装置および楽音制御処理のプログラム
JP5648836B2 (ja) 楽音制御装置およびプログラム
JPH086563A (ja) 楽音発生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080623

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080706

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4158198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130725

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees