ティラノスクリプト で WEB_AUDIO_API (Javascript) を利用するプラグイン
前回公開したライブラリをティラノスクリプト用のプラグインにしてみました。
syachi.hatenablog.jp
欲しい方いましたらどうぞ。
↓↓↓ダウンロードはこちらから↓↓↓
https://bit.ly/36Qhf0ybit.ly
readme.txtの中身
―――――――――――――――――――――――――――――――――――――
ティラノスクリプト用 BGM/SEのシームレスループ再生プラグイン (WEB_AUDIO_API利用)
―――――――――――――――――――――――――――――――――――――
ダウンロードいただき誠にありがとうございます
ゲーム制作のお役に立てれば幸いです
動作確認はティラノスクリプト v503 で行っています
―――――――――――――――――――――――――――――――――――――
■このプラグインでできること
―――――――――――――――――――――――――――――――――――――
注意!以下の内容はすべて ogg形式の音声ファイルに限ります
(1) 音声ファイルをつなぎの自然なループ(シームレスループ)で再生できるようになります
ただし、oggファイルには loopstart タグと loopend タグが設定されている必要があり、
その二つのタグに設定された値が適切である必要があります
(値の適切な設定方法は以下のページをご覧ください
シームレスなループ範囲の探し方 流れ編 - ティラノスクリプトで小説動画を作る)
(2) フェードしながら音量操作ができます
(3) 音声ファイルの一時停止と、停止時点からの再生再開ができます
―――――――――――――――――――――――――――――――――――――
■プラグインの導入方法
―――――――――――――――――――――――――――――――――――――
プロジェクトファイルの data > others > plugin フォルダを開きます
ここに waapi フォルダを配置します
シナリオファイルに [ plugin name="waapi" ] と記述するとプラグインを読み込みます
ゲーム全体で利用したい場合は、first.ks あたりに記述するのがベターです
【注 意】
プラグインを読み込むと以下の名前のマクロが使えるようになります
名前の衝突に注意して下さい
[loadbgm],
[loadse],
[lbgm],
[lbgmstop],
[lbgmvol]
[lbgmresume],
[lse],
[lsestop],
[lseresume],
[lsevol]
―――――――――――――――――――――――――――――――――――――
■引数について
―――――――――――――――――――――――――――――――――――――
プラグインの読み込み時に引数を渡すことができます
デフォルトで設定しているものは bgm, se の2つです
(例)
[ plugin name="waapi" bgm="data/osukina_bgm/" se="data/osukina_sound/"]
bgm:bgmフォルダーの場所を指定できます。省略した場合、「data/bgm/」で設定されます
se:seフォルダーの場所を指定できます。省略した場合、「data/sound/」で設定されます
bgm,seを指定する場合、必ず最後に「/(スラッシュ)」を入れるようにしてください
そうしないとうまく読み込まれません
―――――――――――――――――――――――――――――――――――――
■loadbgm/loadseの使用について
―――――――――――――――――――――――――――――――――――――
技術的な制約上、このプラグインで音声ファイルを再生するときにはファイルの事前ロードが不可欠です
ロードに必要な時間はファイルにもよりますが、だいたい 2MB ぐらいのサイズで 1.5秒ほどかかります
実際に再生するタイミングより前に余裕を持ってロードしておくことをオススメします
なお、一度読み込んだファイルのデータはゲームが終了されるまで保持されます
同じファイルをロードしてもスキップされる仕様です
(例)
[loadbgm str="sampleBGM.ogg"] [loadse str="sampleSE.ogg"]
str:bgm/seのファイル名を指定してください。必須です
―――――――――――――――――――――――――――――――――――――
■lbgm/lseの使用について
―――――――――――――――――――――――――――――――――――――
ロード済みの音声ファイルを再生します
事前ロード必須。詳細は ■loadbgm/loadseの使用について へ
(例)
[lbgm str="sampleBGM.ogg"] [lbgm str="sampleBGM.ogg" vol="25" loop="true" time="2000" buf="0" start="0"] [lse str="sampleSE.ogg" vol="60" loop="false" time="0" buf="0" start="0"]
str:bgm/seのファイル名を指定してください。必須です
vol:音量(0~100)。なお100より上の値で音割れが発生します。省略した場合、「50」で設定されます
loop:ループの是非。true/false。省略した場合、「false」で設定されます
time:開始時のフェードイン(0 → vol)が終わるまでの時間。単位ミリ秒。例、3秒後=3000。省略した場合、「0」で設定されます
buf:再生リスト番号。再生中に音量操作などで利用します。省略した場合、「0」で設定されます
start:再生開始位置。主にレジューム(復元)再生で利用しています。省略した場合、「0」で設定されます
―――――――――――――――――――――――――――――――――――――
■lbgmstop/lsestopの使用について
―――――――――――――――――――――――――――――――――――――
音声ファイルの再生を一時停止します
その際、音声ファイル毎に停止位置の記録を行います
記録された停止位置は lbgmresume/lseresume で利用されます
(例)
[lbgmstop] [lbgmstop buf="0" time="2000"] [lsestop buf="1" time="0"]
buf:再生リスト番号。再生中に音量操作などで利用します。省略した場合、「0」で設定されます
time:停止時のフェードアウト(現在の音量 → 0)が終わるまでの時間。単位ミリ秒。例、3秒後=3000。省略した場合、「0」で設定されます
―――――――――――――――――――――――――――――――――――――
■lbgmresume/lseresumeの使用について
―――――――――――――――――――――――――――――――――――――
一時停止した音声ファイルの再生を再開します
(例)
[lbgmresume str="sampleBGM.ogg"] [lbgmresume str="sampleBGM.ogg" vol="25" loop="true" time="2000" buf="0"] [lseresume str="sampleSE.ogg" vol="60" loop="false" time="0" buf="0" start="0"]
str:bgm/seのファイル名を指定してください。必須です
vol:音量(0~100)。なお100より上の値で音割れが発生します。省略した場合、「50」で設定されます
loop:ループの是非。true/false。省略した場合、「false」で設定されます
time:開始時のフェードイン(0 → vol)が終わるまでの時間。単位ミリ秒。例、3秒後=3000。省略した場合、「0」で設定されます
buf:再生リスト番号。再生中に音量操作などで利用します。省略した場合、「0」で設定されます
start:再生開始位置。主にレジューム(復元)再生で利用しています。省略した場合、前回の停止位置が設定されます
―――――――――――――――――――――――――――――――――――――
■lbgmvol/lsevolの使用について
―――――――――――――――――――――――――――――――――――――
再生中の音声ファイルの音量を変更します
(例)
[lbgmvol vol="10"] [lbgmvol vol="70" time="2000" buf="0"] [lsevol vol="25" time="6000" buf="1"]
vol:音量(0~100)。なお100より上の値で音割れが発生します。必須です
time:音量変更時のフェード(現在の音量 → vol)が終わるまでの時間。単位ミリ秒。例、3秒後=3000。省略した場合、「0」で設定されます
buf:再生リスト番号。再生中に音量操作などで利用します。省略した場合、「0」で設定されます
―――――――――――――――――――――――――――――――――――――
■bgm/se の buf について
―――――――――――――――――――――――――――――――――――――
bgm と se で再生リストは別管理です
なので、bgm で buf=0 を使っているから se では buf=0 が使えないということはありません
(例)
[lbgm str="BGM01.ogg" buf="0"] [lse str="SE01.ogg" buf="0"]
例のように記述しても、BGM/SE両方鳴ります
―――――――――――――――――――――――――――――――――――――
■利用規約
―――――――――――――――――――――――――――――――――――――
●このプラグインは WTFPL(http://www.wtfpl.net/) の下でライセンスされています
●改造、改変、再配布など全て自由です。特に制限はありません
●利用報告およびクレジット表記も是非やりたいと思った方だけどうぞ
―――――――――――――――――――――――――――――――――――――
■免 責
―――――――――――――――――――――――――――――――――――――
この素材を使用したことによって生じた損害・損失に対して制作者は一切責任を負いません
―――――――――――――――――――――――――――――――――――――
■謝 辞
―――――――――――――――――――――――――――――――――――――
ティラノスクリプト(http://tyrano.jp)
ティラノビルダー (http://b.tyrano.jp)
シケモクテクノロジー(http://shikemokumk.hateblo.jp/)
ティラノスクリプト製作テクニックwiki(http://tyrano.wiki.fc2.com)
―――――――――――――――――――――――――――――――――――――
■使用プラグイン
―――――――――――――――――――――――――――――――――――――
なし
―――――――――――――――――――――――――――――――――――――
■連絡先
―――――――――――――――――――――――――――――――――――――
ティラノスクリプトで小説動画を作る
ティラノスクリプトで小説動画を作る
―――――――――――――――――――――――――――――――――――――
■更新履歴
―――――――――――――――――――――――――――――――――――――
2020.12.07 v101
readme.txt の lbgmvol/lsevol の解説が間違っていたので修正