사용자 사전이란
사용자 사전을 사용하면 고유명사나 전문 용어의 읽는 법을 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를 통해서도 사용자 사전을 조작할 수 있습니다. 공식 엔진으로 폴백하지 않고 네이티브 사전을 이용합니다.전체 단어 조회
단어 추가
단어 업데이트
단어 삭제
사전 임포트
사전 등록 후의 음성 합성
사용자 사전에 등록한 단어는 음성 합성 시에 자동 참조됩니다.주의 사항
- Laravel판의 사용자 사전과 공식 VOICEVOX 엔진의 사용자 사전은 별도로 관리됩니다.
- 단어의 추가·업데이트·삭제는 즉시 JSON 파일에 저장됩니다.
- 액센트 타입을 모르는 경우에는 우선
0(평판)을 시도해 보세요.
트러블슈팅
단어가 반영되지 않음
- 스토리지 디렉터리의 쓰기 권한을 확인하세요.
storage/voicevox/user_dict.json이 올바르게 생성되어 있는지 확인하세요.- 카타카나 표기가 올바른지 확인하세요.