🌐 English README | 繁體中文 | 日本語(このページ)
📝 記事にも書きました
- 制作の背景・仕組み → 本を、耳で読めるようにしたかった(Zenn)
- 「画面から読む」の仕組み → Python+macOSのVisionで「画面の囲んだ所」をオフラインOCRして、VOICEVOXで読み上げる(Qiita)
- 勉強に使う話 → 参考書を、耳で読む日があってもいい(note)
本や書類を「ずんだもん」たちに読み上げてもらう、無料のデスクトップアプリです。
PDF・画像・txt・docx・epub から文字を取り出して、あなたのパソコンの中の VOICEVOX で朗読・音声化します。文字を目で追うのがつらいときに、耳で聴くという選択肢を。
これは「落葉いの道具箱 🍂」のひとつです。ひとりで作っているので、まだ粗いところもあります。それでも、小さな困りごとに手作りの道具を、というつもりで置いています。
▲ 実際の画面です。ファイルを放り込んで文字を取り出し、話者を選んで試聴・音声化・字幕出力まで。行頭の「@話者名:」で行ごとに声を分けられます。テーマは4種(🍂ライト/🌙ダーク/☀️くっきり/🌿ずんだ)から選択可。右のキャラ立ち絵は任意で、画像は同梱していません(置くと まばたき・口パクもします。入れ方は下の「クレジット・利用について」を参照)。
▶ 動いているところを見る:紹介動画(YouTube・36秒) / 📷 画面から読む(ショート・24秒)
この動画のナレーション自体も、このアプリで作りました。
スタートボタンを右クリック →「ターミナル」を開いて、次の1行を貼り付けて Enter。
irm https://raw.githubusercontent.com/rakuyou211-blip/TextToVoicevox/main/install.ps1 | iexPython が無ければ入れるかを聞き、アプリを入れて、デスクトップに「TextToVoicevox」のアイコンを作ります。以後はアイコンから起動するだけ。更新も同じ1行です(くわしくは下の「③ このアプリを入れる」)。
「ターミナル」(Launchpad で「ターミナル」と検索)を開いて、次の1行を貼り付けて return。
curl -fsSL https://raw.githubusercontent.com/rakuyou211-blip/TextToVoicevox/main/install.sh | bashPython が無ければ入れるかを聞き(パスワード不要)、アプリを入れて、**Launchpad に「TextToVoicevox」**を作ります。以後は Launchpad か Spotlight(⌘+スペース)から起動するだけ。更新も同じ1行です(くわしくは下の「③ このアプリを入れる」)。
コード署名について:Windows 用の起動用 TextToVoicevox.exe は、SignPath Foundation の証明書で署名します(無料のコード署名は SignPath.io の提供)。方針は docs/CODE_SIGNING.md に書いています。いまは申し込み中で、通るまでは .exe を入れずに配ります(起動.pyw が同じ役目をしています)。
- ⬇ Windows 用をダウンロード(
TextToVoicevox_Windows.zip) → 「すべて展開」してから起動.pywをダブルクリック。v1.24.0 から zip に.batは1つも入っていないので、スマート アプリ コントロールが有効な機械でも止められません - Mac の人は、zip ではなく、上の「Mac の人」のターミナルの1行を使ってください(警告が出ません)。
zip が欲しい人は → Mac 用 zip(
TextToVoicevox_Mac.zip)。ただし、ブラウザで落とした zip の中身をダブルクリックすると、Mac が必ず「開いていません」と止めます(Apple の有料の審査を受けていないアプリには、どれも出ます)。zip で入れるときは、下の「zip で入れる」の Mac の手順どおり、ダブルクリックではなくターミナルから始めてください。そうすれば出ません
どちらも最新版(いまは v1.24.2・数百KB)です。自分の OS の方だけ落とせば大丈夫です(v1.22.0 から分けました。ほかの版は Releases から)。
中身は Python のスクリプト一式です。EXE(ダブルクリックですぐ動く形)はまだありません。下の手順のとおり、Python を入れてから使ってください。
Windows の zip でダブルクリックするのは 起動.pyw の1つだけです。v1.23 までは 起動.bat も並んでいて、拡張子を隠す Windows ではどちらも「起動」に見え、.bat の方を開くと止められていました。いまは .bat を無くしたので、迷う所がありません(下の「はじめての人へ」参照)。
変更の履歴は CHANGELOG.md にまとめています。
- 分厚いPDFの資料や本を、家事をしながら耳で聴きたい
- 目が疲れていて、これ以上画面の細かい文字を追いたくない
- ディスレクシアなどで、文字を読むより聴くほうが頭に入りやすい
- スキャンした書類・写真に撮った紙の文字を、音声にして確認したい
- 小説をずんだもんの声で朗読させて、寝る前に流したい
- 字幕(.srt)付きの音声がほしい
- ずんだもん達の掛け合い動画を作りたい(行ごとに話者を分けて、音声も字幕も一括で書き出し)
「読む」がしんどいときに、「聴く」に切り替えるための道具です。
- 📷 画面から読む:電子書籍・PDF・Webページなど、画面の読みたい所をドラッグで囲むだけで、すぐ読み上げ(Ctrl/⌘+R)。読んだ文字は本文にたまっていきます。ページをめくったら ↻ 同じ範囲を読む(一度囲むと出るボタン・Ctrl/⌘+Shift+R)で囲み直さずに次のページへ。**「めくったら自動で読む」**をオンにすれば、ページをめくるだけで読み進められます(Macは初回だけ「画面収録」の許可が必要)
- 文字の取り出し:PDF・画像(PNG/JPEG等)・txt・docx・epub に対応
- オフラインOCR:画像やスキャンPDFの文字を、OSの標準エンジンで読み取り
(Windows = Windows.Media.Ocr / Mac = Apple Vision。ネットに送りません)
Windowsは日本語しか読めないことが多いので、英文の多い画像は英語用のOCRで読み直します(Windowsに「英語(米国)」を追加するか、
英語OCRを入れる.pywで RapidOCR を入れた場合。どちらもネットにはつながりません)。アプリの「2. ⚙️ 抽出オプション」にある 「英語の画像は?」 を押すと、その場で理由と入れ方を読めます - VOICEVOXで音声化:話者・話速・音高・抑揚・音量を調整して WAV / M4A / MP3 で保存 (WAVはいつでも保存できます。M4A・MP3・M4B は変換に ffmpeg が要り、Windows では ffmpeg が無いと保存形式の一覧に出ません。Mac は M4A・M4B をOS標準の afconvert で作れるので、ffmpeg が要るのは MP3 のときだけです)
- オーディオブック出力(M4B):全文を1ファイルにまとめ、章見出し(第◯章など)から自動でチャプターを埋め込み。Apple Books等で「本」として頭出しできます
- 声サンプル試聴:話者を選ぶとき「🔊 声を聴く」でキャラの公式サンプルを再生
- 読み確認:試聴すると「どう読んだか」をカナで表示。誤読は読み方辞書ですぐ直せます
- #メモ行:行頭に
#を付けた行は読み上げから除外(台本メモに) - 連続再生+しおり+一時停止:長い本も途中から聴き直せます(スペースキーで一時停止/再開)
- 生成のキャンセル:長い本の音声生成を途中で止められます(Esc)
- 行ごとに話者を変える:ナレーターとセリフで声を分けるような使い方も
- 字幕(.srt)出力:結合音声に合わせた字幕を書き出し
- 読み方辞書:固有名詞などの読み間違いを登録して直せます(上書き・編集・登録した読みの試聴も)
- 行単位の合成キャッシュ:誤読を1行直して再生成しても、他の行は再合成せず即完了。連続再生で聴いた本の音声化もほぼ一瞬
- 10時間級の長編にも対応:音声生成は逐次書き出しでメモリほぼ一定。キャンセルしても「ここまでを保存」できます
- PDFのページ範囲指定:
5-320のように指定して表紙・目次・索引を読み飛ばし - 掛け合い素材の整理支援:分割出力にセリフ一覧CSV(ファイル名・話者・テキスト・長さ)を自動保存。複数話者ならファイル名にも話者名が入ります
- 右クリックメニュー:本文の右クリックから「この行を試聴」「選択語を辞書登録」「@話者タグ挿入」「#メモ行にする」へ一直線
- 完了ダイアログから保存先を開く・クレジットをコピー:公開時に必要な
VOICEVOX:話者名の表記をワンクリックでコピーできます - 本文の自動保存:60秒ごとに自動保存。クラッシュしても次回起動時に復元されます
- 折り返しを賢く連結:画像OCRでは行の座標を使って、折り返しで割れた1文を確実につなぎ直します(見出し・箇条書き・別段落は尊重、誤連結なし)
- 青空文庫のルビ除去・Web小説の「漢字(かんじ)」型ルビ除去
- 画面キャプチャのノイズ除去:ニュースやSNS埋め込みのスクショから、時刻・局ロゴ・SNSハンドル・矢印などの“映像内オーバーレイ文字”を除いて本文だけ読み上げ(既定ON・保守的判定)
- 映像内ラベルの除去:ニュース画像OCRに残る局ロゴ・番組名・日時・カテゴリ表示などの短い日本語ラベル(例「MBSニュース」「国内」)を、行の座標・文字サイズから本文でないと判定して除きます(Windows/Mac両対応・上のノイズ除去と共通ON/OFF・本文は必ず残す保守的判定)
- OCR誤字の自動補正:OCRが取り違えやすい同形文字(
サ一ビス→サービス・卜ヨタ→トヨタ・2O26→2026など)を前後の文脈で確定できるときだけ直します(既定ON・OCR結果のみ対象。テキストファイルには触れません) - 読めない記号の展開:
①→1・㈱→株式会社・50㎡→50平方メートルなど、VOICEVOXが読み飛ばす記号を読みに展開(「全角英数→半角」オプションと連動) - ダークモード・文字サイズ変更・本文検索・主要操作のショートカット(画面から読む=Ctrl/⌘+R・抽出=Ctrl/⌘+Return・生成=Ctrl/⌘+G・試聴=Ctrl/⌘+P・停止=Esc など)
- CLI(コマンド)モード:GUIなしで一括変換(自動化・上級者向け)
- 集めない・送らない:テレメトリ0。使用状況を集めたりしません
- 登録なし:アカウントもメールアドレスもいりません
- ソース全公開(MIT):中身は全部このリポジトリで読めます。怪しいことをしていないか、自分の目で確かめられます
- 無料・広告なし
- オフラインで動く:文字の取り出しも音声化も、あなたのパソコンの中だけで完結します。VOICEVOXへの通信も、同じパソコンの中(ふだんは
http://127.0.0.1:50021。VOICEVOXが別のポートで動いているときは、本体が書き出す情報を見てそちらへつなぎます)に対してだけです ※ただし 初回セットアップのときだけ、部品(ライブラリ)をインターネットから集めるため通信します。それ以降は完全オフラインです(嘘にしたくないので正直に書きます)
このアプリは単体では音を出せません。先に VOICEVOX を用意する必要があります。順番を守ってください。
音声を作っているのは VOICEVOX 本体です。このアプリには同梱していません。
- VOICEVOX公式サイト から VOICEVOX をダウンロードしてインストール
- VOICEVOX を起動したままにする(起動していると
http://127.0.0.1:50021で待ち受けます)
VOICEVOXが起動していないと、このアプリは「エンジンに接続できません」となります。音声化のときは必ず起動しておいてください。
インストールさえ済んでいれば、2番の「起動」はこのアプリからでもできます。画面の「4. 🔊 VOICEVOX へ」の接続欄にある 「VOICEVOX起動」(エディタ画面つき。あとで手直ししたいとき)と 「エンジンのみ」(読み上げの部分だけ。起動が軽く、このアプリを閉じると一緒に終わります)で、準備ができ次第そのままつなぎにいきます。
配布物は Python のスクリプトです。パソコンに Python が必要です。
- python.org から Python 3.9 以降を入れるのがおすすめです
- Windowsのインストーラでは、最初の画面の 「Add Python to PATH」にチェックを入れてください
- (画面表示に tkinter を使います。python.org版のWindows/Mac標準インストーラなら最初から入っています。Mac で Homebrew の Python を使う人は
brew install python-tkも入れてください。tkinter が無い Python しか見つからないときは、Mac のセットアップがそう案内して止まります)
- スタートボタンを右クリック →「ターミナル」(または「Windows PowerShell」)を開く
- 次の1行をコピーして、貼り付けて Enter
irm https://raw.githubusercontent.com/rakuyou211-blip/TextToVoicevox/main/install.ps1 | iexこれだけで、Pythonが無ければ入れるかを聞いて(winget で公式版を入れます)、アプリを %LOCALAPPDATA%\TextToVoicevox に置き、部品を入れ、デスクトップとスタートメニューに「TextToVoicevox」のアイコンを作って起動します。以後はアイコンから起動するだけです。
- 「PCが保護されました」が出ません。あの警告は「ブラウザで落としたファイル」に付く印が原因で、この方法はPowerShell自身が取ってくるので印が付かないからです
- 新しい版にするときも同じ1行を貼るだけ(設定・辞書・自動保存・立ち絵はそのまま残ります)
- 中身は
install.ps1で全部読めます。管理者権限は使いません - やめるときは
%LOCALAPPDATA%\TextToVoicevoxフォルダと、2つのアイコンを消すだけです
- Launchpad で「ターミナル」と検索して開く
- 次の1行をコピーして、貼り付けて return
curl -fsSL https://raw.githubusercontent.com/rakuyou211-blip/TextToVoicevox/main/install.sh | bashこれだけで、使える Python が無ければ入れるかを聞いて(このアプリ専用の Python 3.12 を ~/.local/python3.12 に入れます。パスワード不要)、アプリを ~/Library/Application Support/TextToVoicevox に置き、部品を入れ、~/Applications に「TextToVoicevox」アプリを作って起動します。Launchpad と Spotlight から開けます。
- 「開けません」が出ません。あの警告は「ブラウザで落としたファイル」に付く検疫フラグが原因で、この方法は curl が取ってくるので印が付かないからです
- 新しい版にするときも同じ1行を貼るだけ(設定・辞書・自動保存・立ち絵はそのまま残ります)
- 「📷 画面から読む」を初めて使うときだけ、Mac が「画面収録」の許可を聞いてきます(システム設定で「TextToVoicevox」をオンに)
- 中身は
install.shで全部読めます。管理者権限は使いません - やめるときは
~/Library/Application Support/TextToVoicevoxと~/Applications/TextToVoicevox.app(ここで Python を入れた場合は~/.local/python3.12も)をゴミ箱へ
- 上の「⬇ ダウンロード」から、自分の OS 用の zip(
TextToVoicevox_Windows.zip/TextToVoicevox_Mac.zip)を落として、解凍する(Windows は右クリック→「すべて展開」、Mac はダブルクリック。OS標準の解凍がおすすめです) - Windows →
起動.pywをダブルクリック。初回は黒い窓でセットアップが進み、終わるとそのままアプリが開きます - Mac → ダブルクリックはしないで、ターミナルを開いて
bashと打ち(最後に半角スペース)、フォルダの中のsetup_mac.shをターミナルへドラッグして return。これで警告を出さずに、準備から起動まで進みます(2回目からは起動.commandのダブルクリックで開けます)
どちらもこれだけです。初回は自動でセットアップが走ります(venvを作って部品を入れるので、初回だけネットが要ります・数分)。
ほかのファイルは、ふだん触らなくて大丈夫:
はじめにお読みください.txt… この手順と「開けないとき」の最短手順をまとめた道しるべsetup.command… 部品を入れ直すためのもの(Mac。起動側が必要なときに自動で呼びます)。Windows はvenvフォルダを消してから起動.pywを開けば入れ直します英語OCRを入れる.pyw… 英語の多い画像も読みたい人だけが使う(Windowsのみ・任意。RapidOCRを入れます。約88MBのダウンロードで、アプリが約240MB大きくなります。64bit版・Python 3.12 までが対象です。Windowsに「英語(米国)」を追加する方法なら不要)setup_mac.sh… Mac で Gatekeeper に止められたときの確実な入口(下の「Macで警告が出たとき」参照)デバッグ起動.pyw/デバッグ起動.command… うまく動かないときに使うと、黒い画面にエラーの内容が出ます(まだ一度も起動できていない状態からでも調べられます)winlaunch.py/winsetup.py… Windows の.pywが使う中身(ダウンロードの印を外す・初回セットアップ・起動)。直接は触りません
うまくいかなかったときは、フォルダに記録が残ります。起動エラー.log は「ダブルクリックしても窓が開かない」ほうの記録(起動そのものに失敗したときだけ・毎回上書き)、エラー.log は開いたあとで失敗したときの記録(抽出・音声化・再生など。「詳細を表示」と同じ内容を書き足していき、大きくなりすぎたら古いぶんから捨てます)。不具合を知らせてもらうときは、この中身を添えてもらえると助かります。
あとは、開いた画面にファイルをドラッグ&ドロップ → 文字を取り出す → 必要なら直す → 音声を作る、の流れです。
このアプリは、個人(落葉い)が作っていて、有料の署名(コード署名)をしていません。そのため、初めて動かすときに Windows の SmartScreen や Mac の Gatekeeper、ウイルス対策ソフトが「知らないやつだぞ」と警告を出すことがあります。
なぜ出るのか:中身が危ないからではなく、「作った人がお金を払って身元証明していないから」です。個人開発だと、ここはどうしても引っかかります。
なぜ安全と言えるのか:このアプリは中身を**全部ソースで公開(MIT)**しています。winsetup.py も main.py も core.py も、このリポジトリで一行ずつ読めます。何をしているか隠していません。不安なら、詳しい人に中身を見てもらってから使っても大丈夫です。
署名について:Windows 用の起動用 TextToVoicevox.exe は、オープンソース向けの無料のコード署名(SignPath Foundation)で署名する準備をしています。方針は docs/CODE_SIGNING.md に書いています。
警告を通すのは、出たとしても「最初の1回」だけです。 起動のたびに、残りのファイルの警告ブロック(Windows の Mark of the Web / Mac の検疫フラグと実行権限)を自動で外すからです。手でコマンドを打つ必要はありません。
- Windows:
起動.pywが毎回、フォルダの中のダウンロードの印を外します(Python で印を消すだけなので一瞬です)。v1.23 までの.batが残っていたら、それも片付けます - Mac:
起動.commandが毎回、フォルダ直下の.command/.shの検疫フラグと実行権限を直します
v1.24.0 から、Windows の zip には .bat が1つも入っていません。 Windows 11 のスマート アプリ コントロールは、ネットから落とした印の付いた .bat を、中身も署名も見ずに拡張子だけで止めます。しかも SmartScreen と違って、通すボタンがありません。v1.23 までは 起動.pyw と 起動.bat が並んでいて、.bat の方を開いた人はそこで行き止まりでした。.py / .pyw は止められないので、入口を .pyw だけにしました。
- 「WindowsによってPCが保護されました」(SmartScreen) が出たら → 小さい 「詳細情報」 をクリック → 「実行」。通すのはこの1回だけです
- 古い版のフォルダに上書きで展開しても大丈夫です。
起動.pywを開けば、古い.batは消えます - 上の「Windows:1行でかんたん導入」の1行なら、警告は出ません(入っている版もそのまま新しくなります)
ウイルス対策ソフトが止めることもあります。中身はただの起動・セットアップ用のスクリプトです。心配なら中身を読んでから許可してください。
起動.commandを**普通にダブルクリックすると「"起動.command"は開いていません」「開けません」と出ます。「ゴミ箱に入れる」は押さずに「完了」**を押してください。通し方は2つ(どちらも初回1回だけ。あとは残りのファイルの検疫フラグと実行権限を自動で直します):- 確実な道(どのmacOSでも・おすすめ)
→ ターミナルを開いて
bashと打ち(半角スペースまで)、フォルダ内のsetup_mac.shをターミナルへドラッグして return → ターミナル経由なら Gatekeeper に止められず、「アクセス権がありません」(実行権限の喪失)でも動きます。修復から起動(初回は自動セットアップ)までこれ1本で終わります - マウスだけの道(macOS 15 Sequoia 以降の正規ルート) → 「開けません」のダイアログを「完了」で閉じる → システム設定 → プライバシーとセキュリティ → 下へスクロール → 「"起動.command"はブロックされました」の隣の 「このまま開く」 → 「開く」 → macOS 14 以前なら、従来どおり 右クリック→「開く」→「開く」 でも通せます(15以降はこの迂回が廃止されています)
ここでつまずくと最初で諦めてしまいがちなので、初回の通し方まで正直に書いておきました。
GUIを使わず、一括で変換できます。起動.pyw / 起動.command と同じ venv の Python で実行してください。
# PDF/画像/テキスト → VOICEVOX向けの整形txtを作る(エンジン不要)
python cli.py 本.pdf -o 出力フォルダ
# 音声まで一括生成(VOICEVOX起動が必要)
python cli.py 本.pdf -o 出力フォルダ --wav --speaker ずんだもん --combine --srt
python cli.py -h で全オプション(話速 --speed、字幕 --srt、ルビ除去 --paren-ruby、OCR解像度 --dpi、エンジンURL --url など)が見られます。
- 音声合成は VOICEVOX を使っています。ずんだもん等のキャラクター音声は VOICEVOX のものです
- 生成した音声を公開・配布するときは、VOICEVOX および各キャラクター(ずんだもん等)の利用規約・クレジット表記に必ず従ってください。 規約は各キャラクターごとに異なります
- キャラ立ち絵(任意・全43キャラ対応):
assets/立ち絵/にキャラ名.png(例春日部つむぎ.png)を置くと、話者に合わせてキャラが画面右に表示されます。VOICEVOXのどのキャラでも、名前でPNGを置くだけで対応(まばたき・口パクの差分も置けます)。立ち絵はリポジトリに同梱していません(公式素材の二次配布を避けるため)。入手先・置き方・キャラごとのクレジットはassets/立ち絵/README.mdを参照 - このアプリ自体のライセンスは MIT(
LICENSEを参照)。自由に使えますが、無保証です
ひとりで作っている生まれたての道具です。動かない・読み間違える・ここが分かりにくい、などあれば Issues で教えてください。全部は直せないかもしれませんが、ちゃんと読みます。
不具合じゃなくても、使ってみた一言がいちばん嬉しいです。「通学中に参考書を聞いてる」「ここで手が止まった」くらいで十分です。アプリの「▶ テキスト抽出 実行」の行の右端にある「💬 感想を送る」か、感想フォームからどうぞ。GitHub のアカウントが無ければ、X の @rakuyou211 へのリプライや DM でも。
作者: rakuyou211(https://github.com/rakuyou211-blip/TextToVoicevox) 🍂

