ピッチトラッキング完全ガイド:理論・手法・実践と活用例

ピッチトラッキングとは

ピッチトラッキング(Pitch Tracking)は、音声や音楽信号から時間ごとの基本周波数(F0)またはピッチ(聴感上の高さ)を推定する処理の総称です。楽器や歌声のメロディーを数値化して可視化・解析・自動補正・自動採譜などに利用できるため、音楽情報処理(MIR)や音声処理の基盤技術として広く使われます。ここで重要なのは「F0(物理量)」と「ピッチ(知覚)」が必ずしも1対1で対応しない点で、倍音構造、音色、雑音、音の非周期性が推定結果に影響します。

基本的な考え方と代表的手法

ピッチ推定の手法は大きく時間領域ベース、周波数領域ベース、ハイブリッド(または確率的・機械学習ベース)に分けられます。

  • 時間領域法(自相関法・AMDF)

    信号の自己相関や平均絶対差関数(AMDF)を使って周期性を検出します。シンプルで計算量が少なく、単音(モノフォニック)の安定した音に対しては良好ですが、ノイズや倍音の影響で誤検出(特にオクターブ誤り)が生じやすいです。

  • 周波数領域法(ケプストラム・ハーモニックプロダクト)

    短時間フーリエ変換(STFT)を取ったスペクトルの処理でピッチを求めます。ケプストラムはスペクトルのログを逆フーリエ変換することで周期構造を抽出します。周波数領域は高解像度のスペクトルが得られれば、倍音構造からF0を推定できますが、時間分解能とのトレードオフがあります。

  • 改良アルゴリズム(YIN, pYIN など)

    YINは自己相関に基づく誤検出対策(差分関数の正規化など)を導入した古典的かつ高精度な手法です。pYINはYINを確率的に拡張し、フレーム間の連続性と発声判定(voicing)を同時推定します。これらは単音の音楽や歌声の解析でよく用いられます。

  • 深層学習ベース(例:CREPE)

    畳み込みニューラルネットワークなどを使って波形から直接ピッチを推定する手法が近年発展しています。学習データに依存しますが、雑音耐性や複雑な音色への適応性が高く、短時間での高精度化が可能です。ただし学習済みモデルが対象ドメインとずれると精度が落ちることがあります。

重要な実装パラメータ

実用的なピッチトラッキングでは、次のようなパラメータが結果に大きく影響します。

  • サンプリング周波数(Fs):高いF0上限を扱うには高いFsが必要(例:Fs=44.1kHz)。
  • フレーム長とホップサイズ:時間解像度と周波数解像度のトレードオフ。歌やビブラートの解析には短めのフレーム(例:20〜40ms)が一般的。
  • ウィンドウ関数(ハニング等):スペクトルリーケージを抑える。
  • ピッチ範囲設定:処理負荷低減と誤検出防止のために期待するF0範囲を制限する。
  • 発声判定(voicing decision):無音/喘音をF0推定の対象外にするロジック。

実用上の課題と限界

  • ノイズ・残響:雑音やリバーブは周期性の検出を困難にし、誤検出を招きます。事前のノイズ抑圧や帯域フィルタリングが有効です。
  • 倍音とオクターブ誤り:基音が弱く倍音が強い音色では、上位倍音に引かれて本来のF0の2倍や0.5倍を推定することがあります。
  • ポリフォニー(多音)への対応:単純なピッチトラッカーは単音を前提としているため、和音や同時発音のある音楽ではマルチF0推定や音源分離を組み合わせる必要があります。
  • 滑らかなピッチ変動(ビブラートやスライド):短時間の変動を平滑化すると情報を失い、平滑化しないとノイズとして扱われるジレンマがあります。

評価指標とデータセット

ピッチ推定は以下の評価指標で性能を語ることが多いです。

  • F0誤差(Hz)や半音単位の誤差(cent)
  • Voicing decision error(VDE):発声/非発声誤判定率
  • Gross Pitch Error(GPE)/Fine Pitch Error(FPE):大幅なエラーと細かな誤差を分けて評価
  • Frame-wise accuracy:フレームごとの正解率

代表的データセットには、歌声解析でよく使われる MIR-1K、MedleyDB、RWC(Real World Computing)などがあります。評価の際は「どの基準(F0/ピッチ、発声判定など)で評価しているか」を明確にする必要があります。

代表的なツール・ライブラリ

  • librosa:Pythonの音楽情報処理ライブラリで、piptrackやpyinといったピッチ推定機能を提供します。
  • aubio:Cライブラリ(Pythonバインディングあり)でリアルタイム向けのピッチ検出器を多数搭載。
  • CREPE:学習ベースのピッチ推定器(GitHubでモデル公開)。
  • 商用ツール:Antares Auto-Tune、Celemony Melodyneなどは商用レベルのピッチ解析・補正機能を持ち、DAWワークフローと連携できます。

用途別の実践的アドバイス

  • 自動採譜・メロディ抽出

    歌やソロ楽器のメロディ抽出では、pyinやYIN系アルゴリズムでF0を推定し、連続するF0を音高(ノート)に量子化します。量子化前に小さなスライドやビブラートを平滑化しておくと安定しますが、表現を残したい場合はビブラート検出を別途実装すると良いでしょう。

  • 自動ピッチ補正(Auto-Tune)

    リアルタイム性が重要な現場では、遅延を小さくするために計算量の軽いアルゴリズムを選びます。補正の強さや補正方式(ハードチューン vs 自然調整)を用途に応じて調整します。

  • 音楽教育・発声評価

    発声指導や練習アプリでは、発声判定やF0の時間変化(安定性、持続性、音域)を評価指標として提示します。ノイズやマイク品質の影響を受けやすいので、基準マイクの使用やフィードバック設計が重要です。

実装上のチェックポイント(トラブルシューティング)

  • オクターブ誤りが出る→ピッチサリエンス関数の工夫、または倍音構造を使った候補絞り込みを行う。
  • ノイズで誤検出が多い→事前にスペクトルサブトラクションやノイズゲートをかける。
  • 非周期音(フラジオレットや摩擦音)で誤検出→発声判定を厳しくするか、発声確率の閾値を上げる。
  • リアルタイム処理で遅延が問題→フレーム長とアルゴリズム複雑度を見直す。ストリーミング実装では遅延と精度のトレードオフが鍵。

将来の方向性

ディープラーニングの進展により、雑音下や複雑な音色でのF0推定精度はさらに向上しています。同時に、音源分離と統合した多音解析(マルチF0推定)、そして人間の知覚特性を組み込んだピッチ表現(感覚ピッチ、調性感のモデル化)などが研究・実用の注目点です。

まとめ(実務者向けのチェックリスト)

  • 目的を明確にする(単音解析 vs 多音解析、リアルタイム性の有無)。
  • 対象音域とサンプリング周波数を整合させる。
  • 事前処理(ノイズ除去、帯域制限)を行う。
  • 複数アルゴリズムを比較して最適解を選ぶ(YIN系、pyin、深層学習モデル等)。
  • 評価指標とデータセットを定め、数値で比較する。

エバープレイの中古レコード通販ショップ

エバープレイでは中古レコードのオンライン販売を行っております。
是非一度ご覧ください。

エバープレイオンラインショップのバナー

また、レコードの宅配買取も行っております。
ダンボールにレコードを詰めて宅配業者を待つだけで簡単にレコードが売れちゃいます。
是非ご利用ください。
https://everplay.jp/delivery

参考文献