ScanSnap iX500 感想

酷使していた定番ドキュメントスキャナーScanSnap S1500Mのローラーが重送ばかりするようになって、耐え切れず予約注文しました。5000ページくらいスキャンした現時点の感想を述べます。あ、Wi-Fi機能は使ってません。

重送しない!

コレが一番大事。ブレーキローラー様様ですな。
これがなかったら次はCanonのドキュメントスキャナーを買おうかと思ってました。

速い!

実感としてものすごく速く感じます。前機種は読み込む際に一旦停止してましたが、それもありませんし。

ちょっと動作音が大きい

高速化したのでこれはある程度しょうが無いですね。

ガイドが固い

給紙ガイドをスライドさせるのが固いです……。私のだけでしょうか?

裏面の先頭が白くなる

白くなるというか、先頭に白いデータが追加されていますね。カラーでもグレースケールでも。なんだこれ。

JPEGのファイルサイズが2割増

S1500と同じ設定なんですが、今まで200MBくらいだったのが250MB位に。

まとめ

買って良かったと思います。最後の2項目は今後どうにかなりそうですし。
あと気のせいか細い帯がスキャンしやすくなったような。

追記:

ScanSnap Managerがアップデートされ、裏面の余分な白が改善されました!

そういえば音泉の録音用にスクリプト書いたけど

公開してませんでした。

追記:スクリプト修正しました。

いやー、我ながら気合い入ったスクリプトですね。rubyの部分は適当ですけど。あ、opensslとwgetとrubyが必要なのでご注意を。

引数なしで実行すると本日更新分を順に録音するか聞いてきます。”q” と打ってエンターキーを押すと終了、”n” だと次の番組。

a オプション
最新更新分じゃなくても録音。
y オプション
昨日更新分を録音。
v オプション
verbose モード。wgetの様子が見えたり一時ファイルを消すか聞いてきます。
w オプション
週番号指定して録音。0から6までで0が日曜日。
#!/bin/bash -e
# onsen.sh Ver. 0.8.4 (2013.02.02)
# recording tool for onsen.ag
# require openssl, wget and ruby

# target date
GOTDATE=`date +%y%m%d`
# precode of POST data
PRECODE=onsen`date +%w%d%H`
# POST data
PDATA="code=`echo $PRECODE | openssl dgst -md5 | sed -e 's/(stdin)= //'`\&file%5Fname=regular%5F"
# week number
REGXMLNUM=`date +%w`
# onsen URL
URL="http://onsen.ag/getXML.php?`date +%s`000"
# tmp file
TMPFILE="/var/tmp/tmp.$$"

AFLAG=FALSE
WGETOPTION=-q
RMOPTION=
OPT=
while getopts ayvw: OPT
do
  case $OPT in
    a) AFLAG=TRUE
       ;; # with all programs on GOTDATE
    y) GOTDATE=`TZ=JST+15 date +%y%m%d`
       REGXMLNUM=`TZ=JST+15 date +%w`
       ;; # yesterday
    v) WGETOPTION=
       RMOPTION=-i
       ;; # verbose mode
    w) REGXMLNUM=$OPTARG
       ;; # indicate week number
    \?) echo "Usage: `basename $0` [-avy] [-w weeknumber]" 1>&2
        exit 1
        ;;
  esac
done
shift `expr $OPTIND - 1`

# download regular XML file
wget ${WGETOPTION} --post-data="${PDATA}${REGXMLNUM}" ${URL} -O ${TMPFILE}

# number of program
PROGNUM=`grep -c '<title>' ${TMPFILE} | cut -d ":" -f2`
#echo "番組数: $PROGNUM"
# index number
i=1
while test ${PROGNUM} -gt 0
do
  PROGNUM=`expr ${PROGNUM} - 1`
  ISNEW=`cat ${TMPFILE} | ruby -rrexml/document -e "puts REXML::Document.new(ARGF).elements[\"data/regular/program/isNew[${i}]\"].text"`
  if test ${AFLAG} = TRUE -a ${ISNEW} = 0 ; then
    ISNEW=1
  fi
  TITLE=`cat ${TMPFILE} | ruby -rrexml/document -e "puts REXML::Document.new(ARGF).elements[\"data/regular/program/title[${i}]\"].text"`
  NUM=`cat ${TMPFILE} | ruby -rrexml/document -e "puts REXML::Document.new(ARGF).elements[\"data/regular/program/number[${i}]\"].text"`
  UPDATE=`cat ${TMPFILE} | ruby -rrexml/document -e "puts REXML::Document.new(ARGF).elements[\"data/regular/program/update[${i}]\"].text" | tr '/' '月' | sed -e 's/$/日配信/'`
  MP3FILE=`cat ${TMPFILE} | ruby -rrexml/document -e "puts REXML::Document.new(ARGF).elements[\"data/regular/program/fileUrlIphone[${i}]\"].text"`
  i=`expr ${i} + 1`
  if test ${ISNEW} != 1 ; then
    continue
  fi
  # Question
  echo -n "Record \"${TITLE} 第${NUM}回(${UPDATE}).mp3\"?[Yes/no/quit] "
  read ANSWER
  case `echo "$ANSWER" | tr [A-Z] [a-z]` in
  no | n ) ANSWER=no
           continue
           ;;
  quit | q ) break
             ;;
  * ) ANSWER=yes
      ;;
  esac

  wget ${WGETOPTION} -O "${TITLE} 第${NUM}回(${UPDATE}).mp3" ${MP3FILE}
done

rm ${RMOPTION} ${TMPFILE}
exit 0

参考

Webラジオ 質問掲示板 兼 ハヤテのごとく!応援同盟 雑談掲示板

radikoの仕様が変わってた

ことに、2回も録音失敗してから気付きました。

上記リンク先で

237 :まちがって名前消しちゃいました。:2012/10/24(水) 16:49:48.22 ID:???
player_2.0.1.00.swf

player_3.0.0.01.swf

swfextract -b 5

swfextract -b 14

radiko.smartstream.ne.jp

w-radiko.smartstream.ne.jp

simul-stream

simul-stream.stream

_defInst_

_definst_

これでイケた。

とあったのでちまちまスクリプトを修正してたら、下のGistでエレガントに解決してました。

wget -q "http://radiko.jp/v2/station/stream/${channel}.xml"
stream_url=`echo "cat /url/item[1]/text()" | xmllint --shell ${channel}.xml | tail -2 | head -1`
url_parts=(`echo ${stream_url} | perl -pe 's!^(.*)://(.*?)/(.*)/(.*?)$/!$1://$2 $3 $4!'`)
rm -f ${channel}.xml
#
# rtmpdump
#
rtmpdump -v \
    -r ${url_parts[0]} \
    --app ${url_parts[1]} \
    --playpath ${url_parts[2]} \
    -W $playerurl \
    -C S:"" -C S:"" -C S:"" -C S:$authtoken \
    --live \
    --flv $output

このままだとcronで予約録音できないので少々手を入れて使ってます。

rtmpdumpでNHK-FMを録音する

PC(というかMac)でNHK-FMを録音できないかと頼まれたのでやってみました。

必要なもの

  • rtmpdump

ストリーミングを保存するコマンド。ソースからビルド(後述)。

  • ffmpeg

保存したflvファイルを変換するコマンド。Homebrewでインストール。

rtmpdump のビルド

Homebrew で手に入る version 2.3 だと失敗するらしいのでソースからビルド。

git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump
make SYS=darwin
sudo make install SYS=darwin

make install のときも SYS=darwin が要るんですな。

録音スクリプト

以下のようなスクリプト (nhkfmrec.sh) を作りました。
引数なしで実行するとその時点から2時間+2分の録音が始まります。
第一引数で録音時間を分で指定することができます。念のため内部で2分追加してますが。
RTMPDUMP, FFMPEG, SAVEDIRは環境に応じて変更してください。

#!/bin/sh
XDATE=`date -v+1M +"%Y-%m%d-%H%M"`
STOPMINS=${1:-120}
STOPSECS=`expr ${STOPMINS} \* 60 + 120`
RTMPDUMP=/usr/local/bin/rtmpdump
FFMPEG=/usr/local/bin/ffmpeg
AFCONVERT=/usr/bin/afconvert
SAVEDIR=/Users/hoge
FLVFILE=${SAVEDIR}/NHK-FM_${XDATE}.flv
AACFILE=${FLVFILE%.flv}.aac
${RTMPDUMP} --rtmp "rtmpe://netradio-fm-flash.nhk.jp" \
    --playpath 'NetRadio_FM_flash@63343' \
    --app "live" \
    -W http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf \
    --live \
    -B $STOPSECS \
    -o ${FLVFILE}
${FFMPEG} -i ${FLVFILE} -vn -acodec copy ${AACFILE}
if [ $? != 0 ]; then
    ${FFMPEG} -i ${FLVFILE} ${AACFILE}
fi
${AFCONVERT} -f m4af -d aach -b 48000 ${AACFILE}
#rm ${FLVFILE} ${AACFILE}
exit 0

rtmpdumpコマンドで録音したファイルを flv → aac → m4a と変換してます。
--rtmp--playpath の値を変えればNHK第一や第二も録音できるはずです。

タイマー録音

Mac は完全に launchd に移行してるのかと思ったら cron も動いてるので cron で予約録音しました。launchdのためにXML書くの面倒臭いです。
crontab -e を実行して以下のように入力します。ZZコマンドで保存して終了。

59 20 * * 0 /path/to/nhkfmrec.sh 120

この設定だと「毎週日曜日20時59分に /path/to/nhkfmrec.sh 120 を実行」という意味になります。

参考

stick battery and Bluetooth keyboard

買いました。TUNEMAX STICK BATTERY は IDEOS 用に、Bluetooth シリコンキーボードは iPad 用に。

 IDEOSでテザリングとかしていると、すぐに内蔵バッテリーが無くなってくるんです。それでバッテリーを購入しました。容量的にフル充電できるそうなので、多い日も安心(何)。

 キーボードは……、iPadの画面がソフトキーボードで半分近く占領されるのが気に入らないのです。一応Apple純正のドックキーボードも持っているんですが、あれは iPad にカバーを掛けていると物理的に接続できないのです。あと、ふにゃふにゃしたキーボードに興味も在りましたし。ところでこのキーボード、ペアリング時に満充電でないとiPadが検出してくれないんですが……、そういうものなんでしょうか?

plot CIELAB on Matlab

図は示せませんが備忘の為に。

紙に出力された二種類のパッチチャートを測色してGamutの差を見たかったのですが、a*b*平面だけだとよく分からないので立体にしてみました。xy色度図とかu’v’にしても埒が明来ませんでしたので。


>> load set1.lab #測色データ読み込み
>> L1=set1(:,1);
>> a1=set1(:,2);
>> b1=set1(:,3);
>> [K1, V1]=convhulln([a1 b1 L1]); # 凸包計算
>> trisurf(K1, a1, b1, L1, 'FaceColor', 'magenta', 'EdgeColor', 'red') # 三角形表面プロット
>> alpha(.5) # 透明度設定
>> hold on
>> load set2.lab
>> L2=set2(:,1);
>> a2=set2(:,2);
>> b2=set2(:,3);
>> [K2, V2]=convhulln([a2 b2 L2]);
>> trisurf(K2, a2, b2, L2, 'FaceColor', 'cyan', 'EdgeColor', 'blue')
>> alpha(.5)
>> (V2 - V1) / V1 * 100 # 二つの体積差をパーセントで
ans =
5.2826

ImageMagickでサイズ変更

 今更なネタですが自分の備忘録として。たまにしか使わないからすぐ忘れる……。

 開発向けのアプリで固定解像度 (1812×1240) のビットマップ画像しか受け付けてくれないというのがありまして。Photoshop なんかで逐一リサイズしてたら面倒くさいことこの上ないのでコマンドラインでやることにしました。

for i in *.jpg ;
do
convert -depth 8 -density 600 -geometry 1812x1280 -crop 1812x1240+0+15 $i `basename ${i} jpg`bmp ;
done

 こんな感じgeometry でサイズ変更して crop で切り出し。デフォルトで 16bit になってしまうので depth 8 が必要。

 ところで最初、geometrycrop を同時にできないものと思い込んで

convert -geometry 1812x1280 input.jpg - | convert - -crop 1812x1240+0+15 output.bmp

みたいにしてました。それはいいんですが、前の方法で生成された画像と若干色合いが違うんですがどういうことなんでしょう……?Cygwin 環境だったから?

iPod touch新調!

 標記の通り、第四世代iPod touchを購入しました!今まで第二世代を使っていました。いやー、マルチタスク出来るわ解像度高いわ動作速いわで快適です。薄過ぎて落としそうになるのが玉に瑕。あ、カバーは付けてません。

 第四世代が発売されて何ヶ月も経った今、どうして買い換えたかといいますと、iOS 4.3以降がサポートされなくなったからです。ソフトは最新版じゃないと落ち着かなくて……。

 ところで吾は小説の読書管理にMediaMarkerというwebサービスを利用しております。iPhoneアプリもありまして、新しいiPod touchにインストールしました。このアプリにはiPod touchのカメラからバーコードを読み取って登録する機能が搭載されており、ものぐさな吾はこれで登録作業が楽になるぞと思ったのですが……。

送信者 その他

 ボケてますね。iPod touchのカメラはオートフォーカスではないので、近いとピントが合わないのです。このボケ具合でもAmazonのアプリなら辛うじて認識してくれるのですが、MediaMarkerアプリは無理でした。仕様がないので安いレンズスタンドを購入。

送信者 その他

 これだと何とか認識成功しました。あー、でもモバイル用のレンズ買おうかなあ。

restarting this blog

こっちのblogを再開したい(希望かよ)。できればこちらは技術系、ソーシャル系の記事を書きます。もう一つのblogは本とか駄文とか。

それはともかく今週末にやったこと。

  • wordpress.comのパスワードを忘れたのでリセット。
  • Gravatarでアイコン設定。
  • Github始めました。

Github使いたいけどGravatar設定しないとアイコンが表示されないらしい。あ、そういえばwordpress.comにblog作ってたんだ。という流れ。