コードでオーディオブックを作る方法 - 「santinic/audiblez」を使った自動化解説


コードでオーディオブックを作る方法 - 「santinic/audiblez」を使った自動化解説

santinic/audiblez

2025-08-29

「santinic/audiblez」は、ソフトウェアエンジニアにとって、特に以下のような点で非常に役に立ちます。

音声データ生成の自動化
音声データの生成は、手動で行うと非常に手間がかかります。このツールを使えば、既存のEPUBファイルから一括でオーディオブックを生成でき、作業時間を大幅に削減できます。

オフラインでの利用
オンラインのTTS(Text-to-Speech)サービスは、API利用料やインターネット接続が必要です。このライブラリはオフラインで動作するため、コストを抑えつつ、いつでもどこでも利用できます。

カスタマイズ性
TTSエンジンの選択、音声速度の調整、不要なテキストの削除など、生成される音声の細かい設定が可能です。

導入はとてもシンプルです。Pythonのパッケージマネージャpipを使ってインストールできます。

pip install audiblez

必要なライブラリ
audiblezは、テキスト読み上げ機能にpyttsx3というライブラリを使用しています。このライブラリは、OSにインストールされているTTSエンジンを利用するため、別途インストールする必要がある場合があります。

Windows
SAPI5が標準で入っているため、追加インストールは不要です。

macOS
NSSpeechSynthesizerが標準で入っています。

Linux
espeakまたはfestivalが必要です。

sudo apt-get install espeak

sudo apt-get install festival

EPUBファイルからオーディオブックを生成する基本的なサンプルコードです。

from audiblez import AudiobookGenerator

# AudiobookGeneratorクラスを初期化
generator = AudiobookGenerator(
    input_file="your_book.epub",  #  ここにEPUBファイル名を設定
    output_file="your_book.mp3", #  生成されるオーディオファイル名
    engine="pyttsx3"             #  TTSエンジンを指定
)

# オーディオブックを生成
generator.generate()
print("オーディオブックの生成が完了しました!")

生成したオーディオブックを、章ごとに分割して保存したい場合は、以下のようにsplit_by_chapterをTrueに設定します。

from audiblez import AudiobookGenerator

generator = AudiobookGenerator(
    input_file="your_book.epub",
    output_dir="audiobooks",      #  生成されるオーディオファイルの保存先ディレクトリ
    split_by_chapter=True         #  章ごとにファイルを分割
)

generator.generate()
print("章ごとに分割されたオーディオブックの生成が完了しました!")

さあ、お待たせしました!スター・ウォーズのコントです。

舞台
デス・スターの通信室

ルーク 「父さん!ついに完成しました!これで、父さんの好きな文学作品を、好きなだけ聴けるオーディオブックにできます!」

ベイダー 「(深く、重い呼吸音)…ホォォォ…馬鹿な。なぜワタシに文学が必要なのだ?フォースの力で全てを読み取れる…」

ルーク 「いやいや、フォースは疲れるでしょう?このsantinic/audiblezを使えば、pip install audiblezとコマンドを打つだけで、EPUBファイルから自動でオーディオブックが作れるんです!」

ベイダー 「なんだと…?(呼吸音)…本当に、ワタシの時間を奪わないと誓えるか?」

ルーク 「もちろんです!それに、音声の速度も調整できます。父さんのセリフみたいに、ゆっくりと重厚な音声も作れますよ!」

ベイダー 「ふん。試してみる価値はあるかもしれぬな。だが、もし役に立たなければ…フォースチョークだ…」

ルーク 「(焦って)大丈夫!大丈夫ですから!まず、このinput_fileに父さんの好きな「帝国の歴史」を入れて、output_fileにempires_history.mp3と…」

ベイダー 「…待て。そのoutput_dirにdarkside_audiobooksと設定しろ。ワタシのコレクションだ…」

ルーク 「は、はい!わかりました、父さん!」

ナレーター そして、デス・スターの通信室には、機械音声で朗読される「帝国の歴史」のBGMが流れ始めたのであった…


santinic/audiblez




証拠物件(EPUB)を逃がすな。calibredbで実現する、エンジニア流・電子書籍取り調べ術

エンジニアの皆さん、お疲れ様です。今日は、電子書籍界の「巨大な証拠保管庫」こと calibre について、警察のガサ入れ…ではなく、技術的な「現場検証」をしていきましょう。電子書籍の管理ソフトとして有名な calibre ですが、中身は Python で書かれた超巨大なオープンソースプロジェクト です。エンジニアにとっては、ただの「本棚」以上の価値があります。


【保存版】Ultralytics YOLOで切り拓くコンピュータビジョンの新大陸:導入から追跡まで

ソフトウェアエンジニアという熟練の探検家にとって、このツールがなぜ「最強の装備」となり得るのか、その秘密を解き明かしていこう!Ultralytics は、物体検出(Object Detection)の世界で最も有名なフレームワークの一つだ。もともと複雑だったディープラーニングのモデルを、まるで「標準装備のナイフ」のように、誰でも簡単に、かつ超高速に扱えるようにしたのが彼らの功績だよ。


ダイエット中の俺が解説!Frappe/HRMSで実現するスマート人事!

今日はね、みんながソフトウェアエンジニアとしてバリバリ働く上で、とっても役に立つかもしれない強力なツール、その名も「frappe/hrms」について、コント風に解説していくぞ!ダイエット中の俺と一緒に、この素晴らしいオープンソースHR・給与計算ソフトウェアの魅力に迫ってみよう!


現場のボスになれ!Pythonで操る「InvenTree」在庫管理システム

お前、現場で部品や資材の管理、マジで大変だろ?Excelファイルとにらめっこしたり、棚卸しで汗だくになったり…。そんな泥臭い作業とは今日でおさらばだ!この「InvenTree」、一言で言うと「現場の在庫管理システムを最強にするオープンソースのツール」ってわけだ。


入門から応用まで、Pythonで理解するTheAlgorithms

TheAlgorithms/Pythonを使い始めるのはとっても簡単です。特別なインストール作業は不要で、Gitを使ってリポジトリをクローンするだけです。Gitがインストールされているか確認 まだPCにGitが入っていない場合は、Git公式サイトからインストールしてください。


ブラウザワークフローの堅牢性を高めるSkyvern:導入とPythonサンプルコード

ソフトウェアエンジニアの視点から、このツールがどのように役立つのか、導入方法、サンプルコードのイメージを分かりやすくご説明しますね!従来のブラウザ自動化ツール(SeleniumやPlaywrightなど)は、ウェブサイトのDOM構造(XPathやCSSセレクタ)に依存するため、サイトのレイアウトが少し変わるだけでスクリプトが壊れてしまうという課題がありました。Skyvernは、この問題をAIの力で解決します。


PythonとNode.jsの力を解き放つ。ByteDanceのオープンソース「Deer-flow」でエージェント開発を加速させる

エンジニアの視点で見ると、これって「ただのチャットAI」とは全然別物。まるで、一歩先を読んで複雑な家事(仕事)を全部片付けてくれる、すごく有能な執筆・開発パートナーって感じかな。「どれが一番似合うかな?」って水着選びで迷うみたいに、Deer-flowの可能性を一緒に探っていこう!


あなたのサービス品質向上に貢献:qeeqbox/social-analyzer導入とAPI連携の具体例

このツールは、指定されたユーザー名が、1000以上のソーシャルメディアやウェブサイトで利用されているかどうかを、効率的かつ広範囲にわたって調査・分析するためのものです。Node. js、JavaScript、Pythonに対応しており、API、CLI(コマンドラインインターフェース)、そしてウェブアプリとして利用できます。


PythonでAzureを料理する:SDKで始めるクラウド開発

このSDKは、Pythonのコードから直接Azureの様々なサービス(仮想マシン、ストレージ、データベースなど)を操作するためのライブラリ群です。まるで、ラーメンの具材(Azureのサービス)を自在に操るための、最高の調理器具セットのようなものです。


Pythonパッケージ管理の新境地:Poetryの魅力

夜の帳が降り、キーボードの光だけが部屋を照らす。君は、Pythonのプロジェクトを始めようと、指を静かに滑らせる。しかし、そこには常に付きまとう悩ましい問題があった。そう、依存関係の管理だ。requirements. txt と virtualenv を駆使しても、その関係性は複雑で、絡み合う糸のように、いつの間にか君を縛り付けてしまう。