たかちゃん。

6月 202010
 

オンキョーの CR-D2+D-D2E と言う組み合わせのミニコンポを購入しました。そして、その後に ND-S1 と言う PC と USB で接続できる iPod ドック付きのデジタルメディアトランスポートを購入しました。

音響機材としての感想などについては以下の URL に書いたのでそちらを参照して頂ければと思います。

ここでは ND-S1 を PC のパーツとして利用した場合にどんな感じか、ちょっとまとめてみたいと思います。

まず、ND-S1 と言うデバイス、PC からすると「サウンドカード」と言う扱いになります。USB 接続の外付けサウンドデバイス。 PC に接続すると USB Audio DAC として認識するので Windows・MacOSX・FreeBSD の全てでサクっとデバイスとして認識します(筆者の自宅に Linux は存在しない;-)。

まず、Windows についてですが、簡単に書いておきます。 Windows7 Ultimate x64 に接続するとサクッと認識します。後はコントロールパネルのサウンド設定で出力先を ND-S1 に向けてあげるだけで Windows Media Player や iTunes で音が出ます。また、 iTunes では iPod と Sync も行えます。

MacOSX は製品のカタログでは対応外の OS となっているのですが、こちらも Windows7 と同じくサクッと認識します。

usbdac_1.jpg

これが認識した瞬間ですね。後は iTunes の音も出るし、システム全体の音もステレオに飛ぶようになります。当然 iPod との Sync も行えるのであります。

さてと。ここまで二つの OS でサクッと認識したので、では今回の本命の OS である FreeBSD はどうだ?と言うことで、FreeBSD/amd64 7.3-STABLE に接続してみました。

uhub6: <vendor 0x0409 product 0x005a, class 9/0, rev 2.00/1.00, addr 3> on uhub5
uhub6: single transaction translator
uhub6: 2 ports with 2 removable, self powered
ugen1: <Burr-Brown from TI USB Audio DAC, class 0/0, rev 1.10/1.00, addr 4> on uhub6

 
一発目。USB ポートに接続したら、あれま。 ugen0 に落ちてしまいました。カーネルモジュールをロードしよう。と言うことで /boot/kernel を眺めるとそれらしいのは snd_uaudio.ko くらいしか見あたらないのでそれをロードしてから再度接続すると。おぉ。pcm として認識しましたね。

uaudio0:  <NBurr-Brown from TI USB Audio DAC, class 0/0, rev 1.10/1.00, addr 4k> on uhub6
uaudio0: audio rev 1.00
pcm4:  <NUSB Audiok> on uaudio0

 
cat /dev/sndstat してみると以下のような感じ。

$ cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 64bit 2007061600/amd64)
Installed devices:
pcm0:  <NHDA ATI R6xx HDMI PCM #0 HDMIk> at cad 0 nid 1 on hdac0 kld snd_hda
pcm1:  <NHDA Realtek ALC883 PCM #0 Analogk> at cad 0 nid 1 on hdac1 kld snd_hda
pcm2:  <NHDA Realtek ALC883 PCM #1 Analogk> at cad 0 nid 1 on hdac1 kld snd_hda
pcm3:  <NHDA Realtek ALC883 PCM #2 Digitalk> at cad 0 nid 1 on hdac1 kld snd_hda
pcm4:  <NUSB Audiok> at ? kld snd_uaudio [GIANT] (1p:1v/0r:0v channels default)
mode 1:(output) 2ch, 16/16bit, pcm, 32000,44100,48000Hz
mode 2:(output) 1ch, 16/16bit, pcm, 32000,44100,48000Hz

 
おぉ。pcm4 で USB Audio DAC な機器として認識したようです(Realtek ALC883 PCM は長すぎるので後ろの文字列を消しています。今回重要なのは pcm4 になります)。これはすばらしいっ!!

それにしてもこの ND-S1 と言う機器は出力用にコンポジットデジタルとオプティカル光デジタル出力があるので output は二系統あります。そんでもって input は持っていないと言うことが解ります。

これが悲しいのよねぇ。ミニコンポから光デジタル出力して ND-S1 にデジタル入力があったとしたら PC 側でデジタル録音できたのにねぇ。それができない。フツーの PC 用サウンドカードではない。ということが良く分かります。

話を戻しますが、FreeBSD ではここからが泥沼です。まず、デジタル出力のチャンネルが二系統あるのですが、僕は「どっちかの出力チャンネルを指定する」コマンドなり設定を見つけることができませんでした。なので、オプティカル光ケーブルで接続しているほうを優先的に利用することができないので実際に正常に音が出ているのか確認できないのであります。orz。Windows とか MacOSX はどうやって判断しているのだろう・・。

ちなみに sysctl の hw.snd MIB ではそれらしいのを見つけることができませんでした。

けどもまぁ、気を取り直してとりあえず CD でも聞いてみましょう。あれ・・。音が出ない・・。
じゃあ mplayer で mp3 でも聞いてみましょう。あれ・・。音が出ない・・。
それなら dolphin (KDE4 付属のメディアプレーヤー)で動画でも見てみましょう。あれ・・。音が出ない・・。

orz。つまりは全滅。と言う感じなんですね。あげくの果てにはなにやら怪しげなログを出力しているようです。

kernel: pcm4:virtual:dsp4.vp0: play interrupt timeout, channel dead
kernel: usb5: *** WARNING: opening low/full speed device, this does not work yet.
pcm4:virtual:dsp4.vp0: play interrupt timeout, channel dead
kernel: usb5: *** WARNING: opening low/full speed device, this does not work yet.

 
USB HUB が悪さしていて USB の速度が出ないよ。的なメッセージなんですかね。けど、PC の USB ポートに直接接続したので特に問題は無いのではないかと思えるんですけど・・。また、同一 PC でマルチブートする Windows7 は同じ構成で無事に動作したし。

ちなみにこのメッセージが出力される部分がどこか、一応ソースを眺めたのですが、sys/dev/usb/ の
ehci.c と uhci.c だったので snd_uaoudio 側ではなく、USB 側の問題であろうと言う感じはします。時間ができたらじっくりとソースを眺めてみたいとは思いますが・・。

とまぁ、そんな感じで ONKYO ND-S1 を購入したのですが、ネタ的には音響機器・PC のデバイスと色々な角度から見てネタができて良かったです。

まぁ、FreeBSD で動作して本当に嬉しい?と言われれば何ともいえないのですけどね。 iPhone3G や iTunes での音楽の管理は 全て MacOSX 上で行っているので MacOSX に接続して、そこで動作すれば良いやー。となってしまうのでありますが;-)。

つづきを別のエントリーとして書きました。以下になります。

ONKYO ND-S1 と FreeBSD 8.1-PRERELEASE。

6月 182010
 

今年の初めあたりに「virtualbox-ose-3.1.2 を X11 無しで利用する。」というエントリーを書いたのですが、FreeBSD の ports の VirtualBox も今はバージョンが virtualbox-ose-3.2.4 というものになりました。

ports から make すると、make config で VNC がサポートされたことが解ります。つまり、X11 無しのサーバ上で VirtualBox を起動して VNC で接続すれば Windows でもラクチンに運用できる。ということですね。

先に起動方法を書いてしまいます。ports から emulators/virtualbox-ose をインストールしますが、 make config で WITH_VNC=true だけ指定して make install します。後は「virtualbox-ose-3.1.2 を X11 無しで利用する。」のエントリーで書いたコマンドを順番に実行していけば良いだけです。

が、コマンドオプションをちょっとだけ追加してみましょう。

$ VBoxHeadless -s "WindowsServer 2008 R2 EPE x64"  -n -m 12345

 
“-n” は VNC を使いますよー。ってオプションで “-m” は VNC で接続する時のポート番号ですよー。ってオプションです。

僕は自宅で動作している FreeBSD のサーバ上に virtualbox-ose-3.2.4 をインストールして、上記コマンドを実行したのでありました。

後は手元のデスクトップから VNC クライアントで vnc://server:12345 と接続すると、WindowsServer が起動する所から確認することができるのでありました;-)。

ちなみに、今回は Windows7 Ultimate x64 上で動作している VirtualBox にインストールした WindowsServer 2008 R2 EPE x64 を FreeBSD/amd64 7.3-STABLE 上に持っていって起動しました。
あ。FreeBSD/amd64 上で VirtualBox を起動させるためにはカーネルの設定ファイルに options COMPAT_IA32 が必要です。カーネルの再構築が必要ななります。

Windows7 上の \ユーザ\takachan\.VirtualBox\ を samba 経由でサーバ上に ~/.VirtualBox/ としてコピーしました。サーバ上ではパーミッションを直した後に以下のファイルを手で編集します。

  • ~/.VirtualBox/VirtualBox.xml
  • ~/.VirtualBox/Machines/WindowsServer 2008 R2 EPE x64/WindowsServer 2008 R2 EPE x64.xml

上の xml ファイルは VirtualBox 自体の設定を行う XML ファイルです。パスなどに “\” などが入っていたら “/” に書き直してあげる必要があります。

下のファイルは OS の設定用 XML ファイルです。このファイルは手で直すか、VBoxManage で設定するかします。僕の場合、Windows7 のデスクトップ上ではサウンドをオンにしていたのですが、サーバ上ではサウンドをオンにしていないので WindowsServer が起動しなかったため VBoxManage コマンドで –audio off しました。

これで無事に起動しました。後、ネットワーク周りとかでも引っかかったりするのではないかなぁとか思いますが、ダメだったらインストールしなおしてください(^^;;。ちょっとだけ設定ファイルを書いておきます。ネットワークの設定はこんな感じです。

<Network>
<Adapter slot="0" enabled="true" MACAddress="080123858840" cable="true" speed="0" type="82540EM">
<BridgedInterface name="re0"/>
</Adapter>
<Adapter slot="1" enabled="false" MACAddress="080123328902" cable="true" speed="0" type="82540EM"/>
:
<Adapter slot="7" enabled="false" MACAddress="08012319BA1F" cable="true" speed="0" type="82540EM"/>
</Network>

 
これはブリッジの設定ですが 僕は re0 を利用しているのでデバイス名を指定します。 NAT を利用する場合に <NAT/> と書くだけになります。

なんせ、僕は X11 無し版の VirtualBox 上では OS はインストールしたことがありません。前回は デスクトップ機として利用している FreeBSD/amd64 上で稼働する VirtualBox から、今回は Windows7 x64 上で稼働する VirtualBox から OS イメージと設定ファイルを持って来ています;-)。

しかし、自宅の FreeBSD サーバ上に WindowsServer 2008 が動作するようになりました。何のために利用するかですが、まずは SilverLight なサーバでも構築するか。という感じなのですが、自宅内のために AD を起動したりするのも良いかなぁ。などと思っているのであります;-)。がっ!!そーだった。検証目的のインストールなんだったf(^^;;。

あ。一点書いておきます。VNC クライアントで VirtualBox に接続するとマウスが、その動作に対して追随して来ません。実際のポイントとずいぶんとずれてしまうので難儀は必死です。そんな時は Windows 側のマウスの動作を最速にすると良いかと思います。後、Ctrl+Alt+DEL を利用しないようにするにはレジストリを変更する。ってのは書かなくとも良いですよね;-)。

6月 132010
 

自宅のネットワークは 1Gbps なネットワークです。RJ45 ですけど。

BB ルータが NEC の WR8500N で、HUB 側は全ポート 1Gbps、しかし、4 port ではとてもじゃないけど、自宅の PC や電気製品全てを接続することはできないのでそこにカスケードで 1Gbps の HUB を接続しています。

接続する PC のほとんどに 1 ギガ NIC が付いているので今回 BB ルータ <-> HUB 間は 2m の cat7 ケーブルに、PC <--> HUB 間は cat6 ケーブルに変更してみました。

cat5e から cat6,7 のケーブルに変更したのですが、ケーブルの違いは太さと固さでしょうか。cat6,7 ケーブルは基本的に太いと言うイメージでしょうか。

で、ケーブル交換前と後で通信速度について確認してみました。

今回投入した PC はデスクトップ機二台。同一 HUB に接続されている二台の機器です。スペック的にはこんな感じ。

  • データ送信側 PC
    • OS: Windows7 Profetional x64
    • 3.5 インチ 7200 回転の HDD
    • NIC は REALTEK の PCI-e 接続の GbE NIC

  • データ受信側 PC
    • OS: FreeBSD/amd64 7.3-STABLE
    • 3.5 インチ 7200 回転の HDD
    • NIC は REALTEK の PCI-e 接続の GbE NIC (re0)

テスト方法は Windows7 側からネットワークコンピュータ経由で 8.0-RELEASE-amd64-disc1.iso (690,227,200Byte) をコピーしています。FreeBSD 側は samba 経由でデータが送られている。って感じですね。でもって IPv6 を利用しています。

Windows7 側からデータ転送した場合、正確な時間が解らないので FreeBSD 上で tcpdump してパケットのスタートと終了を確認して、その間の秒数を計算名しました。テストは合計二回やりました。

で、その結果です。

cat5e
1回目 22sec 251Mbps
2回目 26sec 212Mbps
cat6
1回目 21sec 263Mbps
2回目 21sec 263Mbps

 
速度的には cat5e と cat6 ではほとんど違いがないと言うことが良く分かりました。それにしても 転送速度が大体 270Mbps というのは HDD の限界なのかもしれません。以前、ハードウェア RAID で RAID5 を構築して、そこから 1ギガネットワークに 5 〜 10 GByte のデータを転送した時、300Mbps 程度しか速度がでないと言う経験をしたことがあるので、ボトルネックが HDD にあると想定したほうが良さそうです。

そうなると、動画の大きなデータとかを速くファイルサーバに転送したい。などと考えても結局の所ボトルネックは HDD になってしまう。と言うことなのでしょうなぁ。

それにしても REALTEK の GbE NIC、あんたは 250Mbps は出るんだねぇ。中々やるねぇ。などと思ったりもしたのでありましたf(^^;;。

5月 252010
 

ちょっと前のエントリーで「USEN 放送を録音して iPhone で聞く。」ってのを書いたのですが、ようは USEN のチューナからアナログケーブルで PC の LINE-In に接続して録音してみました。ってヤツでした。

しかし、これやっても音が非常に悪いっ!! アナログ特有の「ぶーー」って音が後ろの方で聞こえていたりしてもうダメダメ。なのでアナログ録音することはあきらめました。orz。

するっていと、自宅にやってきた USEN は結局どうるすか?と言うことになるのですが、自作した「USEN SOUND PLANET-i プレイリスト」で今流行の曲を認識して、その曲自体を USEN で聞く。みたいな感じにしか利用できないのであります。

欲しいな。と思う曲があれば iTMS で購入したりするのですが、youtube も検索してみるわけです。ふむー。自分でアナログ録音したのより youtube のほうが音、いいんじゃね?とか思うのでありますが、ここでようやっと clive の出番です(^^;;。

clive とは youtube の動画を自分の PC にダウンロードできるコマンドです。使い方はこんな感じ。-f は保存形式を指定します。 mp4 で保存します。 URL は youtube の動画が見えるページの URL をそのまま指定します。

% clive -f mp4 "http://www.youtube.com/watch?v=77EJiYJG3h0"

 
すると、Flash なのに mp4 ファイルで保存してくれます。すげー。jobs に感化されて Flash キライ(インストールしてない)な人は mplayer とか QuickTime Player で見てください;-)。

FreeBSD の ports では multimedia/clive にあります。make install すればもうばっちし。

しかし、mp4 の動画、サウンドトラックとビデオトラックがあるけどビデオトラックを消して m4a にしたいので、その時は MacOSX 上で GarageBand を利用するので、どうせなら clive もMacOSX 上で動かしたいモノだ。とか思い epkg を作ろうとしたのだけど・・。

うひー。perl のための epkg というのがなくて、ひな形となる Makefile が存在しないみたい。あれれ・・。まぁ、epkg と言うのはユニバーサルバイナリを出力するための「フレームワーク」なわけで perl スクリプトなどはアーキテクチャには依存しないので当然と言えば当然か。

と、言うことでコマンドラインから clive をインストールします。

まず、clive のソースを取って(http://clive.googlecode.com/files/clive-2.2.11.tar.bz2) きて、展開した後に perl Makefile.PL;make;mak einstallします。けど、色々 perl モジュールが足りないぜぃ。と言われるので必要なものをインストールしてあげます。cpan(1) を利用してインストールします(コマンドイメージはこんな感じ % perl -MCPAN -e shell )。必要な perl モジュールは以下になります。

  • Class-Singleton
  • Config-Tiny
  • Getopt-ArgvFile
  • HTML-Parser
  • URI
  • WWW-Curl

cpan からのインストールが終わると、/Library/Perl/5.10.0/ 辺りにインストールされます。その後で再度 clive をインストールすると無事に入るので上記のコマンドをすかさず実行します。実行時に WWW/Curl/Easy.pm が無いと言われたら /var/root/.cpan/build/ の下の WWW-Curl で直接 make install 叩いちゃってください;-)。

clive は以上なのであります。

さて、引き続き、GarageBand についてちょっと書いてみたいと思います。

そもそも iPhone(iPod) で音楽を聴きたいので動画部分は必要ありません。そんな時は GarageBand でビデオトラックを削除して、サウンドトラックのみにしてから保存すれば大丈夫です。

まずは GarageBand を起動してダウンロードした mp4 データを DnD してあげます。すると以下のような感じになるでしょうか。

GarageBand.jpg

左上部分のキャプチャですが、二個並んでいるのがトラックです。上がビデオトラック、下がサウンドトラックです。ビデオトラックをクリックして、メニューから [トラックを削除] を選択すると簡単に m4a(AAC) な音楽ができます。後はこれを iTunes に転送してあげれば良いだけですね。

簡単なのでありました;-)。

などと、GarageBand をいじっているとその機能の多さにちょっと感動します。僕もミュージシャンになって音楽でも作ろうかなぁ。などと思ってしまうのでありました;-)。

ちなみに、著作権についてですが、 USEN 放送を録音して自分で聞く分にはちゃんとシロです。youtube の動画を保存して自分用に聞くのはどうなんだろう? 以前別のブログに書いたのがあるんだけど、こっちは youtube 上からもう既に削除されてしまっています。と、言うことはクロかな?

自己責任でお願いします。

5月 222010
 

以前「emacs-canna の ports。」と言うエントリーで、emacs-23.1+Canna な ports を作りました。と書きましたが、FreeBSD のports-CURRENT の editor/emacs が 23.2 になったみたいなので、 emacs+Canna の ports も23.2 に追随してみました。

以下の URL からダウンロードできます。

http://icmpv6.org/Prog/FreeBSD_ports/ports-emacs232-canna-20100521.tgz

/usr/ports/japanese 辺りで展開して make してください。

ちょっと説明すると、editoe/emacs は make config に対応したみたいなので、config の画面で CANNA を選択できるようにしました。

後、Canna for GNU Emacs23 では emacs-23.1 にしか対応していないので、このパッチを参考にさせて頂いて emacs-23.2 に適用できるように改修しました。emacs-23.2 対応の パッチは以下の URL にあります。Linux 方面の人はこっちのほうが嬉しいですかね;-)。

http://icmpv6.org/Prog/emacs232canna-20100521.patch.gz

と、言うことで自分で書いたモノを、短い時間ですが使ってみても特に問題無くネーテブに Canna で日本語入力ができています。もし良かったら使ってみてください;-)。

さてと。この ports を今後どうするか。と言うのが大きな課題です。一応 make config で CANNA が選択できるようになったので editor/emacs に吸収してもらっても良いかなぁ。とか思っているのですが、そーすると send-pr したり、 ports のメンテナに連絡とったりするかなぁ。

emacs-23.1 の ediotr/emacs は config の画面が出なかったのであれだったんだけど 23.2 の ports は良くできているような気がしないでも無いのでねぇ。今回は連絡取ってみようかなぁ。

と、言うことで Canna での入力を必要としている皆さん。利用した結果のコメントなどいただければ嬉しいです。

5月 122010
 

KDE4 を普段からデスクトップで利用していると、kdepim-4.3.5 なんてのがインストールされることがあります。”PIM” と言うのはそもそも Personal Information Manager/Management の略で利用者個人の情報を管理しています。 kdepim-4.3.5 をインストールすると KMail や KNotes (ポップアップメモ)、KJots (メモ帳) などかインストールされますが、それと一緒に KOrganizer と言うスケジュール管理ツールもインストールされます。

KOrganizer と言うのは MacOSX で言うところの iCal、Windows で言うところのなんだろ? みたいなものです。普段、スケジュールを利用している人は「google カレンダー」を利用している人が多いのではないでしょうか。

僕は MacOSX 使いでもあるのでスケジュールは iCal で管理して iPhone3G と sync しているので特に困ったりはしないのですが、 KDE4 を利用していて google カレンダーを利用している人は「KOrganizer が google カレンダーと同期できたらいいなぁ。」と思ったことのある方、いるのではないでしょうか。

今回は KOrganizer と google カレンダーを同期させてみたいと思います。 gppgle カレンダー側で書いたものを KOrganizer へ、 KOrganizer 側で書いた情報を google カレンダーに反映できるようになります。

さて、それを実現する前に kdepim4 についてちょっと書いておきましょう。kdepim4 をインストールすると、こいつはなんとデータを MySQL で管理するようになります。個人情報を管理するためだけに mysqld が、ログイン直後から起動していると言う、なんかスゲー信じられない現象が、今の KDE4 では起きています。邪道だ・・。orz。

ドキュメントを読んでみると「sqlite3 ではマルチタスクマルチスレッドの動作時にデータの保証ができないので MySQL 使うよ。」みたいなことが書いて有りました。ふむむむ。

さて、話を本題に戻しますが kdepim4 が利用しているデータは MySQL の中に入っていることがこれで解ったかと思うのですが、 google カレンダーの情報も google から取ってきて MySQL の中に突っ込んだら KOrganizer から見えるんでないかい?となります。

kdepim4 で MySQL との窓口(API って言って良いのかなぁ?)となっているのが akonadi というものです。こいつが一手に引き受けていてくれるんですね。でもってこいつについて、もちっと踏み込んで調べてみると FreeBSD の ports として databases/akonadi-googledata と言うのがある。ふむ。なんか名前からして怪しいじゃん;-)。とりあえずこいつを packages/ports からインストールしてしまいましょう;-)。

インストールが完了した時点で準備完了です。それでは設定に移ってみましょうか;-)。まず、akonadi の設定をします。ターミナルから akonadiconsole とコマンドを叩いてみましょう。

akonadi_1.png

そーするとこんな感じのウインドが表示されたと思います。そしたら [+ADD] ボタンを押すともう一個画面が現れます。この画面から Akonadi Google Calendar Resource と Akonadi Google Contacts Resource の二つを追加します。追加すると一覧に表示されるようになるのでそこでクリックすると google カレンダーの ID とパスワードを入力するよに急かされるので入力します。

後は Akonadi を再起動して Akonadi 自体への設定は完了です。

動作は(ソースコードを追ってないので)良く分からないのですが、MySQL と情報をやり取りする Akonadi が 今回インストールした二つのリソースで横から google カレンダーをつついてデータを取りに行ったり、データを更新したりするんだ。と言う感じでしょうか。 KOrganizer 的には「おめー、バックグラウンドでやっているんだからエレーよ。」となるんでしょうなぁ;-)。

続いて KOrganizer 側での設定です。こいつは簡単です;-)。KOrganizer を起動すると左下に「カレンダー」と言うメニューがあるかと思います。これの [+] ボタンを押します。

korganizer_1.png

するっていとこんなのが現れるとかと思います。

korganizer_2.png

KOrganizer ってのは色々な所からカレンダーデータを持ってくるモジュールが用意されているのねぇ。などと関心させられますが、使い方はどれもイマイチ解らなかったりしますf(^^;;。その中で「Akonadi (Akonadi のカレンダーフォルダに保存されているカレンダーへのアクセスを提供します)」を選択して OK を押します。そうすると「カレンダー」のメニューに google カレンダーへのアクセスが登録されます。

表示されたら真ん中のボタン「カレンダーの設定を編集」ボタンですね。を押して設定画面を表示します。白枠の中に akonadi_gcal_resource_0 などとあったらそれを選択して [Manage Calendar Sources] ボタンを押します。そこでメニューが出てくるので [追加] ボタンで 先ほど akonadiconsole コマンドで登録した二つのリソースを追加し、編集して google カレンダーの ID とパスワードを設定します。

korganizer_3.png

一応これで作業は完了です。一旦 KOrganizer を再起動してみましょう。再起動後に google カレンダーの情報が表示されるようになりましたか? もしされたら新規にイベントを書き込んでみましょう。約 10 分位後に google カレンダー側に反映されたか確認してみましょう。

もし、ダメな時ですが、先ほどの [Manage Calendar Sources] ボタンを押した時に表示されるウィンドで 緑の丸いののが表示されその横に “Online” と表示されているか何も表示されていない場合には OK です。 “Offline” と表示されている場合には [編集] ボタンを押して再度 ID とパスワードを入力してあげるとオンラインになったりする場合があります。

この辺り、何回も追加・削除・編集をしていたら僕の akonadi_gcal_resource_? は 7 まで行ってしまいましたf(^^;;。

とまぁ、こんな感じで KOrganizer は google カレンダーと同期が取れるようになりました。しかし、本当に使えるかはまだまだ良く分からないです。しばらく使い込んでみたいとですかねぇ。

ってか。皆さんも KDE4 使ってみてください。色々楽しいですよ;-)。

5月 082010
 

ちょっと前のエントリーで「USENがやって来た。」というのを書いて、その後、チャンネルがちーとも解らん。とか思って、自分でチャンネル検索と、現在演奏している曲一覧なシステムを作ったのであります。そのエントリーは「USENのチャンネル検索システム。」で、検索システムはこっちです。-> USEN SOUND PLANET-i チャンネル検索
けど、そーすると次は「録音でもしてみっかねぇ。」となるのであります;-)。

ちゅーこって早速行ってみたいと思いますが、まず先に著作権について書いておきましょう。USEN の SOUND PLANET-i は扱いが「放送」になります。なので、録音して自分で聞く分には著作権についてはクリアされています。録音して iPod で持ち歩いても全然 OK;-)。

これがユニキャストになると「IP 配信」になるので JASRAC 的には随分と高い著作権料を取るらしいのですが、マルチキャストだと非常にグレーではありますが「放送」としての著作権料になるらしいです。電源ボタンを入れたらパッと流れ出す点で「マルチキャストは放送っぽい。」って扱いらしいんですね。

さてと。ではいよいよ本題に行ってみましょう。今回は USEN 放送を録音してみます。必要なものは以下です。

  • USEN 放送が聴ける環境
  • サウンドカード
  • Windows7 (サウンドレコーダー)
  • MacOSX (GarageBand)
  • どちらの OS でも iTunes

こんな感じでしょうか。Windows7 は無理して利用する必要はありません。ただ、デスクトップマシンで Line-in のあるサウンドカードがると非常に便利です。まぁ、せっかくなので書いておくか。と言う感じなんですけどね;-)。

手順は以下になります。がっ!!録音される音はアナログ音源です。それは非常に悲しいことですが、それが現実となりますX-|。

1). 機器の接続。
USEN 放送用機器の外部出力と Windows7 のサウンドカードの Line-in を接続します。マイク端子に接続すると録音時にモノラルになる場合があるので Line-in に接続します。

僕は PC にオンボードのサウンドカードを利用しましたが、USB のサウンドカードも持っています。

USEN2m3a_1.jpg

こいつは Windows7 でも MacOSX でもドライバ無しで認識します。なので、本当は Windows7 は必要無いのですけどね。まぁ、Windows7 経由でやりました;-)。

2-1). 録音 (Windows7 で)。
Windows7 のコントロールパネルでサウンド機器の設定を見直して、「録音」タブでライン入力にチェックが付いているか確認します。そしてプロパティから「レベル」タブを表示して入力のボリュームを調整します。
そしたらアクセサリの中にあるサウンドレコーダーを起動します。緑のメータが動いているか確認したら後は録音ボタンを押すだけです。

USEN2m3a_2.jpg

なぜ、Windows7 を使ったか、なんですが、このサウンドレコーダーアプリが随分とパワーアップしているのに驚いたからです。録音時間は二時間とかできます。多分 HDD 容量が許す限り録音できると思います。非常に簡単なアプリです。WindowsXP のとは大違い。録音を停止した後は wma 形式で保存できます。すばらしいですね。

後は、Windows7 で iTunes を起動して 無題.wma を iTunes に DnD すると wma から m4a に変換してくれます。変換した m4a を MacOSX に持って行きます。

2-2). 録音 (MacOSX で)。
USB オーディオ機器を持っている人はそれを MacOSX に接続した後、システム環境設定のサウンドの「入力」タブで利用したいデバイスを指定します。また、この画面で入力音量を調整します。それが完了したら GarageBand を起動します。色々質問されるかもしれませんがとりあえず起動します。機動した後、表示されている全てのトラックを削除します。
全部削除したら新規トラックを追加します(リアル音源を追加)。その後、GarageBand の環境設定から「オーディオ/MIDI」タブを選択し入力デバイスを選択します。後は一番下の赤くて丸い録音ボタンを押します。

3). さて。編集。
長時間録音した情報を編集して一曲ずつに切っていきます。Windows7 から持ってきた m4a は起動した GarageBand に DnD します。これで新規にトラックができます。それ以外に余計なトラックがある場合には全て削除しましょう。

USEN2m3a_3.jpg

半分から上がトラック情報、下がトラックの編集画面になります。オレンジ色っぽい部分が録音したデータです。ギザギサが無くなる部分が曲と曲の間なのでそこで曲を切ってあげます。半分から下の部分が編集画面になるので、曲の部分をマウスで選択してグレーにした後にクリックするとそこで曲がカットされます。後はメニューの「編集」でカットやペーストを利用すると音楽が好きに編集できます。すばらしい。

一曲単位になったらメニューの「共有」で「iTunesに送信」を選択します。その時、オーディオ設定のメニューでビットレートを指定してあげてください。所詮はアナログ録音なのでロスレスにする必要は無いと思いますけどねぇX-|。

簡単に書くとこんな感じです。

GarageBand は自分としては「ぜってー使うことは無い。」と思っていましたが、実際に使ってみるととても楽しいしラクです。Windows 上で編集作業しなくていーやー。みたいな気分になります。

例えば Youtube から何かしらの手段で拾ってきた mp4 なビデオを GarageBand に DnD してビデオトラックだけ削除すると残りは音楽トラックだけになるのでそれを iTunesに送信 すれば音の部分だけ抜け出せたりします。

と、言うことでこれで USEN 放送も録音して iPhone/iPod で聞くことができるようになったかと思います。 USEN 放送はほぼ 25 曲をループしているので三時間位録音したら、後はそのデータを GarageBand でぶった切るだけなのでラクチンです。 Windows の場合、フリーの音楽編集ソフトから探し回らなければならないのでその辺りからもう苦痛になってくるのですけどねX-|。そー考えると全てを MacOSX 上でできるのは良いことですかねー。

さてと。GarageBand。使い込んでみるとこれがまた中々良いですね。僕はガキの頃ヘビメタ少年だったので、なんか曲を作りたくなってしまいました。家にはフォークギターとウクレレがあるので二つのトラックでなんか曲作ってみたいなぁ。と思ってしまったのでありました;-)。

4月 232010
 

今回は httpd の VirtualHost のお話です。

その昔、僕は日本で初めてバーチャネルホスティングのサービスを開始した会社にいて、当時の社長はアメリカから apache の VirtualHost の文化(この場合”技術”と言うのか)を持ってきた。当初は SunOS 4.1.4(だったかな?)に apache をインストールして IP アドレスをたくさんつけてサービスをしていた。

当時の SunOS は バーチャルホストを実現するために libc を置き換える必要があった(libc.so.2 だったかな?から libc.so.101 とか言うとんでも無いバージョンがついたものができ上がる;-)んだけど、再構築に失敗すると SunOS が起動しなくなったのよ。再インストール。今とは考えられない;-)。

で、最近はめっきりそのような環境(サーバ運用)とは関係のない仕事をしているので「昔取ったなんとか」みたいな感じで、当時の設定(と、その後、ちと学習した情報)の記憶のみで自宅のサーバを運用していたのでありました・・。

はっきり言って、うちのウェブサーバは応答が遅いっ!! どうしてか? とか思い色々と調べるわけです。サーバのハードウェア自体は Athlon X2 4600+、メモリ 4GB なのでそんなに過負荷とは感じないし・・。

で、思ったのが apache の VirtualHost の設定。これがちょっと前までしていた設定。

<VirtualHost 192.168.1.1 [2001:200:161:1400::ffff:1]>
    DocumentRoot /pathto/motsuyaki/
    ServerName   kinmiya.com
    ErrorLog     /pathto/log/error.log
    CustomLog    "| /pathto/rotatelogs /pathto/log/access-%Y%m%d.log 604800 540" combined
</VirtualHost>
<VirtualHost 192.168.1.1 [2001:200:161:1400::ffff:1]> DocumentRoot /pathto/motsuyaki/ ServerName www.kinmiya.com ErrorLog /pathto/log/error.log CustomLog "| /pathto/rotatelogs /pathto/log/access-%Y%m%d.log 604800 540" combined </VirtualHost>

 
以前は rotatelogs を利用していなかったのだけど、利用するようになったら応答速度ががた落ちしたような気がします。でもって motsuyaki.org の場合、ドメインがたくさんあるし、頭に www が付いていたり付いてなかったりするし、IPv4 と IPv6 の設定(以前は IPv4 と IPv6 でも VirtualHost を分けていた。上のような書き方が出来るとは知らなかった(^^;;)があるしでこのような設定をしていると結構応答速度が遅い感じがしてウンザリ・・。

各 VirtualHost の設定で rotatelogs が起動するんだけど、吐き出すログは一つにしているので、実は「良くログファイルがぶっ壊れないなぁ。」と関心していたのでありました(^^;;。

多分、遅いのはログ出力時のロックの問題で遅くなっているんだろう・・。みたいな・・。

で、見直した設定がこれ。これをドメインの数だけ記述します。ドメインはこの他に motsuyaki.org
もつ焼き.jp ホッピー.jp なので計四つか。今までは一個のドメインに付き四つの VirtualHost の設定を書いていたと言うことか・・。orz。

<VirtualHost 192.168.1.251 [2001:200:161:1400::ffff:1]>
    DocumentRoot /pathto/motsuyaki/
    ServerName   www.kinmiya.com
    ServerAlias  kinmiya.com
    ErrorLog     /pathto/log/error.log
    CustomLog    "| /pathto/rotatelogs /pathto/log/access-%Y%m%d.log 604800 540" combined
</VirtualHost>

 
ServerAlias を設定したので一個のドメイン名で www 有り/無し IPv4/IPv6 の全てでアクセスできる設定となりました。他にもドメインがたくさんあって、同一ログファイルに出力しているのですが、rotatelogs が頑張ってくれているみたいでログはつぶれないので多分大丈夫たろう。みたいな感じでいますf(^^;;。

rotatelogs のプロセス数は随分と少なくなりました。でもってアクセスすると、以前よりは早く表示してくれるようになったような気がします。

気がするだけで実際には細かいベンチマークテストとかしてないです。気分的な問題f(^^;;。

後、rotatelogs もいつかはソースコード読んでみたいものだと思っているのですが、複数のプロセスが起動して一個のログファイルに出力するのにどういう制御しているのだろう?とか。

本当はドメインごとにログファイルを分ければ良いとは思うのですが、ログ解析する時には一個にまとまっていてくれると嬉しいなぁ。みたいな・・。

ログの制御とか解析の辺りって、僕が apache の運用している時はあまり重要では無かったしねぇ。確か、SunOS には 200MB のカベがあって、それ以上はログが蓄積されなくなっていて、一週間に一度 httpd を再起動してログを手で名前かえて再起動。なんてしていたし・・。あ。けど、その後に rotatelogs が登場したかな?みたいな・・。

やはり一度 rotatelogs のソース、追ってみないとあかんかいのぉ。

4月 212010
 

emacs-23.1+mew-7.0.50 を利用しているのですが、最近 HTML なメールが多いなぁ。と、随分前から思っていて emacs-w3m を利用しているのであります。

emacs-23.1 の場合には emacs-w3m-1.4.4.tar.gz をダウンロードしてインストールしても動作しないので CVS から取ってきてインストールしようね。ってのは有名な話なのでそれについてはここでは書かないです。

で、mew で emacs-w3m を利用して HTML メールを読む時に “,” と “.” を交互に押すと HTML か、もしくはテキストとして表示するか選択ができるんだけど、 HTML メールを default でテキストとして読む設定がちーとも解らなかった。僕の .mew は以下のように設定されているんだけどねぇ。

; w3m の呼び出し
(require 'mew-w3m)
(setq mew-mime-multipart-alternative-list
'("Text/Html" "Text/Plain" ".*"))
(define-key mew-summary-mode-map "T" 'mew-w3m-view-inline-image) ;(w3m-toggle-inline-images)

 
mew のソースコードの中にある dot.mew にも以下のように書いてある。

;(setq mew-mime-multipart-alternative-list
'("Text/Html" "Text/Plain" "*."))
;(condition-case nil ; (require 'mew-w3m) ; (file-error nil))

 
しかし、この設定では default で HTML をテキストとして表示してくれないのよねぇ。ただ単に HTML が表示されるだけ・・。 “,” と “.” を必ず押さなければならない。変じゃーん。と言うことで色々試した結果、以下のように記述すれば default でテキストとして表示することを発見しました。

(setq mew-mime-multipart-alternative-list
'("Text/Plain" "Text/Html" ".*"))

 
この設定の内 Text/Plain と Text/Html を逆にすることによって default の表示の動作が変わるのですね。そんな風に書いているサイト、どこにも見当たらなかったのだけど、これって常識?もしくは emacs-23.1 で変わったとか。

後、気づいた点としては、最近の Content-Type: multipart/alternative; なメールは Text/Plain が先に付いていて、Text/Html がその後のパートになっているとかで表示が変わるとか変わらないとか・・。

僕自身 elisp はいまいち苦手なのでソースを見てもチンプンカンプンなので(それを人は解らないと言うのだろうか)困ったことなのであります。

まぁ、どっちにしても HTML メールの default 表示がテキストになってくれて良かったです;-)。

4月 032010
 

僕が iPhone3G を購入したのは去年の 4/4 です。なのでちょうど一年使った。と言うことになります。当時、六月に新製品が出ると解っていても、その二ヶ月が我慢できなくて買ってしまったのですが、皆が持ち始める前から使えて良かったなぁ。と言う感じでしょうか;-)。iPhone3G は遅いのですけどねぇ・・。

そんなこんなで今回は iPhone アプリについてちょっと書いてみたいと思います。一個のアプリで一個のネタを書けば良いとは思うのですけどねぇ。まぁ、まとめて書いてしまいます;-)。

まずはこれが一番最初。なんとも「やってらんねーぜ。ケッ。」って感じがするのが N-News。

IMG_0249_n-news.jpg

日経のニュースアプリなのですが、ウェブ版が有料になりました。(http://pr.nikkei.com/index.html) それと同時にこのアプリはニュースの配信が止まりました。

iPhone の株アプリと為替レートアプリで情報を仕入れている時に大きな変動があった場合「なぜだ?」と思うと、この N-News を開いていたのですけどね。それができなくなりました。

日経はこの後 N-News の有料版を出すのだろうなぁ。と容易に想像が付くのであります・・。orz。

二個目のアプリは最近はやりの「サイマル放送」系と言うかインターネットラジオアプリですね。Suono Dolce と言うニッポン放送のアプリ。

最近、http://radiko.jp/ が流行っているみたいですが、Flash アプリでの再生なので聞きませんし、聞く気も特におきないのですが、Suono Dolce と言う iPhone アプリ、なんとバックグラウンドで再生できるんですね。

IMG_0251_suono_dolce.jpg

放送は QuickTime でやっているみたいですね。iPhone アプリの中でも何個かはバックグラウンドで動作するものがある、例えば電話・メールなどですが、Safari ブラウザもバックグラウンドで動作するんですね。なので、ストリーミングを QuickTime で流して、Safari と QuickTime に食わせるとバックグラウンドで動作するようになる。いやぁ。良く考えられていますね。個人的には Flash 使わなくて偉いっ!!などと思ってしまいますが;-)。

後、同じくラジオアプリとしては TokyoFM があるのですが、これは地下鉄の中で聞きましたが、駅に着くと三分位の情報をダウンロードしてキャッシュしておくのでほぼ切れることなく再生できる。ふむ。やるわね。って感じがしたのでした;-)。

もう一個ラジオアプリ。Kikeru Radio ってのがあるのですが、これ、競馬場とか場外馬券売り場でラジオ日経を聞いてみたいものです。ストリーミングなので実際よりは遅れて聞こえると思うんだけど、iPhone アプリが「今、一着でゴールイン。勝ったのはレジェンドテイオーでした。」って言っている時には、実際にはもう随分前に結果が分かっているんでしょー。

などまぁ、ダラダラと書いていけばきりがないのでこの辺りで終わりにしましょうかねぇ;-)。

iPhone アプリにはラジオなヤツがたくさんできてきて嬉しいかぎりです。けど、やはり、ベイFM が聞きたいなぁ。