Síntesis de voz básica
El siguientetalk.php es un ejemplo que sintetiza voz desde texto y la escribe en un archivo WAV.
Síntesis de voz en un solo paso (método tts)
Si quieres saltarte los 2 pasos de createAudioQuery + synthesis, puedes usar el método tts():
Síntesis de voz con notación katakana
También puedes sintetizar desde notación katakana estilo AquesTalk:Uso del diccionario de usuario
Para registrar la lectura de palabras personalizadas se usaUserDict:
Ajuste del AudioQuery
Si ajustas el JSON que obtienes concreateAudioQuery antes de sintetizar, puedes controlar con detalle la entonación, el tempo, etc.:
Obtener frases acentuadas
Puedes obtener la información de las frases acentuadas del texto para revisarla y editarla:Uso del modo GPU
En entornos con GPU disponible, indicarAccelerationMode::Gpu acelera el procesamiento:
Uso de varios modelos de voz
Cargando varios archivos.vvm y cambiando el style ID, puedes alternar entre distintas voces de personajes:
OnExistingVoiceModelId como segundo argumento de loadVoiceModel(). El valor por defecto, Error, lanza una excepción; Reload vuelve a cargar el modelo y Skip no hace nada:
Generar PCM por fotogramas
Si creas unAudioFeature con createAudioFeature(), lo divides por rangos de fotogramas con slice() y llamas a render() en cada fragmento, puedes convertir incluso textos largos en audio poco a poco. Este ejemplo escribe PCM en fragmentos de unos 0,3 segundos:
La salida de
render() no es un archivo WAV, sino datos PCM de 16 bits sin procesar. Este método requiere un modelo VVM v2. La API de C ofrece la creación de AudioFeature y el render por rangos, pero no la API de alto nivel streaming_synthesis.