메인 콘텐츠로 건너뛰기
타입캐스트 API용 공식 C/C++ 라이브러리입니다. AI 기반 음성을 사용하여 텍스트를 자연스러운 음성으로 변환하세요. C11 이상 버전과 호환됩니다. CMake, 수동 컴파일을 지원하며 Windows, Linux, macOS 및 임베디드 시스템을 포함한 크로스 플랫폼 개발이 가능합니다.

소스 코드

Typecast C SDK 소스 코드

API 문서

타입캐스트 API 문서

요구 사항

  • CMake 3.14+
  • libcurl (SSL 지원 필요)
  • C11 호환 컴파일러

설치

저장소를 복제하고 CMake로 빌드합니다:
최신 등록 버전은 SDK Git 태그 기준 v1.2.7입니다.

빌드 옵션

빠른 시작

기능

Typecast C/C++ SDK는 텍스트-투-스피치 변환을 위한 강력한 기능을 제공합니다:
  • C 및 C++ 지원: 순수 C API와 편의를 위한 선택적 C++ 래퍼 제공
  • 다중 음성 모델: ssfm-v30 (최신) 및 ssfm-v21 AI 음성 모델 지원
  • 다국어 지원: 영어, 한국어, 스페인어, 일본어, 중국어 등 37개 언어 지원
  • 감정 제어: 이모션 프리셋 (normal, happy, sad, angry, whisper, toneup, tonedown) 또는 스마트 문맥 인식 추론
  • 오디오 커스터마이징: 라우드니스 (LUFS -70 to 0), 피치 (-12 to +12 반음), 템포 (0.5x to 2.0x), 포맷 (WAV/MP3) 제어
  • 음성 검색: 모델, 성별, 나이, 사용 사례별 필터링이 가능한 V2 Voices API
  • 크로스 플랫폼: Windows, Linux, macOS, ARM (32/64비트) 지원
  • 타임스탬프 TTS: 자막, 가라오케, 립싱크를 위한 단어·문자 단위 정렬 데이터
  • 스트리밍: 저지연 재생을 위한 실시간 청크 오디오 전송
  • 임베디드 지원: 최소 용량 최적화, 크로스 컴파일 지원
  • 언리얼 엔진 지원: 게임 엔진과의 쉬운 통합을 위해 설계됨

보이스 추천

원하는 스타일은 알지만 정확한 voice_id를 모를 때 typecast_recommend_voices를 사용합니다.
추천 결과에는 voice_id, voice_name, score만 포함됩니다. 지원 모델, 감정, 성별, 연령대, 사용 사례 같은 상세 메타데이터가 필요하면 typecast_get_voice 또는 typecast_get_voices로 추가 조회하세요.

설정

환경 변수 또는 생성자를 통해 API 키를 설정합니다:
자체 프록시를 통해 요청하는 경우 프록시 호스트를 전달하고 API 키는 NULL 또는 빈 문자열로 생략할 수 있습니다. API 키가 비어 있거나 없으면 SDK는 X-API-KEY 헤더를 보내지 않습니다. 기본 Typecast 호스트로 요청할 때는 API 키가 계속 필요합니다.
API 키 없는 프록시

고급 사용법

감정 제어 (ssfm-v30)

ssfm-v30은 두 가지 감정 제어 모드를 제공합니다: 프리셋스마트.
AI가 문맥에서 감정을 추론하도록 합니다:

오디오 커스터마이징

라우드니스, 피치, 템포 및 출력 포맷을 제어합니다:

파일로 바로 생성하기

typecast_generate_to_file은 음성 합성과 파일 저장을 한 번에 처리합니다. model은 기본값으로 ssfm-v30을 사용하고, .mp3 또는 .wav 확장자로 출력 형식을 결정합니다.

텍스트만으로 쉼 표현

한 voice로 읽는 문장 안에 쉼만 넣고 싶다면 텍스트에 pause markup을 직접 작성합니다. <|5s|>, <|1s|>, <|0.3s|>, <|0.34413s|>처럼 쓰며 값은 초 단위이고 반드시 s로 끝납니다. 별도 pause 함수를 호출하지 않아도 텍스트만 보고 쉼 위치를 확인할 수 있습니다.

다중 화자 합성

한 파일 안에서 서로 다른 voice나 구간별 pitch, tempo, prompt, seed 같은 옵션을 조합해야 할 때 사용합니다. composer는 각 구간을 WAV로 생성하고 앞뒤 무음 PCM 샘플을 trim한 뒤 합성합니다. MP3가 필요하면 먼저 WAV를 생성한 다음 앱 또는 서버 파이프라인에서 변환하세요.

음성 검색 (V2 API)

향상된 메타데이터로 사용 가능한 음성을 나열하고 필터링합니다:

다국어 콘텐츠

SDK는 자동 언어 감지와 함께 37개 언어를 지원합니다:

스트리밍

저지연 재생을 위한 실시간 오디오 청크 스트리밍:
WAV 스트리밍 형식: 32000 Hz, 16비트, 모노 PCM. 첫 번째 청크에 44바이트 WAV 헤더(size = 0xFFFFFFFF)가 포함되며, 이후 청크는 원시 PCM 데이터만 포함합니다. MP3 형식: 320 kbps, 44100 Hz, 각 청크는 독립적으로 디코딩 가능합니다. 안전한 기본값으로 출력 설정을 초기화하려면 TYPECAST_OUTPUT_STREAM_DEFAULT()를 사용하세요.

타임스탬프 TTS

typecast_text_to_speech_with_timestamps()POST /v1/text-to-speech/with-timestamps를 래핑하며, 오디오와 함께 단어·문자 단위 정렬 데이터를 반환합니다. 가라오케 하이라이트, 자막 생성, 립싱크 애플리케이션에 활용할 수 있습니다.

기본 사용법

정밀도(Granularity) 설정

TYPECAST_GRANULARITY_WORD(기본값) 또는 TYPECAST_GRANULARITY_CHAR를 설정해 정렬 단위를 제어합니다.

자막 내보내기

일본어·중국어: 공백 구분자가 없는 언어(jpn, zho)는 단어 단위 세그먼트가 의미를 갖지 않습니다. 해당 언어에는 TYPECAST_GRANULARITY_CHAR를 사용해 문자 단위 정렬 데이터를 얻으세요.

지원 언어

SDK는 자동 언어 감지와 함께 37개 언어를 지원합니다:
지정하지 않으면 입력 텍스트에서 언어가 자동으로 감지됩니다.

오류 처리

SDK는 API 오류 처리를 위한 특정 오류 코드를 제공합니다:

오류 코드

C++ 래퍼

C++ 프로젝트의 경우, 더 관용적인 인터페이스를 위한 선택적 C++ 래퍼를 활성화할 수 있습니다:

플랫폼 지원

SDK는 다음 플랫폼에서 자동화된 E2E 테스트를 통해 검증되었습니다:

임베디드 시스템

이 SDK는 네트워크 연결이 가능한 임베디드 시스템에 통합할 수 있습니다.

크로스 컴파일

메모리 요구 사항

언리얼 엔진 통합

이 SDK는 Unreal Engine 4.27+ 및 Unreal Engine 5.x와의 원활한 통합을 위해 설계되었습니다.
1

SDK 빌드

정적 라이브러리로 빌드합니다:
2

플러그인 구조 생성

언리얼 프로젝트에 플러그인을 생성합니다:
3

Build.cs 구성

Build.cs에 라이브러리 링킹을 추가합니다:
블루프린트 지원 및 오디오 재생을 포함한 전체 언리얼 엔진 통합 가이드는 SDK 저장소의 README를 참조하세요.

API 레퍼런스

클라이언트 함수

텍스트-투-스피치 함수

음성 함수

유틸리티 함수

TypecastTTSRequest 필드

TypecastTTSResponse 필드