Utility SDK

Autotag SDK

구조화된 텍스트를 TTS 애플리케이션에 자연스러운 음성 패턴으로 변환하는 텍스트 전처리 SDK

개요

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

AutoTag를 사용해야 하는 이유

음성 애플리케이션을 구축할 때, 원본 텍스트는 자연스러운 음성으로 변환되기 어렵습니다:

입력AutoTag 없이AutoTag 사용
010-1234-5678"영 일 영 다시 일 이 삼 사 다시 오 육 칠 팔""공 . 일 . 공, 일 . 이 . 삼 . 사, 오 . 육 . 칠 . 팔"
50000원"오만영원""오만원"
14:30"십사콜론삼십""오후 두시 삼십분"

AutoTag는 이러한 패턴을 자동으로 감지하고 자연스러운 음성으로 변환하여 음성 애플리케이션의 사용자 경험을 향상시킵니다.

언어 지원

JavaScript·브라우저 패키지는 SSFM v3.0 TTS 전체 언어를 지원합니다.

언어 단계지원 범위공식 코드 / 허용 별칭
한국어·영어전체 패턴ko, kor, en, eng
일본어·중국어 간체핵심 TTS 패턴ja, jpn, zh, zho
번체 한자권 음성핵심 TTS 패턴zh-TW, nan, yue
그 외 SSFM v3.0 언어공통 TTS 패턴(31개)아래 공식 ISO 639-3 코드

SSFM v3.0 공식 언어 코드(37개): ara, ben, bul, ces, dan, deu, ell, eng, fin, fra, hin, hrv, hun, ind, ita, jpn, kor, msa, nan, nld, nor, pan, pol, por, ron, rus, slk, spa, swe, tam, tgl, tha, tur, ukr, vie, yue, zho.

추가로 허용하는 5개 값은 별도 공식 언어가 아닌 별칭 또는 로케일 태그입니다: kokor, eneng, jajpn, zhzho, zh-TW → 번체 중국어.

전용 규칙 모듈이 없는 31개 언어는 datetime, date, time, money, phone, percentage, range, unit, serial, number 패턴을 처리합니다. 로케일별 날짜 순서·월 이름·통화명·소수 구분자·12/24시간제와 주요 고유 숫자 문자를 적용합니다. nanyue는 각 TTS 음성 코드를 유지하면서 번체 중국어 패턴 파이프라인을 재사용합니다.

자연스러운 숫자 읽기, 날짜/시간 포맷팅 등을 포함한 한국어 텍스트 전처리를 완벽하게 지원합니다.

import { autoTag } from '@neosapience/typecast-autotag';

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

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

설치

공개 npm 패키지를 설치합니다:

pnpm add @neosapience/typecast-autotag

# 또는
npm install @neosapience/typecast-autotag
yarn add @neosapience/typecast-autotag
import { autoTag } from '@neosapience/typecast-autotag';

autoTag('전화번호는 010-1234-5678입니다.', { language: 'ko' });

빠른 시작

자동 태깅

텍스트에서 패턴을 자동으로 감지하고 변환합니다:

import { autoTag } from '@neosapience/typecast-autotag';

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

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

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

수동 태깅

명시적인 태그 구문을 사용하여 정밀하게 제어합니다:

import { manualTag } from '@neosapience/typecast-autotag';

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

manualTag('Your code is digits(2048).', { language: 'en' });
// → 'Your code is two zero four eight.'

조합 사용

자동 태그와 수동 태그를 함께 적용합니다:

import { autoTagWithManual } from '@neosapience/typecast-autotag';

autoTagWithManual('name(김철수)님, 010-1234-5678로 연락주세요.', { language: 'ko' });
// → '김 . 철 . 수님, 공 . 일 . 공, 일 . 이 . 삼 . 사, 오 . 육 . 칠 . 팔 로 연락주세요.'

지원 태그

언어별 지원 태그는 다릅니다. 정확한 런타임 목록은 getSupportedAutoTags(language)로 확인할 수 있습니다. 일본어·중국어 간체·대만 Mandarin은 지역 우편번호, 범위, 점수, 분수, 단위, 이메일 기호, 방향, 문맥형 일련번호·계좌·항공편 식별자, 성경 구절도 자동으로 인식합니다.

자동 태그 (자동 감지)

태그설명한국어 예시영어 예시
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 '@neosapience/typecast-autotag';

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

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

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

Typecast TTS와 연동

AutoTag를 Typecast TTS API와 결합하여 최상의 음성 경험을 제공하세요:

import { autoTagWithManual } from '@neosapience/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≥18npm의 @neosapience/typecast-autotag공식 코드 37개 + ko, en, ja, zh, zh-TW 별칭
BrowserModern@neosapience/typecast-autotag ESM/UMD 번들공식 코드 37개 + ko, en, ja, zh, zh-TW 별칭
Python≥3.8PyPI의 typecast-autotagko, en
Java≥8Maven Central의 com.neosapience:typecast-autotagko, en
C/C++AnyReleases의 미리 빌드된 바이너리 또는 pnpm c-binding:build-all-multiarchko, en

서버 플랫폼

플랫폼상태
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)지원

다음 단계

⌘I