電子も紙も積読を消化する技術

以前の記事では主に電子書籍の積読を聴いて消化する技術を紹介しました。紙書籍の積読は Kindle 固定レイアウトと絡めて方向性を示した程度でした。

sasasin.hatenablog.com

あれから日が経って、電子書籍の積読を消化する技術をもうちょっと整理できたのと、紙書籍の積読も聴き読書により消化する技術を整理できたので、ふたたび紹介します。前回同様「わたしはこうやってる」です。

2行まとめ

  • 電子書籍は、Kindle アシストリーダー、 Android TalkBack、 Android 版 ReadEra Premium で聴く
  • 紙書籍は、裁断してスキャンして画像化するか、非破壊ブックスキャナー vFlat Scan で画像化して、bunkoOCR でテキスト化して、テキストを ReadEra Premium で聴く

電子書籍

Kindle 固定レイアウト以外は読み上げ可能です。

PDF & EPUB

Android 版 ReadEra Premium で読み上げます。買い切りアプリです。Android 版の Premium 独自機能として、「画面消灯しても読み上げを継続する」機能が付加されてるのが良い。画面消灯できるから、端末の液晶バックライトの消費を抑止できるし、バッテリー消費も抑止できて、充電回数も抑止できます。バックライト交換費用、バッテリー交換費用、端末買い替え費用を先送りできて、サイフに優しく、末永く利用できるようになります。

play.google.com

Kindle リフロー形式 (TTS有効)

任意のプラットフォームの Kindle の アシストリーダーで読み上げます。もはや Android TalkBack に統一してもいいのですが、アシストリーダーは操作が圧倒的に簡単で手放せません。

Kindle リフロー形式 (TTS無効) & プリントレプリカ形式

Android TalkBack で読み上げます。リフロー形式 (TTS無効)、プリントレプリカ形式、どちらも TalkBack がページをめくって読み上げてくれます。TalkBack の開始終了は、ショートカットボタンを表示させることで簡単になります。

TalkBack による読み上げ中は、「まったく操作していない」と省エネ機能には見えてしまうようで、一定時間で画面消灯 & ロックされて、読み上げが止まります。対策としてアプリ「自動スリープ防止」で Kindle がアクティブなときは消灯をキャンセルさせてます。

play.google.com

Kindle 固定レイアウト形式

法的にはオッケーでも、Kindle利用規約的に安全を断言できるような、読み上げる方法は存在しないようです。諦めて他の経路から読み上げ可能な媒体で入手します。

稀に Audible で販売されていることがあります。さらに稀に Audible 聴き放題に含まれている場合もあります。

稀に同書の出版社の直販ウェブサイトからPDFまたはEPUBで購入できることがあります。上記までの PDF, EPUB の手法で読み上げます。

上記いずれでも入手できない場合は、紙書籍を入手し、後述の手法で読み上げます。

紙書籍

紙書籍は、画像化して、OCRでテキスト化すると、読み上げ可能になります。

裁断してスキャナーで画像化する

いわゆる「自炊」です。自分が所有していて、裁断してもいいと思える本は、この方法で画像化します。

機材はこんなで。

非破壊ブックスキャナーで画像化する

本を裁断してしまう手法と対比して、裁断とか分解とかで本を破壊しないで画像化する手法です。

たとえば以下は非破壊で画像化します。

  • 裁断するには惜しい本
  • 誰かから借りた本

非破壊ブックスキャナーの選択肢は複数あり、

  • 家庭用やSOHO用の数万円の製品
  • 業務用の数十万円から数百万円の製品
  • DIY。例。材料費は約5万円らしい。 https://note.com/fynote1009/n/n6cb2f1b6569e
  • iOS や Android のモバイルアプリ

私は安価に手軽に使い始められる Android モバイルアプリ vFlat Scan を使っています。

play.google.com

他の類似する非破壊ブックスキャナーアプリと比較して、vFlat Scan は以下が気に入ってます。

  1. 任意秒のカウントダウンして自動連続撮影ができる
    • 両手は本を広げるため塞がっており、スマホの撮影ボタンを押せないのでな
  2. 撮影した写真から書籍のページだけ自動で切り抜いてくれる。台形補正、歪み補正もやってくれる
    • 自動の画像補正が強力で優秀なので、人間が自分で読むときのように、ゆったり広げれば十分キレイに撮影できる
    • なので本にも優しくスキャンできる
  3. 画面上に、この部分この形状でページとして認識してるよ!を表示してくれる。撮影やりやすい
    • これがあるので、チカラいっぱい広げなくとも大丈夫だなと理解しながら撮影できる
    • なので本にも優しくスキャンできる
  4. 事後このページ撮り直したいが簡単にできる。画像を開いて、メニューから再撮影すると、置き換えてくれる
    • 一発でしっかりキレイに撮ろうと構えなくとも、まああとで撮り直せばいいしなと思える
    • なので本にも優しくスキャンできる
  5. スマホからパソコンへの画像の引き渡しが簡単にできる。説明しづらいんだがよくできてる。

vFlat Scan に OCR 機能はありますが、後述の bunkoOCR が圧倒的に優れていると感じています。なので、ここでは画像化までです。

実際の撮影は、vFlat Scan を入れた Android タブレットを、こんなアームで机に固定して、

タブレットホルダーで挟んで、撮影してます。

タブレットにすることで、大画面で内容を確認できるのがよいです。スマホでも撮影はできますが、確認が豆本みたく表示されて、キレイに撮れたんだかダメだったかよくわからなくて無理でした。

いまのところ vFlat Scan に満足しており、DIYとか業務用スキャナとかには手を出さなくていいと考えてます。

画像ファイルをPDFまたはZIPに固める

NASとか外付HDDに保管する用です。あまりコテコテ加工する前のオリジナルに近い画像で持っておくとよさそうです。将来の技術や手法で、今より優れた加工をできる可能性がありますので。

ImageMagick を使うと、画像ファイルの束を簡単にPDFに固められます。こんなかんじで。

github.com

poppler に含まれているCLIツール pdfimages を使うと、PDFを画像ファイルの束にバラせます。過去に自炊して作ったPDFなどは、この方法で画像ファイルに戻し、後述の OCR 工程にかけられるようになります。

github.com

ZIP ならPDFに比較して面倒なく固められるし解凍できます。昔に比べて軽快な ZIP コミックビューワーアプリが多数ありますので、PDFではなく、ZIPで管理してもよいかも。

画像ファイルを微調整する

スキャンした素のままでも後述の bunkoOCR が優秀すぎるので、やらなくてもいいのですが、私の趣味でノンブルを削っておきます。XnConvert で眺めながら削ります。

www.xnview.com

scoop で入手できます。

https://scoop.sh/#/apps?q=xnconvert

だいたい4段階でスッキリ削れます。

  • トリミング
    • 影を削るため全辺50ピクセルくらい削る
  • 自動トリミング
    • 余白を削ります
  • トリミング
    • ページ番号や章タイトルを実際に削ります。数十ピクセルくらい?
  • 自動トリミング
    • 余白を削ります

画像ファイルを bunkoOCR でテキスト化する

OCR アプリ bunkoOCR を使います。iOS/macOS/Windows が用意されており、私は Windows 版を使ってます。

lithium03.info

lithium03.info

以下が気に入ってます。

  • 日本語を OCR できます
  • OCR したテキストを、人間が読む順序に近い順序で並べてくれます
  • 横書きを OCR できます
  • 縦書きを OCR できます
  • 段組み (週刊誌や新聞などのように複数段に分かれている) でも OCR できます
  • 1枚に縦書き横書きに段組みが混在でも OCR できます
  • ルビ(読み仮名) が付いてても、ルビとわかるように OCR できます
    • OCR結果テキストからルビを除外できます
  • NVIDIA GPU アクセラレーションで OCR を爆速にできます
  • とにかく画像ファイルを用意できたらOCRできます
    • 画像ファイル1枚に対して、テキストファイル1個でOCR結果を出す、シンプルな挙動
    • 他のOCRアプリは、PDF になってないとダメとか、特定のスキャナとスキャンアプリ経由で作ったPDF経由でないとダメとか、とにかく面倒
  • 配布サイトからダウンロードして解凍してポン置きで動きます
    • クラウドにアカウント作ってAPIトークン発行してAPIを叩くPythonスクリプト書いて pip install して依存関係が入るの入らないの、とか一切不要

Windows パソコンで GeForce RTX 5070 12GB で、bunkoOCR を4インスタンス起動させて、分速100ページくらいでテキスト化できます。だいたい1冊200から400ページなので、数分で OCR が完了しテキスト化できます。

テキストファイルを ReadEra Premium で読み上げる

bunkoOCR は 1 ページ 1 テキストファイルとして生成して、このままでは読み上げさせるのにダルすぎるので、1個のテキストファイルに固めます。各位の趣味に応じて、章ごとに1個のテキストファイルに固めてもいいと思います。

bunkoOCR は紙のとおり行ごとに改行を入れてテキストファイルに出します。これはOCRとして正しい挙動です。が、後述の ReadEra は改行で一呼吸置いて読み上げて、これが聞くに耐えない(マジ苦行です)ので、改行も削除します。ただし単に改行を削除すると、本一冊が段落一個になって厳しいので、字下げを段落の区切りと見做して、改行を追加します。

cat *.txt |  perl -pe 's/\n//g; s/ /\n /g;' > ../"$(basename $(pwd))".txt

こうしてできたテキストファイルを、Windows から Android に何らかの方法で渡します。私は、Windows の特定のフォルダを SMB ファイル共有で家ネットに公開し、Android側は SMB 接続できるファイルマネージャーアプリで Windows に接続して、テキストファイルを受け取っています。

Android に渡ってきたら、ReadEra Premium を使います。ReadEra は PDF, EPUB だけでなく TXT も読み上げできます。

法的な扱い

ここまでの作業で発生した各種ファイル(画像、テキスト、PDF、ZIP)は、著作権法等で認められた範囲で扱いましょう。

全景

思いが溢れてダーーーッと書きました。電子も紙も全部まとめるとこうなります。

そもそも聴き読書の技術を開拓してるのは

若かれし日はフルタイム労働後に寝食を忘れて読書したものです。

それが今やフルタイム労働後は眼球や脳味噌の映像処理まわりがヘロヘロになって、ツイッターやYouTubeを眺めたり、のんびりしたアクションゲームならダラダラやれますが、いざグッと集中して読書となると眼が滑って全然ダメです。積読は増えるばかり。

そうしたなかで Kindle がアシストリーダーなるものを出してきて、聴いてみたら意外に聴ける。YouTubeの2倍速再生で鍛えてたので、Kindleアシストリーダーも3.5倍速とかで全然聴ける。みるみる積読消化できる。Kindleアシストリーダーで聴けないやつはどうするかな、、、と試行錯誤して今に至ってます。

眼で読める時は眼で読むのがいろいろ速いです。疲労か老化で、なんだか見る読書が捗らねえなと感じたら、聴く読書も試してみるとよいと思います。

今後は

これまでに電子書籍は順調(?)に積読消化が捗ってます。

今後は紙書籍も積読消化が捗ると期待できます。

とはいえ手元に積んである紙書籍は限りがあり、さてその先どうしようかですが、

  • 再読する
    • すでに結構な数の本が手元にあります。何度でも読んでいい
  • 電子書籍で買って読む
    • 安価な電子書籍は、電子書籍で買ってしまうのがよさそう
      • 非破壊ブックスキャンの手間暇と時間をかけるのが勿体無いくらい安い場合
  • 紙の新品を買って読む
  • 紙の中古を買って読む
    • アマゾン、ブックオフ、VALUE BOOKS、近所の古書店などなど
  • 市区町村の図書館の本を借りて読む
  • 国立国会図書館の本を借りて読む
    • 市区町村の図書館が収蔵してない本とか
    • 国立国会図書館は、なるべく市区町村の図書館から借りて!と言ってるので、わりと最後の手段ですね

図書館活用はブラウザ拡張「その本、図書館にあります。」で捗りそう。

chromewebstore.google.com

お金は有限なので、買うばかりでなく、借りるほうも今後は積極的に活用していきたいですね。