KeenLore is my emotive audiobook creator, which I've been working on for the past several months to help me narrate my sci-fi novel. Here's a slightly outdated demo video:
I've since added character ages (child to supercentenarian voices, consistent relative to their base adult voice), crowd chants (2 to 100 people works flawlessly), case sensitivity for character aliases (to help detect quotation attributions), custom phonetics, and English speaking characters can have a variety of accents applied. Will soon have Chatterbox driving the novel's narration. Screenshot:
I did something very similar to this, for myself, but which takes a web page for an article, cleans up the text to preserve the article only, and converts it using TTS, then adds it to a cloud bucket with an RSS stream, and I use that RSS link as a podcast in Apple Podcast.
I do similar things, just use ElevenLabs for tts - a good selection of voices.
A good protip - tell an agent to rewrite the article slightly for better listening flow. Some subtle changes in sentence structure etc can make listening way more pleasant.
Oh man. I did something similar but didn’t do the last mile with the cloud bucket and RSS stream and that seems key. I never have the energy to manually copy the mp3s over to the phone.
I did something similar and just put the files on an old laptop and used Tailscale. That gives me an https URL and Apple Podcasts downloads the files fine.
Very good. I have a listening experience close to elevenlabs. But sometimes you can get "failed" segments so you need to detect them and retry/repair automatically. One example is the fading volume.
I love using https://convert.to.it/ for all of my converting needs; everything is client-side in the browser with over 400 file extension options to choose from.
Why? It's easy and predictable. Generate a key with a spend cap plus short expiry and you're set. I much prefer that to having to fork over my email with an OAuth flow.
“Never ever” is crazy talk. Just put a couple of dollars in a prepaid account and assume it may all get used up. “Standard practices” won’t get you far in life.
I consider "Create a throwaway" to be in line with the guideline posted above. It does violate it literally but not in spirit - the guideline is not to use an API key with the ability to draw unlimited or a very large amount of funds.
You can generate a specific API key, and make sure to monitor it by setting a budget limit to it.
They should explain this to people in their form to avoid people pasting their main key.
There was a guy who made a "has your SSH key been compromised? Paste your private key here" website as a joke, which lasted about a week until his low budget host killed it.
How well does it handle pronunciation, especially of things like proper nouns? This has been one of the harder parts I've found. On a financial web site I saw one example where the generated audio pronounced initiates as a noun instead of a verb. It's a subtle difference but can significantly change the meaning if worded wrong.
I was trying to use TTS to regenerate some old audiobooks and getting names pronounced correctly is pretty hard unless the model supports something like SSML.
I thought this would mean I could use my subscription, as OpenAI/Codex supports this kind of authentication flow, and it's very easy to integrate with that as a service, and users login with the OpenAI authentication flow, or via device codes.
Instead this asks for an API key, which is very different from "Use your OpenAI subscription" and to be honest, I'm not sure how anyone who has a OpenAI subscription could mistake this for such. Has this even been tested once?
Maybe I missed something obvious, I had a five second look and closed it when it seemed to be outright intentionally misleading.
There are two parts to the processing. The processing of the document itself is done on your OpenAI/Codex subscription. Additionally, you have to submit an API key for the text-to-speech processing. There you can use a Gemini key or an OpenAI key.
It was always harder to get it to sound right, I had built Lissin around this thesis itself. You can throw in a PDF or a link and can get a podcast, deepdive or just narration with different voices in Lissin.
For those interested in better voices, you can try and let me know.
If someone sends me AI generated audio they're reccomending, I from then on out see them differently and not in a good way. I dont even want to read the outputs of an LLM let alone listen to them. Wild.
Let me guess, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs and then use SVN or CVS on the mounted filesystem?
Thanks! Currently, I'm using Gemini TTS and Kokoro TTS as a free option. Kokoro is fast and I can run it on my own server, but I'm not using it as a standard yet because Gemini supports more languages and has more voices available. But text-to-speech processing is the biggest bottleneck at the moment.
At home this is super easy, use one of the multiple TTS models out there and provide a clean clip of Morgan Freeman's voice. Typically around 10 seconds will do. I just run a python script to daily scan my FreshRSS sources, compile my news and generate a 'podcast' that's about 10 minutes for a morning listen. Currently using F5-TTS, but there are lot's of other models out there as well.
Claude has gotten pretty sensitive to copyright. In addition to the no song lyrics that was posted in another article, I also find it will not generally transcribe podcasts (you have to play with model versions and even effort inside that).
I went the route of handling epub first (really, anything pandoc can convert to epub) on ebookaloud, and it took quite a few iterations to get consistent parsing across a wide corpus of test documents.
My experience is that gathering and testing with that corpus was about 30% of the overall effort. I have not yet gathered the motivation to tackle pdf: it’s more of a layout format than a text format. Not just tables but multi-column layouts and similar oddities leave a pile of imperfect heuristics in their wake.
Multi-lingual support is even worse. I was working with arabic script in pdf years ago and they don’t even capture the encoded text, just rendering instructions due to the high number of ligatures. I don’t know if things have improved since then.
You'll have to read the license agreement for openAI or Google on their tts
Or look into open source tts models with liberal commercial licenses
Generally I'd stay away from the site/project/repo in the OP and just do your own research on this (because the OP site is vibe coded in a sleazy way that's unnecessarily used car salesman-y and doesn't offer anything you couldn't just do better yourself with one codex or chatgpt prompt)
Edit: to be clear there's a lot of different tts providers, they probably all offer tts you can use commercially, you can look at benchmarks for the providers and then the specific TOS
KeenLore is my emotive audiobook creator, which I've been working on for the past several months to help me narrate my sci-fi novel. Here's a slightly outdated demo video:
https://www.youtube.com/watch?v=WAeHgE94rVo
I've since added character ages (child to supercentenarian voices, consistent relative to their base adult voice), crowd chants (2 to 100 people works flawlessly), case sensitivity for character aliases (to help detect quotation attributions), custom phonetics, and English speaking characters can have a variety of accents applied. Will soon have Chatterbox driving the novel's narration. Screenshot:
https://i.ibb.co/GffgfnCL/narrating.png
It's self-hosted, fully local, based on software having permissive licenses and open weights. Runs on a lowly 8GB NVIDIA T1000 (and 96 GB of RAM).
I did something very similar to this, for myself, but which takes a web page for an article, cleans up the text to preserve the article only, and converts it using TTS, then adds it to a cloud bucket with an RSS stream, and I use that RSS link as a podcast in Apple Podcast.
I do similar things, just use ElevenLabs for tts - a good selection of voices.
A good protip - tell an agent to rewrite the article slightly for better listening flow. Some subtle changes in sentence structure etc can make listening way more pleasant.
Same here.
https://blog.nawaz.org/posts/2024/Apr/reading-articles-via-p...
I use the TTS on Google Cloud. It's effectively free.
Oh man. I did something similar but didn’t do the last mile with the cloud bucket and RSS stream and that seems key. I never have the energy to manually copy the mp3s over to the phone.
I did something similar and just put the files on an old laptop and used Tailscale. That gives me an https URL and Apple Podcasts downloads the files fine.
I did both of that too! At the end I made my own app to listen to the episodes.
I have syncthing, I just copy a file into the shared folder.
I did an even simpler thing. I had it connect to gmail MCP and email it to me as an .mp3 file which I then play on my phone.
What TTS do you use? I find the OpenAI ones really unpleasant to listen to and elevenlabs is better but still not quite right somehow.
Try fish.audio - their S2 Pro has been very decent. The S2.1 Pro might be better but haven't had a chance to try it.
Would you mind sharing, if you're open sourcing it?
Same here. 75% of my podcast listening time come from content generated by claude and voxtral these days (tts from mistral).
how do you find Voxtral quality?
Very good. I have a listening experience close to elevenlabs. But sometimes you can get "failed" segments so you need to detect them and retry/repair automatically. One example is the fading volume.
Sounds great! Any interest in open sourcing your approach?
RSS -> Apple podcast. Love it!
I love using https://convert.to.it/ for all of my converting needs; everything is client-side in the browser with over 400 file extension options to choose from.
Source: https://github.com/p2r3/convert
Behold, an audiobook: https://drive.google.com/file/d/1v4Iux5ppJe5SbE4TcpV9NQTsY0N...
Is "paste your OpenAI API key" the new form of "paste your credit card number with exp/code" for example, to check if its been compromised?
For those who do not want to paste OpenAIkeys to other peoples web pages, there are local solutions.
For example, these audiobook generators runs fully offline. https://github.com/Finrandojin/alexandria-audiobook https://github.com/senigami/audiobook-studio.pinokio https://github.com/topics/audiobook-generator
> For those who do not want to paste OpenAIkeys to other peoples web pages
That should be everybody!
There are standard practices for delegating responsibility, never ever be pasting API keys into websites.
Why? It's easy and predictable. Generate a key with a spend cap plus short expiry and you're set. I much prefer that to having to fork over my email with an OAuth flow.
“Never ever” is crazy talk. Just put a couple of dollars in a prepaid account and assume it may all get used up. “Standard practices” won’t get you far in life.
I consider "Create a throwaway" to be in line with the guideline posted above. It does violate it literally but not in spirit - the guideline is not to use an API key with the ability to draw unlimited or a very large amount of funds.
You don't even need that. Just paste your pdf in codex or the gpt work app and say make me an audio book from this with such and such kind of voice.
You can generate a specific API key, and make sure to monitor it by setting a budget limit to it. They should explain this to people in their form to avoid people pasting their main key.
The original "Have I Been Pwned" ploy
Send me your data and I will check and see if anyone else has it
Now I have your data but that doesn't count
There was a guy who made a "has your SSH key been compromised? Paste your private key here" website as a joke, which lasted about a week until his low budget host killed it.
https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2Fx...
This shouldldve been a Plugin or Sign in with ChatGPT thing!
That doesn’t exist yet
They do offer an OAuth method.
If you're on a Mac, `say -f book.txt -o book.aiff`, no API keys required.
I've updated my video to show the player experience and the quality of the voices:
https://youtu.be/1qiH_SeDyyc
Please share an example of a two-speaker podcast that it has generated, add support for spoken Thai, and I will pay & use it weekly.
Here you go my friend, a two speaker podcast in Thai :)
https://pdftomp3.com/published/player.html?publication_id=6a...
Cool! Curious to hear a sample. As any regular audiobook listener knows, having a great narrator is really key.
Here you can listen to examples: https://pdftomp3.com/examples/
Via MCP more voices are available (all OpenAI and Gemini voices, depending on which api key you use).
I tested it - the word highlight and audio spoken did not always align, leading to a discordant experience.
I like the voices, will be using the product soon. Thanks for sharing!
Please don't.
Can people please get their terminology right, why am I getting clickbaited.
How well does it handle pronunciation, especially of things like proper nouns? This has been one of the harder parts I've found. On a financial web site I saw one example where the generated audio pronounced initiates as a noun instead of a verb. It's a subtle difference but can significantly change the meaning if worded wrong.
I was trying to use TTS to regenerate some old audiobooks and getting names pronounced correctly is pretty hard unless the model supports something like SSML.
> Use the AI you already pay for
I thought this would mean I could use my subscription, as OpenAI/Codex supports this kind of authentication flow, and it's very easy to integrate with that as a service, and users login with the OpenAI authentication flow, or via device codes.
Instead this asks for an API key, which is very different from "Use your OpenAI subscription" and to be honest, I'm not sure how anyone who has a OpenAI subscription could mistake this for such. Has this even been tested once?
Maybe I missed something obvious, I had a five second look and closed it when it seemed to be outright intentionally misleading.
The title is misleading - should be "Use your openai subscription AND a TTS api key"
Much less interesting.
There are two parts to the processing. The processing of the document itself is done on your OpenAI/Codex subscription. Additionally, you have to submit an API key for the text-to-speech processing. There you can use a Gemini key or an OpenAI key.
Not to mention the very prominent "$0 PDF to MP3".
title literally says "Use your OpenAI subscription to create audiobooks" so im also confused lol
edit: i guess this explains it, its sorta half half
Your subscription will be used for:
Your API key will be used for:It was always harder to get it to sound right, I had built Lissin around this thesis itself. You can throw in a PDF or a link and can get a podcast, deepdive or just narration with different voices in Lissin.
For those interested in better voices, you can try and let me know.
https://apps.apple.com/app/apple-store/id6758897526?pt=12810...
IMHO, AI voice has gotten good enough to be acceptable, but the pacing and cadence of speech is a dead give away that it's being read by AI
If someone sends me AI generated audio they're reccomending, I from then on out see them differently and not in a good way. I dont even want to read the outputs of an LLM let alone listen to them. Wild.
I suggest therapy. For you, not for them.
Why?
Simmer down, lad. Some of us actually enjoy interacting with humans and touch grass, we aren't all misanthropic turbonerds
This trend to sell subscription with a price for "credits".
For a wrapper around costly LLM providers.
For a result one could get with voicebox for free.
Looks cool but how on earth does your demo video not show a sample of the result?! It ends right before the exciting part. Madness!
You can build that with Claude in 2-3 hours. Not sure how this is a business idea.
Its about the whole pipeline. From adding a PDF to listening in the car (with the app).
minutes not hours
Let me guess, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs and then use SVN or CVS on the mounted filesystem?
https://news.ycombinator.com/item?id=9224
Yes, because these days the world has changed since then.
I don't know why you would do this when there are free open source solutions out there that do not use credits.
how do you handle diagrams or other visual descriptions from text?
Great work, op. I have also had good experiences with Qwen3-TTS. Might be worthwhile to explore for everyone who wants to do longform locally.
Thanks! Currently, I'm using Gemini TTS and Kokoro TTS as a free option. Kokoro is fast and I can run it on my own server, but I'm not using it as a standard yet because Gemini supports more languages and has more voices available. But text-to-speech processing is the biggest bottleneck at the moment.
What prevents someone submitting an epub or a pdf and ask claude or another llm to narrate a novel in morgan freeman's voice?
At home this is super easy, use one of the multiple TTS models out there and provide a clean clip of Morgan Freeman's voice. Typically around 10 seconds will do. I just run a python script to daily scan my FreshRSS sources, compile my news and generate a 'podcast' that's about 10 minutes for a morning listen. Currently using F5-TTS, but there are lot's of other models out there as well.
> Currently using F5-TTS
Thanks for listing the model you're using, I've not really done any TTS stuff and this sounds like a fun thing to spin up.
Claude has gotten pretty sensitive to copyright. In addition to the no song lyrics that was posted in another article, I also find it will not generally transcribe podcasts (you have to play with model versions and even effort inside that).
Couple of weeks ago it refused to cite one of the public available EU-text from their gov site to me
How well does it handle larger files? And other book formats, like epub or mobi?
I'd love to see an actual result what it can do
how does it handle weird formatting in pdfs like tables or image captions? i always get trash output when doing pdf text extraction.
It handles the formatting of scientific papers very well. E.g. I can exclude footnotes etc. But I didn't test it much with tables yet.
I went the route of handling epub first (really, anything pandoc can convert to epub) on ebookaloud, and it took quite a few iterations to get consistent parsing across a wide corpus of test documents.
My experience is that gathering and testing with that corpus was about 30% of the overall effort. I have not yet gathered the motivation to tackle pdf: it’s more of a layout format than a text format. Not just tables but multi-column layouts and similar oddities leave a pile of imperfect heuristics in their wake.
Multi-lingual support is even worse. I was working with arabic script in pdf years ago and they don’t even capture the encoded text, just rendering instructions due to the high number of ligatures. I don’t know if things have improved since then.
makes sense, tables in pdfs are a nightmare anyway. cool project.
What about license of such output? Won't Google and OpenAI be coming to my door for their share from the sales of "my" audiobooks?
You'll have to read the license agreement for openAI or Google on their tts
Or look into open source tts models with liberal commercial licenses
Generally I'd stay away from the site/project/repo in the OP and just do your own research on this (because the OP site is vibe coded in a sleazy way that's unnecessarily used car salesman-y and doesn't offer anything you couldn't just do better yourself with one codex or chatgpt prompt)
Edit: to be clear there's a lot of different tts providers, they probably all offer tts you can use commercially, you can look at benchmarks for the providers and then the specific TOS
If you put no effort into it, then it’s unlikely you can put any royalty claim on it either? But nobody’s gonna pay for it anyway so don’t worry.