[PR #5126] [CLOSED] Add CAMB AI TTS integration for ebook-to-audiobook synthesis #4437

Closed
opened 2026-04-25 00:19:44 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/5126
Author: @neilruaro-camb
Created: 3/16/2026
Status: Closed

Base: masterHead: feat/camb-tts-integration


📝 Commits (1)

  • 2f3b1bc Add CAMB AI TTS integration for ebook-to-audiobook synthesis

📊 Changes

11 files changed (+1124 additions, -0 deletions)

View changed files

📝 package-lock.json (+39 -0)
📝 package.json (+2 -0)
scripts/test-camb-tts.js (+133 -0)
server/controllers/TtsController.js (+95 -0)
server/managers/TtsManager.js (+129 -0)
📝 server/routers/ApiRouter.js (+7 -0)
server/utils/textExtractor.js (+102 -0)
test/manual/TTS_TESTING.md (+73 -0)
test/server/controllers/TtsController.test.js (+183 -0)
test/server/managers/TtsManager.test.js (+212 -0)
test/server/utils/textExtractor.test.js (+149 -0)

📄 Description

Summary

  • Integrate CAMB AI text-to-speech API to synthesize audiobooks from ebook content
  • Add TtsManager for orchestrating chapter-level TTS jobs (polling, retries, progress tracking) and TtsController for the REST endpoints
  • Add textExtractor utility to pull chapter text from EPUB files
  • Wire up three new API routes: start a TTS task, check status, and list available voices
  • Include unit tests for all new modules and a manual testing guide

New dependencies

  • epub2 – EPUB parsing for chapter text extraction

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf/pull/5126 **Author:** [@neilruaro-camb](https://github.com/neilruaro-camb) **Created:** 3/16/2026 **Status:** ❌ Closed **Base:** `master` ← **Head:** `feat/camb-tts-integration` --- ### 📝 Commits (1) - [`2f3b1bc`](https://github.com/advplyr/audiobookshelf/commit/2f3b1bc7b7eb0cdf8704f53599d6620a7bb38a12) Add CAMB AI TTS integration for ebook-to-audiobook synthesis ### 📊 Changes **11 files changed** (+1124 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `package-lock.json` (+39 -0) 📝 `package.json` (+2 -0) ➕ `scripts/test-camb-tts.js` (+133 -0) ➕ `server/controllers/TtsController.js` (+95 -0) ➕ `server/managers/TtsManager.js` (+129 -0) 📝 `server/routers/ApiRouter.js` (+7 -0) ➕ `server/utils/textExtractor.js` (+102 -0) ➕ `test/manual/TTS_TESTING.md` (+73 -0) ➕ `test/server/controllers/TtsController.test.js` (+183 -0) ➕ `test/server/managers/TtsManager.test.js` (+212 -0) ➕ `test/server/utils/textExtractor.test.js` (+149 -0) </details> ### 📄 Description ## Summary - Integrate [CAMB AI](https://camb.ai) text-to-speech API to synthesize audiobooks from ebook content - Add `TtsManager` for orchestrating chapter-level TTS jobs (polling, retries, progress tracking) and `TtsController` for the REST endpoints - Add `textExtractor` utility to pull chapter text from EPUB files - Wire up three new API routes: start a TTS task, check status, and list available voices - Include unit tests for all new modules and a manual testing guide ## New dependencies - `epub2` – EPUB parsing for chapter text extraction --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:19:44 +02:00
adam closed this issue 2026-04-25 00:19:44 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#4437