PSOLAまたはWSOLAは、ボーカルのストレッチ/リチューニングに適していますか?
PSOLA(ピッチ同期オーバーラップおよび加算)またはWSOLA(波形類似性オーバーラップおよび加算)などの時間領域ピッチ変更アルゴリズムを実装しようとしています。
現時点ではPSOLAを使用していますが、WSOLAは複雑な波形のポリフォニック信号に対してより堅牢であるのに対し、PSOLAはボーカルなどのモノフォニック信号に対してより適切に機能するように思われます。今のところモノラル信号にしか興味がないのですが、WSOLAを使用することで将来を保証する方が良いと思います。
PSOLAではなくWSOLAを使用することに不利な点があるのではないかと思います。
WSOLAは必ずしも基本にロックされているわけではありませんが、どちらの手法も同様に機能し、どちらも波形内の繰り返しを識別しているようです。基本的なロックにより、PSOLAはボーカルに優れていますか?
より正確に言うと、私は次のタスクについてWSOLAとPSOLAの長所と短所を解明しようとしています。
- ピッチ補正
- 時間修正
- フォルマント補正
回答
より正確に言うと、私は次のタスクについてWSOLAとPSOLAの長所と短所を解明しようとしています。
ピッチ補正:
- PSOLA-グレイン間のレートスペースに基づいてピッチを直接変更し、フォルマントをそのまま維持できるという利点...タイムスケールを必要としないピッチを変更し、後でリサンプリングすることができます。
- PSOLA-デメリットスーパーパワーピッチ検出器が必要ですか
- WSOLA-デメリットWSOLAは1つのピッチシフトアルゴリズムではなく、WSOLAは1つのタイムスケールアルゴリズムです。ピッチを変更するにはタイムスケールが必要であり、リサンプリングするとフォルマントが失われるため、適切な場所を見つけるには1種類の自己相関が必要になる可能性があります。スライスするため、ピッチ情報と同じではありません。自動ピッチ補正を作成している場合、1つの基本的な自己相関では正しいピッチ情報が得られません。
- WSOLA-ここでの利点の1つは、ピッチがスライスに依存しないことです。最適な類似性でスライスするだけです。これは1つのタイムスケールアルゴリズムであることに注意してください。ピッチを変更するには、リサンプリングが必要です。
時間修正:
タイムスケールについては、WSOLAがここまたはいくつかのTDHS
ベースのアルゴリズムで最も有利だと思います。ええ、PSOLAを使用してタイムスケールし、ピッチシフトを一緒に適用できます。ピッチシフトまたはタイムスケールだけですが、タイムスケーリングだけの場合、WSOLAは1つの賢い方法です。選択、WSOLAでウルトラピッチ検出器を構築する必要はありません。1つの波形の類似性で問題が解決します(AutoCorrelationで解決できます...)
フォルマント補正:
- PSOLA-デフォルトではフォルマントはタッチできませんが、フォルマントをワープすることもできます。PSOLAでは素晴らしいです...
- WSOLA-タイムスケールとリサンプリング後、フォルマントは失われます。元のフォルマントを取得するには、元の信号からスペクトルエンベロープ内のフォルマントを取得し、ピッチシフト信号に適用する必要があります。でローパスフィルターを使用して行うことができます。スペクトル、ピークピッキングを使用して補間するか、ケプストラムを使用してエンベロープを取得します...
PSOLAは非常に複雑であることは知っていますが、このアルゴリズムは本当に素晴らしいと思います。まともなPitchTrackがあれば、非常に多様性があります。
WSOLAがポリフォニックに適していることは正しいと思いますが、その方法にはまだ不具合があります。それが少し優れている理由は、ピッチ検出アルゴリズムが適切なスプライス変位のみを探しているためです。オクターブオフの場合、スプライスはまだ良好なので、それほど悪くはありません。ただし、調和の取れていない音符のコード(たとえば減七の和音)をピッチシフトすると、適切なスプライス変位がないため、最も悪いものを選択することになります。
今PSOLAは正確にピッチを知ることが必要ですし、オクターブエラーがオクターブ・エラーのように聞こえるでしょう。しかし、それはあなたがボーカルに望むピッチシフト方法であり、私が指摘している論文はその理由を説明しています。
しかし、時間スケーリングは正確にピッチシフトではありません。ボーカルを含む何かをタイムスケーリングするときは、PSOLAを使用しないでください。WSOLAまたはフェーズボコーダーのような周波数領域法のいずれかを使用します。