3 पॉइंट द्वारा GN⁺ 2026-01-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Sopro TTS एक अंग्रेज़ी-आधारित हल्का text-to-speech मॉडल है, जो zero-shot voice cloning और streaming generation को सपोर्ट करता है
  • इसमें 169 मिलियन parameters हैं, और CPU पर 0.25 RTF की गति से 30 सेकंड ऑडियो लगभग 7.5 सेकंड में जनरेट करता है
  • केवल 3~12 सेकंड लंबे reference audio से वक्ता की आवाज़ क्लोन की जा सकती है, और इसमें WaveNet-स्टाइल dilated conv और हल्का cross-attention आर्किटेक्चर इस्तेमाल किया गया है
  • यह एकल L40S GPU पर प्रशिक्षित कम-बजट प्रोजेक्ट है, और डेटा क्वालिटी बेहतर होने पर प्रदर्शन और सुधर सकता है
  • Streaming और non-streaming mode, CLI·Python API·web demo — सभी को सपोर्ट करता है, इसलिए डेवलपर प्रयोग और इंटीग्रेशन उपयोगिता अधिक है

Sopro TTS अवलोकन

  • Sopro का पुर्तगाली में अर्थ ‘सांस’ है, और इसे हल्के अंग्रेज़ी TTS मॉडल के रूप में विकसित किया गया है
    • Transformer की जगह dilated convolution और cross-attention को मिलाकर बना आर्किटेक्चर
    • एकल L40S GPU पर प्रशिक्षित व्यक्तिगत प्रोजेक्ट
  • मुख्य विशेषताएँ
    • 169M parameters, streaming support, zero-shot voice cloning
    • CPU पर 0.25 RTF से 30 सेकंड ऑडियो 7.5 सेकंड में जनरेट
    • 3~12 सेकंड लंबे reference audio से voice cloning संभव

इंस्टॉलेशन और रन

  • केवल न्यूनतम dependency versions निर्दिष्ट हैं, इसलिए अलग environment बनाए बिना इंस्टॉल किया जा सकता है
    • उदाहरण: torch==2.6.0 version पर M3 CPU में लगभग 3 गुना प्रदर्शन सुधार
    विज्ञापन
  • इंस्टॉल करने के तरीके
    • PyPI: pip install sopro
    • GitHub repository: git clone के बाद pip install -e .

उपयोग उदाहरण

  • CLI रन उदाहरण
    • text, reference audio, output file निर्दिष्ट किए जा सकते हैं
    • --style_strength, --no_stop_head, --stop_threshold, --stop_patience जैसे विस्तृत control parameters उपलब्ध
  • Python API उदाहरण
    • SoproTTS.from_pretrained("samuel-vitorino/sopro", device="cpu") से मॉडल लोड
    • non-streaming और streaming — दोनों तरीकों का समर्थन
    • streaming mode में जनरेट हुए audio chunks को क्रमवार जोड़ा जा सकता है
विज्ञापन

इंटरैक्टिव streaming demo

  • इंस्टॉल के बाद uvicorn demo.server:app कमांड से लोकल सर्वर चलाएँ
  • या Docker से build और run किया जा सकता है
    • docker build -t sopro-demo .
    • docker run --rm -p 8000:8000 sopro-demo
  • ब्राउज़र में http://localhost:8000 खोलकर demo देखा जा सकता है

सावधानियाँ और सीमाएँ

  • output consistency में कमी हो सकती है, इसलिए parameters समायोजित करने पड़ सकते हैं
  • voice cloning quality माइक्रोफोन क्वालिटी और आसपास के शोर पर बहुत निर्भर करती है
  • non-streaming version बेहतर ऑडियो क्वालिटी देता है
  • generation length लगभग 32 सेकंड (400 frames) तक सीमित है; इससे अधिक होने पर hallucinatory output आ सकता है
  • torchaudio इस्तेमाल करने पर ffmpeg आवश्यक है, soundfile का उपयोग सुझाया गया है
  • training data pre-tokenized form में है, और स्टोरेज समस्या के कारण मूल ऑडियो हटा दिया गया
  • आगे training code को सार्वजनिक करने और multilingual support बढ़ाने की योजना का उल्लेख है

training data

  • Emilia YODAS, LibriTTS-R, Mozilla Common Voice 22, MLS datasets का उपयोग

संदर्भ और आधार तकनीक

  • Mimi Codec (Kyutai), WaveNet, Attentive Stats Pooling, AudioLM, CSM आदि के शोध और codebase का उपयोग

1 टिप्पणियां

 
GN⁺ 2026-01-10
Hacker News की राय
  • यह एक शानदार और उपयोगी प्रोजेक्ट है
    मेरी निजी राय में Chatterbox-TTS-Server सबसे अच्छा विकल्प है
    इसकी स्पीड धीमी है, लेकिन ऑडियो क्वालिटी काफ़ी अच्छी है

    • मैं IndexTTS2 को पसंद करता हूँ
      यह मॉडल voice cloning और emotion vector के ज़रिए मैन्युअल emotion control कर सकता है, इसलिए यह बहुत ताकतवर टूल लगता है
      यह अभी चल रहे model orchestration प्रोजेक्ट में खास तौर पर उपयोगी रहा
      एक external emotion classification model, LLM के persona और TTS output दोनों को एक साथ कंट्रोल करके consistency बनाए रखता है
      emotion state के हिसाब से ‘memory’ retrieval probability भी बदलती है, और IndexTTS2 जितना बारीक control देने वाला TTS बहुत कम है
    • लेकिन Chatterbox-TTS की output quality कहीं बेहतर है
      GitHub वीडियो के आधार पर Sopro TTS की output बहुत खराब है और वास्तविक उपयोग लायक नहीं लगती
      वहीं Chatterbox चौंकाने वाले नतीजे देता है
      मेरा GPU RTX5090 है, और 1 सेकंड generate करने में लगभग 2 सेकंड runtime लगता है, जो काफ़ी तेज़ है
      पहला उदाहरण और दूसरा उदाहरण देख सकते हैं। दूसरा, यूट्यूबर ArbitorIan की आवाज़ को clone करने वाला डेमो है
  • वाकई शानदार!
    मैं लोकल में Kokoro (82M) इस्तेमाल कर रहा हूँ, यह तेज़ भी चलता है और ऑडियो क्वालिटी भी बेहतरीन है

    • क्या किसी को कोई अच्छा open source voice assistant stack पता है?
      मैं ricky0123/vad से voice activation संभाल रहा हूँ, फिर Web Speech API से तेज़ recognition करके commercial TTS इस्तेमाल कर रहा हूँ
      अभी तक open source में कोई तेज़ विकल्प नहीं मिला
    • मैंने ब्राउज़र में चलने वाला Kokoro-JS भी आज़माया, लेकिन latency बहुत ज़्यादा थी और यह मेरी मनचाही भाषा भी support नहीं करता था, इसलिए थोड़ी निराशा हुई
  • मैं सोच रहा था कि “zero-shot” का मतलब क्या है

    • zero-shot वह तरीका है जिसमें मॉडल को एक ही prompt से चलाया जाता है (या फ़ाइल के रूप में दिए गए अतिरिक्त context के साथ)
      few-shot में मॉडल को कुछ उदाहरण देकर guide किया जाता है, और multi-shot में कई prompts और revision steps शामिल होते हैं
    • इस मामले में शायद इसका मतलब है कि बिना किसी अलग voice sample दिए भी अच्छा clone मिल सकता है
  • यह बिना लंबे compilation के Mission Impossible स्तर की voice cloning करने जैसा लगता है
    इससे जुड़ा YouTube वीडियो और शब्द-खेल वाली कविता भी साझा कर रहा हूँ

  • मैंने इसे अंग्रेज़ी में टेस्ट किया और काफ़ी प्रभावित हुआ
    लो-बजट प्रोजेक्ट के हिसाब से नतीजे चौंकाने वाले थे, और इस्तेमाल करना भी बहुत आसान था

    • लेकिन यह सिर्फ़ अंग्रेज़ी के लिए है, इसलिए मैं दूसरी भाषाएँ आज़मा नहीं सका
      अगर इसका जर्मन वर्ज़न हो, तो मैं ज़रूर इस्तेमाल करना चाहूँगा
  • इसकी सीमाओं को देखते हुए नतीजे काफ़ी प्रभावशाली हैं
    क्या इसका कोई और ताकतवर वर्ज़न जारी करने का प्लान है, जिसमें artifacts कम हों और ज़्यादा compute की ज़रूरत हो?
    मैं ज़्यादातर Chatterbox इस्तेमाल करता हूँ, लेकिन अगर यह high quality तक पहुँचे तो एक अच्छा विकल्प बन सकता है

    • यह मेरा side project है
      compute cost काफ़ी महँगी है, लेकिन अगर community response अच्छा रहा तो मैं इसे और विकसित करने का सोचूँगा
      वैसे Chatterbox एक शानदार मॉडल है और प्रेरणा का स्रोत भी
  • मैं “zero-shot” का मतलब जानना चाहता था

    • मुझे लगता है कि ऐसे *-shot शब्द असल में बेमानी industry jargon हैं
      यह Big O notation से भी ज़्यादा मनमाना है
    • Wikipedia की परिभाषा के अनुसार, zero-shot वह problem setting है जिसमें टेस्ट के समय ऐसे classes के sample predict किए जाते हैं जिन्हें training के दौरान नहीं देखा गया था
      यानी अगर मॉडल P(Audio|Voice) conditional probability सीखता है, और training में न देखी गई voice classes के लिए sample कर सकता है, तो वह zero-shot है
      reference audio देना model weights बदलना नहीं, बल्कि context देना है
  • मैंने ऑडियो सुना और ऑडियो क्वालिटी इतनी भयानक लगी कि हैरान रह गया
    यह 15 साल पुराने कंप्यूटर voice से भी खराब है, और लोग इसे अच्छा क्यों कह रहे हैं, समझ नहीं आता
    मैंने कई browsers में टेस्ट किया, लेकिन नतीजा वही रहा

    • कुछ reference voices quality गिरा सकती हैं
      अगर यह इतना गंभीर है, तो शायद कोई और समस्या भी हो सकती है, इसलिए मैं साथ में देखना चाहूँगा
    • अगर यह sample डेमो में सबसे अच्छा था, तो उच्चारण की विकृति इतनी ज़्यादा थी कि तुरंत अटपटा लगा
    • एक पल के लिए मुझे लगा यह RFK की आवाज़ है
    • मैंने कई आवाज़ें आज़माईं, लेकिन generated audio उनसे बिलकुल मिलता-जुलता नहीं था, और ढंग की आवाज़ भी नहीं लग रही थी
    • मुझे भी सुनकर यक़ीन नहीं हुआ। 1 मिनट से ज़्यादा सुनना मुश्किल था, इतनी अप्रिय ऑडियो क्वालिटी थी
  • तकनीक वाकई शानदार है
    आगे चलकर यह और बेहतर होगी
    लेकिन फिलहाल के लिए भी खुरदुरेपन (razziness) को कम करने वाली कोई साधारण audio post-processing जोड़ दी जाए तो अच्छा होगा

  • क्या ऐसे मॉडलों में कोई speech-to-speech voice changer की तरह काम करने वाला भी है?
    यानी एक fixed voice sample (prompt) और real-time input audio stream लेकर, input की आवाज़ को prompt के tone और timbre में बदल दे
    V-tuber जैसे use case में prompt बार-बार बदलने की ज़रूरत नहीं होती, इसलिए एक बार के fine-tuning से fixed timbre लागू करना भी संभव लग सकता है

    • Chatterbox TTS इसे “voice cloning” मोड में support करता है
      हालाँकि streaming processing आपको खुद implement करनी होगी
      यह audio A (style) और B (content) को लेकर, A का timbre और B का उच्चारण·intonation जोड़ता है
      ऐसे मॉडल को असल में “TTS” से ज़्यादा S+STS (speech+style to speech) कहना सही होगा
    • open source के बारे में नहीं जानता, लेकिन ElevenLabs काफ़ी समय से इस आइडिया को लागू कर रहा है
      आधिकारिक ब्लॉग में इसका विस्तार से विवरण है
    • RVC (Retrieval Voice Conversion) भी एक अच्छा open source voice conversion tool है
      लेकिन मूल निर्माता और डेवलपर्स के बीच विवाद रहा है, इसलिए main fork से बचना और अंग्रेज़ी में maintain होने वाला नया fork ढूँढना बेहतर होगा
    • वास्तव में बहुत से V-tuber ऐसी तकनीक इस्तेमाल करते हैं, इसलिए लगता है कि कोई स्थिर समाधान ज़रूर मौजूद है