ElevenLabs set the generative-voice pattern. PlayHT (Play.ht) is the other TTS-first vendor students will see in RFPs: neural voices, instant cloning, streaming synthesis (Play 3 / PlayDialog-class engines), and conversational agents. It belongs in Module 16.2 so you can choose a voice vendor independently from an STT vendor.
Capability lectures: TTS, voice cloning. After PlayHT the module leaves vendors and teaches cross-cutting engineering: speaker diarization and real-time transcription. Hyperscaler TTS (Azure/Google) remains the compliance-default alternative.
Learning Objectives
By the end of this lesson, students should be able to:
- Describe PlayHT as a cloud generative TTS / voice-cloning platform (STT not the flagship).
- Call streaming or job-based TTS from Python (REST or
pyht-style SDK). - Compare PlayHT vs ElevenLabs vs Azure TTS vs “STT specialists” on streaming, languages, pricing, on-prem.
- Design STT+TTS split: Whisper/Deepgram/hyperscaler in, PlayHT out.
- Apply the same consent, PII, and retention rules as any cloning vendor.
- Know when PlayDialog-class conversational TTS matters vs batch narration.
PlayHT is a cloud text-to-speech and voice-cloning API. You authenticate with an API key plus user id, choose a voice (stock or cloned) and an engine generation (e.g. Play 2 / Play 3 / PlayDialog-class—names evolve), and receive audio as a file job or a stream. Any transcription features are secondary; for production ASR, pair PlayHT with a dedicated STT stack from lectures 1–6.
Why PlayHT Is in an STT Module
Speech products are duplex. Procurement often writes “voice AI” and receives one quote that mixes ASR minutes with TTS characters. Your job is to unbundle: WER, diarization, and PII live on the listen side; MOS-style listening tests, cloning quality, and time-to-first-byte audio live on the speak side. PlayHT competes on the speak side with ElevenLabs; it does not replace Deepgram.
Catalog Snapshot (Qualitative)
| Dimension | PlayHT | ElevenLabs | Azure / Google TTS | STT specialists (DG / Whisper / hyperscaler ASR) |
|---|---|---|---|---|
| Accuracy posture | TTS quality is subjective (listening tests); do not use PlayHT as your WER source of truth | Same TTS-first story; STT exists (Scribe) but still eval | Consistent neural TTS; mature STT siblings | This is where WER belongs |
| Streaming | First-class streaming TTS (gRPC/WS via SDK) | First-class streaming TTS | Streaming TTS available; STT streaming separate | STT streaming (Deepgram/Azure/Google/AWS) |
| Languages | Multilingual TTS catalog—verify locale + engine | Multilingual TTS (+ STT list) | Very broad | STT locale lists |
| Pricing posture | Typically character- or plan-based TTS; cloning tiers | Characters (TTS) + minutes (STT) | Metered characters / hours | STT per-minute / per-second / GPU |
| On-prem vs cloud | Cloud | Cloud | Cloud + some containers | Whisper can be on-prem |
| Diarization | Not why you buy PlayHT | STT diarize optional | On STT products | Yes (vendor or pyannote) |
| PII / cloning | Consent + audio retention; don’t log prompt text with secrets | Same | Enterprise DPA | Redaction on transcripts |
Engines and Product Shapes
Batch TTS
- Course narration, IVR prompts
- Job URL → download audio
- Highest quality settings OK
Streaming TTS
- Voice agents, live replies
- Time-to-first-byte matters
- PlayDialog-class for dialogue
Instant clone
- Short enrollment audio
- Consent receipt required
- Not speaker identification
Python: REST TTS Job (Stable Teaching Surface)
Header names (AUTHORIZATION, X-USER-ID) and engine strings have changed across API versions—verify against current PlayHT docs. Prefer streaming SDK for agents.
Python: Streaming TTS Sketch (pyht)
Streaming sends text (sometimes incrementally from an LLM) and yields audio frames. Pair with streaming STT from lecture 10. Do not wait for the full LLM answer before starting TTS if you need low latency—sentence-level flush is a common pattern.
PlayHT vs ElevenLabs — How to Choose
Do not invent a winner. Run the same scripts (neutral IVR, emotional support, code-switched language, interruptible agent) through both, plus Azure neural TTS as a cost/compliance control. Score: time-to-first-byte, listening preference, cloning fidelity, locale coverage, DPA, price at your character volume, and streaming SDK quality. Whichever loses TTS can still win another region or brand voice.
Pick PlayHT when
- Bake-off wins on your voices/locales.
- Streaming conversational TTS is the product.
- You already standardized on their agent tooling.
- STT will come from Deepgram/Whisper/hyperscaler.
Pick something else when
- ElevenLabs wins the same listening test.
- Azure/Google TTS is mandatory on the estate.
- You thought PlayHT would replace ASR—it will not.
- No consent to clone; use a stock neural voice or skip cloning.
“PlayHT is a speech-to-text vendor like Whisper or Amazon Transcribe.” It is a speak vendor. Listing it in an STT RFP without a separate ASR scorecard produces demos that sound great and mis-hear account numbers. Always budget WER work on the listen path.
Knowledge Check
- Short Answer: What is PlayHT’s primary role in Module 16.2? Answer: Generative TTS / voice cloning (the speak side), not flagship ASR.
- True/False: You should report PlayHT listening scores as if they were WER. Answer: False—WER is an STT metric.
- Multiple Choice: Streaming PlayHT is mainly for: (a) live TTS audio frames, (b) GCS Chirp batch, (c) FAISS upserts. Answer: (a).
- Short Answer: Name a typical hybrid pairing. Answer: Deepgram or Whisper/hyperscaler STT + PlayHT TTS (or ElevenLabs TTS).
- True/False: PlayHT is the preferred air-gap on-prem ASR engine. Answer: False—cloud TTS; Whisper for on-prem ASR.
- Multiple Choice: Pricing posture is closest to: (a) TTS characters/plans, (b) Transcribe Medical seconds only, (c) per-15s Chirp STT only. Answer: (a).
- Short Answer: What must you store alongside a cloned voice id? Answer: Documented consent (and retention/policy metadata).
- True/False: PlayHT vs ElevenLabs should be decided by one marketing latency number. Answer: False—run a listening + TTFB bake-off on your scripts.
- Multiple Choice: Next lecture after PlayHT is: (a) DALL·E, (b) Speaker Diarization, (c) Pinecone. Answer: (b).
- Short Answer: Why unbundle “voice AI” quotes? Answer: So STT WER/PII and TTS quality/cloning are evaluated and priced separately.
Key Takeaways
- PlayHT is a cloud TTS/cloning vendor; keep dedicated STT for recognition SLOs.
- Compare with ElevenLabs and hyperscaler TTS using listening tests, TTFB, locales, DPA, and price.
- Streaming TTS engines serve agents; batch jobs serve narration.
- Cloning requires consent; PlayHT is not on-prem ASR.
- Next: Speaker Diarization.
Lab: Synthesize one IVR script and one empathetic support script with PlayHT and ElevenLabs (stock voices). Blind vote. Then transcribe a two-speaker clip with Whisper only—show that PlayHT never entered the WER path.
RFP exercise: Split a fake “voice AI” quote into STT minutes vs TTS characters. Tie cloning to responsible AI.
Recap: PlayHT is generative TTS; unbundle it from STT. Continue with Speaker Diarization.