Abogen - EPUB, PDF, टेक्स्ट से ऑडियोबुक बनाएं
(github.com/denizsafak)- Abogen एक ओपन सोर्स टूल है जो ePub, PDF और टेक्स्ट फ़ाइलों को आसानी से उच्च-गुणवत्ता वाली ऑडियोबुक में बदलता है
- रूपांतरण के दौरान आवाज़ के साथ सिंक किए गए subtitles भी अपने आप बन जाते हैं
- कस्टम voice मिक्सिंग, encoding format, chapter splitting, batch processing (queue mode) जैसी कई सुविधाएँ देता है
- यह नवीनतम Kokoro-82M voice synthesis engine का उपयोग करता है, जिससे प्राकृतिक TTS क्वालिटी और बहुभाषी सपोर्ट मिलता है
- दूसरे प्रोजेक्ट्स की तुलना में इंट्यूटिव GUI, project-wise folder management, और metadata का automatic processing इसकी खास ताकत हैं
Abogen का अवलोकन और महत्व
- Abogen एक ओपन सोर्स text-to-speech (TTS) टूल है जो टेक्स्ट फ़ाइलों (ePub, PDF, .txt आदि) को तेज़ी से प्राकृतिक ऑडियोबुक में बदलता है
- यह intuitive interface, multi-file batch processing, custom voice mixing, विभिन्न output formats, chapter management, और metadata support जैसी समृद्ध सुविधाएँ प्रदान करता है
- दूसरे ओपन सोर्स प्रोजेक्ट्स के विपरीत, सरल संचालन के ज़रिए उच्च-गुणवत्ता वाला ऑडियो (खासकर Kokoro-82M आधारित TTS) और subtitles आसानी से हासिल किए जा सकते हैं
- शुरुआती इंस्टॉलेशन और जटिल Python environment setup को ऑटोमेट किया गया है, इसलिए शुरुआती डेवलपर भी इसे आसानी से इस्तेमाल कर सकते हैं
- खासकर project-wise chapter·metadata processing, GUI environment, custom voice features को इंडस्ट्री में प्रतिस्पर्धी बढ़त माना जाता है
मुख्य विशेषताओं का सारांश
- text-to-speech (TTS) के ज़रिए ePub, PDF और टेक्स्ट फ़ाइलों को कुछ सेकंड में ऑडियो में बदलना
- सिंक किए गए subtitles का automatic generation, जिससे ऑडियो और subtitles पूरी तरह मेल खाते हैं
- voice mixer का इस्तेमाल कर कई voice models को मिलाकर अपनी आवाज़ की प्रोफ़ाइल बनाना
- queue mode से कई फ़ाइलों की batch processing और हर फ़ाइल के लिए अलग settings बनाए रखना
- chapter markers/metadata का automatic generation, project folder management
- विभिन्न output formats: WAV, FLAC, MP3, OPUS, M4B आदि सपोर्ट, subtitles के लिए SRT/ASS जैसे विकल्प
- मुख्य भाषा सपोर्ट: US/UK English, Spanish, French, Hindi, Italian, Japanese, Portuguese, Chinese आदि
- Kokoro-82M TTS engine आधारित उच्च-गुणवत्ता और प्राकृतिक उच्चारण
- GUI और command line दोनों का सपोर्ट, Docker container भी इस्तेमाल किया जा सकता है
Abogen की सुविधाओं का विस्तृत विवरण
#शुरुआत और इंस्टॉलेशन पृष्ठभूमि
- मौजूदा TTS टूल्स में इंस्टॉलेशन, environment setup, quality, customization और multi-file processing को लेकर कई सीमाएँ हैं
- Abogen को आसान लेकिन शक्तिशाली interface के साथ बनाया गया है ताकि text-to-audio conversion, subtitle generation, voice mixing जैसी advanced features शुरुआती उपयोगकर्ताओं के लिए भी सुलभ हों
- यह कई OS (Windows, Linux, macOS) पर चलता है और पहले से Python इंस्टॉल किए बिना भी embedded/installed environment अपने आप सेट कर सकता है
#मुख्य उपयोग विधि
- ePub, PDF या टेक्स्ट फ़ाइलों को drag-and-drop करें या built-in editor का उपयोग करें
- settings: reading speed, voice (model·gender·language), subtitle style (sentence-wise·word-wise), audio/subtitle output format, output path आदि विस्तार से चुने जा सकते हैं
- सिर्फ़ convert शुरू करने वाले बटन पर क्लिक करते ही परिणाम तैयार हो जाता है
#वास्तविक डेमो
- लो-एंड GPU पर भी लगभग 3,000 अक्षरों के टेक्स्ट को 11 सेकंड में 3 मिनट 28 सेकंड की ऑडियो में बदला जा सकता है
- processing speed हार्डवेयर स्पेसिफिकेशन के अनुसार बदलती है
#सेटिंग विकल्प
- input methods: drag-and-drop, built-in editor, queue management से कई फ़ाइलों को एक साथ प्रोसेस करना
- reading speed: 0.1x ~ 2.0x तक बारीक नियंत्रण
- voice selection और preview: language/gender के अनुसार models, custom mixer से अपनी voice profile तय करना
- subtitle generation: sentence, comma unit, n-word unit subtitles का automation
- audio output: WAV, FLAC, MP3, OPUS, M4B (chapters सहित)
- subtitle formats: SRT, ASS आदि का customization
- chapter·project management: chapter-wise audio, merged file, metadata सहित project folder में सेव
- theme, logs, shortcuts सहित कई UI विकल्प
#Voice Mixer
- कई voice models को weight adjustment के साथ मिलाकर एक अनोखी आवाज़ सीधे बनाई, सेव की और दोबारा इस्तेमाल की जा सकती है
- voice mixing के परिणाम को voice profile के रूप में preview करके लागू किया जा सकता है
#Queue Mode
- हर फ़ाइल की अलग settings बनाए रखते हुए, कई टेक्स्ट·eBook को एक साथ ऑटोमैटिक convert करना
- queue में जोड़ते समय की settings हर फ़ाइल के लिए अलग सेव होती हैं, और main settings बदलने पर भी प्रभावित नहीं होतीं
#Chapter Marker/Metadata
- chapter splitting tags अपने आप डाले जाते हैं
- मैन्युअली भी `` टैग डाला जा सकता है
- त्रुटि होने पर सिर्फ़ उसी chapter को तेज़ी से फिर से प्रोसेस करना आसान होता है
- metadata tags से title, author, year जैसी जानकारी जोड़कर audiobook apps में जानकारी दिखाई जा सकती है
- टेक्स्ट फ़ाइल की शुरुआत में जोड़ा जा सकता है
#समर्थित भाषाएँ
- Kokoro-82M engine का multilingual support
- English (US/UK), Spanish, French, Hindi, Italian, Japanese, Brazilian Portuguese, Chinese आदि
- अन्य भाषाओं के subtitles इंजन की तकनीकी सीमाओं के कारण भविष्य में जोड़े जा सकते हैं
#आउटपुट और उपयोग
- MPV जैसे advanced media players की सिफारिश, सिंक subtitles सपोर्ट के साथ
- Docker आधारित server deployment सपोर्ट
#समान प्रोजेक्ट्स से अंतर
- Abogen standalone GUI, customization features, project-wise folder management, chapter·metadata automation, queue processing, mixed voices जैसी बेहतरीन सुविधाएँ देता है
- audiblez, autiobooks, pdf-narrator, epub_to_audiobook, ebook2audiobook से समानताएँ हैं, लेकिन GUI usability, advanced TTS engine, और chapter/subtitle sync इसके प्रमुख अंतर हैं
#रोडमैप और योगदान
- OCR (document recognition) जोड़ने और multilingual GUI को और बेहतर बनाने की योजना है
- कोई भी fork करके features जोड़ सकता है, bugs ठीक कर सकता है और open source contribution कर सकता है
#तकनीकी क्रेडिट और लाइसेंस
- Kokoro-82M TTS, PyQt आधारित GUI, EbookLib integration आदि कई पार्टनर open source तकनीकों का उपयोग
- MIT license (commercial use और modification की आज़ादी), इंजन (Kokoro) Apache-2.0 license के तहत
#सावधानियाँ और सीमाएँ
- subtitle sync सुविधा अभी केवल English के लिए उपलब्ध है (अन्य भाषाओं के लिए Kokoro engine में विकास की आवश्यकता है)
- कुछ सुविधाएँ सीमित हैं (जैसे Docker में audio preview)
- इंस्टॉलेशन और environment setup की विस्तृत गाइड के लिए official documentation देखें
1 टिप्पणियां
Hacker News राय
मैं एक pipeline की कल्पना कर रहा हूँ जहाँ Calibre-Web से किताबें मिलें, Abogen के ज़रिए उन्हें audio version में बदला जाए, और Audiobookshelf के माध्यम से उपलब्ध कराया जाए; यह सुनने में अक्षम लोगों के लिए भी वास्तव में बहुत अच्छा solution हो सकता है। Calibre-Web audiobookshelf देखें
इस tool का उपयोग करके text वाली किताब को audiobook में बदलकर निजी तौर पर सुनना ठीक है, लेकिन किसी लेखक के लिए इसका इस्तेमाल distribution file बनाने में करना बहुत जोखिमभरा है। independent writers को अपने काम का प्रचार करने में पहले ही बहुत कठिनाई होती है, और आजकल potential readers को AI इस्तेमाल होने का ज़रा-सा संकेत भी दिख जाए तो वे तुरंत रुचि खो देते हैं। मेरे मामले में, मैंने ऐसे voice actors को hire करना शुरू किया है जो acting अच्छी करते हैं लेकिन जिनकी मातृभाषा English नहीं है, या जो घर में दूसरी भाषा बोलते हैं। मैं उनसे accent थोड़ा गहरा रखने के लिए भी कहता हूँ; इससे AI से अलग पहचान बनाने में मदद मिलती है, और नए अनुभव चाहने वाले लोगों के लिए किताब का आकर्षण भी बढ़ता है। पहले Mediterranean क्षेत्र के अभिनेताओं ने कितनी जीवंत audiobook recordings कीं, यह audition में देखकर मैं सचमुच चकित रह गया था।
मैं जानना चाहता हूँ कि यह सिर्फ text-to-speech conversion है, या सच में audiobook जैसा बनाता है। अच्छी audiobooks में voice actor अलग-अलग पात्रों को अलग तरह से निभाते हैं, और accent व dialect भी बदलते हैं। ऐसी चीज़ें chatgpt जैसे tools से कुछ वाक्यों तक तो संभव लगती हैं, लेकिन 8–20 घंटे की पूरी audiobook में यह आसान नहीं है। मौजूदा स्तर पर मुझे अब भी लगता है कि epub को state-of-the-art audiobook में बदलने के लिए बुनियादी बाधाएँ मौजूद हैं। शायद मैं कुछ मिस कर रहा हूँ।
इस tool में abogen app चलाते समय pip की ज़रूरत पड़ती है, इसलिए इसे ऐसे environment में चलाना होगा जहाँ
pipउपलब्ध हो।uv tool run abogencommand से शुरू किया जा सकता है, लेकिन model install वाले चरण पर यह रुक जाता है।uv venv && uv pip install pip && source .venv/bin/activate && abogenकरने पर मैंने पुष्टि की कि यह सही चलता है। packaged GUI भी अच्छा बना है, और PDF file में pages या sections चुनने वाली UI भी बढ़िया है। मेरे laptop के GTX 1650 पर speed भी तेज़ है। output.oggaudio और.asssubtitle files के रूप में मिलता है, और mpv में लोड करने पर terminal में सुनना और पढ़ना साथ-साथ संभव है। एक कमी यह है कि PDF source के line breaks वैसे ही रह जाते हैं, जिससे कभी-कभी वाक्य के बीच अजीब लंबा विराम आ जाता है और समझने में बाधा होती है। single newline skip करने वाला feature on करने पर यह स्पष्ट रूप से बेहतर हो जाता है।मुझे audiobooks बहुत पसंद हैं, लेकिन narration को लेकर मैं बहुत picky हूँ। अगर narrator मेरे अनुकूल न हो तो मैंने कई audiobooks बीच में ही छोड़ दी हैं। इस तरह की service को मैं सच में इस्तेमाल करूँ, उसमें अभी काफ़ी समय लगेगा।
text के अलावा code, charts, images वगैरह वाली किताबों पर यह शायद अच्छा काम नहीं करेगा, जो स्वाभाविक है। मैं यह भी जानना चाहता हूँ कि क्या कोई open source neural network है जो PDF pages लेकर उन्हें "pure prose" version में बदल दे। जैसे अगर किसी page पर image और text साथ हों, तो image की content या description भी text में दिखा दे।
blogs या articles जैसी छोटी सामग्री पर मैंने Kokoro TTS आज़माया था, लेकिन वह उम्मीद पर खरा नहीं उतरा। अभी Gemini 2.5 Flash TTS performance के मामले में कहीं बेहतर है और इसका free quota भी उदार है (प्रति generation 10 मिनट, प्रतिदिन 90 मिनट)। छोटे लेखों में voice consistency की समस्या ज़्यादा महसूस नहीं होती, लेकिन पूरी किताब जितनी लंबाई पर यह निश्चित रूप से समस्या बनती है।
मैंने इस tool का इस्तेमाल philosophy की किताबों को audiobook में बदलकर accessibility बढ़ाने के लिए किया, लेकिन एक महत्वपूर्ण समस्या थी। अगर Kokoro में input sentence बहुत लंबा हो, तो अंत के शब्द या वाक्य skip हो जाते हैं या धुंधले पड़ जाते हैं। abogen text को sentence units में काटकर देता है, लेकिन लंबे वाक्य वैसे ही Kokoro में चले जाते हैं, जिससे audiobook practically unusable हो जाती है। इसलिए मैं nltk और regex का उपयोग करके और बारीकी से विभाजन करने वाला अपना tkinter GUI app खुद बना रहा हूँ।
मैं व्यक्तिगत रूप से ऐसी solution की उम्मीद कर रहा हूँ जो PDF को अच्छी तरह व्यवस्थित ePub में बदल दे।
मैंने Kokoro TTS को CLI के audiblez के साथ इस्तेमाल किया है। model छोटा है, लेकिन speed तेज़ है और sound quality भी प्रभावशाली है। फिर भी कुछ कमियाँ हैं: a) यह sentence-ending period और "Mr." "Mrs." जैसे abbreviations के period में फर्क नहीं कर पाता, इसलिए अजीब pauses आते हैं, b) ellipsis (...) की handling अच्छी नहीं है, c) context बदलने पर भी शब्दों का pronunciation हमेशा एक जैसा रहता है।