オーディオファイルを2倍速でエクスポートすると、ゲームエンジンが半速で再生されるという欠点がありますか?


17

ゲームのファイルサイズを削減したいのですが、音楽とSFXがかなりの部分を占めています。

120bpmで曲またはサウンドエフェクトを作成し、DAWまたはスタンドアロンプ​​ログラムを使用してテンポとピッチを2倍にした後、新しい倍速オーディオファイルを録音すると、元のファイルサイズの半分になります(曲の長さが半分)。次に、ゲームエンジン(Unity)を使用して240bpmオーディオファイルを半分の速度で再生するので、今では正常に聞こえます。アーチファクトや歪みはありません。

そこで質問があります:半分の速度でプレイするために処理能力のようなものを犠牲にしているのですか?私は半分のサイズのファイルを読み込んでいるので、どこかで何らかのトレードオフが必要になりますか?私は彼らの正しい心の誰もこれをしないだろうと感じていますが、なぜですか?


1
使用しているオーディオ形式は何ですか?
フィリップ

25
非効率的な非可逆オーディオ圧縮方式を再発明します。代わりに、Opusコーデックを通常どおり使用してみてください。低ビットレートで非常に強力で、64kbpsの音楽に適していて、よりシンプルなサウンドにはさらに小さくなります。
セージボルシュ

8
これを100倍の速度で試して、99%の圧縮を達成してください。これにより、品質の低下が明らかになります。
usr

回答:


45

あなたが効果的に半減されている半分の速度で再生し、高BPMとオーディオクリップをオーサリングすることにより、サンプルレートを

AudioClipインスペクターでサンプルレートを下げると、ワークフローや既存のオーディオファイルを変更することなく、同様のアセットサイズの削減を実現できます。また、すべてのストレージ/品質/ CPUのトレードオフが異なるため、そのページのさまざまな圧縮オプションもチェックアウトしてください。

多くの場合、アセットファイルをそのままUnityプロジェクトにインポートすることをお勧めします。Unityは、ビルドターゲットごとに独立した品質設定の構成を可能にします。


「半速でプレイするために何かを犠牲にしていますか?」:

はい。再生時に正常に聞こえるように、高ピッチでのオーサリングに言及しています。オーサリング中に有用な周波数の範囲を減らすことにより、本質的にオーディオを人工的な狭い範囲の値に圧縮しているため、再生時の音質が低下する可能性があります。この効果は、リスナーには必ずしも明らかではありません。


3
サンプルレートを下げると、en.wikipedia.org/wiki/Nyquist %E2%80% 93Shannon_sampling_theoremが原因で利用可能な高周波数の数が減少します。ノイズフロアを制御するビット深度とは関係ありません。参照:xiph.org/video/vid1.shtml
小太郎

7
高い周波数を完全に削除します。たとえば、44.1 kHzのサンプルレートの周波数は最大22.05 kHzですが、サンプルレートが22 kHzの場合、周波数は最大11 kHzになります。
小太郎

2
さらに、これによりランタイム中に不要なサウンド処理コストが追加される場合があります。ファイルサイズとオーディオの長さに応じて、目立つ場合と目立たない場合があります。
user1306322

2
ファイルサイズを増やすために品質を犠牲にしたい場合は、mp3などの損失のある圧縮アルゴリズムを使用し、それに応じて圧縮率を調整することをお勧めします。この種のアルゴリズムはいくつかの周波数も破棄します、しかし理論的には、人間が知覚しにくいものから選択します
-yms

4
11kHzを超える周波数が失われるだけでなく、高い周波数を意図的にフィルタリングしないと、高い周波数が低い周波数と解釈されるエイリアスが発生します。これにより、意図しない望ましくない周波数が聞こえます。en.wikipedia.org/wiki/Aliasing
razethestray
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.