2009年11月23日月曜日

Debian で USBオーディオ

Debian lenny LXDEの環境下での、USBオーディオデバイスをデフォルトサウンドカードとして利用する方法。

まず使用しているUSBオーディオデバイスの名前を確認。
# asoundconf list
これをデフォルトサウンドカードとして設定。
# asoundconf set-default-card hogehoge
これだけでは安定してUSBオーディオデバイスをデフォルトサウンドカードと認識しない(何度か再起動するとオンボードのサウンドカードになっていたりする)。そこでUSBオーディオデバイスを最初に認識するように以下の設定を/etc/modprobe.d/alsa-baseの最後の方に書き加える。
options snd-usb-audio index=0
もし"options snd-usb-audio"が既に記載されていたらindexの番号を0に変更する。ここで一度再起動、ログアウトした方がいい(読み込み順序、デフォルトカードの確認のため)。
この段階ではほとんどの音楽再生ソフトが動かなくなると思う。そこで変更の旨をALSAの設定ファイル"~/.asoundrc"に直接以下のように書き加える。
pcm.!default{
type hw
card 0
}

ctl.!default{
type hw
card 0
}
"card 0"という番号はAudaciousなどのメディアプレイヤで調べることができる(/proc/asound/modulesを見てもいい)。
Audacious起動->Preferences->Audio->Output Plugin Preferencesと辿り、Audio deviceのコンボボックスを展開し、USB Deviceの(hw:0,0)というところでカードの番号を確認できる(デフォルトサウンドカードをUSBオーディオデバイスに設定している場合はおそらく0になっているはず)。図のように他のオーディオデバイスが接続されている場合は(hw:1,0)、(hw:2,0)などと割り振られる。



再起動すればメディアプレイヤやflashで音声を再生できる。

Debian の 起動時のメッセージ

/etc/default/bootlogdの"BOOTLOGD_ENABLE"の値をyesに変更する。
再起動後に/var/log/bootに起動時のメッセージ、つまりブートログが記録される。

2009年10月7日水曜日

Java で 組み合わせ

再帰呼び出しによる組み合わせ問題のプログラム。"n1個の中からn2個を選択"。

public class Combination{

public static void main(String[] args){
combination(10, 3);
}

public static void combination(int n1, int n2){
int[] comb = new int[n2+1];
int no = 0, index= 1;

nest(no, index, n1, n2, comb);
}

public static void nest(int no, int index, int n1, int n2, int[] comb){

for(int i = no+1; i<=n1-n2+index; i++){
comb[index] = i;
if(n2 != index){
nest(i,index+1,n1,n2,comb);
}else{
for(int j = 1 ; j <= n2 ; j++){
System.out.printf(" %2d", comb[j]);
}
System.out.printf("\n");
}
}

}

}

2009年9月29日火曜日

Debian で KDE 4.3

DebianでKDE4.3のインストール。ただし、「英語のインターフェース」、「日本語入力可能」という縛りを付けます。より美しいGUI、かつ実用的な組み合わせかと主観的に思います。

Debian lennyのインストールの際、言語はEnglish、地域とミラーはJapanにします。これはインストール後でも簡単に修正できますが、余計なフォントなどのインストールを避けるためです。インストールするソフトウェアの選択時は、Standard Systemを含む全てのチェックを外します。

KDE4.3のインストール。/etc/apt/source.listに以下2行に追加します。

deb http://ftp.jp.debian.org/debian/ testing main
deb-src http://ftp.jp.debian.org/debian/ testing main

aptのアップデートを行い、インストールを開始します。

# aptitude update
# aptitude install kde-minimal

依存関係の解決、キーボードマップ、アプリケーションの再起動など5回をほど質問されますが、全てEnterで問題ありません(依存関係は人によっては注意する必要があるかもしれません)。以上、再起動でデスクトップ環境が起動します。


日本語入力環境の構築。uim、anthyの組み合わせを利用します。まずはインストール。

# aptitude install uim uim-anthy

さらに/etc/X11/Xsessionの関数宣言終了付近の"# initialize valiables for ..."というコメント行の下あたりに以下の3行を付け加えます。

export GTK_IM_MODULE=uim
export XMODIFIERS=@im=uim
uim-xim &

続いて利用したい日本語フォントをインストールします。ここではさざなみゴシックをインストールしました。

aptitude install ttf-sazanami-gothic

これをシステムのデフォルトフォントに設定します。Launcher>Computer>System Settings>Appearance>Fontsと辿り、Adjust All Fonts...で設定します。

一度ロケールを日本に設定します。

# dpkg-reconfigure locales

EUC-JPでもUTF-8でも構いませんが、日本語のものを選択します。これをデフォルトとして選択します。

再起動しますと中途半端な日本語環境の中で、uimのツールバーが表示されます。ここから標準の入力方式をAnthyに指定します。

再びロケールをen_US.UTF-8に戻して再起動しますと、「KDE4.3」、「英語のインターフェース」、「日本語入力可能」な環境になります。

2009年9月27日日曜日

Debian で WLI-CB-G54S

Debian lennyでBuffaloの無線LANカード「WLI-CB-G54S」を使用する。ドライバのインストール。

# aptitude install b43-fwcutter

b43-fwcutterはcontribなのでsource.listを編集してからインストールする。インストール中、別途ファームウェアが必要になり、Fetchする許可を尋ねられるのでyes。再起動すればwlan0として認識されるが、落ちてしまっている場合があるので

# ifconfig -a
# ifconfig wlan0 up

してやる必要がある。環境に応じてwireless-toolsもインストール。

2009年9月22日火曜日

Apache で WebDAV

Apache HTTP ServerでWebDAV機能を利用します。
HowToサイトなどでは、SSLと組み合わせた運用方法の紹介がよく見受けられます。ただし、Apache HTTP ServerではSSL以外にもBASIC、DIGEST認証などのセキュリティシステムも手軽に利用できます。ここではWebDAVの利用のみを考えます。
まずはWebDAV機能を有効化します。

# a2enmod dav

続いて公開するディレクトリの設定。
/etc/apache2/httpd.conf
/etc/apache2/apache2.conf
/etc/apache2/sites-available/default
上記の設定ファイルのうちのいずれかを編集します。根元度で昇順に並べています。

<Directory /var/www/webdav>
DAV on
Options Indexes FollowSymLinks Multiviews
AllowOverride Options
Order allow,deny
allow from all
</Directory>

ここでは/var/www/webdavディレクトリを公開しています。"DAV on"でWebDAV機能の有効化、Optionsディレクティブの"Indexes"でファイルの一覧表示、"FollowSymLinks"でシンボリックを辿って他のディレクトリも参照できるようにしています。ただし、シンボリックを/var/www/webdavに配置した場合、ブラウザ上では正しく表示されますが、直接WebDAVをマウントし、NautilusやFinderなどのファイルマネージャでアクセスした場合は表示されません。"AllowOverride Options"でオプションを有効化しています。以上でApacheの設定は終了です。セキュリティ、パーミッション等各々の環境に合わせて編集します。

2009年8月9日日曜日

Debian lenny で TeX

まず日本語TeX環境のためにロケールをEUC-JPに変更(geditやkwriterなどエディタで保存時にエンコードをEUC-JPに指定する場合はシステム全体のロケールを設定する必要はない)。

# dpkg-reconfigure locales

このとき使用するロケールを聞かれるので「ja_JP.EUC-JP EUC-JP」をスペースキーで選択。/etc/default/localeがja_JP.EUC-JPに変わっていることを確認。
続いてGhostScript関連のインストール。

# apt-get install gs gs-esp gs-cjk-resource
# update-alternatives --config gs

さらにTeX関係の(ry

# apt-get install ptex-bin xdvik-ja dvipsk-ja
# apt-get install okumura-clsfiles vfdata-morisawa5
# jisftconfig add

あと便利なのでpdf関係の(ry

# apt-get install dvipdfmx

dviからpdfに変換する際、色々エラー、警告が出るので以下の操作を適用。(wikiより)まず「/etc/texmf/texmf.d/50dvipdfmx.cnf」を次のように編集。

CMAPINPUTS=.;/usr/share/fonts/cmap/adobe-japan1//;/usr/share/fonts/cmap/adobe-japan2//;/usr/share/fonts/cmap/adobe-gb1//;/usr/share/fonts/cmap/gs-cjk-resource//

多分adobe-japan2とかインストールしてないものもあるので諸々インストール。

# apt-get install cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2

「** WARNING ** Could not open config file "fontmapsx".」とか警告が出る場合dvipdfmxのシンボリックを更新すると直る。

#ln -s /etc/texmf/dvipdfm /etc/texmf/dvipdfmx

Debianに最初から入ってるEvinceでは日本語が表示されなかったのでAdobe Reader 9をインストール。

2009年6月13日土曜日

Debian系ネットワークの設定

ネットワークの設定は/etc/network/interfaces、/etc/resolv.confを編集する。ネットワークインターフェースの名前がeth0の場合。
DHCPを利用する場合。

auto eth0
iface eth0 inet dhcp

固定IPで接続する場合。

auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1

無線を利用する場合(iwconfigがインストールされてる必要がある)。

wireless-essid hogehoge
wireless-key hogehoge

wireless-keyの値はASCII表記の場合、先頭に「s:」を付ける。
以上、編集を終了したら再起動。

# /etc/init.d/networking restart

2009年5月28日木曜日

2009年5月24日日曜日

CrunchBang で Samba

Sambaのインストールについて。サーバ側はこれだけ。

#sudo apt-get install samba

クライアント(linux)は下記のコマンドで任意のディレクトリにマウントできる。日本語が化けるのでマウントする際のオプションで文字コードを指定する。

# sudo mount -t cifs -o username="ユーザ名",password="パスワード",codepage=cp932,iocharset=utf8,defaults //"Hostの名前、アドレス"/"の共有ディレクトリ" "クライアントのマウントポイントのディレクトリ"

アンマウントは下記の通り。

# sudo umount "クライアント側のマウントポイント"

CrunchBang で CDemu

CDemuのインストール。
/etc/apt/sources.list'に以下の一行を付け加え、"apt-get update"で更新。

deb http://ppa.launchpad.net/cdemu/ubuntu intrepid main

"intrepid"は私の環境でのUbuntuの開発コード名です。開発コード名の確認は下記コマンド。

#lsb_release -c

続いて必要パッケージのインストール。

#sudo apt-get install cdemu-client cdemu-daemon gcdemu libmirage1 vhba-dkms

CDemuのデーモンの起動。デフォルトで起動する場合、別途管理者権限でターミナルを起動して"cdemud"。
実際にイメージファイルをマウントするには下記のコマンド実行。

#cdemu load 0 "イメージファイル名" -b system

私の環境ではバスを明示的に指定しないとマウントできませんでした。
アンマウントする際は以下のコマンド実行で終了です。

#umount /media/cdrom0
#cdemu unload 0 -b system

2009年3月22日日曜日

ZEN X-Fi用エンコ、編集ソフト一覧

  • Zen Compatability
  • SuperTagEditor
  • MediaCoder
  • True Audio
  • CDex
  • Sound it!
  • Monkey's Audio
  • Creative Central
  • Winamp
  • FFmpeg
  • SWFExtract

2009年3月4日水曜日

CUEシートの書式

cueシートの書き換えについて。

TRACK 03 AUDIO
TITLE "hogehogeMusic"
PERFORMER "hogehogeArtist"
INDEX 00 10:10:23
INDEX 01 10:13:24

cueファイル、cueシートには上記のような書式で各トラックごとに再生情報が書かれています。ここで、「INDEX 00」というのは前のトラックの終了時間になります。「INDEX 01」がTRACK 03の開始時間です。つまり「INDEX 00」と「INDEX 01」の間をカットすることができます(主にトラック間の無音部分の削除に利用)。
また、時間の書式は"分 : 秒 : フレーム数"となっています。フレーム数というのは0~75までで、76以上は秒に繰り上がります。

2009年3月1日日曜日

TTAをAAC

一般的にcueシートと一緒に取り扱う可逆圧縮形式、"The True Audio"ですがZEN X-Fiの対応フォーマットではありません。wavに変換する場合はTau Producer。AACに変換する場合はMediaCoderに付属するNero EncoderかFAAC。
Nero Encoderを使用する場合、下図のように設定。


「プロファイル」はLC-AAC。「レートモード」はCBR以外のもの。「ビットレート/品質」は適宜調整。最高品質でもwavの1/4程度のサイズになります。
cueシートをDrug & Dropすれば読み込みます。エンコード中に警告メッセージが出ます。これは無視してかまいません。
ZENは基本的にiTuneで作成されたAACファイルしか認識しないのでタグの編集に注意しなければいけません。Zen_Compatibilityなどのソフトを使用すると簡単にメタデータを編集できます(タグの内容を変更するソフトではありません)。

2009年2月6日金曜日

オーディオファイルの無劣化抽出

動画共有サイトで広く使用されているflv、mp4、swf形式の動画から、オーディオデータを無劣化で抽出する。使用するツールはffmpeg、swfextract。どちらも様々なOS向きに配布されている。swfextractはswftoolsの一部のソフトウェア。
以下のコマンドで抽出可能。
ffmpeg -i "入力ファイル名.flv" -vn -acodec copy "出力ファイル名.mp3"
ffmpeg -i "入力ファイル名.mp4" -vn -acodec copy "出力ファイル名.m4a"

swfextract -m "入力ファイル名.swf" -o "出力ファイル名.mp3"