oitakeは普段、ニコニコ動画で作業用BGMを聴いています。複数の曲がひとつにまとめられている動画です。気に入ったものがあれば、GetFLVで.flvファイルをダウンロードして、FLVExtractで.mp3ファイルに変換、それからMP3プレイヤーに保存したりもしています。
ただ、あくまでも“複数の曲が入ったひとつのファイル”なので、“曲を飛ばす”ことができません。そもそも気に入った曲だけ保存することができません。というわけで、“複数の曲が入ったひとつのファイル”を一曲ごとに分割したい、“曲と曲の間の無音部分”で分割してくれるソフトがほしい、と思っていたのですが…あるものですね。「mp3splt」というGPLライセンスのソフトを見つけました。これで.mp3ファイルを無音部分で分割することができます。が、コンソールプログラムなので扱いが面倒くさい(GUI版もあるのですが、使い方がよくわからない)。そこで「mp3splt」を簡単に扱えるようにするスクリプトを作ってみました。
「SplitMP3.js」に.mp3ファイルをドラッグ&ドロップしてください。.mp3ファイルと同じフォルダに分割されたファイルが生成されます。ただし、ファイル名やフォルダ名に半角スペースが入っていると正常に処理されないかもしれません。
なお、初期設定では1秒以上の無音部分で分割されます。この“無音部分の最短時間”を変更したい場合は、「SplitMP3.js」をテキストエディタで開き、「var silenceInterval=1.0;」の数字部分を任意の数字に置き換えてください。たとえば、“1秒ちょっとの無音部分が曲の中にある”場合は1.5に、“曲と曲をつなぐ無音部分が1秒もない”場合は0.75くらいに設定してみてください。
ためしに
ニコニコオールスター作業用BGM(RC)を処理してみたところ、30個のファイルに分割されました。ただ、そのうち2、3個のファイルには2曲続けて入っていました。曲と曲の間に無音部分がない、あるいは“前の曲の終わり”と“次の曲の始まり”が重なっているためです。また、前奏…正確にはキャラクターのセリフ、しか入っていないファイルが1個ありました。“セリフの終わり”と“曲の始まり”の間の無音部分が1秒以上空いているためです。
それでも(きちんと)無音部分の入っているファイルには効果抜群です。MP3プレイヤーの空き容量節減にもなって助かりました。ありがとうございます(σ'з')σ<mp3splt
これからPong3同様、DirectXを使った3Dゲームを作ろうと思っているのですが…また忙しくなってきたので、このまま年を越すことになりそうです。今度のゲームは単純なシューティングにする予定。あと、忙しいくせにLeft4Deadもオンラインでプレイしているので、見かけたら寛大な心でフレンドリーファイアを見逃してください。