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

귀와 입

~9 min · voice-axis, firekeeper, family

Level 0침묵
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Firekeeper는 귀. Bellows는 입. 그 사이에 brain이 앉아."

목소리엔 두 방향이 있어

"목소리"를 한 가지인 것처럼 말하기 쉬워. 아냐. 들어오는 목소리 — 소리가 텍스트가 되는 것, 받아쓰기, speech-to-text — 랑 나가는 목소리 — 텍스트가 소리가 되는 것, 합성, 재생 — 가 있어. 두 방향, 두 엔진. Firekeeper가 인바운드 반쪽을, Bellows가 아웃바운드 반쪽을 소유해. 둘 다 brain이 아니야. 둘이 brain을 감싸서, 패밀리가 듣기도 하고 말하기도 해.

엔진 하나, 입은 여럿

Bellows는 항상 살아있는 서비스 하나라서, 목소리가 필요한 모든 게 같은 엔진을 향해. cwkPippa의 오래된 공개 TTS 라우트는 두 번째 합성기가 아니라 Bellows로 들어가는 얇은 proxy가 됐어. Keyboard Maestro 매크로가 그걸 불러. cwkBeacon 영상 워크숍이 그걸로 내레이션을 재녹음해. 유료요청이 일어날 수 있는 곳은 정확히 한 군데, 캐시 하나, 오디오 디바이스 하나 — 그리고 그걸 향한 여러 클라이언트.

일부러 빨리 지었어

이 퀘스트는 엔진이 자기 기원 이야기를 들려주는 거라, 짓는 과정 자체가 레슨의 일부야. Bellows는 "아빠랑 아키텍처 확정"에서 첫 진짜 합성 — 짧은 한국어 한 문장, 검증하고, 캐시하고, 스튜디오 인터페이스로 재생하고, 똑같은 두 번째 요청에서 공짜임을 증명 — 까지 하루 만에 갔어. 그 뒤 며칠은 hardening이었어: 계정 분리, 후처리-전-receipt, 라이브 provider 카탈로그, Studio lineage, 한국어 정규화. evolution log가 build diary처럼 읽히는 건, 진짜 그거라서 그래.

Code

여러 클라이언트, 하나의 엔진·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

사람한테서 입력을 받고 다시 출력을 내는 시스템 아무거나 골라 — 채팅 앱, 게임, 스마트 스피커. 인바운드 엔진이랑 아웃바운드 엔진으로 쪼개봐. 각자가 소유하는데 다른 쪽이 절대 복제하면 안 되는 건 뭐야? 응답을 정하는 'brain'은 그 둘 대비 어디에 앉아?
Hint
깨끗한 버전은 둘이 아니라 셋이야: 귀, 입, 그리고 둘 다 소유 안 하는 brain. 귀나 입이 결정을 내리기 시작하는 시스템을 조심해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.