claude-speak 제작: API 키 없이 Claude Code에 목소리를 부여하다
요약
Claude Code에 음성 출력 기능을 추가하는 오픈 소스 프로젝트 'claude-speak'를 소개합니다. OS 내장 TTS를 활용하여 API 키 없이 무료로 Claude의 응답을 음성으로 들을 수 있습니다.
핵심 포인트
- macOS/Linux 내장 TTS를 활용한 무료 오픈 소스 도구
- API 키나 클라우드 호출 없이 로컬에서 동작
- 긴 응답을 위해 LLM 요약 읽기 모드 지원
- 코드 식별자 분리 및 텍스트 추출 최적화 구현
- 핸즈프리 워크플로우 및 접근성 향상 목적
Claude Code에는 음성 입력(dictation) 기능이 내장되어 있지만, 음성 출력 기능은 없습니다. 프롬프트를 말로 입력한 뒤, 화면에 나타나는 응답을 직접 읽어야만 합니다. 저는 이 루프를 완성하기 위해 claude-speak를 제작했습니다. 이 플러그인은 macOS의 자체 TTS나 Linux의 espeak-ng와 같은 운영체제(OS)의 TTS를 사용하여, 사용자의 요청에 따라 혹은 매 턴이 끝난 후 자동으로 Claude의 응답을 소리 내어 읽어줍니다. API 키도 필요 없고, 클라우드 호출도 없으며, 무료로 체험할 수 있는 MIT 라이선스 기반의 완전한 오픈 소스 프로젝트입니다.
Claude가 제작에 도움을 준 방식: 저는 Claude Code 자체를 사용하여 코드를 작성하고 테스트했습니다. 여기에는 CI(지속적 통합) 과정에서 오디오가 재생되지 않도록 say/espeak-ng를 스텁(stub) 처리하는 bats-core 테스트 스위트가 포함됩니다. 또한 Claude는 더 까다로운 부분들을 해결하는 데 도움을 주었습니다. 예를 들어, Stop hook의 stdin JSON에서 올바른 응답 텍스트를 추출하는 작업(전사 파일은 지연이 발생하여 타이밍을 신뢰할 수 없음)과, 코드 식별자가 음성 엔진으로 전달되어 횡설수설하게 들리지 않도록 camelCase 형태를 분리하는 작업 등이 있습니다.
또한 로컬(Local) 모드와 LLM 요약(LLM-summarized) 읽기 모드가 있습니다. 로컬 모드는 즉각적이며 응답을 있는 그대로(음성용으로 포맷팅하여) 읽어주지만, LLM 모드는 응답이 길거나 코드가 많은 경우 음성으로 듣기 편하도록 더 짧은 요약문을 작성하는 데 한 턴을 사용합니다.
Repo: https://github.com/JosephScript/claude-speak
핸즈프리(hands-free) 워크플로우 측면뿐만 아니라, 접근성 활용 사례(저시력, 읽기 피로 등)가 이곳의 사용자들에게도 유효할지 진심으로 궁금합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기