피드로 돌아가기
Measuring Japanese Read-Aloud Speed with AmiVoice Timestamps — A Coaching App That Doesn't Stop at STT Claude
Dev.toDev.to
AI/ML

AmiVoice Timestamp 기반 정밀 분석과 2단계 AI 파이프라인을 통한 낭독 코칭 시스템 구축

Measuring Japanese Read-Aloud Speed with AmiVoice Timestamps — A Coaching App That Doesn't Stop at STT Claude

Uya2026년 6월 18일15intermediate

Context

기존 STT-LLM 결합 방식의 단순 텍스트 전달 구조는 음성 데이터의 시간적 특성을 손실하는 한계 존재. 낭독 유창성 측정을 위해 단순 전사 결과가 아닌 단어별 시작/종료 시점 데이터의 정밀 활용 필요성 대두.

Technical Solution

  • AmiVoice API의 per-word timestamps(starttime, endtime)를 추출하여 순수 낭독 속도 및 Stagnation Rate를 계산하는 평가 로직 설계
  • 수치 계산은 결정론적 코드에서 수행하고, 결과 해석 및 피드백 생성은 Claude Haiku가 담당하는 'Two-stage Design' 채택
  • API Key 노출 방지를 위해 Next.js API Routes를 활용하여 브라우저와 외부 API 사이의 얇은 릴레이 층인 BFF(Backend for Frontend) 아키텍처 구성
  • MediaRecorder를 통한 Blob 데이터 전송 및 동기식 HTTP 통신을 통한 텍스트-시간 데이터 매핑으로 실시간성 확보
  • 단순 STT 결과물을 LLM에 전달하는 방식에서 벗어나, 도메인 지식 기반의 수치 분석 후 정제된 데이터만 LLM에 입력하여 출력 일관성 유지

- LLM에 모든 분석을 맡기기보다 결정론적 로직으로 수치를 계산하고 LLM은 언어적 정제에만 활용하는 2단계 구조 검토 - STT 서비스 채택 시 단순 텍스트 외에 Timestamp, Confidence Score 등 메타데이터 활용 가능 여부 확인 - 클라이언트 사이드에서 외부 API 직접 호출을 지양하고 BFF 패턴을 통해 보안 및 API 제어권 확보

원문 읽기