Show HN: eBook to audiobook narration with realistic AI voices
ebookaloud.comFor a while I've wanted to try out the new AI voices for long-form narration, but everything I found required a subscription that didn't justify my limited usage. I came across the open Kokoro model [0] and the voices are very good -- good enough to listen to for hours without the fatigue I got from legacy, robotic TTS voices. The model is 82m parameters and designed to run fast, but I still struggled to get reasonable times from CPU inference on my 12-core laptop. I thought a cloud-based GPU service would let me generate audiobooks fast enough to feed my own self-hosted library, and that same pipeline could become a product other people could use.
I had two goals in building this: get some exposure to AI multi-agent coding workflows, and build a TTS product targeting ebook to audiobook conversion specifically. 99% of ebookaloud was written by DeepSeek v4 in OpenCode. I've used about 750 million tokens costing $12 in credits over the course of a month, and I'm very pleased with the results. Every change/feature went through a plan -> implement -> test -> review -> correct -> commit cycle with a mix of Pro and Flash agents. This was generally limited to one or two concurrent workers. I had a separate eval agent for quality control on various parts of the extraction and synthesis pipeline, which I could run 8-10 at a time. I may be approaching Yegge's Stage 6 [1] in terms of AI workflow automation.
I later set up Claude Code and ran Opus 4.8 side by side with DeepSeek. There are definitely quality differences, but I'm an experienced developer with a hands-on approach. I didn't write any of the code, but I have read critical sections of what it generated and had extensive conversations with DS Pro about each step of the approach. Opus didn't have much critical to say about DeepSeek's choices, and I'm not convinced a frontier model would have made an appreciable difference for my workflow. I suspect on a large codebase the differences would become more apparent, but the few changes I implemented with Opus had similar issues to all the models I've used: random changes without my direction, over-complicating simple solutions, taking unanticipated/destructive actions when it gets stuck, etc. I do see Opus being capable of handling more of the complex planning and orchestration that I was involved in. That's something I may want sometimes but not others.
As to the product itself, there are a lot more sophisticated solutions out there. I'm not trying to compete with ElevenLabs. I'm targeting m4b generation for a seamless audiobook experience with a pay-as-you-go pricing model and good-enough output quality. This is the first product I've ever tried to commercialize, and AI code generation put something polished within reach. Without AI, this would have taken me 6-8 months of manual research and development, and I would have gotten burned out long before completing it.
I have a free sample on the front page of the site if you just want to see what it generates in terms of voice/format. I made a few opinionated decisions regarding output quality. I aimed for 140 wpm for most of the voices to match industry standards, but some are much slower or faster and lose prosody at that rate. Rather than give users a wall of options, I'm deferring to the playback device for things like speed control. If the site sees real usage I'd like to expand to support Kokoro's other languages, and extraction and synthesis from PDF would round out the product quite a bit.
[0] https://github.com/hexgrad/kokoro
[1] https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16d...
There are other open source models that produce very good quality:
I also did some experiments with CoquiTTS, but FishTTS was the most promising in german language samples.
Along with X-Whisper it is possible to use epubs along with narrated audio files to train your favorite narrator's voice instead of only using inference or generated voices. The output quality is really good, however, these cannot be released to the public :-) I'm especially targeting book series with many parts where the publisher has switched narrators or fully stopped releasing later parts.
Audible has also started releasing some of their more underdog books with an ElevenLabs narration in different languages. The AI is still noticable but the quality is pretty impressive.
Nice, Kokoro really is the jump that made long-form listenable without the legacy-TTS fatigue. I went down almost the same path: hated the e-reader TTS, found the newer models, and ended up building a hosted audiobook service (tomevox) on a similar GPU pipeline.
Two things that ate most of the time once the TTS itself was good enough, in case they save you some. First, pronunciation of names and invented words: a per-book lexicon helped more than swapping models. Second, chapter-boundary handling for clean M4B chapter markers. Raw generation ended up being maybe 30% of the work; manuscript prep and a human QA pass before delivery were the rest. How are you handling pronunciation overrides?
I checked out your product - nice! I think we have a similar approach for a different audience. EbookAloud is basically just a two-click conversion system more geared towards consumers than content creators. Upload an epub, get an audiobook. Users will have to live with mispronounced names, etc.
Content parsing and chapter alignment were also the better part of the work here. Laying out an epub on screen is straightforward. Extracting text by chapter without duplication or elision took a lot of iterations. I could not ultimately follow the epub spec recommendation to traverse the spine, but had to rely on the TOC to drive extraction or fallback to some simple heuristics if none was present. It’s still the biggest risk area in the code and why I added a detailed chapter breakdown before asking for payment. I’ve pushed a lot of content from a wide range of sources through the code for manual and semi-automated inspection and decided it’s good enough to go live.