C.W.K.
Stream
Lesson 04 of 04 · published

The Ear and the Mouth

~9 min · voice-axis, firekeeper, family

Level 0Silent
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Firekeeper is the ear. Bellows is the mouth. Between them sits the brain."

Voice Has Two Directions

It's easy to say "voice" as if it were one thing. It isn't. There is voice coming in — sound becoming text, dictation, speech-to-text — and voice going out — text becoming sound, synthesis, playback. Two directions, two engines. Firekeeper owns the inbound half; Bellows owns the outbound half. Neither one is the brain; together they wrap it, so the family can both listen and speak.

One Engine, Many Mouths

Because Bellows is a single always-on service, everything that needs a voice points at the same engine. cwkPippa's long-standing public TTS route became a thin proxy into Bellows rather than a second synthesizer. Keyboard Maestro macros call it. The cwkBeacon video workshop rerolls narration through it. There is exactly one place where a paid request can happen, one cache, one audio device — and many clients pointed at it.

Built Fast, on Purpose

This quest is the engine telling its own origin story, so the build itself is part of the lesson. Bellows went from "architecture settled with Dad" to a first real synthesis — one short Korean sentence, validated, cached, played through the studio interface, then proven free on the identical second request — inside a single day. The days after were hardening: account separation, receipt-before-post-processing, a live provider catalog, Studio lineage, Korean normalization. The evolution log reads like a build diary because it is one.

Code

Many clients, one engine·bash
# The same synthesis, reached three ways -- one engine underneath all of them.

# 1. Directly, from any tailnet device:
curl -sX POST http://127.0.0.1:9100/api/speak \
  -d '{"text": "...", "profile": "pippa"}'

# 2. Through cwkPippa's public TTS route -- now a thin PROXY into Bellows,
#    not a second synthesizer:
curl -sX POST http://127.0.0.1:8000/api/tts \
  -d '{"text": "...", "voice": "pippa"}'

# 3. From Keyboard Maestro or the cwkBeacon video workshop -- same engine.

# Firekeeper is the OTHER half of the axis: it turns speech INTO text
# (dictation / STT). Bellows turns text INTO speech. The ear and the mouth.

External links

Exercise

Pick any system that both takes input from a human and produces output back — a chat app, a game, a smart speaker. Split it into its inbound engine and its outbound engine. What does each own that the other must never duplicate? Where does the 'brain' that decides the response sit relative to those two?
Hint
The clean version has three parts, not two: an ear, a mouth, and a brain that owns neither. Watch for systems that let the ear or the mouth start making decisions.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.