메인 콘텐츠로 건너뛰기

개요

타입캐스트 오토태그는 문장 속에 포함된 전화번호, 날짜, 시간, 금액 같은 복잡한 숫자나 기호를 TTS가 사람처럼 자연스럽게 읽을 수 있도록 미리 문장을 다듬어주는 텍스트 전처리 SDK입니다.

GitHub 저장소

neosapience/typecast-autotag (MIT)

이슈와 디스커션

버그 신고, 핸들러 요청

AutoTag를 사용해야 하는 이유

음성 애플리케이션을 구축할 때, 원본 텍스트는 자연스러운 음성으로 변환되기 어렵습니다:
입력AutoTag 없이AutoTag 사용
010-1234-5678”영 일 영 다시 일 이 삼 사 다시 오 육 칠 팔""공 일 공, 일 이 삼 사, 오 육 칠 팔”
50000원”오만영원""오만 원”
14:30”십사콜론삼십""오후 두 시 삼십 분”
AutoTag는 이러한 패턴을 자동으로 감지하고 자연스러운 음성으로 변환하여 음성 애플리케이션의 사용자 경험을 향상시킵니다.

언어 지원

자연스러운 숫자 읽기, 날짜/시간 포맷팅 등을 포함한 한국어 텍스트 전처리를 완벽하게 지원합니다.
import { autoTag } from 'typecast-autotag';

autoTag('전화번호는 010-1234-5678입니다.', { language: 'ko' });
// → '전화번호는 공 . 일 . 공 . 일 . 이 . 삼 . 사 . 오 . 육 . 칠 . 팔 입니다.'

autoTag('총 금액은 50000원입니다.', { language: 'ko' });
// → '총 금액은 오만 원 입니다.'

설치

저장소를 클론한 뒤 로컬에서 dist 번들을 빌드하고, 이를 사용하는 프로젝트에서 로컬 경로 또는 GitHub URL 로 의존성을 추가합니다.
git clone https://github.com/neosapience/typecast-autotag.git
cd typecast-autotag
pnpm install
pnpm build
그런 다음 사용하는 프로젝트에서:
# 파일 경로 의존성 (개발 중 권장)
pnpm add file:../typecast-autotag

# 또는 git URL — 이 경우 consumer 가 직접 build 를 실행해야 합니다.
# 저장소의 prepare 스크립트가 아직 microbundle 을 돌리지 않습니다.
pnpm add github:neosapience/typecast-autotag

빠른 시작

자동 태깅

텍스트에서 패턴을 자동으로 감지하고 변환합니다:
import { autoTag } from 'typecast-autotag';

// 전화번호
autoTag('전화번호는 010-1234-5678입니다.', { language: 'ko' });
// → '전화번호는 공 . 일 . 공 . 일 . 이 . 삼 . 사 . 오 . 육 . 칠 . 팔 입니다.'

// 날짜와 시간
autoTag('회의는 14:30에 시작합니다.', { language: 'ko' });
// → '회의는 오후 두 시 삼십 분 에 시작합니다.'

// 금액
autoTag('총 금액은 50000원입니다.', { language: 'ko' });
// → '총 금액은 오만 원 입니다.'

수동 태깅

명시적인 태그 구문을 사용하여 정밀하게 제어합니다:
import { manualTag } from 'typecast-autotag';

// 이름 철자 읽기 (글자별)
manualTag('안녕하세요, name(김철수)님.', { language: 'ko' });
// → '안녕하세요, 김 . 철 . 수님.'

manualTag('Hello, name(John).', { language: 'en' });
// → 'Hello, J O H N.'

조합 사용

자동 태그와 수동 태그를 함께 적용합니다:
import { autoTagWithManual } from 'typecast-autotag';

autoTagWithManual('name(김철수)님, 010-1234-5678로 연락주세요.', { language: 'ko' });
// → '김 . 철 . 수 님, 공 . 일 . 공 . 일 . 이 . 삼 . 사 . 오 . 육 . 칠 . 팔 로 연락주세요.'
수동 태그가 먼저 처리된 후 나머지 텍스트에 자동 태그가 적용됩니다.

지원 태그

자동 태그 (자동 감지)

태그설명한국어 예시영어 예시
phone전화번호010-1234-5678555-123-4567
datetime날짜와 시간2024-01-15T14:302024-01-15T14:30
time시간14:302:30 PM
date날짜2024-01-15January 15, 2024
money금액50000원$1,500
year연도2024년year 2024
month12월January
day25일the 15th
order순서3번째1st place
point점수95점95 points
ratio비율/퍼센트50%, 1:250%, 1:2
weight무게5kg5kg, 100lb
distance거리5km5km, 100m
temperature온도25℃25°C, -5°F
volume용량500ml500ml, 2L
dataCapacity데이터 용량100GB100GB, 50Mbps

수동 전용 태그

태그설명구문출력
name이름 (글자별)name(김철수)김 . 철 . 수
digits숫자 (자리별)digits(1234)일 . 이 . 삼 . 사
address주소 (한국어 전용)address(102동 1101호)백이동 천백일호

AICC 사용 사례

자연스러운 음성이 중요한 AI 컨택센터 애플리케이션에 완벽합니다:
import { autoTagWithManual } from 'typecast-autotag';

// 고객 서비스 스크립트
const customerName = '김철수';
const orderNumber = '12345';
const deliveryDate = '2024년 1월 15일';
const supportPhone = '1588-1234';

const script = autoTagWithManual(`
  안녕하세요, name(${customerName})님.
  주문번호 digits(${orderNumber}) 상품이 ${deliveryDate}에 배송될 예정입니다.
  문의사항은 ${supportPhone}으로 연락주세요.
`, { language: 'ko' });

// 출력:
// "안녕하세요, 김 . 철 . 수님.
//  주문번호 일 . 이 . 삼 . 사 . 오 상품이 이천이십사년 일월 십오일에 배송될 예정입니다.
//  문의사항은 일 . 오 . 팔 . 팔 . 일 . 이 . 삼 . 사으로 연락주세요."

Typecast TTS와 연동

AutoTag를 Typecast TTS API와 결합하여 최상의 음성 경험을 제공하세요:
import { autoTagWithManual } from 'typecast-autotag';
import { TypecastClient } from '@neosapience/typecast-js';

const client = new TypecastClient({ apiKey: 'YOUR_API_KEY' });

// AutoTag로 원본 텍스트 전처리
const rawText = '잔액은 1,234,567원입니다. 문의는 1588-1234로 전화주세요.';
const processedText = autoTagWithManual(rawText, { language: 'ko' });

// Typecast TTS로 전송
const audio = await client.textToSpeech({
    text: processedText,
    model: 'ssfm-v30',
    voice_id: 'tc_672c5f5ce59fac2a48faeaee'
});

플랫폼 지원

개발 언어

언어버전설치 경로
Node.js≥18GitHub 소스 + pnpm build (ESM / CJS / UMD)
BrowserModern동일 번들, dist/index.mjs
Python≥3.8C 빌드 후 pip install -e python-binding/
Java≥8C 빌드 후 java-binding/ 에서 mvn install
C/C++AnyReleases 의 미리 빌드된 바이너리 또는 pnpm c-binding:build-all-multiarch

서버 플랫폼

플랫폼상태
Linux지원 (CentOS 6.9+, Amazon Linux 2+, Ubuntu, Debian)
macOS지원 (Intel & Apple Silicon)
Windows지원 (Windows 10+)

아키텍처

아키텍처상태
x86_64 (AMD64)지원
x86 (32비트)지원
arm64 (AArch64)지원
armv7 (32비트 ARM)지원

다음 단계

빠른 시작

Typecast TTS API 시작하기

SDK 문서

SDK 문서 살펴보기