サークル燃えないゴミ仮拠点

サークル代表師路射地の連絡所代わりのブログ

ティラノスクリプトで WEB_AUDIO_API (JavaScript) を利用する意義

どうもこんにちは、シャチです。
今回はティラノスクリプトで WEB_AUDIO_API (JavaScript) を利用する意義について書こうと思います。

ティラノスクリプト基本機能の限界

ティラノスクリプトには音声ファイルを扱う上で、基本的な機能が備わっています。
しかし、音楽や効果音の演出を凝ろうとしたとき、できないことがあることにも気付くのです。

シームレスなループ再生

その代表的なものとして「シームレスなループ再生」が挙げられます。


同じBGMを延々と鳴らしていると、当然曲の終わりが来てまた最初から再生されます。
これがティラノスクリプトのループ再生機能です。
ですが、ループの継ぎ目がシーンの雰囲気を壊してしまうこともあります。
それを解決するのがシームレスなループ再生ですが、ティラノの基本機能にはありません。


同じゲーム作成キットとして有名な「RPGツクール」には「oggファイルのループ」として実装されている機能です。
この機能は音声ファイルのある地点(たとえば1分05秒)からある地点(2分03秒)の間をループ再生します。
(もちろんループ範囲の指定は手動で行う必要があります)


この機能なしに同じ事を実現しようとすると、ループ部分のみのファイルを作ることになります。
しかし、そうなるとループ部分の前後を切り落とすことになり、BGMとしては不自然なものになってしまうジレンマがあります。
うまくループするものとしないものを繋げられれば良いのでしょうが、その機能もありません。

ティラノスクリプトと WEB_AUDIO_API で、できることの比較

それでは、具体的にティラノスクリプトと WEB_AUDIO_API で、どれほどできることに違いがあるのかを比較してみましょう。
以下、表にまとめてみました。

やりたいこと ティラノスクリプト WEB_AUDIO_API
1.再生する
2.停止する
3.ループ再生する
4.フェードイン再生する
5.フェードアウト停止する
6.ボリューム操作する
7.シームレスなループで再生する
(継ぎ目の分からない無限ループ)
×
8.ゆっくりとボリュームを操作する
(フェードイン/アウトさせながら)
×
9.再生を一旦停止して、停止した場所から改めて再生する ×
10.指定した位置から再生する
(例えば音楽ファイルの1分15秒あたりから)
×


ご覧の通り、基本的な機能(1~6)まではティラノスクリプトで事足ります。
WEB_AUDIO_API が必要になるのは(7~10)を実現しようとした場合のみです。


私の場合、特に7と8の演出がないと動画的に厳しかったので WEB_AUDIO_API を利用することになりました。


今後の記事では、7~10の具体的な実装について書きたいと思います。
お楽しみに。それでは。


↓まだシームレスなループ再生ができていなかった時代の動画です。苦労が垣間見えます。

【第六話】優しい騎士と小さな魔法使い【後編】―動画版