見出し画像

#001 ループオーディオ その1

はじめまして。ノイジークロークというゲームサウンド制作会社で、ゲームのサウンドデザインと実装を行っている、金井琢真といいます。これから毎月15日に、いわゆるゲームオーディオに関する記事を書いていこうと思います。

まずはゲームオーディオならではのトピック、ループオーディオについて、複数回に分け記事を書いていきたいと思います。


ループオーディオとは

ゲームでは音声をループさせる機会が頻繁にあります。なぜなら、一般の音楽と違ってその音楽が流れるシーンにいる限り永遠に再生し続けないといけないからです。効果音に関しても同じで、例えば滝の音などは滝が近くにある限り、再生し続けないといけません。(音がいきなり消えたらびっくりしますよね。)

こんな理由からゲームではオーディオをループする必要性が常にあります。そして、そのループを実現するためには、ループに適した波形データにする必要があります。

今回はそのループオーディオ、いわゆるループ波形についてのお話です。

オーディオのループ処理について

ゲームでループ再生をしようとしたとき、その実装方法は以下の2つで大きく異なってくるかと思います。

1.ループ情報がある
2.ループ情報がない

なんとシンプルと思うでしょうが、ループ情報の有り無しで、波形の内容や制作方法、そして固有の問題点が変わってきますし、上で述べたように適した実装方法が変わってきます。

それではまずループ情報がある場合について見ていきましょう。

ループ情報があるデータ

ループ情報があり、使用するオーディオエンジンやミドルウェアがループ情報に対応している場合、ループエンドからループスタートのサンプルへと移ることによって、ループ再生を実現することができます。このループ情報が入った波形データは、俗に「イントロ付きループ」と呼ばれることがあります。このループ情報ありの波形は、音楽だけでなく効果音でも多く使用されています。今までの経験上、国内の開発ではこの方法が主流なのではないかなと感じます。

まずこのループ情報ありデータに関する注意点について見ていきましょう。


ループ情報ありのデータの注意点

ループ情報のある波形データを作る際には主に3つの注意点が存在します。

1.クリックノイズ
2.ループ前後の質感の変化
3.ループ情報破壊の可能性

これらの現象の説明と原因、その対処法についてこれから見ていきましょう。

クリックノイズ

ループ処理を行う際のありがちな問題として、ループ時にプチッというクリックノイズが入ることが挙げられます。

動画のサイン波はループのタイミングでクリックノイズが入ってしまっています。

画像1

このサイン波をスペクトラムで見るとこのようなノイズが発生していることが分かります。

この波形は、ループエンド - 1のサンプルからループスタートのサンプルへと移ることによって再生が続くのですが、このループエンド - 1のサンプルからループスタートのサンプルの音量が大きく異なると、クリックノイズが発生してしまいます。

画像2

ループ開始地点のサンプルはこの音量

画像3

ループエンド1個手前のサンプルはこの音量

画像4

ループした際にはこのような波形になってしまう

上記のようにサンプル間に急激な音量差がある場合、クリックノイズのように聞こえてしまいます。

このノイズを防ぐためには、このサンプル間の音量差をなだらかにする必要があります。そのためにゼロクロッシングポイントでループを取ったり、波形編集ソフトでのループ処理機能を使い、このノイズを防いだ上でループ処理を行います。

次回の記事でゼロクロッシングポイントや波形編集ソフトでのループ処理について見ていきたいと思います。

余談ですが、波形編集ソフトで波形を見たとき、一番最後のサンプルも鳴っているものだと長い間勘違いしていました。一番最後のサンプルに到達したときにループ開始地点のサンプルに飛ぶのですから、実際に見るべきはループエンド1個手前のサンプルからループスタートのサンプルへの繋がりなんですよね。


ループ前後の質感の変化

次にループ前後の質感の変化についてですが、まずは下の動画をご覧ください。

この動画のように、ループエンド前後の音色が異なっているとクリックノイズは発生しなくとも、ループした際に違和感を覚えます。

なぜかというと、ループエンド直前のリバーブがループ後には消えてしまっているからです。またディレイなどの空間系エフェクトについても消えてしまうことがありえます。つまり、ループ前後の(残響やディレイも含む)音色に流れを感じられなくなるため、この違和感が発生します。

この問題はループ前後で流れが変わらない位置へと、ループする箇所を変えることで回避することができます。例えば曲を2回ループする構成に変えレンダリングすることで、ループ直前のリバーブがループ後まで聞こえる状態の波形を作ることができます。そして、ループ後の冒頭部分以降は同じ内容のはずですから、その同じ内容の箇所でループ処理を行うことで、ループ前後で違和感を感じないループ波形を作成することができます。

注意したい点として、シンセやサンプル音源を使用している場合は、例えばラウンドロビンのように発音の度に音色が微妙に変わる事があります。そのため同じ内容だとしてもクロスフェード処理を行いループ処理を行うのがベターです。(同様のことがプロジェクトのテンポと独立したLFOを使ったエフェクトや、アナログ要素をシミュレートしたエフェクトにも言えると思うので、基本はクロスフェードが必須かと思います。)


ループ情報が破壊される可能性

最後にループ情報が破壊される可能性についてです。これは端的に、ループ情報を埋め込んだ波形を、違う波形編集ソフトで編集して保存すると、情報が破壊される可能性があるということです。

WAVデータは、実際の波形情報の他に、サンプリングレートなどのフォーマットに関する情報や、ループ情報などのメタデータがすべて一緒になって、一つのデータとなっています。

このメタデータですが、編集を行ったソフト以外で編集すると、その情報が削除されたり、違う形で保存されたりと、オリジナルの情報が許可なく変更されてしまう可能性があります。興味がある方は色々な波形編集ソフトでループ情報を埋め込んだ上で、そのWAVをRIFF Viewerなどで確認することをおすすめします。

またこの現象についてはResonicを開発しているLiqube Audioが、FAQで言及しています。

"他のプログラムでメタデータを編集することではなく、一つのプログラムにおいてうまく動作することに重点を置くことが多いため、有名なソフトであってもメタデータが変更されない保証はない。"(訳は引用者による)
出典: "Frequently Asked Questions"

編集しても問題ない場合もありますが、各ソフトがそれぞれマーカー情報やリージョン情報を新たにメタデータへと書き込むため、無編集で新たなファイル名で保存するだけでデータに変化が生まれることがあります。

また別例ですが、多くのバッチコンバーターではメタデータが全て削除されるため、ループ情報を持った波形は個別に対応を行う必要が出てきます。

つまりループ情報を埋め込んだ後のデータは、他のソフトでの加工や編集は行わないのが無難ということが言え、またそれが唯一の対策なのではないかなと思います。


まとめ

ループ情報ありの波形について、これまで説明したことをおおきくまとめると、下の2つのことが言えます。

1.ループ処理を行わないと、ループ時の違和感に繋がる。
2.波形を複数の波形編集ソフトで扱うと、メタデータが破壊される可能性がある。

次回の記事では今回説明したループ波形への具体的な波形処理の仕方について見ていきたいと思います。

それではまた。

#ノイズなアカデミー #音楽 #ゲーム #ゲーム音楽 #ゲーム業界 #ゲームBGM #効果音 #サウンドデザイン #DAW #DTM

いいなと思ったら応援しよう!

ピックアップされています

ノイズなアカデミー シリーズ

  • 10本

コメント

ログイン または 会員登録 するとコメントできます。
#001 ループオーディオ その1|金井 琢真 / noisycroak
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1