Cantar en modo cliente
En la síntesis de voz cantada del modo cliente se usan las APIssing_frame_audio_query y frame_synthesis del motor oficial de VOICEVOX.
A diferencia de Talk, hay que construir primero un Score y sus Note.
Preparación
Crear Score y Note
| Parámetro | Tipo | Descripción |
|---|---|---|
length | int | Longitud en frames |
lyric | string | Letra. Cadena vacía u omitida indica silencio |
key | int|null | Número de nota MIDI |
Uso básico
teacher e id
teacher: style ID que se pasa asing_frame_audio_query. Actualmente solo existe el 6000, así que 6000 es el valor por defecto.generate(id:): style ID que se pasa aframe_synthesis.
singers().
Ajustar F0 y volumen con tap()
En Song el uso de tap() es especialmente claro: puedes ajustar el SongAudioQuery antes de pasarlo a generate().
tap() también es útil cuando quieres modificar el Score y volver a sincronizar.
El planteamiento de
tap() está recogido en Helper tap() y trait Tappable. VOICEVOX for Laravel es un ejemplo típico de «quiero ajustar solo el objeto intermedio sin cambiar el valor de retorno».Siguientes páginas
Detalle de Score y Note
Consulta el cálculo de longitudes de frame y el patrón de gestión en JSON.
Song nativo
Usa el mismo
Score en modo nativo vía FFI.Uso de VOICEVOX Core for PHP
Consulta el flujo de síntesis con la biblioteca central por sí sola.