Passer au contenu principal

Qu’est-ce que le mode client

Le mode client envoie des requêtes HTTP au moteur officiel VOICEVOX pour générer la voix. FFI n’est pas requis, c’est donc un mode facile à utiliser comme point d’entrée pour un premier test.
Si vous ne l’avez pas encore fait, consultez d’abord Installation et configuration.

Prérequis

1

Démarrer le moteur officiel

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

Configurer l'URL de connexion si nécessaire

VOICEVOX_URL=http://127.0.0.1:50021
Si vous disposez d’un GPU, vous pouvez aussi utiliser l’image GPU.

Utilisation de base

use Revolution\Voicevox\Voicevox;

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

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

Spécifier l’ID de style

L’ID de style peut être passé à talk() et generate().
  • talk(id:) : style utilisé lors de la création de l’audio_query
  • generate(id:) : style utilisé lors de la synthèse
Généralement, on spécifie la même valeur.
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ずんだもんなのだ', id: 1)
    ->generate(id: 1);
La liste des locuteurs disponibles peut être obtenue via speakers().
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();

Ajuster l’Audio Query avec tap()

Ce package permet de recevoir le TalkAudioQuery avant generate() : injecter uniquement l’effet de bord via tap() s’y prête particulièrement bien.
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() effectue uniquement des ajustements sur la query et laisse la valeur de retour passer telle quelle au generate() suivant. Le concept est détaillé dans Le helper tap() et le trait Tappable.

Conversion automatique de l’anglais en katakana

En mode client, enable_katakana_english est activé : les textes contenant de l’anglais peuvent être automatiquement corrigés vers une forme proche du katakana.
$response = Voicevox::talk('I love Laravel', id: 1)
    ->generate(id: 1);
Pour désactiver, passez false en troisième argument.
$response = Voicevox::talk('I love Laravel', id: 1, enableKatakanaEnglish: false)
    ->generate(id: 1);

Sauvegarder la réponse

$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');

Pages suivantes

Client Song

Construisez un Score et des Note pour la synthèse chantée.

VOICEVOX Core for PHP

Une fois FFI en place, consultez également l’utilisation de la bibliothèque core.
Dernière modification le 13 juillet 2026