JP3733964B2 - 分析結果を用いた音源波形合成装置 - Google Patents

分析結果を用いた音源波形合成装置 Download PDF

Info

Publication number
JP3733964B2
JP3733964B2 JP2003353367A JP2003353367A JP3733964B2 JP 3733964 B2 JP3733964 B2 JP 3733964B2 JP 2003353367 A JP2003353367 A JP 2003353367A JP 2003353367 A JP2003353367 A JP 2003353367A JP 3733964 B2 JP3733964 B2 JP 3733964B2
Authority
JP
Japan
Prior art keywords
waveform
loop
analysis
frequency
peak
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
JP2003353367A
Other languages
English (en)
Other versions
JP2004013179A (ja
Inventor
正尋 柿下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003353367A priority Critical patent/JP3733964B2/ja
Publication of JP2004013179A publication Critical patent/JP2004013179A/ja
Application granted granted Critical
Publication of JP3733964B2 publication Critical patent/JP3733964B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、楽音波形や人声音波形等の波形を分析する波形分析方法を用いた音源波形合成装置に関するものである。
波形メモリ音源において、元となる楽音信号の立ち上がり部分を取り出してアタック波形データとし、その後の定常的な波形の中から、繰り返しの1単位を取り出してループ波形データとし、これらを音源波形として記憶装置に格納しておくものが知られている。演奏時には、記憶装置からアタック波形データを読み出した後、ループ波形データを繰り返し読み出す。しかし、アタック部分に後続する部分が完全な定常波形ではないため、ここから取り出されたループ波形の終端付近と始端付近とでは、振幅や周波数スペクトル等が必ずしも一致しない。
そのため、ループ波形の終端からループ始端に戻る際に、楽音信号のつながりが不自然になる。そこで、このような波形メモリ音源においては、特許文献1等で知られたように、楽音発生時に、ループ終端からループ始端に戻す際に、クロスフェード処理をしている。クロスフェード処理は、単に、ループ終端部の波形とループ始端部の波形に対する重み付け係数を時間的に徐々に増加,減少させて加算するものであるから、つなぎ目が目立たなくなる。しかし、ループ終端部の波形とループ始端部の波形の、振幅や周波数等が一致しなければ、依然として、生成された楽音に不自然さが残ることになる。
そこで、定常波形からループ波形データを生成する際に、定常波形の周波数スペクトルを分析して、ループ波形を取り出す区間を決定したり、取り出された波形を加工,編集することにより、ループ波形の終端と始端で振幅や周波数等を合わせ込むことが望まれる。
波形のスペクトルは、FFT(高速フーリエ変換:Fast Fourier Transform)によって分析することができる。しかし、従来のFFT分析では、波形に含まれる有用な周波数成分(パーシャル)を高精度に分析できなかった。
分析結果から元の波形を合成し、元の波形から合成波形を差し引くと、残余成分が生じるが、従来のFFTでは、この残余成分は捨てていた。そのため、ループ波形を加工、編集する際に、残余成分を無視することができず、残余成分についても加工、編集して用いなければ、ループ波形の終端と始端で振幅や周波数等を精密に合わせ込むことができなかった。
特公昭64−7399号公報
本発明は、上述した問題点を解決するためになされたもので、原波形の有用な周波数成分を分析することができる波形分析方法を用いた音源波形合成装置を提供することを目的とするものである。
本発明は、請求項1に記載の発明においては、分析結果を用いた音源波形合成装置において、原波形のスペクトル分析を行うことにより、基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(1)を得る第1の分析手段と、アタック部と、ループ部を規定する数百ミリ秒〜数秒の長さのループ範囲を設定する設定手段と、複数の周波数成分の軌跡データDD(1)について、それぞれ、ループ開始点とループ終了点の位相差が2nπ(nは整数)となり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、スムージング処理された複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる第1の合成波形を生成する第1の合成手段を有し、前記スムージング処理は、10ミリ秒以下の時間レベルの微調整で行われるものである。
請求項2に記載の発明においては、請求項1に記載の分析結果を用いた音源波形合成装置において、前記第1の分析手段で得られた複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる合成波形を生成し、前記原波形と生成された合成波形との残余波形を得る残余手段と、さらに前記残余波形に第2回目以降、N回まで前記スペクトル分析を行うことにより、前記基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(i)(2≦i≦N)を得る第2の分析手段と、前記複数の周波数成分の軌跡データDD(i)について、それぞれ、前記ループ開始点と前記ループ終了点の位相差が2nπとなり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、スムージング処理された複数の周波数成分の軌跡データDD(i)に基づいて、第2の合成波形を生成する第2の合成手段と、前記ループ部への過渡領域を除くアタック部については、前記第1の合成波形と前記残余波形を加算することにより第3の合成波形を生成し、前記アタック部の前記ループ部への過渡領域については、前記第1の合成波形と、前記残余波形から前記第2の合成波形へのクロスフェード波形、とを加算することにより前記第3の合成波形を生成し、前記ループ部については、前記第1の合成波形と前記第2の合成波形とを加算することにより前記第3の合成波形を生成する第3の合成手段とを有するものである。
なお、波形分析方法として、次のような方法を用いることができる。
(1) 分析区間を移動させながら原波形のスペクトルを分析し、各分析区間における周波数スペクトルのピークに関して軌跡データを取り出す波形分析方法であって、前記原波形に対し、第1回目のスペクトル分析をする過程と、前記第1回目のスペクトル分析の結果から、第1の判定条件にしたがって、第1の前記軌跡データを取り出す過程と、前記第1の軌跡データに基づいて第1の合成波形を生成する過程と、前記原波形から前記第1の合成波形を減算して残余波形を生成する過程と、前記残余波形に基づく波形に対し、第2回目のスペクトル分析をする過程と、前記第2回目のスペクトル分析の結果から、前記第1の判定条件に比べて緩和された第2の判定条件にしたがって、第2の前記軌跡データを取り出す過程、を有し、少なくとも前記第1,第2の軌跡データを波形分析結果とする波形分析方法。
したがって、残余波形に基づく波形に対して、判定条件を緩和して再度のスペクトル分析を行うことにより、第1回目のスペクトル分析において隠れていた周波数成分のピーク軌跡が現れるため、第1回目のスペクトル分析では取り出せなかった、比較的小さなピーク周波数の軌跡を取り出すことが可能となり、有用な周波数成分を高精度に取り出すことができる。
この分析結果を用いて波形を合成すれば、有用な周波数成分を多数含んだ波形を合成することができ、特に、定常波形領域におけるループ波形を合成するのに好適である。
(2) 分析区間を移動させながら原波形のスペクトルを分析し、各分析区間における周波数スペクトルのピークに関して軌跡データを取り出す波形分析方法であって、前記原波形に対し、第1回目のスペクトル分析をする過程と、前記第1回目のスペクトル分析の結果から、第1の前記軌跡データを取り出す過程と、前記第1の軌跡データに基づいて第1の合成波形を生成する過程と、前記原波形から前記第1の合成波形を減算して残余波形を生成する過程と、前記残余波形に対し、前記第1の軌跡データに対応する周波数成分を少なくとも除去するフィルタ処理を施す過程と、フィルタ処理された前記残余波形に対し、第2回目のスペクトル分析をする過程と、前記第2回目のスペクトル分析の結果から、第2の前記軌跡データを取り出す過程と、を有し、少なくとも前記第1,第2の軌跡データを波形分析結果とすることを特徴とする波形分析方法。
したがって、残余波形に基づく波形に対して、判定条件を緩和して再度のスペクトル分析を行うことにより、第1回目のスペクトル分析において隠れていた周波数成分のピーク軌跡が現れるため、第1回目のスペクトル分析では取り出せなかった、比較的小さなピーク周波数の軌跡を取り出すことが可能となり、有用な周波数成分を高精度に取り出すことができる。
さらに、残余波形から、再分析不要な周波数成分が取り除かれた波形に対してスペクトル分析を行うことができるため、再分析の効率を高めることができる。
この分析結果を用いて波形を合成すれば、有用な周波数成分を多数含んだ波形を合成することができ、特に、定常波形領域におけるループ波形を合成するのに好適である。
なお、既にピーク軌跡データが得られている周波数成分の近傍の周波数成分は、既にピーク軌跡データが得られている周波数成分によるマスキング効果により、聴感上目立たない。その結果、近傍の周波数成分をピーク軌跡として取り出さずに波形を合成しても目立たない。したがって、既にピーク軌跡データが得られた周波数成分の近傍の周波数成分についても残余波形から取り除いて、再度のスペクトル分析を行えば、さらに、効率よく波形分析が行える。
本発明の波形分析方法を用いた音源波形合成装置は、波形に対して分析を行い、原波形の有用な周波数成分を分析できる波形分析方法を用いることができるという効果がある。
図1は、本発明に用いられる波形分析方法が実行される波形分析装置の実施の一形態を示すブロック図である。
図中、1は波形分析装置全体の制御を行うCPU(Central Processing Unit)、2は制御プログラムなどの各種プログラムおよび各種の制御情報などが格納されるROM、3はワークエリアやバッファ領域あるいは各種プログラムを格納する領域として使用されるRAM、4は計時動作やCPU1に対するタイマ割込を行うためのタイマ、5は各種の操作スイッチが配備されたパネルスイッチ、6は処理対象である原波形などの各種の表示を行うパネル表示器である。7は外部MIDI(Musical Instrument Digital Interface)機器との間でMIDIイベントの授受を行うためのMIDIインターフェース、8はCD−ROM(Compact Disk-Read Only Memory)、HD(ハード磁気ディスク)、FD(フレキシブル磁気ディスク)等の記録媒体9にアクセスするための駆動装置である。
10は波形メモリであり、原波形の波形データや本装置内で作成された波形データを記憶するもので、複数の波形データを書き込み読み出し可能とされている。11はアクセス管理部であり、前記波形メモリ10に対する書込回路13、音源部15、あるいは、バッファ14からのアクセスが互いに衝突しないように、波形メモリ10のアクセスタイムスロットを管理する。12は外部波形入力端子、13は書込回路であって、外部波形入力端子12から入力される原波形信号をサンプリングして、波形メモリ10に書き込む。14はバッファであって、記録媒体9やRAM3から波形メモリ10に書き込まれる波形データ、あるいは、波形メモリ10から読み出された波形ータをCPU1やRAM3等に転送する。15は音源部であって、波形メモリ10から読み出された波形データを用いて楽音信号を生成する。16はサウンドシステムであって、音源部15から出力された楽音信号を出力する。17はバスラインであって、上述した各要素間の情報の授受のために使用される。
ここで、ROM2あるいはRAM3には、全般的な制御を行うためのプログラムに加えて、外部より入力された原波形データを分析する波形分析プログラム、分析結果に基づいて合成された波形データを加工,編集して音源波形データを作成する音源波形作成プログラム、および、音源波形データを用いて波形メモリ音源として機能させるための演奏処理プログラムなどが含まれている。
CPU1は、ROM2あるいはRAM3に記憶された各種制御プログラムに従い、パネルスイッチ5やMIDIインターフェース7からの入力等に応じて、各種の制御を行う。また、波形データ分析処理時および音源波形データ作成処理時においては、バッファ14を介して波形メモリ10のデータの読み書きを行い、波形データを読み出して分析、加工、編集して再度波形メモリ10に書き込んだり、記録媒体9や、図示しない通信路から供給された波形データを波形メモリ10に書き込んだり、逆に波形メモリ10から前記記録媒体9や通信路に供給したりする。
さらに、CPU1は、演奏処理実行時において、MIDIインターフェース7や記録媒体9あるいはRAM3などから供給される演奏情報に応じて、音源部15の発音チャンネルの楽音生成状態を制御する。例えば、MIDIインターフェース7から発音開始を示すノートオン信号が入力された場合、音源部15の発音チャンネルの1つにその楽音の発生を割り当て、割り当てられた発音チャンネルにその楽音を生成するために必要な楽音パラメータ(ピッチ情報、ビブラート制御情報、波形選択情報、音量エンベロープ制御情報、エフェクト情報等)を供給するとともに、発音開始の指示を与える。これに応じて、音源部15では、割り当てられた発音チャンネルを用いて、波形選択情報に応じて波形メモリ10から読み出された波形データを使用して上述した楽音パラメータに対応した楽音を生成する。
なお、図示を省略したが、LANあるいはインターネットなどの通信ネットワークに接続するための通信インターフェース回路を設け、通信ネットワークを介してサーバから波形データや各種プログラムなどをダウンロードするようにしてもよい。さらにまた、鍵盤操作子を設け、この鍵盤操作子を用いて演奏することもできる。
上述した説明では、波形分析方法、音源波形作成方法、および、演奏処理方法をCPU1に実行させるプログラムは、ROM2あるいはRAM3に格納されていた。これに代えて、CD−ROM(記録媒体9)により外部供給を受け、ハード磁気ディスク(記録媒体9)にインストールされてプログラムが実行されてもよい。また、図示しない通信回線を介して、ネットワーク上のサーバからハード磁気ディスク(記録媒体9)にダウンロードされてプログラムが実行されてもよい。
図2は、図1に示した波形分析装置を用いて波形を分析し、音源波形を作成し、演奏をするまでの処理の概要を示したフローチャートである。
S21において、元となる波形データ(原波形データ)が用意される。図1に示したパネルスイッチ5に設けられた録音スイッチの操作に応じて、原波形データが、例えば、外部波形入力端子12から書込回路13、アクセス管理部11を介して、波形メモリ10に書き込まれる。
S22においては、パネルスイッチ5に設けられた分析スイッチの操作に応じて、CPU1が波形メモリ10に書き込まれた原波形データを分析する。
波形データ分析処理においては、まず、原波形データをスペクトル分析して、周波数成分のピーク軌跡を作成する。作成されたピーク軌跡から正弦波加算合成等により波形(決定論的波形、Deterministic)を合成し、原波形からこの合成波形を差し引いて残余波形、Residual)を得る。残余波形に対して、再度のスペクトル分析を行い、周波数成分のピーク軌跡を作成し、再度の残余波形を得る。残余波形に対するスペクトル分析は、必要な回数だけ行われる。
S23においては、パネルスイッチ5に設けられた編集スイッチの操作に応じて、分析結果に基づいて波形データを加工,編集して音源波形データを生成し、波形メモリ10に格納する。例えば、作成された複数のピーク軌跡の振幅や位相を変更操作することなどにより、周波数スペクトル上で加工,編集して、時間軸上の波形に変換することにより、決定論的に得られた波形を編集することができる。
発音開始時のアタック部においては、波形が複雑であり、決定論的波形を得ることが難しいので、第1回目のスペクトル分析結果に基づいた決定論的波形と、第1回目の残余波形とを用いて音源波形を合成する。
一方、アタック部後の楽音信号は、定常的な波形となるので、前回の残余成分に対して行ったスペクトル分析結果に基づいて合成された決定論的波形を用いてループ波形を合成する。最後のスペクトル分析によって生じた残余波形、もしくは、これをフィルタ加工したものなどを加えてループ波形を作成してもよい。ループ波形を作成する際には、決定論的波形の各周波数成分(パーシャル)毎に、ループの終端と始端とで、振幅、位相の合わせ込みや、振幅の揺らぎ、位相(周波数)の揺らぎの合わせ込みを行う。
ステップS24においては、パネルスイッチ5における演奏スイッチの操作に応じて、波形メモリ10から音源波形データを選択する。それとともに、MIDIインターフェース7、記録媒体9、あるいは、図示しない通信ネットワークから入力されたMIDI演奏情報等に基づいて、演奏制御情報を作成し、音源部15に供給する。音源部15は、演奏制御情報に基づいて、選択された音源波形データを使用して楽音を生成する。ループ部についてはループ波形を繰り返し読み出す。従来のようなクロスフェード処理は必須ではない。また、所定のエンベロープの付与、エフェクト処理等を実行し、各チャンネルの楽音を生成しそれらをミキシングして、サウンドシステム16に供給する。これにより、音源波形データを用いた演奏が実行される。
図3は、本発明に用いられる波形分析方法の実施の一形態の分析処理全体の概要を説明するためのフローチャートである。
この実施の形態では、波形分析方法を、合成波形を作成するためのツールとして用いている。前提として、分析する原波形データWAVEの基本波の周波数、すなわち、基本ピッチは大体わかっているものとし、この基本ピッチに基づいて、分析のための各種の設定値を決める。原波形データWAVEは、例えば、44.1[kHz]のサンプリング周波数でサンプリングされ、図1の波形メモリ10に格納される。格納された原波形データは、あらかじめ、振幅調整、イコライズ処理、フィルタリング処理などが行われるとともに、分析範囲の設定も行われる。
図11は、ピアノのC打撃音の時間波形を示す原波形WAVEの一例の波形図である。
。横軸はサンプル点の番号、縦軸は振幅レベルである。この波形の基本ピッチは約261.63[Hz]である。
波形分析の手順としては、原波形データWAVEから1フレームの長さの波形データを順次に切り出す。一例として、1フレームの長さは、基本波のほぼ8周期分とする。図11に示した波形の基本周期は1/261.63=3.822[msec]であり、サンプリング周波数は44.1[kHz]であるから、1フレームの長さは、1348サンプル(小数点以下四捨五入)となる。
次に、これに1フレームと同じ長さの窓関数を乗算したものに対してFFT分析を行う。FFT分析は、サンプルポイント数を2のべき数とすると効率的に演算が行えるアルゴリズムであり、かつ、サンプルポイント数は、少ないほど演算量が少なくなるので、1フレームの長さを超える最小の2のべき数を選び、ここでは、2048点とする。
このFFT処理により、周波数軸上のデータとして、周波数の振幅および位相が検出される。そこで、前後する周波数の振幅よりも大きな振幅を有する周波数、すなわち、振幅がピークをなす複数の周波数(周波数位置)を全て検出して記憶する。
1つのフレームについてFFT処理が終了すると、1フレームの期間をオーバーラップさせながら、時間軸方向に、例えば、基本波の1/8周期分だけ進めた位置に、次の1フレームを設定する。この1フレームのサンプルに1フレームと同じ幅の窓関数を乗算したものに対して同様なFFT処理を行い、以後これを繰り返す。
楽音波形には、ビブラート等の時間的に周波数成分が変化する演奏表現が含まれている。これらの演奏表現が、周波数、位相の揺れとして検出できるように、FFT処理における1フレームの長さ(時間窓)や時間分解能等を設定する。その結果、楽音波形の特性に注目した波形編集が容易になる。
具体的にフローチャートを用いて説明する。
S31においては、まず、原波形データWAVEを入力し、これを初回の被分析波形データIW(1)とおき、S32に処理を進める。
S32においては、分析回数を示すフラグiを1とおき、S33に処理を進め、FFTを用いて、i回目の分析(i)を行う。S33においては、被分析波形データIW(i)から、i回目の分析における分析条件(i)にしたがって、i回目の分析結果として、ピーク軌跡データDD(i)および残余波形データRW(i)を出力し、S34に処理を進める。
ピーク軌跡データDD(i)は、i回目の分析(i)において取り出された、周波数スペクトル上でピークを示す1または複数の周波数成分であって、分析フレームの移動に応じて揺らぎながらもほぼ持続して存在している周波数成分に関する、周波数、振幅、位相のデータである。このピーク軌跡データDD(i)に基づいて、これに対応する波形データを合成し、被分析波形データIW(i)から、この合成された波形データを差し引くことにより、上述した残余波形データRW(i)が作成される。
このS33における処理は、図5を参照して後述する。
S34においては、分析処理を繰り返すか否かの判定を行う。例えば、残余波形データRW(i)のレベルが所定値以下になったか否かを判定し、所定値以下になればS35に処理を進め、S35において、このときの分析回数iの値をNとして処理を終了する。S34において、所定値以下でなければ、S36に処理を進め、分析回数iの値を1だけ増やしてS37に処理を進める。あるいは、最終分析回数を固定的に設定することも可能である。
このように、S36,S37を経由して再びS33において分析を行う。先の分析、例えば、第1回目においは、確実に存在するピーク軌跡を取り出すことを主眼として分析を行うので、S33においては、図5を参照して後述するように、ピーク軌跡を選択する分析条件(1)を厳しくしている。次の第2回目においては、確実に存在するピーク軌跡が既に取り出されているので、残余波形の中から、より多くのピーク軌跡を取り出すことを主眼として、ピーク軌跡を選択する分析条件(2)を緩和している。
また、第1回目の分析では、確実に存在するピーク軌跡により、原波形に存在する比較的小さな周波数成分のピークが隠されている可能性がある。特に、非高調波成分にその影響が大きい。さらにまた、窓関数のサイドローブによって、存在しない周波数成分(漏れ)も出力されている。第2回目の分析においては、先に検出された大きなピーク軌跡の周波数成分が原波形から取り除かれているので、この大きな周波数成分の上述した漏れも発生しないから、この点でも、比較的小さな周波数成分のピークを検出できる可能性が高くなる。
さらに、次の分析を行う前に、S37において、残余波形データRW(i)についてノッチフィルタ処理を行う。
図4は、ノッチフィルタの周波数特性を示す線図である。図中、横軸は周波数、縦軸は出力レベルである。ノッチフィルタは、特定の中心周波数の近傍で急峻に減衰する特性を有するものである。
直前のS33において出力されたピーク軌跡データDD(i-1)の複数の周波数成分のそれぞれを中心周波数とする、複数のノッチフィルタを直列的に用いる。残余波形データRW(i)から、ピーク軌跡データDD(i)の周波数およびその近傍の周波数成分を除去したものを、次回の分析に対する被分析波形データIW(i)(S36においてiの値が更新されている)として出力し、再びS33に戻る。ノッチフィルタの半値幅は、例えば、基音周波数の1/6とする。
なお、抽出された軌跡DD(i)に対応した周波数の近傍の周波数成分が含まれないで波形合成されても、抽出された軌跡DD(i)に対応した周波数成分がもたらすマスキング効果により知覚されない。そのため、近傍の周波数成分を除去することにより、有用な成分だけを効率的にFFT処理をすることができる。
また、フレームの長さよりも長い周期の周波数成分が原波形に含まれていた場合には、FFT処理によって、直流に近い低い周波数領域に、本来あり得ない周波数スペクトルのピークが検出される場合がある。このとき、残差成分に、この不要な周波数成分が含まれることになる。したがって、ノッチフィルタ処理に加えて、低周波阻止をするローカットフィルタ処理を施すと、さらに効率的にFFT処理ができる。
また、分析(i)の結果出力される残余波形データRW(i)は、被分析波形データIW(i)からのピーク軌跡データDD(i)に相当する成分が除去された波形である。したがって、次の段の被分析波形データIW(i+1)は、IW(i)よりレベルが小さくなり、分析時に直流成分による影響を受けやすい。そのため、次段の分析に先立ちローカットフィルタにより直流成分を除去している。
図5は、図3のS33における分析(i)の処理の詳細を示すフローチャートである。
まず、S41において、被分析波形データIW(i)から最初の第1フレームを切り出してセットし、S42に処理を進める。第1フレームとしては、原波形データの楽音の立ち上がりから開始させる。
S42においては、当該フレームについてFFT処理を行い、S43に処理を進める。S43においては、当該フレームについて、周波数軸上のピークを出力する周波数とその振幅および位相を出力して、S44に処理を進める。
図12は、図11に示した原波形データを分析することにより得られた周波数のピーク分布の一例を示す線図である。横軸は時間[msec]、縦軸は周波数[Hz]である。各フレーム毎に検出されたピークが点として表わされている。また、横方向の細線は、基本周波数およびその倍音の周波数を表わしている。
この図において、既にピークの線状の軌跡を見てとることができるが、点がつながっているとの判定はまだ行っていない。また、線として見える部分以外はノイズであったり、一過性の周波数成分であったり、あるいはFFTの窓関数のサイドローブによる漏れであるとみなされ、これらは、有用でない周波数成分である。なお、ピーク周波数における振幅および位相のデータも出力されるが、図示を省略する。
S44においては、被分析波形データIW(i)の最後までフレームの切り出しが完了したか否かを判定し、完了していないときにはS45に処理を戻し、完了したときにはS46に処理を進める。
S45においては、正の時間軸方向に所定時間ずらせて次のフレームを切り出し、S42に処理を戻す。
S46においては、各フレームに関してS43で抽出された複数のピークを、複数フレームにわたってつなぐことにより、ピークの軌跡を検出する。連続する複数のフレームで検出された各ピークについて、つながりのよいものを検出し、そのピークの周波数、振幅、位相をピークの軌跡として記憶する。
ここで、つながりがよいとは、前後のフレームのピーク間で、周波数および振幅がほぼ同じくらいの値であり、かつ、位相の連続性がよいものである。
互いに隣り合った第pフレームと第rフレームについてピーク追従処理を行うものとする。まず、第pフレームにおいて検出された1番目からMp番目までの全てのピークPKp−q(PKp−1,PKp−2,…,PKp−Mp)について、第rフレームの1番目からMr番目までのすべてのピークPKr−s(PKr−1,PKr−2,…,PKr−Mr)とつながる可能性を計算する。この可能性を示す値をCP(Connection Possibility)と名付けることとする。CP(p-q,r-s)は、フレームp側から見た、フレームpのq番目のピークPKp−qとフレームrのs番目のピークPKr−sとのつながる可能性を示す数値である。
このCP(p-q,r-s)は、次式(1)により計算することができる。
CP(p-q,r-s)=
FuncA (|PKp−q.Frequency− PKr−s.Frequency|)
×FuncB (|PKp−q.Magnitude− PKr−s.Magnitude|)
×FuncC (PredictionPhase(sign(r-p),PKp−q,PKr−s) − PKr−s.Phase) …(1)
ここで、FuncAは、周波数について近いものを捜すための関数(周波数比較関数)である。ピークPKp−qの周波数PKp−q.Frequencyと、PKr−sの周波数PKr−s.Frequencyの両者が全く同一のときに1となり、両者の差の絶対値が大きくなるほど減少し、差の絶対値の全範囲についての積分値が1となる関数を用いればよい。
FuncBは、振幅について近いものを捜すための振幅比較関数である。ピークPKp−qの振幅PKp−q.MagnitudeとPKr−sの振幅PKr−s.Magnitudeの両者が全く同一のときに1となり、両者の差の絶対値が大きくなるほど減少し、差の絶対値の全範囲についての積分値が1となる関数を用いればよい。楽音の場合、フレームの移動距離が短いため、この間ではそれ程急峻な変化はないと仮定している。
FuncCは、位相についての連続性のあるものを捜すための関数である。ここで、、PKr−s.PhaseはピークPKr−sの位相である。PredictionPhaseは、次式(2)に示すように位相予測関数であって、フレームの移動方向の関数となり、フレームpの情報から予測されるフレームrでの位相を計算するものである。
PredictionPhase (sign(r-p),PKp−q,PKr−s)=
PKp−q.Phase+2π×PKp−q.Frequency/SamplingFrequency×HopSize …(2)
PKp−q.PhaseはピークPKp−qの位相である。HopSizeは、フレームの移動サンプル点数であり、図11を用いた例では21点となる。HopSize/SamplingFrequencyは、フレームの移動サンプル時間を示しており、この例では4.76msecである。この式(2)は、フレームpにおいて周波数が、PKp−q.Frequencyであったとして、次のフレームrでもこの周波数が変わらなかったとした場合に、フレームrの位相が何度であるのかを計算するものである。
sign(r-p)は、フレームの移動方向を示すものであって、正の場合には位相が進み、負の場合には位相が戻ることを示している。
FuncCは、位相間の距離が0のときに1となる関数であり、例えば、次式(3)のような形式の比較関数が用いられる。
FuncC (phase1−phase2)=(1+cos(phase1−phase2))/2 …(3)
上述した、式(1)を用い、フレームpでのq番目のピークについて、r側のすべてのピークに対する、
CP(p-q,r-1),CP(p-q,r-2),…,CP(p-q,r-Mr)
を計算し、CP値が最大となるピークが、p側からr側を見たときに一番つながる可能性の高いピークであるということができる。このようにして、フレームpでのq番目のピークからのフレームrへの軌跡を追跡することができる。
図6は、PKp−1について計算した例を示す図である。
この例においては、CP(p-1,r-1)が最大値0.9となっているので、PKp−1はPKr−1と最もつながる可能性があると考えられる。
なお、このときに、CPの最小値を予め決定しておき、例えば、すべてのCP値が0.001以下の場合はつながる可能性のあるピークがないとする方が現実的である。この場合のピークはフレームpで消滅したものと考えられる。この例では、CPが最小値以下になることが、軌跡の消滅条件である。
このようにして、フレームpのすべてのピークPKp−1,PKp−2,・・・について最もつながる可能性のあるフレームrでのピークが見つかったとする。
図7は、フレームpでの2つのピークがフレームrでの1つのピークにつながる可能性がある場合を示す図である。すなわち、p側からr側を見たときに、PKp−3について、CP(p-3,r-3)が最大値をとり、PKp−4についても、CP(p-4,r-3)が最大値をとったとする。したがって、PKp−3とPKp−4が、ともにPKr−3につながる可能性があるということである。
このような場合、今度はフレームr側からフレームp側を見て、最もつながる可能性のあるピークを捜すようにする。この場合においても、上述した式(1)に示したCPを用いる。ただし、位相予測関数PredictionPhaseは、時間的に逆方向を予測するものとなるため、sign(p-r)が負となり、式(2)は、次の式(4)となる。
PredictionPhase (sign(p-r),PKr−s,PKp−q)=
PKr−s.Phase−2π×PKr−s.Frequency/SamplingFrequency×Hopsize …(4)
このようにして得られる、CP(r-s,p-1),CP(r-s,p-2),…,CP(r-s,p-Mp)の値から、最大のものを見つけて、r側からp側を見たときに一番つながる可能性のあるピークを捜す。
図8は、フレームr側からフレームp側を見て、最もつながる可能性のあるピークを捜した結果の一例を示す図である。図示の例において、PKr−3はPKp−4とつながる可能性が高いという結果が得られる。これにより、PKp−4とPKr−3がつながっていると判断する。また、PKp−3については、フレームpで消滅したと考えることができる。
このように双方向からのマッチングをとるようにすることにより、最適なピークの接続を見い出すことが可能となる。
上述したピークの軌跡の追跡は、原波形データの発音開始点から行うよりも、原波形の振幅レベルが最大となるアタックマックスポイントを含むフレームから、正および負の時間方向に行うことが好ましい。アタックマックスポイントでは、追従が必要な全てのピークが出揃っている可能性が大きいからである。
図11に示した例では、振幅レベルが最大となるアタックマックスポイントが、サンプリング開始点から42.9[msec]後にあることが検出される。このアタックマックスポイントを1フレームのほぼ中央とする基準フレーム(リファレンスフレーム)において、追跡の基点となるピークを検出し、時間の正方向にピーク軌跡を追跡し原波形データの最後まで到達すると、、その後、基準フレームから、今度は、逆に時間の負方向にピーク軌跡を追跡する。なお、時間の負方向にピーク軌跡を追跡する際には、位相予測関数としては、式(4)を用いることになる。
このようにして、分析対象波形データIW(i)の最初から最後まで各フレームでの各ピークの接続が分かったものとする。
図13は、図12に示したピーク分布から第1回目の分析によって得られたピーク軌跡の一例を示す線図である。図12と同様に、横軸は時間[msec]、縦軸は周波数[Hz]である。
上述したように、基点としたピークは、アタックマックスポイントを1フレームのほぼ中央とする基準フレームのピークである。途中で消滅条件により消えて、つながらなくなってしまった軌跡も含まれている。また、必要でないピークまで含まれてしまっている可能性もある。例えば、図中、(a)で示したピークの軌跡(細線でつないで図示している)は、第1回目の分析では、有用でないものとみなす。
S47においては、検出された複数のピークの軌跡の中から、i回目の分析条件(i)に従って、ピーク軌跡を選択し、S48に処理を進める。すなわち、S46において検出された軌跡の全てではなく、分析条件(i)を満たすものだけが選択され、選択されたピーク軌跡の周波数、振幅、位相のデータが、原波形(i=1のとき)あるいは残余波形データ(2≦iのとき)から取り出され、軌跡データとして保存される。
この分析条件(i)としては、例えば、次のような選択条件を用いることができる。
(a)所定の時間範囲の中で、ピーク軌跡の切断がa回以下
(b)所定の時間範囲の中で、ピーク軌跡の存在割合がb%以上
(c)所定の時間範囲の中で、ピーク軌跡の平均振幅レベルがc以上
(d)ピーク軌跡の連続する時間長がd以上
以上の条件の任意の2以上の組み合わせを満足すること。
そして、分析回数(i)が増えるにつれて、選択条件を緩くするように、各条件の設定値を決める。
例えば、(a)の条件において、1回目は切断が1回以下、2回目は5回以下、3回目は20回以下とする。(b)の条件において、1回目はピーク軌跡の存在割合が全フレーム数の99%以上、2回目は70%以上などとする。
2回目以降は、複数通りの分析条件を用いて分析し、各条件で取り出されたピーク軌跡の中からユーザが総合評価するなどして、最終的にピーク軌跡を選択するようにしてもよい。
なお、あるピークの軌跡が一旦、途切れている場合もある。このような場合には、ピークの軌跡をつないだ上で、上述した選択条件を用いてもよい。
図9は、ピークの軌跡が途切れている例を示す図である。図中、M番目のピーク軌跡は、フレーム(N-1)で消滅し、フレーム(N+1)で生成されているように見える。しかし、1つの軌跡は、1つの正弦波発振器に対応しており、軌跡が消滅した時点で対応する正弦波発振器は、未使用状態あるいは出力途絶、すなわち、フレーム(N-1)とフレーム(N+1)間で正弦波出力が途切れてしまい、クリックノイズの発生などの不都合が生じるおそれがある。
図10は、ピーク軌跡が途切れる部分を補間する例を示す図である。
ピーク軌跡が途切れるような場合には、フレーム(N)に振幅0のピークがあるように補って考え、一続きの軌跡と考えるようにすればよい。あるいは、フレーム(N-1)のピークの情報とフレーム(N+1)のピークの情報を補間し、フレームのピーク情報を作り出すようにすることもできる。
このような補間は、次のようにして実現することができる。すなわち、PKN−Mは、実際には見つけられなかったのであるから、振幅は0である。しかし、フレーム(N-1)のピークのデータから周波数と位相を予想することができる。そこで、一旦途切れてしまったピークのリファレンスピークとして、振幅が0で周波数と位相の情報を持つピークとして、その情報を保持しておくようにする。これにより、フレーム(N)へ接続できなかったピークについて、さもフレーム(N)にピークがあったかのようにリファレンスを作成しフレーム(N+1)との接続を行うようにすることが可能となる。
図14は、図13に示した第1回目の分析によるピーク軌跡から選択された軌跡データDD(1)の一例を示す線図である。図12と同様に、横軸は時間[msec]、縦軸は周波数[Hz]である。
S48においては、選択された複数のピークの軌跡に基づいて、軌跡データDD(i)を出力するとともに、軌跡データDD(i)に基づいて波形合成を行い、S49に処理を進める。軌跡データDD(i)は、フレームの期間が移動しても定常的に存在し続けている有用な周波数成分の軌跡である。この軌跡データDD(i)を構成する1または複数の周波数成分について、その振幅および位相を用いて、時間軸上の波形を合成することができる。この合成波形は、既に説明した決定論的波形である。 合成は、例えば、正弦波加算合成で行う。軌跡データDD(i)の1または複数の各周波数成分(非調和成分を含む)の振幅、周波数、位相をそのまま備える1または複数の正弦波を加算する。
S49においては、被分析波形IW(i)から合成波形を減算して、残余波形データRW(i)を生成し、図3のフローチャートのS34に進む。
図15は、図2に示したS23の音源波形作成の一応用例を説明するフローチャートである。
第1回目の分析(1)から第N回目の分析(N)までの間に取り出された軌跡データDD(i)(1≦i≦N)および、第1回目の残余波形データRW(1)を、例えば、図1のRAM3から読み出す。
S51においては、ループ範囲を設定し、S52に処理を進める。この応用例では、軌跡データDD(i)として、基本周期の調和成分だけでなく、非調和成分(非倍音成分)も取り出している。この非調和成分を含めたループ波形を合成するために、決定論的波形の全ての周波数成分が、ループ範囲の開始点と終了点とにおいて同位相になるようにする。そのために、波形の基本周期に比較して十分に長いループをとる。
ループ読み出しされる波形に含まれる周波数成分は、そのループの繰り返し周波数の整数倍に制限される。例えば、繰り返し周波数が2[Hz](周期500[msec])のループであれば、同位相とすることができる周波数成分が2[Hz]間隔でしか得られないが、繰り返し周波数が1[Hz](1[sec])のループであれば、同位相とすることができる周波数が1[Hz]間隔で得られる。極端な場合、基本波の1周期の長さのループには、その基本波の整数倍の周波数成分しか含むことができない。したがって、非調和成分波形を正確に記憶するためには、ループの長さは長いほどよいが、メモリ容量とのトレードオフで決める。実際的なループ長としては、数100[msec]〜数[sec]程度とされることが多い。
S52においては、各軌跡データDD(i)、1≦i≦N、のループスムージング処理を行う。各ピーク軌跡データDD(i)には、それぞれ、基本波を含む倍音成分、非調和成分などの複数のピーク軌跡が含まれている。その各ピーク軌跡毎に個別に、次のようなスムージング処理を行う。
(a)ループ始点での各周波数成分の周波数、振幅、位相を検出する。
(b)ループ部における各周波数成分の振幅の揺らぎ、位相の揺らぎ(周波数の揺らぎでもある)を検出する。
(c)ループ部内において、各周波数成分の振幅の揺らぎ、位相の揺らぎ(周波数の揺らぎ)、それぞれの揺らぎの位相が、ループ始点とほぼ等しくなる接続ポイントを捜す。その際、ループ終点に近い点を優先的に選択する。
(d)ループ始点から接続ポイントまでの位相揺らぎをループ始点からループ終点まで、の時間軸伸長(タイムストレッチ)操作を行う。伸長に応じて、各揺らぎの周期は長くなるが、揺らぎの連続性がよくなる。ただし、位相の揺らぎについては、周波数成分の位相に対して単純に時間軸伸長を行うと、周波数が変化してしまう。そのため、位相の傾き(周波数)の値を時間軸伸長をする。
(e)ループ終点での各周波数成分について、振幅値、位相値が、それぞれ、ループ始点での振幅値、位相値に、ほぼ等しくなるように、そのピーク軌跡の振幅、位相を微調整する。位相に関しては、単純に時間軸の圧縮,伸長を行う。振幅については、時間に正比例する値をループ部中の振幅に加算する。ループ終点での振幅値がループス始点の振幅に等しくなるような値とする。
図16は、ブラスなどの揺らぎを含んだ楽音波形の基音、2倍音、3倍音の各周波数成分(パーシャル)の波形を、揺らぎを強調して示した波形図である。
各周波数成分が揺らぎを含んでいる場合には、揺らぎの位相も揃えなければ、きれいなループ波形とはならない。しかしながら、倍音自体の位相と揺らぎの位相とを同時に揃えることができるようなループ始点およびループ終点を、全周波数成分に共通で1組求めることは不可能である。そこで、次のように、各周波数成分毎に独立して処理を行う。
まず、各周波数成分で、それぞれ揺らぎの位相が接続し易いポイントを捜す。各周波数成分に対して、それぞれ周波数分析処理を行い、その各周波数成分の揺らぎの周波数を求める。すなわち、各周波数成分に対してFFT処理を行い、その結果得られたパワースペクトルの複数のピークのうち一番周波数の低いピークから、その振幅の揺らぎの周波数(周期)を求める。
次に、ループ始点に対する最適な接続ポイントを求める。すなわち、ループ始点から上述した揺らぎの周期だけ離れたポイントをチェックする。このチェックされたポイントは、揺らぎを一つの周波数として考えているものであるため、このチェックされた点における振幅は、ループ始点における振幅とは異なっている場合がある。そこで、このチェックされた点の近傍で、ループ始点における振幅と最も近い振幅を有する点を捜して、これを最適な接続ポイントとする。
このように、ループ部分において、各周波数成分の振幅の揺らぎを分析し、それぞれ、ループ終点になるべく近く、振幅の揺らぎおよび振幅値がループ始点とほぼ一致する接続ポイントを検出する。
図16には、このようにして検出された最適な接続ポイントの一例を、各周波数成分毎に示している。なお、ここでは、各周波数成分の振幅の揺らぎに注目して接続ポイントを決定しているが、その代わりに、各周波数成分の周波数揺らぎ(位相揺らぎ)に注目して決定するようにしてもよい。または、振幅と周波数の両方に注目して決定するようにしてもよい。各周波数成分の振幅と周波数とは互いに同期して揺らぐことが多いので、上述したように、一方に注目して接続ポイントを決めても特に問題が生じることはない。
上述した結果、各周波数成分毎にループ始点から接続ポイントまでの、それぞれループ部を設定することができた。しかし、各周波数成分のループ部の長さは、必ずしも等しくならないので、それらを単純に加算してしまうとループ波形を作成できない。そこで、各周波数成分のループ波形毎に、ループ始点以降の振幅情報および位相情報を時間軸方向に伸縮(タイムストレッチ)して、接続ポイントを既に決定されたループ終点に一致させる処理を行う。
図17は、位相の揺らぎに関するタイムストレッチ方法の説明図である。図中、横軸は時間(サンプル時間)、縦軸は位相を示している。
図17(a)は、ある周波数成分のループ始点から接続ポイントまでの位相を示す図であり、これをループ終点まで矢印の方向に引き延ばして、図17(b)に示す位相データとする。このためには、まず、各時間(サンプル時間)における位相の傾き(次のサンプルとの位相の差、これは、その時間における周波数に等しい)を求める。ここで、時間(サンプル時間)とは、周波数分析の時間軸のことであり、具体的には、上述した時間軸を移動させながら行なっているFFT分析の各サンプルが出力される時間を示す。
次に、指定された時間軸の伸縮比に基づいて、この傾きの値について時間軸を伸縮し、更に、各時間(サンプル時間)における伸縮後の位相の傾きの値を補間する。そして、伸縮後の位相の傾きの値を累算することにより、タイムストレッチ後の各時間の位相を得る。これにより、図17(b)に示したように、傾きを変えずに伸長することができ、各周波数成分の楽音特性の揺らぎを滑らかに接続することが可能となる。
一方、振幅情報のタイムストレッチは、各周波数成分の各時間(サンプル時間)における振幅を、指定された時間軸の伸縮比に基づいて時間軸方向に伸縮し、更に、補間により各時間における伸縮後の振幅(振幅情報)を求める。ここで、各周波数成分に対し、上述した時間軸の伸縮比として、ループ始点からループ終点までの長さを、ループ始点から各周波数成分の接続ポイントまでの長さで割り算した値が指定されている。
この後で、各周波数成分毎の振幅情報および位相情報を、レベル軸方向および/または時間軸方向に微調整して、該振幅情報および位相情報をループ終点からループ始点へ滑らかに接続する処理(スムージング処理)を行う。
図18は、位相および振幅についてのスムージング処理の説明図である。図18(a)は位相、図18(b)は振幅に関するものである。いずれも、揺らぎを省略して図示している。
図18(a)において、ある周波数成分のループ始点における位相と、ループ終点における位相との差が、図示のように2nπ(nは整数)となっていないときに、それが2nπとなるように、図中破線で示すように位相軌跡の修正を行うものである。具体的には、各位相データに位相のずれに対応する適切な係数を一律に乗算することにより行うことができる。周波数は僅かしか変化しない。
図18(b)において、ある周波数成分のループ始点における振幅とループ終点における振幅とが一致していないときに、その差分がゼロになるように、絶対値が0から上述した差分に相当するまで次第に大きくなるような正または負の補正値列を準備し、これを各振幅データに加算することにより行うことができる。
なお、上述した揺らぎの周期は、数百ミリ秒〜数秒と長いため、位相揺らぎ、振幅揺らぎに対するタイムストレッチ処理は、時間軸の大きな調整となる。これに対し、このスムージング処理における位相、振幅の調整は、楽音周期の短い時間(通常10[msec]以下)レベルの微調整となる。また、各周波数成分のループ始点と接続ポイントとの振幅が完全に一致している場合には、その周波数成分について振幅情報のスムージング処理を省略することができる。
上述した説明では、ループ始点を固定し、接続ポイントをタイムストレッチによりループ終点に対応する位置に移動して、各周波数成分の揺らぎがなめらかに接続されるように調整していたが、逆にループ終点を固定し、接続ポイントをタイムストレッチでループ始点に対応する位置に移動して調整するようにしてもよい。
上述した説明では、周波数成分の振幅および位相の揺らぎについても、スムージング処理をしたが、揺らぎが少ない場合は、周波数成分の振幅値および位相値のみをスムージング処理してもよい。
上述した説明では、各周波数成分のループ終点、ループ始点での周波数の合わせ込みは省略した。
S52に続いて、S53においては、ループスムージングされた後のピーク軌跡データDD(1)について、含まれるピーク軌跡に対応する周波数成分に基づいて、正弦波加算合成等により、合成波形SW(1)を生成する。
S53に続く、S54においては、同じく、ループスムージングされた後のピーク軌跡データDD(i)、(2≦i≦N)について、含まれるピーク軌跡に対応する周波数成分に基づいて、合成波形SW(i)、(2≦i≦N)を生成し、これらを加算することにより、合成波形ΣSW(i)、(2≦i≦N)を生成する。
S54に続く、S55においては、合成波形データSW(1)、合成波形データΣSW(i)、残余波形データRW(1)を重み付け合成して楽音波形を合成する。
図19は、合成波形データSW(1)、残余波形データRW(1)、合成波形データΣSW(i)、音源波形データTGWを示す線図である。
まず、波形のアタック部からループ部の全体を通して、基本的な波形成分として、第1回目の波形分析に基づいた合成波形SW(1)を使用する。
アタック部においては、この合成波形SW(1)に、第1回目の波形分析で取り出された残余波形データRW(1)を加算する。
アタック部とループ部との過渡領域においては、残余波形データRW(1)と、残余波形データRW(1)を波形分析する第2回目以降の波形分析に基づいた合成波形ΣSW(i)を、クロスフェード処理したものを合成波形SW(1)に加算する。
ループ部においては、合成波形データSW(1)に合成波形データΣSW(i)を加算する。図示の例では、ループ始点(LSA2)からループ終点(LEA)までをループ波形としているが、アタック終点(LSA1)からループ終点(LEA)までをループ波形としてもよい。
音源波形データTGWは、次式のように加算合成される。
TGW=SW(1)×α+RW(1)×β+ΣSW(i)×γ …(5)
ここで、αは合成波形データSW(1)に対する重み付け係数、βは残余波形データRW(1)に対する重み付け係数、γは合成波形ΣSW(i)に対する重み付け係数である。アタック部においてはα=β,γ=0、ループ部においてはα=γ,β=0,全期間においてα+β+γ=1である。
このようにして、合成決定論的波形データである合成波形SW(1)、合成波形ΣSW(i)と、残余波形データRW(1)は、相互に時間軸を揃えて加算され、アタック始点〜ループ始点〜ループ終点の波形データが得られることとなる。この波形データは、音源波形データTGWとして図1の波形メモリ10に格納される。
図2に示したS24における演奏時において、音源部15は、発音指示に応じて、音源波形データTGWを図1の波形メモリ10から読み出す。アタック始点(WSA)〜アタック終点(LSA1)〜ループ始点(LSA2)〜ループ終点(LEA)の波形データを一通り読み出し、その後は、ループ始点(LSA2)〜ループ終点(LEA)のループ波形を繰り返し読み出す。
上述した重み付け合成処理によれば、アタック部は原波形とほとんど同じ波形とすることができる。さらに、ループ部に関しても、原波形の持っていた調和成分に加えて、原波形の持っていた非調和成分を有する波形とすることができる。
なお、残余波形データRW(1)の使用をやめて、アタック部およびループ部の全体にわたって、合成波形ΣSW(i)を使用するようにしてもよい。
また、音源波形データTGWとして、合成波形データSW(1),残余波形データRW(1),合成波形データΣSW(i)等の、波形合成で得られた個々の波形データ、あるいは加算データを、個別に波形メモリ10に記憶しておいて、楽音発生時にこれらを加算合成してもよい。その際、音色やタッチ等のパラメータに応じて、それぞれの波形データの周波数特性を変更することにより、自由度の大きい音色変更を行うことができる。
第1回目の波形分析によるピーク軌跡に基づいて合成された合成波形データSW(1)と残余波形データRW(1)とをきれいにループさせることも可能であるが、上述したように、ループ範囲の残余波形データから、再度、ピーク軌跡を取り出し、決定論的に得られるピークに基づいた波形をループ処理した方が、簡単につながりの良好なループ波形を得ることができる。
上述した説明では、楽音波形のループ波形を加工、編集して音源波形を作成し、これを波形メモリに格納する際に、本発明にかかる波形分析方法を適用した。
しかし、波形分析の結果得られたピーク軌跡データそのものを、波形を表すデータとしてメモリに格納しておき、音源部が楽音信号を生成するときに、このピーク軌跡データに基づいて正弦波加算合成をするようにしてもよい。
本発明にかかる波形分析方法は、上述した楽音波形の合成のためだけでなく、楽器音の特徴と楽器の物理的性質との関連を明らかにするため、あるいは、楽器音の機械認識などのためにも用いることができる。
本発明に用いられる波形分析方法が実行される波形分析装置の実施の一形態を示すブロック図である。 図1に示した波形分析装置を用いて行う波形分析処理の概要を示したフローチャートである。 本発明に用いられる波形分析方法の実施の一形態の分析処理全体の概要を説明するためのフローチャートである。 ノッチフィルタの周波数特性を示す線図である。 図4における分析(i)の詳細を示すフローチャートである。 PKp−1について計算した例を示す図である。 フレームpでの2つのピークがフレームrでの1つのピークにつながる可能性がある場合を示す図である。 フレームr側からフレームp側を見て、最もつながる可能性のあるピークを捜した結果の一例を示す図である。 ピークの軌跡が途中で一旦途切れている例を示す図である。 ピーク軌跡が途切れる部分を補間する例を示す図である。 ピアノのC打撃音の時間波形を示す原波形WAVEの一例の波形図である。 図11に示した原波形データを分析することにより得られた周波数のピーク分布の一例を示す線図である。 図12に示したピーク分布から第1回目の分析によって得られたピーク軌跡の一例を示す線図である。 図13に示した第1回目の分析によるピーク軌跡から選択された軌跡データDD(1)の一例を示す線図である。 図2に示した音源波形作成の一応用例を説明するフローチャートである。 ブラスなどの揺らぎを含んだ楽音波形の周波数成分(パーシャル)の波形を、揺らぎを強調して示した波形図である。 位相変動のスムージング処理の説明図である。 位相および振幅についてのスムージング処理の説明図である。 合成波形データSW(1)、残余波形データRW(1)、合成波形データΣSW(i)、音源波形データTGWを示す線図である。
符号の説明
1 CPU、2 ROM、3 RAM、4 タイマ、5 パネルスイッチ、6 パネル表示器、7 MIDIインターフェース、8 駆動装置、9 記録媒体、10 波形メモリ、11 アクセス管理部、12 外部波形入力端子、13 書込回路、14 バッファ、15 音源部、16 サウンドシステム、17 バスライン

Claims (2)

  1. 原波形のスペクトル分析を行うことにより、基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(1)を得る第1の分析手段と、
    アタック部と、ループ部を規定する数百ミリ秒〜数秒の長さのループ範囲を設定する設定手段と、
    複数の周波数成分の軌跡データDD(1)について、それぞれ、ループ開始点とループ終了点の位相差が2nπ(nは整数)となり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、
    スムージング処理された複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる第1の合成波形を生成する第1の合成手段を有し、
    前記スムージング処理は、10ミリ秒以下の時間レベルの微調整で行われることを特徴とする分析結果を用いた音源波形合成装置。
  2. 前記第1の分析手段で得られた複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる合成波形を生成し、前記原波形と生成された合成波形との残余波形を得る残余手段と、
    さらに前記残余波形に第2回目以降、N回まで前記スペクトル分析を行うことにより、前記基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(i)(2≦i≦N)を得る第2の分析手段と、
    前記複数の周波数成分の軌跡データDD(i)について、それぞれ、前記ループ開始点と前記ループ終了点の位相差が2nπとなり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、
    スムージング処理された複数の周波数成分の軌跡データDD(i)に基づいて、第2の合成波形を生成する第2の合成手段と、
    前記ループ部への過渡領域を除くアタック部については、前記第1の合成波形と前記残余波形を加算することにより第3の合成波形を生成し、前記アタック部の前記ループ部への過渡領域については、前記第1の合成波形と、前記残余波形から前記第2の合成波形へのクロスフェード波形、とを加算することにより前記第3の合成波形を生成し、前記ループ部については、前記第1の合成波形と前記第2の合成波形とを加算することにより前記第3の合成波形を生成する第3の合成手段と、
    を有することを特徴とする請求項1に記載の、分析結果を用いた音源波形合成装置。
JP2003353367A 2003-10-14 2003-10-14 分析結果を用いた音源波形合成装置 Expired - Fee Related JP3733964B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003353367A JP3733964B2 (ja) 2003-10-14 2003-10-14 分析結果を用いた音源波形合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003353367A JP3733964B2 (ja) 2003-10-14 2003-10-14 分析結果を用いた音源波形合成装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP27669799A Division JP3534012B2 (ja) 1999-09-29 1999-09-29 波形分析方法

Publications (2)

Publication Number Publication Date
JP2004013179A JP2004013179A (ja) 2004-01-15
JP3733964B2 true JP3733964B2 (ja) 2006-01-11

Family

ID=30439220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003353367A Expired - Fee Related JP3733964B2 (ja) 2003-10-14 2003-10-14 分析結果を用いた音源波形合成装置

Country Status (1)

Country Link
JP (1) JP3733964B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5655273B2 (ja) * 2009-03-17 2015-01-21 ヤマハ株式会社 波形データ生成方法
JP5493408B2 (ja) * 2009-03-17 2014-05-14 ヤマハ株式会社 波形データ生成方法
CN107644632B (zh) * 2017-08-17 2021-03-30 北京英夫美迪科技股份有限公司 音频缩混及波形生成方法和设备

Also Published As

Publication number Publication date
JP2004013179A (ja) 2004-01-15

Similar Documents

Publication Publication Date Title
EP2264696B1 (en) Voice converter with extraction and modification of attribute data
US11410637B2 (en) Voice synthesis method, voice synthesis device, and storage medium
JP2906970B2 (ja) サウンドの分析及び合成方法並びに装置
JP3815347B2 (ja) 歌唱合成方法と装置及び記録媒体
US8145491B2 (en) Techniques for enhancing the performance of concatenative speech synthesis
JP4839891B2 (ja) 歌唱合成装置および歌唱合成プログラム
JPH06266390A (ja) 波形編集型音声合成装置
Bonada et al. Sample-based singing voice synthesizer by spectral concatenation
JP3534012B2 (ja) 波形分析方法
JP3008922B2 (ja) 楽音発生装置および楽音発生方法
JP3733964B2 (ja) 分析結果を用いた音源波形合成装置
JP3601373B2 (ja) 波形編集方法
JP3511360B2 (ja) 音楽音響信号分離方法、その装置およびそのプログラム記録媒体
JP2004021027A (ja) 演奏音制御方法及び装置
JP3379348B2 (ja) ピッチ変換器
JP5552794B2 (ja) 音響信号の符号化方法および装置
EP2634769B1 (en) Sound synthesizing apparatus and sound synthesizing method
JP6683103B2 (ja) 音声合成方法
JP2001242900A (ja) 音の時間伸長装置、方法、および音の時間伸長プログラムを記録した記録媒体
JP3744315B2 (ja) 波形分析方法および波形分析装置
JP3095018B2 (ja) 楽音発生装置
JP3752855B2 (ja) 波形データ作成方法
Canazza et al. Symbolic and audio processing to change the expressive intention of a recorded music performance
JP3644296B2 (ja) 楽音波形分析装置及び楽音波形分析方法並びに楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体
JP2003255951A (ja) 波形処理方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051010

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131028

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees