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 |