VH7PCとは、SOTEC から販売された、KENWOOD製の安価ながら高品質なCD/ ラジオチューナ付きオーディオコンポです( メーカのページ)。 本ソフトウェアは、この VH7PC を Un*x 環境で、USB 経由にてコマンド ラインから制御するものです。
libusb が動作可能なUSB付きUn*xシステム
vh7pc - Kenwood VH7PC control program, version 0.5 Copyright (C) 2006 GOTO Masanori <gotom@sanori.org>, GPL. Usage: vh7pc [options] [command] Omitting command shows the current status Options: -i Interactive mode -v Show additional verbose messages -h Show help -r <retry> USB retry max timeout (sec) default=5 -w <time> USB retry wait time (ms) default=0 Control Commands: help Show help status Show currnet status (default) on Power on off Power off vol <val> Set volume. val=0..50, up, down mute Toggle mute nb Toggle N.B./Tone mode. nbmode=nb1, nb2, tone cd [cdop] CD operation: play, pause, stop, repeat, prev, next, eject, random, ff, fb, 1..155 md [mdop] MD operation: play, stop, pause, record, ote, sk_next, sk_prev ff, fb, alle, tracke, divide, combine, repeat, random, eject 1..155 tuner [op] Tuner operation: band, stereo, next, prev, 1..40 tape [tapeop] Tape operation: fwd, rev, fb, ff, stop, continue, sts sel <mode> Change input: cd, tuner, md, tape, pc device Search device and report it.
見れば一目瞭然ですが、簡単に説明。
on off 電源on/off vol <音量> 音量を変更 mute 音量をミュート nb N.B.モード(イコライザ)を変更 cd [op] CDを操作。cd play とすれば CD が演奏。 tuner [op] ラジオチューナを操作。tuner 3とすればチャンネル3を選択。 sel <op> 入力デバイスを切り替える。なお、sel の部分は省略可能。 tape [op] テープを操作。 md [op] MDを操作。
なお、非インタラクティブモード(コマンドラインから指定する場合)、 これらのコマンドを並列に並べることも可能です。ただし、分かりにく いと思うので(例えば通常 cd 単体で sel cd と同等機能を持ちます が、cd status とするとエラーになったりします)、あまりおすすめは しません。「status」を最後につけてどう変更されたかを調べる程度に 使ってください。
> vh7pc status vol 20 sel cd status Power: On Volume: 10 (Mute: Off) Tone: Off Current Input Mode: PC-USB Mode specific information: None Power: On Volume: 20 (Mute: Off) Tone: Off Current Input Mode: CD Mode specific information: CD: Ejected Track: current 0 all 0 State: Stop Time: 00:00 Repeat/Random: None
オプションについて:
-i インタラクティブモードで実行。通常はコマンドライン操作 ですが、このモードに切り替えるとインタラクティブに実行 できます。コマンドは上記と同様。 -v 詳細な動作のメッセージ表示を行います。 -h ヘルプを表示。 -r <リトライ> USBリトライ回数を設定します。 -w <時間> ミリ秒単位でUSBリトライを行う間隔を設定します。
> vh7pc usb_set_configuration: Operation not permitted You are not permitted to control usb, try it with root userLinuxで使用している場合は、/proc/bus/usb が usbfs でマウントされて いる必要があります。mount コマンドを実行して以下の行が表示されれば 問題ないでしょう。
usbfs on /proc/bus/usb type usbfs (rw)
devsearch: 004/028
> ls -l /proc/bus/usb/004/028 -rw-r--r-- 1 root root 36 2006-01-21 11:09 /proc/bus/usb/004/028
> su > chmod a+w /proc/bus/usb/004/028
Submitting a command failed, please retry some few times. If it works after some retries, please change option -w and -r value for your environment.何度実行してもこのメッセージが出て制御がきかない場合は、-w オプ ションを 0 から少しずつ変えていって試してみてください。そのうち うまくいく値が見つかるはずです。現在分かっているところでは:
VH7PCの最大の特徴は、2chで祭りにもなったその価格と、USBを装備して いてPCから操作ができる点です。メーカ以外からも、ユーザの手によって Windows ではいくつかの操作ユーティリティが作られました。詳細は 以下のページが参考になります。
しかし、残念ながらUn*x環境にはこういったソフトウェアがありませんで した。今まで試した方もいるようですが、うまくいかなかったようです。 と言うのも、試しにユーザランド(libusb使用)やカーネルドライバから叩 いても、まれにしかUSBが応答しないからです。原因は良く分かっていま せんが、USBの制御方法に何か問題がありそうです。本ソフトウェアは強 制的に何百回もコマンドを送受信させて、「まれ」の確率を高めることで 無理やり動かしています。