> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Referencia de API - VOICEVOX Core for PHP

> Referencia de todas las clases, métodos y enums de VOICEVOX Core for PHP.

## `Onnxruntime`

Cargador de ONNX Runtime. Es un singleton a nivel de proceso: solo existe una instancia por proceso.

### Métodos

| Método                                         | Descripción                                                                                                                    |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `static loadOnce(string $filename = ''): self` | Carga e inicializa ONNX Runtime. En llamadas posteriores ignora los argumentos y devuelve la instancia existente.              |
| `static get(): ?self`                          | Devuelve la instancia existente. Devuelve `null` si aún no se ha inicializado.                                                 |
| `supportedDevices(): string`                   | Devuelve la información de dispositivos disponibles como cadena JSON.                                                          |
| `static libVersionedFilename(): string`        | Devuelve el nombre de archivo con versión de la biblioteca ONNX Runtime (por ejemplo, `libvoicevox_onnxruntime.1.17.3.dylib`). |
| `static libUnversionedFilename(): string`      | Devuelve el nombre de archivo sin versión de la biblioteca ONNX Runtime.                                                       |

### Constantes

| Constante     | Descripción                                           |
| ------------- | ----------------------------------------------------- |
| `LIB_NAME`    | Nombre base de la biblioteca (`voicevox_onnxruntime`) |
| `LIB_VERSION` | Versión recomendada de ONNX Runtime                   |

***

## `OpenJtalk`

Analizador de texto que usa OpenJTalk.

### Métodos

| Método                                  | Descripción                                                                            |
| --------------------------------------- | -------------------------------------------------------------------------------------- |
| `__construct(string $openJtalkDictDir)` | Inicializa con la ruta al directorio del diccionario OpenJTalk.                        |
| `analyze(string $text): string`         | Analiza texto en japonés y devuelve un JSON con el array de frases acentuadas.         |
| `useUserDict(UserDict $userDict): void` | Aplica un diccionario de usuario. Si el diccionario cambia, hay que volver a llamarlo. |

***

## `VoiceModelFile`

Archivo de modelo de voz (archivo `.vvm`).

### Métodos

| Método                            | Descripción                                                  |
| --------------------------------- | ------------------------------------------------------------ |
| `static open(string $path): self` | Abre un archivo `.vvm`.                                      |
| `id(): string`                    | Devuelve el ID del modelo de voz como cadena hex (16 bytes). |
| `createMetasJson(): string`       | Devuelve los metadatos del speaker como cadena JSON.         |
| `close(): void`                   | Cierra el archivo y libera los recursos.                     |

***

## `Synthesizer`

Clase principal para la síntesis de voz desde texto.

### Métodos

| Método                                                                                                                           | Descripción                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `__construct(Onnxruntime $onnxruntime, OpenJtalk $openJtalk, AccelerationMode $accelerationMode = Auto, int $cpuNumThreads = 0)` | Inicializa el synthesizer.                                                                                          |
| `onnxruntime(): Onnxruntime`                                                                                                     | Devuelve la instancia de `Onnxruntime` que mantiene este synthesizer.                                               |
| `isGpuMode(): bool`                                                                                                              | Devuelve si el modo GPU está habilitado.                                                                            |
| `metas(): string`                                                                                                                | Devuelve los metadatos del speaker cargado como cadena JSON.                                                        |
| `loadVoiceModel(VoiceModelFile $model): void`                                                                                    | Carga un modelo de voz.                                                                                             |
| `unloadVoiceModel(string $voiceModelId): void`                                                                                   | Descarga el modelo de voz identificado por el ID hex.                                                               |
| `isLoadedVoiceModel(string $voiceModelId): bool`                                                                                 | Comprueba si el modelo de voz está cargado.                                                                         |
| `createAudioQuery(string $text, int $styleId): string`                                                                           | Genera un JSON AudioQuery a partir de texto en japonés.                                                             |
| `createAudioQueryFromKana(string $kana, int $styleId): string`                                                                   | Genera un JSON AudioQuery a partir de notación kana estilo AquesTalk.                                               |
| `createAccentPhrases(string $text, int $styleId): string`                                                                        | Genera un JSON con el array de frases acentuadas a partir de texto en japonés.                                      |
| `createAccentPhrasesFromKana(string $kana, int $styleId): string`                                                                | Genera un JSON con el array de frases acentuadas a partir de notación kana.                                         |
| `replaceMoraData(string $accentPhrasesJson, int $styleId): string`                                                               | Devuelve nuevas frases acentuadas actualizando el pitch y la longitud de fonemas de las moras.                      |
| `replacePhonemeLength(string $accentPhrasesJson, int $styleId): string`                                                          | Devuelve nuevas frases acentuadas actualizando la longitud de fonemas.                                              |
| `replaceMoraPitch(string $accentPhrasesJson, int $styleId): string`                                                              | Devuelve nuevas frases acentuadas actualizando el pitch de las moras.                                               |
| `synthesis(string $audioQueryJson, int $styleId, bool $enableInterrogativeUpspeak = true): string`                               | Sintetiza voz a partir de un JSON AudioQuery. Devuelve el binario WAV.                                              |
| `tts(string $text, int $styleId, bool $enableInterrogativeUpspeak = true): string`                                               | Sintetiza voz desde texto en japonés en un solo paso. Devuelve el binario WAV.                                      |
| `ttsFromKana(string $kana, int $styleId, bool $enableInterrogativeUpspeak = true): string`                                       | Sintetiza voz desde notación kana. Devuelve el binario WAV.                                                         |
| `createSingFrameAudioQuery(string $scoreJson, int $styleId): string`                                                             | Genera un JSON de query de síntesis de canto a partir de un JSON de partitura.                                      |
| `frameSynthesis(string $frameAudioQueryJson, int $styleId): string`                                                              | Sintetiza voz cantada desde el frame audio query. Devuelve el binario WAV.                                          |
| `createSingFrameF0(string $scoreJson, string $frameAudioQueryJson, int $styleId): string`                                        | Devuelve el F0 (frecuencia fundamental) por frame como array JSON de floats a partir de partitura y query de canto. |
| `createSingFrameVolume(string $scoreJson, string $frameAudioQueryJson, int $styleId): string`                                    | Devuelve el volumen por frame como array JSON de floats a partir de partitura y query de canto.                     |

***

## `VoicevoxCore`

Funciones utilitarias globales de VOICEVOX Core.

### Métodos

| Método                                                                          | Descripción                                                                                                                  |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `static getVersion(): string`                                                   | Devuelve la versión de VOICEVOX Core como cadena SemVer.                                                                     |
| `static audioQueryCreateFromAccentPhrases(string $accentPhrasesJson): string`   | Genera un JSON AudioQuery a partir del JSON del array de frases acentuadas.                                                  |
| `static audioQueryValidate(string $audioQueryJson): void`                       | Valida un JSON `AudioQuery`. Si es inválido lanza `VoicevoxException`.                                                       |
| `static accentPhraseValidate(string $accentPhraseJson): void`                   | Valida un JSON `AccentPhrase`. Si es inválido lanza `VoicevoxException`.                                                     |
| `static moraValidate(string $moraJson): void`                                   | Valida un JSON `Mora`. Si es inválido lanza `VoicevoxException`.                                                             |
| `static scoreValidate(string $scoreJson): void`                                 | Valida un JSON `Score`. Si es inválido lanza `VoicevoxException`.                                                            |
| `static noteValidate(string $noteJson): void`                                   | Valida un JSON `Note`. Si es inválido lanza `VoicevoxException`.                                                             |
| `static frameAudioQueryValidate(string $frameAudioQueryJson): void`             | Valida un JSON `FrameAudioQuery`. Si es inválido lanza `VoicevoxException`.                                                  |
| `static framePhonemeValidate(string $framePhonemeJson): void`                   | Valida un JSON `FramePhoneme`. Si es inválido lanza `VoicevoxException`.                                                     |
| `static ensureCompatible(string $scoreJson, string $frameAudioQueryJson): void` | Comprueba que la combinación de partitura y query de síntesis de canto sea válida. Si es inválida lanza `VoicevoxException`. |

***

## `UserDict`

Diccionario de usuario para registrar la pronunciación de palabras personalizadas.

### Métodos

| Método                                                                                                                                                    | Descripción                                                        |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| `__construct()`                                                                                                                                           | Crea un diccionario de usuario vacío.                              |
| `load(string $path): void`                                                                                                                                | Carga el diccionario de usuario desde un archivo.                  |
| `save(string $path): void`                                                                                                                                | Guarda el diccionario de usuario en un archivo.                    |
| `addWord(string $surface, string $pronunciation, int $accentType, UserDictWordType $wordType = CommonNoun, int $priority = 5): string`                    | Añade una palabra. Devuelve el UUID de la palabra como cadena hex. |
| `updateWord(string $wordUuid, string $surface, string $pronunciation, int $accentType, UserDictWordType $wordType = CommonNoun, int $priority = 5): void` | Actualiza la palabra existente indicada por UUID.                  |
| `removeWord(string $wordUuid): void`                                                                                                                      | Elimina la palabra indicada por UUID.                              |
| `importDict(UserDict $other): void`                                                                                                                       | Importa palabras desde otro `UserDict`.                            |
| `toJson(): string`                                                                                                                                        | Devuelve todas las palabras como cadena JSON.                      |

***

## Enum: `AccelerationMode`

Modo de aceleración por hardware del synthesizer.

| Case   | Valor | Descripción                                          |
| ------ | ----- | ---------------------------------------------------- |
| `Auto` | `0`   | Selecciona automáticamente el mejor modo disponible. |
| `Cpu`  | `1`   | Fuerza el modo CPU.                                  |
| `Gpu`  | `2`   | Fuerza el modo GPU.                                  |

***

## Enum: `UserDictWordType`

Clase gramatical de la entrada del diccionario de usuario.

| Case         | Valor | Descripción   |
| ------------ | ----- | ------------- |
| `ProperNoun` | `0`   | Nombre propio |
| `CommonNoun` | `1`   | Nombre común  |
| `Verb`       | `2`   | Verbo         |
| `Adjective`  | `3`   | Adjetivo      |
| `Suffix`     | `4`   | Sufijo        |

***

## `VoicevoxException`

Se lanza cuando una llamada a la API en C de VOICEVOX Core devuelve un código de error. El mensaje de la excepción incluye la descripción del error devuelta por la biblioteca.


## Related topics

- [VOICEVOX Core for PHP](/es/packages/voicevox-core-php/index.md)
- [Referencia de configuración - VOICEVOX for Laravel](/es/packages/laravel-voicevox/configuration.md)
- [Core Versions](/es/packages/laravel-voicevox/engine-api/other/core-versions.md)
- [VOICEVOX for Laravel](/es/packages/laravel-voicevox/index.md)
- [Instalación y configuración - VOICEVOX for Laravel](/es/packages/laravel-voicevox/installation.md)
