個人や小規模サークルでゲームを作るとき,
BGM や SE , あるいはボイスを選んでいく作業がなかなか大変だと思います
フリーで使用できる音源をあちらのサイトやこちらのサイトからとりあえずざっくりと,
あれもこれもと目一杯ダウンロードしておいて,
いざ, シーンを考える段になってから,
ダウンロードしておいた大量のファイルの中から
ぴったり合うものを選んでいくわけだが
それにしても多すぎる!!
いちいち iTunes に取り込んで聴いている場合でもないし
ファイルパスで見ながらどんな曲かが分かりさえすればよいのだ
もっとさくさく聴けないものだろうか
そんなあなたとわたしの悩みを解決するべくツールを作りました
https://ooq.jp/pri/tech/js/001.sound_list/sound_list.html
ソースファイル
http://ooq.jp/pri/tech/js/001.sound_list/sound_list.sh
http://ooq.jp/pri/tech/js/001.sound_list/sound_list.html.tpl
利用環境は mac となります
できること
あるディレクトリ配下にあるサウンドファイルをすべてリスト化して
ブラウザでさくさく聴く
設置のしかた
- sound_list.sh と sound_list.html.tpl を適当なディレクトリに置く
2つのファイルは同じディレクトリに置いてください
- sound_list.sh のはじめのほうにある次の設定を実行環境に合わせて編集
- サウンドファイルが置いてあるディレクトリ
- 対象のファイルタイプ
- 設置する html ファイルから対象ディレクトまでの相対パス
( よく分からない場合はとりあえず空でよい )
- sound_list.sh を実行する
結果は標準出力に出ます
リダイレクトで html ファイルとして保存してください
ex) $ sh sound_list.sh > sound_list.html
画面の使いかた
sound_list.sh を実行して作成したファイルをブラウザで開きます
ローカルファイルとして開いても構いません
先のデモ画面を見ながら説明します
http://ooq.jp/pri/tech/js/001.sound_list/sound_list.html
ページを開くと1曲目から自動で流れはじめます
上部ボタンの説明
next : 次の曲へ進みます
loop : ループ再生します
intro : イントロの 3.5秒くらいで次の曲に移ります
デフォルトで on になっています
off にすれば以降も聴けます
あとはだいたい分かると思います
デモのようにウェブサーバにあげるなどして http 経由で見れば,
ブラウザを一度閉じたあとでも, 前に聴いていた続きから聴けます
localhost でも大丈夫だと思います
単に local ファイルとして見ている場合は
cookie が使えないため前の続きからは聴けません
それ以外の機能は同じです
プログラムの説明
プログラムの学習用に中身の説明もしたいと思い,
コードの中にコメントで記述していたのですが,
シェルスクリプトのほうだけで力尽きました..
javascript 部分についてはまたの機会に
とりあえずソースは掲載しておきます
sound_list.sh
説明をコメントで記述しています
{{< gist ooq-kamui 911b103603be9dcf3367c76ad7fddd41 >}}
sound_list.html.tpl
{{< gist ooq-kamui 20622471d4431d03398a79452d97d635 >}}
音源ファイル提供元
Pocket Sound http://pocket-se.info
back-ground.biz http://back-ground.biz
music is vfr http://musicisvfr.com
無料効果音で遊ぼう! http://taira-komori.jpn.org
On-Jin http://on-jin.com
効果音ラボ http://soundeffect-lab.info
くらげ工匠 http://www.kurage-kosho.info
DOVA-SYNDROME http://dova-s.jp
以下は細かいことなので興味を持ってくださった方のみへ
細か いことをいうと loop と intro が両方 on のときは intro が優先され,
3.5秒で次の曲に進みます
同じ曲の冒頭 3.5秒を繰り返すわけではありません
もともと長さが 3.5秒未満の曲の場合, 3.5秒間は同じ曲を繰り返し,
3.5秒経ったところで次の曲へ進みます
ボタン名から考えるとちょっと違和感があるかもしれませんが,
このツールの目的としてはまあこれでいいかなと思い, こうしています
冒頭 3.5秒を繰り返し聴きたい需要はたぶんあまりなく,
もし冒頭を何回かよく聴いてみたい曲があったら頭の 10秒ぐらい聴いて
自分のタイミングで先頭に戻るほうが自然
loop 機能の目的は
同じ曲の終わりとはじめのつながりに違和感がないかを確認するため
ゲームの bgm はループ再生されるのが基本なので
その確認のためです
intro 機能を正確にいうと
イントロのみを聴いて次に進む
なのでボタン名も
intro & next
にするとより正確なのだが表示上の短縮のため
intro
としている感じです
両方 on のときはどちらを優先するかといった細かい挙動を
ユーザーが自由に設定できるようにするのが一番よいと思いますが,
そこまで作る時間は取れそうにないのでした..