ピッチが上がらない場合の対処法

症状

  • ピッチを高くする設定を行っているにもかかわらず、ピッチが上がらない
  • 下記のような警告が発生する
    • W2020033002:Specified max frequency ratio exceeds max_pitch specified during initialization. Increase max_pitch of CriAtomExConfig up to ????.(Cue: ????)
    • W2015113001:Specified frequency ratio exceeds the player's capability. (Increase max_sampling_rate of AtomPlayer or VoicePool up to ????Hz.)
    • W2010110801:Specified frequency ratio exceeds the player's capability. Increase max_sampling_rate of AtomPlayer or VoicePool up to ????Hz. (AtomPlayer address is stored in the last parameter.)
    • criware_ue4_040_pitch_wont_change_warning_fall.jpg

発生状況(W2015113001またはW2010110801)

再生しようとしている音声のサンプリングレートが高く、再生可能なボイスが存在しない場合に発生します。
????Hzは、実際に再生しようとしたサンプリングレートです。
再生時のサンプリングレートは、音源自体のサンプリングレートと再生ピッチによる倍率の掛け合わせで決定します。
本警告が発生する原因は以下の通りです。

  • ツール側で再生ピッチを高く設定している。
  • アプリ側でSetPitch関数を使い、再生ピッチを上げている。
  • AISACを使ってピッチ変更を行っている。
  • 3Dポジショニング機能のドップラー効果を利用している。(※1)
本警告が発生しても、音声の再生自体は行われます。
ただし、意図したピッチでは再生されていません。
再生用に確保したボイスの上限値での再生となります。
※1:3Dポジショニング機能では、リスナーが音源に近づく速度が大きいと、ドップラー効果により再生ピッチが上がります。

解決方法

(1)

まず、ゲーム全体を通してピッチを上げる最大量(または最大再生速度)を決めてください。
例えば次のように取り決めを行います。
  • 金属音のピッチをランダムに変えて鳴らそう。元素材の2オクターブ上までピッチを上げられるようにしよう
  • 2倍速で自動戦闘できるようにしよう。効果音も2倍速で再生できるようにしよう

(2)

各種設定項目を編集します。

(2-1)「Max Pitch」の設定

下記項目に適切な値を入力してください。
「プロジェクト設定 → CriWare → Atom → Max Pitch (cent)」
単位はセントです。
例えば
  • ピッチを最大2オクターブ上げられるようにしたい場合は「2400」を指定
  • 最大2倍速で再生できるようにしたい場合は「1200」を指定
  • 最大4倍速で再生できるようにしたい場合は「2400」を指定
ゲーム全体を通してピッチを上げる最大量(または最大再生速度)を決めて「Max Pitch」を設定した後は、「W2020033002:Specified max frequency ratio exceeds max_pitch specified during initialization. Increase max_pitch of CriAtomExConfig up to ????.(Cue: ????)」が発生しても無視してください。
この警告が発生しないように動作を変更したい場合は弊社テクニカルサポートにお問い合わせください。

(2-2)サンプリングレートの設定

「プロジェクト設定 → CriWare → Atom」欄の下記項目に適切な値を入力してください。
  • 「Sampling Rate of Standard Memory Voice (Hz)」
  • 「Sampling Rate of Standard Streaming Voice (Hz)」
criware_ue4_040_pitch_wont_change_settings.jpg
例えば
  • 元素材が44100Hzでピッチを最大1オクターブ上げる(最大2倍速再生する)場合は 44100 × 2 = 88200 なので「88200」を指定
  • 元素材が44100Hzで最大2倍速再生する場合は 44100 × 2 = 88200 なので「88200」を指定
  • 元素材が48000Hzで最大4倍速再生する場合は 48000 × 4 = 192000 なので「192000」を指定

設定値を大きくするデメリットは?

設定値が大きいほどメモリ使用量(ボイスプールハンドルのワークサイズ)が増えます。
メモリ使用量の増減量を確認するにはリンク先のマニュアルの「CRI ADX2マニュアル (PC) > PC版固有の追加情報 > CPU負荷/使用メモリサイズ > ボイスプールハンドルのワークサイズ目安」をご参考にしてください。
例えば「HCA, 2ch, ボイス数8, オンメモリ」の条件でサンプリングレートを48000から192000に変更した場合、 メモリ使用量(ボイスプールハンドルのワークサイズ)は約218キロバイトから約513キロバイトに増加します。

設定項目の詳細について

  • 「Sampling Rate of Standard Memory Voice」
    • メモリ再生のボイスにのみ影響します
  • 「Sampling Rate of Standard Streaming Voice」
    • ストリーム再生及びゼロレイテンシーストリーム再生のボイスにのみ影響します
つまりピッチを上げたいボイスの種類がどちらか片方のみの場合は、片方の設定値を変更するだけで問題が解決します。

HCA-MXについて

HCA-MXをご利用の場合は下記項目に適切な値を入力してください。(単位はHz)
  • 「プロジェクト設定 → CriWare → Atom → 詳細設定 → Sampling Rate of HCA-MX Voice」

補足

もし解決方法(1)~(3)完了後も W2015113001 または W2010110801 が発生する場合、設定値の誤りが考えられます。
(2-1)設定値、元素材のサンプリングレート、(2-2)設定値を改めてご確認ください。

(3)

設定が完了したら Unreal エディタを再起動してください。