AI 음성이 대본과 다르게 말할 때
AI 나레이션은 사람을 쓰지 않아도 되니 편합니다. 그런데 가끔 대본에 없는 말을 지어내서 읽습니다. API는 200 정상 응답을 주고 파일도 멀쩡하게 생성되기 때문에, 그대로 자막과 합치기 전까지는 알 방법이 없습니다.
무슨 일이 있었나
9글자짜리 짧은 문장을 넣었는데, 나온 음성은 76자를 읽고 있었습니다. 대본에 없는 문장을 통째로 만들어 낸 것입니다. 같은 텍스트를 세 번 반복해서 생성해 봤더니 재생 시간이 5.5초에서 19.3초까지 들쭉날쭉했습니다. 사람이 읽으면 매번 비슷한 시간이 나와야 정상인데, 그 폭이 너무 컸습니다.
문제는 이게 에러가 아니라는 점입니다. 요청은 성공했고, mp3 파일도 정상적으로 만들어졌습니다. 로그를 아무리 들여다봐도 실패로 안 잡힙니다. 실제로 들어 보거나, 원문과 대조하기 전까지는 발견할 방법이 없습니다.
더 알아채기 어려운 두 번째 함정 — 같은 문장을 두 번 말하기
이건 처음엔 눈치도 못 챘습니다. 17자짜리 짧은 문장인데 재생 시간이 7.34초가 나와서 "천천히 읽었나 보다" 하고 넘어갔습니다. 그런데 받아쓰기를 해보니 같은 문장을 두 번 발화한 것이었습니다. 실제로는 34자를 정상 속도로 읽은 건데, 겉으로는 그냥 "느리게 읽은 짧은 문장"처럼 보였던 겁니다.
재생 시간만 보고 "느리게 읽었나 보다"로 넘기면 이런 종류는 절대 못 잡습니다. 글자 수 대비 재생 시간이 비정상적으로 길면, 느린 게 아니라 뭔가 중복됐다고 의심해야 합니다.
확인하는 법
생성된 음성을 다시 받아쓰기(음성 인식)로 돌려서 원문 대본과 글자 단위로 대조합니다. 말로 하면 번거로워 보이지만, 이 과정 자체는 자동화할 수 있습니다. 사람이 매번 들을 필요는 없고, 대조 결과가 기준을 벗어난 것만 골라서 들으면 됩니다.
| 신호 | 기준 |
|---|---|
| 재생 시간 | 글자 수 대비 예상치의 1.5배를 넘으면 의심 |
| 받아쓰기 일치율 | 원문과 60% 미만이면 재생성 |
| 글자 수 | 원문보다 6자 이상 늘어나 있으면 창작 의심 |
재생성할 때 주의할 점이 하나 있습니다. 같은 입력을 그대로 다시 넣으면 같은 문제가 또 나오는 경우가 많았습니다. 문장 끝에 마침표를 하나 더 붙이거나 띄어쓰기를 살짝 바꾸는 식으로, 입력을 조금 변형해서 다시 요청하면 대개 정상적으로 나왔습니다.
조용한 구간은 한 번 더 조심
음량이 거의 없는 무음·저음량 구간을 받아쓰기 시키면, 음성 인식이 소리를 지어내서 문장으로 만드는 경우가 있었습니다. 분명 아무 말도 없는 구간인데 그럴듯한 문장이 결과로 나온 겁니다. 이런 구간은 음량을 먼저 실측해서 "원래 조용한 구간"인지 확인한 다음, 받아쓰기 결과를 대조해야 합니다. 음량 확인 없이 받아쓰기 결과만 믿으면 없는 문제를 있다고 판단하거나, 반대로 진짜 문제를 조용한 구간 탓으로 넘기게 됩니다.
정리
- AI 나레이션이 대본에 없는 문장을 지어내는 사고가 실제로 있습니다. API 응답은 정상이라 로그로는 안 잡힙니다.
- 같은 문장을 두 번 발화하는 경우는 "느리게 읽었나 보다"로 착각하기 쉬워 더 위험합니다.
- 생성 후 받아쓰기로 원문과 대조하는 것이 유일하게 확실한 확인 방법입니다.
- 재생성할 땐 입력을 살짝 바꿔서 다시 요청합니다. 같은 입력 재시도는 같은 문제를 반복하는 경우가 많습니다.
- 무음·저음량 구간은 음량 실측과 함께 대조해야 받아쓰기의 환각을 걸러낼 수 있습니다.