音泉リニューアルの顛末

取り敢えず wmv の変換は ffmpeg を使うことにしました。
以下の記事を参考に Macports で ffmpeg をインストールしました。

変換は ffmpeg -i input.wmv output.mp3 のような感じで。

え゙ー、これだけではなんなので録音スクリプトをバージョンアップしました。


#! /bin/sh
# onsen.sh Ver. 0.3
GOTDATE=`date +%y%m%d`
TFLAG=FALSE
TITLE=
OPT=
while getopts ty OPT
do
  case $OPT in
    t) TFLAG=TRUE
       ;;
    y) GOTDATE=`TZ=JST+15 date +%y%m%d`
       ;;
    \?) echo "Usage: $0 [-ty] hoge" 1>&2
      exit 1
      ;;
  esac
done
shift `expr $OPTING - 1`

if [ $# -eq 1 ]; then
  STR=$1
  URL=http://onsen.ag/asx/${STR}${GOTDATE}.asx
  MMS=`wget -q -O - $URL | grep $STR |
    awk ’{gsub(/"/,"",$4);print $4;}’`
   if [ $TFLAG = TRUE ]; then
     TITLE=`wget -q -O - $URL | nkf -w |
          sed -n 's/<TITLE>\(.*\)<\/TITLE>/\1/p' | tr -d "\r"`.wmv
   fi
  mimms $MMS $TITLE
else
  echo "Usage: $0 [-ty] hoge" 1>&2
fi

前バージョンでは onsen.sh hoge のみだったのですが、今回は t, y のオプションを追加しました。 t オプションはタイトルをファイル名として保存します。 y オプションは前日分のラジオを録音する場合に使います。いやー、残業が多いと当日に録音できない場合があるんですよ。

広告

音泉が Silverlight を採用……というか

一週間で両手の指に収まらない程度の Web ラジオを聴いています。
その Web ラジオを配信しているサイトの一つ「音泉」がリニューアル、 Micro$oft の Silverlight を採用 (BB Watch) しました。取っ付き易いインターフェースになったのは歓迎すべき事です。

吾は mimms というソフトで録音してから iMac で流したりオーディオプレーヤー T20 に転送して聴いたりしてたのです。
この記事 (32nd Wiki)のスクリプトを以下のように改変して使っておりました。


#!/bin/sh
# onsen.sh
URL=http://onsen.ag/meta/${1}`date +%m%d`.asx
URI=`wget -q -O - $URL |
sed -ne "s/.*\"\(mms:\/\/.*\)\".*/\1/gp" |
head -n 1`
mimms $URI

今回のリニューアルの影響で “URL=” の行を変更しました。

URL=http://onsen.ag/asx/${1}`date +%y%m%d`.asx

そしてファイル形式が WMA (音声)ではなく WMV (動画)になりました。 iMac で再生する場合はなんともありませんが、吾のオーディオプレーヤーは動画など見られません。只今、動画から音声を抽出する方法を模索中です。

MiMMS が動かなくなった

MiMMSmms プロトコルのストリーミングを録画/録音するソフトウェアです。 Macports にパッケージがあったのでこれを利用しています。
一大事です。これがないと快適な Web ラジオ生活が送れません。何とか解決しました。

発端は Qt のアップグレードでした。 MiMMS は Qt というツールキットを利用しているのですが、この Qt をアップグレードしてみたところ、 MiMMS が動かなくなりました。前のバージョンに戻せば動く筈ですが、何でも最新版にしないと気が済まないので Qt と MiMMS を再インストールすることにしました。

% sudo port uninstall qt4-mac libmms mimms ↵
% sudo port clean qt4-mac libmms mimms ↵
% sudo port install mimms +qt4_mac ↵

ここで更に異なる問題発生。

In file included from /opt/local/include/libmms/mmsio.h:4,
from /opt/local/include/libmms/mms.h:42,
from mimms.cpp:28:
/opt/local/include/libmms/mms_config.h:4:1: warning: "/*" within comment
/opt/local/include/libmms/mms.h:79: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mms.h:81: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mms.h:83: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mmsh.h:44: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mmsh.h:46: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mmsh.h:47: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mmsh.h:53: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mmsh.h:55: error: expected ',' or '...' before 'this'
/opt/local/include/libmms/mmsh.h:57: error: expected ',' or '...' before 'this'
make[1]: *** [mimms.o] Error 1
make: *** [build] Error 2

どうやら libmms の mms.h, mmsh.h というヘッダファイルに問題があるようです。 Google 様にお伺いを立ててみたところ、 10_this_keyword.diff というパッチが見つかりました。これを /opt/local/include/libmms/ というフォルダに保存して

% sudo patch < 10_this_keyword.diff ↵

このあと port install mimms +qt4_mac でインストールしたところ、無事に MiMMS が動くようになりました。ふー。

今更ですが、ニコニコ動画のアカウントを取りました

この Web ラジオを聴く為にな!(爆)
残業疲れでうかうかしている内に第一回は聴き逃してしまいました。OTZ
ニコニコ動画でのラジオというのは、「ツッコミ可能なラジオ」という感じで眼が離せませんね。……ながら聴きには向かないなあ。

【ニコニコ動画】小山力也×広橋涼のあかね色に染まるラジオ 第7回

今のところ、ニコニコ中毒にはなっていません。

アニメイトTV の Web ラジオを録音するスクリプト

ここ (taka.no32.tk) を参考にしてアニメイトTV の Web ラジオを録音するスクリプトを作ってみました。いえ、本家ほどスマートじゃありませんが。 Ruby とか Perl とか使った方がいいんですかね。

あ、広告入りには対応していません。
そして zshMiMMS が必要です。

#!/bin/zsh
if [ $# = 1 ]; then
  URL=$1
  TITLE=`wget -q -O - $URL | nkf -w | tr -d '15' |
       sed -n 's|<Title>\(.*\)</Title>|\1|p' | sed -n '1p'`
  DATE=`wget -q -O - $URL | nkf -w | tr -d '15' |
       sed -n 's|<Title>\(.*\)</Title>|\1|p' | sed -n '2p' |
       sed -e 's|/|-|g' | tr -d ' '`
  ASXMMS=`wget -q -O - $URL | nkf -w | grep mms`
  MMS=`expr $ASXMMS : ".*\(mms.*wma\).*"`
  mimms $MMS "${TITLE}(${DATE}).wma"
else
  echo "usage: $0 http://www.animate.tv/asx/hogehoge.asx"
fi

引数なしで実行すると使い方が出るようにしました。
wget を三回も使っているのが自分でも気に入りません。でもファイルとしてダウンロードするのも綺麗じゃない気がします。
アニメイトTV の Web ラジオはファイル名だけだと何の番組か分からないので、 ASX から番組名を抽出する必要があるのです。
因みに /bin/zsh ではなく /bin/sh にすると expr でシンタックスエラーになります。あと、多分タイトルに半角の “!” が入っていてもエラーになりそうです。(Mac OS X だけ?)

なにもないひ

午前十時半頃起床。顔を洗って風呂も洗って朝食を摂る。
祖父と共に出掛け米を二俵譲り受ける。内一俵を近くの農協の精米機にかける。
昼食後 Radio School Days を聴く。今回は公開録音でいつもの倍。取り敢えずキモ河原木嬢とぶりっ子(岡嶋)妙嬢は最強だ。それにしても酷い接頭語だ。ラジオ「School Days」CD Vol.1が出るそうなので是非とも買いたい。
平成十九年十一月四日の愛機
MacPorts でインストールした MiMMS では録音できなかったので VMware 上の Windows で。
午後五時半頃風呂に入る。その後少し店番。
夕食は酢豚。
暇を見つけては天理市立図書館で借りてきた「有機化学美術館へようこそ —分子の世界の造形とドラマ—」を読む。そういえば研究室に居た頃、この著者のウェブサイトをよく眺めていました。

Leopard に色色と入れ直し

取り敢えず Tiger のときに使っていた iLife を入れてみました。OS に統合されているものだとばかり思っていたので、「iPhoto と GarageBand が何処にも見当たらない!」と騒いでしまいました。

Macports もインストールしました。pTeX とか Octave, Inkscape などを使いたかったので。
ネットラジオを録音するために MiMMS をインストールしようとしたところ、

# sudo port install mimms +qt4-mac↵

tiff のインストールで転けました。MiMMS には Qt4 が必要で、Qt4 には tiff が必要なようです。そもそもコマンドラインで使うのに何で qt4 が要るのでしょう?
取り敢えずググってみたらこんな記事 (Sorenari.NET) が。

setenv DYLD_LIBRARY_PATH /opt/pa/lib:/opt/pa/X11R6/lib:/usr/lib
のせいで
/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib
を読まなければならないところを
/opt/pa/X11R6/lib/libGL.dylib
を読み込んでしまって

しかし今回は DYLD_LIBRARY_PATH には何の値も入っていませんでした。仕方がないのでシンボリックリンクを貼ってみました。

sudo ln -sf /System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib /usr/X11/lib/libGL.dylib↵

これで上手く動くから吃驚。どう考えてもバッドノウハウ。MiMMS が動くようになったからいいんですけど。

プロッタとして gnuplot をインストール……しようとして失敗。AquaTerm で転けます。
「そんなファイルありません」とかどういう事ですかー!

3月に入ってから音泉の

配信方法が変わったようです。GetASFStream でダウンロードすると先頭の20秒CMしか保存出来ません。何か設定すれば出来るのかなあ?あと MacPorts の mimms コマンドでも同様。Ubuntu の mimms コマンドだと、一応全部保存出来ているみたいですが、再生しても20秒CMのみ……。

関連:音泉

追記:GetASFStream の Q&A 抜粋に同じような現象が。