チャプターマーカー付きオーディオブックの作り方

オーディオブックとは

  • オーディオブックとは、元々は書籍を朗読した音声データを保存するための、MPEG4オーディオなファイル形式である。
  • 拡張子はm4b。でも、内部のデータ構造は基本的にm4aと変わらないらしい。
  • 但し、m4aと違って、iTunesiPhoneから操作したとき、以下の機能を備えている。
    • チャプターマーカーによる頭出しができる。
    • iPhoneなどで再生速度を好みの速さに変更できる*1

チャプターマーカーによる頭出し

QuickTime Playerによる頭出し

f:id:zariganitosh:20130313154126p:image:w450

  • command-shift-←・→のショートカットでも、チャプター間を素早く移動できる。
iTunesによる頭出し
  • メニューから頭出し

f:id:zariganitosh:20130313154127p:image:w450

  • オーディオブック ウィンドウから頭出し

f:id:zariganitosh:20130313154125p:image:w450

  • command-shift-←・→のショートカットでも、チャプター間を素早く移動できる。
  • もちろん、iPhoneなどのiOSバイスに同期すれば、iPhoneなどからも頭出し操作ができるのだ。


iPhoneなどで再生速度の変更

  • もう1つの素晴らしい機能が、再生速度の変更である。
  • iPhoneなどのiOSバイスで再生するとき、1/2×のアイコンをタップするのだ。

f:id:zariganitosh:20130313154130p:image:h300 f:id:zariganitosh:20130313154128p:image:h300 f:id:zariganitosh:20130313154129p:image:h300

  • 語学や情報番組の視聴をする時に、とても重宝しそう。
  • 残念なのは、iTunesからは再生速度を変更できないようだ...。

オーディオブックを作る

  • オーディオブックとするには、拡張子を .m4a から .m4b に変更してからiTunesに取り込んだり、
  • すでにiTunesに取り込まれている曲なら、以下の設定をするだけで、オーディオブックとなる。
    • 情報を見る(command-I) >> オプション >> メディアの種類:オーディオブック
    • 情報を見る(command-I) >> 情報 >> アルバム項目を設定する
      • 忘れずにアルバム項目を設定しておかないと、同期してもiPhoneなどから見つけられなかった...。
  • 但し、上記の簡易的な方法では、チャプターマーカーが埋め込まれない。
    • iPhoneなどで再生速度を変更することはできる。
  • オーディオブックの素晴らしいところは、チャプターマーカだと思っている。
  • チャプターマーカーのないオーディオブックなんて、目次のない本のようなものだ。

Audiobook Binder

  • radikoから予約録音しているJ-WAVEVisionが溜まってきたので、オーディオブックにまとめてみる。
    • 1日ごとにまとめた.m4aファイルをドラッグ&ドロップして、
    • 登録されたファイル名すべてを選択して、command-S。
    • チャプター分割されるので、チャプター名称を好みに変更。
    • 最後に[Bind]ボタンを押すと、オーディオブックの書き出しが始まった!

f:id:zariganitosh:20130313173232p:image:w450

  • しばらくしてオーディオブックの作成が完了したので、開いてみた。

f:id:zariganitosh:20130313173231p:image:w450

素晴らしい!ちゃんとチャプターマーカー付きのオーディオブックができた!

abbinderコマンド+Automator

  • ところで、ダウンロードしたAudiobook Binderには、abbinderというコマンドも含まれていた。
  • このabbinderコマンドを使うと、オーディオブックを作成するAutomatorサービスが簡単にできるのだ。

f:id:zariganitosh:20130313173233p:image:w450

  • コードの中身は以下の3行。
  • 1行目と3行目は、作業開始と終了を告げる通知なので、正味は真ん中の1行のみ。
    • 作業開始と終了を告げる通知=terminal-notifierコマンドが必要。
/usr/bin/terminal-notifier -title 'bind_to_AudioBook' -message 'running...'
/usr/local/bin/abbinder -E '%t' ~/Desktop/audiobook.m4b "$@"
/usr/bin/terminal-notifier -title 'bind_to_AudioBook' -message 'complete! Put on Desktop!'
  • Finderでオーディオファイルを選択して、「bind_to_AudioBook」を選択するだけでOK。
  • ファイル名がそのままチャプター名となり、オーディオブックが生成されるのだ!
  • オーディオブックはデスクトップに出力される仕様。(~/Desktop/audiobook.m4b)

abbinderコマンド+AppleScript

  • 上記はFinderからファイル名を選択する必要があるが、
  • iTunesの曲を複数選択してオーディオブックを作成したいこともある。
  • それを実現するAppleScriptも作ってみた。


message("bind_to_AudioBook", "処理中です...") do shell script "/usr/local/bin/abbinder -E '%t' ~/Desktop/audiobook.m4b " & join(iTunes_selection_path_list(), space) message("bind_to_AudioBook", "完了しました!")



on message(title, msg) do shell script "/usr/bin/terminal-notifier -title " & quoted form of title & " -message " & quoted form of msg
end message

on iTunes_selection_path_list() tell application "iTunes"
set sel_list to selection
set res_list to {} repeat with sel in sel_list
set res_list's end to quoted form of (sel's location as alias)'s POSIX path
end repeat
end tell
res_list
end iTunes_selection_path_list

on join(sourceList, delimiter) set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to delimiter
set theText to sourceList as text
set AppleScript's text item delimiters to oldDelimiters
theText
end join

  • 上記スクリプトを ~/Library/Scripts/Applications/iTunes/bind_to_AudioBook.scpt として保存しておくと、
  • iTunesを利用しながら、スクリプトメニューの上の方、操作しやすい位置に表示されるのだ。
  • オーディオブックはデスクトップに出力される仕様。(~/Desktop/audiobook.m4b)


これからはオーディオブックが便利そう!

*1:これはオーディオブックの機能というより、iPhoneなどの再生環境の性能と言えるが。でも、オーディオブックでないと再生速度を変更できない仕様のようだ。