코딩 에이전트
와 대화하세요

코딩 에이전트가 나와 대화할 수 있게 해 주는 로컬 MCP 서버입니다. Sonic 3.6이 에이전트의 메시지를 소리 내어 읽습니다. 이어서 Ink 2가 듣고, 내 말이 끝났는지 판단해 그 말을 에이전트에게 돌려줍니다.
Claude Codecartesia-voice
완료
let's talk
converse

테스트가 통과했습니다. 풀 리퀘스트를 열까요?

네, 초안으로 열어 주세요.
초안 풀 리퀘스트를 여는 중입니다.
소리 내어 답하세요. 말을 멈추면 Ink 2가 내 차례를 끝냅니다.

실행 예시. 앱이 작동하는 모습을 보여 주는 스크립트 예시이며, 녹화가 아닙니다.

모델
sonic-3.6, ink-2
언어
영어, 스페인어, 프랑스어, 힌디어, 일본어
라이선스
Apache-2.0
기술 스택
PythonFastMCPsounddeviceuv
Cartesia 제품
Sonic 3.6Ink 2

하는 일

Claude Code, Cursor, Codex에서 작동합니다. 내 말이 끝났는지는 Ink 2가 판단하므로 누르고 말하는 키도, 조정할 무음 타임아웃도 없습니다. 코딩 에이전트용 오픈소스 음성 서버인 mbailey/voicemode와 같은 방식으로 작동하므로, 한쪽을 쓰는 에이전트는 다른 쪽도 쓸 수 있습니다.

직접 실행하기

  1. 서버 받기

    아래 명령어를 실행하세요. uv, 마이크, 헤드폰이 필요합니다. Linux에서는 먼저 libportaudio2를 설치하세요.

    npx degit cartesia-ai/cookbook/examples/coding-voice-mode coding-voice-mode
    cd coding-voice-mode
    export CARTESIA_API_KEY=your-key
    # or cursor, codex, all
    ./setup.sh claude --save-key
    

    환경 변수
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    CARTESIA_VOICE_ID
    선택 사항. play.cartesia.ai/voices의 음성. 기본값은 Daniel (en-US)
    CARTESIA_TURN_END_TIMEOUT_MS
    선택 사항. 640~11200, Ink 2가 내 차례를 끝내기 전까지 허용하는 멈춤 길이
    CARTESIA_KEYTERMS
    선택 사항. 전사할 때 우선할 이름, 쉼표로 구분
  2. 에이전트에 설치

    setup.sh는 claude, cursor, codex, all 중 하나에 대해 uv sync와 cartesia-voice-mode install을 실행합니다. 무엇이 바뀌는지 미리 보려면 --dry-run을 붙이세요.

  3. 대화 시작

    에이전트를 다시 시작하고 "let's talk"나 "voice mode"라고 말하거나 입력하세요. 아무 반응이 없으면 uv run cartesia-voice-mode doctor로 키를 확인하세요.

코딩 에이전트로 만들기

어디서 시작하고 무엇을 먼저 읽어야 하는지 코딩 에이전트에게 알려 주는 프롬프트입니다.

프롬프트

Claude CodeCursorCodex

Set up voice mode for my coding agent with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/coding-voice-mode and follow its AGENTS.md for the commands, files and rules. It is a local stdio MCP server with a converse tool: Sonic 3.6 (sonic-3.6) speaks the message over /tts/sse, then Ink 2 (ink-2) on /stt/turns/websocket listens until turn.end and returns the transcript as the tool result. Install it with ./setup.sh for my client, and keep the API key out of the client config. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

작동 방식

converse에이전트가 메시지와 함께 도구를 호출
Sonic 3.6/tts/sse로 메시지를 스트리밍하고 재생
마이크재생이 끝난 뒤에만 열림
Ink 2/stt/turns/websocket에서 차례 감지
도구 결과turn.end 전사본을 다음 메시지로 읽음

이렇게 만든 이유

차례 감지가 내 차례를 끝냅니다

서버는 Ink 2가 내 말이 끝났다고 판단했다는 뜻인 turn.end 이벤트를 기다립니다. 문장 중간에 쉬어도 고정 무음 타임아웃처럼 말이 잘리지 않습니다.

Codex에서는 긴 대기에 더 긴 타임아웃이 필요합니다

Codex는 기본으로 도구 호출을 60초 뒤 멈춥니다. 음성 턴 한 번은 메시지를 재생한 뒤 최대 120초 동안 들으므로, 설치 스크립트가 Codex의 tool_timeout_sec를 180으로 올립니다. Codex 설정은 그 자리에서 수정되며 주석은 그대로 남습니다. 듣는 시간을 늘리면 이 타임아웃도 함께 올리세요.

원하는 대로 바꾸기

음성 바꾸기

CARTESIA_VOICE_ID를 설정하거나, 에이전트에게 list_voices 도구를 호출해 음성을 고르라고 요청하세요.

다른 언어로 말하기

Ink 2는 영어, 스페인어, 프랑스어, 힌디어, 일본어를 스스로 감지합니다. Sonic이 같은 언어로 답하도록 CARTESIA_LANGUAGE와 그에 맞는 CARTESIA_VOICE_ID를 설정하세요.

내 단어 알려 주기

저장소와 라이브러리 이름을 CARTESIA_KEYTERMS에 넣으면 Ink 2가 코드에 쓰인 대로 표기합니다.

자주 묻는 질문

어떤 코딩 에이전트에서 쓸 수 있나요?

Claude Code, Cursor, Codex입니다. 설치 스크립트로 그중 하나나 셋 모두에 설치할 수 있습니다.

Cartesia API 키는 안전한가요?

네. 설치 프로그램은 에이전트 설정에 서버를 시작하는 명령만 씁니다. 키는 셸에 두거나, --save-key를 주면 나만 읽을 수 있는 파일에 저장되며, 오류 메시지나 로그에는 나타나지 않습니다.

에이전트가 말하는 도중에 끊을 수 있나요?

아니요. 마이크는 에이전트가 말을 마친 뒤에만 열리므로 에이전트가 자기 목소리를 듣는 일이 없고, 에코 제거도 없습니다. 헤드폰을 쓰세요.

얼마나 빠른가요?

네트워크와 리전에 따라 다릅니다. 서버는 호출마다 Sonic이 말을 시작하기까지 걸린 시간을 출력하므로 확인할 수 있습니다. 내 차례가 끝나기 전 쉬는 시간의 길이를 바꾸려면 CARTESIA_TURN_END_TIMEOUT_MS를 설정하세요.

mbailey/voicemode와 무엇이 다른가요?

그 프로젝트는 로컬 모델과 다른 음성 제공업체도 쓸 수 있습니다. 이 서버는 Cartesia만 씁니다.

이 템플릿의 단계별 가이드가 있나요?

네. 레시피에서 코드를 단계별로 살펴보고, README에서 설정, 환경 변수, 배포를 다루며, Ink 2 차례 감지 문서에서 Cartesia 쪽 동작을 설명합니다.

오늘 시작하세요

전문가와 상담하세요.

팀원과 연결해 Cartesia가 세계적 수준의 음성 경험을 만드는 데 어떻게 도움이 되는지 알아보세요.

영업팀 문의

개발을 시작하세요.

API로 모델을 사용하고 몇 분 만에 음성 에이전트를 프로덕션에 배포하세요.

Cartesia 사용해 보기