論文(PDF/URL)から英語・日本語の要約音声と英語解説音声を生成し、Podcast RSS フィードとして配信するツール。
pip install PyMuPDF requests pyyaml beautifulsoup4 openaiconfig.yaml に以下を記述する。
azure_openai_endpoint: "https://your-resource.cognitiveservices.azure.com"
azure_openai_api_key: "your-api-key"
# Podcast (GitHub Pages) 設定
github_pages_base_url: "https://your-user.github.io/audio_paper"
podcast_title: "Audio Paper Summary"
podcast_description: "論文の要約を音声で配信するPodcast"
podcast_author: "your-name"
podcast_language: "en"# URLから
python summarize_to_audio.py https://example.com/paper.pdf
# ローカルPDFから
python summarize_to_audio.py path/to/paper.pdf# エピソード名を指定(episodes/<name>/ に出力)
python summarize_to_audio.py paper.pdf -e my_episode
# 出力ディレクトリを直接指定
python summarize_to_audio.py paper.pdf -o ./output
# 音声の声を変更
python summarize_to_audio.py paper.pdf --en-voice sage --ja-voice shimmer利用可能な声: alloy / ash / ballad / coral / echo / sage / shimmer / verse / marin / cedar
text/ ディレクトリ配下のテキストファイルを直接読み上げ音声に変換できる。要約ステップを経ずにそのまま TTS で音声化する。
# 基本(言語は自動検出)
python text_to_audio.py text/想定QA.txt
# 言語を明示指定
python text_to_audio.py text/想定QA.txt --lang en
# 日英混在テキスト(セグメントごとに声を切替)
python text_to_audio.py text/想定QA.txt --lang mixed
# エピソード名・声を指定
python text_to_audio.py text/想定QA.txt -e qa_session --en-voice sage --ja-voice alloy長文は TTS 制限(5分/パート)に合わせて自動的にパート分割される。
episodes/<エピソード名>/ 以下に生成される。
| ファイル | 内容 |
|---|---|
summary_en.mp3 / .txt |
英語要約の音声とテキスト |
summary_ja.mp3 / .txt |
日本語要約の音声とテキスト |
lesson_para_N.mp3 / .txt |
パラグラフごとの英文読み上げ+日本語解説 |
また、プロジェクトルートの feed.xml(Podcast RSS フィード)と episodes.json(エピソード管理)が更新される。
- URL または PDF からテキストを抽出
- GPT-5.4 で英語・日本語の要約を生成(情報科学系の大学院生向け)
- gpt-audio-1.5 で要約を音声に変換
- 英語要約をパラグラフ単位で分割し、各パラグラフの英文読み上げ+日本語解説音声を生成
- RSS フィード (
feed.xml) を更新