ReadAloud Voice Engine Study — 検証日 2026-07-16

良い声はどこから来るか
ReadAloud 音声エンジン選定図解

自作読み上げアプリ(iOS v0.9.0/Windows v1.0)の「声の世代交代」設計資料。iOSは既存Azure資産を活かしたDragon HD、WindowsはAivisSpeech(ローカル・0円)、実験枠にOpenAI gpt-4o-mini-ttsの3案を、なぜ×3の深掘り・費用・工数・落とし穴まで一枚に集約した。

価格・仕様は2026-07-16時点の公式ドキュメント/公表値。換算 ¥150/$(要確認)。本1冊=10万字≈250分音声(400字/分)で試算。「未検証」表記は実測していない項目。

PLAN A · iOS 本命

Azure Dragon HD

ja-JP-Nanami / Masaru HD(GA)。LLMベースで文脈から抑揚を自動生成

工数
4–6h
1冊コスト
≈¥330
品質期待
PLAN B · Windows 本命

AivisSpeech(ローカル)

SAPI Haruka(2013世代)から2世代ジャンプ。CPUのみ・外部送信ゼロ

工数
11–17h
1冊コスト
¥0
品質期待
特大
PLAN C · 実験枠

OpenAI gpt-4o-mini-tts

「声の人格を文章で指示」できる唯一級のAPI。Provider化の実証台

工数
13–19h
1冊コスト
≈¥560
品質期待
中〜大

先に結論: ElevenLabsは品質最高峰だが1冊≈¥4,500で長文用途とコスト構造が合わず見送り。GPT-Live(ChatGPTの新音声)はAPI未提供のため現時点で組み込み不可。ChatGPT提案書は要件定義として優秀だが、28項目中14項目が実装済み機能の再発明だった(§7参照)。

01

現実確認 — 「ChatGPTのあの声」は買えるのか

GPT-Live と openai.fm は別物

GPT-Live API未提供

ChatGPTの音声会話を刷新した新モデル(2026-07-08発表)。聴きながら話すフルデュプレックス型

  • 日本語の自然さはユーザー実聴で「素晴らしい」— 会話モデルとして本物
  • 提供先は ChatGPTアプリ内のみ(Go/Plus/Pro=GPT-Live-1、無料=mini)
  • API・料金は未公表 → ReadAloudからは呼べない
  • 対応: Provider切替構造(Plan C)を先に作り、API公開時に差し替え

openai.fm = gpt-4o-mini-tts API提供中

2025-03公開のTTSモデルのデモサイト。openai.fmで無料試聴できる

  • instructions で話し方を文章指示可(例:「落ち着いた40代のナレーター」)
  • 約$0.015/分 ≈ ¥560/冊。日本語ベンチ90.2点(Polly 91.3点と拮抗)
  • 英語最適化のためアクセント揺れの報告あり → 要実聴
  • 対応: Plan Cとして比較画面に組み込み、実聴で判定

教訓: 「ChatGPTで聞こえた声」と「APIで買える声」は別製品。GPT-Liveの声を今日のアプリに入れる手段は存在しない。買えるのは gpt-4o-mini-tts(openai.fm)の系統で、これは十分良いが同じ声ではない。

02

現在地マップ — 変えるのは「声」だけ、配管は流用

iOS

ReadAloud v0.9.0 — Azureの中で声を世代交代

現在
Azure 標準ニューラル
F0無料枠 / japaneast / Nanami等 + AVSpeechフォールバック
そのまま使える資産: SHA256キャッシュ(voice|rate|text 実装確認済) 読み方辞書(日本語チャンク限定適用) 失敗時フォールバック+案内表示 リージョン/声名は設定画面の値(コード変更最小)
WINDOWS

ReadAloud win v1.0 — 最も音質が低い場所に最大の伸びしろ

現在
SAPI Haruka / Zira
2013世代の連結型音声。この環境で列挙されるのは2声のみ
そのまま使える資産: 共有辞書 dictionary.json + Build-Spoken置換 Ctrl+Alt+R ホットキー WinFormsUI・速度スライダー SAPIは非常用フォールバックに降格
03

3案の深掘り — なぜ×3

1段目=表面 / 2段目=構造 / 3段目=代替案との決着
PLAN A

iOS: Azure Dragon HD(ja-JP-Nanami / Masaru、GA提供中)

$22/100万字 ≈ ¥330/冊 · レイテンシ<300ms
品質の根拠
LLMベースで入力文の意味を理解し感情・間・リズムを自動予測。標準ニューラルの「文単位で平板」を超える
日本語声
DragonHD: Nanami/Masaru(GA)。HD Omni: 既存全声(Mayu, Keita等)のHD版+多言語自動判定
混在文
HD Omniは自動言語判定+<lang>対応 → 日英混在の読みが改善見込み
ハイライト
HD Omniは単語境界イベント対応 → 既存ハイライト機構と接続可能
規約
Azureリージョン内でデータ処理と明記。声優クローン禁止ポリシーと無関係の既製声

なぜ Dragon HD か — 3回掘る

1実装済みAzure資産を100%流用して声だけ替えられる唯一の品質ジャンプだから。コード実測: 声名・リージョンは設定値、キャッシュキーは声名込み(AzureSpeechEngine.swift)。変更の本体はSSML生成1関数の分岐のみ。
2ではなぜHDだと「疲れにくく」なるのか。長時間聴取の疲れは局所の音質より「抑揚の単調さ」から来る。HDは文脈から間・強弱を予測して毎回微妙に変えて読む(prosody variations)。ユーザー最重要要件「長時間聴いても疲れない」に直結するのはここ。
3ではなぜElevenLabsやOpenAIでなくAzure HDなのか。長文大量消費のコスト構造で1〜2桁安い(¥330 vs ¥4,500/冊)。単語境界イベント・SSML断片・辞書・キャッシュの互換で移行リスクが最小。ElevenLabsの+αの表現力は「本を聴く」用途では過剰。

リスク: ①Japan East非対応→southeastasiaに新S0リソース ②<prosody>非対応→現行4倍速の作り直し ③F0無料枠対象外→予算アラート必須(§6参照)

PLAN B

Windows: AivisSpeech Engine(無料・商用可・クレジット不要)

¥0 · CPUのみ · RAM 1.5GB〜
品質の根拠
Style-Bert-VITS2系の学習ベース韻律。連結型SAPIとは世代が2つ違う。ナレーション調モデル(Anneli等)が公式提供
動作
ONNX RuntimeでCPU動作が公式想定。実測報告: CPU合成 約600ms/リクエスト → チャンク先読みで実用圏(このPCでは未実測)
API
VOICEVOX互換 HTTP API(localhost:10101)。PowerShellのInvoke-RestMethodから呼べる
拡張
AivisHubから音声モデル追加。ライセンス明示モデルを選べばクローン禁止ポリシーと整合

なぜ AivisSpeech か — 3回掘る

1アプリ全体で最も音質が低いのがWindows版のHaruka。改善幅が最大だから。iOSはすでにニューラル声、Windowsだけ2013世代。同じ工数を投じるなら限界効用が一番大きい場所に。
2ではなぜクラウドでなくローカルなのか。Windows版の主用途は Ctrl+Alt+R での「どのアプリの選択文でも即読み上げ」=業務資料・個人情報が高頻度で通る。外部送信ゼロ・従量課金ゼロが構造的に正しく、5点検の費用上限・権限が設計段階でクリアされる。
3ではなぜVOICEVOXやKokoro/Piperでなくか。VOICEVOXはキャラ声寄りで「知的で落ち着いたナレーター」から遠い。Kokoro/Piperは日本語品質が一段落ちる。AivisSpeechはナレーション自然さで国産ローカル現行最有力+VOICEVOX互換APIで実装資料が最も厚い。

リスク: ①このPCでの合成速度は未実測(導入前1hの実測をStep 0に組込) ②SAPIのSpeakProgress相当がなく単語ハイライト→文単位に粗くなる ③常駐メモリ1.5GB+

PLAN C

iOS実験枠: OpenAI gpt-4o-mini-tts + TTSProvider化

≈$0.015/分 ≈ ¥560/冊
品質の根拠
日本語ベンチ90.2点(ABEJA比較、Polly 91.3と拮抗)。従来OpenAI TTSよりアクセント改善
固有能力
instructionsに「30代後半の落ち着いた日本人ナレーター…」等の声プロンプトを直接渡せる(ChatGPT提案書§3の理想声文がそのまま使える)
弱点
英語最適化。日本語のアクセント揺れ報告あり → 主役にせず比較枠
将来性
GPT-Live API公開時、このProvider枠に差し替えるだけで済む

なぜ第3枠に入れるか — 3回掘る

1ChatGPT提案書の核心「声を文章でデザインする」が実際に動く数少ないAPIだから。AzureのstyleはHD系で英語のみ。声プロンプトを本当に試せるのはmini-tts(とGemini TTS)。
2ではなぜ主役にしないのか。日本語ネイティブ品質はAzure HD・国産勢に一歩譲る報告があり、GPT-Liveの声とは別物。¥560/冊はHDの1.7倍。「良い声で長文を聴く」主目的にはHDが上回る見込み。
3ではなぜ今やる価値があるのか。Provider抽象化(ChatGPT提案書§6、採用決定)の実証台として最適。2社目のProviderを実装して初めて抽象化は正しく設計される。GPT-Live/Gemini TTS/将来のローカルモデルへの拡張口が開く。

リスク: APIキー管理が2系統に増える → Keychain移行(§7採用項目)とセットで実施。usage hard limit $5設定。

04

コスト比較 — ビジネス書1冊(10万字 ≈ 250分)

1冊読み上げの実費 ¥150/$ 換算・要確認

バーは金額(線形スケール)。ElevenLabsだけ桁が違うことが、この図の主旨。

AivisSpeechローカル / Windows
¥0
Azure 標準 F0月50万字まで / 現行構成
¥0
Azure 標準 S0$16/100万字
¥240
Azure Dragon HD ★$22/100万字 · Plan A
¥330
OpenAI mini-tts$0.015/分 × 250分 · Plan C
≈¥560
ElevenLabs v31字=1クレジット / 従量$0.30/1000字
≈¥4,500
月間シナリオ(本3冊=30万字/月): Azure標準F0=¥0(無料枠内)/Dragon HD=約¥990/月/ElevenLabsはCreatorプラン$22でも121Kクレジット=約1.2冊で枯渇。「毎日長文を聴く」利用構造では、ElevenLabsの品質差額に月数千円を払い続ける形になる。これが見送りの理由のすべて。
05

実装工数 — 根拠つき見積もり

スケール 0〜20h · 斜線=任意オプション
Plan A: Dragon HD半日〜1日
4–6h
+4–6h(4x維持オプション)
Plan B: AivisSpeech2〜3日
11–17h
Plan C: Provider化+OpenAI2〜3日
13–19h
0h5h10h15h20h
Plan A の内訳と根拠(4–6h)
作業根拠見積
southeastasiaにS0リソース作成+予算アラート設定HD音声はjapaneast非対応・F0対象外(公式リージョン表で確認)1h
リージョン・声名の切替両方とも設定画面の入力値(AzureConfig実装確認済)→ コード変更ほぼゼロ0.5h
SSML分岐: HD時は<prosody>除去+temperature付与現行ssml()はprosody rate固定挿入(AzureSpeechEngine.swift:209)。HD判定1分岐+キャッシュキーは既に声名込みで安全1–2h
速度UI調整(HD時は2倍上限表示)iOS標準声で同じ「上限案内」パターンを実装済み → 流用0.5h
実機試聴・Nanami HD vs 標準の比較CIビルド→AltStore反映の確立済み手順1–2h
(任意)4倍速の復活: AVAudioPlayer→AVAudioUnitTimePitch再生系の載せ替えで再生バー・バックグラウンド再生の回帰テストが必要+4–6h
Plan B の内訳と根拠(11–17h)
作業根拠見積
導入+このPCでのCPU合成速度実測GPUなし環境の実速度は未検証 → 最初に測って中止判断を可能に1h
Engine起動管理(プロセス検出・ポート疎通・未起動案内)常駐前提のローカルサーバー。ReadAloud.ps1起動時のヘルスチェック追加2–3h
合成API呼出+WAV再生キュー+チャンク先読み1本audio_query→synthesisの2段呼び出し。System.Speechの同期発話をプレイヤー方式に転換する部分が本体4–6h
ハイライトを単語→文単位に再設計SpeakProgress相当イベントなし。既存Build-Spokenの位置写像は文粒度で流用可2–4h
速度(speedScale)+読み方辞書の接続辞書置換は既存Load-ReadingRulesを合成前テキストに適用するだけ1–2h
Engine不達時のSAPIフォールバックiOS版と同じ「代替案内つきフォールバック」パターンを踏襲1h
Plan C の内訳と根拠(13–19h)
作業根拠見積
TTSProviderプロトコル化(ChatGPT提案書§6)PlaybackControllerの合成呼び出しは3箇所(通常/ローカルfallback/先読み)と特定済み → 抽象化の切断面が明確4–6h
OpenAIProvider実装(REST+instructions+mp3受信)Azure実装と同型のURLSession POST。既存キャッシュ・再生経路に乗せる3–4h
APIキーのKeychain移行+設定画面(2社対応)現状UserDefaults保管を実装確認 → ChatGPT提案書§13は正当、まとめて対処2–3h
音声比較画面(§17簡易版: 同一文を各Providerで生成・採点保存)新規View+評価のJSON保存。LibraryStoreの1件=1JSONパターンを流用4–6h
06

落とし穴 — 先に知っていれば1往復失わない

HD音声は Japan East 非対応 対応はsoutheastasia / eastus / swedencentral等9リージョンのみ(公式リージョン表・TTSタブで確認)。現行のjapaneastリソースでは声名を入れても404になる。
southeastasiaに新S0リソース。リージョンは設定画面入力値なのでアプリ改修不要。レイテンシ増(未実測)はチャンク先読みで吸収見込み。
HD音声は <prosody> 非対応 → 現行4倍速が壊れる 現行実装は prosody rate(-40%〜+100%)×プレイヤーレートの掛け算で4xを実現。HDではprosody自体が無視/エラーになる。
HD時はプレイヤーレートのみ(〜2x)に自動切替+案内表示。3x/4x派にはAVAudioUnitTimePitch化(+4–6h)か、高速時だけ標準ニューラルへ自動フォールバック。
HD音声はF0無料枠の対象外 F0の「月50万字無料」は標準ニューラルのみ。HDは$22/100万字の従量課金(2026-03に$30から値下げ)。
S0化と同時にAzure Cost Managementで月¥1,000の予算アラート。普段使い=F0標準・じっくり聴く本=HD の使い分けも可(両リソース併存)。
HDのstyle指定は英語コンテンツのみ 感情style(calm等)とHD Omniのexpress-asは英語文にしか効かない。日本語では「文脈からの自動調整」だけが働く。
ChatGPT提案書§8の「モードプリセット」は、日本語ではtemperature/速度/声の組合せとして実装。style文はPlan C(mini-ttsのinstructions)で試す。
AivisSpeechの実速度はこのPCで未計測 「CPU合成600ms/リクエスト」は他環境の実測報告。GPUなし・常用アプリ同居のこのPCでの数値ではない。
Step 0で計測(長め段落3本の合成時間÷音声長)。RTF>0.5なら先読み本数を増やす、>1.0なら導入中止判断。
SSMLエスケープの網羅は未確認 現行コードで&のエスケープは確認済み。Web/PDF/OCR由来の本文が<等でSSMLを壊さないか(注入面はここだけ)の全記号確認は未実施。
Plan A着手時にssml()のエスケープ網羅(< > ' ")をユニットで確認。5点検のprompt injection項目として処理。
07

ChatGPT提案書の監査 — 28項目を3つに仕分け

v0.9.0の実装状況と突き合わせ
14
実装済み(再発明を防止)
9
採用(価値ある新規)
5
見送り・保留
実装済み — 提案書はv0.9.0を知らない
  • チャンク分割+先行生成 §10TextChunker+prefetch実装済み
  • SHA256キャッシュキー §11提案とほぼ同型(voice|rate|text)で稼働中
  • フォールバック+代替案内表示 §12Azure→OS標準+案内、実装済み
  • 読み間違い辞書(language属性つき) §19提案のデータモデルを既に超える運用(共有dictionary.json+日本語限定適用)
  • Share Extension §22 / Siri・App Intents §21MVP2 / MVP6で完了
  • PDF・Word・OCR・URL抽出 §2MVP3〜7+スキャンPDF自動OCRまで完了
  • ロック画面・バックグラウンド・イヤホン操作 §15MVP1で完了
  • 表示用原文と読み上げテキストの分離 §20原則実装済み(注記: preprocessの一部は表示にも効く仕様)
  • ライブラリ・最近の文書 §16保存した文章+ソース別アイコン
  • 速度調整 §30.25x〜4x、提案の範囲を上回る
採用 — 次バージョンに取り込む
  • TTSProviderプロトコル化 §6Plan Cの土台。切断面3箇所を特定済み
  • APIキーのKeychain移行 §13前半現状UserDefaults保管を確認 → 正当な指摘
  • プライバシーモードの明示UI §14「この文書は端末内で読む」トグル。実質機能はあるが可視化する
  • 音声比較画面+評価比重 §17疲れにくさ30%等の比重表は優秀。そのまま使う
  • 共通テスト文章セット §18難読漢字・混在文・聖書用語入りで1本作成
  • 利用文字数・推定費用の表示 §165点検「費用上限」と直結
  • 英語チャンクの英語声振り分け §9方式1言語判定資産あり。まずHD Omniの自動判定で様子見
  • 音声モードプリセット §8対応エンジン限定(mini-ttsのinstructions / HDのtemperature)
  • スリープタイマー §16就寝前モードの実体はこれで十分

監査の結論: この提案書は「音声要件の言語化(§3)」と「比較の方法論(§17–18)」が最大の収穫。一方で実装計画部分は既存アプリを知らない前提で書かれており、そのまま実行指示に使うと大規模な手戻りになる。要件は使う、工程表は捨てる。

08

導入順序 — ゲートつき4ステップ

試聴と実測(費用ゼロ・コード変更ゼロ)今週 / 約2h

①Azure音声ギャラリーで Nanami HD vs 標準Nanami vs Mayu を聞き比べ ②openai.fmで声プロンプトを試す ③AivisSpeechをPCに入れて長め段落3本の合成時間を計測。

HDに「価格差¥330/冊ぶんの感動」があるか自分の耳で判定。AivisSpeechのRTF<1.0を確認。
Plan A: iOSをDragon HDへ半日〜1日

southeastasiaにS0作成→予算アラート→SSML分岐→実機試聴。ダメなら設定値を戻すだけで完全ロールバック可。

通勤読書1冊をHDで完走して「疲れにくさ」を体感確認。月次費用がアラート内。
Plan B: WindowsをAivisSpeechへ2〜3日

Engine起動管理→合成キュー→文単位ハイライト→SAPIフォールバック。Step 0の実測値で先読み本数を決める。

Ctrl+Alt+Rの体感遅延が許容内(目安1秒台)。Engine停止時もSAPIで読める。
Plan C: Provider化+OpenAI+比較画面2〜3日

プロトコル抽象化→OpenAIProvider→Keychain移行→§17比較画面。以後の新エンジン(GPT-Live API等)はProvider追加だけになる。

同一テスト文章で3エンジンの採点を保存。§17比重で総合点を算出し「常用声」を確定。
09

運用5点検(ai-app-agent-checklist)

項目点検結果
ログ合成失敗はUI表示+フォールバック案内(実装済み)。月次文字数はAzureメトリクスで確認。ログ・キャッシュにAPIキーと本文全文を書き出さない(現状も準拠)。
費用上限HD導入と同時にAzure Cost Managementで月¥1,000予算アラート設定(手順に組込済み)。最悪放置額: 月30万字全てHDでも約¥990。OpenAIはusage hard limit $5。AivisSpeechは¥0。暴走対策はキャッシュ+チャンク上限(既存)。
権限要改善→Plan Cで対処: APIキーが現状UserDefaults保管(コード実測)→ Keychainへ移行。キーはSpeechリソース限定スコープ。コード直書きなし(設定画面入力式)・リポジトリprivateは現状OK。
監査本図解+Vaultノートで選定根拠を資産化。初回請求サイクル(S0化30日後)に実測費用を点検。比較画面の採点をアプリ内保存し声の変更履歴を追跡可能に。
prompt injection読み上げは外向き操作なしで低リスク。唯一の注入面=外部本文→SSML: &エスケープ確認済み・全記号網羅はPlan A時に点検。LLM前処理は不採用のため注入経路を増やさない。
10

未検証事項と出典

未検証(断定していないこと)

  • このPCでのAivisSpeech合成速度(Step 0で実測)
  • southeastasiaリージョンの実レイテンシ
  • 設定画面が任意の声名文字列を受け付けるか(ピッカー固定の可能性)
  • SSMLエスケープの全記号網羅(&のみ確認済み)
  • gpt-4o-mini-tts日本語の主観品質(ベンチ値のみ、要実聴)
  • ¥150/$の換算レート、各社価格の将来変動

主要出典(2026-07-16参照)

  • Microsoft Learn: HD音声の概要・SSML対応表・ja-JP HD声一覧(GA)
  • Microsoft Learn: リージョン対応表(HD voices列にjapaneastなし)
  • Azure Speech料金(標準$16/HD$22 per 100万字、F0=標準のみ)
  • OpenAI: GPT-Live発表(2026-07-08、API未提供)/openai.fm
  • ABEJA Tech Blog: TTS日本語品質比較(mini-tts 90.2点)
  • Aivis Project公式・GitHub: CPU動作要件・API・ライセンス
  • ElevenLabs料金ページ: プラン・クレジット・従量単価
  • 実装確認: AzureSpeechEngine.swift/ReadAloud.ps1(ローカル実コード)