JP2000010565A - 波形デ―タ生成方法、波形デ―タ生成プログラムを記録した記録媒体、波形デ―タ生成装置および波形デ―タを記録した記録媒体 - Google Patents

波形デ―タ生成方法、波形デ―タ生成プログラムを記録した記録媒体、波形デ―タ生成装置および波形デ―タを記録した記録媒体

Info

Publication number
JP2000010565A
JP2000010565A JP11076711A JP7671199A JP2000010565A JP 2000010565 A JP2000010565 A JP 2000010565A JP 11076711 A JP11076711 A JP 11076711A JP 7671199 A JP7671199 A JP 7671199A JP 2000010565 A JP2000010565 A JP 2000010565A
Authority
JP
Japan
Prior art keywords
waveform
loop
original
frequency component
waveform data
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
JP11076711A
Other languages
English (en)
Other versions
JP3659053B2 (ja
Inventor
Masahiro Kakishita
正尋 柿下
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 JP07671199A priority Critical patent/JP3659053B2/ja
Publication of JP2000010565A publication Critical patent/JP2000010565A/ja
Application granted granted Critical
Publication of JP3659053B2 publication Critical patent/JP3659053B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 原波形の個性をそのまま有し、再生時にノイ
ズを生じさせないアタック波形およびループ波形の波形
データを生成する。 【解決手段】 波形メモリ9には、書込回路11等を介
し、原波形の波形データが書き込まれる。CPU4は、
この原波形の周波数分析を時間的に相互にずれた複数の
区間について行い、各区間毎に、当該区間に属する原波
形の周波数成分を求める。また、原波形にループ部を設
定し、ループ部の終了位置から開始位置への移行の際の
位相および振幅の時間的変化の連続性が担保されるよう
に、ループ部の各周波数成分の位相および振幅を調整
し、調整後のループ部の各周波数成分からループ波形の
波形データを合成する。また、ループ波形と整合するよ
うに、原波形の立ち上がり部分に対応したアタック波形
の波形データを合成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、いわゆる波形メ
モリ音源のメモリに格納する楽音波形の波形データを生
成する波形データ生成方法、波形データ生成プログラム
を記録した記録媒体、波形データ生成装置および波形デ
ータを記録した記録媒体に関する。
【0002】
【従来の技術】メモリに予め記憶された楽音波形のサン
プルデータ(波形データ)を読み出すことにより楽音信
号を形成する波形メモリ音源が知られている。この種の
波形メモリ音源における波形データの格納方法として、
楽音波形の全波形のサンプルデータを格納しておくこと
も考えられる。しかし、メモリの記憶容量の制約がある
ため、この方法は得策とは言えない。そこで、多くの波
形メモリ音源は、楽音波形全体のサンプルデータをメモ
リに格納する代りに、楽音波形から切り出したアタック
波形とループ波形の波形データをメモリに格納し、これ
らの波形データをメモリから読み出すことにより楽音信
号を形成するという構成を採っている。さらに詳述する
と次の通りである。
【0003】一般的に楽音波形は、その先頭部分(発音
開始時点近傍の部分)においては波形が目まぐるしく変
化するが、それ以降の区間は波形の変化がほぼ定常的に
なる。そこで、楽音波形の先頭部分をアタック波形とし
て切り出し、この先頭部分以降の定常波形とみなしてよ
い区間、すなわち、ほぼ同一の波形の繰り返しとみなし
てよい区間から繰り返しの一単位となる波形をループ波
形として切り出し、これらのアタック波形とループ波形
の波形データを音源波形データとして波形メモリ音源の
メモリに格納するのである。そして、かかる波形メモリ
音源に対して楽音形成指示が与えられた場合、波形メモ
リ音源では、まず、指示された音高に対応した速度でア
タック波形の音源波形データがメモリから読み出され
る。そして、これに続き、同速度でループ波形の開始位
置(以下、ループスタートという)から終了位置(以
下、ループエンドという)までの音源波形データが繰り
返し読み出される。このようにして読み出されるアタッ
ク波形とループ波形の音源波形データにより、元の楽音
波形(以下、原波形という)とほぼ同じ波形を有し、か
つ、指定された音高に対応した楽音信号が形成されるの
である。
【0004】さて、以上説明した波形メモリ音源による
楽音信号形成を可能ならしむためには、音源波形データ
を予め生成し、波形メモリ音源のメモリに格納する作業
が必要である。そして、この音源波形データ生成作業の
中では、原波形からアタック波形およびループ波形を切
り出す作業が特に困難なものとされている。何故なら
ば、ループ波形の切り出し方が不適当であると、そのル
ープ波形をメモリから繰り返し読み出して楽音信号を形
成する場合に、そのループ波形の読み出し位置がループ
エンドからループスタートに戻る際にノイズが生じるか
らである。また、同様の問題が、アタック波形からルー
プ波形への移行の際にも生じる。そこで、従来は、この
ようなノイズを生じさせないよう以下のような方法が採
られていた。
【0005】<方法1>波形データ上で滑らかに接続で
きそうな2点を捜してループスタート、ループエンドと
する。この場合の2点の捜し方としては、互いの近傍の
相互相関関数が高い点を捜す方法、あるいは値および傾
きが同じとなる点を捜す方法等がある。このような2点
をループスタートおよびループエンドとすることによ
り、ループ波形を連続して再生した場合に、先行するル
ープ波形のループエンド近傍の波形と後続のループ波形
のループスタート近傍の波形が不連続を生じることなく
接続される。 <方法2>アタック波形からループ波形へ、ループエン
ドからループスタートへ、滑らかに再生波形が移行する
ように、波形の移行点の近傍部分の音源波形データに予
めクロスフェードをかけておく。 <方法3>原波形において定常波形とみなしてよい区間
にFFT(高速フーリエ変換)を施し、このFFTによ
って求められた原波形の各周波数成分のみからアタック
波形以降の部分を作成する。すなわち、アタック波形以
降の部分については、ループ波形の繰り返し読み出しと
いう方法ではなく、上記各周波数成分に対応した正弦波
を発生して合成する、という方法により生成する。
【0006】
【発明が解決しようとする課題】ところで、上述した従
来技術のうち、方法1は、連続再生されるループ波形が
一見滑らかに接続されているように見えても、ループ波
形を構成する各周波数成分に着目すると、その中には連
続再生される各ループ波形の接続点において不連続が生
じているものがあり、ループ波形と原波形とで音色が異
なったものとなる場合があるという問題があった。ま
た、方法2は、原波形の一部にクロスフェードを施して
音源波形データを生成するため、かかる音源波形データ
と原波形とでは音色が異なったものとなるという問題が
あった。また、方法3の場合、原波形のアタック波形以
降の一部の区間の各周波数成分を用いてアタック部以降
の部分を合成することから、元々の原波形が有していた
楽音としての個性を有する波形を合成することができな
いという問題があった。すなわち、原波形のアタック波
形以降の部分は、完全に定常的な変化をしている訳では
なく、かかる部分の各周波数成分の周波数、位相および
振幅は微妙な時間変動を呈しており、この時間変動は、
原波形の楽音としての個性を醸し出す重要な要因となっ
ている。しかるに上記方法3によれば、アタック波形以
降の部分のうちほんの短い区間の周波数成分に基づいて
アタック波形以降の部分を合成するため、かかる個性が
合成過程において捨象されてしまうのである。
【0007】この発明は以上説明した事情に鑑みてなさ
れたものであり、原波形の有していた個性を有し、か
つ、再生の際にノイズを生じさせない音源波形データを
原波形から生成することができる波形データ生成方法、
波形データ生成プログラムを記録した記録媒体、波形デ
ータ生成装置および該波形データ生成方法により得られ
た波形データを記録した記録媒体を提供することを目的
としている。
【0008】
【課題を解決するための手段】請求項1に係る発明は、
原波形の立ち上がり部分以降の部分に対応した波形デー
タであり、複数回繰り返されるループ波形の波形データ
を生成する波形データ生成方法において、前記原波形の
周波数分析を時間的に相互にずれた複数の区間について
行い、各区間毎に、当該区間に属する原波形の周波数成
分を求める周波数分析処理と、前記原波形のループ部の
開始位置および終了位置を決定するループ部決定処理
と、前記原波形の少なくとも一部の周波数成分につい
て、前記ループ部の終了位置以前の当該周波数成分の位
相および振幅の時間的推移と前記ループ部の開始位置以
降の当該周波数成分の位相および振幅の時間的推移とが
不連続を生じることなく接続されるように、前記ループ
部の当該周波数成分の位相および振幅を調整するループ
部スムージング処理と、前記ループ部スムージング処理
により位相および振幅が調整されたループ部の前記原波
形の各周波数成分に基づいて正弦波合成を行って前記ル
ープ波形の波形データを合成するループ波形合成処理と
を具備することを特徴とする波形データ生成方法を要旨
とする。
【0009】なお、請求項1に係る発明は、例えば次の
ような態様で実施することも可能である。 (1)請求項1に係る発明において、周波数分析処理に
より得られた複数の区間の各々における原波形の各周波
数成分から原波形に対応した正弦波合成波形を合成する
とともに、原波形からこの正弦波合成波形を差し引くこ
とにより残波形を求める。そして、ループ部決定処理に
おいては、残波形のレベルが所定値以下である区間内に
前記ループ部の開始位置および終了位置を設定する。
【0010】(2)ループ部決定処理において、次の条
件aおよびbを満たすようにループ部の開始位置および
終了位置を決定する。 a.原波形の基本波の当該開始位置での位相と当該終了
位置での位相との位相差が2nπ(nは整数)の近傍の
位相差となること。 b.原波形の基本波以外の各周波数成分の当該開始位置
での位相と当該終了位置での位相との位相差の2nπ
(nは整数)からのずれが所定の基準を満たすこと。
【0011】(3)請求項1に係る発明において、周波
数分析処理により得られた複数の区間の各々における原
波形の各周波数成分から原波形に対応した正弦波合成波
形を合成するとともに、原波形からこの正弦波合成波形
を差し引くことにより残波形を求める。そして、アタッ
ク波形合成処理を行う。このアタック波形合成処理で
は、まず、原波形のループ部以前の区間の各周波数成分
の位相および振幅の時間的推移とループ部スムージング
処理後の前記原波形のループ部の各周波数成分の位相お
よび振幅の時間的推移とが不連続を生じることなく接続
されるように、原波形のループ部以前の区間の各周波数
成分の位相および振幅を調整するアタック部スムージン
グ処理を実行する。次に、このアタック部スムージング
処理により位相および振幅が調整された各周波数成分か
ら正弦波合成波形を合成し、この正弦波合成波形に残波
形を加算してアタック波形の波形データを合成する。
【0012】(4)上記(3)のアタック部スムージン
グ処理において、次の処理を行う。すなわち、ループ部
以前の区間の各周波数成分のうちループ部スムージング
処理後の原波形のループ部の各周波数成分のいずれとも
対応しない周波数成分の振幅がループ部に至るまでの間
に次第に減少して消滅するように、当該周波数成分の振
幅を調整する。以上が請求項1に係る発明の実施態様の
例である。
【0013】次に請求項2に係る発明は、原波形の立ち
上がり部分以降の部分に対応した波形データであり、複
数回繰り返されるループ波形の波形データを生成する波
形データ生成方法において、前記原波形の周波数分析を
時間的に相互にずれた複数の区間について行い、各区間
毎に、当該区間に属する原波形の周波数成分を求める周
波数分析処理と、求められた複数の区間の各々における
前記原波形の各周波数成分に基づいて正弦波合成を行
い、合成された正弦波合成波形を原波形から差し引くこ
とにより残差波形を求める残差波形生成処理と、前記残
差波形のレベルが所定値以下の区間内であり、かつ、前
記原波形の各周波数成分のうちの少なくとも基本波の周
波数成分の位相が連続的に接続可能なポイントを、ルー
プ部の開始位置および終了位置として決定するループ部
決定処理と、決定されたループ部の前記原波形の各周波
数成分に基づいて正弦波合成を行って前記ループ波形の
波形データを生成するループ波形合成処理とを具備する
ことを特徴とする波形データ生成方法を要旨とする。
【0014】請求項3に係る発明は、原波形の立ち上が
り部分以降の部分に対応した波形データであり、複数回
繰り返されるループ波形の波形データを生成する波形デ
ータ生成方法において、前記原波形の周波数分析を時間
的に相互にずれた複数の区間について行い、各区間毎
に、当該区間に属する原波形の周波数成分を求める周波
数分析処理と、前記原波形上の第1ポイントを決定する
第1決定処理と、前記第1ポイントに対し、前記原波形
の各周波数成分のうちの少なくとも基本波の周波数成分
の位相が連続的に接続可能な複数の第2ポイントを決定
する第2決定処理と、前記第1ポイントと前記複数の第
2ポイントの前記原波形の各周波数成分の差に基づい
て、前記複数の第2ポイントから1つを選択する選択処
理と、前記第1ポイントと選択された第2ポイントによ
り指定されたループ部について、前記原波形の各周波数
成分に基づいて正弦波合成を行い、前記ループ波形の波
形データを生成するループ波形合成処理とを具備するこ
とを特徴とする波形データ生成方法を要旨とする。
【0015】請求項4に係る発明は、原波形の立ち上が
り部分に対応したアタック波形の波形データと、前記原
波形における立ち上がり部分以降の部分に対応した波形
データであって前記アタック波形に続いて複数回繰り返
されるループ波形の波形データとを当該原波形から生成
する波形データ生成方法において、前記原波形の周波数
分析を時間的に相互にずれた複数の区間について行い、
各区間毎に、当該区間に属する原波形の周波数成分を求
める周波数分析処理と前記原波形の各周波数成分のうち
の少なくとも基本波の周波数成分の位相が連続的に接続
可能なポイントを、ループ部の開始位置および終了位置
として決定するループ部決定処理と、前記原波形のルー
プ部以前の区間の各周波数成分の位相および振幅の時間
的推移と前記原波形のループ部の開始位置以降の当該周
波数成分の位相および振幅の時間的推移とが不連続を生
じることなく接続されるように、前記原波形のループ部
以前の区間の各周波数成分の位相および振幅を調整する
アタック部スムージング処理と、前記アタック部スムー
ジング処理により位相および振幅が調整された各周波数
成分に基づいて正弦波合成を行い、前記原波形の立ち上
がり部分に対応した前記アタック波形の波形データを合
成するアタック波形合成処理と、ループ部の前記原波形
の各周波数成分に基づいて正弦波合成を行って前記ルー
プ波形の波形データを生成するループ波形合成処理とを
具備することを特徴とする波形データ生成方法を要旨と
する。
【0016】請求項5に係る発明は、前記周波数分析に
より得られた複数の区間の各々における前記原波形の各
周波数成分に基づいて正弦波合成を行い、合成された正
弦波合成波形を原波形から差し引くことにより残差波形
を求める残差波形生成処理を具備し、前記アタック波形
合成処理では、前記正弦波合成により合成された正弦波
合成波形に前記残差波形を加算して前記アタック波形の
波形データを合成することを特徴とする請求項4に記載
の波形データ生成方法を要旨とする。
【0017】請求項6に係る発明は、前記アタック部ス
ムージング処理が、前記ループ部以前の区間の各周波数
成分のうち前記ループ部スムージング処理後の前記原波
形のループ部の各周波数成分のいずれとも対応しない周
波数成分のの振幅が前記ループ部に至るまでの間に次第
に減少して消滅するように、当該周波数成分の振幅を調
整する処理を含むことを特徴とする請求項4に記載の波
形データ生成方法を要旨とする。
【0018】請求項7に係る発明は、原波形の立ち上が
り部分以降の部分に対応した波形データであり、複数回
繰り返されるループ波形の波形データを生成する波形デ
ータ生成プログラムを記録した記録媒体において、前記
波形データ生成プログラムが、前記原波形の周波数分析
を時間的に相互にずれた複数の区間について行い、各区
間毎に、当該区間に属する原波形の周波数成分を求める
周波数分析処理と、前記原波形のループ部の開始位置お
よび終了位置を決定するループ部決定処理と、前記原波
形の少なくとも一部の周波数成分について、前記ループ
部の終了位置以前の当該周波数成分の位相および振幅の
時間的推移と前記ループ部の開始位置以降の当該周波数
成分の位相および振幅の時間的推移とが不連続を生じる
ことなく接続されるように、前記ループ部の当該周波数
成分の位相および振幅を調整するループ部スムージング
処理と、前記ループ部スムージング処理により位相およ
び振幅が調整されたループ部の前記原波形の各周波数成
分に基づいて正弦波合成を行って前記ループ波形の波形
データを生成するループ波形合成処理とを具備すること
を特徴とする記録媒体を要旨とする。
【0019】請求項8に係る発明は、原波形の立ち上が
り部分以降の部分に対応した波形データであり、複数回
繰り返されるループ波形の波形データを生成する波形デ
ータ生成装置において、波形データを記憶する記憶手段
と、前記原波形の波形データを外部から取り込んで前記
記憶手段に格納する原波形入力手段と、前記記憶手段に
記憶された原波形の波形データに基づき、前記ループ波
形の波形データを合成する波形データ生成処理を実行す
る演算手段とを具備し、該波形データ生成処理が、前記
原波形の周波数分析を時間的に相互にずれた複数の区間
について行い、各区間毎に、当該区間に属する原波形の
周波数成分を求める周波数分析処理と、前記原波形のル
ープ部の開始位置および終了位置を決定するループ部決
定処理と、前記原波形の少なくとも一部の周波数成分に
ついて、前記ループ部の終了位置以前の当該周波数成分
の位相および振幅の時間的推移と前記ループ部の開始位
置以降の当該周波数成分の位相および振幅の時間的推移
とが不連続を生じることなく接続されるように、前記ル
ープ部の当該周波数成分の位相および振幅を調整するル
ープ部スムージング処理と、前記ループ部スムージング
処理により位相および振幅が調整されたループ部の前記
原波形の各周波数成分に基づいて正弦波合成を行って前
記ループ波形の波形データを生成するループ波形合成処
理とを含むことを具備することを特徴とする波形データ
生成装置を要旨とする。
【0020】請求項9に係る発明は、原波形の立ち上が
り部分以降の部分に対応した波形データであり、複数回
繰り返されるループ波形の波形データを少なくとも記録
した記録媒体において、前記原波形の周波数分析を時間
的に相互にずれた複数の区間について行い、各区間毎
に、当該区間に属する原波形の周波数成分を求める周波
数分析処理と、前記原波形のループ部の開始位置および
終了位置を決定するループ部決定処理と、前記原波形の
少なくとも一部の周波数成分について、前記ループ部の
終了位置以前の当該周波数成分の位相および振幅の時間
的推移と前記ループ部の開始位置以降の当該周波数成分
の位相および振幅の時間的推移とが不連続を生じること
なく接続されるように、前記ループ部の当該周波数成分
の位相および振幅を調整するループ部スムージング処理
と、前記ループ部スムージング処理により位相および振
幅が調整されたループ部の前記原波形の各周波数成分に
基づいて正弦波合成を行って前記ループ波形の波形デー
タを合成するループ波形合成処理とを具備する波形デー
タ生成方法により得られたループ波形の波形データを記
録したことを特徴とする記録媒体を要旨とする。
【0021】
【発明の実施の形態】以下、本発明を更に理解しやすく
するため、実施の形態について説明する。かかる実施の
形態は、本発明の一態様を示すものであり、この発明を
限定するものではなく、本発明の範囲で任意に変更可能
である。
【0022】図1はこの発明の一実施形態である波形デ
ータ生成装置の構成を示すブロック図である。この図に
おいて、1は外部装置との間でMIDIイベントの授受
を行うためのMIDIインターフェース、2は各種の操
作スイッチが配備されたパネルスイッチ部、3は処理対
象である原波形等の表示を行うパネル表示器である。ま
た、4はこの波形データ生成装置全体の制御を行うCP
U、5はCPU4が実行する制御プログラムおよび各種
の制御情報を記憶したROM、6は各種制御情報を記憶
するためのRAMである。ここで、ROM5に記憶され
た制御プログラムには、この波形データ生成装置の全般
的な制御を行うためのプログラムの他、外部より入力さ
れる原波形の波形データからアタック波形およびループ
波形を切り出し、音源波形データを生成するための音源
波形データ生成プログラムと、この波形データ生成装置
を波形メモリ音源として機能させるための制御プログラ
ムとが含まれている。また、7はCD(コンパクトディ
スク)、HD(ハードディスク)等の記録媒体、8はこ
の記録媒体に対するアクセスを行うためのドライブであ
る。
【0023】9は外部から入力される原波形の波形デー
タおよび本装置内で生成された音源波形データを記憶す
るための波形メモリ、10はこの波形メモリ8に対する
アクセスを管理するアクセス管理部である。11は書込
回路であり、外部から入力される原波形の波形データあ
るいはドライブ8によって記録媒体7から読み出された
原波形の波形データを受け取り、アクセス管理部10を
介して波形メモリ9に書き込む手段である。12は音源
であり、アクセス管理部10を介して読み出される波形
データを用いて楽音信号を形成する手段である。13は
この音源12によって形成された楽音信号を楽音として
出力するサウンドシステムである。14は以上説明した
各要素間の情報の授受のために使用されるバスラインで
ある。
【0024】図2〜図7は本実施形態の動作を示すフロ
ーチャートである。以下、これらのフローチャートを参
照しつつ、本実施形態の動作について説明する。この波
形データ生成装置に電源が投入されると、CPU4は図
2にフローを示すメインルーチンの実行を開始し、最初
にRAM6内の各種制御情報の初期化を行う(ステップ
S1)。この初期設定が終了すると、CPU4は、各種
の制御動作の起動要因となるイベントの有無のチェック
を行う(ステップS2およびS3)。そして、何等かの
制御動作を起動する要因がある場合には当該要因が何で
あるかを判定し(ステップS4)、MIDI処理(ステ
ップS5)、スイッチ処理(ステップS6)またはその
他の処理(ステップS7)のうち要因に対応したものを
実行した後、再び要因チェック(ステップS2)に戻
り、同様の処理を繰り返す。以上がこの波形データ生成
装置の全般的な動作である。
【0025】次に本実施形態に係る波形データ生成装置
の動作について説明する。パネルスイッチ部2のスイッ
チ操作により、音源波形データの生成を要求するコマン
ドが入力されると、CPU4は、図2のメインフローに
おける「スイッチ処理」(ステップS6)として、図3
にフローを示す音源波形データ生成処理をROM5内の
音源波形データ生成プログラムに従って実行する。な
お、以下説明するステップS101〜S106の各処理
は、連続して自動的に実行するようにしてもよいし、あ
るいは、個別的にスイッチによって指示されたときに実
行するようにしてもよい。
【0026】まず、CPU4は、波形データ準備処理を
実行する(ステップS101)。この波形データ準備処
理では、CPU4による制御の下、外部から入力される
原波形の波形データあるいはドライブ8によって記録媒
体7から読み出された原波形の波形データが書込回路1
1に引き渡され、この書込回路11によりアクセス管理
部10を介して波形メモリ9に書き込まれる。
【0027】次にCPU4は、ステップS101におい
て波形メモリ9に書き込まれた波形データの分析処理を
実行する(ステップS102)。図4はこの波形データ
の分析処理の詳細な処理内容を示すフローチャートであ
る。この波形データの分析処理の前半のステップS20
1〜S205では、原波形から一定区間(以下、フレー
ムという)ずつ波形データを取り出し、これに時間窓を
乗じてFFTを施すという処理を繰り返す。図8はこの
処理が行われる様子を示すものである。この図8におい
て、WDは原波形、TW,TW,…は原波形の各フレー
ム内の波形データに乗じられる時間窓を例示したもので
ある。ステップS201〜S205の詳細な処理内容は
次の通りである。
【0028】まず、CPU4は、原波形の最初のフレー
ムを分析対象として指定する(ステップS201)。次
にCPU4は、分析対象となっているフレームの波形デ
ータに対し、時間窓を乗じるウィンドウ処理を行う(ス
テップS202)。なお、本実施形態では、1フレーム
の長さが原波形の基本波の8周期相当の時間長に設定さ
れている。従って、ステップS202では、この1フレ
ームの時間長に対応した時間窓が原波形の波形データに
乗じられる。
【0029】次にCPU4は、上記時間窓の乗じられた
1フレーム分の波形データのFFT処理を実行し、FF
T処理の結果をRAM6に保存する(ステップS20
3)。そして、分析(ウィンドウ処理およびFFT処
理)未了の波形データが未だ残っているか否かを判断す
る(ステップS204)。そして、分析未了の波形デー
タが残っている場合には、現在のフレームよりも1/8
フレーム周期だけ位相の進んだフレームを次のフレーム
として指定し、ステップS202に戻る。
【0030】以後、1/8フレーム周期ずつ分析対象を
シフトしつつ原波形の分析処理(ステップS202、S
203)が繰り返され、原波形の最後のフレームまでの
分析処理が終了すると、ステップS204からステップ
S205へ進む。
【0031】以上の処理により、RAM6内に、各フレ
ーム毎に当該フレーム内の原波形(厳密には時間窓が乗
じられた原波形)のFFT結果(各フレームのスペクト
ル)が保存される。
【0032】次にステップS205に進むと、RAM6
に保存された各フレームのFFT結果において周波数成
分の大きさがピークとなる点を求め、さらに各ピーク点
の周波数、位相、振幅を求める。そして、各ピーク点の
周波数、位相、振幅について前後のフレームで比較し、
上手く接続できるピーク点同士の対応付けを行う。この
対応付けされたピーク点同士を複数フレームにわたって
接続してゆくことにより、原波形の主要な周波数成分
(基本波および主要な倍音成分)の、最初のフラームか
ら最後のフレームまで移り行く間の、周波数、位相およ
び振幅の軌跡が求められる。そして、このようにして求
められた主要な周波数成分の周波数、位相および振幅の
軌跡を、分析データとしてRAM6に保存する。
【0033】次にステップS206に進むと、RAM6
に保存された分析データを用いて合成データを生成す
る。図9はこの合成データの作成処理および後述する残
波形データの作成処理(ステップS207)をハードウ
ェア的に示したものである。既に説明したように、分析
データは、最初のフレームから最後のフレームに至るま
での、原波形の主要な周波数成分の周波数、位相および
振幅の軌跡を表している。この原波形の主要な周波数成
分の周波数、位相および振幅の軌跡を用いて、基本波、
2次倍音、3次倍音、…といった原波形の主要な周波数
成分の波形(正弦波)を合成し、これを加算することに
より正弦波合成波形を生成する。そして、この正弦波合
成波形のサンプルデータである正弦波合成波形データを
RAM6に保存する。
【0034】次にステップS207に進むと、波形メモ
リ9内の原波形の波形データから上記正弦波合成波形デ
ータを引き算し、この結果得られる残波形のサンプルデ
ータを残波形データとしてRAM6に保存する。図10
はこの場合の残波形の例を示したものである。この残波
形は、正弦波によって合成することができなかった原波
形の成分であり、ノイズや周波数が急激に変化する楽音
のアタック部の成分等によって構成されていると考えら
れる。以上が波形データの分析処理の詳細である。
【0035】図3において、波形データの分析処理(ス
テップS102)が終了すると、CPU4はループポイ
ント決定処理を実行する(ステップS103)。図5は
このループポイント決定処理の詳細な処理内容を示すフ
ローチャートである。このループポイント決定処理およ
び後述するループ波形作成処理(ステップS104)の
前半部分では、原波形からループ波形を切り出す区間の
両端のループポイントLP1およびLP2を決定する。
各ループポイントの決定においては、まず、ループポイ
ントLP1を決定し、次いでこのループポイントLP1
を基準としてループポイントLP2を相対移動させつつ
ループポイントLP1との関係で最適なループポイント
LP2を求めるという手順を採る。なお、ループポイン
トLP1およびLP2の時間軸上での前後関係はどのよ
うに定めても構わないが、以下の説明では、便宜上、時
間軸上において前のループポイント(すなわち、ループ
スタートLPS)をループポイントLP1、後のループ
ポイント(すなわち、ループエンドLPE)をループポ
イントLP2としている。
【0036】ループポイント決定処理では、まず、ルー
プポイントLP1の位置および上述したループポイント
LP2の相対移動を行うためのインデックスnの変化範
囲nmin〜nmax(ただし、nminはnの最小
値、nmaxはnの最大値である)の指定を行う(ステ
ップS301)。ここで、LP1、nminおよびnm
axの指定は、CPU4が指定を促す適当なメッセージ
をパネル表示器3に表示し、使用者がこれに応答してパ
ネルスイッチ部2を操作し、LP1、nminおよびn
maxを特定する情報を入力するという手順により行
う。
【0037】次にステップS302に進むと、CPU4
はRAM6内の残波形データを参照し、ステップS30
1において指定されたループポイントLP1と、このル
ープポイントからnmax相当隔たった点との間の区間
内の残差(すなわち、残差波形のレベル)を所定の閾値
と比較して、微小であるか否かを判断する。この判断結
果が「NO」である場合にはステップS301に戻って
LP1、nminおよびnmaxの指定をやり直し、
「YES」である場合にはステップS303に進む。こ
のステップS301およびS302の処理により、図1
0に例示するように、残波形のレベルが十分に微小であ
り、原波形の各周波数成分が比較的安定していると考え
られる区間内にループポイントLP1およびこれを基準
としたループポイントLP2の相対移動範囲が設定され
ることとなる。
【0038】次にステップS303に進むと、インデッ
クスnをその変化範囲内の最小値nminに設定する。
次いでステップS304に進むと、ループポイントLP
1における基本波の位相を基準とし、これより位相がほ
ぼ2nπ(この場合、n=nmin)だけ隔たった位置
を仮のループポイントLP2として設定する。
【0039】ここで、図11を参照し、このステップS
304における処理の内容についてやや詳細に説明す
る。RAM6内の分析データは、各フレーム毎の各周波
数成分の周波数、位相および振幅を表すデータを含んで
いる。これらのデータから各フレームにおける基本波成
分の位相を表すデータを選択してフレーム順に並べてグ
ラフ化すると、図11(a)に示すように、原波形の基
本波成分の位相の時間的変化を表す位相軌跡が得られ
る。また、この位相軌跡の各点の位相角θについてsi
nθを求めれば、図11(b)に示すように原波形に含
まれる基本波の波形を求めることができる。
【0040】ステップS304における処理では、図1
1(a)に例示する基本波の位相軌跡において、ループ
ポイントLP1における基本波の位相(図11(a)の
例では位相角0)を基準とし、これより位相がほぼ2n
π(図11(a)の例では12π)だけ隔たった点を仮
のループポイントLP2とするのである。これは、ルー
プポイントLP1〜LP2までの区間の原波形を繰り返
し再生した場合に原波形中の基本波の位相の時間的変化
に不連続が生じないようにするためである。
【0041】次にステップS305に進むと、ステップ
S304において設定した仮のループポイントLP2に
おける各倍音の位相の合成距離を算出する。ここで、合
成距離について説明すると次の通りである。まず、上記
ステップS305において、基本波についてはループポ
イントLP1およびLP2間の位相差を厳密に2nπ
(nは整数)としない場合もある。また、原波形を構成
する各倍音と基本波の周波数比は必ずしも整数比ではな
く、原波形を構成する各倍音によっては、ループポイン
トLP1およびLP2間の位相差が2nπ(nは各倍音
毎に異なる整数。例えばm倍音なら、基本波に対するn
をm倍した値)からずれている場合がある。合成距離
は、原波形の周波数成分全体としてこの“ずれ”がどの
程度であるかを表す量である。この合成距離の算出方法
としては、例えば以下の各方法が考えられる。
【0042】<方法1>各周波数成分毎に、次式により
与えられるΔDを求め、このΔDを全倍音について累算
したものを合成距離とする。 ΔD=√(2(1−cos(φ(LP2)−φ(LP
1))) ただし、上記式において、φ(LP1)およびφ(LP
2)は、各々ループポイントLP1およびLP2の各位
置における当該周波数成分の位相角である。
【0043】<方法2>各周波数成分について、ループ
ポイントLP1およびLP2間の位相差とこの位相差に
最も近い2nπ(nは整数)との差分の2乗を求め、そ
の結果を累算したものを合成距離とする。
【0044】<方法3>上記方法2において、各周波数
成分について求めた上記差分の2乗値に重みを付けて累
算し、合成距離を求める。重みは、低次倍音ほど大きな
値とする。
【0045】以上のようにして合成距離の算出を終える
と、ステップS306に進み、n=nmaxか否か、す
なわち、変化範囲内の全てについてステップS304お
よびS305の処理を終えたか否かを判断する。この判
断結果が「NO」の場合は、nを1だけインクリメント
し(ステップS307)、ステップS304に戻って同
様の処理を繰り返す。そして、変化範囲内の全てのnに
ついて、仮のループポイントLP2の設定が行われ(ス
テップS304)、当該LP2における合成距離の算出
(ステップS305)が行われると、ステップS306
の判断結果が「YES」となってステップS308に進
む。
【0046】次にステップS308に進むと、最小の合
成距離が得られたnを最適なループポイントLP2に対
応したインデックスNと決定する。そして、LP1+2
Nπの位置が(正式な)ループポイントLP2として設
定される。次いでステップS309に進み、ループポイ
ントLP1と設定されたループポイントLP2との間の
各倍音毎の位相差の2nπからのずれのばらつきが充分
に小さいか否か、すなわち、極端に大きなずれが生じて
いる倍音がないか否かを判断し、この判断結果が「YE
S」の場合はループポイント決定処理を終了する。一
方、ステップS309の判断結果が「NO」の場合には
パネル表示器3にエラー表示をしてループポイント決定
処理を終了する。この場合、所定のコマンドをパネルス
イッチ部2から入力することにより、ステップS301
に戻ってループポイント決定処理を再実行することが可
能である。以上がループポイント決定処理の詳細であ
る。
【0047】図3において、ループポイント決定処理
(ステップS103)が終了すると、CPU4はループ
波形作成処理を実行する(ステップS104)。図6は
このループ波形作成処理の処理内容を示すフローチャー
トである。
【0048】まず、CPU4は、何倍音まで含むループ
波形を作成するかの指定を促すメッセージをパネル表示
器3に表示し、使用者がパネルスイッチ部2を操作する
ことにより指定する倍音の次数を読み込む(ステップS
401)。
【0049】次にステップS402に進み、基本波のル
ープポイントLP1における位相角との位相差がほぼ2
Nπとなる位置をループポイントLP2として指定す
る。次にステップS403に進み、インデックスmに
「1」をセットする。
【0050】そして、m倍音(m=1の場合は基本波)
について、以下説明するステップS404およびS40
5からなるループ部スムージング処理を実行する。この
ループ部スムージング処理は、ループ部の終了位置(こ
の場合、ループポイントLP2)以前のm倍音の位相お
よび振幅の時間的推移とループ部の開始位置(この場
合、ループポイントLP1)以降のm倍音の位相および
振幅の時間的推移とが不連続を生じることなく接続され
るようにループポイントLP1およびLP2間の各フレ
ームのm倍音に対応した分析データの修正を行うもので
ある。すなわち、このループ部スムージング処理は、ル
ープ波形が繰り返し再生される場合における再生波形の
m倍音の位相の時間的変化の連続性および振幅の時間的
変化の連続性を担保するための処理である。
【0051】まず、ステップS404では、m倍音の位
相軌跡のスムージングを行う。ここで、図12を参照
し、このステップS404におけるスムージング処理に
ついて説明する。既に説明した通り、ループポイントL
P2は、基本波のループポイントLP1およびLP2間
の位相差がほぼ2Nπ(Nは整数)となるように設定さ
れているが、この場合の位相差は2nπと厳密に一致し
ないこともある。また、倍音の中にはループポイントL
P1およびLP2間の位相差が2nπ(nは整数。m倍
音についてはn=m×N)からずれているものもある。
そこで、このようにループポイントLP1およびLP2
間の位相差が2nπからずれているm倍音については、
図12に破線によって示すように、ループポイントLP
1およびLP2間の位相差を2nπとするための位相軌
跡の修正を行うのである。これがステップS404にお
けるスムージング処理である。
【0052】このスムージング処理の具体的な方法とし
ては、例えば、ループポイントLP1およびLP2間の
各フレームにおけるm倍音の位相を表す分析データ(位
相データ)をRAM6から読み出し、これらのデータか
ら得られる位相軌跡においてループポイントLP1およ
びLP2間の位相差が2nπとなるように、各データに
一律に適切な係数を乗じる方法(係数乗算によるスムー
ジング)等が考えられる。係数乗算によるスムージング
では、LP1とLP2の間のm倍音の分析データの特徴
を保存したままで、該分析データをLP2からLP1へ
滑らかに接続することができる。
【0053】次にステップS405に進むと、m倍音の
振幅軌跡のスムージングを行う。ここで、図13を参照
し、このステップS405におけるスムージング処理に
ついて説明する。上記ステップS404のスムージング
処理の結果、ループポイントLP2(LPE)からルー
プポイントLP1(LPS)への移行の際のm倍音につ
いての位相変化の連続性が担保された。しかし、一般的
にm倍音の振幅は時間的に変動しているので、図12に
示すように、ループポイントLP1およびLP2の各位
置においてm倍音の振幅が異なっている場合がある。か
かる場合に何等修正を行わないと、ループポイントLP
1およびLP2間の原波形を繰り返し再生する場合にお
いて、再生位置がループポイントLP2(LPE)から
ループポイントLP1(LPS)へ移行する際に、再生
波形の振幅に不連続が生じ、ノイズの原因となる。そこ
で、このようにループポイントLP1およびLP2の2
点におけるm倍音の振幅に差がある場合には、図13に
破線によって示すように、これらの2点におけるm倍音
の振幅が一致するようm倍音の振幅軌跡の修正を行うの
である。これがステップS405におけるスムージング
処理である。
【0054】このスムージング処理の具体的な方法とし
ては、例えば次のような方法が考えられる。すなわち、
まず、ループポイントLP1およびLP2間の各フレー
ムにおけるm倍音の振幅を表す分析データ(振幅デー
タ)をRAM6から読み出し、ループポイントLP1に
対応した振幅データとループポイントLP2に対応した
振幅データの差分を求める。次いで絶対値が0からこの
差分に相当する値まで次第に大きくなるような正または
負の補正値列を用意する。そして、この補正値列におけ
る各補正値を先頭のものから順に、ループポイントLP
1からLP2に至るまでの区間内の各振幅データに各々
加算する。このような補正を行うことにより、m倍音の
分析データの変化特性を保ったまま、ループポイントL
P2における振幅データをループポイントLP1におけ
る振幅データと一致させ、振幅の変化の連続性を担保す
ることができる。この方法を補正値加算によるスムージ
ングと呼ぶ。
【0055】次にステップS406に進むと、ステップ
S401において指定された倍音までの全倍音について
ステップS404およびS405の処理を終えたか否か
を判断し、この判断結果が「NO」の場合はmを1だけ
インクリメントし(ステップS407)、ステップS4
04に戻る。一方、ステップS406の判断結果が「Y
ES」の場合はステップS408に進む。
【0056】次にステップS408に進むと、ループ波
形の合成処理を行う。このステップS408に進んだ時
点において、ループポイントLP1およびLP2間の各
フレームに対応した分析データのうち基本波および指定
された各倍音に対応した位相データおよび周波数データ
のスムージング処理が完了している。このステップS4
08の合成処理では、このスムージング処理の施された
ループポイントLP1およびLP2間の各フレームの分
析データに対し逆FFTが施され、ループポイントLP
1およびLP2間のループ波形が合成される。以上がル
ープ波形作成処理の詳細である。
【0057】図3において、ループ波形作成処理(ステ
ップS104)が終了すると、CPU4はアタック波形
作成処理を実行する(ステップS105)。図7はこの
アタック波形作成処理の処理内容を示すフローチャート
である。
【0058】このアタック波形作成処理では、原波形か
らアタック部に対応した区間内の波形を切り出し、この
波形に加工を施すことにより、ループ波形との間で各周
波数成分毎に位相および振幅の変化の連続性を担保でき
るようなアタック波形を合成する。また、加工は、アタ
ック部として切り出した原波形の各周波数成分の位相お
よび振幅とループ波形の各周波数成分の位相および振幅
とのクロスフェードを行うという手段により行う。以
下、図7に示すフローに従い、このアタック波形作成処
理の詳細について説明する。
【0059】まず、CPU4は、原波形においてアタッ
ク部を切り出す範囲および上述したクロスフェードを行
う範囲の指定を促すメッセージをパネル表示器3に表示
する。使用者は、これに応答し、パネルスイッチ部2の
操作により、アタック部の範囲、クロスフェードを行う
範囲の開始位置XFSおよび終了位置XFEを指定す
る。ここで、クロスフェードの終了位置XFEはアタッ
ク部後端のループ波形と接続される位置であり、一方、
開始位置XFSは該位置XFEから所定量だけ前方のア
タック部中の位置である。CPU4は、使用者によって
指定された情報を読み込む(以上、ステップS50
1)。
【0060】次にステップS502に進み、RAM6内
の分析データを参照することにより、ステップS501
において指定されたアタック部の各周波数成分とループ
波形の各周波数成分とを対応付ける。
【0061】次にステップS503に進み、アタック部
およびループ波形の各周波数成分の位相の連続性が得ら
れるようにクロスフェード範囲の終了位置XFEを調整
する。すなわち、ループスタートLPSにおけるループ
波形の各周波数成分の位相と終了位置XFEにおける原
波形における各周波数成分の位相とを各々対応する周波
数成分同士で対比して位相差を各々求め、主要な周波数
成分(例えば基本波)の位相差と2nπとのずれが許容
範囲を超えている場合には、そのずれが許容範囲に収る
ように終了位置XFEの調整を行うのである。
【0062】次にステップS504に進み、クロスフェ
ード範囲内において原波形およびループ波形の各周波数
成分の位相および振幅のスムージングを行う。図14は
この場合のm倍音の位相のスムージングの処理内容、図
15はm倍音の振幅のスムージングの処理内容を各々例
示するものである。なお、この図14および図15に示
す例では、クロスフェード範囲の開始位置XFSがアタ
ック部の開始位置から所定時間経過した位置に設定され
ている。一方、クロスフェード範囲の終了位置XFEは
ループ波形と接続されるポイント(すなわち、ループス
タートLPS)である。この図においてループスタート
LPS、ループエンドLPEとなっているが、これは、
ループ波形作成処理で作成されたループ波形のループポ
イントLP1、LP2にそれぞれ対応している。
【0063】まず、図14を参照し、原波形およびルー
プ波形の各周波数成分の位相のスムージング処理につい
て説明する。図14において、L1は原波形のアタック
部のクロスフェード範囲の1つの周波数成分(例えばm
倍音)の位相軌跡である。また、L2はこの周波数成分
に対応したループ波形の周波数成分の位相軌跡である。
ただし、L2の軌跡は、主要な周波数成分がループ波形
に連続的につながるよう、位相軸方向に基本波の2nπ
分シフトされた位置に表示されている(ステップS50
3の調整により、この接続は保証されている。)。
【0064】ステップS504における位相のスムージ
ング処理においては、この図14に例示するようにアタ
ック部の周波数成分の位相軌跡L1とループ波形の周波
数成分の位相軌跡L2とが不連続な状態となっている場
合に、位相軌跡L1から位相軌跡L2に連続的に移行す
るように、位相軌跡L1の修正を行う。そして、本実施
形態では、クロスフェード範囲において位相軌跡L1お
よびL2のクロスフェードを行うことによりこの位相の
スムージングを行う。具体的には次の通りである。
【0065】まず、ループスタートLPSおよびループ
エンドLPE間のループ波形の位相軌跡L2をそのまま
継ぎ足すことにより、ループスタートLPS以前の時間
領域まで延長された位相軌跡L2を作成する。なお、こ
のようにして延長された位相軌跡L2がクロスフェード
範囲の開始位置XFSにまで達していない場合には、位
相軌跡L2を開始位置XFSに到達させるのに必要な回
数だけ同様な継ぎ足しを行う。
【0066】次にクロスフェード範囲の開始位置XFS
から終了位置XFEまでの位相軌跡L1上の各点に対
し、1から0に向けて次第に減少する一連の係数K1を
乗じ、一方、位相軌跡L2上の各点には0から1に向け
て次第に増加する一連の係数K2を乗じ、各乗算結果を
加算する。この結果、クロスフェード範囲の開始位置X
FSから終了位置XFEに進むに従って位相軌跡L1か
ら位相軌跡L2に滑らかに移行する位相軌跡(破線)の
各点の位相を表すデータが得られる。この方法をクロス
フェードによるスムージングと呼ぶ。
【0067】次に図15を参照し、原波形およびループ
波形の各周波数成分の振幅のスムージング処理について
説明する。図14において、L3は原波形のアタック部
のクロスフェード範囲の1つの周波数成分(例えばm倍
音)の振幅軌跡である。また、L4はこの周波数成分に
対応したループ波形の周波数成分の振幅軌跡である。
【0068】ステップS504における振幅のスムージ
ング処理においては、この図15に例示するようにアタ
ック部の周波数成分の振幅軌跡L3とループ波形の周波
数成分の振幅軌跡L3とが不連続な状態となっている場
合に、振幅軌跡L3から振幅軌跡L4に連続的に移行す
るように、振幅軌跡L3の修正を行う。この修正は、位
相のスムージング処理の場合と同様なクロスフェード手
法を用いて行う。
【0069】ステップS504では、以上の位相および
振幅のスムージング処理がアタック部およびループ波形
の各周波数成分について実行され、スムージング後の位
相軌跡および振幅軌跡に対応したアタック部の波形の分
析データ(各周波数成分の位相データおよび振幅デー
タ)がRAM6に保存される。
【0070】次にステップS505に進むと、アタック
部の波形の各周波数成分の中にループ波形の各周波数成
分と対応しないものがあるか否かを判断する。この判断
結果が「YES」である場合にはステップS506に進
み、該当する周波数成分の振幅軌跡をクロスフェード範
囲内においてフェードアウト(すなわち、開始位置XF
Sから終了位置XFEに向かうに従い、当該周波数成分
の振幅を次第に減少させ、終了位置XFEでは振幅を0
にする。)し、このフェードアウト後の振幅軌跡に対応
した分析データをRAM6に保存する。そして、このス
テップS506の終了後、ステップS507に進む。一
方、ステップS505の判断結果が「NO」の場合はス
テップ506を介することなくステップS507に進
む。
【0071】次にステップS508に進むと、逆FFT
によるアタック波形の合成処理を行う。このステップS
508に進んだ時点において、クロスフェード範囲内の
各フレームに対応した分析データのスムージング処理
(クロスフェード処理)およびフェードアウト処理が完
了している。このステップS508では、これらの処理
を経たアタック部の波形の分析データに対し逆FFTが
施され、アタック波形が合成される。
【0072】次にステップS509に進み、ステップS
508において得られたアタック波形の波形データに対
し、さらに残波形データを足し込み、正弦波合成(ステ
ップS508)された合成波形の他、正弦波合成では合
成できない残波形を含んだアタック波形の波形データを
作成し、波形メモリ9に格納する。以上がアタック波形
作成処理の詳細である。
【0073】そして、図3において、アタック波形作成
処理(ステップS105)が終了すると、CPU4は、
音源用諸データ準備処理を実行する(ステップS10
6)。この音源用諸データ準備処理では、楽音形成指示
があった場合に波形メモリ9からアタック波形およびル
ープ波形の波形データを読み出して楽音信号を形成する
際に必要な制御パラメータを準備し、RAM6に格納す
る。具体的には、上述したステップS105までの処理
により合成したアタック波形のアタックスタートAT
S、ループ波形のループスタートLPS、ループエンド
LPEに対応した各波形データの波形メモリ9内の格納
位置を特定する各アドレス等、当該アタック波形および
ループ波形を用いた楽音形成処理に必要な各種の制御デ
ータをRAM6内の制御データ格納エリアに格納する。
そして、ステップS106の処理の終了を以て、音源波
形データ生成処理を終了する。
【0074】以上、本実施形態に係る波形データ生成装
置の本来の動作について説明したが、本実施形態に係る
波形データ生成装置は、波形メモリ音源としても機能す
る。以下、この波形メモリ音源としての本実施形態の動
作について説明する。
【0075】まず、MIDIインタフェース1を介して
CPU4にMIDIのノートオンイベントが入力された
とすると、CPU4は、図2に示すメインルーチンにお
けるMIDI処理(ステップS5)を実行する。
【0076】このMIDI処理の具体的内容は次の通り
である。 (1)まず、CPU4は、ノートオンイベントをRAM
6内に設定されたバッファに格納する。 (2)次に、CPU4は、音源12の楽音形成チャネル
の1つを当該ノートオンイベントに対応した楽音形成処
理に割り当てる。 (3)次に、CPU4は、当該ノートオンイベントに対
応した楽音形成処理を行うための制御パラメータを決定
し、この制御パラメータを当該楽音形成処理を行う楽音
形成チャネルに対応した音源12内のレジスタに設定す
る。この制御パラメータには、楽音形成処理に使用する
音源波形データを指定する情報、付与する効果を制御す
るための情報、音量エンベロープを制御するための情報
等が含まれる。ここで、楽音形成処理に使用する音源波
形データを指定する情報は、パネルスイッチ部2の音色
スイッチ等により設定された音色やノートオンの音高等
に基づいて決定されるものであり、当該音源波形におけ
るアタック波形のアタックスタートATS、ループ波形
のループスタートLPS、ループエンドLPEに対応し
た各音源波形データの波形メモリ9内の格納位置を特定
する各アドレスが含まれている。 (4)次に、CPU4は、上記楽音形成チャネルに対応
した音源12内のレジスタにノートオンフラグを設定す
る。このノートオンフラグの設定により、音源12は、
波形メモリ9内の該当する音源波形データを読み出して
楽音信号を形成する処理を開始する。すなわち、CPU
4は、上記アタックスタートATSからループスタート
LPSの手前までの区間に対応した波形メモリ9内の各
アドレスから音源波形データをノートオンの音高に応じ
た読み出し速度で読み出し、その後、ループスタートL
PSからループエンドLPEまでの区間に対応した各ア
ドレスから音源波形データを同速度で繰り返し読み出
し、この順次読み出される音源波形データにより楽音信
号を形成するのである。
【0077】なお、以上説明した実施形態では、正弦波
合成を用いたが、同様の技術が高調波合成、部分音合成
などと呼ばれる場合もある。また、以上説明した実施形
態は、種々の変形した態様で実施可能である。例えば、
次の通りである。 (1)上記実施形態において、波形データ生成プログラ
ムを記録した記録媒体はROM5であったが、FD等の
着脱可能な記録媒体に記録し、この記録媒体に記録され
た波形データ生成プログラムを任意のパーソナルコンピ
ュータが読み込んで実行し得るようにしてもよい。 (2)FFTにより周波数分析を行う代わりに、ウェー
ブレット変換等を利用して周波数分析を行ってもよい。
また、上記実施形態では、8周期の窓を1/8周期ずつ
ずらしてFFTを行うようにしたが、窓のサイズ、窓を
ずらす量は適宜変更してよい。 (3)上記実施形態では、ループ部の位相データのスム
ージング方法として係数乗算によるスムージングを、ル
ープ部の振幅データのスムージング方法として補正値加
算によるスムージングを、また、アタック部の位相およ
び振幅のスムージング方法としてクロスフェードによる
スムージングを行っている。しかし、スムージングする
場所とスムージング方法の対応はこの例に限らない。例
えば、ループ部の位相をクロスフェードによりスムージ
ングしてもよい。ループ部の振幅データをスムージング
した補正値は、直線的に変化する関数であったが、高次
関数や正弦波関数的に変化する補正値を用いてもよい。
本発明の特徴は各倍音毎にスムージングを行うことにあ
り、そこで用いられるスムージング方法については任意
の方法を使用してよい。 (4)上記実施形態において説明した波形データ生成方
法により得られた波形データをFD、CD、ROM、I
Cカードなどの記録媒体に記録し、ユーザに頒布しても
よい。この場合、ユーザは、例えば音源付きのパーソナ
ルコンピュータ等によりFDやCDに記録された波形デ
ータを読み出し、音として再生することができる。ま
た、上記実施形態において説明した波形データ生成方法
により得られた波形データを、例えばネットワーク内の
サーバコンピュータが管理するハードディスクなどの記
録媒体に記録しておき、サーバコンピュータがユーザか
らの要求に応じ、ネットワークを介して配信するように
してもよい。
【0078】
【発明の効果】以上説明したように、この発明によれ
ば、原波形の有していた個性を有し、かつ、再生の際に
ノイズを生じさせない音源波形データを原波形から生成
することができるという効果が得られる。
【図面の簡単な説明】
【図1】 この発明の一実施形態である波形メモリ音源
の構成を示すブロック図である。
【図2】 同実施形態の動作を示すフローチャートであ
る。
【図3】 同実施形態の動作を示すフローチャートであ
る。
【図4】 同実施形態の動作を示すフローチャートであ
る。
【図5】 同実施形態の動作を示すフローチャートであ
る。
【図6】 同実施形態の動作を示すフローチャートであ
る。
【図7】 同実施形態の動作を示すフローチャートであ
る。
【図8】 同実施形態における原波形の周波数分析の方
法を示す図である。
【図9】 同実施形態における正弦波合成波形および残
波形の生成方法を示す図である。
【図10】 同実施形態における残波形を例示する図で
ある。
【図11】 同実施形態におけるループポイントの決定
方法を示す図である。
【図12】 同実施形態におけるループ部のm倍音の位
相のスムージング処理を示す図である。
【図13】 同実施形態におけるループ部のm倍音の振
幅のスムージング処理を示す図である。
【図14】 同実施形態におけるアタック部とループ部
との間のm倍音の位相のスムージング処理を示す図であ
る。
【図15】 同実施形態におけるアタック部とループ部
との間のm倍音の振幅のスムージング処理を示す図であ
る。
【符号の説明】
1……MIDIインタフェース、2……パネルスイッチ
部、3……パネル表示器、4……CPU(演算手段)、
5……ROM(波形データ生成プログラムを記録した記
録媒体)、6……RAM、7……記録媒体、8……ドラ
イブ、11……書込回路、10……アクセス管理部(以
上、原波形入力手段)、9……波形メモリ(記憶手
段)、12……音源、13……サウンドシステム(以
上、楽音形成手段)。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 原波形の立ち上がり部分以降の部分に対
    応した波形データであり、複数回繰り返されるループ波
    形の波形データを生成する波形データ生成方法におい
    て、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と、 前記原波形のループ部の開始位置および終了位置を決定
    するループ部決定処理と、 前記原波形の少なくとも一部の周波数成分について、前
    記ループ部の終了位置以前の当該周波数成分の位相およ
    び振幅の時間的推移と前記ループ部の開始位置以降の当
    該周波数成分の位相および振幅の時間的推移とが不連続
    を生じることなく接続されるように、前記ループ部の当
    該周波数成分の位相および振幅を調整するループ部スム
    ージング処理と、 前記ループ部スムージング処理により位相および振幅が
    調整されたループ部の前記原波形の各周波数成分に基づ
    いて正弦波合成を行って前記ループ波形の波形データを
    合成するループ波形合成処理とを具備することを特徴と
    する波形データ生成方法。
  2. 【請求項2】 原波形の立ち上がり部分以降の部分に対
    応した波形データであり、複数回繰り返されるループ波
    形の波形データを生成する波形データ生成方法におい
    て、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と、 求められた複数の区間の各々における前記原波形の各周
    波数成分に基づいて正弦波合成を行い、合成された正弦
    波合成波形を原波形から差し引くことにより残差波形を
    求める残差波形生成処理と、 前記残差波形のレベルが所定値以下の区間内であり、か
    つ、前記原波形の各周波数成分のうちの少なくとも基本
    波の周波数成分の位相が連続的に接続可能なポイント
    を、ループ部の開始位置および終了位置として決定する
    ループ部決定処理と、 決定されたループ部の前記原波形の各周波数成分に基づ
    いて正弦波合成を行って前記ループ波形の波形データを
    生成するループ波形合成処理とを具備することを特徴と
    する波形データ生成方法。
  3. 【請求項3】 原波形の立ち上がり部分以降の部分に対
    応した波形データであり、複数回繰り返されるループ波
    形の波形データを生成する波形データ生成方法におい
    て、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と、 前記原波形上の第1ポイントを決定する第1決定処理
    と、 前記第1ポイントに対し、前記原波形の各周波数成分の
    うちの少なくとも基本波の周波数成分の位相が連続的に
    接続可能な複数の第2ポイントを決定する第2決定処理
    と、 前記第1ポイントと前記複数の第2ポイントの前記原波
    形の各周波数成分の差に基づいて、前記複数の第2ポイ
    ントから1つを選択する選択処理と、 前記第1ポイントと選択された第2ポイントにより指定
    されたループ部について、前記原波形の各周波数成分に
    基づいて正弦波合成を行い、前記ループ波形の波形デー
    タを生成するループ波形合成処理とを具備することを特
    徴とする波形データ生成方法。
  4. 【請求項4】 原波形の立ち上がり部分に対応したアタ
    ック波形の波形データと、前記原波形における立ち上が
    り部分以降の部分に対応した波形データであって前記ア
    タック波形に続いて複数回繰り返されるループ波形の波
    形データとを当該原波形から生成する波形データ生成方
    法において、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と前記原波形の
    各周波数成分のうちの少なくとも基本波の周波数成分の
    位相が連続的に接続可能なポイントを、ループ部の開始
    位置および終了位置として決定するループ部決定処理
    と、 前記原波形のループ部以前の区間の各周波数成分の位相
    および振幅の時間的推移と前記原波形のループ部の開始
    位置以降の当該周波数成分の位相および振幅の時間的推
    移とが不連続を生じることなく接続されるように、前記
    原波形のループ部以前の区間の各周波数成分の位相およ
    び振幅を調整するアタック部スムージング処理と、 前記アタック部スムージング処理により位相および振幅
    が調整された各周波数成分に基づいて正弦波合成を行
    い、前記原波形の立ち上がり部分に対応した前記アタッ
    ク波形の波形データを合成するアタック波形合成処理
    と、 ループ部の前記原波形の各周波数成分に基づいて正弦波
    合成を行って前記ループ波形の波形データを生成するル
    ープ波形合成処理とを具備することを特徴とする波形デ
    ータ生成方法。
  5. 【請求項5】 前記周波数分析により得られた複数の区
    間の各々における前記原波形の各周波数成分に基づいて
    正弦波合成を行い、合成された正弦波合成波形を原波形
    から差し引くことにより残差波形を求める残差波形生成
    処理を具備し、 前記アタック波形合成処理では、前記正弦波合成により
    合成された正弦波合成波形に前記残差波形を加算して前
    記アタック波形の波形データを合成することを特徴とす
    る請求項4に記載の波形データ生成方法。
  6. 【請求項6】 前記アタック部スムージング処理が、 前記ループ部以前の区間の各周波数成分のうち前記ルー
    プ部スムージング処理後の前記原波形のループ部の各周
    波数成分のいずれとも対応しない周波数成分のの振幅が
    前記ループ部に至るまでの間に次第に減少して消滅する
    ように、当該周波数成分の振幅を調整する処理を含むこ
    とを特徴とする請求項4に記載の波形データ生成方法。
  7. 【請求項7】 原波形の立ち上がり部分以降の部分に対
    応した波形データであり、複数回繰り返されるループ波
    形の波形データを生成する波形データ生成プログラムを
    記録した記録媒体において、 前記波形データ生成プログラムが、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と、 前記原波形のループ部の開始位置および終了位置を決定
    するループ部決定処理と、 前記原波形の少なくとも一部の周波数成分について、前
    記ループ部の終了位置以前の当該周波数成分の位相およ
    び振幅の時間的推移と前記ループ部の開始位置以降の当
    該周波数成分の位相および振幅の時間的推移とが不連続
    を生じることなく接続されるように、前記ループ部の当
    該周波数成分の位相および振幅を調整するループ部スム
    ージング処理と、 前記ループ部スムージング処理により位相および振幅が
    調整されたループ部の前記原波形の各周波数成分に基づ
    いて正弦波合成を行って前記ループ波形の波形データを
    生成するループ波形合成処理とを具備することを特徴と
    する記録媒体。
  8. 【請求項8】 原波形の立ち上がり部分以降の部分に対
    応した波形データであり、複数回繰り返されるループ波
    形の波形データを生成する波形データ生成装置におい
    て、 波形データを記憶する記憶手段と、 前記原波形の波形データを外部から取り込んで前記記憶
    手段に格納する原波形入力手段と、 前記記憶手段に記憶された原波形の波形データに基づ
    き、前記ループ波形の波形データを合成する波形データ
    生成処理を実行する演算手段とを具備し、 該波形データ生成処理が、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と、 前記原波形のループ部の開始位置および終了位置を決定
    するループ部決定処理と、 前記原波形の少なくとも一部の周波数成分について、前
    記ループ部の終了位置以前の当該周波数成分の位相およ
    び振幅の時間的推移と前記ループ部の開始位置以降の当
    該周波数成分の位相および振幅の時間的推移とが不連続
    を生じることなく接続されるように、前記ループ部の当
    該周波数成分の位相および振幅を調整するループ部スム
    ージング処理と、 前記ループ部スムージング処理により位相および振幅が
    調整されたループ部の前記原波形の各周波数成分に基づ
    いて正弦波合成を行って前記ループ波形の波形データを
    生成するループ波形合成処理とを含むことを特徴とする
    波形データ生成装置。
  9. 【請求項9】 原波形の立ち上がり部分以降の部分に対
    応した波形データであり、複数回繰り返されるループ波
    形の波形データを少なくとも記録した記録媒体におい
    て、 前記原波形の周波数分析を時間的に相互にずれた複数の
    区間について行い、各区間毎に、当該区間に属する原波
    形の周波数成分を求める周波数分析処理と、 前記原波形のループ部の開始位置および終了位置を決定
    するループ部決定処理と、 前記原波形の少なくとも一部の周波数成分について、前
    記ループ部の終了位置以前の当該周波数成分の位相およ
    び振幅の時間的推移と前記ループ部の開始位置以降の当
    該周波数成分の位相および振幅の時間的推移とが不連続
    を生じることなく接続されるように、前記ループ部の当
    該周波数成分の位相および振幅を調整するループ部スム
    ージング処理と、 前記ループ部スムージング処理により位相および振幅が
    調整されたループ部の前記原波形の各周波数成分に基づ
    いて正弦波合成を行って前記ループ波形の波形データを
    合成するループ波形合成処理とを具備する波形データ生
    成方法により得られたループ波形の波形データを記録し
    たことを特徴とする記録媒体。
JP07671199A 1998-04-23 1999-03-19 波形データ生成方法、波形データ生成プログラムを記録した記録媒体および波形データ生成装置 Expired - Lifetime JP3659053B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07671199A JP3659053B2 (ja) 1998-04-23 1999-03-19 波形データ生成方法、波形データ生成プログラムを記録した記録媒体および波形データ生成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11390098 1998-04-23
JP10-113900 1998-04-23
JP07671199A JP3659053B2 (ja) 1998-04-23 1999-03-19 波形データ生成方法、波形データ生成プログラムを記録した記録媒体および波形データ生成装置

Publications (2)

Publication Number Publication Date
JP2000010565A true JP2000010565A (ja) 2000-01-14
JP3659053B2 JP3659053B2 (ja) 2005-06-15

Family

ID=26417846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07671199A Expired - Lifetime JP3659053B2 (ja) 1998-04-23 1999-03-19 波形データ生成方法、波形データ生成プログラムを記録した記録媒体および波形データ生成装置

Country Status (1)

Country Link
JP (1) JP3659053B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204365A (ja) * 2009-03-03 2010-09-16 Yamaha Corp 波形データの形成方法
JP2010204366A (ja) * 2009-03-03 2010-09-16 Yamaha Corp 波形メモリ音源
JP2010217476A (ja) * 2009-03-17 2010-09-30 Yamaha Corp 波形データ生成方法
JP2010217477A (ja) * 2009-03-17 2010-09-30 Yamaha Corp 波形データ生成方法
JP2011247921A (ja) * 2010-05-24 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> 信号合成方法、信号合成装置及びプログラム
JP2014109667A (ja) * 2012-11-30 2014-06-12 Kddi Corp 音声合成装置、音声合成方法および音声合成プログラム
CN113711302A (zh) * 2019-04-26 2021-11-26 雅马哈株式会社 音频信息播放方法及装置、音频信息生成方法及装置和程序

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204365A (ja) * 2009-03-03 2010-09-16 Yamaha Corp 波形データの形成方法
JP2010204366A (ja) * 2009-03-03 2010-09-16 Yamaha Corp 波形メモリ音源
JP2010217476A (ja) * 2009-03-17 2010-09-30 Yamaha Corp 波形データ生成方法
JP2010217477A (ja) * 2009-03-17 2010-09-30 Yamaha Corp 波形データ生成方法
JP2011247921A (ja) * 2010-05-24 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> 信号合成方法、信号合成装置及びプログラム
JP2014109667A (ja) * 2012-11-30 2014-06-12 Kddi Corp 音声合成装置、音声合成方法および音声合成プログラム
CN113711302A (zh) * 2019-04-26 2021-11-26 雅马哈株式会社 音频信息播放方法及装置、音频信息生成方法及装置和程序

Also Published As

Publication number Publication date
JP3659053B2 (ja) 2005-06-15

Similar Documents

Publication Publication Date Title
JP3399297B2 (ja) 電子楽器
US6326537B1 (en) Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
JP2017049349A (ja) 楽音信号発生装置
JP2000010565A (ja) 波形デ―タ生成方法、波形デ―タ生成プログラムを記録した記録媒体、波形デ―タ生成装置および波形デ―タを記録した記録媒体
JP3482685B2 (ja) 電子楽器の音源装置
JP4736046B2 (ja) 波形データ生産方法、波形データ生産装置、プログラムおよび波形メモリ生産方法
JP3601373B2 (ja) 波形編集方法
JPH06138880A (ja) 楽音合成装置と方法
JP3843199B2 (ja) 音の時間伸長装置、方法、および音の時間伸長プログラムを記録した記録媒体
JP3534012B2 (ja) 波形分析方法
JP3714397B2 (ja) 波形データ処理装置及び波形データ処理方法
JP3636056B2 (ja) 波形データ処理方法
JP3752855B2 (ja) 波形データ作成方法
US6235980B1 (en) Apparatus and method for generating waveform data for musical tone signal generating apparatus
JP3685077B2 (ja) 演奏データの自動編集装置および自動編集方法
JP2001282246A (ja) 波形データ時間伸張圧縮装置
JP2003255951A (ja) 波形処理方法および装置
JP4294179B2 (ja) 波形再生装置
JP3095018B2 (ja) 楽音発生装置
JP3620405B2 (ja) 楽音変動情報生成方法、楽音変動情報生成装置および記録媒体
JP2001075571A (ja) 波形生成装置
JP4087964B2 (ja) 波形再生装置
JP2004013179A (ja) 分析結果を用いた音源波形合成装置
JP2010113277A (ja) 楽曲処理装置およびプログラム
JP4267114B2 (ja) 波形処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040506

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050307

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090325

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100325

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110325

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110325

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120325

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130325

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140325

Year of fee payment: 9

EXPY Cancellation because of completion of term