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적인 고민들을 포스팅해보도록 하겠습니다. 앞서 말씀드린 것 처럼 모든 서비스들이 상향평준화되고 있는 현 상황에서는 이러한 디테일에 대한 고민이 서비스의 명암을 가른다고 믿으니까요.

게시물로 이동

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

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

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

앞으로 유용한 소식으로 찾아뵙겠습니다
수집된 이메일은 뉴스레터 발송 외의 목적으로 사용되지 않으며, 언제든지 탈퇴할 수 있습니다
🗞️ [Update] 팟캐스트 스타일 영상 제작 기능 비디오스튜에 새로운 글쓰기 스타일인 팟캐스트 형식이 추가되었습니다.[아이디어로 시작하기]나 글다듬기로 팟캐스트 형식을 선택하면, 주제와 내용에 맞는 두 명의 화자가 자동으로 설정되고 실제 대화처럼 자연스러운 구어체 스크립트가 생성됩니다.정보 전달형 주제라면 사회자와 게스트, 인터뷰 형식...
[Update] 팟캐스트 스타일 영상 제작 기능
Junwoo 2026-04-15
🎓 무료 동영상 사이트, 종류부터 잘못 고르고 있는 거 아닐까요? 영상 콘텐츠를 시작하려는데 예산은 없고, 유료 툴 구독료는 부담스럽고. 그래서 "무료 동영상 사이트"를 검색하다가 막막해진 분들 꽤 계실 거예요.근데 솔직히 말하면, 이 키워드로 찾을 수 있는 정보들이 대부분 비슷합니다. Pixabay, Pexels 등등의 스톡 라이브러리 사이트 목록 ...
무료 동영상 사이트, 종류부터 잘못 고르고 있는 거 아닐까요?
Junwoo 2026-04-06
🗞️ 언론사라면 꼭 챙겨야 할 2026 공용인프라 지원 사업: NewsTTV/뉴스이미지 무료로 쓰는 방법 한국언론진흥재단이 2026년 뉴스콘텐츠 공용인프라 구축 지원 사업 공모를 시작했습니다. 신청 마감은 4월 15일(수) 오후 5시까지입니다.이번 사업은 클라우드 기반의 뉴스 제작 도구들을 언론사에 최대 5년간 무료(또는 일부 자부담)로 지원하는 프로그램인데요, 저희 비디오스튜가 공급하는 ...
언론사라면 꼭 챙겨야 할 2026 공용인프라 지원 사업: NewsTTV/뉴스이미지 무료로 쓰는 방법
Junwoo 2026-04-01
🎓 영상편집 AI, 이제 고르는 게 일이 됐습니다: 실무자를 위한 기준 3가지 영상편집 AI 툴이 요즘 너무 많아졌습니다.Sora, Veo, Runway, Kling, Vrew, Videostew, Canva, InVideo… 나열하다 보면 숨이 찰 정도죠.그리고 죄다 "AI로 영상 만들어드립니다"라고 하는데, 막상 써보면 뭔가 다 다릅니다. 내가 원하는 게 뭔지...
영상편집 AI, 이제 고르는 게 일이 됐습니다: 실무자를 위한 기준 3가지
Junwoo 2026-03-30
🗞️ [Update] 실시간 미리보기, 대폭 개선되었습니다! 비디오스튜는 실시간 전체 미리보기와 부분 미리보기 기능을 제공하고 있습니다.이번 업데이트에서는 슬라이드가 넘어갈 때 보이던 미세한 깜빡임을 줄여, 실제 렌더링 결과에 더 가까운 느낌으로 편안하게 미리보기를 확인할 수 있도록 개선했습니다.내부 테스트 결과, 트림이 많은 복잡한 영상도 이전...
[Update] 실시간 미리보기, 대폭 개선되었습니다!
Junwoo 2026-03-27
🗞️ [Update] 이미지 움직임(kenburn) 효과가 기본 속성으로 적용됩니다. 기존에 삽입한 이미지에 움직임을 주기 위해서는 켄번 효과를 별도로 설정을 하셔야 했는데요.해당 기능을 이미지 삽입 시 자동적으로 적용될 수 있도록 기능을 개선하였습니다.이미지 클릭 &gt; [내부표시] &gt; [꽉차게 표시/줄여서 맞춤] 메뉴에서 [방향] 옵션을 [없음]으로 하시면 기...
[Update] 이미지 움직임(kenburn) 효과가 기본 속성으로 적용됩니다.
Junwoo 2026-03-19
🗞️ [Update] AI 스티커 아이콘 생성 기능 AI 스티커 이미지 생성 기능이 공개되었습니다. 맥락에 따라 적절한 스티커 이미지를 생성할 수 있습니다.만약 여러분이 직접 생성하고 싶은 이미지가 있다면 텍스트 영역에 직접 원하시는 사물이나 상황을 입력하셔서 생성하실 수 있습니다.현재 플랫 벡터, 아웃라인 스티커, 3D 클레이, 손그림...
[Update] AI 스티커 아이콘 생성 기능
Junwoo 2026-02-13
🗞️ [Update] 이미지 업스케일링 및 배경제거 기능 개선 파일 편집 도구의 이미지 업스케일링 및 배경제거 성능이 개선되었습니다.라이브러리에서 이미지 파일 선택 후 “파일 편집 도구”를 통해 각 리소스들의 화질을 높히거나 배경을 투명하게 제거할 수 있습니다.각 기능에 따라 크레딧이 사용됩니다. (계정별 크레딧 사용 내역은 사용 통계 메뉴에서 확...
[Update] 이미지 업스케일링 및 배경제거 기능 개선
Junwoo 2026-02-10
[중단]