Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
drawcall-ai avatar

Speech

  • 107 installs
  • Updated July 27, 2026
  • drawcall-ai/speech

Turns text into spoken audio clips (with tone/voice control) for NPC dialogue, narration, tutorials, accessibility readouts, and UI voice lines.

About

Drawcall Speech converts text (up to ~1000 characters) into spoken audio clips, with optional style, tone, emotion and voice parameters, and returns an audio file URL. A solo builder reaches for it to add narration, NPC dialogue, tutorial voiceovers, accessibility readouts or UI voice lines without wiring up a TTS provider by hand, and its built-in caching keeps repeated requests cheap.

  • Text-to-speech audio generation
  • Tone, emotion and voice styling
  • Built-in caching for repeated requests
  • Great for NPC dialogue and narration

Speech by the numbers

  • 107 all-time installs (skills.sh)
  • Ranked #782 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/drawcall-ai/speech --skill speech

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs107
Last updatedJuly 27, 2026
Repositorydrawcall-ai/speech

What it does

Turns text into spoken audio clips (with tone/voice control) for NPC dialogue, narration, tutorials, accessibility readouts, and UI voice lines.

Who is it for?

Adding spoken audio to apps, games and tutorials

Skip if: Long-form audiobooks (per-clip character limit)

When should I use this skill?

You need to turn text into a voice clip

What you get

  • audio clip URL

Files

SKILL.mdMarkdownGitHub ↗

Speech

Use Drawcall Speech for spoken output: NPC dialogue, narration, tutorial voice, accessibility readouts, and UI voice lines. It turns text into an audio clip URL that an app can load and play.

Endpoint

Drawcall Speech turns text into an audio URL.

GET https://v1.speech.drawcall.ai/?text=Hello+world&voice=Aria
  • text: required, URL-encoded, trimmed, max 1000 chars.
  • voice: optional, URL-encoded, defaults to Rachel.
  • Response: audio file, usually audio/mpeg.
  • Cache: generated clips are cached by text and voice; reuse identical URLs for repeatable playback.
  • Errors: plain text 400 for invalid input, 502 for generation failures.

First Request Delay

The first time a specific text and voice combination is requested, the endpoint has to generate the clip before it can serve it. That short delay can corrupt in-app behavior if a test expects instant playback, animation sync, or deterministic timing.

If that matters, warm the cache before testing by calling the endpoint once for each needed line and voice. Later requests for the same text and voice are cached and should be instant.

For tighter control, download and store the audio files locally, then serve them from the app. A good middle ground is a small speech script that predownloads every line while keeping the voice line text in one source file, so changing a line remains a single source change.

Examples

HTML audio:

<audio
  controls
  src="https://v1.speech.drawcall.ai/?text=Welcome+to+Drawcall&voice=Aria"
></audio>

Three.js positional audio:

import * as THREE from "three";

const listener = new THREE.AudioListener();
camera.add(listener);

const speaker = new THREE.Object3D();
speaker.position.set(2, 1.5, -3);
scene.add(speaker);

const audio = new THREE.PositionalAudio(listener);
audio.setRefDistance(2);
audio.setRolloffFactor(1.5);
speaker.add(audio);

const text = encodeURIComponent("I am speaking from over here.");
const voice = encodeURIComponent("Roger");
new THREE.AudioLoader().load(
  `https://v1.speech.drawcall.ai/?text=${text}&voice=${voice}`,
  (buffer) => {
    audio.setBuffer(buffer);
    audio.setVolume(1);
    audio.play();
  },
);

Voice

Known voices include Rachel, Aria, Roger, Sarah, Laura, Charlie, George, Callum, River, Liam, Charlotte, Alice, Matilda, Will, Jessica, Eric, Chris, Brian, Daniel, Lily, and Bill.

Browsers usually require a click/tap before audio can play. In UI, start playback from a user gesture and resume the audio context first if needed.

Related skills

Generative Mediaautomationagents

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.