Kitten TTS - सिर्फ CPU पर चलने वाला 25MB ओपन सोर्स TTS मॉडल
(github.com/KittenML)- Kitten TTS एक ओपन सोर्स TTS (text-to-speech) मॉडल है, जिसका लक्ष्य हल्केपन और उच्च ऑडियो गुणवत्ता को एक साथ हासिल करना है
- यह सिर्फ 1.5 करोड़ parameters का उपयोग करता है, जिससे मॉडल का आकार 25MB से कम रहता है
- अन्य बड़े TTS मॉडलों के विपरीत, इसकी बड़ी खासियत यह है कि इसे मोबाइल, embedded सहित लगभग हर environment में चलाया जा सकता है
- GPU के बिना भी हर डिवाइस पर उच्च-गुणवत्ता वाली speech synthesis संभव है
- विभिन्न premium voice विकल्पों के साथ, वास्तविक आवाज़ जैसी उच्च-गुणवत्ता वाली speech synthesis को सपोर्ट करता है
- तेज़ speech inference संभव होने से यह real-time synthesis के लिए optimized है
- डेवलपर प्रीव्यू मॉडल जारी कर दिया गया है, और आगे चलकर पूरा trained model weights, mobile SDK, web version आदि चरणबद्ध तरीके से जारी किए जाएंगे
2 टिप्पणियां
काश इसका एक Korean मॉडल भी होता..
Hacker News राय
Ubuntu 24 पर Razer Blade 16, Intel Core i9-14900HX के साथ एक साधारण benchmark चलाया गया
छोटे टेक्स्ट के लिए शुरुआती latency लगभग 315ms है, और speech generation की गति टेक्स्ट की लंबाई के अनुसार real-time से 3.35~5.5 गुना तक है
मॉडल लगभग 710ms में लोड हो जाता है
4 अलग-अलग voices में भी performance का अंतर लगभग नहीं है, और real-time से अधिकतम लगभग 5 गुना गति बनी रहती है
मेरे Intel Celeron N4020 CPU(1.10GHz) पर इसे लोड होने में 6 सेकंड लगे, और टेक्स्ट की लंबाई चाहे जो हो, गति लगभग real-time है
benchmark चलाने के लिए धन्यवाद
अभी मॉडल optimized नहीं है
production SDK रिलीज़ होने पर loading जैसी चीज़ों को भी optimize करने की योजना है
Reddit पर KittenTTS द्वारा बनाए गए audio samples हैं
Reddit audio sample
अलग-अलग voices वाला एक छोटा वीडियो भी है
YouTube वीडियो
Reddit वीडियो वाकई शानदार है
25MB से भी छोटे आकार में सिर्फ CPU पर इतनी quality मिलना हैरान करता है
लोग इसे ‘बस ठीक-ठाक मॉडल’ कह रहे हैं, यह समझ नहीं आता
आवाज़ काफ़ी साफ़ और स्पष्ट है
मैं native English speaker नहीं हूँ, फिर भी इसे समझना आसान है
यह थोड़ा धीमा लगता है, और आवाज़ ऐसी है जैसे किसी animation से आई हो
क्या इसे कहीं Futurama characters की आवाज़ों पर cross-training तो नहीं किया गया?
काश ऐसे मॉडल ही भविष्य बनें
offline, छोटे ML models सस्ते और हर जगह उपलब्ध hardware पर inference चलाने वाले
जिन्हें आसानी से दूसरे devices या apps में integrate किया जा सके, और यहाँ तक कि दूसरे models पर भी चलाया जा सके
Apple का SLM(small language model) वाला vision यही है
अगर कोई मॉडल सिर्फ calendar events manage करने के लिए है, तो उसे पूरी मानवता का ज्ञान रखने की ज़रूरत नहीं
उसे बस calendar management पर focused होना चाहिए
अगर मॉडल को single-purpose dedicated hardware पर चलाया जाए, तो energy efficiency बहुत बढ़ जाती है
यहाँ तक कि सिर्फ resistors से भी neural network चलाया जा सकता है(transistors के बिना)
बेशक ऐसा hardware general-purpose नहीं होता और मॉडल upgrade करना मुश्किल होता है
लेकिन कई मामलों में इतना काफ़ी है
एक तरफ़ ऐसे मॉडल हैं जिन्हें एक बार खरीदकर कुछ भी चलाया जा सकता है, और दूसरी तरफ़ subscription models से बंधे ऐसे मॉडल हैं जिनके लिए ऐसा hardware चाहिए जिसे सिर्फ सबसे अमीर mega-corporations ही खरीद सकें
देखना दिलचस्प होगा कि इनमें से कौन ज़्यादा सफल होता है
दरअसल यही वह लक्ष्य है जिसे हम हासिल करना चाहते हैं
यही हमारा vision भी है
25MB का आकार अपने आप में प्रभावशाली है, लेकिन असली innovation यह है कि KittenTTS को Apache-2.0 license के तहत जारी किया गया है
इस combination की वजह से, पूरी तरह offline चलने वाला speech engine सीधे Pi Zero स्तर के hardware या battery-powered toys में embed किया जा सकता है
GPU, cloud calls, या restrictive licensing की चिंता नहीं
इसने hardware और licensing की समस्या को एक ही बार में ‘packaging problem’ में बदल दिया है
quality में सुधार बाद की बात है, लेकिन इस स्तर की deployment को संभव बनाना ही असली game changer है
हम भी आगे high-quality ultra-small AI models बनाने को लेकर बहुत उत्साहित हैं
हमें लगता है कि local voice interfaces अनिवार्य हैं, और हम भविष्य में इस क्षेत्र के केंद्र में रहना चाहते हैं
यह मॉडल एक preview है, और अगले हफ़्ते के आसपास हम इससे कहीं ज़्यादा polished version जारी करेंगे
साथ में लगभग 80M मॉडल भी जारी करने की योजना है
आपने कहा कि KittenTTS Apache-2.0 है
लेकिन GitHub के source code को देखें तो यह phonemizer का उपयोग करता है
phonemizer GPL-3.0 license के तहत है
इसलिए अभी यह व्यवहार में GPL है
(नोट: इस टिप्पणी में यह भी जोड़ा गया कि यह comment LLM द्वारा लिखा हुआ लगता है)
Festival का festvox-kallpc16k मॉडल लगभग 6MB है, festvox-kallpc8k लगभग 3.5MB है
eSpeak NG का multilingual data लगभग 12MB है
हो सकता है यह मॉडल ज़्यादा natural speech दे
लेकिन पुराने या low-spec computers भी पहले से काफ़ी decent TTS कर सकते थे
अगर KittenTTS Apache-2.0 है, तो training data का क्या?
अगर मॉडल training input को लगभग ज्यों-का-त्यों reproduce कर सके, तब भी क्या यह कानूनी रूप से derivative work नहीं माना जाएगा, इस पर पूरा भरोसा किया जा सकता है?
यह espeak-ng पर depend करता है, इसलिए GPLv3 है
एक web version भी है
Demo यहाँ
आवाज़ ठीक-ठाक है, लेकिन आकार के हिसाब से काफ़ी प्रभावशाली है
क्या यह मज़ेदार नहीं है कि sci-fi फ़िल्मों में robot voices को “ज़्यादा रोबोट जैसा” बनाने के लिए आवाज़ को जानबूझकर अजीब ढंग से distort किया जाता है?
साफ़ तौर पर non-human robot voice कई स्थितियों में वास्तव में ज़्यादा आकर्षक और उपयोगी हो सकती है
उदाहरण के लिए, किसी smart toaster को BBC news anchor की तरह बोलने की ज़रूरत नहीं
बस pronunciation साफ़ होना चाहिए
मैंने demo text को पढ़वाया, लेकिन यह sample जितना अच्छा नहीं लगा
जो लोग आज़माना चाहें, उनके लिए sample text यहाँ है
6 वाक्यों के साथ demo चलाया तो error आया
3 वाक्यों तक घटाने पर ठीक चला
पता नहीं text length limit मॉडल की वजह से है या demo की सीमा है
मेरे environment में तो यह बिल्कुल काम नहीं करता
backend module में 404 error आता है
404 error example link
मैं इसी लिंक को ढूँढ रहा था
Reddit demo ठीक-ठाक है, और मुझे यह कुछ साल पुरानी quality जैसा लगा
लेकिन जब खुद चलाकर देखा, तो लगभग सभी samples समझने में बहुत कठिन थे
system requirements में लिखा है कि यह "असल में कहीं भी चल जाता है", यह पढ़कर हँसी आई
किसी machine पर Python version बहुत पुराना है
और किसी दूसरी machine पर Python version बहुत नया है, इसलिए package dependencies की वजह से install ही नहीं होता
इस समस्या को हल करने के लिए मैंने कुछ PR भेजे हैं
PR 21, PR 24, PR 25
अगर
uvinstalled है, तो मेरे merge किए हुए reference branch सेइस तरह चला सकते हैं
uvx के साथ install करने पर Python environment की ज़्यादातर समस्याएँ हल हो जाती हैं
uv installation guide
Python चुनने से एक समस्या हल होती है, लेकिन साथ में दर्जनों नई समस्याएँ पैदा हो जाती हैं
Fedora पर g++ का सही version नहीं होने से यह काम नहीं करता
वजह Python ही है
खुद इस्तेमाल करके देखा तो मॉडल का आकार और गति काफ़ी अच्छे हैं
लेकिन installation के लिए बहुत सारी libraries और extra चीज़ें चाहिए
इसलिए अंत में यह 25MB से काफ़ी दूर चला जाता है
फिर भी यह एक शानदार project है
dependencies की समस्या पर अच्छा point है
installation और usage को आसान बनाने के लिए, और लोगों की माँग के अनुसार GPU support और long text processing जोड़ने के लिए
मैंने इस मॉडल के लिए self-hosted server बनाया है
Kitten-TTS-Server
यह standard Python venv environment में सीधे चलता है, इसलिए conflicts की चिंता नहीं
बस git clone, pip install, python server.py काफ़ी है
ONNX का ज़िक्र है, इसलिए मेरा अनुमान है कि ONNX model या तो पहले से है या जल्द जोड़ा जाएगा
ONNX runtime एक single library है, जो C# में लगभग 115MB तक compress हो जाती है
यह बहुत छोटा नहीं है, लेकिन असल में चलाने के लिए कुछ ही lines of code चाहिए, इसलिए dependencies भी कम हैं
एक साथ कई libraries जोड़ना तेज़ development और iteration में मदद करता है
बाद में जब features स्थिर हो जाएँ, तो अनावश्यक libraries हटा दी जाती हैं
मॉडल का size(MB में) जितना महत्वपूर्ण नहीं, उससे ज़्यादा महत्वपूर्ण है CPU पर चलना और quality, और मेरी एकमात्र चिंता latency है
क्या कोई speech-to-text मॉडल offline बिना अलग training के चल सकता है?
जब AI से बातचीत इंसानों जैसी प्राकृतिक गति पर होने लगेगी, तब वह सचमुच प्रभावशाली होगा
Nvidia का parakeet मॉडल English के लिए current SOTA है
यह Whisper से 10 गुना तेज़ है, और मेरे mid-range AMD CPU पर भी real-time से कहीं तेज़ चलता है
Whisper के साथ offline speech recognition संभव है
कुछ apps पूरी तरह offline dictation या transcription भी support करते हैं
उदाहरण के तौर पर, "The brown fox jumps over the lazy dog.." टेक्स्ट पर
औसत generation time 1.28 सेकंड था, और लगभग 30.35 characters per second की गति मिली
यह AMD Ryzen 7 5800H पर था
offline speech recognition models में OpenAI का whisper सबसे प्रसिद्ध है
Whisper official repository
क्या किसी को पता है कि TTS मॉडल की latency किन factors से प्रभावित होती है?
काफ़ी प्रभावशाली है
कुछ खास क्षेत्रों, जैसे embedded domain में, इसका अच्छा उपयोग हो सकता है
लेकिन quality शायद इतनी परिपूर्ण नहीं कि बड़े models की जगह ले सके
offline सबसे उच्च गुणवत्ता वाले open TTS models के रूप में मैं fish-speech और f5-tts को मानता हूँ
F5-TTS को पुराने NVidia 1660(6GB VRAM) पर चलाया था और यह ठीक-ठाक काम करता है
modern hardware पर आप बिना बहुत ज़्यादा लागत के बेहतर quality, multilingual support, और zero-shot भी पा सकते हैं
Android पर SherpaTTS की compatibility अच्छी है
यह मॉडल एक preview version है, और आगे quality को काफ़ी बेहतर बनाने की योजना है
Fish Speech के weights commercial use के लिए उपलब्ध नहीं हैं
VRAM requirement क्या है, यह जानना दिलचस्प होगा, लेकिन KittenTTS सिर्फ 15 million parameters का है, इसलिए यह 10 लाख won से कम कीमत वाले low-power computers पर भी चल सकता है
आपने जिस 6GB GPU का ज़िक्र किया, वह पहले से पुराना माना जाता है
quality उतनी प्रभावशाली नहीं लगी जितनी उम्मीद थी
लक्ष्य natural speech है
piper और kokoro भी संतोषजनक नहीं लगे, और XTTS का installation थोड़ा जटिल था
speech recognition(STT) में whisper सच में कमाल है
एक अच्छे TTS की कमी महसूस होती है
GPU usage ज़्यादा हो तो भी चलेगा, बस quality अच्छी चाहिए
वैसे अभी का यह मॉडल kokoro से भी कमज़ोर है
मेरे हिसाब से मौजूदा open-weights SOTA quality chatterbox की है
मेरे द्वारा देखी गई सबसे अच्छी open-source TTS Dia है
कुछ सीमाएँ हैं, लेकिन laptop पर भी अच्छी तरह चलती है
Pinokio भी एक बार आज़माने लायक है
Chatterbox को भी आज़माना चाहिए
अगर GPU resources पर्याप्त हैं, तो यहाँ quality पर बहुत ज़ोर देने की ज़रूरत नहीं
अहम बात यह है कि यह मॉडल GPU के बिना चल सकता है
पहले Tacotron2 से भी पहले, GlowTTS, MelGAN जैसे छोटे TTS और vocoders को Digital Ocean cloud पर सस्ते में चलाया जाता था
उसके बाद रुझान लगातार बड़े models की तरफ़ गया
लेकिन आगे चलकर छोटे models के सीधे devices में embed होने का दौर आएगा
Raspberry Pi, toys, और तरह-तरह के छोटे devices जिनमें network की ज़रूरत नहीं, वहाँ इनका उपयोग होगा
edge AI robots, toys, consumer devices, और gaming में बड़ा विस्तार लाएगा