AirMac Express経由で音楽を聞く(Ubuntu 10.10対応版)

Ubuntu 10.10 に raop_play をインストールした。使ってみて、かなり安定しているように感じる。さすがに Amarok 1.4 を使い続けるのはいやなので、やっと見切りを付けられて良かったと思う。
Ubuntu 8.10の時とはいろいろと勝手の異なる所があったので、前のエントリ(Ubuntu 8.10で、AmarokからAirMac Expressに音楽を飛ばす - にせねこnotes)を修正して、Ubuntu 10.10対応版としてメモしておく。



AirMac Express(海外では Airport Express)には、LAN経由でiTunesから音楽を飛ばして、AirMac Expressにつないだオーディオシステムで音楽を聞けるという機能があります。UbuntuにはiTunesが無いのだけれど、RAOP_PLAY(http://raop-play.sourceforge.net/)を使って代替させることが可能。


以下やり方。

必要なものをインストール

  • build-essential
  • libssl-dev
  • libfltk1.1
  • libfltk1.1-dev
  • fluid
  • libglib2.0-dev
  • libsamplerate0-dev
  • libid3tag0
  • libid3tag0-dev
  • cvs
  • pavucontrol

これらをSynapticなどでインストールする。

ソースコードのダウンロード

cvs -d:pserver:anonymous@raop-play.cvs.sourceforge.net:/cvsroot/raop-play login

パスワードを聞かれたら何も入力せずEnter

cvs -z3 -d:pserver:anonymous@raop-play.cvs.sourceforge.net:/cvsroot/raop-play co -P raop_play

ソースコードの修正

[20110103追記]Ubuntu 10.10からautoconf.hの場所が変わったので修正が必要。[/追記]
raop_play/drivers/alsa_raoppcm.c と raop_play/drivers/alsa_raoppcm_version.c の

#include <linux/autoconf.h>

の行を

#include <generated/autoconf.h>

に修正。

コンパイル、インストール

raop_play のフォルダにて

./configure
make
sudo make install

シェルスクリプトを用意する

3つのスクリプトを適当なフォルダに作成する。

  • load_airport_express_driver
#!/bin/sh 
module=alsa_raoppcm 
devnode=/tmp/pcmout 
if ! grep "^$module" /proc/modules > /dev/null; then
    /sbin/modprobe alsa_raoppcm
fi
major=`sed -n -r "s/(^[0-9]+) pcmout/\\1/p" /proc/devices`
if [ -c $devnode ]; then
    rm -f $devnode;
fi
mknod $devnode c $major 0
  • start_airport_express
#!/bin/bash
sudo load_airport_express_driver 
raop_play airport /tmp/pcmout &
  • stop_airport_express
#!/bin/bash
killall -9 raop_play

これらをパスの通ったフォルダ(/usr/bin など)にコピーし、実行属性を与える

sudo cp load_airport_express_driver start_airport_express stop_airport_express /usr/bin
sudo chmod +x /usr/bin/load_airport_express_driver /usr/bin/start_airport_express /usr/bin/stop_airport_express

/etc/hostsを編集する

sudo gedit /etc/hosts

で、

AirMacExpressのIPアドレス	airport

AirMacExpressのIPと、airportというホスト名を対応させる一行を書き加える。

/etc/modulesを編集する

起動時にalsa_raoppcmモジュールが読み込まれるように/etc/modulesを編集する。

sudo gedit /etc/modules

で、次の一行を書き加える。

alsa_raoppcm

alsa_raoppcm モジュールのロード

sudo modprobe alsa_raoppcm

ここで

cat /proc/asound/cards

とすると、

 0 [ICH6           ]: ICH4 - Intel ICH6
                      Intel ICH6 with STAC9750,51 at irq 17
 1 [raoppcm        ]: raoppcm - ALSA RAOPPCM
                      alsa pcm driver to bridge to raop_play

こんな風に表示される。

スクリプトの実行

start_airport_express

上手く接続できたら↓のようなメッセージが表示される。

DBG: CSeq: 1
DBG: Apple-Response: aNfUQA36LuFwRrWP...
DBG: Audio-Jack-Status: connected; type=analog
DBG: CSeq: 2
DBG: Session: 809F8840
DBG: Transport: RTP/AVP/TCP;unicast;interleaved=0-1;mode=record;server_port=6000
DBG: Audio-Jack-Status: connected; type=analog
DBG: CSeq: 3
DBG: Audio-Jack-Status: connected; type=analog
DBG: CSeq: 4
DBG: Audio-Jack-Status: connected; type=analog
connected
DBG: audio data type: 8
INFO: read_line:disconnected on the other end
DBG: stop reading from console

音の出力の設定

システム→設定→サウンド(またはインジケーターアプレットのスピーカーアイコン→サウンド設定)の、出力タブでALSA RAOPPCM Analog Stereoを選んでやれば、コンピュータで再生されるすべての音がAirMac Expressに送られるようになる。しかしそれだと不便なので、pavucontrolを使ってアプリ毎に出力を設定する。


pavucontrolを起動する。[20110103追記]GNOMEのメニューから、アプリケーション→サウンドとビデオ→PulseAudio Volume Control で起動。または端末から↓のコマンドを実行[/追記]

pavucontrol

音楽を再生するアプリケーションを起動[20110103追記]し、再生を開始[/追記]すると、pavucontrolの設定画面にアプリケーションの名前が表示される。その右側のボタンをクリックして"ALSA RAOPPCM Analog Stereo"を選択する。

再生

AirMac Expressに接続したスピーカーから音楽が流れてきます


普段音楽を聞くときは、音楽を再生する前に、

start_airport_express

を実行します。
何も再生してない時でも空のデータを送り続けるので、聞かないときは

sudo stop_airport_express

して止めといた方が良さそう。

Wacom タブレット付属マウスのホイールで上にスクロールできない

Ubuntu 10.10 をインストールしたら、 Wacom タブレット(CTE-430)の付属マウスのスクロールホイールを上方向に回転しても下にスクロールされるという問題が。(下方向に回転させると下にスクロールされる。) 10.04では問題は発生してなかったのだが。


Launchpad にてとりあえずのワークアラウンドを見つけたのでメモしておく。
Bug #656067 “Wacom Tablet mouse-wheel always scrolls down” : Bugs : xserver-xorg-input-wacom package : Ubuntu


http://linuxwacom.sourceforge.net/ から

  • linuxwacom-0.8.8-10.tar.bz2

をダウンロード。

$ tar jxvf linuxwacom-0.8.8-10.tar.bz2
$ cd linuxwacom-0.8.8-10/
linuxwacom-0.8.8-10$ ./configure --enable-wacom

./configure しながら必要なパッケージとかを入れる。

linuxwacom-0.8.8-10$ make

コンパイルしたら linuxwacom-0.8.8-10/src/2.6.30/wacom.ko を /lib/modules/2.6.35-22-generic/kernel/drivers/input/tablet/ にコピー。
(2010/11/30追記: 2.6.35-22-generic は今使ってるカーネルのフォルダ。適宜書き換える)

linuxwacom-0.8.8-10$ sudo cp src/2.6.30/wacom.ko /lib/modules/2.6.35-22-generic/kernel/drivers/input/tablet/

このあと再起動する。


これでスクロールホイールを上に回転したら上にスクロールされるようになった。ふう…

改造フォントとCSS3による縦書きウェブページ

改造フォント(WebFont)とCSS3を利用した縦書きページを作ってみた。

http://nixeneko.2-d.jp/misc/tate/tate_wf.html
(最新の Firefox でご覧下さい。 WebFont が5MBあるので読み込みに時間がかかるかもしれません)


Firefox 3.6.7 で正しく表示されるのを確認した。 Chrome でも表示はされるが、スクロールがうまくいかない様子(多分他の Webkit 系でも)。他のブラウザは未対応。

基本的に、 CSS3 の Transform でページを右に90度回転させ、それをグリフ(の縦書き形)を左に90度回転したフォントで表示させているだけ。 CSS3 の Column を使うことで新聞の組み方ぽくなった。


今回は改造するフォントとして「きろ字 等幅」(http://www.ez0.net/distribution/font/kiloji/)を使わせていただいた。
改造のやり方。 fontforge 20090923 にて、以下のスクリプトを実行。

#!/usr/bin/fontforge
Open($1)
#縦書き字形に変更
SelectAll()
ApplySubstitution("*","*","vrt2")
ApplySubstitution("*","*","vert")

#0020-007e ASCII
#ff61-ff9f 半角カナ
#以外を左へ90度回転
Select(0u0020,0u007e,0uff61,0uff9f)
SelectInvert()
Rotate(90, 512, 368)

#U+ff5e fullwidth tilde を U+301c wave dash にコピー
Select(0uff5e)
Copy()
Select(0u301c)
Paste()

#極大点の追加、座標値を整数に
AddExtrema()
RoundToInt()
#出力
Generate($1:r+"-vert.ttf") 

スクリプトには著作権を主張しません(そもそも主張できるような独自性があるのか?)。ご自由に。


参考サイト:
改造フォントとCSSで縦組にする - M59の記録

中国語の「啾」についてのメモ

中国語の「啾」という言葉についてちょっと調べてみたメモ。正しいかどうかは不明。


小学館 新選漢和辞典 第七版<2色刷> 第一刷 によると

啾 シュウ
(1)こどもの声。(2)多くの声のさま。(3)くちずさむ声。

P256 (日本語の辞書だけど参考にはなりそう?)


中国のWeb辞典によると

啾 jiū
(1)小兒聲[cry]
 啾,小兒聲也。――《說文》
(2)眾聲雜遝[noise]
(3)又如:啾疾(指鳥兒失偶時的鳴叫;小病);啾喧(猶喧囂);啾號(雜亂地鳴叫);啾嘈(喧雜細碎的聲音);啾嘩(喧鬧)
(4)象聲詞。形容細碎的聲音[chirps]。如:啾啁;啾唧唧(蟲鳴聲)
(5)歌吟聲[sing]
 夫啾發投曲,感耳之聲。――《文選·班固·答賓戲》

http://tw.18dao.net/%E6%BC%A2%E8%AA%9E%E8%A9%9E%E5%85%B8/%E5%95%BE


講談社パックス 中日・日中辞典 第1刷 によると

啾啾[擬]
(1)(小鳥や虫などの鳴く声)チッチッ.チュンチュン
(2)甲高い叫び声

P403


啾が「キャーー」という感じも表しそうな気も。黄色い声とか。




「萌え萌え〜キュン」の「キュン」が「啾」と訳されています
http://www.youtube.com/watch?v=jZsOiwYD6m4
http://www.youtube.com/watch?v=VaKYUMfP2Do

萌阿萌阿~啾


日本語でネズミの鳴き声を模した語尾「チュ〜」が「啾」と訳されてます
http://blog.helloproject.tw/jimmysho/68723

高橋「好想在嘴巴放進什麼東西啾〜」

ほか


http://www.geelook.com/annepro/shop_design_products/1897

啾一個

http://luryoma.blog53.fc2.com/blog-entry-62.html

相逢的啾

これを見るに、「啾」がキスの「チュウ」を表すこともあるようです


http://ginger1117.pixnet.net/blog/post/29678121

Ginger很喜歡和服背後那超大超可愛的蝴蝶結,綾荑遙穿起來真的很柔美,如果可以像野田妹一樣做出揮動翅膀的動作,一定很可愛呢!啾~~~♥

「キャー♥」って感じでしょうか?

手書きフォントの更新: 注音符号の追加

http://nixeneko.2-d.jp/fonts/hand.html

今回は注音符号の追加。
注音符号というのは中国語の発音を表記するための文字で、主に台湾で使われます。初めの4文字(ㄅㄆㄇㄈ)をとって Bopomofo とも呼ばれるそうです。


台湾の学校で教えられている中国語は國語(ㄍㄨㄛˊ ㄩˇ)と言い、太陸で教えられている普通话(ㄆㄨˇ ㄊㄨㄥ ㄏㄨㄚˋ)とは使う文字が違う(繁体字/簡体字)だけで後は大体同じなんだそうです。

iBus で「システムキーボードレイアウトを使用」しない時の半角/全角キーの挙動

iBus の設定で「システムキーボードレイアウトを使用する」にチェック入れないと、半角/全角キーでインプットメソッドのオン・オフができなかった(ので、ずっと Alt + 半角/全角でオン・オフしていた)が、
/usr/share/ibus/keymaps/us を編集し、

keycode 41 = grave
    shift keycode 41 = asciitilde

keycode 41 = Zenkaku_Hankaku

と書き換えたら半角/全角キーが効くようになった。
つまり今までは Alt + `(grave) でオン・オフしてたということなのか…。


「システムキーボードレイアウトを使用する」ようにすればこんな変なことする必要も無いんだけど、 Dvorak 配列を使ってるので、親指シフトや漢直やロシア語やタイ語の入力の配列がでたらめになってしまい実用上問題がある訳で。
こういうカスタマイズしてる人ってそんなにいないんだろうか?

ロシアのチョコレート菓子が始まりすぎな件

カンフィエタ (конфета) とは、ロシア語で一口サイズの砂糖菓子(特にチョコレート菓子)のこと。で、下が Ычан を見てて見つけたカンフィエタ。
http://iichan.ru/b/src/1275170783605.png
http://iichan.ru/b/src/1275161441605.png
(画像は iichan.ru への直リンクなので、そのうち消えるかも)
えええ何これ欲しい。どこで買えるんだー?


他にこの人のページにも写真があった。
http://www.liveinternet.ru/users/-seiya-/post120143278/



折角なので包み紙の文字でも解読してみる。
ирис (イリース) は「茶色の角砂糖形の菓子、キャンディー、ミルクキャラメル(三省堂コンサイス露和辞典第5版)」だそうで。
Мисс Кэт は商品名で、 Miss Cat のロシア語読み、だと思う。
で、 Ламзурь(http://www.lamzur.ru/) (ラムズーリ(?)) ってところがこの商品を出してるメーカーっぽいんだが、サイト上には情報は見つからず…
何なんだろう?


通販で、日本に発送してくれるとこ無いかなあ…