表紙 TOP 記事 分野 別館 旧館 ARCHIVES 自己紹介 PROFILE 掲示板
Articles

インタネットラジオの再生可能な MPD 0.17-git with rtopt patch

以前にコンパイルしたMPD 0.17-git with rtopt patch は必要最小限の機能だけにしてあるので、インタネットラジオを聴けませんでした。ラジオを聴くには /usr/bin と /usr/local/bin を切り換えていたのですが、不便ですね。oyabinさんから掲示板で質問があったので、インタネットラジオの再生可能な版を作成しました。

mpd.gz

コンパイル済のバイナリをリンク先に置いておきました。

プログラムだけなので、gz圧縮してあります。展開方法は次の通りです。

gzip -d mpd.gz

展開されたプログラム(mpd)を/usr/local/sbin/にコピーしてお使いください。
設定方法についてはここを参照して下さい(下記の0.16.5のコンパイルの仕方の最後の部分でも記述してあります)。
コンパイルオプションは以下の通りです。

#!/bin/sh
./configure \
    --disable-bzip2 \
    --disable-iso9660 \
    --disable-zzip \
    --disable-cue \
    --enable-id3 \
    --enable-sqlite \
    --enable-ffmpeg \
    --enable-alsa \
    --enable-wave-encoder \
    --enable-pipe-output \
    --enable-httpd-output \
    --disable-recorder-output \
    --disable-sndfile \
    --enable-oss \
    --enable-shout \
    --disable-pulse \
    --disable-ao \
    --disable-mad \
    --disable-oggflac \
    --disable-inotify \
    --disable-ipv6 \
    --enable-curl \
    --disable-mms \
    --disable-wavpack \
    --enable-rtopt \
    CFLAGS="-O2 -mtune=`uname -m`"

インタネットラジオの再生のため、httpd-output、shout、curl を enable にしました。

バイナリは以前ダウンロードしてパッチ済のgitを利用し、作成しました。
ここで、ちょっと yan さんにつぶやいておくと、理由は最新のmpd git版(0.17)ではyanさんパッチはエラーになってしまうためです。まあ、これは開発用のgit版の性格なので仕方がないですが。0.16用のものは最新のmpd 0.16.5でもOKでした。
ということなので、自力でコンパイルしたいという方はVoyage MPD 0.8 でも採用されている、0.16.5を利用するのが正解かと思います。
Voyage MPD 0.8 で MPD 0.16.5 をコンパイルするには、コンパイルに必要なライブラリとlinux-headers-3.0.0 をインストールし、mpd-0.16.5のソースを展開し、パッチをかける必要があります。
以下、0.16.5 でのコンパイル方法のメモです。

apt-get install aptitude wget
apt-get install binutils gcc make subversion autoconf automake autotools-dev libtool pkg-config
apt-get install build-essential libncurses5-dev libncursesw5-dev libglib2.0-dev
wget http://www.voyage.hk/dists/experimental/linux/linux-headers-3.0.0-voyage_10.0-1_i386.deb
dpkg -i linux-headers-3.0.0-voyage_10.0-1_i386.deb

MPDのコンパイルに必要な個別のライブラリをインストール。詳細はここを参照。
mpd-rtopt-110605.tgz はカレントディレクトリにコピーしておきます。

wget http://sourceforge.net/projects/musicpd/files/mpd/0.16.5/mpd-0.16.5.tar.gz
tar xvf mpd-0.16.5.tar.gz
cd mpd-0.16.5
tar zxvf ../mpd-rtopt-110605.tgz
patch -p1 < mpd-0.16.2-rtopt.diff  <--ヴァージョン名が違いますが問題ありません。
patch -p1 < buffer.c.diff
./autogen.sh

インタネットラジオを聴けるようにするには、config-sample.shを次の通り修正する必要があります。

    --enable-httpd-output \
    --enable-shout \
    --enable-curl \

pkill mpd
sh ./config-sample.sh
make
make install

/etc/default/mpd に次の一行を追加

DAEMON=/usr/local/bin/mpd

/etc/init.d/mpd start


(PC_Audio)   2011/11/22

コメントする

アーティクル関連のページを移動しました

掲示版と同じ内容ですが、こちらにも書き込んでおきます。


beniigoodmanさんから「サーバを移転したら、掲示板以外のページにアクセスできなくなった」というご指摘を頂きました。
メールでやりとりし、アーティクル関連のページを置いてあるサーバ(fc2.com)の評価に問題があり、ダイレクトにアクセスしようとすると、ファイヤーウオールによってはブロックされるということが分かりました。

という次第で関連するページを移動しました。
旧サーバにはリダイレクトをかけてありますので、特に問題はないと思いますが、以下のURLで新しいサーバにアクセスできますので、ご案内申し上げます。

トップページ
http://mimizukobo.sakura.ne.jp/index.html

アーティクル関連のインデックスページ
http://mimizukobo.sakura.ne.jp/articles/index.html

最新のアーティクルのページ
http://mimizukobo.sakura.ne.jp/articles/articles009.html

尚、旧サーバ(fc2.com)のこのサイトのページの信頼性にについては特に問題はありません。下記のURLでご確認いただけます。
http://www.aguse.jp/?m=w&url=kubotayo.web.fc2.com&x=0&y=0

貴重な情報提供して頂いたbeniigoodmanさんにお礼申し上げます。



p.s. しかし、fc2.comってラスベガスにあるのですが、そんなに酷い評価を受けているとは意外でしたね。マルウェアがあるかないか位、簡単にチェックできるわけだからM社のファイヤーウオールの過剰反応じゃないかと思いますますが、サーバの構成はシンプルになったのでよしとしますかね。

p.p.s. aguseのチェックはfc2.comをリダイレクトしたら新サーバに対して実行されてしまうのですね。まあ、問題はないので、このままにしておきます。

(internet)   2011/11/20

コメントする

HD-7A192 にレベルアップ

PhaseTechのUSBDACを HD-7A から HD-7A192 にレベルアップができるということなので、試してみました。パソコンソフトのグレードアップはいろいろ経験していますが、オーディオハードのレベルアップというのは初めてです。

内容はメイン基板の交換と電源トランスの追加で、外見の変更はなし。正価の差額(73.5K円)でレベルアップできるというのは随分良心的ですね。HD-7Aをフェーズテック本社(かな?)に送って、入れ換えたものが返送されるという仕組みです。11月11日に発送して、15日に帰ってきましたので間に土日が入っているから正味三日。驚くべき速さでした。

早速、Voyage MPD に接続。問題なく認識され、音も出ました。事前にフェーズテックのブログで Voyage MPD をデモで使っているという情報は得ていたので、これは予定通り。手持ちの44.1KHz~192KHzの再生も全てOK。ここまでは順調でした。
トラブったのは Windows 7 のドライバのインストール。フェーズテックからメールで「ダウンロードしてインストールしてくれ」という案内があって、その通りやったのですが、ハードを認識してくれない。
「何でLinuxで簡単に使えるものがWindowsで駄目なのかいな(^^;;;」。問い合わせメールを書きかけて気が付いた。「そういえば、以前、RASTEMEのUSB2.0対応のドライバが入っているな、これが悪さしているのかしら」。試しに RASTEME の USB2.0 対応のドライバをアンインストール。やり直してみたら問題なく認識できました。理屈はよく分かりませんが、Windows上では USB2.0 のUSBDACは複数台接続できないのですかね。

肝心の音ですが、初物、ブラシーボ効果によるものかもしれないけど、随分よくなったと思いました。まだエージングが全くできていない状態ですし、HD-7Aと直接比較できないので、ちゃんとした判断は出来ないのですが、HD-7A は中高音域重視の繊細さ強調された音だったのに対して、こちらは低音域もしっかりした、バランスの良い音に変わったような気がします。弦楽器やピアノなどの楽器の質感も以前よりよく出ているという感じがします。声は以前もよかったけど、より落ち着いて聴ける感じになりました。
ただ、この音の差ですが、USB2.0 にしたからというより、電源部が強化されてDAC部分が威力を発揮するようになったためじゃないですかね。そう考える理由はSPDIF入力でCDの出力を取り出して聴いたとき、HD-7Aでは「ちょっと使えないなぁ」という感想だったのですが、今度は「こっちに切り換えるかな」と感じたから。これだったら単体のDACとしても使えそうだなと思いました。

まあ、正価だと300K円以上するハードなので、数万円のDDCと比較して「そこまでの差があるのかいな」と聞かれると、「個人の価値観の問題なので、なんともいえないなぁ。まあ、それなりDDCとちゃんとしたDACを組み合わせれば、これくらいの値段になるけど」というところですかね。
HD-7Aを持っている方にはこのレベルアップは文句無しにお勧めです。

(PC_Audio)   2011/11/16

コメントする

サーバの移転

しばらく、このページを更新をサボっていましたが、何をしていたかというと、サイトの移転です。
このページ(articles)のサーバの変更はありませんが、プロバイダを変更したため、メインのページ(2008年にリニューアルしたページ)、リニューアル前の旧サイトのページとCGIを置いてあるサーバを移転しました。
新しいサーバはこちら(Symphonic-net.com)です。新しいサイトのアドレス(サブドメイン名)はhttp://mimizukobo.symphonic-net.com/です。

サーバの移転は過去何度か行ったことがありますが、CGIを置いた場所の変更は初めてです。
10年以上前に書いたスクリプトなので「大丈夫かいな」と思いましたが、案外簡単に移行できましたね。変更点は三つだけで済みました。

苦労したのは、三番目のパラメーターの引き渡しの件。これ、perlの仕様が変わったということなのですかね。古いプロバイダの古いヴァージョンのperlではARGV[0]でOKだったのですが、新プロバイダではperlが5.0になっていて、$ENV{‘QUERY_STRING’}にしないと駄目なようです。

掲示板(cgi)についてはここのところスパマーの来襲が激しいので、どう対策するか思案中です。

新サイトのページは以前にここに書き込んだようにMD(マークダウン)という書式で書いているので、テンプレートとマークダウン書式を変換するスクリプトの変更だけで済んだので、移行は簡単でしたね。

書き換えのヴォリュームが膨大だったのは旧サイトのページでCGIを呼び出している部分でした。
旧サイトはかなりの数のページがあって、これを旧プロバイダから新プロバイダに移しました。
数十ページのあっちこっちで直接CGIのURL名を書いているので全部で数百行を変更しないといけない。
まあ、これもエディターの置換機能を利用して一括変換できたので、案外楽でした。
大変なのはリンク先が正しく行われているのかどうかの動作確認。
各ページいくつかのリンクだけ確認で済ませたので修正ミスがあったら、教えていただければ幸いです。

旧サイトから新サイトへのリダイレクト(転送)はここの情報を参考にして「移転告知ページを配置」する方式をとりました。metaタグを使って<meta http-equiv=“Refresh” content=“0;URL=http://新サイトのURL>というやり方をしました。

以上、新サイトへ自動アップロードするスクリプトの動作確認と備忘録をかねた書き込みでした。

(internet)   2011/11/09

コメントする

仲道郁代、有田正広「ショパン:ピアノ協奏曲第1番、第2番」

初演当時の奏法(オーケストラ)と楽器(プレイエル社のピアノ)で演奏したショパンのピアノ協奏曲です。素晴らしい演奏だと思いました。

ショパンファンには申し訳ないが、ショパンのピアノ協奏曲ってピアニスティックな技法だけの空っぽな曲だと思っていたのですが、認識を改めさせられましたね。こんなに繊細で表情豊か曲だったとは知らなかったなぁ(^^;;;。

古楽器によるピアノというと性能の悪いピアノ(ピアノフォルテ)を我慢して弾いているという感じの演奏も多いのですが、これは違います。プレイエル社のピアノは繊細で微妙な表情をよく伝えることができる。現代の楽器だとただピアニスティックな技法をひけらかすだけという部分が、とても表情豊かに聴こえます(仲道さんの演奏が素晴らしいということもあるのだろうけど)。ヴィブラートを排除したオーケストラ演奏とよく合っていますね。ピアノとオーケストラの合奏部分はオーケストラはソロで演奏されているようですが、とても効果的です。

変な感想だけど「シューベルトがピアノ協奏曲を残していたらこんな感じだろうなぁ」と思いました。ショパンが初期のロマン派の作曲家であったことを再認識しました。

SACDマルチチャネルで聴きましたが、バランスの良い、臨場感に富む録音でとても素晴らしかったです。ちょっとパソコンの再生ではたちうちできないという感じでした。

(review)   2011/10/25

コメントする

SSHクラインアントを使い比べる

SSHクラインアント(Tera Term、PuTTY、Poderosa)に関する雑談です。

この三つで一番古いのは Tera Term で、もともとパソコン通信用のプログラムですね。僕も20年近く前にパソコン通信をはじめた頃、使ったことがあり、シンプルで必要十分、とても使いやすいやすいソフトだったという記憶があります。日本で作られたソフトですが、最初からグローバル指向で英語版がメインだったのと、日本のパソコン通信に特化した高機能のソフトが次々と登場したので、常用はしませんでした。今回、Windowsで動く SSHクライアントを検索して、発見。「へえー、まだ健在だったのか」と感心しました。
現在の機能拡張は原作者から引き継いだメンテナンスチームで行われていて、日本語+SSH対応した最新版はここにあります。
簡単にインストールできて、操作方法も簡単で、SSHターミナルとしても問題なく使えます。Copy & Paste もマウスとキーボードの両方で出来て、とても便利。削除キーやバックスペースキーは設定変更すれば普通に使えるし、画面のフォントや色も自由に変えらます。



という次第で最初はこれを使っていたですが、他の二つも試してみましました。

Poderosa は三つの中で一番新しくて、これも日本製ですね。2005年のIPA未踏事業に選ばれて、大幅な機能拡張(このリンク先は参考になります)されまして、機能的にはこれが一番高機能です。例えば、Emacs風にこういうことができます。



我が家の二台の Voyage MPD を同時に繋いで、五画面に分割表示しています。これは便利ですよ。例えば上の画面の右側にコマンド実行結果を表示しておいて、左側で設定ファイルを編集するとか、下の画面に片方のVoyage MPD機の設定内容をEmacs表示して、上の画面のもう一方のVoyage MPD機の設定内容に Copy & Paste する、などということが簡単に出来ます。その他にも、コマンド履歴をポップアップ画面で参照する機能とか、キーボードのカスタマイズ機能などありとても便利です。
まあ、独立行政法人、税金の無駄遣いと責められるけど、こういう具合に役に立つこともしているのですね。
サーバのメンテナンス用だったら、これが一番お勧め。しかし、僕が poderosa を使わない理由はAltキーが Windows のAltキーとして使われていて、Emacsのメタキーとして動作してくれなくなることです。設定で変更できるらしいのですが、ややこしくなるので、PuTTYを使っています。

PuTTY は海外製ですが、日本語対応したたものは、ここにあります。



メニューバーのない、とてもシンプルな画面構成なのが気に入っています。スナップショットのように、画面の上のタイトルが表示されている部分を右クリックすると、メニューが現れ、機能を選べるようになっています。機能面では Tera Term と同じ位のレベルですかね。
僕がこれを使っている理由はシンプルという以外に二つありまして、一つはディフォルト画面が黒の背景に白の文字なこと。「おお、懐かしいなぁ」と思いました。プロプライエタリーの時代か、パソコンの黎明期にコンピュータを使った経験者しかそうは思わないだろうけど、昔のコンピュータは白黒の世界だったのですよね(^^;;;。
もう一つは右クリックで簡単に画面内容をクリップボードにもってこれること。この機能、このサイトの記事を書くのに、重宝しました。他の二つでもいくつかの操作を組み合わせれば、同じことができるのですが、ワンクリックでできるのが便利です。マルチ画面に対応していないのは残念ですが、「セッンションの複製」で同じようなことが出来るので、僕の環境ではこれで十分です。

ところで、以前、息子がパソコンを使っているのを眺めたら、Meadow(EmacsのWindows版)の画面を真っ黒な背景にして、灰色で文字を表示させていました。「お前、まだ若いのに、何でこんなジミな画面を出しているの ? 」と聞いたら、「この方が目に優しいから」というお答え。うーむ、PuTTYのディフォルトの設定はオールドジェネレーションの懐古趣味狙いだけじゃないのですかね(^^;;;。

(computer)   2011/10/15

コメントする

ムンク風三猿


題名の通りです。ちょっと不気味かな。

20年位前、奈良に家族旅行した時、買ったもの。押し入れを整理していたら発見。スピーカの上に置いて飾ることことにしました。

「見ざる、聞かざる、言わざる」というと日光東照宮、日本の専売特許と思いがちですが、ここの情報によれば世界各国にあり、その意味するところは「それぞれの文化によって意味するところは微妙に異なる」のだそうです。そういわれると、この猿、南アジア由来のデザインという気もします。
このテーマ、文化人類学のなかなか面白そうな課題ですが、だれか解明しませんかね。

(others)   2011/10/10

コメントする

Voyage MPD でインタネットラジオ(海外クラシック音楽)

これはシンさんVoila, voila! さんのサイトにやり方は解説されているので、ここでは僕の選んだ放送局をご紹介します。
「/music/playlists」の部分は環境依存。

root@voyage:~# emacs /var/lib/mpd/playlists/MyRadio.m3u
# 民族音楽
# concertzender-orientexpress
http://streams.greenhost.nl:8080/orientexpress
# Darvish
http://207.200.96.228:8078/
#
# グレゴリアン
# concertzender-gregoriaans
http://streams.greenhost.nl:8080/gregoriaans
#
# 中世、ルネサンス
# Ancient
http://ancientfm.com:7066/
# concertzender-oudemuziek
http://streams.greenhost.nl:8080/oudemuziek
#
# バロック
# AVRO Baroquelisten
http://shoutcast.omroep.nl:8068/
#
# 現代
#concertzender-nieuwemuziek
http://streams.greenhost.nl:8080/nieuwemuziek
#
# クラシック(アジア)
# ABC Classic FM 2
http://mp3media1.abc.net.au:8060/classicfm.mp3
#
# クラシック(ヨーロッパ)
# MR3 Bartok Radio
http://stream002.radio.hu/mr3.mp3
# Latvijas Radio
http://lr3mp0.latvijasradio.lv:8004/
# concertzender-klassiek
http://streams.greenhost.nl:8080/klassiek
# MDR(MDR KLASSIK)
http://c22033-l.i.core.cdn.streamfarm.net/22008mdrklassik/live/3087mdrklassik/live_de_128.mp3
# WDR 3(Koeln)
http://gffstream.ic.llnwd.net/stream/gffstream_mp3_w105a
# Linn Classic
http://89.16.185.174:8004/stream
#
# クラシック(アメリカ)
# KUHF(Houston Public Radio)
http://129.7.48.199:80/KUHF-HD2-128K
# VPUB(Central Valley)
http://sc5.sjc.llnw.net:80/stream/vpubradio_kvpr
# KUAT(Arizona Public Media)
http://streaming.azpm.org:80/kuat128.mp3
# WGUC(Cincinnati OH)
http://cpr2.streamguys.net/wguc
# WGBH(Boston)
http://streams.wgbh.org:8006/
#
# ジャズ
# Linn Jazz
http://89.16.185.174:8000/stream
#
# Mozart
# http://classic.radio.hu/mozart/index.php
http://stream002.radio.hu:80/mozart96.mp3
#

これで、MPDクライアントを立ち上げれば、Playlistタブからラジオ局を聴けるようになります。選局の趣味は偏っているかもしれません^^;;;。何で民族音楽からはじまるのだとか(これが一番クラシックな音楽だから)、オーストラリアの放送局がアジアとは何だとか(国際サッカー連盟の基準です)、ジャズの後にモーツアルトとは何事だとか(感覚的にはかなりの共通点はあると思います)、いろいろ批判はあるかと思いますが、全て無視。
コメントで、どういうラジオ局かは分かるとと思います。一つだけ注記すると Darvish というのはダルビッシュ投手ファンクラブではなく(^^;;;、イラン古典音楽のラジオ局です。
「民族音楽~現代」までは以前の記事「インタネット・ラジオ(4)」~「インタネット・ラジオ(7)」で紹介しています。
それ以外のクラシック局についてはここを参照(情報は2年前なので古いです)。

各局でどういう放送をしているかも「mpc playlist」表示で分かります。

root@voyage:~# mpc playlist
Oriënt Express: Oriënt Express (vr 30 mei 03:00)
RadioDarvish.com - Persian Traditional Music - HiFi: Golpa - Gole Eshgh - 05 - Rastpanjgah
Gregoriaans: De duif van Gregorius (vr  2 feb 00:00)
Ancient FM - www.ancientfm.com: Altramar Medieval Music Ensemble - Crossroads of the Celts - May Song
Concertzender Oude Muziek: Missa plus (do 31 mei 22:00)
AVRO Baroque Around The Clock: Jan Dismas Zelenka - Yukari Nonoshita, Bach Collegium Japan, Masaaki Suzuki - Magnificat in C ZWV107 (BIS-CD-311011)
Concertzender Nieuwe Muziek: Nieuwe Muziek Actua (ma 16 okt 18:00)
http://mp3media1.abc.net.au:8060/classicfm.mp3
MR: Muzsikalo Reggel - A mikrofonnal Mohai Gabor
Klasika
Concertzender Klassieke Muziek: Klassieke Zaken (wo  3 nov 19:00)
MDR Klassik
WDR3 © Westdeutscher Rundfunk Köln 2011
Linn Classical: Alexei Lubimov - Premier impromptu op.90 D899 Allegro molto moderato en ut min [18Z]
KUHF Classical
Unnamed Server
KUAT Classical from Tucson, AZ: Classical24 Programming
90.9 WGUC
All Classical WGBH: WGBH
Linn Jazz: Claire Martin - Promises [9Q]
Mozart: K_406_-516_b-_C-moll_vonosotos_-_III_Menuetto_in_Canone

他にもお勧めの放送局はあるのですが(上のURLを見て下さい)、Adobe Flash Player を使っているため、ストリーム情報のURLが分からないのですよね。取り出す方法をご存じの方、教えて下さい。

P.S. NHK-FMもようやくインタネットラジオをはじめたようですね。VoyageMPDでは聴取できませんが、Windowsで聴いてみました。
酷い音です。オーディオにこだわらない普通の耳でも歪んでいると分かるレベル。ちょっと音楽番組を聴こうという気にはならない。上記の海外の放送局と比較すると雲泥の差です。
規制と保護に守られた日本のマスメディア、完全に海外に対して立ち遅れてしまいましたね。

(PC_Audio)   2011/10/02

コメントする

青柳いづみこ「グレン・グールド 未来のピアニスト」

青柳さんは現役バリバリのピアニスト。著作活動も活発に行っていて、「翼のはえた指」は傑作です。
で、この新著ですが、何故、グールドがコンサート・ドロップしたのかを解明した本です。素晴らしい内容です。目次が非常によく出来たレジメになっていて、これだけで、だいたい何が書かれているか想像できます。

はじめに コンサート・ドロップアウト
      --同業者の目からグールドを見ると
第1章 彼はどのような点で天才なのか
      --楽譜をみたらすぐに弾ける、練習しなくても弾ける
第2章 彼はどのようにしてデビューしたのか
      --競わずにナンバーワンになる法
第3章 踊る祈祷師のレコード・デビュー
第4章 彼はどんなふうにしてピアノを弾いたか
第5章 彼はどのように教育されたか
      --ディヌ・リパティとの対比において
第6章 僕は神童ではなかった
      --少年時代の録音から
第7章 1955年という年 Ⅰ
      --演奏スタイルの変遷と時代の耳
第8章 1955年という年 Ⅱ
      --ロマンティックからクール・スクールへの変貌
第9章 アポロン派とディオニュソス派
      --さらにワンクッショション、ロマン斬り
第10章 彼はどのようにして演奏活動を耐え忍んだか
第11章 彼はどのようにして演奏活動から撤退したか
第12章 そして、ここからグールドが本当のグールドになる
第13章 オズの魔法使いとエメラルドの都
       --実演とスタジオ録音の違い
第14章 二倍速の共犯者
第15章 「ボクは作曲家になりたかった」
第16章 運命の動機
       --変わるものと変わらないもの
第17章 グールドの歌声
第18章 受肉の音楽神
       --結局、彼は何ものだったのだろうか?
終章  未来のピアニスト

しかし、これだけじゃ、あんまりなので、多少補足すると。

というところです。興味深く読みました。

(review)   2011/09/25

コメントする

PCリモコン(loadkeysの使い方)(4)

loadkeysの使い方をググってみたのですが、日本語の情報では以下の二つのサイトがお勧めです。

linux-keyassign-pseudoHOWTO
個人のサイトで10年位前に作成されたページですが、分かりやすく説明されていますのでお勧め。loadkeys関連の技術は10以上前に確立し、変わっていないということです。
Linux Backspace/Delete mini-HOWTO
ご本尊のmini-HOWTOの日本語訳。上記サイトのリンクが切れていたので、新しいやつを探しました。これも10年以上前に書かれた資料です。丁寧に説明されているのですが、いわゆる典型的なLinux風ドキュメントなので、OSにある程度の知識のある方でないとチンプンカンプンかもしれませんが(^^;;;。

上記二つのリンク先を読んで頂ければ、loadkeysの使い方については理解できると思います。従って、ここでは Voyage MPD でキーボードインタフェースのリモコン(特殊キー)を使う時の方法に絞って解説します。

loadkeys とは

様々な配列のキーボードに対応するための機能です。loadkeysによりキー配列の定義テーブルを読み込み、キー配列を自由に設定することができます。この自由な設定が可能という機能を利用し、キーボードインタフェースのリモコンをコントロールすることができます。

インストール方法

Voyage MPD にはloadkeysを動かすのに必要な console-common は入っていませんので、インストールする必要があります。インストール方法はこちらを参照して下さい。
loadkeys だけ使うのであれば console-data は不要かと思いますが、どうせだから入れておきましょう(日本語キーボードをvoyageで使う時には必須です)。

loadkeysの使い方

上記リンク先に情報はありますので、ここではPCリモコンの設定で行っている方法を解説します。

mykeyというリモコン用のキーマップを追加登録して対応するという方法をとっています。
keymapの書式についてはman keymapを参照して下さい。
mykeyの設定ですが、冒頭の

# Global setting
# Set Windows_key = Alt
keycode 125 = Alt

というのは、最下段の Windows + x となっている三つの複合キーを利用するためのテクニックで、これで Windows x となっているキーを alt x で利用できるようになります。
文字コードの設定は直接記述する方法(通常のキー定義)と仮想ファンクションを定義して文字(コマンド)を記述する二つの方法を使いわけています。
直接記述する方法は簡単で

# yellow alt+ctrl+32(d)+5(4)
control alt keycode 32 = q

式の右側に発生するコード、左側に変換したいキーを書きます。
左側は文字キーか複合キーを指定できます。複合キー(CTRL+U)の例。

# open(ctrl + o(24)) Start a music database update
control keycode 24 = +Control_u

次に仮想ファンクションを使う方法

# mail 155 login
string F155 = "root\n"
keycode 155 = F155

まず、stringを使い、仮想ファンクションを定義して、それに通常のキー定義をするという方法です。
通常のキー定義との違いは文字列(string)を指定できること。コマンドの入力などはこの方法を使います。また通常のキー定義では式の右側に特殊キーや数字を書けないので、これらのキーを使う場合もこの方法をとります。

# |<(prev) 165 Previous track
string F165 = "<"
keycode 165 = F165

ただし、仮想ファンクションを使った方法では複合キーの指定はできないので、二つの方法をボタンの使い方で使いわけるということになります。

(PC_Audio)   2011/09/11

コメントする

Concerto Palatino の演奏会

海外の演奏会をインタネットで視聴できるのは今では当たり前ですが、これは特に素晴らしかったのでご紹介します。
オランダのユトレヒトで開催中(もう終わったのかな)の2011年古楽フェスティバルにおけるヤコブ教会での Concerto Palatino の演奏会(9月1日)のライブ映像です。

フェスティバルの今年のテーマは「永遠の都・ローマ」。テーマに合わせてパレストリーナとフレスコバルディを特集した演奏会です。演奏が素晴らしい。


画面をクリックすると二時間位の一晩の演奏会を丸ごと見て、聴けるページにいけます。Concerto Palatino の雰囲気にあふれる演奏をお楽しみください。

オランダのradio4という放送局の番組のようですが、こういう凄い音源をバンバンYouTubeに放出しちゃうのですね。太っ腹だなぁ。日本の放送局も見習ってほしいものです。

(others)   2011/09/06

コメントする

Voyage MPD 0.75 の24bit再生の問題点

以前、書いたことがありますが(Voyage MPD 0.75)、Voyage MPD は0.75になって、組み込みの MPD 0.16.2 は sndfileオプションが有効に変わっています。このため、24BitのDAC(DDC)を接続するとは無音となってしまうという問題が発生します(問題の内容についてはMPDの最新版をビルド(2)を参照して下さい)。
この件、コマーシャルな製品でも問題になっているようで、ここの記事に書かれているトラブルは間違いなくこの問題ですね。

記事ではalsaの障害のように書かれていますが、不正確で、正しくはsndfileの問題です。また正しい解決方法も、音質を劣化させず、hw指定でwavフォーマットを再生するには、MPDのsndfileオプションが無効になるよう、MPDをコンパイルし直すか、mpd.confを書き直すということになると思います(詳しくは上記のリンク先の記述を参照して下さい)。

(PC_Audio)   2011/09/05

コメントする

PCリモコン(操作説明)(3)

以下、備忘録代わりにリモコンのボタンの並びからみた操作説明です。

最上段 ログインと終了 
  赤(P-Off)   使用不可 
  E-MAIL      root 
  WWW         パスワード 
  CLOSE       poweroff 

二段目 起動と終了
  緑          ncmpc -c 
  オレンジ    top 
  青          exit 
  黄          q 

CD関連キー(右のマウス関連キーは使用不可) 
  |<(prev)    previous track 
  >|(next)    next track 
  <<(fb)      feed backward 
  >>(ff)      feed forward 
  >||(pause)  pause 
  □(stop)    stop 

Volume関連キー 
  FullScreen  play 
  Mute        clear 
  VolumeDown  volume down 
  VolumeUp    volume up 

Basicキー(Windows → ← ESC は使用不可) 
  Tab         next screen 
  Up          up 
  BackSpace   select 
  Enter       enter, play 
  PageUp      page up 
  Open        db update 
  Down        down 
  PageDown    page down 

最下段 メニュー選択
  NUMLOCK     使用不可 
  Alt+Tab     help(1) 
  Windows+e   playlists(2) 
  Windows+d   browse screen(3) 

考え方としては、上段の二つはlinuxの操作、CD関連キーとVolumeキーは音楽の操作、Basic関連キーはそのまま、最下段はスクリーンメニューの選択という割り当てにしています。

(PC_Audio)   2011/09/04

コメントする

PCリモコン(Ncmpcの設定)(2)

Ncmpcについては以前、Ncmpc(ターミナルで動作するMPDクライアント)に書きましたのでそちらを参照して下さい。

Ncmpcの設定ファイルは以下の通りホームディレクトリに設定されます。

~/.ncmpc/keys
~/.ncmpc/config

それぞれのサンプルファイルがビルド用ソースのtarボールに入っています(/doc/keys.sample /doc/config.sample)。 configのサンプルファイルにディフォルトの内容がコメントアウトされて記述されていますので、ディフォルト以外にしたい行をコメントインして書き換えればいいです。
指定できる内容は Connection、Interface、Display、Colors に関する設定です。
僕はタグを使っていないのでディスプレイ関係の設定を以下の通り変更しています。

list-format = "%shortfile%"
status-format = "%shortfile%"

keysのサンプルファイルはキーコードがよく分からないので、サンプルファイルを直接書き換える方法がとれません。Ncmpcを立ち上げ、K で呼び出せる Key bindings の設定画面で変更します。



↓↑キーを使ってキーバインドを変更したいファンクションまで移動。改行。





こういう画面がでますので、↓↑キーを使ってカーソルをを変更したいキーに移動します。
削除したければdel、変更、追加したければ改行。

変更、追加の時は最下行に指定したいキーを押すよう指示されますので、その通り操作。

Enter new key for bottom:

指定したキーが使われている時は下記のエラーメッセージが出ますので対応するファンクョンに移動し、該当するキーを削除すれば、いいです。

key q is already used for quit

最後にKで表示されるメニュー画面の最下行に移動して、改行。設定した内容を保存、有効にします。




しかし、GUIの説明って面倒なものですね。たかだかこの程度のことを紹介するのに3画面も必要とは。やってみると簡単だと思います。
事前にいくつかのキーの既に設定されている内容を削除する必要があります。

stop               bs
volume-up          right
volume-down        left
lyrics-interrupt   esc

esc は多分削除不要だと思いますが念の為。
PCリモコンのボタンは以下の通り設定しました。

select         bs
go-root-directory    right
go-parent-directory  left

prev next pause stop up enter down PGUp PGDown はそのまま使う。
~/.ncmpc/keysは変更された内容だけ書き込まれるようで、以下の通りとなりました。

## Key bindings for ncmpc (generated by ncmpc)

## Stop
key stop = 's'

## Increase volume
key volume-up = 43

## Decrease volume
key volume-down = 45

## Select/deselect song in playlist
key select = 32,  263

## Go to root directory
key go-root-directory = 33,  261

## Go to parent directory
key go-parent-directory = 34,  260

## Interrupt action
key lyrics-interrupt = 0

これで、CDディレクトリの選択から、選曲、演奏まで完全にリモコンだけで行えますので、便利ですね。
GUIを使わず、簡単に設定するには

mkdir .ncmpc
emacs ./.ncmpc/config
emacs ./.ncmpc/keys

でそれぞれ上記内容をペーストすればいいです。

(PC_Audio)   2011/09/04

コメントする

PCリモコン(loadkeysの設定)(1)



Ncmpcをコントロールするため、シンさんが紹介されているPCリモコン(RW-PCM37BK)をgetしました。
日本だと倍近い値段というのは、ちょっとためらいましたが、背に腹は変えられない(^^;;;。まあ、FEDEX使えば、同じくらいの値段になるだろうと理屈をつけて(イソップ童話のキツネと同じレベルですね ^^;;)、amazonのボタンをクリック。次の日に着きました。

繋いでみて分かったのですが、これUSB接続のキーボードとマウスとして認識されるのですね(シンさんのサイトにちゃんと解説されています)。


という訳でlircで使うつもりだったのですが、作戦変更。Loadkeysで使うことにしました。従って、以下の内容は「apt-get install console-common console-data」してあることが前提です。
LoadkeysについてはVoyage MPDの使い方(13)の「テンキーボードでMPDをコントロールする」とVoyage MPDの使い方(4)の「Voyageで自動ログオンする方法」という記事を参照して下さい。
まず、「showkey」でコードを確認します。確認した内容は後述の/etc/mykeyのコメント欄にあります。
電源断、CDキー右のマウス関連のキー、NumLockはLoadkeysでは使えないようなので、無視します。
どう設定するか、思案しましたが、最終的に以下の通りとしました。


/etc/mykeyの内容

最初の三行はWindowsキーをAltキーにするための設定です。以降は全て、仮想のファンクション(F99 or F999)が文字(列)を生成し、その仮想のファンクションに対してキーコードを設定するというコードの連続です。コードがリモコンのどのボタンと対応しているかはコメントで表記してあります。

# Global setting
# Set Windows_key = Alt
keycode 125 = Alt
#
# menu buttons
# poweroff unable to use
# mail 155 login
string F155 = "root\n"
keycode 155 = F155
# www 172 password
string F172 = "xxxxxxxx\n"
keycode 172 = F172
# close  Alt F4(62) -> poweroff
string F62 = "poweroff\n"
alt keycode 62 = F62
#
# color buttons
# green  alt+ctrl+30(a)+2(1)
string F30 = "ncmpc -c\n"
control alt keycode 30 = F30
# orange alt+ctrl+48(b)+3(2)
string F148 = "top\n"
control alt keycode 48 = F148
# blue   alt+ctrl+46(c)+4(3)
string F46 = "exit\n"
control alt keycode 46 = F46
# yellow alt+ctrl+32(d)+5(4)
control alt keycode 32 = q
#
# CD buttons
# |<(prev) 165 Previous track
string F165 = "<"
keycode 165 = F165
# >|(next) 163 Next track
string F163 = ">"
keycode 163 = F163
# <<(fb) alt+ctrl+48(b)+105(<-) Seek backward
control shift keycode 48 = b
# >>(ff) alt+ctrl+33(f)+106(->) Seek forward
control shift keycode 33 = f
# >||(pause) 164
keycode 164 = P
# stop 166
keycode 166 = s
#
# volume set buttons
# full screen ctrl+alt+CR(28)+3(2) Play
control alt keycode 3 = p
# mute 113 Delete song from playlist
keycode 113 = c
# volume down 114
string F114 = "-"
keycode 114 = F114
# volume up 115
string F115 = "+"
keycode 115 = F115
#
# basic buttons
# windows(125) esc unable to use
# tab up right enter left down backspace pageup pagedown used in native codes
# open(ctrl + o(24)) Start a music database update
control keycode 24 = +Control_u
#
# NUMLOCK unable to use
# Windows control keys
# alt + tab(15) help
string F15 = "1"
alt keycode 15 = F15
# windows + e(18) playlists
string F18 = "2"
alt keycode 18 = F18
# windows + d(32) Browse screen
string F32 = "3"
alt keycode 32 = F32

何をしようとしているかはコメントとコードで分かると思います。コメントでは説明できなかったことを補足します。

設定したキーコードを有効にするには「loadkeys /etc/mykey」か、 /etc/rc.local の内容「/usr/bin/loadkeys /etc/mykey」を確認して reboot。
生成したキーコードは Ncmpc の Key bindings 機能を使って登録します。
引用が長くなったので、ncmpc の登録方法については次回に。

(PC_Audio)   2011/09/03

コメントする

Voyage MPD 0.75 with RT Kernel(11)

Threaded interrupt handling question in RT kernel

Linux RT Usersの記事ですが、RTパッチの作者Gleixnerさんが回答していて、なかなか面白いやりとりですね。

threaded interrupt handlers を使ってハード割り込みを処理するデバイスハンドラの作り方に関連するもので、簡単に紹介すると、

デバイスハンドラ内の個々の割り込み処理するスレッドが優先度が高いものと低いものに分かれる時、優先度の高いスレッドは優先度の低いスレッドが動きはじめるまで処理を待たされることになる。従って、個々の割り込み毎にスレッドを分けるのは得策ではない(優先度の一番低い割り込みに合わされることになるので)。
RTカーネルは最初からデバイス毎に割り込み処理を分けるというOSの仕組み(general facility)を使っているので、この問題は解決されている。
新規にデバイスハンドラを作成する場合、request_threaded_irq() 機能を使って割り込みをコントロールすべきである。
- コントロールするデバイスにレベルの優先度の低い割り込みが発生しないかどうかチェックして、
- あるならば、デバイスの割り込みを一旦無効にして、
- IRQ_WAKE_THREADによって割り込みが発生するまで待つ
という構成にすべきである。
デバイスの割り込みを無効にする(WAKEされるまで待つ)ことによって、同じ割り込み番号を使う他のデバイスの処理を行うことが可能になる。従って、割り込み番号を共有するデバイスのデバイスハンドラは threaded interrupt handlers 環境において、request_threaded_irq() 機能を使って割り込みをコントロールするべきである。カーネルの優先度の管理にまかせると、優先度の高い処理が優先度の低い処理に邪魔されるという状況が発生する。

例えば僕の環境だと

 16:       5081   IO-APIC-fasteoi   uhci_hcd:usb5, eth0
 18:          0   IO-APIC-fasteoi   uhci_hcd:usb4
 19:       1888   IO-APIC-fasteoi   ata_piix, uhci_hcd:usb3
 23:       8305   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2

という具合に割り込み番号は共有されていますから、この問題、無関係ではなさそうですね。まあ、LANとUSB Audioは分かれているので、問題はなさそうだけど。

(PC_Audio)   2011/08/27

コメントする

掲示板のアドレスを変更しました

掲示板のアドレスを変更しました。
古いアドレスの内容はリードオンリーとなりますので、よろしくお願いします。
過去の書き込み内容は新しいアドレスでも見ることが(コメントすることも)できます。

変更した理由はロボット型の掲示板スパマーへの対応のためですが、以下の二つのサイトの情報に助けられました。

みんなのスパム対策
掲示板用アンチスパムライブラリ BBSantispam

貴重な情報を公開されていることに感謝します。

p.s. 元のCGIは画像認証方式をとりHTML表示も暗号化されているので、大丈夫かなと思っていましたが、やぶられているようですね。残念。
という次第で上記のサイトの情報を参考にしてリンクをダイナミックに変更する方式にしました。
上記のサイトのライブラリは僕のプロバイダではそのまま使えないので、結局、perlスクリプトを改造しました。perlのプログラミングなんて十数年ぶりだけど、なんとかなるものですね。

(internet)   2011/08/24

コメントする

Voyage MPD 0.75 with RT Kernel(10)

まさかこのタイトルで10回も書き込みをするとは思わなかったなぁ(^^;;;。

atom専用configですが、以前公開したものからかなり変わってしまったので、最新版をこちらで公開しました。 rtパッチは既に rt11 になっていますが、公開されて一月近くたちましたので、だいぶ安定してきたようですね。最新のrt11ではconfigで特に暫定の回避措置をとらなくても、問題なく安定して動くようになりました。
atom専用configはシンさんのalix版に負けじと余分な機能は削除しまっくています(^^;;;。debファイルのサイズは汎用版と比較すると60%以下になります。起動時のプロセス数、メモリサイズなどは汎用版と比較して大きい差はありませんが、音は専用版の方が良い(特にrtパッチをかけたkernelの場合)と思いますので、atomユーザにはこちらをお勧めします。rt11以降でお使いください。

「カーネルビルドなどという神をも恐れぬ仕業はやってはならぬ」という方々のために、最新 3.0.1 + rt11 の debファイルを公開しました。こちらは通常の dpkg -i でインストールできますので、よろしければ、お試し下さい。
「atom専用」というのは最近のシンプルな構成のintelマシン向けにチューニングしたという意味です。従って、atomマシンでなくても条件があえば(Pentium 1GHz以上で、sata接続のdisk起動しているシステム)、動くと思います。
どんな内容かは menuconfig した結果を汎用版と比較して解説していますので、ご確認いただけると思います。

p.s. いろいろやってみての感想ですが、専用化のための機能の削除は、ともかく小さくと考え、無闇と削除すればいいというものでもなさそうですね。例えばマルチcpu化のためのsmp機能ですが、僕の環境では削除すると鮮度はましますが、ちょっとギスギスするという感じになります。ビルド時は有効にしておいて、ブートパラメータでシングルcpuを指定するという方法をとっています。他にも同じような項目(scsi、sata など)がいくつかあったので、公開版はそれらの機能は削除しない内容にしています。
まあ、このあたりは再生環境にもよると思いますので、いろいろ試してみるしかなさそうですね。

(PC_Audio)   2011/08/18

コメントする

Voyage MPD 0.75 with RT Kernel(9)


前回の写真の10日後にこうなっちゃったという証拠写真です。
全部で12個のカーネルをよりどりみどり選べます(^^;;;。



四つのパーティションにそれぞれ三つカーネルが置いてあって

/dev/sda3 XFS
atom専用configによる 3.0.1 + rt8
atom専用configによる 3.0.1
Voyage MPD 0.75 (2.6.38)
/dev/sda1 ext2
内容は上記(/dev/sda3)と同じ
/dev/sda2 ext2
汎用版configによる 3.0.0 + rt3
汎用版configによる 2.6.39.4
Voyage MPD 0.70 (2.6.33. + rt)
/dev/sda4 XFS
内容は上記(/dev/sda2)と同じ

となります。
僕のお気に入りは上の二つ(atom専用カーネルのXFS)。ほんとに素晴らしい音がしますね。

ファイルシステムのXFSへの変更方法についてはシンさんのサイトに情報がありますので、そちらを参照して下さい(素晴らしいTipsに感謝です)。
僕のatom環境は上記したようにマルチブートなので、多少やり方は変えています。コマンドだけ列挙しておきます。

# /dev/sda3をXFS化する。/dev/sda1、/dev/sda2はインストール済。
# /dev/sda2でブート
mkdir /mnt/sda1 /mnt/sda3          # マウントポイントの作成
apt-get install xfsprogs xfsdump   # xfs コマンドツールのインストール
mkfs.xfs -f /dev/sda3              # xfs ファイルフォーマット
mount /dev/sda1 /mnt/sda1          # コピー元をマウント
mount /dev/sda3 /mnt/sda3          # コピー先をマウント
cp -av /mnt/sda1/* /mnt/sda3       # 丸ごとコピー
# SuperGrub を使いコピー先のパーティションにgrub情報(sda3)を書き込み
# reboot後
ps aux | grep xfs                  # xfs プロセスの動作を確認
df -T                              # xfs フォーマットの確認

ポイントはコピーするパーティションでないパーティションでブートすること(sda1->sda3だったら、sda2でブート)。間違えるとリカーシブなコピーとなるので、悲惨な結果を招くと思われます(^^;;;。

grub情報の管理は /etc/default/grub で行うのが便利です。このあたりの情報は Voila, voila! さんのサイトに最近追加された情報に詳しいので、そちらを参照して下さい。
ここでは、Voila, voila! さんのサイトには書かれていない情報を一つだけ追加しておきます。

#GRUB_DISABLE_LINUX_RECOVERY="true"

この行をコメントインすると、写真のようにリカバリモードでの起動メニューを表示しないようにさせることができます。

p.s. grubについては他にもTipsがあるのですが、ちょっと、ややこしく、危険な話題なので、気が向いたら(^^;;、稿を改め、書きます。

p.p.s. カエルと共にrtパッチも進化するというわけじゃないだろうが(^^;;;、rt9が出ていますね。

 - fixes so that PREEMPT_LL and PREEMPT_RTB kernels actually build
   and boot, thanks to Tim Sanders for persisting on that.

あまり音には関係なさそうですが、まあ、試してみますかね。

(PC_Audio)   2011/08/13

コメントする

今日のカエル(2)


このカエル、完全に家の庭に住み着いたようです。今日は芝生の上で発見。
カエルの視点でいうと大草原(というほど広くないが)ということになるのですかね(^^;;;。



フラッシュをたいたら、珍しく反応してジャンプ。20センチ程飛びました。サイズと体重を考慮すればなかなかのパフォーマンスです。まあ世界陸上には出られそうもないけどね。



(others)   2011/08/12

コメントする

Voyage MPD 0.75 with RT Kernel(8)

RTパッチの作者のGleixnerさんは2週間パソコンも携帯も使えないサマーキャンプに行っているはずですが、その間も残った開発グループの面々でパッチの更新は続いているのですねぇ。

ANNOUNCE 3.0.1-rt8

Since yesterday is old, and yesterday's kernels aren't interesting,
here's a fresh one: 3.0.1-rt8.

だそうです。kernel本体の安定版(3.0.1)がリリースされたので、負けじとrt7リリースの翌日にrt8を出したようです。リリースノートに

- and a fresh raw_spinlock_t conversion of cpufreq_driver_lock, done
  just minutes before releasing this, to keep life interesting.

とあるので、興味をもち、試してみました。
例によってとても不安定で、Voyageの標準のconfigではコンパイルは正常終了しますが、ブートできません。atom専用版では、何とかOK。
音は上記の内容が効いているのか、随分変わりましたね。とてもよくなったと思います。解像度がかなりアップ。リアルさがまるで違うという感じです。
ただし、かなり不安定ですので、試される方は覚悟の上でどうぞ。

p.s. kernelの 3.0.1 は、御本尊のサイトでStableと太鼓判を押しているだけあって、安定しています。音も良くなったと思いますので、こちらはお勧めです。

(PC_Audio)   2011/08/09

コメントする

Voyage MPD on Vmware Player(3)


Windows 7 上でVmware Playerを使って Voyage MPD と Ubuntu を立ち上げ、ubuntu側の音楽ファイルを Voyage MPD の ncmpc で再生しているスナップショットです。なかなかシュールでしょ(^^;;。



カーネルコンパイルできる開発環境を作って、コンパイルしてみます。楽をするため、すべてssh接続で行います。

必要なパッケージをインストール

apt-get install aptitude libncurses5-dev
aptitude install kernel-package fakeroot lzma
aptitude
apt-getに代わるライブラリの管理ツール。
libncurses5-dev
cursesのライブラリ、menuconfigに必要です。cursesってなんだという方はググって調べて下さい。
kernel-package
これでgcc makeなどカーネルのコンパイルに必要なライブラリ一式まとめてgetできます。
fakeroot
名前の通りです。「俺はrootでしかログインしない」という方には無用の長物。
lzma
何故かdebianはkernelをこれで圧縮するので必要です。

/usr/src/に移動して、ソースとコンフィグをダウンロード。
コンフィグはvoyageの開発用サイトから、ソースはLinuxカーネルの御本尊から頂戴します。

cd /usr/src/
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2
wget http://mirror.voyage.hk/download/kernel_config/config-2.6.38-voyage_9.0-1

ソースを展開。展開したフォルダーに移動。

tar xjf linux-2.6.39.3.tar.bz2
cd linux-2.6.39.3

コンィグを変更(USBオーディオを有効に)

cp ../config-2.6.38-voyage_9.0-1 ./.config
make menuconfig
 Device Drivers  --->
   < M > Sound card support  --->
      < M >   Advanced Linux Sound Architecture  --->
         [ * ]   USB sound devices  --->
            < M >   USB Audio/MIDI driver

make-kpkgを実行。
kernel_image はカーネルのブート用モジュールなので必須。
kernel_headersはなくてもいいですが、カーネルコンパイルするからには作っておいた方がいいでしょう。

make-kpkg clean
make-kpkg --initrd --revision=voyage.2.6.39.3 kernel_image kernel_headers

あとは出来上がったdebファイルを音楽専用機に移して、

dpkg -i *.deb

で導入できます。
音楽専用機とのファイルの交換は玄柴NASを使います。このため、以下の通りfstabを設定。

nano /etc/fstab
次の行を追加
//192.168.0.35/CD /music1 cifs username=yo,password=,uid=root,file_mode=0666,dir_mode=0766,iocharset=utf8 0 0

ipアドレス、共有名、マウントポイントなどは環境に合わせて変更して下さい。
音楽専用機側で古いヴァージョンの削除は

apt-get remove --purge linux-image-ヴァージョン番号(例 2.6.39.3)

で出来ます。

3.0 に rt3 のパッチをかけたカーネルを作るのであれば、

cd /usr/src/
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz2
wget http://www.kernel.org/pub/linux/kernel/projects/rt/older/patches-3.0-rt3.tar.bz2
wget http://mirror.voyage.hk/download/kernel_config/config-2.6.38-voyage_9.0-1
tar xjf linux-3.0.tar.bz2
cd linux-3.0
make-kpkg clean
cp ../config-2.6.38-voyage_9.0-1 ./.config
bzcat ../patches-3.0-rt3.tar.bz2 | patch -p1
make menuconfig
## Processor type and features -> Preemption Model -> Fully Preemptible Kernel (RT) 
## Select USB Audio/MIDI driver (refer to previous chater)

make-kpkg --initrd --revision=voyage.3.0.0 kernel_image kernel_headers

となります。以降は 2.6.39.3 といっしょです。

簡単でしょ。これでWindowsユーザにとって禁断のLinuxカーネルコンパイルがWindowsマシンで出来てしまいます。処理時間もAtom機だと1時間半から3時間かかるものが40分くらいですみます(最新のハードだともっと速いでしょう)。便利な世の中になったものですね。

p.s. ubuntuに置いた音楽ファイルをVoyage MPDで再生する方法

上のスナップショットは、掲示板でのyanamさんとのやりとりで、問題になったトラブルを解決させたものものです。ubuntuに置いた音楽ファイルをVoyage MPDで再生しています。
簡単に手順を書いておくと

ubuntu側の操作


以下は ubuntu 11.4 日本語版の場合です。

(1) 音楽ディレクトリの準備

端末を立ち上げて

mkdir /home/hoge/mymusic

/home/hoge/mymusicに音楽データをコピー

(2) sambaのインストールと設定

sudo apt-get install samba

sudoはパスワードを聞いてきますので、入力(以下全て同じ)。
smb.confの編集、いろいろやり方はありますが、端末からnanoを使ってやるのが簡単です。

sudo nano /etc/samba/smb.conf

Authentication に

   unix password sync = yes

という行がありますので、コメントアウト

#   unix password sync = yes

パスワードを指定したいという場合はオリジナルのままにしておいて、Voyage MPD 側の /etc/fstab の設定でパスワードを指定して下さい。

ファイルの終わりに共有したいディレクトリを追加

[music]
  path = /home/hoge/mymusic
  writable = yes
  guest ok = yes

hogeはユーザ名です。

(3)ユーザの登録

これはGUIでやった方が楽です。

システム -> システム管理 -> ユーザーとグループ 

適当なユーザ名を追加して下さい。Voyage MPD 側のsambaサーバの接続に使います。
以下、hogehogeとしたとします。

(4)ファイル共有の設定

これはubuntuが独自にファイルの共有の管理をしているので必要です。GUIで 場所 -> ホーム・フォルダー でホームディレクトリを表示させ、mymusicを右クリック、プロパティを選ぶ。共有タブを選択。
共有を指定(選択可能な三箇所を全てマーク)。確認のダイアログが出てくるので、実行。

(5)sambaの再起動

端末に戻って

sudo service smbd restart
sudo service nmbd restart

古いヴァージョンだと「sudo /etc/init.d/smb restart」になります。
しかしGUIとCUIの入り交じった操作の解説って大変ですね。これじゃ、kernelのコンパイルより大変(^^;;;。

Voyage MPD側の操作

こちらはCUIだけなので比較的簡単です。mpd.confの設定はディフォルトままと仮定します。

mkdir /music-ubuntu
nano /etc/fstab
次の行を追加
//192.168.12.130/music /music-ubuntu cifs username=hogehoge,password=,uid=root,file_mode=0666,dir_mode=0666,iocharset=utf8 0 0
保存して
mount -a
ln -s /music-ubuntu /var/lib/mpd/music

「192.168.12.130」という部分はipアドレスです。ifconfigにて確認して、設定して下さい。 これでめでたくubuntuの音楽ファイルを再生できるはずです。
vmware を使うと、こういう具合に一台のWindowsマシンの中で複数台のLinuxマシンを仮想で立ち上げテストするということが、簡単にできるわけです。便利ですよ。

(PC_Audio)   2011/08/07

コメントする

Voyage MPD on Vmware Player(2)

初期設定ですが、これも通常の初期設定と基本的には同じです。 ただ、Vmwareではサウンドはwindows上のディフォルトのデバイスをES-1371に見立てて使用するという方式をとっています。このディフォルトのデバイスを使うということであれば、Voyage MPD の mpd.conf はまったく変更無しに使えます。したがってWindowsで音が出る環境ならば、仮想マシンで音を出すのは簡単です。

Windows側でミュージックデータの入ったUSBメモリを用意し(パソコンから外しておきます)、仮想マシンを立ち上げます。

USBメモリの仮想マシンへの組み込み

USBメモリを差し込むと


という画面が表示されます。ガイドに表示される通り、仮想画面上段のステースバーから「仮想マシン -> 取り外し可能デバイス -> USB2.0 FlashDisk」を選択(クリック)して下さい。
選択後「df」と入力すればUSBメモリが /media/usb0 と組み込まれていることが確認できます。

USBメモリをMPDミュージックディレクトリにリンク、ncmpcを起動


以下のコマンドを入力(USBメモリ上のミュージックディレクトリ名は/musicとします)。

remountrw
ln -s /media/usb0/music/ /var/lib/mpd/music/
ncmpc

remountrw というのは voyageはログオン直後の状態ではリードオンリー状態ですので、それを解除するための呪文です。
「ln -s」というコマンドはUSBメモリをMPDミュージックディレクトリにリンクするためのものです。
ミュージックDBの更新は入門用にはGUIでやるのが簡単だと思いますので、ncmpcを使います。

ミュージックDBを更新


ncmpcが起動されると、こういう画面(プレイリスト)が表示されますので「CTRL + u」(コントロールキーを押しながらuキーを押す)。
DB更新がはじまるまで数秒まって、数字の3キーを押し、改行。データベース画面に移ります。あとは上下のカーソルキーと改行キーでディレクトリを順に選んでいきます。

ミュージックデータを選択


再生したいCDのディレクトリに、上下のカーソルキーを使い移動し、スペースキーを押します。これで選択したディレクトリの音楽ファイルがプレイリストに展開されます。

ミュージックデータを選択


数字2キーを押し、改行。プレイリスト画面に戻ります。上下のカーソルキーを使い再生したい曲に移動します。改行キーを押すと曲の再生が開始します。
再生の停止はsキー、一時停止はPキーです。ncmpcの終了はqキーで出来ます。

コマンドラインからの入力は上記の二つだけです。あとは一応全部GUIで出来ます。簡単でしょ。
前回のインストールでもコマンドの入力は六つでしたから、全部で八つのコマンドとあとはガイド画面に対応したキー操作で Voyage MPD の世界を体験出来ることになります。
世評では「Voyage MPD はLinuxコマンドラインの世界。動かすのが大変」といわれますが、vmware player で試していただければ、操作そのものは意外に簡単だということがお分かりかと思います。


数字1キーを押すと、ショートカットの一覧(ヘルプ)を表示することができます。ヘルプ画面内では上下カーソルキーやPageUp/Downで移動できます。
これで大体の操作は分かります。ちょっと画面表示はオールドファッションですが、GUI画面とショートカットキーで全ての操作が出来ますので、マウスとカーソルがない世界は悪魔(^^;;;の世界という Windowsユーザでも十分使える世界だと思います。

という次第で Voyage MPD と vmware player による体験学習の解説はここまで。
あとは vmware player を使ったVoyage MPD 開発環境作成の方法。

とりあえず最低限やった方がいいのは以下のコマンド。

root@voyage:~# apt-get update
root@voyage:~# apt-get upgrade
root@voyage:~# dpkg-reconfigure tzdata
root@voyage:~# passwd
root@voyage:~# apt-get install nano

nanoというのはLinux版のnotebookです。エディターは他にもいろいろあるのですが、vmware環境ではこれが一番キビキビ動きます。

root@voyage:~# nano .bashrc
終わりに以下を追加
remountrw
alias mpdr='/etc/init.d/mpd stop;/etc/init.d/mpd start-create-db'
alias mpcs='mpc update;mpc listall|mpc add;mpc play'

毎回remountrwという呪文をとなえいようにするためには必須。aliasはお好みでどうぞ。
106キーボードの場合、神経衰弱にならないためには、以下は必須です。

root@voyage:~# nano /etc/apt/sources.list         # 日本語キーボード
deb http://ftp.jp.debian.org/debian/ squeeze main contrib
root@voyage:~# apt-get update                     # 日本語キーボード
root@voyage:~# apt-get install dialog
root@voyage:~# apt-get install console-common console-data
root@voyage:~# dpkg-reconfigure console-data

日本語表示させたければ以下もやっておいた方がいいです。

root@voyage:~# apt-get install locales            # 日本語表示
root@voyage:~# dpkg-reconfigure locales           #

内容については過去のこのサイトの記事を参照して下さい。
以上の操作ですが、vmware player のコマンドラインでやるより、ssh接続で仮想マシンを繋ぎ操作した方が、WindowsのCopy&Paste機能が使えますので、楽です。vmware player の場合、最初にインストールしたシステムのipアドレスは192.168.12.128に固定ですので、これでsshクライアントを立ち上げればいいです。
例えば、Puttyを使った場合、



コピー&ペーストをするには、たとえばこの記事を表示させておいて



こういう感じでWindows上で能天気(^^;;;に長いコマンド入力ができます。

開発環境の作り方については次回に。

p.s. vmware tools をインストールすると親のWindowsとファイルの共有、Copy&Pasteなどが自在に出来るのですが、この機能は X Window で動くLinux限定のようで、Voyageでは有効になりません。残念。上記したssh接続で対応するのがよさそうです。

(PC_Audio)   2011/08/06

コメントする

Voyage MPD on Vmware Player

掲示板で「カーネルのコンパイルって時間がかかって大変」とこぼしたら、yanさんに「Windowsユーザならvmware使えばいいよ」とアドバイスされ、試してみました。

vmware playerって何という方はインタネットで検索すればいくらでも情報はありますが、ここ(@IT VMware Playerを使う)の記事が新しく、他のVMマシンとの比較もあり、とても分かりやすいので、お勧めです。
yanさんが、以前、試された時はVoyageは起動も出来なかったらしいのですが、最新版のVoyage MPD(0.75)とWindows版の一番新しいVmware Player(3.1.4)を組み合わせれば、Voyage MPDのCDイメージからブートし、仮想のディスクにインストール、MPD側の設定をして、音を出すということが簡単にできます。

これは Voyage MPD の入門用に最適ですね。
あちこちで「Voyage MPD って難しい、簡単にインストール、セットアップできない」という書き込みを見かけるのですが、vmwareなら、Windowsが普通に動いている環境であれば、Voyage MPDのインストールと初期設定で問題になる部分は Vmware が吸収してくれますので、確実に動くと思われます。Windowsの通常のアプリケーションと同じレベルで Voyage MPD のインストールとセットアップを体験できるはずです。
もちろん仮想化されたエミュレーションの世界での動作ですので、音はかなり悪くなりますが、Voyage MPD ってどう動かすのかということを知るのに格好の仕組みだと思います。

という次第で、純正Windowsユーザのための「Voyage MPD on Vmware Player」。何回かに分けて解説したいと思います。
Voyage MPD の入門用とカーネルコンパイルのための開発環境を作成するための方法を解説します。二つの目的 には大きな落差がありますが(^^;;;、興味のある方はおつきあいください。

Vmware Player のセットアップと使い方については上記リンク先で丁寧に解説されているので、そちらを参照して下さい。ここでは Vmware Player への Voyage MPD のインストールと初期設定に限って解説します。

Voyage MPD のISOイメージの入手


リンク先(Voyage MPDの公式サイト)から、一番上「Latest versions:」の [Live CD] の部分をクリック(間違えて voyage-mpd-0.7.5.tar.bz2 [2011-06-28] をクリックしないように。そっちはLinux環境のあるユーザのためのインストールデータです)。
voyage-mpd-0.7.5.iso という名前のファイルがダウンロードされるはずです。

Voyage MPD のインストール


Vmware Player を立ち上げ、画面右の一番上「新規仮想マシンの作成」をクリック。


「インストーラディスク イメージファイル」からダウンロードした Voyage MPD のISOイメージを選択。「次へ」をクリック。


「Linux」を選択し、ヴァージョンから「他のLinux 2.6.X カーネル」を選択。「次へ」をクリック。


仮想マシンの名前と格納場所を確認。「次へ」をクリック。
スナップショットを後からとったので、カーネル(2)と表示されていますが、初めてなら(1)になります。


ディスク容量の確認を確認(ディフォルト8MBのままでOK)。「次へ」をクリック。


準備完了を確認。「完了」をクリック。
カーネルのコンパイルをするのであれば、ここで「ハードウェアのカスタマイズ」をクリックしてメモリを500MB以上にする必要があります。


ほっとけば自動的にインストーラが起動されます。


login名は「root」、passwordは「voyage」。蛇足だけど、入力が終わったら最後に改行キーを押して下さい。パスワード入力中は何も表示されませんが、そういうものだと思って下さい。


ログインできました。ディスクの状態を確認するため「fdisk -l(改行)」と入力。こういう具合にメッセージは全て英語です。我慢して読んで下さい。
一番下のコマンドラインの直前のメッセージが重要です。「パーティションテーブルがないから何もできないよ」と教えてくれているわけです。


パーティションを作成するためのコマンド入力

fdisk /dev/sda(改行)

とその後の指示入力(n -> p -> 1 -> 改行 -> 改行 -> w)です。
n(新規作成)とw(パーティションテーブルに書き込み)以外は画面の指示通りです。


パーティションが正しく作成されたか確認するため、もう一度「fdisk -l(改行)」と入力。コマンドラインの直前に「/dev/sda1 …」という行が表示されればOK。
「fdisk -l(改行)」はいちいち入力しなくても、シェル(bash)のヒストリ機能で↑(上矢印)キーを使って使って出すことが出来ます。二回前に同じ入力をしている筈だから↑(上矢印)キーを二回押せば出てきます。またコマンドラインに何か表示されている状態で左右の矢印(→、←)キーを使ってカーソルを移動させることが出来ます。ちょっとコマンドの入力を間違えた時などこれらのキーを使って、簡単に訂正できます。


さて、いよいよインストールの開始。以下のコマンドを入力します。

mkdir /tmp/root /tmp/cf
mount -o loop /live/image/live/filesystem.squashfs /tmp/root
cd /tmp/root
/usr/local/sbin/voyage.update

画面でお分かりのように、上の三つコマンドは正しく実行されると、何も表示されません。前にも書いたけど、こういう具合に「男はだまって、仕事だけする」というのが、Linuxの流儀です。
また蛇足ですが、コマンド文字の入力が終わったら、改行キーを押してコマンドの実行を指示して下さい。
二つ目のコマンドでかなり長いファイル名を入力しないといけませんが、シェルの入力補完機能を使うと楽に入力出来ます。具体的には「/liv(tabキー)im(tabキー)fi(tabキー).s(tabキー)」と入力する。簡単でしょ。これもコマンドラインで楽をするため必携のTipsです。
最後のコマンド(これも少し長めですが上記の補完機能を使えば入力は簡単)でインストーラが開始されました。最初はディフォルトでOKなので、改行しましょう。
以下ディフォルトではまずいところだけスナップショットを表示します。ディフォルトでOKの項目は改行だけで先に進めます。


  1 - Specify Distribution Directory
  2 - Select Target Profile

です。6番(Generic PC)を選択して下さい。「6改行」でOK。


  3 - Select Target Disk

です。何故か古いスタイルのデバイス名がディフルトになっているので「/dev/sda改行」と入力して下さい。


  4 - Select Target Bootstrap Loader
  5 - Configure Target Console
  6 - Partition and Create Filesystem

と終わって、実行の確認画面表示されました。「y改行」と入力すれば、インストールが開始します。


インストールが終了したら改行してコマンドラインに戻ります。そこで「reboot改行」でリブートします。


めでたくインストールできたようです。こういうメニュー画面が表示されます。改行するか、ほっておけば、ブート処理を開始します。


Voyage MPD 最初のログインです。インストールの開始時と同じで「root」、「voyage」でログインします。
この後の初期設定については、長くなったので、記事を分けます。
ここで「インストールは終了したよ」というボタンをクリックして余分なガイドはクリアした方がいいでしょう。

Voyage MPD のインストールについては以前「Voyage MPDの使い方(1)」と「Voyage MPD インストールの全操作解説(1)」という記事を書いています。各コマンドや操作の意味などについてはそちらを参照して下さい。

(PC_Audio)   2011/08/06

コメントする

top page     previous page     next page

mail