オープンソース版オラビーを開発する場として github を使うことにしました。
にて caststudio, castserve の2つのプロジェクトを登録しました。現時点では開発と技術評価を目的としており、正式なリリースではありません。
caststudio は
にて紹介された機能から大きな変更はありませんが、Java Media Framework への依存部分を削除し、現在は JavaSound で音声を再生する実装になっています。Windows版の Java 6 で動作を確認しています。
castserve はファイルを整理して放送の準備を行う Web アプリケーションです。前述の発表では HoldStation となっていました。PHPによる実装を捨てて Ruby でゼロから書き直しました。仕様は大幅に変更され、画面構成も整理されつつあります。さらに castserve から JNLP (Java Web Start) 経由で CastStudio を起動できます。これらはすべて Ruby on Rails が提供する Model-Controller-View のフレームワークを生かして実装されています。
オラビーは生放送に必要な機能に特化していますが、私がラジオの生放送の現場に実際に関わった経験から「事前の作り込みがしっかりできてこそ、生放送でのアドリブに対応する余裕が生まれる」という立場に立っています。例えば、前日の夜にディレクターが自宅から castserve にアクセスして投稿素材をチェックしておき、当日は事前に準備された素材をベースに、放送中に投稿された新たな音声を組み合わせる、という使い方ができます。
音声の投稿機能(アップローダ)は castserve の一部として公開する予定ですが、全く独立の CGI プログラムとして動作します(Ruby on Rails 環境は不要です)。
この CGI プログラムは HTML と VXML と RSS の3つのモードで動作します。
VXML モードでは VoiceXML サーバ(http://www.plumvoiceportals.jp/)と連携して、電話からの音声投稿の機能を提供します。これまでの実証実験をふまえて、数字ボタンをまったく押す必要がないように仕様を変更しました。HTML モードでは音声ファイルをアップロードすることができます。RSS モードは、castserve と通信をするための機能です。
アップローダ、castserve、caststudio は RSS を共通フォーマットとして相互に通信します。特にアップローダとcastserveの間のAPIを明確に定義することで、さまざまな「音声投稿サイト」「音声共有サービス」と連携したいと思います。欲しい情報を自由にフォローして番組を組み立てることができると考えています。
今回のリリースではユーザインタフェースに日本語を使っていません。IPAX2009 終了後に Rails のバージョンを現在の 2.0.2 から最新版に更新し、Rails の I18N 機能を用いて多言語化する予定です。ソースコードはすでに UTF-8 で統一しており、段階的にコメントを英語化する予定です。開発に関するコミュニケーションは github を拠点にしたいと考えています。