(57)【要約】【課題】音質の低下を防止しつつ波形データのピークの振幅を抑制することが可能な振幅抑制装置を提供する。【解決手段】時間軸上の音の波形を表す波形データにおいて振幅がピークとなるピーク位置がピーク位置特定部２１により特定される。また、波形データのうちピーク位置を含む範囲を構成する一または複数の周波数成分が周波数成分抽出部２５により抽出される。抽出された周波数成分の位相が位相抽出部２６により抽出される。抽出された位相に基づいて、ピークの形成に寄与する一または複数の周波数成分が周波数成分選択部２７により選択される。ピーク位置での波形の振幅が減少するように、選択された周波数成分の位相が位相移動部４２により動かされる。【選択図】図１
2015148715.tif 000002
【特許請求の範囲】
【請求項１】
時間軸上の音の波形を表す波形データにおいて振幅がピークとなる時間軸の位置を第１ピーク位置として特定するピーク位置特定部と、
前記波形データにおいて前記第１ピーク位置を含む範囲を構成する周波数成分を算出し、前記周波数成分の位相を抽出する周波数成分変換部と、
前記位相に基づいて、前記周波数成分のうち一または複数の周波数成分を選択するための周波数成分選択部と、
前記第１ピーク位置での前記波形の振幅が減少するように、前記選択した周波数成分の位相を動かす位相移動部とを備える、振幅抑制装置。
【請求項２】
前記選択した周波数成分に対応する前記時間軸上の正弦波の変位が前記第１ピーク位置での前記波形データの変位と同符号のピークとなる前記時間軸上の位置のうち、前記第１ピーク位置に最も近い位置である第２ピーク位置を前記第１ピークから遠ざけるように、位相の移動方向および移動量を設定する移動情報設定部をさらに備え、
前記位相移動部は、前記選択した周波数成分の位相を前記移動方向に前記移動量動かす、請求項１記載の振幅抑制装置。
【請求項３】
前記選択した周波数成分は、第１の周波数成分と、前記第１の周波数成分よりも低い周波数を有する第２の周波数成分とを含み、
前記移動情報設定部は、前記第２の周波数成分の位相の移動量を前記第１の周波数成分の移動量よりも小さく設定する、請求項２記載の振幅抑制装置。
【請求項４】
前記移動情報設定部は、時間軸上の前記第１ピーク位置から離れるほど前記選択した周波数成分の位相の移動量を小さく設定する、請求項２または３記載の振幅抑制装置。
【請求項５】
前記移動情報設定部は、時間軸上の前記波形の振幅が小さいほど前記選択した周波数成分の位相の移動量を小さく設定する、請求項２〜４のいずれか一項に記載の振幅抑制装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振幅抑制装置に関する。
【背景技術】
【０００２】
生楽器の音または自然界の音等をサンプリングすることにより、その音の時間軸上の波形を表す波形データが生成される。生成された波形データは、例えば、電子楽器またはトーンジェネレータ等において音源データとして用いられる。その場合、クリップ（音割れ）の発生を防止するため、波形データのピークの振幅を許容レベル以下に抑制することが求められる。
【０００３】
波形データのピークの振幅を抑制する方法として、波形データの周波数成分の位相を動かす方法が提案される。例えば、特許文献１に記載される非線形歪低減方法においては、電気信号に変換された波形が一定の時間窓（例えば２０ｍｓｅｃ）毎に高速フーリエ変換（ＦＦＴ; Fast Fourier Transform）により複数の正弦波成分（周波数成分）に分解される。続いて、それら複数の正弦波成分の位相が変化されるとともに、逆高速フーリエ変換（ＩＦＦＴ; Inverse Fast Fourier Transform）により合成波が生成される。このような正弦波成分の位相変化および合成波の生成が、正弦波成分の位相の変化量を異ならせつつ繰り返し行われる。生成された合成波のうち、ピークの振幅が最小となる合成波が電気信号として出力される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７８０３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の方法では、複数または全ての正弦波成分に対して複数回の位相変化を行う必要がありかつ複数回のＩＦＦＴを行う必要があるので、処理負荷が大きくなる。また、振幅の抑制量が小さい場合であっても、各正弦波成分の位相の変化量が必要以上に大きくなること、または位相変化の必要がない正弦波成分に対しても位相変化が行われることがあり、音質が大きく低下することがある。
【０００６】
本発明の目的は、音質の低下を防止しつつ波形データのピークの振幅を抑制することが可能な振幅抑制装置を提供することである。
【課題を解決するための手段】
【０００７】
（１）本発明に係る振幅抑制装置は、時間軸上の音の波形を表す波形データにおいて振幅がピークとなる時間軸の位置を第１ピーク位置として特定するピーク位置特定部と、波形データにおいて第１ピーク位置を含む範囲を構成する周波数成分を算出し、当該周波数成分の位相を抽出する周波数成分変換部と、当該位相に基づいて、当該周波数成分のうち一または複数の周波数成分を選択するための周波数成分選択部と、第１ピーク位置での波形の振幅が減少するように、選択した周波数成分の位相を動かす位相移動部とを備えたものである。
【０００８】
この振幅抑制装置においては、時間軸上の音の波形を表す波形データにおいて振幅がピークとなる時間軸の位置がピーク位置特定部により第１ピーク位置として特定される。周波数成分変換部により、波形データの第１ピーク位置を含む範囲を構成する周波数成分が算出され、その算出された周波数成分の位相が抽出される。
【０００９】
周波数成分変換部により抽出された位相に基づいて、算出された周波数成分のうち一または複数の周波数成分が周波数成分選択部により選択される。この場合、周波数成分変換部により抽出された各周波数成分の位相に基づいて、ピークの形成における各周波数成分の寄与の程度を認識することができる。そのため、位相を動かすべき周波数成分を選択可能となる。選択された周波数成分の位相が位相移動部により動かされることにより、第１ピーク位置での波形の振幅が減少される。
【００１０】
このように、算出された周波数成分のうち、一または複数の周波数成分の位相が選択的に動かされるので、必要以上に周波数成分の位相が動かされることが防止される。それにより、音質の低下を防止しつつ波形データのピークの振幅を抑制することができる。また、振幅を抑制するための処理負荷の増大を防止することができる。
【００１１】
（２）振幅抑制装置は、選択した周波数成分に対応する時間軸上の正弦波の変位が第１ピーク位置での波形データの変位と同符号のピークとなる時間軸上の位置のうち、第１ピーク位置に最も近い位置である第２ピーク位置を第１ピーク位置から遠ざけるように、位相の移動方向および移動量を設定する移動情報設定部をさらに備え、位相移動部は、選択した周波数成分の位相を当該移動方向に当該移動量動かしてもよい。
【００１２】
この場合、選択された周波数成分の位相が必要以上に動かされることなく、波形データのピークの振幅が効率よく減少される。それにより、音質の低下および処理負荷の増大が防止される。
【００１３】
（３）選択した周波数成分は、第１の周波数成分と、第１の周波数成分よりも低い周波数を有する第２の周波数成分とを含み、移動情報設定部は、第２の周波数成分の位相の移動量を第１の周波数成分の移動量よりも小さく設定してもよい。
【００１４】
位相が動かされる周波数成分の周波数が低いほど、音質への影響が大きい。そこで、比較的高い周波数を有する第１の周波数成分の位相の移動量よりも、比較的低い周波数を有する第２の周波数成分の位相の移動量が小さく設定されることにより、音質の低下を防止することができる。
【００１５】
（４）移動情報設定部は、時間軸上の第１ピーク位置から離れるほど選択した周波数成分の位相の移動量を小さく設定してもよい。
【００１６】
この場合、第１ピーク位置から離れた時間軸上の範囲において、選択された周波数成分の位相が必要以上に動かされることが防止される。それにより、音質の低下が防止される。また、第１ピーク位置から離れるほど位相の移動量が小さく設定されるので、音質または音色が急に変化することが防止される。
【００１７】
（５）移動情報設定部は、時間軸上の波形の振幅が小さいほど選択した周波数成分の位相の移動量を小さく設定してもよい。
【００１８】
この場合、波形の振幅が小さい時間軸上の範囲において、各周波数成分の位相が必要以上に動かされることが防止される。それにより、音質の低下が防止される。また、振幅が小さいほど位相の移動量が小さく設定されるので、音質または音色が急に変化することが防止される。
【発明の効果】
【００１９】
本発明によれば、音質の低下を防止しつつ波形データのピークの振幅を抑制することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態に係る振幅抑制装置の構成を示す機能ブロック図である。
【図２】波形データの一例を示す図である。
【図３】図１の振幅抑制装置のハードウエア構成の一例を示すブロック図である。
【図４】周波数成分の位相の移動について説明するための模式図である。
【図５】周波数成分の振幅およびピーク位相を示す図である。
【図６】周波数成分の位相の移動について説明するための図である。
【図７】波形データの他の例を示す図である。
【図８】周波数成分のピーク位相を示す図である。
【図９】周波数成分の位相の移動について説明するための図である
【図１０】周波数に応じて位相の移動量に重みづけを行う例を示す図である。
【図１１】時間に応じて位相の移動量に重みづけを行う例を示す図である。
【図１２】振幅に応じて位相の移動量に重みづけを行う例を示す図である。
【図１３】図１の振幅抑制装置により行われる振幅抑制処理のフローチャートである。
【図１４】図１３の位相移動設定処理の詳細を示すフローチャートである。
【図１５】図１３のデータ補正処理の詳細を示すフローチャートである。
【図１６】本発明の第２の実施の形態に係る振幅抑制装置の構成を示す機能ブロック図である。
【図１７】波形データの他の例を示す図である。
【図１８】図１６の振幅抑制装置により行われる振幅抑制処理のフローチャートである。
【図１９】図１８の位相移動設定処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態に係る振幅抑制装置について図面を参照しながら説明する。
【００２２】
［Ａ］第１の実施の形態
（１）振幅抑制装置の機能的な構成
図１は、本発明の第１の実施の形態に係る振幅抑制装置の構成を示す機能ブロック図である。図１に示すように、振幅抑制装置１００は、データ入力部１、位相移動設定部２、位相範囲設定部３、データ補正部４およびデータ出力部５を備える。
【００２３】
データ入力部１は、時間軸上の音の波形を表す波形データを入力する。例えば、データ入力部１は、外部機器またはマイクロフォンから音声入力端子に与えられるアナログの音声信号をデジタルの波形データに変換する。あるいは、データ入力部１は、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体に記憶されたデジタルの波形データを入力する。
【００２４】
図２は、波形データの一例を示す図である。図２において、横軸は時間軸であり、縦軸は波形の変位を示す。以下の説明では、波形データにおける時間軸上の位置を時間位置と呼び、時間軸上の長さを時間長と呼ぶ。また、波形の変位の絶対値を振幅と呼ぶ。
【００２５】
図２の波形データＷＤは、減衰音（例えばピアノの音）の波形を表す。図２の波形データにおいては、時間位置ｔｐにピークＰが存在する。ピークＰの変位は正の値Ｂである。
【００２６】
図１の位相移動設定部２は、ピーク位置特定部２１、正負記憶部２２、ピーク範囲設定部２３、時間／周波数変換部２４、周波数成分抽出部２５、位相抽出部２６、周波数成分選択部２７および移動情報設定部２８を含む。
【００２７】
ピーク位置特定部２１は、データ入力部１により入力された波形データにおいて、予め定められた許容値を超える振幅を有する一または複数のピークを検出し、そのピークの時間位置（以下、第１ピーク位置と呼ぶ）を特定する。正負記憶部２２は、ピーク位置特定部２１により検出されたピークの変位が正または負のいずれであるかを記憶する。
【００２８】
ピーク範囲設定部２３は、ピーク位置特定部２１により特定された第１ピーク位置を含む有限の時間長の範囲をピーク範囲として設定する。時間／周波数変換部２４は、ピーク範囲設定部２３により設定されたピーク範囲を時間窓としてＦＦＴ（高速フーリエ変換）を行うことにより、周波数領域のデータ（以下、ＦＦＴデータと呼ぶ）を生成する。
【００２９】
周波数成分抽出部２５は、時間／周波数変換部２４により生成されたＦＦＴデータに基づいて、波形データの一または複数のピークを構成する複数の周波数成分を抽出する。位相抽出部２６は、周波数成分抽出部２５により抽出された複数の周波数成分の位相を抽出する。周波数成分抽出部２５および位相抽出部２６により周波数成分変換部ＦＣが構成される。
【００３０】
周波数成分選択部２７は、位相抽出部２６により抽出された位相に基づいて、周波数成分抽出部２５により抽出された周波数成分のうち位相を動かすべき一または複数の周波数成分を選択する。移動情報設定部２８は、位相抽出部２６により選択された各周波数成分に関して、位相の移動情報を設定する。位相の移動情報は、位相の移動方向および位相の移動量を含む。位相の移動方向は、正負記憶部２２に記憶されるピークの変位の正負に応じて決定される。
【００３１】
位相範囲設定部３は、位相範囲を設定する。位相範囲設定部３により設定された位相範囲（以下、対象位相範囲と呼ぶ）に基づいて、周波数成分選択部２７が周波数成分を選択する。対象位相範囲の詳細については後述する。位相範囲設定部３は、例えばユーザにより操作可能に構成される。その場合、ユーザが位相範囲設定部３を操作することにより、対象位相範囲が設定される。
【００３２】
データ補正部４は、時間／周波数変換部４１、位相移動部４２および周波数／時間変換部４３を含む。時間／周波数変換部４１は、データ入力部１により入力された波形データに対してＦＦＴを行うことにより、ＦＦＴデータを生成する。この場合、波形データが複数のフレームに分割され、各フレームを時間窓としてＦＦＴが行われる。それにより、波形データのフレーム毎にＦＦＴデータが生成される。ここで、波形データのフレームは、ＦＦＴの処理単位に相当する。時間／周波数変換部４１によるＦＦＴサイズ（時間窓毎のサンプリング点数）は、時間／周波数変換部２４によるＦＦＴサイズと同じであってもよく、または異なってもよい。
【００３３】
位相移動部４２は、生成されたＦＦＴデータにおいて、移動情報設定部２８により設定された移動情報に基づき、周波数成分選択部２７により選択された周波数成分の位相を動かす。周波数／時間変換部４３は、位相移動部４２により位相が動かされた後のＦＦＴデータに対してＩＦＦＴ（逆高速フーリエ変換）を行う。これにより、フレーム毎に波形データが生成される。
【００３４】
このように、データ補正部４においては、入力された波形データに対してフレーム毎にＦＦＴ、位相移動およびＩＦＦＴが行われる。それにより、波形データがフレーム毎に補正される。この場合、ＩＦＦＴ後の複数のフレーム間で波形が連続的につながるように、連続するフレームをオーバーラップさせながら複数のフレームを連結することが好ましい。
【００３５】
データ出力部５は、補正後の波形データを出力する。例えば、データ出力部５は、補正後の波形データをアナログの音声信号に変換し、音声出力端子を通してヘッドフォンまたはスピーカにアナログの音声信号を出力する。それにより、ヘッドフォンまたはスピーカから音が発せられる。あるいは、データ出力部５は、補正後の波形データを電子楽器またはトーンジェネレータ等の外部機器に出力する。この場合、これらの外部機器において、補正後の波形データが記憶装置に記憶され、ＰＣＭ（Pulse Code Modulation）音源として用いられる。
【００３６】
（２）振幅抑制装置のハードウエア構成
図３は、図１の振幅抑制装置１００のハードウエア構成の一例を示すブロック図である。図３に示すように、振幅抑制装置１００は、ＣＰＵ（中央演算処理装置）１１０、ＲＯＭ（リードオンリメモリ）１２０、ＲＡＭ（ランダムアクセスメモリ）１３０、記憶装置１４０、表示装置１５０、入力装置１６０および出力装置１７０を含む。
【００３７】
ＲＯＭ１２０は、例えば不揮発性メモリからなり、システムプログラムおよび振幅抑制処理プログラム等のコンピュータプログラムを記憶する。ＲＡＭ１３０は、例えば揮発性メモリからなり、ＣＰＵ１１０の作業領域として用いられるとともに、各種データを一時的に記憶する。ＣＰＵ１１０は、ＲＯＭ１２０に記憶された振幅抑制処理プログラムをＲＡＭ１３０上で実行することにより後述する振幅抑制処理を行う。この場合、例えば図１の位相移動設定部２およびデータ補正部４の機能が実現される。
【００３８】
記憶装置１４０は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含む。この記憶装置１４０には、例えば補正前または補正後の種々の波形データが記憶される。上記の振幅抑制処理プログラムが記憶装置１４０に記憶されてもよい。
【００３９】
表示装置１５０は、液晶表示装置、有機ＥＬ（エレクトロルミネッセンス）表示装置またはプラズマディスプレイ装置等からなる。入力装置１６０は、マウス、キーボード、および音声入力端子等を含む。
【００４０】
表示装置１５０は、波形データおよびＦＦＴデータ等を表示可能に構成されてもよい。入力装置１６０は、図１の位相範囲設定部３の機能を有してもよい。この場合、ユーザが入力装置１６０を用いて後述の対象位相範囲の設定を行う。表示装置１５０および入力装置１６０がタッチパネルとして一体化されてもよい。
【００４１】
出力装置１７０は、音声出力端子およびヘッドフォン等を含む。出力装置１７０がスピーカを含んでもよい。出力装置１７０の音声出力端子からは補正後の波形データが出力される。また、出力装置１７０が、電子楽器およびトーンジェネレータ等の外部機器に補正後の波形データを出力するためのＵＳＢ（Universal Serial Bus）端子等を含んでもよい。
【００４２】
振幅抑制装置１００は、ＣＰＵ１１０の代わりにＤＳＰ（Digital Signal Processor）を備えてもよく、またはＣＰＵ１１０に加えてＤＳＰを備えてもよい。また、図１の各構成要素の一部または全てが電子回路等のハードウエアにより構成されてもよい。
【００４３】
（３）振幅の抑制
音響機器または電子楽器等の種々の電子機器において、波形データを用いて音を再現する場合、振幅が予め定められた許容値を超えると、クリップ（音割れ）が発生する。そのため、波形データのピークの振幅を許容値以下に抑制する必要がある。
【００４４】
例えば、ピアノまたは打楽器等により発せられる減衰音は、図２の例のように、瞬間的なピークを有する場合が多い。実際の生楽器の音として、そのようなピークの存在が知覚されることはほとんどない。しかしながら、ピアノまたは打楽器等の音がサンプリングされ、生成された波形データから電子機器で音が再現されると、上記のように、クリップの発生が問題となる。
【００４５】
そのようなピークの存在により、再現される音の強度（音圧）を高めることができないことがある。特に、電子楽器のＰＣＭ音源として波形データが用いられる場合には、電子楽器により発せられる全ての音高の間で音圧のバランスをとる必要がある。一の音高に対応する波形データに大きなピークが存在すると、その音高の音圧を高めることができないだけでなく、他の音高の音圧も高めることができない。
【００４６】
本実施の形態に係る振幅抑制装置１００では、波形データの周波数成分の位相が動かされることにより、波形データのピークの振幅が抑制される。以下、振幅抑制装置１００における波形データのピークの振幅の抑制方法について、図２の波形データＷＤのピークＰの振幅を抑制する場合を例に説明する。
【００４７】
（３−１）第１ピーク位置およびピーク範囲の特定
図２の波形データＷＤにおいては、振幅の許容値Ａが設定される。ピークＰの振幅｜Ｂ｜は許容値Ａよりも大きいので、クリップの発生を防止するために振幅を抑制する必要がある。
【００４８】
まず、図２の波形データＷＤにおける第１ピーク位置ｔｐが特定される。続いて、特定された第１ピーク位置ｔｐを含むピーク範囲Ｔ１が設定される。本例では、時間位置ｔ１から時間位置ｔ２までの範囲がピーク範囲Ｔ１に設定される。第１ピーク位置ｔｐは時間位置ｔ１と時間位置ｔ２との中間にあり、時間位置ｔ１から第１ピーク位置ｔｐまでの時間長は、第１ピーク位置ｔｐから時間位置ｔ２までの時間長と等しい。ピーク範囲Ｔ１の時間長は、予め設定された一定の値であってもよく、ユーザにより適宜設定されてもよい。
【００４９】
（３−２）ピーク周波数の検出
次に、ピーク範囲Ｔ１を時間窓としてＦＦＴが行われる。これにより、ピーク範囲Ｔ１における波形データＷＤの周波数特性を表すＦＦＴデータが生成される。この場合、周波数分解能を一単位とする離散的な周波数（以下、ＦＦＴ周波数と呼ぶ）における振幅および位相が算出される。周波数分解能は、サンプリング周波数ｆｃをサンプリング点数Ｎで除した値（ｆｃ／Ｎ）で表される。
【００５０】
ＦＦＴデータに基づいて、振幅がピークとなる周波数（以下、ピーク周波数と呼ぶ）が検出される。ただし、ＦＦＴの周波数分解能を高めるには限界があるので、ピーク周波数を精度良く検出するためには、ＦＦＴデータに対する補間を行うことが好ましい。
【００５１】
例えば、ＦＦＴデータに基づいて、位相が反転する周波数範囲が特定される。ここで、位相が反転するとは、位相が略π（ラジアン）だけ変化することをいう。周波数領域では、ピーク周波数を境界として周波数成分の位相が反転するので、位相が反転する周波数範囲が特定されることにより、ピーク周波数を含む周波数範囲が特定される。特定された周波数範囲において、ＦＦＴデータの補間が行われる。この場合、例えば、複素スペクトル内挿法（原祐一郎、井口征土；複素スペクトルを用いた周波数同定  計測自動制御学会論文集１９（１９８３））が用いられる。これにより、ピーク周波数が高い精度で検出される。
【００５２】
このようにして検出されたピーク周波数を有する周波数成分が、図２の波形データＷＤのピーク範囲Ｔ１における周波数成分として抽出される。
【００５３】
（３−３）ピーク位相の抽出
抽出された各周波数成分に関して、第１ピーク位置ｔｐ（図２）における位相（以下、ピーク位相と呼ぶ）が抽出される。ＦＦＴデータにおいて算出される各周波数成分の位相は、ＦＦＴの時間窓の始点（図２の時間位置ｔ１）における位相である。いずれかのＦＦＴ周波数と一致するピーク周波数を有する周波数成分に関しては、ＦＦＴデータにおいて算出される位相が時間位置ｔ１での位相となる。いずれのＦＦＴ周波数とも一致しないピーク周波数を有する周波数成分に関しては、そのピーク周波数を挟む２つのＦＦＴ周波数の位相から時間位置ｔ１における位相が求められる。
【００５４】
このようにして得られた時間位置ｔ１における位相が、時間位置ｔ１から第１ピーク位置ｔｐまでの時間長に相当する角度分だけ複素平面上で変化されることにより、各周波数成分のピーク位相が抽出される。上記のように、ＦＦＴデータの補間によってピーク周波数が精度良く検出されることにより、各周波数成分のピーク位相も精度良く抽出される。
【００５５】
（３−４）位相の移動
本実施の形態では、波形データのピークの振幅が小さくなるように、波形データから抽出された周波数成分の位相が動かされる。図４は、周波数成分の位相の移動について説明するための模式図である。
【００５６】
図４（ａ）〜図４（ｅ）において、横軸は時間軸であり、縦軸は波形の変位を示す。図４（ａ）には、波形データの一例が示される。図４（ａ）の波形データＰｘはピークｐ０を有する。ピークｐ０の時間位置が第１ピーク位置ｔｐとして特定される。ピークｐ０は正符号の変位を有する。
【００５７】
図４（ｂ）〜図４（ｅ）には、図４（ａ）の波形データＰｘから抽出される１つの周波数成分に対応する時間軸上の正弦波の４つの例が示される。正弦波は、正弦関数で表される波および余弦関数で表される波を含む。図４（ｂ）〜図４（ｅ）の正弦波ＳＷ１〜ＳＷ４は同じ周期Ｔａおよび同じ最大振幅Ｙａを有しかつそれぞれ異なる位相を有する。図４（ｂ）〜図４（ｅ）において、移動前の正弦波ＳＷ１〜ＳＷ４が実線で示され、移動後の正弦波ＳＷ１〜ＳＷ４が点線で示される。
【００５８】
以下、正弦波の変位がピークｐ０と同符号（本例では、正符号）のピークとなる時間位置のうち、第１ピーク位置ｔｐに最も近い時間位置を第２ピーク位置ｔｐａとする。また、第１ピーク位置ｔｐと移動前の第２ピーク位置ｔｐａとの時間軸上の距離をピーク間距離θとし、正弦波の時間軸上の移動量をΔｔとする。移動量Δｔは、０以上Ｔａ以下の範囲で表される。
【００５９】
図４（ｂ）および図４（ｃ）の例では、正弦波ＳＷ１，ＳＷ２の第２ピーク位置ｔｐａの位相は、第１ピーク位置ｔｐよりも時間軸上で遅れている。図４（ｂ）の正弦波ＳＷ１についてのピーク間距離θは、図４（ｃ）の正弦波ＳＷ２についてのピーク間距離θよりも小さい。第１ピーク位置ｔｐにおいて、正弦波ＳＷ１の変位は正であり、正弦波ＳＷ２の変位は負である。
【００６０】
図４（ｄ）および図４（ｅ）の例では、正弦波ＳＷ３，ＳＷ４の第２ピーク位置ｔｐａの位相は、第１ピーク位置ｔｐよりも時間軸上で進んでいる。図４（ｄ）の正弦波ＳＷ３についてのピーク間距離θは、図４（ｅ）の正弦波ＳＷ４についてのピーク間距離θよりも大きい。第１ピーク位置ｔｐにおいて、正弦波ＳＷ３の変位は負であり、正弦波ＳＷ４の変位は正である。
【００６１】
図１の移動情報設定部２８は、周波数成分選択部２７により選択された周波数成分に対応する正弦波の第２ピーク位置ｔｐａを第１ピーク位置ｔｐから遠ざけるように位相の移動方向を設定する。
【００６２】
正弦波ＳＷ１，ＳＷ２に関しては、位相を遅らせることにより、第２ピーク位置ｔｐａを第１ピーク位置ｔｐから遠ざけることができる。正弦波ＳＷ３，ＳＷ４に関しては、位相を進めることにより、第２ピーク位置ｔｐａを第１ピーク位置ｔｐから遠ざけることができる。
【００６３】
正弦波ＳＷ１〜ＳＷ４のいずれに関しても、第２ピーク位置ｔｐａを第１ピーク位置ｔｐから遠ざける時間軸上の移動量Δｔが（Ｔａ−２θ）よりも小さい場合には、第１ピーク位置ｔｐでの変位が減少する。移動量Δｔが（Ｔａ／２−θ）である場合に、第１ピーク位置ｔｐでの変位の減少量が最大となる。移動量Δｔが（Ｔａ−２θ）よりも大きくなると、第１ピーク位置ｔｐでの変位が増加する。
【００６４】
そのため、図４（ａ）の波形データＰｘのピークｐ０の振幅を減少させるためには、移動量Δｔが（Ｔａ−２θ）よりも小さい必要がある。したがって、図１の移動情報設定部２８は、周波数成分選択部２７により選択された周波数成分に対応する正弦波の位相の移動量Δｔを０よりも大きく（Ｔａ−２θ）よりも小さい範囲内に設定する。特に、移動量Δｔが（Ｔａ／２−θ）である場合に、効果的に波形データＰｘのピークｐ０の振幅を減少させることができる。
【００６５】
同様にして、波形データの負符号のピークの振幅を減少させる場合には、選択された周波数成分に対応する正弦波の変位が負符号のピークとなる時間位置のうち、第１ピーク位置に最も近い時間位置を第２ピーク位置とする。この場合にも、選択された周波数成分に対応する正弦波の第２のピーク位置を第１ピーク位置から遠ざけるように位相の移動方向を設定するとともに、正弦波の位相の移動量を０よりも大きく（Ｔａ−２θ）よりも小さい範囲内に設定する。
【００６６】
このように、第２ピーク位置ｔｐａを第１ピーク位置ｔｐから遠ざけるように位相の移動方向および移動量が設定されることにより、選択された周波数成分の位相が必要以上に動かされることなく、波形データのピークの振幅が効率よく減少される。それにより、音質の低下および処理負荷の増大が防止される。
【００６７】
図１の周波数成分選択部２７は、複数の周波数成分に対応する正弦波についてのピーク間距離θに基づいて、位相を動かすべき周波数成分を選択してもよい。
【００６８】
例えば、図４の移動前の正弦波ＳＷ１，ＳＷ４のピーク間距離θは、Ｔａ／４よりも小さい。そのため、第１ピーク位置ｔｐにおける正弦波ＳＷ１，ＳＷ４の変位は、波形データＰｘのピークｐ０と同符号である。この場合、第１ピーク位置ｔｐにおいて、波形データＰｘのピークｐ０の振幅を減少させる正弦波ＳＷ１，ＳＷ４の変位の最大変化量は、最大振幅Ｙａよりも大きい。具体的には、第１ピーク位置ｔｐにおける移動前の正弦波ＳＷ１の変位は、正の値Ｇ１である。この場合、波形データＰｘのピークｐ０の振幅を減少させる正弦波ＳＷ１の最大変化量は、（Ｙａ＋Ｇ１）であり、Ｙａよりも大きい。
【００６９】
一方、図４の正弦波ＳＷ２，ＳＷ３のピーク間距離θは、Ｔａ／４よりも大きい。この場合、第１ピーク位置ｔｐにおける正弦波ＳＷ２，ＳＷ３の変位は、波形データＰｘのピークｐ０と異符号である。そのため、第１ピーク位置ｔｐにおいて、波形データＰｘのピークｐ０の振幅を減少させる正弦波ＳＷ２，ＳＷ３の変位の最大変化量は、最大振幅Ｙａよりも小さい。具体的には、第１ピーク位置ｔｐにおける移動前の正弦波ＳＷ２の変位は、負の値Ｇ２である。この場合、波形データＰｘのピークｐ０の振幅を減少させる正弦波ＳＷ２の最大変化量は、（Ｙａ＋Ｇ２）であり、Ｙａよりも小さい。
【００７０】
これにより、正弦波ＳＷ２，ＳＷ３を移動させる場合より、正弦波ＳＷ１，ＳＷ４を移動させる場合に波形データＰｘのピークｐ０の振幅を減少させる効果が大きい。そこで、例えば、周期の４分の１より小さいピーク間距離θを有する正弦波に対応する周波数成分が周波数成分選択部２７により選択されてもよい。
【００７１】
このようなピーク間距離θの範囲として、予め定められた一定範囲が適用されてもよく、または図１の位相範囲設定部３により設定された範囲が適用されてもよい。
【００７２】
周波数成分の選択、ならびに位相の移動方向および移動量の設定に関する他の例について説明する。以下の例において、位相とは、正弦波を余弦関数で表した場合における位相を意味する。すなわち、位相が０である場合に変位が最大となり、位相がπおよび−πである場合に変位が最小となり、位相がπ／２および−π／２である場合に変位が０となる。位相は、−π以上π以下の範囲で表される。πと−πとは同じ位相である。なお、以下の例において、正弦波を余弦関数で表した場合における位相の代わりに、正弦波を正弦関数で表した場合における位相を用いてもよい。
【００７３】
図５は、波形データＷＤから抽出された周波数成分の振幅およびピーク位相を示す図である。図５（ａ）において、横軸は周波数を対数的に示し、縦軸は位相を示す。図５（ｂ）において、横軸は周波数を対数的に示し、縦軸は振幅を示す。図５の例では、周波数ｆ１１を有する周波数成分Ｃ１、周波数ｆ１２を有する周波数成分Ｃ２、周波数ｆ１３を有する周波数成分Ｃ３、および周波数ｆ１４を有する周波数成分Ｃ４が抽出される。
【００７４】
本例において、波形データＷＤ（図２）は、一の基音およびその基音の上音の波形を表す。図５に示される周波数成分Ｃ１は基音に対応し、周波数成分Ｃ２，Ｃ３，Ｃ４は上音（本例では、倍音）に対応する。抽出された各周波数成分が基音および上音（倍音）のいずれに対応するかは、公知の技術を用いて特定することができる。また、基音の周波数と倍音の周波数との関係に基づいて、公知の技術により基音または倍音に対応する周波数成分が抽出されてもよい。
【００７５】
図２の波形データＷＤのように、ピークＰの変位が正の値である場合、図５（ａ）に示すように、０に近いピーク位相を有する周波数成分が多くなる傾向がある。また、ピーク位相の絶対値がπ／２より小さい周波数成分は、ピークＰの振幅を増大させるように作用する。一方、ピーク位相の絶対値がπ／２より大きくπ以下の周波数成分は、ピークＰの振幅を減少させるように作用する。
【００７６】
各周波数成分に関して、位相が０に近いほど、ピークＰの形成における寄与の程度が大きくなり、位相が０の場合に、ピークＰの形成における寄与の程度が最大となる。そこで、０を含む一定の位相の範囲が対象位相範囲Ｒ１として設定される。本例では、−Ｄ以上Ｄ以下の位相の範囲（｜Ｄ｜以下の位相の範囲）が対象位相範囲Ｒ１に設定される。値Ｄは、０よりも大きくπ／２よりも小さい。
【００７７】
周波数成分Ｃ１，Ｃ２，Ｃ４のピーク位相は、対象位相範囲Ｒ１に含まれる。周波数成分Ｃ３のピーク位相は、対象位相範囲Ｒ１に含まれない。この場合、周波数成分Ｃ１，Ｃ２，Ｃ４が、位相が動かされる候補となる。
【００７８】
ただし、基音に対応する周波数成分（本例では、周波数成分Ｃ１）の位相が動かされると、波形データＷＤにより再現される音の質が低下する可能性がある。そのため、基音に対応する周波数成分の位相は、動かされないことが好ましい。
【００７９】
図６は、周波数成分Ｃ１，Ｃ２，Ｃ３，Ｃ４の位相の移動について説明するための図である。図６の例では、ピーク位相が対象位相範囲Ｒ１に含まれる周波数成分Ｃ１，Ｃ２，Ｃ４のうち、基音に対応する周波数成分Ｃ１の位相は動かされず、周波数成分Ｃ２，Ｃ４の位相が動かされる。この場合、ピーク位相が０から遠ざかる（πまたは−πに近づく）ように、周波数成分Ｃ２，Ｃ４の位相が動かされる。
【００８０】
位相の移動量ＰｈＣは、予め定められた一定の値であってもよく、またはユーザにより適宜決定されてもよい。あるいは、後述のように、周波数、時間および振幅の少なくとも１つに基づいて位相の移動量ＰｈＣが算出されてもよい。
【００８１】
これにより、ピークＰの振幅が抑制される。ピークＰの振幅が許容値Ａよりも小さくなることにより、クリップの発生が防止される。その結果、波形データから再現される音の強度（音圧）を高めることができる。特に、波形データが電子楽器のＰＣＭ音源として用いられる場合において、一の音高に対応する波形データのピークに起因して全ての音高の音圧を抑える必要がなくなり、各音高の音圧を十分に高めることができる。
【００８２】
また、本実施の形態では、基音に対応する周波数成分Ｃ１の位相が動かされないので、音質の低下が防止される。さらに、対象位相範囲Ｒ１に含まれないピーク位相を有する周波数成分Ｃ３の位相が動かされない。すなわち、ピークＰの形成における寄与の程度が小さい周波数成分の位相が動かされない。そのため、周波数成分の位相が不必要に動かされることが防止される。それにより、音質の低下および音色の変化を抑制しつつピークＰの振幅を減少させることができる。
【００８３】
なお、波形データによっては、基音に対応する周波数成分の位相が動かされても、音質が低下しない場合がある。あるいは、基音に対応する周波数成分の位相が動かされることにより、音質が向上されることもある。したがって、波形データに応じて、またはユーザによる試行に基づいて、基音に対応する周波数成分の位相が動かされるか否かが適宜決定されてもよい。
【００８４】
また、対象位相範囲に含まれないピーク位相を有する周波数成分の位相が動かされることにより、音質が低下せず、かつ効果的にピークの振幅が抑制される場合がある。したがって、波形データに応じて、またはユーザによる試行に基づいて、対象位相範囲に含まれないピーク位相を有する周波数成分の位相が動かされるか否かが適宜決定されてもよい。
【００８５】
（３−５）波形データの他の例
図７は、波形データの他の例を示す図である。図７の波形データＷＤａについて、図２の波形データＷＤと異なる点を説明する。図７の波形データＷＤａでは、ピークＰの変位が負の値Ｅである。絶対値｜Ｅ｜は許容値Ａよりも大きいので、クリップの発生を防止するために振幅を抑制する必要がある。
【００８６】
上記の例と同様に波形データＷＤａから複数の周波数成分およびそれらのピーク位相が抽出される。図８は、波形データＷＤａから抽出された各周波数成分のピーク位相を示す図である。図８において、横軸は周波数を対数的に示し、縦軸は位相を示す。図８の例では、周波数成分Ｃ５，Ｃ６，Ｃ７，Ｃ８が抽出される。周波数成分Ｃ５は基音に対応し、周波数成分Ｃ６，Ｃ７，Ｃ８は上音（本例では、倍音）に対応する。
【００８７】
図７の波形データＷＤａのように、ピークＰの変位が負の値である場合、図８に示すように、πまたは−πに近いピーク位相を有する周波数成分が多くなる傾向がある。ピーク位相の絶対値がπ／２より小さい周波数成分は、ピークＰの振幅を減少させるように作用する。一方、ピーク位相の絶対値がπ／２より大きくπ以下の周波数成分は、ピークＰの振幅を増大させるように作用する。
【００８８】
各周波数成分に関して、位相がπまたは−πに近いほど、ピークＰの形成における寄与の程度が大きくなり、位相がπまたは−πである場合に、ピークＰの形成における寄与の程度が最大となる。そこで、πおよび−πを含む一定の位相の範囲が対象位相範囲Ｒ２として設定される。本例では、−Ｆ以下の位相の範囲およびＦ以上の位相の範囲（｜Ｆ｜以上の位相の範囲）が対象位相範囲Ｒ２に設定される。値Ｆは、π／２より大きくπより小さい。例えば、（π−Ｆ）は、図５（ａ）の値Ｄと等しい。
【００８９】
周波数成分Ｃ５，Ｃ６，Ｃ８のピーク位相は、対象位相範囲Ｒ２に含まれる。周波数成分Ｃ７のピーク位相は、対象位相範囲Ｒ２に含まれない。この場合、周波数成分Ｃ５，Ｃ６，Ｃ８が、位相が動かされるべき候補となる。ただし、基音に対応する周波数成分Ｃ５は、動かされないことが好ましい。
【００９０】
図９は、周波数成分Ｃ５，Ｃ６，Ｃ７，Ｃ８の位相の移動について説明するための図である。図９に示すように、対象位相範囲Ｒ２に含まれるピーク位相を有する周波数成分Ｃ５，Ｃ６，Ｃ８のうち、基音に対応する周波数成分Ｃ５の位相は動かされず、周波数成分Ｃ６，Ｃ８の位相が動かされる。この場合、ピーク位相がπまたは−πから遠ざかる（０に近づく）ように、周波数成分Ｃ６，Ｃ８の位相が動かされる。それにより、ピークＰの振幅が抑制される。ピークＰの振幅が許容値Ａよりも小さくなることにより、クリップの発生が防止される。
【００９１】
本例においても、基音に対応する周波数成分Ｃ５の位相が動かされないので、音質の低下が防止される。また、ピーク位相が対象位相範囲Ｒ２に含まれない周波数成分Ｃ５の位相は動かされない。そのため、周波数成分の位相が不必要に移動されることが防止される。それにより、音質の低下および音色の変化を抑制しつつ波形データＷＤａのピークＰの振幅を減少させることができる。
【００９２】
なお、ピークＰの変位が負の値である場合においても、ピークＰの変位が正の値である場合と同様に、波形データに応じて、またはユーザによる試行に基づいて、基音に対応する周波数成分の位相が動かされるか否か、または対象位相範囲に含まれないピーク位相を有する周波数成分の位相が動かされるか否か等が適宜決定されてもよい。
【００９３】
（４）位相の移動量
移動情報設定部２８は、周波数、時間および振幅のうち少なくとも１つに応じて、周波数成分の位相の移動量を設定してもよい。以下、位相の移動量の設定方法について、図２の波形データＷＤを例に説明する。
【００９４】
（４−１）周波数による重みづけ
波形データから抽出される複数の周波数成分に関して、一般的には周波数が低いほど位相の移動による音質および音色への影響が大きい。そこで、移動情報設定部２８は、周波数成分の周波数に応じて、位相の移動量に重みづけを行ってもよい。例えば、各周波数成分に関して、周波数が低いほど位相の移動量が小さく設定されてもよい。
【００９５】
図１０は、周波数に応じて位相の移動量に重みづけを行う例を示す図である。図１０（ａ）において、横軸は周波数を対数的に示し、縦軸は位相を示す。図１０（ａ）には、図５の周波数成分Ｃ１〜Ｃ４が示される。図１０（ｂ）において、横軸は周波数を対数的に示し、縦軸は位相の移動量ＰｈＣを示す。
【００９６】
図１０（ｂ）に示すように、周波数が大きいほど位相の移動量ＰｈＣが大きくなるように周波数と位相の移動量ＰｈＣとの関係が設定される。この場合、周波数成分Ｃ２の位相の移動量ＰｈＣ（Ｖ１）が、周波数成分Ｃ４の位相の移動量ＰｈＣ（Ｖ２）よりも小さくなる。位相の移動量ＰｈＣは、例えば下式（１）により算出される。
【００９７】
ＰｈＣ＝ＰｈＣ１・｛１．０＋（ｓｌ−１．０）・（ｆｎ／ｆｌ−１．０）｝  …（１）
式（１）において、ＰｈＣ１は、位相の移動量の基準値であり、例えばユーザが図３の入力装置１６０を操作することにより設定される。ｓｌは、重みづけの程度を示す値であり、値ｓｌが大きいほど、周波数の差による位相の移動量の差が大きくなる。値ｓｌは、例えばユーザが図３の入力装置１６０を操作することにより設定される。ｆｎは、対象となる周波数成分の周波数であり、ｆｌは、抽出された複数の周波数成分の周波数のうち最も低い周波数である。
【００９８】
図１０の周波数成分Ｃ２に関して、ｆｎは周波数ｆ１２であり、周波数成分Ｃ４に関して、ｆｎは周波数ｆ１４である。また、周波数成分Ｃ２，Ｃ４の両方に関して、ｆｌは周波数ｆ１１である。周波数ｆ１２は周波数ｆ１４よりも低いので、式（１）により、周波数成分Ｃ２の位相の移動量ＰｈＣは、周波数成分Ｃ４の位相の移動量ＰｈＣよりも小さくなる。
【００９９】
このように、周波数成分の周波数に応じて位相の移動量ＰｈＣが調整されることにより、音質および音色の変化を抑制しつつ波形データＷＤのピークＰの振幅を減少させることができる。
【０１００】
なお、上式（１）による計算の結果、移動量ＰｈＣが２πに近くなると、ピークＰの振幅を減少させる効果が得られないことがある。具体的には、ピークＰの変位が正の値である場合に（図２の例）、移動量ＰｈＣが２πに近くなると、移動後のピーク位相が移動前のピーク位相よりも０に近くなることがある。あるいは、ピークＰの変位が負の値である場合に（図７の例）、移動量ＰｈＣが２πに近くなると、移動後のピーク位相が移動前のピーク位相よりもπまたは−πに近くなることがある。
【０１０１】
そこで、移動後のピーク位相が対象位相範囲内に位置することがないように、ピーク位相の移動量ＰｈＣが調整されることが好ましい。例えば、移動量ＰｈＣの上限値が設定されてもよい。上限値は、例えばπである。これにより、移動後のピーク位相が対象位相範囲内に位置することが防止される。
【０１０２】
式（１）により位相の移動量ＰｈＣが算出される代わりに、周波数と位相の移動量ＰｈＣとの関係を示すテーブルが予め記憶され、そのテーブルに基づいて位相の移動量ＰｈＣが決定されてもよい。
【０１０３】
（４−２）時間による重みづけ
移動情報設定部２８は、波形データにおける時間位置に応じて、位相の移動量に重みづけを行ってもよい。例えば、移動情報設定部２８は、第１ピーク位置から離れるほど位相の移動量を小さく設定してもよい。
【０１０４】
図１１は、時間に応じて位相の移動量に重みづけを行う例を示す図である。図１１（ａ）には、図２の波形データＷＤが示される。図１１（ａ）において、横軸は時間を示し、横軸は波形の変位を示す。図１１（ｂ）において、横軸は時間を示し、縦軸は位相の移動量ＰｈＣを示す。
【０１０５】
図１１の例では、第１ピーク位置ｔｐ以前の範囲Ｔ２においては、位相の移動量ＰｈＣが一定値ＰｈＣ２に維持される。値ＰｈＣ２は、例えばユーザが入力装置１６０を操作することにより設定される。第１ピーク位置ｔｐから時間位置ｔ３までの範囲Ｔ３においては、時間の経過とともに位相の移動量ＰｈＣが漸次減少し、時間位置ｔ３で位相の移動量ＰｈＣが０となる。時間位置ｔ３以後の範囲Ｔ４においては、位相の移動量ＰｈＣが０に維持される。
【０１０６】
範囲Ｔ３内の任意の時間位置ｔｘにおける位相の移動量ＰｈＣは、例えば下式（２）により算出される。式（２）において、ＴＬ３は、範囲Ｔ３の時間長であり、例えばユーザが入力装置１６０を操作することにより設定される。
【０１０７】
ＰｈＣ＝ＰｈＣ２・［｛ＴＬ３−（ｔｘ−ｔｐ）｝／ＴＬ３］  …（２）
このように、波形データの時間位置に応じて位相の移動量ＰｈＣが調整されることにより、音質および音色の変化を抑制しつつ波形データＷＤのピークＰの振幅を減少させることができる。
【０１０８】
特に、図２および図７に示されるような減衰音の波形データでは、第１ピーク位置ｔｐから離れる（時間が経過する）ほど振幅が減少するので、第１ピーク位置ｔｐから離れるほど振幅を抑制する必要性が低くなる。そこで、上記のように、第１ピーク位置ｔｐから離れるほど位相の移動量ＰｈＣが小さく設定されることにより、音質および音色の変化を抑制しつつ波形データＷＤのピークの振幅を減少させることができる。
【０１０９】
（４−３）振幅による重みづけ
移動情報設定部２８は、波形の振幅に応じて、位相の移動量に重みづけを行ってもよい。例えば、移動情報設定部２８は、波形の振幅が小さいほど位相の移動量を小さく設定してもよい。
【０１１０】
図１２は、振幅に応じて位相の移動量に重みづけを行う例を示す図である。図１２（ａ）には、図２の波形データＷＤおよびそのエンベロープを表す曲線Ｑ１が示される。図１２（ａ）において、横軸は時間を示し、横軸は波形の変位を示す。図１２（ｂ）において、横軸は時間を示し、縦軸は位相の移動量ＰｈＣを示す。
【０１１１】
図１２（ａ）の例では、エンベロープの任意の時間位置における値とピークＰの振幅Ｂとの差ＥＣに応じて、位相の移動量が設定される。時間位置ｔ４以前の範囲Ｔ５においては、差ＥＣが予め定められた値Ｘｅ以上である。時間位置ｔ４から時間位置ｔ５までの範囲Ｔ６においては、差ＥＣが予め定められた値Ｘｅよりも小さい。時間位置ｔ５以後の範囲Ｔ７においては、差ＥＣが予め定められた値Ｘｅ以上である。この場合、範囲Ｔ５，Ｔ７において、位相の移動量ＰｈＣが０に維持され、範囲Ｔ６において、位相の移動量ＰｈＣが差ＥＣに応じた値に設定される。
【０１１２】
範囲Ｔ６内における位相の移動量ＰｈＣは、例えば下式（３）により算出される。式（３）において、ＰｈＣ３は、位相の移動量の基準値であり、例えばユーザが図３の入力装置１６０を操作することにより設定される。
【０１１３】
ＰｈＣ＝ＰｈＣ３・｛（Ｘｅ−ＥＣ）／Ｘｅ｝  …（３）
このように、振幅に応じて位相の移動量ＰｈＣが調整されることにより、音質および音色の変化を抑制しつつ波形データＷＤのピークＰの振幅を減少させることができる。
【０１１４】
（４−４）複数条件による重みづけ
移動情報設定部２８は、位相の移動量の設定方法として、上記の周波数による重みづけ、時間による重みづけ、および振幅による重みづけのうち２つまたは全てを組み合わせて位相の移動量を設定してもよい。
【０１１５】
例えば、周波数に応じて設定された移動量ＰｈＣが、上式（２）の基準値ＰｈＣ２または上式（３）の基準値ＰｈＣ３として用いられてもよい。この場合、周波数および時間に応じて、または周波数および振幅に応じて、位相の移動量ＰｈＣが設定される。
【０１１６】
あるいは、図１２の第１ピーク位置ｔｐから時間位置ｔ５までの範囲において、図１１の範囲Ｔ３と同様に、時間の経過とともに値ＰｈＣ２から漸次減少するように、位相の移動量ＰｈＣが設定されてもよい。この場合、時間位置ｔ５は波形の振幅に応じて決定される。すなわち、時間および振幅に応じて、位相の移動量ＰｈＣが設定される。
【０１１７】
（５）振幅抑制処理
図１３は、図１の振幅抑制装置１００により行われる振幅抑制処理のフローチャートである。図１３の振幅抑制処理は、図３のＣＰＵ１１０がＲＯＭ１２０に記憶された振幅抑制プログラムを実行することにより行われる。
【０１１８】
まず、図１のデータ入力部１が、波形データを入力する（ステップＳ１）。次に、位相移動設定部２が、位相移動設定処理を行う（ステップＳ２）。位相移動設定処理により、位相を動かすべき周波数成分が選択されるとともに、その周波数成分の位相の移動方向および移動量が設定される。次に、データ補正部４が、データ補正処理を行う（ステップＳ３）。データ補正処理により、波形データの補正が行われる。その後、データ出力部５が補正後の波形データを出力する（ステップＳ４）。これにより、振幅抑制処理が終了する。
【０１１９】
図１３のステップＳ２の位相移動設定処理について説明する。図１４は、位相移動設定処理の詳細を示すフローチャートである。まず、ピーク位置特定部２１が、図１３のステップＳ１で入力された波形データにおける一または複数のピークを検出し、一または複数の第１ピーク位置を特定する（ステップＳ１１）。図２の例では、１つのピークＰが検出され、１つの第１ピーク位置ｔｐが特定される。
【０１２０】
次に、正負記憶部２２が、検出されたピークの変位が正または負のいずれであるかを記憶する（ステップＳ１２）。図２の例では、ピークＰの変位が正であることが記憶される。一方、図７の例では、ピークＰの変位が負であることが記憶される。次に、ピーク範囲設定部２３が、特定された第１ピーク位置を基準にピーク範囲を設定する（ステップＳ１３）。図２の例では、第１ピーク位置ｔｐを中間とするピーク範囲Ｔ１が設定される。
【０１２１】
次に、時間／周波数変換部２４が、設定されたピーク範囲を時間窓としてＦＦＴを行うことにより、ＦＦＴデータを生成する（ステップＳ１４）。次に、周波数成分抽出部２５が、生成されたＦＦＴデータに基づいて、波形データの一または複数のピークを構成する複数の周波数成分を抽出する（ステップＳ１５）。図５の例では、図２のピークＰを構成する周波数成分Ｃ１〜Ｃ４が抽出される。
【０１２２】
なお、ステップＳ１１において複数のピークが検出された場合には、ステップＳ１４において複数のピーク範囲に関してＦＦＴが行われ、複数のＦＦＴデータが生成される。また、ステップＳ１５において、ＦＦＴデータ毎に複数の周波数成分が抽出される。
【０１２３】
次に、位相抽出部２６が、抽出された複数の周波数成分のピーク位相を抽出する（ステップＳ１６）。次に、周波数成分選択部２７が、抽出されたピーク位相および位相範囲設定部３により設定される対象位相範囲に基づいて、ステップＳ１５で抽出された複数の周波数成分のうち位相を動かすべき一または複数の周波数成分を選択する（ステップＳ１７）。図５の例では、対象位相範囲Ｒ１内のピーク位相を有する周波数成分Ｃ１，Ｃ２，Ｃ４のうち、基音に対応する周波数成分Ｃ１を除く周波数成分Ｃ２，Ｃ４が選択される。
【０１２４】
次に、移動情報設定部２８が、移動情報として位相の移動方向を決定する（ステップＳ１８）。ステップＳ１２でピークの変位が正と記憶された場合、ピーク位相が０から遠ざかるように位相の移動方向が決定される。一方、ステップＳ１２でピークの変位が負と記憶された場合、ピーク位相がπまたは−πから遠ざかるように位相の移動方向が決定される。
【０１２５】
また、移動情報設定部２８が、移動情報として位相の移動量を決定する（ステップＳ１９）。上記のように、位相の移動量は、予め定められた一定の値であってもよく、またはユーザにより適宜決定されてもよい。あるいは、図１０〜図１２の例のように、周波数、時間および振幅の少なくとも１つに基づいて位相の移動量が算出されてもよい。これにより、位相移動設定処理が終了する。
【０１２６】
図１３のステップＳ３のデータ補正処理について説明する。図１５は、データ補正処理の詳細を示すフローチャートである。まず、時間／周波数変換部４１が、データ入力部１により入力された波形データの一のフレームを時間窓としてＦＦＴを行い、ＦＦＴデータを生成する（ステップＳ２１）。次に、位相移動部４２が、生成されたＦＦＴデータにおいて、図１４のステップＳ１８，Ｓ１９で設定された移動情報に基づき、ステップＳ１７で選択された周波数成分の位相を動かす（ステップＳ２２）。次に、周波数／時間変換部４３が、位相が動かされた後のＦＦＴデータに対してＩＦＦＴを行う（ステップＳ２３）。これにより、波形データの一のフレームに関して補正が行われる。
【０１２７】
次に、周波数／時間変換部４３は、入力された波形データの全フレームの補正が終了したか否かを判定する（ステップＳ２４）。全フレームの補正が終了していない場合、波形データの次のフレームに対して、ステップＳ２１〜Ｓ２３の処理が行われる。全フレームの補正が終了すると、データ補正処理が終了する。
【０１２８】
なお、図１１および図１２の例のように、時間または振幅に応じて位相の移動量が調整される場合、波形データの時間位置によって位相の移動量が異なる。この場合、図１４のステップＳ１９において、波形データのフレーム毎に位相の移動量が決定され、図１５のステップＳ２２において、波形データのフレーム毎に位相の移動量が調整される。
【０１２９】
また、図１１の範囲Ｔ４および図１２の範囲Ｔ５，Ｔ７においては、位相の移動量が０に設定される。このような範囲に対応するフレームに関しては、図１５のデータ補正処理が行われなくてもよい。
【０１３０】
（６）第１の実施の形態の効果
本実施の形態に係る振幅抑制装置１００においては、波形データの第１ピーク位置を含む範囲における複数の周波数成分が周波数成分抽出部２５により抽出され、抽出された周波数成分のピーク位相が位相抽出部２６により抽出される。抽出されたピーク位相に基づいて、位相を動かすべき周波数成分が周波数成分選択部２７により選択される。この場合、抽出されたピーク位相に基づいて、ピークの形成における各周波数成分の寄与の程度を認識することができる。そのため、選択された周波数成分の位相が動かされることにより、効率よくピークの振幅が減少される。
【０１３１】
また、抽出された複数の周波数成分のうち、一または複数の周波数成分の位相が選択的に動かされるので、複数の周波数成分の位相が必要以上に動かされることが防止される。それにより、音質の低下を防止しつつ波形データのピークの振幅を抑制することができる。また、振幅を抑制するための処理負荷の増大を防止することができる。
【０１３２】
また、本実施の形態では、ピークの形成における寄与の程度が最大となる位相を含む対象位相範囲が設定され、対象位相範囲内のピーク位相を有する周波数成分が位相を動かすべき周波数成分として選択される。これにより、ピークの形成における寄与の程度が大きい周波数成分の位相を容易にかつ効率良く選択することができる。
【０１３３】
また、本実施の形態では、周波数成分選択部２７により選択された各周波数成分の位相の移動方向および移動量が移動情報設定部２８により設定される。これにより、各周波数成分の位相が必要以上に動かされることが防止され、音質の低下が防止される。
【０１３４】
［Ｂ］第２の実施の形態
（１）構成
図１６は、本発明の第２の実施の形態に係る振幅抑制装置の構成を示す機能ブロック図である。図１６の振幅抑制装置１００ａについて、図１の振幅抑制装置１００と異なる点を説明する。図１６の振幅抑制装置１００ａにおいては、データ入力部１が、波形データを一定の時間長の範囲（以下、単位範囲と呼ぶ）毎に入力する。
【０１３５】
図１７は、波形データの他の例を示す図である。図１７において、横軸は時間軸であり、縦軸は波形の変位を示す。図１７の波形データＷＤｂは、単位範囲Ｔ１１，Ｔ１２，Ｔ１３，Ｔ１４，Ｔ１５を含む。この場合、データ入力部１は、波形データＷＤｂの単位範囲Ｔ１１，Ｔ１２，Ｔ１３，Ｔ１４，Ｔ１５を順に入力する。
【０１３６】
図１６の位相移動設定部２は、図１のピーク範囲設定部２３を含まず、ピーク有無判定部２０を含む。ピーク有無判定部２０は、入力された単位範囲において、許容値を超える振幅を有するピークが存在するか否かを判定する。
【０１３７】
入力された単位範囲にピークが存在する場合、ピーク位置特定部２１は、その単位範囲におけるピークを検出し、第１ピーク位置を特定する。また、時間／周波数変換部２４は、その単位範囲に対してＦＦＴを行い、ＦＦＴデータを生成する。この場合、単位範囲を時間窓としてＦＦＴが行われてもよく、または単位範囲が複数のフレームに分割され、各フレームを時間窓としてＦＦＴが行われてもよい。あるいは、上記第１の実施の形態と同様に、第１ピーク位置を含む一定範囲（ピーク範囲）を時間窓としてＦＦＴが行われてもよい。
【０１３８】
また、入力された単位範囲にピークが存在する場合、正負記憶部２２、周波数成分抽出部２５、位相抽出部２６、周波数成分選択部２７および移動情報設定部２８は、図１の実施の形態と同様の処理を行う。これにより、入力された単位範囲に関して、位相を動かすべき周波数成分が選択されるとともに、位相の移動情報が設定される。
【０１３９】
一方、入力された単位範囲にピークが存在しない場合、移動情報設定部２８が、移動情報として位相を動かさないことを決定する。この場合、ピーク位置特定部２１、正負記憶部２２、時間／周波数変換部２４、周波数成分抽出部２５、位相抽出部２６、周波数成分選択部２７および移動情報設定部２８は、その単位範囲に対して処理を行わない。
【０１４０】
データ補正部４の時間／周波数変換部４１は、入力された単位範囲に対してＦＦＴを行い、ＦＦＴデータを生成する。この場合、単位範囲を時間窓としてＦＦＴが行われてもよく、または単位範囲が複数のフレームに分割され、各フレームを時間窓としてＦＦＴが行われてもよい。
【０１４１】
入力された単位範囲にピークが存在する場合、位相移動部４２は、生成されたＦＦＴデータにおいて、移動情報設定部２８により設定された移動情報に基づき、周波数成分選択部２７により選択された周波数成分の位相を動かす。周波数／時間変換部４３は、位相移動部４２により位相が動かされた後のＦＦＴデータに対してＩＦＦＴ（逆高速フーリエ変換）を行う。これにより、入力された単位範囲の補正が行われる。
【０１４２】
一方、入力された単位範囲にピークが存在しない場合、位相移動部４２は、生成されたＦＦＴデータにおいて、周波数成分の位相を動かさない。周波数／時間変換部４３は、時間／周波数変換部４１により生成されたＦＦＴデータに対してＩＦＦＴ（逆高速フーリエ変換）を行う。この場合、入力された単位範囲の補正が行われない。
【０１４３】
データ出力部５は、周波数／時間変換部４３によるＩＦＦＴ後の単位範囲を出力する。このようにして、データ出力部５は、補正後の波形データを単位範囲毎に出力する。
【０１４４】
なお、ピークが存在しない単位範囲に関しては、データ補正部４による処理（ＦＦＴおよびＩＦＦＴ）が行われなくてもよい。この場合、データ入力部１により入力された単位範囲がデータ出力部５によりそのまま出力される。
【０１４５】
また、本例では、位相移動設定部２の時間／周波数変換部２４におけるＦＦＴと、データ補正部４の時間／周波数変換部４１におけるＦＦＴとが個別に行われるが、これらが共通の処理として行われてもよい。
【０１４６】
（２）振幅の抑制
図１７の波形データＷＤｂにおいては、単位範囲Ｔ１１にピークＰ１が存在し、単位範囲Ｔ１３にピークＰ２が存在し、単位範囲Ｔ１５にピークＰ３が存在する。ピークＰ１〜Ｐ３の振幅は、許容値Ａよりもそれぞれ大きい。そのため、単位範囲Ｔ１１，Ｔ１３，Ｔ１５に関しては、振幅を抑制する必要がある。
【０１４７】
一方、単位範囲Ｔ１２，Ｔ１４には、許容値Ａよりも大きい振幅を有するピークが存在しない。そのため、単位範囲Ｔ１１，Ｔ１３，Ｔ１４に関しては、振幅を抑制する必要がない。
【０１４８】
図１６の振幅抑制装置１００ａにおいては、波形データＷＤｂの単位範囲毎に処理が行われる。この場合、単位範囲Ｔ１１，Ｔ１３，Ｔ１５に関しては、上記第１の実施の形態と同様に、１または複数の周波数成分の位相が動かされることにより、ピークＰ１〜Ｐ３の振幅が抑制される。一方、単位範囲Ｔ１２，Ｔ１４に関しては、周波数成分の位相が動かされない。
【０１４９】
（３）振幅抑制処理
図１８は、図１６の振幅抑制装置１００ａにより行われる振幅抑制処理のフローチャートである。図１８および図１９の振幅抑制処理について、図１３〜図１５の例と異なる点を説明する。
【０１５０】
まず、図１６のデータ入力部１が、波形データの一の単位範囲を入力する（ステップＳ３１）。次に、位相移動設定部２が、位相移動設定処理を行う（ステップＳ３２）。次に、データ補正部４が、データ補正処理を行う（ステップＳ３３）。次に、データ出力部５が一の単位範囲を出力する（ステップＳ３４）。
【０１５１】
続いて、データ出力部５が、波形データの全ての単位範囲が出力されたか否かを判定する（ステップＳ３５）。波形データの全ての単位範囲が出力されていない場合、波形データの次の単位範囲に関して、ステップＳ３１〜Ｓ３４の処理が行われる。波形データの全ての単位範囲が出力されると、振幅抑制処理が終了する。
【０１５２】
図１８のステップＳ３２の位相移動設定処理について、図１４の位相移動設定処理と異なる点を説明する。図１９は、ステップＳ３２の位相移動設定処理の詳細を示すフローチャートである。
【０１５３】
まず、ピーク有無判定部２０が、図１８のステップＳ３１で入力された単位範囲にピークが存在するか否かを判定する（ステップＳ４１）。
【０１５４】
入力された単位範囲にピークが存在する場合、ピーク位置特定部２１が、図１８のステップＳ３１で入力された単位範囲における一または複数のピークを検出し、一または複数の第１ピーク位置を特定する（ステップＳ４２）。次に、正負記憶部２２が、検出されたピークの変位が正または負のいずれであるかを記憶する（ステップＳ４３）。次に、時間／周波数変換部２４が、入力された単位範囲に対してＦＦＴを行うことにより、ＦＦＴデータを生成する（ステップＳ４４）。次に、周波数成分抽出部２５が、生成されたＦＦＴデータに基づいて、波形データの一または複数のピークを構成する複数の周波数成分を抽出する（ステップＳ４５）。
【０１５５】
次に、位相抽出部２６が、抽出された複数の周波数成分のピーク位相を抽出する（ステップＳ４６）。次に、周波数成分選択部２７が、抽出されたピーク位相および位相範囲設定部３により設定される対象位相範囲に基づいて、位相を動かすべき一または複数の周波数成分を選択する（ステップＳ４７）。次に、移動情報設定部２８が、移動情報として位相の移動方向および移動量を決定する（ステップＳ４８，Ｓ４９）。
【０１５６】
ステップＳ４２〜Ｓ４９の処理は、波形データの全体でなく波形データの単位範囲における第１ピーク位置が特定される点、およびピーク範囲が設定されることなく単位範囲に対してＦＦＴが行われる点を除いて、図１４のステップＳ１１〜Ｓ１９の処理と同じである。
【０１５７】
一方、ステップＳ４１において、入力された単位範囲にピークが存在しない場合、移動情報設定部２８が、移動情報として位相を動かさないことを決定する（ステップＳ５０）。
【０１５８】
図１８のステップＳ３３のデータ補正処理が図１５の例と異なるのは、次の点である。図１８のステップＳ３３のデータ補正処理では、入力された単位範囲にピークが存在する場合、位相移動部４２が、図１９のステップＳ４８，Ｓ４９で設定された移動情報に基づいて、ステップＳ４７で選択された周波数成分の位相を動かす。一方、入力された単位範囲にピークが存在しない場合、位相移動部４２が位相を動かさない。
【０１５９】
（４）第２の実施の形態の効果
本実施の形態に係る振幅抑制装置１００ａにおいても、上記第１の実施の形態と同様に、複数の周波数成分のピーク位相に基づいて位相を動かすべき周波数成分が選択される。それにより、効率よくピークの振幅を減少させることができる。また、抽出された複数の周波数成分のうち、一または複数の周波数成分の位相が選択的に動かされるので、複数の周波数成分の位相が必要以上に動かされることが防止される。それにより、音質の低下を防止しつつ波形データのピークの振幅を抑制することができる。また、振幅を抑制するための処理負荷の増大を防止することができる。
【０１６０】
また、本実施の形態では、波形データの単位範囲毎に、第１ピーク位置の特定、周波数成分の抽出、位相を動かすべき周波数成分の選択、ならびに位相の移動方向および移動量の設定が行われる。この場合、波形データの時間長が大きくかつピークの数が多くても、容易にかつ効率よく各ピークの振幅を抑制することができる。
【０１６１】
［Ｃ］他の実施の形態
（１）上記第１および第２の実施の形態では、周波数成分選択部２７により位相を動かすべき周波数成分が選択され、移動情報設定部２８により位相の移動方向および移動量が設定されるが、これに限らない。ユーザが入力装置１６０（図３）を操作することにより位相を動かすべき周波数成分を選択可能であってもよい。また、ユーザが入力装置１６０を操作することにより各周波数成分の移動方向および移動量を設定可能であってもよい。
【０１６２】
この場合、ユーザが、スピーカまたはヘッドフォン等の出力装置１７０（図３）から出力される音を確認しながら、周波数成分の選択ならびに位相の移動方向および移動量の調整を行うことができる。それにより、ユーザの感性に基づく波形データの補正が可能となる。
【０１６３】
また、位相抽出部２６により抽出された各周波数成分のピーク位相が図３の表示装置１５０により画像として出力されてもよい。例えば、図５または図８に対応する画像が表示装置１５０により出力される。この場合、ユーザが各周波数成分のピーク位相を視覚的に認識することができる。そのため、ユーザが位相を動かすべき周波数成分の選択ならびに位相の移動方向および移動量の設定を効率良く行うことができる。
【０１６４】
また、波形データを表す画像およびＦＦＴデータを表す画像等の他の画像が表示装置１５０により表示可能であってもよい。この場合、ユーザが種々の情報に基づいて周波数数成分の選択ならびに位相の移動方向および移動量の設定等を行うことが可能となる。
【０１６５】
（２）上記第１および第２の実施の形態では、周波数成分抽出部２５により複数の周波数成分が抽出されるが、周波数成分抽出部２５により１つの周波数成分のみが抽出されてもよい。例えば、波形データが正弦波と略等しい波形を表す場合、周波数成分抽出部２５により１つの周波数成分のみが抽出される。この場合、抽出された周波数成分以外の他の周波数成分（抽出されない周波数成分）が波形データに含まれていると、抽出された１つの周波数成分の位相を動かすことにより、波形データのピークの振幅を抑制することができる。
【０１６６】
［Ｄ］請求項の各構成要素と実施の形態の各要素との対応
以下、請求項の各構成要素と実施の形態の各要素との対応の例について説明するが、本発明は下記の例に限定されない。
【０１６７】
上記実施の形態では、ピーク位置特定部２１がピーク位置特定部の例であり、周波数成分抽出部２５および位相抽出部２６が周波数成分変換部の例であり、周波数成分選択部２７が周波数成分選択部の例であり、位相移動部４２が位相移動部の例であり、移動情報設定部２８が移動情報設定部の例である。
【０１６８】
請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることもできる。
【産業上の利用可能性】
【０１６９】
本発明は、音の波形を表す波形データのピークの振幅を抑制するために有効に利用することができる。
【符号の説明】
【０１７０】
１  データ入力部
２  位相移動設定部
３  位相範囲設定部
４  データ補正部
５  データ出力部
２０  ピーク有無判定部
２１  ピーク位置特定部
２２  正負記憶部
２３  ピーク範囲設定部
２４  時間／周波数変換部
２５  周波数成分抽出部
２６  位相抽出部
２７  周波数成分選択部
２８  移動情報設定部
４１  時間／周波数変換部
４２  位相移動部
４３  周波数／時間変換部
１００，１００ａ  振幅抑制装置
ＷＤ，ＷＤａ，ＷＤｂ  波形データ
【図１】
2015148715.tif 000003
【図２】
2015148715.tif 000004
【図３】
2015148715.tif 000005
【図４】
2015148715.tif 000006
【図５】
2015148715.tif 000007
【図６】
2015148715.tif 000008
【図７】
2015148715.tif 000009
【図８】
2015148715.tif 000010
【図９】
2015148715.tif 000011
【図１０】
2015148715.tif 000012
【図１１】
2015148715.tif 000013
【図１２】
2015148715.tif 000014
【図１３】
2015148715.tif 000015
【図１４】
2015148715.tif 000016
【図１５】
2015148715.tif 000017
【図１６】
2015148715.tif 000018
【図１７】
2015148715.tif 000019
【図１８】
2015148715.tif 000020
【図１９】
2015148715.tif 000021