2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UE5 MetaSoundで音を鳴らすテスト

Last updated at Posted at 2023-03-23

概要

UnrealEngine5の新機能 MetaSound で単純にサウンドデータを再生してみるテストです。
イントロ付きループサウンドの再生テストもしてみます。

更新履歴

日付 内容
2023/03/23 初版

参考

以下の記事を参考にいたしました、ありがとうございます。
UE公式:MetaSound:次世代の音源
UE公式:オーディオファイル
UE5 「Meta Sound」で音声(Sound Wave)を再生する(Wave Player、Sound Wave)
音源(Sound Wave)を再生する

関連する過去記事

UE4 サウンドデータ再生とAudioComponentについて
UE4 サウンドキュー作成例

環境

Windows10
Visual Studio 2022
UnrealEngine 5.1.1

関連ソース

"Engine\Source\Runtime\Engine\Classes\Components\AudioComponent.h"
"Engine\Plugins\Runtime\Metasound\Source\MetasoundEngine\Public\Metasound.h"

準備

wavファイルをコンバート

素材となるwav形式のサウンドファイルをコンテンツブラウザにドロップしてコンバートします。ちなみにUE4.22の時は対応していなかった(はず)の 16bit/48kHz のwavファイルもコンバートできました。

WavSound.png

推奨は44.1kHz か 22.05kHzのようです。

MetaSoundソースアセットの作成

右クリックから[サウンド]->[MetaSoundソース]を選択します。
CreateMetaSoundSource.png

メタサウンドエディタからウェーブプレイヤー(ステレオ)を選択し、入力と出力をつなぎます。
MetaSoundEdit1.png

出力をステレオ等に切り替えるにはエディタの左上メタサウンドからOutput Format設定を変更します。
MetaSoundEdit2.png

ウェーブプレイヤーの引数 ウェーブアセットにコンバートしたサウンドアセットを設定し、以下のようにつなげます。これでエディタ上で再生テストができます。
MetaSoundEdit3.png

ゲーム上で鳴らす

レベル上に直接置く

レベル上にメタサウンドソースアセットをドラッグ&ドロップします。
ゲーム開始時勝手になる場合は、アウトライナーからオーディオコンポーネントの[詳細]->[アクティベーション]->[Auto Activate]のチェックを外します。
Play0.png

置かれてあるメタサウンドソースに対して以下のようなBPコードで再生もできます。
Play1.png

スポーンして再生

メタサウンドを Spawn Sound at Location でスポーンし、何かのトリガーでActivateさせることで再生もできます。(停止の場合は Deactivate
Play_example00.png

レベルブループリントでやっていますが、本来は音の発生源のアクターが行うべきだと思います。

イントロ付きループサウンドの再生テスト

UE4のサウンドキューでは怪しかったイントロ付きループサウンドができるようになったらしいのでテストしてみます。

1ファイルでループ位置を指定する

ウェーブプレイヤーの ループ開始 ループ持続時間 での設定でできるようです。
例えば、再生時間の72.0秒の位置から3.42秒の位置へ戻るデータの場合、ループ開始は3.42、ループ持続時間は72.0-3.42=68.58 を指定する必要があります。
loop1.png

つなぎ目も問題なくループできていることを確認できました。
再生位置の秒数指定のため浮動小数が半端になるケースがあるのがちょっと気になります。

イントロ、ループの2ファイルで分割

イントロ部とループ部に分割して再生することもできるようです。イントロ部のウェーブプレイヤーの終了時にループ部のウェーブプレイヤーを再生し、出力を2つを合成します。
loop2.png

こちらの方法もちゃんと繋がっていることを確認しました。

まとめ

インタラクティブな機能はまだ触れていませんが単純なサウンド再生ができることは確認できました。
また、入力データは Audio Parameter Controller InterfaceSet XXX Parameter で設定できるのですが、出力データ(再生位置など)の取得の方法がわかりませんでした。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?