世界を動かす技術を、日本語で。

Abogen – EPUB、PDF、テキストからオーディオブックを生成する

概要

  • Abogen はePub、PDF、テキストファイルを高品質な音声と字幕に即時変換するツール
  • Kokoro-82M 音声モデルを活用し、自然なテキスト読み上げを実現
  • インストール方法や使い方が Windows/Mac/Linux /Dockerに対応
  • カスタムボイス作成、バッチ処理、メタデータ追加 など多彩な機能
  • 多言語・多フォーマット対応で、オーディオブックや動画ナレーション用途に最適

Abogen概要

  • Abogen はテキストファイル(ePub/PDF/TXT)を 高品質な音声と同期字幕 に変換できるツール
  • Kokoro-82M モデル採用による自然な音声生成
  • Instagram、YouTube、TikTok などのナレーションやオーディオブック作成に最適
  • 変換速度は 数千文字を数秒で処理 可能
  • 字幕生成 も細かく設定可能(文単位、語単位など)

インストール方法

  • Windows

    • espeak-ng のインストールが必須
    • 【スクリプト使用】リポジトリをダウンロードし WINDOWS_INSTALL.bat を実行
      • 依存関係やPythonも自動インストール
    • 【pip使用】仮想環境作成後、 pip install abogen
      • NVIDIA GPUはCUDA対応torchをインストール
      • AMD GPUはWindows未対応、Linux推奨
  • Mac

    • brew install espeak-ng でespeak-ngを導入
    • 仮想環境を作成し、 pip3 install abogen
  • Linux

    • ディストリビューションごとに espeak-ng をインストール
    • 仮想環境作成、 pip3 install abogen
    • NVIDIA GPUは追加設定不要
    • AMD GPUはtorchのアンインストールとROCm対応torch再インストールが必要
  • トラブル対策

    • PATH エラー時はパスを追加
    • Pythonバージョン非対応エラー時は pyenv でバージョン管理

起動方法

  • pipインストール時 :コマンドラインで abogen を実行
  • Windowsインストーラ利用時 :ショートカットから起動、または python_embedded/Scripts/abogen.exe を直接実行

基本的な使い方

  • ePub、PDF、テキストファイルを ドラッグ&ドロップ または内蔵エディタで入力
  • 音声速度、ボイス選択、字幕スタイル、出力形式、保存先 を設定
  • Start ボタンで変換開始
  • バッチ処理 やキュー追加も可能

主な設定項目

  • 入力ボックス :ファイルのドラッグ&ドロップやエディタ入力
  • キュー処理 :複数ファイルの一括変換、ファイルごとに個別設定保持
  • 音声速度 :0.1x~2.0xまで調整可能
  • ボイス選択 :言語コード+性別(例:a=American English, m=男性)
  • ボイスミキサー :複数ボイスをミックスしカスタムボイス作成
  • 字幕生成 :文単位、語単位、カンマ区切りなど細かく選択
  • 出力音声形式 :WAV、FLAC、MP3、OPUS、M4B(チャプター対応)
  • 字幕形式 :SRT、ASS(ワイド/ナロー/センタリング)に対応
  • 改行置換 :1行改行をスペースに変換しテキスト整形
  • 保存先 :入力ファイル横、デスクトップ、任意フォルダから選択

電子書籍用オプション

  • チャプター指定 :ePub/PDFの特定チャプターやページを選択
  • チャプターごとに保存 :各章を個別音声ファイルとして出力
  • 統合版作成 :全チャプター結合音声ファイル生成
  • プロジェクトフォルダ保存 :メタデータ付きで一括管理

メニューオプション

  • テーマ変更 :システム/ライト/ダーク
  • 字幕1エントリー最大語数設定
  • ログウィンドウ最大行数設定
  • 個別チャプター音声形式選択
  • デスクトップショートカット作成
  • 設定/キャッシュディレクトリオープン
  • キャッシュクリア
  • 起動時アップデートチェック
  • Kokoroのインターネットアクセス制限 (オフライン利用向け)
  • 設定リセット

ボイスミキサー

  • 複数の 音声モデルを合成 し、独自のカスタムボイスを作成可能
  • 重み付け調整・プロファイル保存が可能
  • 独自・個性的な音声生成が可能

キュー(バッチ)モード

  • 複数ファイルを一括処理 できるキュー機能
  • 各ファイルの設定は追加時の状態を保持
  • メインウィンドウの設定変更は既存キューには影響なし
  • ファイルごとの設定は マウスオーバー で確認可能

チャプターマーカーとメタデータタグ

  • <<CHAPTER_MARKER:章タイトル>> タグでチャプター分割・再処理が容易
  • <<METADATA_TITLE:タイトル>> などのタグでM4B用メタデータを埋め込み可能
  • ePub/PDF変換時は自動付与、テキストファイルでも手動追加可能

対応言語・ボイス

  • American English, British English, Spanish, French, Hindi, Italian, Japanese, Brazilian Portuguese, Mandarin Chinese など
  • 日本語・中国語は追加パッケージ(misaki[ja]/misaki[zh])が必要
  • 詳細はKokoroの VOICES.md、サンプル音声は SAMPLES.md 参照

MPV設定例

  • MPV プレイヤー推奨、音声ファイルでも字幕表示が可能
  • mpv.conf
    • save-position-on-quit
    • keep-open=yes
    • sub-ass-override=no
    • sub-margin-y=50
    • sub-margin-x=50
    • audio-channels=auto
    • audio-samplerate=48000
    • volume-max=200

Dockerでの利用

  • リポジトリをダウンロード し、abogenフォルダでDockerイメージをビルド
  • 【Windows】docker run --gpus all abogen
  • 【Linux/Mac】docker run --gpus all abogen
  • 5800番ポート でWebブラウザアクセス、 5900番ポート でVNC接続可能
  • /sharedディレクトリ でホスト⇔コンテナ間のファイル共有
  • 既知の問題 :オーディオプレビュー不可、設定/キャッシュディレクトリオープン不可

類似プロジェクト

  • audiblez :電子書籍からオーディオブック生成(CLI/GUI対応)
  • autiobooks :epub自動変換
  • pdf-narrator :PDF/EPUBのオーディオブック化
  • epub_to_audiobook :Audiobookshelf向け最適化変換
  • ebook2audiobook :電子書籍から音声生成

Hackerたちの意見

デモ動画には音声が入ってないみたいだね!少なくとも、ffmpegやFirefoxが使ってるやつでは認識できないみたい。

Safariでは音が聞こえるよ。

こっちも同じ、動画に音声が入ってない。

こちらもそうだけど、Chromeで開いたら動いたよ。なんか変なエラーだね。音声付きの埋め込みmp4がブラウザによって違うなんて思わないよね。

そうなんだ、ローカルのKokoroインスタンスを動かしてみたけど、Firefoxでは動かないね。これ、裏でKokoroを使ってるんだ。

おそらく、24kHzモノPCMという変わった音声フォーマットと、WebMコンテナに無理やり入れられたせいだね。WebMは公式にはVorbisとOpusしかサポートしてないから。著者は「より高品質」のffmpegコマンドラインを使って作ったみたいだけど、最終的な拡張子が「webm」になってるから、説明されている「より多くのデバイスに対応したMP4ファイル」とは逆のものができちゃったみたい。 https://github.com/denizsafak/abogen/tree/main/demo#for-high...

ありがとう!Waterfoxに何か問題があると思ってたけど、(長い)動画のURLをターミナルに貼り付けたら、mpvで音声付きで再生できたよ。

READMEの「似たプロジェクト」セクションに書いてあったCLIアプリのKokoro TTSを使ってるよ。モデルは速いし、小さいわりにクオリティもすごくいい。ただ、いくつか問題があって、a) 文末のピリオドと「Mr.」や「Mrs.」の略語のピリオドを区別できないから、「Mr.」と名前の間に変な間ができちゃう。b) 三点リーダーの扱いがイマイチ。c) 文脈に関係なく、単語の発音が同じなんだよね。

「Mr.」や「Mrs.」の問題は、もっと一般的なケースを減らすために簡単に修正できそうな気がする。

それって、音声に変換するの?それともオーディオブックになるの?いいオーディオブックって、声優がキャラクターを違う強調や方言で読んでることが多いよね。ChatGPTみたいなツールなら数文はできると思うけど、8〜20時間のオーディオブックはどうなるんだろう?今の技術と競えるクオリティでepubからオーディオブックにするには、まだ基本的なハードルがあると思うけど、何か見落としてる?

Elevenlabsには「フルキャスト」タイプの生成機能があって、異なるキャラクターに異なる声を割り当てることができるよ。ただ、方言には自動的に敏感じゃないみたい。今のシステムでできる可能性はあると思うけど。文脈やプロンプトを使って強調や他の話し方の質を変えることができるTTSシステムもあると思うけど、どれくらい信頼できるかはわからないな。

ミキサーを使ってミックスできるキャラクターの声がいくつかあるよ。これで異なるニュアンスを出せるんだ。自分でコードを書いて、キャラクターごとに異なる声を使うこともできるよ。

ブログ記事や投稿の音声化にKokoroを試してみたけど、正直あまり感動しなかったな。今はGemini 2.5 Flash TTSの方がずっと優れたシステムで、無料の制限もかなり緩い(生成ごとに約10分、1日で約90分)。声の一貫性はあまりないけど、短い作品にはそれほど問題じゃない(でも本には明らかに影響するね)。

KokoroはTTSにはいいけど、感情が欠けてるね。でも、このサイズのモデルならそれは仕方ないかな。

いいね!余談だけど、このツールを使ってテキスト形式の本からオーディオブックを作るのはプライベート用にはいいけど、著者がこれを使って配布用のファイルを作るのはめちゃくちゃリスクが高いよ。たとえその使用を認めて、ファイルを自分のウェブサイトだけで公開するつもりでもね。インディー作家は作品のプロモーションに苦労してるし、今の新常識は、丁寧な読者たち[^1]がAI使用のわずかなヒントでタイトルを捨てて次に行っちゃうことなんだ…それは当然だよ、だって本がたくさんあるからね。特に私は、演技力があって発音も良い声優を雇うようにしてるんだけど、英語が第二言語の人や、家では別の言語を話す人が多い。時にはアクセントを強めてくれるよう頼むこともあるよ。これがAI認識を避けるのに役立つし、新しいことに挑戦したい人たちにとって本の魅力も増すからね。ある時、プロジェクトのオーディションをしたら、地中海周辺の人たちがどれだけ生き生きとした表現をしてくれたかに驚いたよ。イギリスや北アメリカの人たちと比べてね。[^1] 無礼な読者は町を燃やして、その火を隣町にまで広げるから、たちが悪いよ。

AmazonのWhisperSync機能をめちゃくちゃ使ってるよ。この機能があれば、本を読みながら同時に聴けるから便利なんだ。特に移動中でもたまに視覚的に確認したり、後でハイライトしたいテキストがあるときに役立つよ。ただ、多くの本がその機能を提供してないのが問題なんだ。今はKindleアプリに内蔵の読み上げ機能があるけど、あれはイマイチ。だから、私に聞かれたら、良い人間が書いた本にAIの声を追加して、その機能を使えるようにしてほしいな。

すごいね!でも、個人的にはPDFからちゃんとフォーマットされたePubを生成するやつを待ってるよ。

完璧!こんなの探してたんだ!これはGUIだけなの?それともAPIもあるの?スマホからリンクやテキストを共有して、音声を返してもらいたいんだけど。

いろんな哲学書を音声化しようとしてこれを使ってるんだけど、ちょっと大きな問題にぶつかった。Kokoroに送る入力テキストが長すぎると、文の途中や最後で単語を飛ばしたり、最後がフェードアウトしちゃうんだ。abogenは文ごとにテキストを分割してKokoroに送るから、長さに関係なく文がそのまま送られちゃう。これじゃ使えないオーディオブックができちゃう。今は、nltkやちょっとした正規表現を使って、同じ目的のために自分のKokoroベースのtkinterアプリを作るために「バイブコーディング」してるところ。

"kokoro-tts" CLIを使ってるんだけど、こっちの方が分割がうまくいくよ。https://github.com/nazdridoy/kokoro-tts 音声ファイルのディレクトリと、電子書籍の章用のメタデータファイルを生成してくれる。音声ファイルをオーディオブックにまとめるにはm4b-toolを使って、章のメタデータも含める必要があるけど、すごくうまくいくよ: https://github.com/sandreas/m4b-tool このワークフローについて投稿したいと思ってたんだけど、めちゃくちゃ便利なんだ。

多くのディープラーニングTTSが非決定的なのが耐えられない。少なくとも古典的なものは予測可能な発音があって、必要ならそれに対処できるから。

これを実行するには、pipが使える環境でやらないとダメだよ。abogenアプリの実行中にそのツールが使われるから。uv tool run abogenで始められるけど、モデルのインストールでアプリがハングしちゃう。uv venv && uv pip install pip && source .venv/bin/activate && abogenを使うとちゃんと動くよ。それ以外は、いい感じにパッケージされたGUIだね。お疲れ様!PDFを試してみたけど、ページやセクションを選ぶUIが良くて、生成も僕のノートPCのGTX 1650で速かった。結果は.ogg音声と.ass字幕ファイル。mpvで再生すると、ターミナルで聴きながら読み進められる。ただ、PDFからの視覚的な改行が保持されてるせいで、文の途中で「ランダムに」長いポーズが入っちゃうのが唯一の問題。これが音声の理解を大きく妨げる。編集:単一の改行をスキップする設定を有効にすると助かるよ!

RTX 4060で110ページの本を約1時間でwavに変換したよ。ただ、新しい改行を有効にしてなかったから、あんまり役に立たなかった。改行を有効にすると、すごくいい感じになる。af_heartは僕にとって素晴らしい声だけど、af_jessicaはちょっとウザい。オーディオブックに関しては、声優の好みのランダムさが本の内容と同じくらい重要なんだ。こんな日が来るとは思ってたけど、本当に驚いてる。オーディオブックに慣れすぎて、実際に本をじっくり読むのが難しくなってる。変換したい本が20冊くらいあるけど、誰かに読んでもらう市場なんてないし、僕が好きな声で読んでもらうこともできない。信じられないよ。

オーディオブックが大好きなんだけど、ナレーションにはうるさいんだ。ナレーターが気に入らなくて、たくさんのオーディオブックを聴くのをやめたこともある。こういうのを使えるようになるのは、まだ先になりそうだね。

あるシリーズを思い出すんだけど、R. C. Brayが何冊かのナレーションをやってたんだよね。それが何かの理由で別のナレーターに変わっちゃって、質がめっちゃ落ちたから、結局そのシリーズを最後まで聴くのを諦めちゃった。正直、作者たちも内容であんまり助けてくれなかったしね。ウィル・ウィートンみたいなナレーターは、すごく面白いから、彼が声を担当してる作品を積極的に探しちゃう。一般的に、ナレーターがシリーズの良し悪しを決めるっていうのには同意だな。