स्मॉलेस्ट एआई (Smallest AI) लाइवकिट (LiveKit) के प्लगइन इकोसिस्टम में शामिल हुआ- पल्स एसटीटी (Pulse STT) और लाइटनिंग टीटीएस (Lightning TTS) के साथ रियल-टाइम वॉयस एआई

Fastest TTS APIs for low-latency voice agents

Smallest AI अब एक नेटिव LiveKit प्लगइन है। अपने LiveKit वॉयस एजेंट पाइपलाइन में Pulse STT और Lightning TTS जोड़ें - केवल 64ms में ट्रांसक्रिप्शन और ~100ms में सिंथेसिस।

livekit-plugins-smallestai पैकेज अब लाइव है। Pulse STT और Lightning TTS, LiveKit Agents में प्रथम श्रेणी के प्लगइन्स हैं, जो कस्टम एडेप्टर या एकीकरण ओवरहेड के बिना आपके वॉयस पाइपलाइन में रीयल-टाइम स्पीच-टू-टेक्स्ट और अल्ट्रा-लो-लेटेंसी सिंथेसिस लाते हैं।

एक पैकेज। दोनों सेवाएं। पहले दिन से ही प्रोडक्शन-रेडी।

LiveKit Agents क्या है?

LiveKit Agents वेबआरटीसी (WebRTC) पर प्रोडक्शन-ग्रेड, रीयल-टाइम वॉयस एआई एजेंट्स बनाने के लिए एक ओपन-सोर्स पायथन फ्रेमवर्क है। यदि आपने वॉयस एजेंट परिदृश्य को देखा है और अधिकांश विकल्पों को बहुत अधिक ओपिनियनेटेड या बहुत कम-स्तर का पाया है, तो LiveKit वास्तव में एक उपयोगी मध्य मार्ग में बैठता है — यह आपको बिना यह तय किए कि हर हिस्से को क्या होना चाहिए, एक रीयल-टाइम वॉयस पाइपलाइन के बिल्डिंग ब्लॉक्स देता है।

इसका प्लगइन आर्किटेक्चर ही इसे निर्माण के योग्य बनाता है। STT, TTS, LLM, VAD — प्रत्येक एक स्वैपेबल घटक है। आप अपनी पसंद की सेवाएं चुनते हैं, उन्हें AgentSession में जोड़ते हैं, और बाकी काम फ्रेमवर्क संभाल लेता है। बातचीत का मोड़, व्यवधान, वेबआरटीसी पर ऑडियो ट्रांसफर — सब कुछ व्यवस्थित हो जाता है।

हमने क्या शिप किया

livekit-plugins-smallestai पैकेज PyPI पर लाइव है। यह आपको दो सेवाएं देता है:

smallestai.STT — Pulse द्वारा संचालित, हमारा रीयल-टाइम स्पीच-टू-टेक्स्ट इंजन। लगभग ~64ms TTFT के साथ WebSocket पर स्ट्रीम करता है, स्वचालित पहचान, वर्ड-लेवल टाइमस्टैम्प और स्पीकर डायराइजेशन के साथ 39 भाषाओं का समर्थन करता है।

smallestai.TTS — Lightning v3.1 द्वारा संचालित, हमारा अल्ट्रा-लो-लेटेंसी TTS इंजन। ~100ms लेटेंसी, 80+ आवाजें, और आपकी पाइपलाइन को जिस भी फॉर्मेट की आवश्यकता हो, उसमें आउटपुट।

दोनों सीधे LiveKit के प्लगइन सिस्टम से जुड़ते हैं। वे बिल्कुल किसी भी अन्य LiveKit प्लगइन की तरह काम करते हैं — जिसका अर्थ है कि इकोसिस्टम का हर हिस्सा जो LiveKit के साथ काम करता है, इनके साथ भी काम करता है।

यह कैसे काम करता है

इंस्टॉल करें

bash


अपना एनवायरनमेंट सेट करें


LIVEKIT_API_KEY=...
LIVEKIT_API_SECRET=...
LIVEKIT_URL=...
OPENAI_API_KEY=...
SMALLEST_API_KEY=...
LIVEKIT_API_KEY=...
LIVEKIT_API_SECRET=...
LIVEKIT_URL=...
OPENAI_API_KEY=...
SMALLEST_API_KEY=...
LIVEKIT_API_KEY=...
LIVEKIT_API_SECRET=...
LIVEKIT_URL=...
OPENAI_API_KEY=...
SMALLEST_API_KEY=...

STT- Pulse, WebSocket पर स्ट्रीमिंग

python


from livekit.plugins import smallestai
<h1>English, streaming</h1>
<p>stt = smallestai.STT(language="en")</p>
<h1>Automatic detection across 39 languages</h1>
<p>stt = smallestai.STT(language="multi")</p>
<h1>With speaker diarization</h1

from livekit.plugins import smallestai
<h1>English, streaming</h1>
<p>stt = smallestai.STT(language="en")</p>
<h1>Automatic detection across 39 languages</h1>
<p>stt = smallestai.STT(language="multi")</p>
<h1>With speaker diarization</h1

from livekit.plugins import smallestai
<h1>English, streaming</h1>
<p>stt = smallestai.STT(language="en")</p>
<h1>Automatic detection across 39 languages</h1>
<p>stt = smallestai.STT(language="multi")</p>
<h1>With speaker diarization</h1

Pulse रीयल-टाइम स्ट्रीमिंग के लिए हमारे WebSocket एंडपॉइंट से जुड़ता है, जिसमें अंतरिम और अंतिम ट्रांसक्रिप्ट के लिए पूर्ण समर्थन मिलता है। वर्ड-लेवल टाइमस्टैम्प और कॉन्फिडेंस स्कोर इसमें शामिल हैं।


TTS- Lightning, सेंटेंस-स्ट्रीम

python


from livekit.agents import tts, tokenize<br>from livekit.plugins import smallestai<p></p
from livekit.agents import tts, tokenize<br>from livekit.plugins import smallestai<p></p
from livekit.agents import tts, tokenize<br>from livekit.plugins import smallestai<p></p

एक बात जानने योग्य है: Lightning टोकन-दर-टोकन के बजाय प्रति अनुरोध ऑडियो को सिंथेसाइज करता है, इसलिए इसे SentenceTokenizer के साथ LiveKit के StreamAdapter में रैप करना सही कदम है। एडेप्टर LLM आउटपुट को वाक्य सीमाओं पर विभाजित करता है और प्रत्येक टुकड़े के लिए सिंथेसिस शुरू करता है — जिससे पहले-ऑडियो की लेटेंसी कम रहती है और एक भी शब्द बजने से पहले पूरे LLM रिस्पॉन्स के पूरा होने का इंतजार नहीं करना पड़ता।

एक ही फ़ाइल में पूरा एजेंट

STT और TTS दोनों के लिए Smallest AI का उपयोग करने वाला एक पूर्ण, प्रोडक्शन-रेडी वॉयस एजेंट यहाँ दिया गया है:


python

import logging<br>from dotenv import load_dotenv<br>from livekit.agents import (<br>Agent, AgentSession, JobContext, JobProcess,<br>RoomInputOptions, RoomOutputOptions, WorkerOptions, cli, tts, tokenize,<br>)<br>from livekit.plugins import openai, silero, smallestai<p></p>
<p>logger = logging.getLogger("voice-agent")<br>load_dotenv()</p>
<p>class MyAgent(Agent):<br>def <strong>init</strong>(self) -> None:<br>super().<strong>init</strong>(<br>instructions="You are a helpful voice assistant built by Smallest AI.",<br>)</p>
<pre><code>async def on_enter(self):
    self.session.generate_reply()
</code></pre>
<p>def prewarm(proc: JobProcess):<br>proc.userdata["vad"] = silero.VAD.load()</p>
<p>async def entrypoint(ctx: JobContext):<br>session = AgentSession(<br>vad=ctx.proc.userdata["vad"],<br>stt=smallestai.STT(language="en"),<br>llm=openai.LLM(model="gpt-4o-mini"),<br>tts=tts.StreamAdapter(<br>tts=smallestai.TTS(),<br>sentence_tokenizer=tokenize.basic.SentenceTokenizer(),<br>),<br>)<br>await session.start(<br>agent=MyAgent(),<br>room=ctx.room,<br>room_input_options=RoomInputOptions(),<br>room_output_options=RoomOutputOptions(transcription_enabled=True),<br>)</p

import logging<br>from dotenv import load_dotenv<br>from livekit.agents import (<br>Agent, AgentSession, JobContext, JobProcess,<br>RoomInputOptions, RoomOutputOptions, WorkerOptions, cli, tts, tokenize,<br>)<br>from livekit.plugins import openai, silero, smallestai<p></p>
<p>logger = logging.getLogger("voice-agent")<br>load_dotenv()</p>
<p>class MyAgent(Agent):<br>def <strong>init</strong>(self) -> None:<br>super().<strong>init</strong>(<br>instructions="You are a helpful voice assistant built by Smallest AI.",<br>)</p>
<pre><code>async def on_enter(self):
    self.session.generate_reply()
</code></pre>
<p>def prewarm(proc: JobProcess):<br>proc.userdata["vad"] = silero.VAD.load()</p>
<p>async def entrypoint(ctx: JobContext):<br>session = AgentSession(<br>vad=ctx.proc.userdata["vad"],<br>stt=smallestai.STT(language="en"),<br>llm=openai.LLM(model="gpt-4o-mini"),<br>tts=tts.StreamAdapter(<br>tts=smallestai.TTS(),<br>sentence_tokenizer=tokenize.basic.SentenceTokenizer(),<br>),<br>)<br>await session.start(<br>agent=MyAgent(),<br>room=ctx.room,<br>room_input_options=RoomInputOptions(),<br>room_output_options=RoomOutputOptions(transcription_enabled=True),<br>)</p

import logging<br>from dotenv import load_dotenv<br>from livekit.agents import (<br>Agent, AgentSession, JobContext, JobProcess,<br>RoomInputOptions, RoomOutputOptions, WorkerOptions, cli, tts, tokenize,<br>)<br>from livekit.plugins import openai, silero, smallestai<p></p>
<p>logger = logging.getLogger("voice-agent")<br>load_dotenv()</p>
<p>class MyAgent(Agent):<br>def <strong>init</strong>(self) -> None:<br>super().<strong>init</strong>(<br>instructions="You are a helpful voice assistant built by Smallest AI.",<br>)</p>
<pre><code>async def on_enter(self):
    self.session.generate_reply()
</code></pre>
<p>def prewarm(proc: JobProcess):<br>proc.userdata["vad"] = silero.VAD.load()</p>
<p>async def entrypoint(ctx: JobContext):<br>session = AgentSession(<br>vad=ctx.proc.userdata["vad"],<br>stt=smallestai.STT(language="en"),<br>llm=openai.LLM(model="gpt-4o-mini"),<br>tts=tts.StreamAdapter(<br>tts=smallestai.TTS(),<br>sentence_tokenizer=tokenize.basic.SentenceTokenizer(),<br>),<br>)<br>await session.start(<br>agent=MyAgent(),<br>room=ctx.room,<br>room_input_options=RoomInputOptions(),<br>room_output_options=RoomOutputOptions(transcription_enabled=True),<br>)</p


इसे चलाएं:

bash


LiveKit Agents Playground खोलें, अपने LiveKit क्रेडेंशियल्स दर्ज करें, और सेशन शुरू होते ही आपका एजेंट आपका स्वागत करेगा।


यहाँ एक ऐसा परिदृश्य है जिसका आपने शायद अनुभव किया होगा।

आप एक वॉयस बॉट बनाते हैं। डेमो अच्छा चलता है — आप उससे एक प्रश्न पूछते हैं, वह उत्तर देता है, सब कुछ सुचारू रूप से चलता है। फिर कोई उसे वाक्य के बीच में रोकने की कोशिश करता है। बॉट बोलता रहता है। वे फिर कोशिश करते हैं। अभी भी जारी है। जब तक वह अंततः रुकता है, तब तक वह उस उत्तर में तीन वाक्य आगे बढ़ चुका होता है जिसे कोई सुनना नहीं चाहता था, और यह सब कुछ एक लिफ्ट पर चिल्लाने जैसा महसूस होता है।

यह कोई असामान्य मामला नहीं है। यही वह चीज है जो एक वॉयस बॉट को वॉयस बातचीत से अलग करती है। और इसे सही करना वास्तव में कठिन है — इसलिए नहीं कि अवधारणा जटिल है, बल्कि इसलिए कि रीयल-टाइम ऑडियो बिल्कुल भी समय की बर्बादी बर्दाश्त नहीं करता। उपयोगकर्ता के बोलना शुरू करने और पाइपलाइन द्वारा उस पर प्रतिक्रिया देने के बीच के किसी भी अंतराल को तुरंत महसूस किया जाता है। इसे छिपाने का कोई तरीका नहीं है।

LiveKit इसे Silero VAD का उपयोग करके फ्रेमवर्क स्तर पर संभालता है — निरंतर वॉयस एक्टिविटी डिटेक्शन जो आपकी पाइपलाइन के साथ चलता है और जैसे ही भाषण का पता चलता है, व्यवधान की घटना शुरू कर देता है। ऑडियो तुरंत रुक जाता है। एजेंट फिर से जुड़ता है। बातचीत बिना किसी रुकावट के जारी रहती है।

एक बात ध्यान में रखने योग्य है: eou_timeout_ms को इसके डिफॉल्ट 0 पर ही छोड़ दें। यह Pulse की तरफ सर्वर-साइड एंड-ऑफ-अटरेंस डिटेक्शन को निष्क्रिय कर देता है और LiveKit के अपने टर्न डिटेक्शन को समय संभालने देता है। दोनों को एक साथ जोड़ने से आप हर टर्न के अंत में अनावश्यक लेटेंसी बढ़ा रहे होंगे।


यह एकीकरण क्यों मौजूद है

आज वॉयस एआई को संचालित करने वाले मॉडल वास्तव में सक्षम हैं। जो संभव है और जो टीमें वास्तव में शिप करती हैं, उनके बीच का अंतर एआई नहीं है — बल्कि इसके आसपास का इंफ्रास्ट्रक्चर है। प्रत्येक एकीकरण सीमा पर लेटेंसी जमा होती है। स्टेजिंग में काम करने वाला इंटरप्शन हैंडलिंग प्रोडक्शन में विफल हो जाता है। WebSocket कनेक्शन टूट जाते हैं। ऑडियो बफर होता है। उन समस्याओं में हफ़्ते निकल जाते हैं जिनका उस उत्पाद से कोई लेना-देना नहीं होता जिसे बनाया जा रहा है।

Pulse 64ms TTFT पर ट्रांसक्रिप्शन प्रदान करता है। Lightning लगभग ~100ms में ऑडियो को सिंथेसाइज और स्ट्रीम करता है। ये केवल बेंचमार्क नंबर नहीं हैं — ये लेटेंसी की वे सीमाएं हैं जो वॉयस बातचीत को यांत्रिक के बजाय स्वाभाविक महसूस कराती हैं। LiveKit उन्हें प्रोडक्शन में सुरक्षित रूप से चलाने के लिए WebRTC ट्रांसपोर्ट और टर्न-डिटेक्शन इंफ्रास्ट्रक्चर प्रदान करता है।

यह एकीकरण इसी अंतर को पाटने के लिए मौजूद है। मुख्य तकनीकी काम पूरा हो चुका है। अब उत्पाद को शिप करें।

शुरू करें

दस्तावेज़docs.smallest.ai

पूर्ण उदाहरणSmallest AI × LiveKit कुकबुक

PyPIlivekit-plugins-smallestai

प्रश्न? हमें Discord पर खोजें या कुकबुक रेपो में एक समस्या खोलें।

Smallest AI इंटरनेट पर सबसे तेज़ स्पीच इंफ्रास्ट्रक्चर का निर्माण करता है। Lightning TTS और Pulse STT आज एपीआई (API) के माध्यम से उपलब्ध हैं।


लेख सुनें
2:00
लेख सुनें
2:00

एआई (AI) के साथ सारांशित करें

हमारे साथ अपने संपर्क केंद्रों (Contact Centers) को स्वचालित करें

तेज़ लेटेंसी, मजबूत सुरक्षा और असीमित स्पीच जनरेशन का अनुभव करें।

एआई (AI) के साथ सारांशित करें

हमारे साथ अपने संपर्क केंद्रों (Contact Centers) को स्वचालित करें

तेज़ लेटेंसी, मजबूत सुरक्षा और असीमित स्पीच जनरेशन का अनुभव करें।

संबंधित ब्लॉग पोस्ट

वॉयस एजेंट ऑर्केस्ट्रेशन के भविष्य का निर्माण करें

311 कैलिफ़ोर्निया स्ट्रीट, सुइट 320
सैन फ्रांसिस्को, सीए 94104

वॉयस एजेंट ऑर्केस्ट्रेशन के भविष्य का निर्माण करें

311 कैलिफ़ोर्निया स्ट्रीट, सुइट 320
सैन फ्रांसिस्को, सीए 94104

वॉयस एजेंट ऑर्केस्ट्रेशन के भविष्य का निर्माण करें

311 कैलिफ़ोर्निया स्ट्रीट, सुइट 320
सैन फ्रांसिस्को, सीए 94104