Vai al contenuto principale

Cos’è la modalità client

La modalità client genera l’audio inviando richieste HTTP al motore ufficiale VOICEVOX. Non richiede FFI, quindi è la modalità più semplice per iniziare a provare.
Se non hai ancora effettuato l’installazione, consulta prima Installazione e configurazione.

Prerequisiti

1

Avvia il motore ufficiale

docker pull voicevox/voicevox_engine:cpu-latest
docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
2

Se necessario, imposta l'URL di destinazione

VOICEVOX_URL=http://127.0.0.1:50021
Se hai a disposizione una GPU, puoi utilizzare anche l’immagine GPU.

Utilizzo di base

use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('Laravelが好きなのだ', id: 1)
    ->generate(id: 1);

$response->storeAs('client', 'talk.wav');

Specifica dello style ID

Puoi passare uno style ID sia a talk() che a generate().
  • talk(id:): stile utilizzato per creare l’audio_query
  • generate(id:): stile utilizzato per la sintesi vocale
Di norma si specifica lo stesso valore.
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
Puoi ottenere l’elenco degli speaker disponibili con speakers().
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();

Regolazione della audio query con tap()

In questo pacchetto puoi ricevere la TalkAudioQuery prima di generate(), quindi calza perfettamente uno stile in cui inserisci solo effetti collaterali con tap().
use Revolution\Voicevox\Client\TalkAudioQuery;
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('速めに話すのだ', id: 1)
    ->tap(function (TalkAudioQuery $talk) {
        $talk->audioQuery['speedScale'] = 1.2;
        $talk->audioQuery['pitchScale'] = 0.05;
        $talk->audioQuery['intonationScale'] = 1.5;
        $talk->audioQuery['volumeScale'] = 1.0;
    })
    ->generate(id: 1);
tap() esegue solo la regolazione fine della query e ti permette di passare il valore di ritorno tal quale al successivo generate(). L’idea è approfondita in helper tap() e trait Tappable.

Conversione automatica dell’inglese in katakana

In modalità client enable_katakana_english è abilitato, quindi il testo contenente inglese può essere corretto automaticamente in una forma katakana-like.
$response = Voicevox::talk('I love Laravel', id: 1)
    ->generate(id: 1);
Se vuoi disabilitarlo, passa false come terzo argomento.
$response = Voicevox::talk('I love Laravel', id: 1, enableKatakanaEnglish: false)
    ->generate(id: 1);

Salvataggio della risposta

$response = Voicevox::talk('テスト', id: 1)->generate(id: 1);

$wav = $response->content();
$path = $response->storeAs('client', 'talk.wav');
$path = $response->storeAs('client', 'talk.wav', disk: 's3');

Pagine successive

Client: Song

Componi Score e Note per la sintesi del canto.

VOICEVOX Core for PHP

Se decidi di utilizzare FFI, verifica anche l’uso della libreria core.
Ultima modifica il 13 luglio 2026