2011年7月28日

webmdrop を作った話

https://bitbucket.org/oov/webmdrop
起動すると現れるウィンドウにオーディオファイルをドロップすると、同じ場所に WebM 形式の動画ファイルを作るツール。
Windows 用で、多分 Windows 2000 以降であれば動くんじゃないかと思う。

以下ツールを作った経緯など。


どうも写真や動画をアップロードできるサービスがいっぱいある割に、オーディオデータをアップロードできるサービスはそれらに比べると少ない。
写真も動画もカメラさえあれば撮影できるし連携してアップロードする機能もいっぱいあるけど、音だけとなるとあまりないし、連携アップロードするにしても最適なサイトとしてこれといったものがない。

自分は主に曲を作るので、仕方がなく現状は楽曲をアップロードするために動画サイトを選ぶ。
最近は SoundCloud という自分の目的にかなり近いサービスがあるものの、YouTube ほどの太っ腹さはなく、無料アカウントだと 120 分までの制限がある。
自分の場合に当てはめると1曲3分だったとして、仮歌、カラオケ、ガイドメロ、キー変更x2 のように1曲に対して複数のファイルを上げることがあるから、この場合で言うと1曲で15分も消費してしまう。毎回全部のバージョンを用意することはないにしても、単純計算で8曲程度で上限に達してしまう。
今の名前にしてから作った曲数を数えても現時点で既に60曲以上あるので、こんな調子じゃ厳しい。
それにコミュニティを築けるような機能がない。SoundCloud にはグループという機能があるものの、そこで日本語使うと ??????? になる。今時珍しいわ。

ちなみに現状は SkyDrive に全てのデータを上げていて、オンラインで試聴する機能がないのが不便ではあるものの 25GB のスペースがあるのでこっちは安心だ。
ファイル単位の制限は100MB。現在の使用量は 800MB ぐらい。
しかしオンライン試聴ができない時点で他人に聴いてもらうためのベストな選択肢とは言えない。
「俺様の糞曲をダウンロードして聴け」などとはお願いできないし自分が言われたら嫌だ。
糞曲だと思ったらすぐにでもブラウザの戻るを押すなどして解放されたい。

ここにきて、Google+ がやってきた。
YouTube や Picasa に15分以内の動画ファイルであれば無料で無制限にアップロードできる。
Google+ ならコミュニケーション取れる機能もあるし、相談しながら他人と曲を作ったりもできる。
じゃあもうそこに曲を置けるように、静止画に曲付けただけの動画ファイル作ればいいな、と。

静止画に曲付けるだけのツールなら作るまでもなくいくらでもあると思うのだが、この辺、変に高性能になってくるとインターフェイスが面倒臭くなるのがわかりきっている。
元々は単に曲を上げたいだけなので、個人的には LAMEDropxpd とか OggDropxpd とかみたいな「起動して表示された枠にファイルを投げ込むと希望した形式に変換する」という以上の操作をしたくない。
ぶっちゃけ適切なパラメータを追加してくれるバッチファイルやシェルスクリプトを経由して ffmpeg を呼ぶだけで済む話だけど、他人が使うことも考えて GUI 化をすることにしてみた。

音楽やってる Mac ユーザは多いので、できれば Mac 上でも動くといいなと思っている。
なので以前書いたような方法で Python + wxPython でインターフェイス部分を組むことにした。
今後余裕があるときに py2app 使って Mac 版も作りたいところ。誰か Mac くれ。

機能としては 1080p な WebM 動画を生成するのみで、自動で用意しておいた画像を割り当てる。
画像を差し替えたい場合は画像ファイルを変更すればいいように一応しておいた。

それ以上の難しいことがしたい人は難しいソフト使えばいい。棲み分けって大事。
Clip to Evernote