Logo
Junwoo
2024-08-27 12:38:59

비하인드
모든 TTS 엔진에서 한국어를 제대로 읽게하기 위한 UX 디테일

비디오스튜에는 다양한 AI 보이스들이 탑재되어 있습니다. Google Wavenet, Amazon Polly, KT AI Voice, Naver Clova, Azure, ElevenLabs까지…

그렇다보니 자연스레 파생되는 이슈는 다들 학습된 모델이 달라서 똑같은 문장이 주어져도 읽는 방식이 미묘하게 다르다는 것입니다. 특히 단위를 읽을 때 그 차이가 두드러졌습니다.

이 포스팅을 통해 TTS 생성 시 한국어로 단위를 읽을 때 제대로 읽기 위해 고려했던 점들에 대해 이야기해보고자 합니다.

측정 단위 제대로 읽게 하기

TTS 엔진들을 다양하게 사용하다보니, 예를 들어 "100kg"이라는 표현을 읽을 때도 각 엔진들은 제각각으로 읽는 이슈가 있었습니다. "백 케이쥐"라고 읽는 엔진도 있고, "백 크흐..."라고 말끝을 흐리는 AI도 있었죠. (AI도 당황하면 말끝을 흐리나…)

물론 "백 킬로그램"이라고 정확하게 읽는 엔진도 있습니다.

그래서 이러한 단위들을 라이브러리화해서 전처리를 하는 프로세스를 개발했습니다. 모든 엔진들이 동일하게 읽도록 하기 위함이었죠.

  • 길이/거리: m, cm, km, mm, nm
  • 부피: l, ml, kl
  • 무게/질량: g, kg, mg
  • 전기 관련: V, MV, mV, A, MA, mA, Ω, MΩ, mΩ, VA, V/cell, V/m, Var
  • 데이터 용량: B, KB, MB, GB, TB
  • 기타 물리량: mol, N, N/C, rad, Wb
  • 시간: s, sec
  • 전력: W, kW, MW, kVA, mVA
  • 주파수: Hz, kHz, MHz, GHz
  • 온도: °C, ℃
  • 각도: °
  • 조도: lx
  • 백분율: %


숫자 제대로 읽게 하기

이렇게 서비스를 운영하다보니, 생각치 못한 이슈에 또 봉착하게 되었습니다. (한국어는 정말 매력덩어리..)

한국어에서는 숫자를 읽는 방식이 두 가지라는 점이죠. 우리는 본능적으로 사용하고 있어 잘 느끼지 못할 수 있습니다.

예를 들어, 시간을 말할 때 "10시 10분"은 "열 시 십 분"으로 읽죠. 왜죠…?

그리고 일반적인 숫자는 "일, 이, 삼"과 같은 한자어로 읽지만, 뒤에 수량을 나타내는 단위(수량사라고 해요. 저도 처음 들어봤어요…)가 붙으면 "한 개, 두 개, 세 개"로 읽게 됩니다. 공식적으로 수치를 재는 단위는 한자어를 쓰고요. (예: 10cm = “십 센치미터”)

자, 제가 숫자를 하나 드려볼께요. “90개”. 어떻게 읽으시나요?

원칙적으로는 90개까지는 “아흔 개”라고 읽는 것이 맞습니다. 아마 “구십 개”라고 읽으신 분들도 있으실꺼에요. 숫자가 커질 수록 우리가 일반적으로 더 편한 방식이 있기 마련이죠.

작은 숫자로 생각해볼까요? “9개”. 네, 이건 모두가 다 “아홉 개”라고 읽으셨을 것입니다.

이 원칙에 따라서 1~99까지는 고유한글로 읽는 방식으로 전처리 프로세스를 개발하게 되었습니다. 하지만 이는 말그대로 원칙적인 것이고, 고객들의 피드백에 따라 이 기준을 변경할 가능성을 열어두고 있습니다. 40개라면 “마흔 개”보다 “사십 개”가 더 자연스럽게 받아들여질 수 있으니까요.

어쨋든 일관된 사용경험을 위해 “하나, 둘, 셋”의 고유한글에 대응되는 단위 라이브러리를 만들게 되었습니다.

  • 일반적인 수량: 개, 명
  • 동물: 마리
  • 식물: 그루, 송이
  • 의류/신발: 켤레, 벌
  • 기계/차량: 대
  • 용기: 병, 잔, 접시, 그릇, 가마
  • 긴 물건: 자루, 줄
  • 평평한 물건: 장
  • 책/문서: 권, 문장, 글자
  • 음식: 조각, 접시
  • 묶음 단위: 다발, 묶음, 뭉치, 박스
  • 순서: 번
  • 작은 물건: 톨
  • 건물: 채
  • 시간: 시
  • 나이: 살
  • 무게: 근, 돈
  • 종류: 가지
  • 기타: 마디, 송이

이 라이브러리는 TTS 서비스를 구현하려는 분들이라면 참고해주세요. 단, 지금도 끊임없이 고객 피드백을 통해 생각치 못한 단위들이 발견되고 있어서 완전한 버전은 아님을 말씀드립니다.

UX의 디테일 = SaaS의 성공

수량사라는 처음 듣는 표현을 접하면서, 한국에서 동영상 편집 SaaS 솔루션을 서비스하면서 많은 어려움이 있었는데, 또 한번 느끼게 되는 계기가 되었습니다. 정말이지 한국어는 변화무쌍하고 대단한 언어입니다…

동시에 영어권 서비스가 부럽다는 생각도 들었지만, 그 쪽은 또 그 쪽 나름대로의 고충이 있겠죠.

물론 비디오스튜에는 [텍스트 수동 지정]이라는 기능이 있습니다. 화면에 보이는 것과 상관없이 TTS를 생성하는 방법이죠.

< 화면에 보여지는 자막과 상관없이 TTS에서 읽을 소리를 설정하기 >

이 방법을 통해서 원하는대로, 소리나는대로 적어주면 되니까 TTS가 더 자연스럽게 발음하도록 유도할 수도 있고 잘못 읽는 단위를 사용자가 직접 수정할 수도 있습니다.

그럼에도 저희가 이렇게 디테일에 집중하는 이유는, 이런 작은 차이들이 서비스의 성장을 결정짓는다는 확신 때문입니다.

사용자는 숫자 표현이 포함된 문장을 입력하는 순간 어떻게 읽겠다라는 생각이 있습니다. 일단 그대로 생성되지 않는 다면 일차적으로 문제일 것이고요. 그걸 추가 편집을 하지 않아도 생각했던 그대로의 결과물이 가장 빠르게 나오도록 하는 것이 저희가 지향하는 UX의 종착점입니다.

앞으로도 계속 이렇게 저희가 하는 UX적인 고민들을 포스팅해보도록 하겠습니다. 앞서 말씀드린 것 처럼 모든 서비스들이 상향평준화되고 있는 현 상황에서는 이러한 디테일에 대한 고민이 서비스의 명암을 가른다고 믿으니까요.

게시물로 이동

뉴스레터에 가입하여 소식을 받아보세요

수집된 이메일은 뉴스레터 발송 외의 목적으로 사용되지 않으며, 언제든지 탈퇴할 수 있습니다

뉴스레터에 가입되었습니다 🎉

앞으로 유용한 소식으로 찾아뵙겠습니다
수집된 이메일은 뉴스레터 발송 외의 목적으로 사용되지 않으며, 언제든지 탈퇴할 수 있습니다
🤔 AI 영상 외주, 한 편짜리 견적을 받기 전에 "몇 편을 반복할지"부터 보세요 AI 영상 외주를 알아보시는 분들이 저희한테 처음 보내는 메시지는 대부분 비슷합니다. “얼마에요?”로 귀결되는 질문인데요. AI 영상을 생각하신다는 것 자체가 일단 1회성 영상 제작이 아닌 경우가 많더라고요.결국, 한 편짜리 홍보영상을 찾는 분과 매달 수십 편이 일정하게 나와야 하는 분...
AI 영상 외주, 한 편짜리 견적을 받기 전에 "몇 편을 반복할지"부터 보세요
Junwoo 2026-06-19
📣 디지털 사이니지 영상 자동화 사례: 프랜차이즈 카페 비디오스튜를 서비스하면서 다양한 산업군의 잠재고객(?)님들의 이야기를 들을 기회가 많았는데요.항상 저희가 내부적으로도 이야기할 때 빠지지 않던 분야가 바로 사이니지 콘텐츠 제작 쪽이었습니다.그 어디보다 적정 수준 퀄리티의 영상을 시의성있게 배포해야 하는 곳이었죠. 그러던 중 최근 한 고...
디지털 사이니지 영상 자동화 사례: 프랜차이즈 카페
Junwoo 2026-06-12
📣 쌓인 블로그 글을 쇼츠로 대량 전환한 사례: 자동화로 한 방에, 완성도는 사람이! 저희 VX 서비스 중 한 고객사의 사례인데요. 여주시에 위치한 호텔을 소개하는 블로그를 운영하고 계셨어요.약 200편 이상의 블로그 글이 쌓여있었고, 이걸 영상화하기 위해 저희 VX 대행 서비스를 찾아주셨죠.글이 200편이 넘으면, 한 편씩 손으로 영상을 만들어내긴 불가능합니다. 이걸 ...
쌓인 블로그 글을 쇼츠로 대량 전환한 사례: 자동화로 한 방에, 완성도는 사람이!
Junwoo 2026-06-08
🗞️ [Update] 슬라이드 편집화면에서 바로 여러 슬라이드 일괄 AI 생성 이제 비디오스튜 편집화면에서 곧장 여러 슬라이드에 들어갈 AI 생성을 동시에 할 수 있습니다. 편집하던 요소를 선택한 뒤 이미지·영상·콘텐츠 중 종류를 골라 그 자리에서 결과물을 만들어내므로, 라이브러리 화면을 따로 오가는 번거로움이 사라졌습니다.AI 생성 버튼은 속성 편집 인터페이스에...
[Update] 슬라이드 편집화면에서 바로 여러 슬라이드 일괄 AI 생성
Junwoo 2026-06-02
🎓 요즘 저는 클로드 코드로 비디오스튜를 굴립니다 요즘 저희가 VX 대행서비스로 좀 큰 일을 받았습니다. 이번에 개관하는 만해박물관 기념으로 지난 100년간의 만해 한용운 시집 전체를 디지털 영상 아카이브 형태로 만들어드리는 프로젝트인데요. 각 시집의 커버에 관련된 커스리를 만드는 작업이라 꽤 공수가 들어가는 작업이죠.분량이 분량이다 ...
요즘 저는 클로드 코드로 비디오스튜를 굴립니다
Junwoo 2026-06-01
🎓 AI 동영상 제작, 도구 문제가 아닙니다: 실무자가 실제로 막히는 지점과 해법은? 아마 이 글을 보시는 여러분들은 이미 AI 동영상 제작 도구를 비교한 글들을 많이 읽어보셨을 겁니다. 비오나 런웨이같은 클립 생성 서비스부터 브루, 캔바, 비디오스튜와 같은 생성&amp;편집 솔루션들의 기능 정리, 장단점까지.그런데 비디오스튜를 운영하면서 가장 많이 받는 질문이 결국 '...
AI 동영상 제작, 도구 문제가 아닙니다: 실무자가 실제로 막히는 지점과 해법은?
Junwoo 2026-05-09
🎓 언론사 유튜브 채널, 기사는 많은데 영상이 안 올라오는 이유 저희가 언론사 고객들과 이야기를 나눠보면, 비슷한 이야기를 정말 자주 듣습니다."채널 개설은 2년 전에 했는데, 아직도 영상이 10개도 안 돼요."“몇 년전엔 활발히 운영을 했었는데, 지금은 그냥 방치하고 있습니다…”살펴보면 대부분 원인으로는 영상 한 편 제작하는데 공수가 너무 많이 들...
언론사 유튜브 채널, 기사는 많은데 영상이 안 올라오는 이유
Junwoo 2026-05-07
🗞️ [Update] SDK 없이 계정 API 토큰으로 영상 자동 생성 달라진 점기존에는 자동화 API를 사용하려면 별도 SDK를 생성하는 절차가 필요했습니다. 이제는 계정 설정 &gt; API 토큰에서 값을 복사해 요청 헤더에 붙여넣기만 하면 영상 자동 생성을 바로 시작할 수 있습니다.사용량은 현재 구독 플랜의 크레딧 한도 안에서 그대로 차감됩니다. 별도...
[Update] SDK 없이 계정 API 토큰으로 영상 자동 생성
Junwoo 2026-05-06
[중단]