Skip to main content

Overview

revolution/laravel-voicevox is a package for working with VOICEVOX from Laravel. You can use both the client mode, which connects to the official engine over HTTP, and the native mode, which synthesizes directly through PHP FFI in combination with VOICEVOX Core for PHP — all with the same Laravel-native style.
If you’d like a primer on FFI first, see PHP FFI. For setting up the core library itself, see VOICEVOX Core for PHP and usage.

Feature matrix

Requirements

  • PHP 8.3+
  • Laravel 12+
  • ext-zip
  • ext-ffi when using native mode / the engine API
  • Local CLI environment
In common web server environments — including Laravel Cloud — FFI is usually disabled, so treat native mode and the engine API as local-CLI only.

Mode list

Why tap() fits well

This package returns an Audio Query object right after talk() / song(), letting you insert an adjustment phase before generate(). tap() therefore reads naturally as “adjust the query without changing the return value”.
  • For Talk, you can tweak speedScale, pitchScale, and so on.
  • For Song, you can recompute F0 and volume with sync().
  • It chains cleanly into the VoicevoxResponse that generate() returns.
The idea behind tap() itself is summarized in The tap() helper and the Tappable trait. This package is an especially clear practical example.

Documentation

Installation

Client-only setup, FFI-based setup, publishing the config file, and preparing engine resources.

Client Talk

Get started with text-to-speech via the official VOICEVOX engine.

Client Song

Compose Score and Note to synthesize singing voices.

Native Talk

Synthesize locally with PHP FFI and VOICEVOX CORE.

Native Song

Use singing voice models directly through FFI.

VOICEVOX Core for PHP

Set up the core library and use it from pure PHP.
Last modified on August 2, 2026

Related topics

VOICEVOX for Laravel