같은 한국어 대본을 넣어도 확인할 대상은 파일 길이만이 아닙니다. 날짜, 가격, 수량, 파일 이름이 받아쓰기에서 원문과 다르게 나올 수 있습니다. 이번에는 자체 작성한 130자 대본을 로컬 VoxCPM2와 ElevenLabs의 서로 다른 목소리로 생성하고, 각 음성 전체를 같은 받아쓰기 모델로 처리했습니다. 두 파일 모두 네 문장이 받아쓰기에서 확인됐지만, 클라우드 쪽 끝 날짜와 로컬 쪽 파일 이름에는 대조가 필요한 차이가 있었습니다.
확인 범위: 아래는 2026년 10월 13일에 확보한 원파일 두 개의 기술 측정과 자동 받아쓰기 결과입니다. 음성이 실제로 틀리게 읽은 것인지, 받아쓰기가 틀리게 인식한 것인지는 이 검사만으로 확정하지 못했습니다. 음성의 자연스러움이나 두 엔진의 전체 품질 순위를 평가한 글이 아닙니다. 두 음성은 AI로 생성됐으며, 특정 인물의 목소리를 복제하지 않았습니다. 제휴 링크는 없습니다.
무엇을 같은 조건으로 넣었나요?
입력은 앞뒤 공백을 제거한 한국어 130자, 네 문장입니다. 날짜 두 개와 가격 한 개, 수량 한 개, 파일 이름 하나를 넣었습니다. 이 숫자는 발음과 받아쓰기 확인을 위해 만든 예문입니다. 실제 상품을 14개 조사했다는 주장이나 구매 추천이 아닙니다.
오늘은 영상에 넣을 내레이션을 만듭니다. 1월 3일부터 12월 31일까지 2,480원짜리 상품 열네 개를 비교합니다. 가격은 천 원 단위로 반올림하지 않고 그대로 읽습니다. 마지막으로 파일 이름은 final_v2.mp4로 저장합니다.
VoxCPM2 쪽은 기존 로컬 캐시를 CPU에서 실행했으며, 모델 최적화 옵션은 끄고 계산 스레드는 네 개로 설정했습니다. 참조 음성이나 음성 복제 입력을 넣지 않았습니다. 클라우드 쪽은 기존 소유 Creator 계정의 웹 화면에서 비베타 모델 Eleven Multilingual v2와 기본 제공 음성 Adam을 사용했습니다. 속도 1, 안정성 0.5, 유사성 0.75, 스타일 과장 0, 화자 증폭 켬을 기록했습니다. 새 API 키나 추가 결제는 사용하지 않았고, 기존 구독의 포함 크레딧 130이 차감됐습니다. 화면에는 두 버전이 나타났으며, 미리 선택한 1번 버전만 이번 비교에 사용했습니다.
같게 맞춘 것은 대본과 받아쓰기 모델입니다. 목소리, 합성 모델, 실행 장치, 파일 형식은 서로 다릅니다. 따라서 길이 차이를 엔진 자체의 발화 속도 차이나 품질 우위로 해석하면 안 됩니다.
직접 확인한 결과
| 항목 | 로컬 VoxCPM2 | 클라우드 Eleven Multilingual v2 |
|---|---|---|
| 원파일 길이 | 17.28초 | 23.066063초, 약 23.07초 |
| 원파일 형식 | 48kHz, 모노, PCM 16bit WAV | 44.1kHz, 모노, 128kbps MP3 |
| 원파일 크기 | 1,658,924바이트 | 385,995바이트 |
| 전체 입력 음량 측정 | −14.44LUFS | −16.38LUFS |
| 전체 입력 true peak 측정 | −0.05dBTP | −1.25dBTP |
| 네 문장 | 모두 ASR에서 확인 | 모두 ASR에서 확인 |
| 2,480원·열네 개 | 대응하는 숫자 의미가 ASR에서 확인 | 대응하는 숫자 의미가 ASR에서 확인 |
| 대조가 필요한 부분 | 파일 이름을 “Final V-Toin MP4”로 반환 | 원문의 “12월 31일”을 “12월 30일”로 반환 |
음량과 true peak는 FFmpeg의 전체 파일 분석에서 나온 입력 측정값입니다. 이번 비교를 위해 두 원파일을 같은 음량으로 바꾸거나 재인코딩하지 않았습니다. 로컬 파일의 true peak가 0dBTP에 가까우므로, 별도 배포용 코덱으로 바꾼다면 변환 결과의 피크를 다시 검사해야 합니다. 위 값만으로 찌그러짐이 들린다거나 안 들린다고 판정하지 않았습니다.
측정한 원음 두 개
아래는 표의 기술 측정과 받아쓰기에 사용한 원파일입니다. 서로 음량을 맞추지 않았으므로 같은 재생 볼륨에서도 들리는 크기가 다를 수 있습니다. 날짜와 파일 이름의 ASR 차이는 원음에서 확인할 대상으로 남깁니다.
로컬 VoxCPM2 원음
Eleven Multilingual v2 원음, 선택 버전 1
실제로 빠진 문장과 받아쓰기 차이를 어떻게 구분하나요?
같은 기존 오프라인 MLX Whisper large-v3-turbo 캐시, 한국어 설정, 단어 시각 출력을 사용했습니다. 일부 구간만 뽑지 않고 각 파일 전체를 받아쓰기했습니다. 로컬은 끝의 파일 이름을 “Final V-Toin MP4”로 적었습니다. 클라우드는 끝 날짜를 “12월 30일”로 반환했습니다. 이런 차이는 대본을 그대로 믿고 자막을 붙일 때 놓칠 수 있는 점검 지점입니다.
다만 받아쓰기는 정답지가 아닙니다. 예를 들어 “열네 개”와 “14개”, “천 원”과 “1000원”은 표기만 달라도 같은 수량이나 금액을 가리킬 수 있습니다. 이번 두 반환에서는 “천원”이 확인됐습니다. 반대로 “31일”과 “30일”은 의미가 달라 확인이 필요합니다. 파일 이름은 영어 발음과 기호가 섞여 있어, 사람이 들은 발음과 자동 인식 문자열이 서로 다를 수 있습니다. 원문과 ASR가 다르다는 사실에서 곧바로 음성 합성 실패라는 결론으로 넘어가지 않았습니다.
이 사례에서는 문장 전체가 없어진 흔적이나 같은 문장이 반복된 흔적이 ASR에서 관찰되지 않았습니다. 그 사실을 “정확도 100%”나 “숫자를 절대 틀리지 않는다”는 보장으로 쓰면 안 됩니다. 다른 대본, 목소리, 생성 시드, 언어 설정에서는 결과가 달라질 수 있습니다.
생성 시간으로 더 빠른 서비스를 고를 수 있나요?
이번 로컬 기록은 모델을 불러오는 시간을 포함한 전체 실행 약 99.7초입니다. 웹 음성 쪽은 생성 버튼을 누른 뒤 준비된 결과를 관측하기까지 약 12.8초였습니다. 후자는 브라우저, 네트워크와 화면을 확인하는 시간이 섞인 값이며, 순수 서버 추론 시간이 아닙니다. 측정의 시작과 끝, 장치와 목소리가 다르므로 이 두 숫자를 나눠 몇 배 빠르다고 계산하지 않습니다. 재생 길이 17.28초와 23.07초 역시 생성에 걸린 시간이 아닙니다.
다음 내레이션을 점검하는 순서
- 대본에서 날짜·가격·수량·파일 이름처럼 의미가 틀리면 문제가 되는 부분을 먼저 표시합니다.
- 음성을 만들기 전 모델, 목소리와 주요 설정을 적고, 생성한 원파일을 보존합니다.
- 파일의 길이를 확인하고 전체를 받아쓰기해 네 문장이 모두 있는지 대조합니다.
- 표기만 다른 부분과 의미가 다른 부분을 구분합니다. 날짜와 파일 이름처럼 표시된 구간은 원음에서 확인할 대상으로 남깁니다.
- 실제 음성에서 누락이나 오독이 확인된 경우에만 해당 구간을 수정합니다. ASR 오인이면 받아쓰기·자막을 고치며, 확인 없이 전체 음성을 반복 생성하지 않습니다.
다음 시험에서는 목소리와 모델 설정을 유지하고, 영문 파일 이름만 말로 읽기 쉬운 한글 표현으로 풀어 쓰는 변수 하나를 바꿀 예정입니다. 아직 이 변경으로 오류가 줄었다는 결과는 없습니다. 날짜의 ASR 의미 차이는 별도의 원음 확인 과제로 유지합니다.
같은 검사를 실행하는 명령
FFprobe로 원파일의 형식과 길이를 확인할 수 있습니다. 따옴표 안에는 검사할 실제 파일 이름을 넣으세요. 아래 명령은 파일을 읽기만 하며 원음을 바꾸지 않습니다.
ffprobe -v error -show_entries format=duration:stream=codec_name,sample_rate,channels -of json "sample.wav"
ffmpeg -hide_banner -i "sample.wav" -af "loudnorm=I=-16:TP=-1.5:LRA=11:print_format=json" -f null -
두 번째 명령의 분석 출력에서는 input_i와 input_tp를 읽었습니다. 목표값 −16과 −1.5를 적었다고 해서 원파일이 그 값으로 변경되는 것은 아닙니다. 저장 출력을 만들지 않았기 때문입니다. MP3도 같은 방식으로 검사하되, WAV와 MP3의 파일 크기나 샘플 수를 음질 순위로 바꾸지 마세요.
자주 찾는 질문
클라우드에서 날짜가 틀리게 읽혔다는 뜻인가요?
아직 아닙니다. 이번 자동 받아쓰기 문자열에서 날짜가 달랐다는 뜻입니다. 실제 합성 음성이 잘못 말한 것인지, 받아쓰기 모델이 잘못 인식한 것인지는 이 검사만으로 구분하지 못했습니다.
로컬이 무료이므로 비용이 항상 0원인가요?
이 실행에서 별도 서비스 결제나 API 호출은 없었습니다. 하지만 장치 구입, 전력, 모델 저장 공간과 작업 시간까지 무료라는 뜻은 아닙니다. 클라우드는 기존 유료 구독의 포함량을 사용했으므로 “클라우드 음성 서비스가 무료”라고 표현하지 않습니다.
두 결과를 비교해 하나를 바로 추천해도 되나요?
이 한 번만으로는 어렵습니다. 같은 목소리를 맞춘 통제 실험이 아니고, 길이와 음량·받아쓰기만 확인했기 때문입니다. 실제 필요한 대본의 중요 단어가 유지되는지부터 점검하는 것이 이 기록의 목적입니다.
함께 확인할 자체 측정
출처와 사용 조건
원대본은 자체 작성했습니다. VoxCPM2 공식 저장소는 코드와 모델 가중치를 Apache-2.0으로 안내합니다. ElevenLabs 공식 도움말은 유료 플랜의 비베타 서비스 상업 사용과 필요한 지식재산권 보유 조건을 구분합니다. 이번에는 기존 소유 Creator 플랜의 일반 음성 합성과 기본 제공 음성을 사용했고 음성 복제, 무료 체험판 또는 베타 모델은 사용하지 않았습니다. 이 설명이 모든 목소리나 모델의 사용권을 보장하는 것은 아닙니다.
이 글의 수치는 한 대본·두 원파일에 대한 자체 기록이며 사람의 전편 청취나 주관적인 음성 품질 평가를 대신하지 않습니다. 조회수, 구독, 매출이나 광고 심사 결과를 보장하지 않습니다.