サンヨーのICレコーダーICR-PS401RMをDebian GNU/Linuxで使ってみた

先日、サンヨーのICレコーダーICR-PS401RMを購入しました。 結論を言うと、Linuxからふつうに使えます。 メーカー側はMacにすら非対応と言っていますが。

録音機能つきMP3プレーヤーが欲しい

以前から録音機能つきMP3プレーヤーが欲しいと思っていました。

というのは、パソコン作業をしていなくても音楽やオーディオブックを聴いていたいからです。 これがないとパソコンでしか聞くことができません。 つまり、パソコンに束縛されている状態ですね。

パソコンどころか外出中でも聞くことができれば、隙間時間を勉強時間にできます。

そして、録音ができるといろいろ便利です。 会議や打ち合わせを録音することができます。

また、自分用のボイスメモとしても使うことができます。 声を録音するなら、メモ紙に書くよりも早いし、楽です。 帰宅後、改めて録音を再生してパソコンのGTDシステムに放り込めばいいのです。

レバレッジメモを音読したのを録音して聞き流す勉強法も考えられます。

条件

俺的にはただ録音と再生ができればいいわけではありません。

まず必須なのは、スピード調整できる倍速再生機能です。 これがないとオーディオブックを速聴することができません。 パソコン側で速聴音源を作ることは可能ですが、調整できないと困ります。

また、MP3プレーヤーとして実用的に使えることも大事です。 目的のファイルをはやく見つけ出すことができないと嫌です。

俺の場合、一番気になるのは、何といっても、Linuxから使えることです。 Linuxから使えない機械は俺にとっては、ただのがらくたに過ぎません。

電源は乾電池で動くものがよいです。 俺は乾電池ヲタです。 とことん乾電池モデルにはこだわります。 理由は出先で電池切れになっても予備用電池さえ用意していれば、すぐに使えるからです。 eneloopを使えば、万全です。

ICR-PS401RMに決定

そして、リサーチの末サンヨーのICR-PS401RMに決定しました。 サンヨーのは倍速再生ができ、Linuxで使えるという情報を手に入れたからです。 その後、機種間の機能の違いを仕様比較から確認すると、ICR-PS401RMが妥当という結論に達しました。 下位モデルは3000円くらいでありますが、力不足です。

アマゾンで7574円で買いました。 他機種と比べるとコストパフォーマンスがよく、評判がよいです。

色は白です。 下位モデルは銀色でカッコイイのですが、このモデルは白とピンクしかありません。 まあ仕方ないです。

音声・動画をMP3に変換する

mp3ファイルには、可変ビットレートと固定ビットレートのものがあります。 可変にしておくと、音質が要求されないところではビットレートを抑えることができ、容量を節約できます。

しかし、この機種、可変ビットレートには対応していないのです。 せっかくmp3ファイルがあっても可変ビットレートの場合は再エンコードする必要があります。

ふつうに考えたら、これ耐えられない糞仕様なのですが、そこはLinuxスクリプトを書けばいいのです。 動画ファイルも音声を抜き取ってmp3化してくれます。

#!/usr/local/bin/ruby19
require 'fileutils'
def make_mp3(flv, mp3, bitrate=128)          # 128kbps
  if flv =~ /mp3$/ and `mp3info -r v -p '%r' '#{flv}'` =~ /\d+/
    FileUtils.cp flv, mp3
  else
    re_encoding(flv, mp3, bitrate)
  end
end

def make_mp3_low(flv, mp3)
  re_encoding(flv, mp3, 32)
end


def re_encoding(flv, mp3, bitrate)
  tmp = "/tmp/#$$.wav"
  system "mplayer", "-quiet", "-really-quiet", flv, "-vo", "null", "-ao", "pcm:file=#{tmp}"
  system "lame", "--silent", "--cbr", "-b", bitrate.to_s, tmp, mp3
  File.unlink tmp
end



if __FILE__==$0
  if ARGV.first == '--low'
    make_mp3_low *ARGV[1..2]
  else
    make_mp3 *ARGV
  end
end

このスクリプトを send-icrec.rb として保存します。 ruby、mp3info、mplayerlameはインストールしておきましょう。

最初の引数に音楽・動画ファイル(mp3, flv, mp4など)を指定し、次の引数にmp3ファイルを指定します。

「--low」オプションをつけると、容量を最小の32kbpsにします。 長いセミナーやオーディオブックには最適です。 音質不要のファイルを--lowにしたら1GB節約できました。


$ send-icrec.rb audio_or_video_file output.mp3
$ send-icrec.rb --low audio_or_video_file output.mp3

内蔵メモリをマウントする

認識

ICレコーダーをUSB接続するだけで内蔵メモリをハードディスクとして認識してくれます。 syslogには以下のように出ます。


Jan 25 22:27:05 meg kernel: [1653806.368032] usb 2-3: new high speed USB device using ehci_hcd and address 122
Jan 25 22:27:05 meg kernel: [1653806.501409] usb 2-3: New USB device found, idVendor=0474, idProduct=0135
Jan 25 22:27:05 meg kernel: [1653806.501417] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 25 22:27:05 meg kernel: [1653806.501421] usb 2-3: Product: Digital Voice Recorder to USB2
Jan 25 22:27:05 meg kernel: [1653806.501424] usb 2-3: Manufacturer: Sanyo Electric Co., Ltd.
Jan 25 22:27:05 meg kernel: [1653806.501428] usb 2-3: SerialNumber:
Jan 25 22:27:05 meg kernel: [1653806.501602] usb 2-3: configuration #1 chosen from 1 choice
Jan 25 22:27:05 meg kernel: [1653806.506627] scsi72 : SCSI emulation for USB Mass Storage devices
Jan 25 22:27:05 meg kernel: [1653806.508924] usb-storage: device found at 122
Jan 25 22:27:05 meg kernel: [1653806.508929] usb-storage: waiting for device to settle before scanning
Jan 25 22:27:10 meg kernel: [1653811.508272] usb-storage: device scan complete
Jan 25 22:27:10 meg kernel: [1653811.508873] scsi 72:0:0:0: Direct-Access SANYO IC Recorder 1.01 PQ: 0 ANSI: 0 CCS
Jan 25 22:27:10 meg kernel: [1653811.509223] scsi 72:0:0:1: Direct-Access SANYO IC Recorder SD 1.01 PQ: 0 ANSI: 0 CCS
Jan 25 22:27:10 meg kernel: [1653811.515673] sd 72:0:0:0: Attached scsi generic sg6 type 0
Jan 25 22:27:10 meg kernel: [1653811.515862] sd 72:0:0:1: Attached scsi generic sg7 type 0
Jan 25 22:27:10 meg kernel: [1653811.530117] sd 72:0:0:0: [sdf] 7725056 512-byte logical blocks: (3.95 GB/3.68 GiB)
Jan 25 22:27:10 meg kernel: [1653811.531363] sd 72:0:0:0: [sdf] Write Protect is off
Jan 25 22:27:10 meg kernel: [1653811.531370] sd 72:0:0:0: [sdf] Mode Sense: 03 00 00 00
Jan 25 22:27:10 meg kernel: [1653811.531374] sd 72:0:0:0: [sdf] Assuming drive cache: write through
Jan 25 22:27:10 meg kernel: [1653811.534032] sd 72:0:0:1: [sdg] Attached SCSI removable disk
Jan 25 22:27:10 meg kernel: [1653811.535114] sd 72:0:0:0: [sdf] Assuming drive cache: write through
Jan 25 22:27:10 meg kernel: [1653811.535127] sdf: sdf1
Jan 25 22:27:10 meg kernel: [1653811.542387] sd 72:0:0:0: [sdf] Assuming drive cache: write through
Jan 25 22:27:10 meg kernel: [1653811.542396] sd 72:0:0:0: [sdf] Attached SCSI removable disk

この場合、/dev/sdfとして認識されているのがわかります。 /dev/sdgは外部メモリ(microSDHCカード)ですが、持っていないので無視です。

vfatでマウント

とりあえずvfatでマウントしてみましょう。 マウントポイントは/recとしておきます。


$ sudo mkdir /rec
$ sudo mount -t vfat /dev/sdf1 /rec
$ ls -l /rec
合計 256
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 DATA
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 LINE
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 MIC_A
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 MIC_B
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 MIC_C
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 MIC_D
drwxr-xr-x 7 root root 32768 2011-01-24 19:06 MUSIC
drwxr-xr-x 2 root root 32768 1980-01-01 00:00 RECYCLE
$ ls -l /rec/MUSIC
合計 192

  • rwxr-xr-x 1 root root 24000 2011-01-23 21:43 ALL_LIST.bin

drwxr-xr-x 2 root root 32768 2011-01-26 23:02 PLAYLIST
$ ls -l /rec/MUSIC/PLAYLIST

  • rwxr-xr-x 1 root root 0 2011-01-26 23:02 PLAYLIST1.M3U
  • rwxr-xr-x 1 root root 0 2011-01-26 23:02 PLAYLIST2.M3U
  • rwxr-xr-x 1 root root 0 2011-01-26 23:02 PLAYLIST3.M3U
  • rwxr-xr-x 1 root root 0 2011-01-26 23:02 PLAYLIST4.M3U
  • rwxr-xr-x 1 root root 0 2011-01-26 23:02 PLAYLIST5.M3U

ハードディスクから内蔵メモリに転送する

僕の場合、変換したmp3ファイルを直接ICレコーダーに入れるのではなくて、ハードディスクにファイルシステムツリーを作ります。 そうすることで、rsyncコマンド一発で転送できるし、バックアップも兼ねます。 ハードディスク上のツリーは /log/rec-music としておきます。

変換したmp3ファイルを配置する

先程作成した send-icrec.rb は次のように使います。 音楽ファイルを選択したら、以下のコマンドが使えるように、適宜設定しておきましょう。 僕の場合は、もちろんanything.elですが(笑)


$ send-icrec.rb music.flv /log/rec-music/music.mp3
転送する

MUSIC/PLAYLISTはICレコーダー側で更新されるので、最初にパソコンに転送しておきます。 その後で /log/rec-music を /rec/MUSIC に転送します。


$ rsync -ruv /rec/MUSIC/PLAYLIST/ /log/rec-music/PLAYLIST
$ rsync --delete -ruv /log/rec-music/ /rec/MUSIC; sync; sync; sync

これでMUSICフォルダ内は完全に同期されます。 パソコン側で削除したファイルはICレコーダー側でも削除されます。

自動マウントでUSBに差し込むだけで同期する

いちいち同期コマンドを打たないといけないのは面倒ですね。 USB接続しただけで勝手に同期してくれたら完璧です。

<2011-02-27 日> 【注意】Debian GNU/Linux squeezeでは、/etc/fstabにICレコーダーのエントリを書くと、mount.dが実行されません!

usbmountを設定する

そのためには、usbmountをインストールします。 Debian GNU/Linuxならば apt-get install usbmount であっさりインストールできます。

その後は、/etc/usbmount/usbmount.confを書き換えます。


MOUNTPOINTS="/rec"
FILESYSTEMS="ext2 ext3 vfat"
MOUNTOPTIONS="sync,noexec,nodev,noatime,user"
FS_MOUNTOPTIONS="-fstype=vfat"
VERBOSE="yes"
usbmountを早くする

この段階で、USB接続をした時点で/recにマウントできますが、若干遅いです。 原因は、microSDHCカードがないのに20回もアクセスを試みているからです。 そこは /m/usr/share/usbmount/usbmount の行を次のように書き換えます。


for t in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do

for t in 0 1; do
自動同期!

usbmountはマウント時に etc/usbmount/mount.d 以下のスクリプトを順次実行していきます。 ここに2桁の数字から始まるスクリプトを突っ込んでおけば、マウント時にコマンドを実行させることができます。

#!/usr/local/bin/ruby19
if `mount` =~ /\/rec /
  system "rsync -ruv /rec/MUSIC/PLAYLIST/ /log/rec-music/PLAYLIST"
  system "rsync --delete -ruv /log/rec-music/ /rec/MUSIC | logger; df /rec | logger; sync; sync; sync"
end
exit 0

僕の環境では細々としたことをやっているのでRubyスクリプトです。

感想

とにかく、俺にとっては初めての「現代版」携帯オーディオプレーヤーです。 メモリに音楽を記憶する装置は初めてです。 フラッシュメモリを使うのも初めてです。 これまでは古いCDプレイヤーを使いていました。 CDプレーヤーという前世紀の機械から、一気に20年も時代が先に進みました。

内蔵メモリは4GB。 中程度の音質のMP3(128kbps)ならば68時間、モノラル(32kbps)ならば273時間も入るという、とんでもない容量です。 ありったけの音源を詰め込んでも2GBしか使っていません。 CDだとCD-Rに焼いてもたかだか1時間という制限があります。

しかも、機体はとても小さく50gほどしかありません。 ポケットに余裕で入る上、振動で音がきれることもありません。

あまりに便利なので、とにかくものすごい感動しました。

録音感度もなかなかよいです。

サンヨー製品だけあって、eneloopに正式対応しているのが好感持てます。 カタログでは15時間持つらしいですが、体感的に半分くらいしか持たないようです。 それでもeneloopなので十分です。 eneloop万歳ー!

ケータイストラップが使えるのもいいです。 小さいので落下事故や紛失が怖いですが、ストラップとチェーンを使ってズボンに装備しておけば安心です。

ただ、不満がないわけでもありません。

ICレコーダーとはいえ、普段の用途はMP3プレーヤーだと思うのです。 実際録音する機会は多くありません。 フォルダ検索機能があるのですが、すぐにMUSICフォルダを開けないので操作性にやや難です。

「リスト」ボタンの機能は反対にすべきです。 リストボタンの機能は以下の2つです。

  1. ルートから音楽を探す
  2. 同じフォルダから音楽を探す(1秒長押し)

どうしても1よりも2の方が頻度が高いのに、長押ししないといけないのはいささか不便です。

「最近録音したファイル」検索はあるのに、「最近再生した音楽」検索がないのも嫌です。 あってしかるべきでしょう。

時計機能もあるので、ケータイみたいに時計モードがあってもよいと思います。

プレイリスト機能はなかなか便利だと思いますが、本機では5つまでしか作れません。 パソコンから任意の名前のM3Uファイルを作ってMUSIC/PLAYLISTフォルダに放り込めばよいので、 パソコンからプレイリストを作って運用していくつもりです。

電池蓋が外れないようになっているなど、細かい配慮が行き届いているかと思えば、意外に配慮が足りないところもあります。 もう少しユースケースをリサーチしてほしいところです。

どうあれ、anything.elを使って音楽・動画ファイルをmp3に変換し、wdiredで適宜リネームし、パソコン側で準備できたら、USBケーブルを差して放ったらかしにしとけば勝手に音楽が転送される…という環境が構築できたので快適ですね。