메인 콘텐츠로 건너뛰기

개요

revolution/voicevox-coreVOICEVOX CORE의 C 동적 라이브러리를 PHP FFI로 래핑한 Pure PHP 패키지입니다. VOICEVOX는 고품질의 일본어 텍스트 낭독(TTS) 엔진으로, 이 패키지를 사용해 PHP에서 직접 음성 합성을 실행할 수 있습니다.
PHP FFI 자체의 구조와 제약을 먼저 정리하고 싶다면 PHP FFI를 참조하세요.
Laravel 앱에서 다룰 것이라면 VOICEVOX for Laravel도 함께 읽으면 클라이언트 모드와 네이티브 모드의 차이까지 정리할 수 있습니다.
PHP FFI는 웹 서버 환경(FPM 등)에서 무효화된 경우가 많으므로(ffi.enable=false), 이 패키지는 로컬 CLI에서의 사용을 전제로 하고 있습니다.

요구 사항

  • PHP 8.3+
  • ext-ffi 확장이 활성화되어 있을 것
  • VOICEVOX CORE 0.16+

설치

composer require revolution/voicevox-core

라이브러리 셋업

이 패키지를 사용하려면 VOICEVOX CORE의 동적 라이브러리 (.so / .dylib), ONNX Runtime 라이브러리, OpenJTalk 사전이 필요합니다.
1

voicevox_core 다운로드

voicevox_core releases에서 OS·아키텍처에 맞는 다운로더를 다운로드하여 실행합니다. 실행하면 현재 디렉터리에 voicevox_core 디렉터리가 생성됩니다.생성되는 디렉터리 구조:
voicevox_core/
├── dict/open_jtalk_dic_*/     # OpenJTalk 사전
├── c_api/lib/                 # 동적 라이브러리 (.so, .dylib)
├── models/vvms/               # 음성 모델 파일 (.vvm)
└── onnxruntime/               # ONNX Runtime 라이브러리
2

영구적인 위치로 이동

mv voicevox_core ~/.local/voicevox_core
3

심볼릭 링크 생성 (권장)

라이브러리가 자동으로 발견되도록 심볼릭 링크를 생성합니다.
ln -s에는 반드시 절대 경로를 사용하세요.
macOS:
# [VOICEVOX_CORE_DIR]을 voicevox_core의 절대 경로로 바꾸세요
ln -s [VOICEVOX_CORE_DIR]/libvoicevox_core.dylib /usr/local/lib/libvoicevox_core.dylib
/usr/local/lib/에서 로드할 수 없는 경우 .zshrc 등에서 DYLD_FALLBACK_LIBRARY_PATH를 설정합니다:
export DYLD_FALLBACK_LIBRARY_PATH="$HOME/lib:/usr/local/lib:/usr/lib"
Linux:
ln -s [VOICEVOX_CORE_DIR]/libvoicevox_core.so /usr/local/lib/libvoicevox_core.so

대안: 환경 변수로 지정

심볼릭 링크를 생성할 수 없는 경우, VOICEVOX_CORE_LIB_PATH 환경 변수에 라이브러리 파일의 전체 경로를 설정합니다:
export VOICEVOX_CORE_LIB_PATH=/path/to/libvoicevox_core.dylib
export VOICEVOX_CORE_LIB_PATH="$HOME/.local/voicevox_core/c_api/lib/libvoicevox_core.dylib"
macOS에서 DYLD_FALLBACK_LIBRARY_PATH를 사용해도 로드할 수 없는 경우 VOICEVOX_CORE_LIB_PATH로 설정하세요.

문서

사용법

텍스트 낭독·음성 합성의 기본 사용법과 코드 샘플.

API 레퍼런스

모든 클래스·메서드·enum의 상세 레퍼런스.

참고 링크

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