Skip to main content

사용자 사전이란

사용자 사전을 사용하면 고유명사나 전문 용어의 읽는 법을 VOICEVOX에 학습시킬 수 있습니다. 등록한 단어는 음성 합성 시에 적절한 발음으로 낭독됩니다.

개요

Laravel VOICEVOX의 사용자 사전 기능은 VOICEVOX Core의 UserDict를 이용한 네이티브 구현입니다. 사전 데이터는 JSON 형식으로 storage/voicevox/user_dict.json에 영속화됩니다.
공식 VOICEVOX 엔진과는 독립된 스토리지를 사용하므로, Laravel 측에서 등록한 단어는 공식 엔진 측에는 반영되지 않습니다 (반대 방향도 마찬가지입니다).

설정

기본적으로 storage/voicevox/user_dict.json에 저장됩니다. 다른 경로를 사용하고 싶은 경우 config/voicevox.php에서 변경할 수 있습니다.

기본적인 사용법

단어 추가

dict() 헬퍼의 add()로 단어를 등록합니다.

파라미터

  • surface (필수): 표기
  • pronunciation (필수): 읽는 법 (카타카나만)
  • accentType (필수): 액센트 타입 (0 = 평판, 1 이상 = 액센트 위치)
  • wordType (선택): 품사 (COMMON_NOUN, PROPER_NOUN, VERB, ADJECTIVE, SUFFIX)
  • priority (선택): 우선순위 (기본값 5)

액센트 타입

  • 0: 평판 액센트
  • 1: 첫 번째 박자
  • 2: 두 번째 박자
  • 3: 세 번째 박자

단어 업데이트

단어 삭제

전체 단어 조회

사전 임포트

사전 익스포트

Engine API를 통한 접근

Laravel VOICEVOX의 엔진 API를 실행하고 있는 경우, HTTP를 통해서도 사용자 사전을 조작할 수 있습니다. 공식 엔진으로 폴백하지 않고 네이티브 사전을 이용합니다.

전체 단어 조회

단어 추가

단어 업데이트

단어 삭제

사전 임포트

override=true를 지정하면 기존 사전을 모두 삭제한 뒤 임포트합니다.

사전 등록 후의 음성 합성

사용자 사전에 등록한 단어는 음성 합성 시에 자동 참조됩니다.

주의 사항

pronunciation에는 카타카나만 지정하세요. 히라가나나 한자는 사용할 수 없습니다.
  • Laravel판의 사용자 사전과 공식 VOICEVOX 엔진의 사용자 사전은 별도로 관리됩니다.
  • 단어의 추가·업데이트·삭제는 즉시 JSON 파일에 저장됩니다.
  • 액센트 타입을 모르는 경우에는 우선 0 (평판)을 시도해 보세요.

트러블슈팅

단어가 반영되지 않음

  1. 스토리지 디렉터리의 쓰기 권한을 확인하세요.
  2. storage/voicevox/user_dict.json이 올바르게 생성되어 있는지 확인하세요.
  3. 카타카나 표기가 올바른지 확인하세요.

사전 파일 위치를 알 수 없음

사전을 리셋하고 싶음

마지막 수정일 2026년 7월 13일