블로그/use-cases·2026년 9월 6일·4분·eroq 팀 작성
게임 대사용 AI 보이스: 바크, 메뉴, 임시 보이스
캐릭터마다 보이스 하나, 스프레드시트로 대사 천 줄 일괄 생성, 시작 전에 비용 파악까지. 그리고 솔직한 한계, 립싱크는 없어요.
캐릭터가 말이 없는 빌드는 아트가 아무리 좋아도 프로토타입처럼 보여요. 짧은 대사(바크) 30개와 음성이 붙은 메뉴만 있어도 오후 한나절 만에 그 인상이 바뀌어요. 그래서 임시 보이스는 인디 팀이 마지막에 녹음하는 것에서 가장 먼저 생성하는 것 중 하나로 조용히 자리를 옮겼어요.
무엇보다 먼저, 작업 범위를 정하는 한계부터 짚을게요. 립싱크는 없어요. 말하는 아바타도, 비심(viseme) 트랙도, 실시간 합성도 없어요. 음성 합성 모델이 돌려주는 건 MP3 파일이에요. 아래 내용은 모두 이 전제에 맞춰 설계했고, 알고 보면 게임 대사 대부분은 애초에 화면 속 입이 필요 없었어요.
생성 보이스가 빌드에서 실제로 쓸모 있는 곳
- 바크. 전투 콜아웃, 대기 중 잡담, 어그로 대사, 피격 반응, 상점 주인 인사. 짧고, 많고, 화면 밖에 있거나 아무도 입 모양을 못 읽을 만큼 멀리 있어요.
- 메뉴와 시스템. 튜토리얼 안내, 접근성 음성 읽기, "저장 완료", 확인 대사.
- 무전과 통신. 가장 잘 맞는 용도예요. 헤드셋 너머의 목소리는 원래 얼굴이 없으니까요.
- 내레이터와 도감. 세계관 항목, 레벨 인트로, 사망 화면.
- 슬라이스용 임시 보이스. 캐스팅 예산이 생기기 전에 템포를 판단할 수 있도록 버티컬 슬라이스에 넣는 임시 대사.
맞지 않는 용도도 있어요. 캐릭터가 카메라 앞에서 말하는 시네마틱이에요. 입이 안 보이게 컷을 나누거나, 리액션 샷 위에 대사를 얹거나, 그 장면은 실제 녹음용으로 남겨 두세요.
캐릭터마다 한 번 캐스팅하면 끝까지
나중에 가장 많은 고생을 덜어 주는 규칙은 지루할 만큼 단순해요. 프로젝트가 끝날 때까지 캐릭터 하나에 보이스 하나.
스튜디오의 캐릭터는 이름, 페르소나, 보이스를 가져요. 보이스는 기본 음성(따뜻하고 친밀한 Aria, 낮고 여유로운 Orion)이나 직접 복제한 음성 중에서 골라요. 한 번 지정하면 그 캐릭터로 렌더하는 모든 대사에 쓰여요. API에서는 같은 기능이 char:<id> 형태의 보이스 id라서, 내보내기 스크립트가 어떤 복제 음성이 병참 장교 것이었는지 기억할 필요가 없어요.
기본 음성 두 개로는 캐스트가 안 될 것 같지만, 속도와 표현력을 대사마다 따로 조절할 수 있고 어차피 캐릭터의 대부분은 대본이 만든다는 걸 떠올리면 생각이 달라져요. 딱딱 끊어 말하는 사무적인 병참 장교와 말이 화려한 여관 주인은 같은 음색을 써도 서로 다른 두 사람으로 들려요. 정말 구분이 안 된다면 보이스를 더 복제하세요. 복제는 무료이고, 과금은 음성 합성에만 돼요.
대사 천 줄 일괄 생성하기
대사는 도구 안이 아니라 파일에 보관하세요. line_id와 text 두 열짜리 TSV 하나가 파이프라인의 전부이고, 다음 스프린트에서 작가가 대사 11줄을 고쳤을 때 그대로 diff가 돼요.
eroq CLI는 한 번 호출할 때 대사 한 줄을 렌더하고 지정한 위치에 MP3를 저장해요. 그래서 일괄 작업은 네 줄짜리 셸 루프면 끝나요.
while IFS=$'\t' read -r id text; do
eroq speech "$text" -v orion -m eroq-voice-turbo -o "vo/quartermaster/$id.mp3"
done < barks.tsv
실무 메모 세 가지. 요청 하나의 입력은 최대 5,000자로, 바크는 근처에도 못 가지만 도감 항목은 닿을 수도 있어요. 무료 워크스페이스에서 음성 합성은 키당 분당 6건으로 제한되고, 플랜에 따라 배수가 붙어요(Creator는 2×, Studio는 4×). 그래서 천 줄을 한 번 돌리면 무료 키로는 3시간이 조금 안 걸리고, Studio 키로는 40분 정도 걸려요. 그리고 모든 렌더는 라이브러리에 자동 저장되니, 로컬 파일을 잃어버려도 다시 렌더할 필요 없이 조금 번거로울 뿐이에요.
툴체인이 MP3 대신 WAV를 원한다면, 가져올 때 변환하세요.
ffmpeg -i vo/quartermaster/bark_01.mp3 -ar 48000 -ac 1 vo/quartermaster/bark_01.wav
대사 천 줄의 비용
음성 합성은 입력 100자 블록 단위로, 시작된 블록마다 과금돼요. Voice One은 3 크레딧, Voice Turbo는 2 크레딧이에요. 게임 대사의 비용 구조는 "시작된"이라는 단어 하나로 설명돼요. 바크는 짧고, 하나하나가 모두 블록 하나로 올림 처리되니까요.
그래서 청구액은 글자 수가 아니라 대사 개수를 따라가요.
- 바크 1,000개, 평균 45자씩 — 블록 1,000개. Voice One은 3,000 크레딧, Turbo는 2,000 크레딧이에요. 입문 팩 요율로 치면 각각 약 $30, $20예요.
- 메뉴와 시스템 대사 60줄 — Voice One은 180 크레딧, Turbo는 120 크레딧.
- 도감 항목 40개, 각 480자 — 항목당 블록 5개라서 Voice One에서 600 크레딧.
여기서 챙길 결론이 두 가지 있어요. 첫째, 반복 작업은 Turbo로, 출시는 Voice One으로 하세요. 아직 대본을 다듬는 동안 같은 바크 천 개를 다시 렌더하면 비용이 3분의 1 줄어요. 둘째, 올림을 피하려고 짧은 대사를 요청 하나로 합치고 싶은 유혹을 참으세요. MP3 하나가 돌아올 뿐이고, 그걸 손으로 자르는 비용이 아낀 크레딧보다 커요.
생성에 실패하면 자동으로 환불돼요. 네트워크가 불안한 밤에 일괄 작업이 중간에 멈춰도, 침묵에 돈을 낼 일은 없어요.
패치를 거쳐도 보이스를 안정적으로 유지하기
barks.tsv를 원본 데이터로, 오디오 폴더를 빌드 결과물로 다루세요. 작가가 11행을 고치면 파일 11개만 다시 렌더하면 돼요. id도 경로도 그대로라서 프로젝트의 다른 부분은 하나도 움직이지 않아요. 캐릭터별 보이스, 속도, 표현력은 같은 파일이나 그 옆의 작은 JSON에 함께 보관하세요. 그래야 6개월 뒤에 다시 렌더해도 새로운 해석이 아니라 같은 연기가 나와요.
페르소나, 레퍼런스 아트, 캐스트 일관성 유지처럼 보이스 이전 단계의 캐릭터 작업은 게임 스튜디오를 위한 컨셉 아트 파이프라인에서 비주얼 쪽을 다루고, AI 캐릭터를 위한 TTS에서 읽는 게 아니라 연기하는 것처럼 들리는 대사 쓰는 법을 다뤄요.
자주 묻는 질문
eroq로 생성한 대사를 캐릭터 모델에 립싱크할 수 있나요?
아니요. 립싱크, 비심 출력, 말하는 아바타 기능은 없어요. 음성 합성 모델은 MP3만 돌려줘요. 대사는 바크, 무전 잡담, 내레이션, 화면 밖 대사로 설계하고, 카메라 앞에서 말하는 장면은 실제 녹음 보이스로 남겨 두세요.
바크 천 개는 비용이 얼마나 드나요?
과금은 시작된 100자 블록 단위라서, 짧은 바크는 아무리 짧아도 블록 하나 비용이에요. 바크 천 개면 Voice One은 3,000 크레딧, Voice Turbo는 2,000 크레딧이고, 입문 팩 요율로 각각 약 $30, $20예요. 다시 렌더하는 비용은 뺀 금액이에요.
생성한 보이스 대사를 상업용 게임에 써도 되나요?
이용약관에 따라 결과물은 내 것이고 플랜에는 상업적 라이선스가 포함돼 있어요. 그러니 남은 제약은 콘텐츠 규칙(픽션만 허용, 미성년자 관련 콘텐츠 일절 금지, 동의 없는 식별 가능한 실존 인물 금지, 불법 콘텐츠 금지)과, 복제한 음성은 목소리 주인의 허락이 필요하다는 점이에요. 출시 전에 요금제 페이지에서 플랜별 포함 내용을 확인하세요.
모든 대사를 요청 한 번으로 생성할 방법이 있나요?
없어요. 그리고 그런 걸 원하지도 않을 거예요. 요청마다 MP3 하나가 돌아오니, 대사 한 줄에 요청 하나여야 id가 고정된 줄별 파일을 얻을 수 있어요. 대사 파일을 도는 셸 루프로 일괄 처리하고, 속도 조절은 요청 한도에 맡기세요.
빌드가 말하는 걸 들어 볼 준비가 됐나요? 보이스 스튜디오를 열고 캐릭터 하나를 제대로 캐스팅한 다음, 나머지는 루프에 맡기세요.
이 글에 나온 모델로 직접 만들어 보세요 — 무료 크레딧 50개로 시작하거나, 모든 엔진과 가격도 살펴보세요.