피드로 돌아가기
Dev.toAI/ML
원문 읽기
Pluggable Script Tool 기반의 iApp TTS 통합 및 PCM-to-WAV 변환 설계
ให้ AI พูดภาษาไทยได้ด้วย Garudust Agent + iApp TTS
AI 요약
Context
Garudust Agent 내 텍스트 응답을 음성으로 확장하기 위한 TTS 인터페이스 필요성 증대. 하드코딩 없는 유연한 Provider 교체와 API 기반의 외부 TTS 서비스 연동 구조 설계가 요구됨.
Technical Solution
- Pluggable Script Tool 구조를 통한 런타임 시 tool.yaml 및 run.py 동적 로딩 체계 구축
- Provider Profile 설정을 통해 API Endpoint와 Key를 분리하여 코드 수정 없는 Provider 스위칭 구현
- iApp TTS API의 Raw PCM 데이터 포맷을 범용 재생이 가능한 RIFF WAV 16-bit mono 24kHz로 변환하는 pcm_to_wav 래퍼 로직 설계
- struct.pack를 활용한 바이너리 헤더 직접 생성을 통해 오디오 파일의 호환성 확보
- Environment Variable을 통한 API Key 주입으로 보안성과 환경별 설정 유연성 강화
실천 포인트
1. 외부 API 연동 시 Provider Profile 패턴을 적용해 코드 수정 없이 환경 설정을 통한 서비스 교체 가능 여부 검토
2. Raw 바이너리 데이터를 처리할 때 표준 헤더(WAV 등)를 추가하는 변환 레이어 설계로 클라이언트 호환성 확보
3. 플러그인 아키텍처 도입 시 Registry 기반의 자동 등록 시스템을 통해 확장성 확보