2013/09/13

sonydbでUbuntuからWALKMAN NW-E044に転送

Windowsの使用頻度を減らすためにUbuntuからWALKMAN NW-E044に転送することにした。iPodや一部のWALKMANではUbuntuの標準的な音楽プレーヤで転送可能なようだがNW-E044は無理だった。ネットを探すとやや古いがsonydbというものがあり、これで転送ができるようだ。

インストール環境を整える

ソースをダウンロードしてきて、自分でコンパイルする必要があるため、コンパイルに必要な以下のツールが必要。
gcc
id3lib
autotools
自分の環境ではid3libが入っていなかったので、Synaptic Package Managerからインストール。

sonydbのソースをダウンロードしコンパイル

公式ページ
http://mattn.kaoriya.net/software/linux/20071121165107.htm
ダウンロードサイト
https://github.com/mattn/sonydb
sonydb-master.zipをダウンロード
これを解凍する。次のコマンドでコンパイル、インストールする。
$ make -f Makefile.gcc

同じディレクトリにsonydbというexecutabeleファイルができる。478KBと小さくNW-E044に入れておいてもいいかもしれない。これをターミナルから起動すれば転送できるようになる。sonydbには下記のようなコマンドがある。とてもシンプルだ。

注意点としては、ハブ経由だとうまく転送できない場合がある。

NW-E044の中身をリスト表示するコマンド。
$ ./sonydb songs

1曲を転送するときのコマンド。
$ ./sonydb songsadd /home/usr/Music/sample.mp3

フォルダ内のすべてのmp3を一度に転送するときはワイルドカードが使える。
$ ./sonydb songsadd /home/usr/Music/*.mp3

NW-E044内の曲を削除するコマンド。下はトラック24を指定。
$ ./sonydb songsdel 24

NW-E044内の複数曲を一度に削除する場合。下はトラック100から120までの曲を削除。 seqは指定した数値を出力する。この場合100から120までを出力。 バーチカルラインはコマンドの出力を次のコマンドの入力として渡すためのもの。 ./sonydb songsdel は一度にひとつしかパラメーターを取らないため、xargsの-n 1によって1回ずつ処理している。-tオプションはターミナルに表示するためのもの。
$ seq 100 120 | xargs -n 1 -t ./sonydb songsdel

EasyTAGで文字化けを修正

タグ情報はUTF-16beにしないと、文字が表示されなかったり、文字化けしたりする。これはSONYの仕様らしい。転送してみると案の定うまくタイトルが表示できなかったのでEasyTAGというソフトをSynaptic Package Managerからインストール。この設定を以下のようにしたらうまく文字化けせずに転送できるようになった。

問題としては、NW-E044の液晶にジャケットが表示されなくなった。まぁ非表示で使えばよいのだけど。 あとWindowsのSONY純正ソフトからのアクセスができなくなった。Winで使いたい場合は、ウォークマン内のデータをすべて削除する必要がある。 LinuxでもWinでも問題なく転送ができると便利なのだが、それは難題のようだ。