Skip to content

murmr-tts/docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

murmr

Text-to-speech where you describe any voice in natural language.

Context7 npm PyPI Website

What is murmr?

murmr is a text-to-speech API that creates voices from natural language descriptions. No preset voices, no audio samples -- just describe what you want and murmr generates it.

  • Voice Design -- describe any voice in plain English (age, accent, tone, pace) and get speech back
  • OpenAI TTS-compatible -- drop-in replacement, change the base URL and key to migrate
  • 10 languages -- Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian
  • Multiple delivery modes -- SSE streaming (~450ms to first chunk), real-time WebSocket, and batch
  • Official SDKs -- Node.js (@murmr/sdk) and Python (murmr) with streaming, long-form chunking, and error recovery built in

Quick Start

curl

curl -N -X POST "https://api.murmr.dev/v1/voices/design/stream" \
  -H "Authorization: Bearer $MURMR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "text": "Welcome to our app. Let me show you around.",
    "voice_description": "A warm, friendly female voice, calm and clear",
    "language": "English"
  }'

TypeScript

import { MurmrClient } from '@murmr/sdk';
import { writeFileSync } from 'node:fs';

const client = new MurmrClient({ apiKey: process.env.MURMR_API_KEY! });

const wav = await client.voices.design({
  input: 'Welcome to our app. Let me show you around.',
  voice_description: 'A warm, friendly female voice, calm and clear',
  language: 'English',
});

writeFileSync('welcome.wav', wav);

Python

import os
from murmr import MurmrClient

with MurmrClient(api_key=os.environ["MURMR_API_KEY"]) as client:
    wav = client.voices.design(
        input="Welcome to our app. Let me show you around.",
        voice_description="A warm, friendly female voice, calm and clear",
        language="English",
    )

    with open("welcome.wav", "wb") as f:
        f.write(wav)

Sign up at murmr.dev for a free API key (50,000 characters/month).

Documentation

Getting Started

Document Description
Installation SDK setup for Node.js and Python, REST API basics
Quickstart Generate audio, stream it, save a voice, and reuse it in 5 minutes
Authentication API key format, Bearer auth, usage headers, security best practices

API Reference

Document Description
Speech Generation Batch and streaming endpoints for saved voices (/v1/audio/speech)
Voice Design Create voices from natural language descriptions (/v1/voices/design)
Streaming SSE format, chunk structure, browser playback with Web Audio API
Voice Management Save, list, and delete voices
Audio Formats WAV, MP3, Opus, AAC, FLAC, PCM -- specs and when to use each

Real-time

Document Description
Real-time WebSocket Bidirectional WebSocket API for voice agents and LLM integration
WebSocket Protocol Full protocol reference: message types, binary mode, text buffering, close codes
Browser Client Connect to the WebSocket endpoint from the browser with native APIs

Advanced

Document Description
Long-Form Audio Generate audio from text of any length with automatic chunking
Async Jobs Submit batch jobs, poll for results, receive webhook notifications
Portable Embeddings Extract voice identity as compact embeddings for multi-tenant apps
Voice Agents Build conversational agents by streaming LLM tokens into murmr

Guides

Document Description
Crafting Voice Descriptions What works in voice descriptions: demographics, emotion, pace, accent
Style Instructions Control delivery style with the instruct parameter for saved voices
Text Formatting How whitespace and punctuation affect prosody and pacing
OpenAI Migration Migrate from OpenAI TTS with minimal code changes
Languages Supported languages, cross-lingual synthesis, language auto-detection

Reference

Document Description
Errors HTTP status codes, structured error format, troubleshooting
Rate Limits Per-plan limits, concurrent requests, usage headers, overage pricing
Node.js SDK Reference Complete @murmr/sdk API: all methods, parameters, and return types
Python SDK Reference Complete murmr SDK API: sync and async clients, all methods and types

Using with AI Assistants

These docs are indexed by Context7, which means AI coding assistants can pull them automatically when you work with murmr.

In Cursor or Claude Code, just mention murmr in your prompt:

"Use murmr to add text-to-speech to my Express app"

The assistant will fetch the relevant docs via Context7 and generate working code with correct API usage.

Direct MCP query (for custom setups):

Use context7 to look up murmr-tts/docs, then show me how to stream audio with voice design

Links

Website murmr.dev
Dashboard murmr.dev/en/dashboard
npm @murmr/sdk
PyPI murmr
Context7 context7.com/murmr-tts/docs

About

murmr TTS API documentation — unified reference for REST API, Node.js SDK, and Python SDK

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors