Athrun Data Intelligence


Texto a voz (TTS) La tecnología ha evolucionado rápidamente, permitiendo la engendramiento de voz natural y expresiva para diversas aplicaciones. Un maniquí destacado en este dominio es Kokoro TTS, un maniquí TTS de vanguardia conocido por su eficiencia y creación de discursos de incorporación calidad. Kokoro-82M es un maniquí de texto a voz que consta de 82 millones de parámetros. A pesar de su tamaño significativamente pequeño (82 millones de parámetros), Kokoro TTS proporciona una calidad de voz equivalente a considerablemente modelos más grandes.

Objetivos de educación

  • Comprenda los fundamentos de la tecnología de texto a voz (TTS) y su cambio.
  • Aprenda sobre los procesos secreto en TTS, incluido el prospección de texto, el procesamiento lingüístico y la síntesis del palabra.
  • Explore los avances en los modelos TTS impulsados ​​por AI, desde sistemas basados ​​en HMM hasta arquitecturas neuronales basadas en redes.
  • Descubra las características, la cimentación y el rendimiento de Kokoro-82M, un maniquí TTS de incorporación eficiencia.
  • Obtenga experiencia praxis en la implementación de Kokoro-82M para la engendramiento del palabra utilizando Gradio.

Este artículo fue publicado como parte del Blogathon de ciencias de datos.

Ingreso al texto a voz

El texto a la voz es una tecnología de síntesis de voz que convierte la forma escrita de texto en forma hablada, es opinar, en forma de palabras. Ha evolucionado rápidamente, desde una voz sintetizada que suena robótica y monótona a un discurso expresivo y natural, como humano. TTS tiene varias aplicaciones, como hacer que el contenido digital sea accesible para personas con discapacidades visuales, discapacidades de educación, etc.

Proceso de texto a voz
  • Observación de texto: Este es el primer paso en el procesamiento e interpretación del sistema del sistema del texto de entrada. La tokenización, el etiquetado de parte del voz y los números de manejo y las abreviaturas son algunos de los deberes involucrados. Esto se realiza para comprender el contexto y la disposición del texto.
  • Observación lingüístico: Posteriormente del prospección de texto, el sistema crea características prosódicas y transcripciones fonéticas aplicando principios lingüísticos. Esto incluye entonación, estrés y ritmo.
  • Síntesis del palabra: Este es el postrer paso para convertir los datos prosódicos y las transcripciones fonéticas en palabras habladas. La síntesis concatenativa, la síntesis paramétrica y la síntesis de redes neuronales basadas en la red son algunos de los métodos de síntesis utilizados por los sistemas TTS modernos.

Desarrollo de la tecnología TTS

TTS ha evolucionado de voces robóticas basadas en reglas a síntesis de palabra natural con IA:

  • Sistemas tempranos (1950 -1980): Síntesis de formantes usados ​​y síntesis concatenativa (p. Ej., Dectalk) para la síntesis del palabra, pero el sonido generado sonaba robótico y menos natural.
  • TTS basado en HMM (1990-2010): Usó modelos estadísticos como modelos ocultos de Markov para un palabra más natural, pero carecía de una prosodia expresiva.
  • TTS basado en redes neuronales (2016 – presente): Los modelos de educación profundo como Wavenet, Tacotron y FastSpeech fueron una revolución en el dominio de la síntesis del palabra, permitiendo la clonación de voz y la síntesis de disparo cero (por ejemplo, Vall-E, Kokoro-82M).
  • El futuro (2025+): TTS consciente de la emoción, avatares de IA multimodales y modelos de peso ultraligero para interacciones en tiempo efectivo y humanos.

¿Qué es Kokoro-82m?

Aunque tiene solo 82 millones de parámetros, Kokoro-82M se ha convertido en un maniquí TTS de vanguardia y de vanguardia que produce una producción de audio de sonido natural de incorporación calidad. Se desempeña mejor que los modelos más grandes, por lo que es una excelente opción para los desarrolladores que buscan equilibrar el uso y el rendimiento de los medios.

Descripción genérico del maniquí

  • Aniversario de tirada: 25 de diciembre de 2024
  • Abuso: Apache 2.0
  • Idiomas con apoyo: inglés latinoamericano, inglés sajón, francés, coreano, japonés y mandarín
  • Construcción: utiliza una cimentación de decodificador basada en Styletts 2 e Istftnet, sin difusión ni codificador.

La cimentación STYLETTS2 utiliza modelos de difusión para describir los estilos del palabra como variables aleatorias latentes, produciendo un discurso que suena humano. Por lo tanto, elimina el requisito de discurso de relato al permitir que el sistema proporcione estilos apropiados para el texto proporcionado. Utiliza capacitación adversaria con grandes modelos de jerigonza de palabra previamente capacitados (SLM), como WAVLM.

ISTFTNET es un vocoder de espectrograma MEL (codificador de voz) que utiliza la transformación inversa de Fourier de corto tiempo (ISTFT). Está diseñado para obtener la síntesis del palabra de incorporación calidad con costos computacionales reducidos y tiempos de capacitación.

Interpretación

El maniquí Kokoro-82M supera a varios criterios. Tomó el primer división en la prueba de arena de los espacios TTS, superando los modelos más más grandes como XTTS V2 (parámetros de 467m) y Metavoice (1.2B parámetros) 1. Incluso los modelos entrenados en conjuntos de datos mucho más grandes, como Fish Speech con un millón de horas de audio, no pudieron igualar el rendimiento de Kokoro-82M. Logró un rendimiento mayor en menos de 20 épocas con un conjunto de datos curado de menos de 100 horas de audio. Esta eficiencia, contiguo con la producción de incorporación calidad, hace que Kokoro-82M sea un mejor desempeño en el dominio de texto a voz.

Características de Kokoro

Proporciona algunas características excelentes como:

Soporte de varios idiomas

Kokoro TTS admite múltiples idiomas, lo que lo convierte en una opción versátil para aplicaciones globales. Actualmente ofrece soporte para:

  • Inglés estadounidense y sajón
  • Francés
  • japonés
  • coreano
  • Chino

Creación de voz personalizada

La capacidad de Kokoro TTS para producir voces personalizadas es una de sus características más notables. Al combinar varios incrustaciones de voz, los usuarios pueden crear voces distintivas y personalizadas que mejoren la experiencia del beneficiario y la identificación de la marca.

Apoyo de código campechano y impulsado por la comunidad

Al ser un plan de código campechano, los desarrolladores pueden usar, alterar e incorporar a Kokoro en sus programas. El retumbante apoyo comunitario del maniquí ayuda en las mejoras.

Procesamiento locorregional para la privacidad y uso fuera de cuerda

A diferencia de muchas soluciones TTS basadas en la nimbo, Kokoro TTS puede ejecutarse localmente, eliminando la carencia de API externas.

Construcción apto para el procesamiento en tiempo efectivo

Con una cimentación optimizada para el rendimiento en tiempo efectivo y el uso imperceptible de medios, Kokoro TTS es adecuado para la implementación en dispositivos de borde y sistemas de desvaloración potencia. Esta eficiencia garantiza una síntesis de voz suave sin requerir hardware de incorporación grado.

Voces

Algunas de las voces proporcionadas por Kokoro-82m son:

  • Mujer saco: Titulado Bella, Nicole, Sarah, Sky.
  • Hombre latinoamericano: Titulado Adam, Michael
  • Hembra británica: Titulada Emma, ​​Isabella
  • Hombre sajón: Título George, Lewis

Narración: Github

Ser tartado con kokoro-82m

Comprendamos el funcionamiento de Kokoro-82M creando una aplicación con comestibles de Gradio para la engendramiento del palabra.

Paso 1: Instalar dependencias

Instale GIT-LFS y clone el repositorio de Kokoro-82M de la cara abrazada. Luego instale las dependencias requeridas:

  • Fonemizador, hacha, transformadores, SciPy, Munch: utilizado para el procesamiento de modelos.
  • Gradio: Se utiliza para construir la interfaz de beneficiario basada en la web.
#Install dependencies silently
!git lfs install
!git clone https://huggingface.co/hexgrad/Kokoro-82M
%cd Kokoro-82M
!apt-get -qq -y install espeak-ng > /dev/null 2>&1
!pip install -q phonemizer torch transformers scipy munch gradio

Paso 2: Importar módulos requeridos

Los módulos que requerimos son:

  • build_model: Para inicializar el maniquí TTS Kokoro-82M.
  • producir: Esto es para convertir la entrada de texto en discurso sintetizado.
  • hacha: para manejar y permitir la carga del maniquí y la selección de la paquete de voz.
  • Gradio: Construye una interfaz web interactiva para los usuarios.
#Import necessary modules
from models import build_model
import torch
from kokoro import generate
from IPython.display import display, Audio
import gradio as gr

Paso 3: Inicializar el maniquí

#Checks for GPU/cuda availability for faster inference
device="cuda" if torch.cuda.is_available() else 'cpu'
#Load the model
MODEL = build_model('kokoro-v0_19.pth', device)

Paso 4: Defina las voces disponibles

Aquí creamos un diccionario de voces disponibles.

VOICE_OPTIONS = {
    'American English': ('af', 'af_bella', 'af_sarah', 'am_adam', 'am_michael'),
    'British English': ('bf_emma', 'bf_isabella', 'bm_george', 'bm_lewis'),
    'Custom': ('af_nicole', 'af_sky')
}

Paso 5: Defina una función para producir discurso

Definimos una función para cargar el paquete de voz seleccionado y convertir el texto de entrada en discurso.

#Generate speech from text using selected voice
def tts_generate(text, voice):
    try:
        voicepack = torch.load(f'voices/{voice}.pt', weights_only=True).to(device)
        audio, out_ps = generate(MODEL, text, voicepack, lang=voice(0))
        return (24000, audio), out_ps
    except Exception as e:
        return str(e), ""

Paso 6: Crear código de aplicación de Gradio

Define la función APP () que actúa como un envoltorio para la interfaz Gradio.

def app(text, voice_region, voice):
    """Wrapper for Gradio UI."""
    if not text:
        return "Please enter some text.", ""
    return tts_generate(text, voice)

with gr.Blocks() as demo:
    gr.Markdown("# Multilingual Kokoro-82M - Speech Generation")
    text_input = gr.Textbox(label="Enter Text")
    voice_region = gr.Dropdown(choices=list(VOICE_OPTIONS.keys()), label="Select Voice Type", value="American English")
    voice_dropdown = gr.Dropdown(choices=VOICE_OPTIONS('American English'), label="Select Voice")
    
    def update_voices(region):
        return gr.update(choices=VOICE_OPTIONS(region), value=VOICE_OPTIONS(region)(0))
    
    voice_region.change(update_voices, inputs=voice_region, outputs=voice_dropdown)
    output_audio = gr.Audio(label="Generated Audio")
    output_text = gr.Textbox(label="Phoneme Output")
    generate_btn = gr.Button("Generate Speech")
    generate_btn.click(app, inputs=(text_input, voice_region, voice_dropdown), outputs=(output_audio, output_text))
    
#Launch the web app
demo.launch()

Producción

Aplicación de Gradio

Explicación

  • Entrada de texto: el beneficiario ingresa al texto para convertir en discurso.
  • Región de voz: seleccione entre voces estadounidenses, británicas y personalizadas.
  • Voces específicas: actualizaciones dinámicamente basadas en la región seleccionada.
  • Genere el pulsador del palabra: desencadena el proceso TTS.
  • Salida de audio: reproducciones de discurso generado.
  • Salida del fonema: muestra la transcripción fonética del texto de entrada.

Cuando el beneficiario selecciona una región de voz, las voces disponibles se actualizan automáticamente.

Limitaciones de Kokoro

El maniquí Kokoro-82M es importante, sin incautación, tiene varias limitaciones. Sus datos de entrenamiento son principalmente sintéticos y neutrales, por lo tanto, lucha por producir un palabra emocional como risas, ira o dolor. Esto se debe a que estas emociones estaban subrepresentadas en el conjunto de capacitación. Las limitaciones del maniquí se derivan tanto de las decisiones de cimentación como de los límites de datos de capacitación. El maniquí carece de capacidades de clonación de voz oportuno a su pequeño conjunto de datos de entrenamiento de menos de 100 horas. Usa espeak-ng Para la conversión de grafema a fonema (G2P), que introduce áreas de rotura potenciales en la tubería de procesamiento de texto. Si aceptablemente el recuento de 82 millones de parámetros permite una implementación apto, puede no coincidir con las capacidades de los transformadores de difusión de miles de millones de parámetros o modelos de idiomas grandes.

¿Por qué nominar Kokoro TTS?

Kokoro TTS es una gran alternativa para desarrolladores y organizaciones que desean desplegar síntesis de voz de incorporación calidad sin incurrir en tarifas de API. Ya sea que esté creando aplicaciones habilitadas en voz, involucrando contenido instructivo, mejorando la producción de video o desarrollando tecnología de afluencia, Kokoro TTS ofrece una alternativa confiable y asequible a los servicios de TTS propietarios. Kokoro TTS es un cambio de encaje en el mundo de la tecnología de texto a voz, gracias a su huella mínima, naturaleza de código campechano y excelente calidad de voz. Si está buscando un maniquí TTS irreflexivo, apto y personalizable, ¡vale la pena considerar el Kokoro TTS!

Conclusión

Kokoro-82M representa un gran avance en la tecnología de texto a voz, que ofrece un discurso de incorporación calidad y suena natural a pesar de su pequeño tamaño. Su eficiencia, soporte de varios idiomas y capacidades de procesamiento en tiempo efectivo lo convierten en una opción convincente para los desarrolladores que buscan un nivelación entre el rendimiento y el uso de medios. A medida que la tecnología TTS continúa evolucionando, modelos como Kokoro-82M allanan el camino para soluciones de síntesis de voz más accesibles, expresivas y amigables con la privacidad.

Control de presa

  • Kokoro-82M es un maniquí TTS apto con solo 82 millones de parámetros, pero ofrece un discurso de incorporación calidad.
  • El soporte de varios idiomas lo hace versátil para aplicaciones globales.
  • El procesamiento en tiempo efectivo permite la implementación en dispositivos de borde y sistemas de desvaloración potencia.
  • La creación de voz personalizada alivio la experiencia del beneficiario y la identidad de la marca.
  • El incremento de código campechano y impulsado por la comunidad fomenta la alivio continua y la accesibilidad.

Preguntas frecuentes

Q1. ¿Cuáles son algunas metodologías TTS existentes?

A. Las principales metodologías de TTS son la síntesis de formantes, la síntesis concatenativa, la síntesis paramétrica y la síntesis de redes neuronales.

Q2. ¿Qué es la concatenación del palabra y la engendramiento de forma de onda en TTS?

A. La concatenación del palabra implica unir unidades de palabra pregrabadas, como fonemas, diphones o palabras, para formar oraciones completas. La engendramiento de forma de onda se realiza para suavizar las transiciones entre unidades para producir un discurso de sonido natural.

Q3. ¿Cuál es el propósito de la pulvínulo de datos de Speech Sounds?

A. Una pulvínulo de datos de Speech Sounds es el conjunto de datos fundamental para los sistemas TTS. Contiene una gran colección de muestras de sonido de voz grabadas y sus transcripciones de texto correspondientes. Estas bases de datos son esenciales para capacitar y evaluar modelos TTS.

Q4. ¿Cómo puedo integrar Kokoro-82M en otras aplicaciones?

R. Se puede utilizar como punto final API e integrarse en aplicaciones como chatbots, audiolibros o asistentes de voz.

Q5. ¿En qué formato está el audio generado?

A. El discurso generado está en formato WAV de 24 kHz, que es de incorporación calidad y es adecuado para la mayoría de las aplicaciones.

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se usan a discreción del autor.

¡Hola, entusiastas de los datos! Soy v aditi, un estudiante de ciencia de datos e inteligencia fabricado en mejora y dedicado que se embarcan en un alucinación de exploración y educación en el mundo de los datos y las máquinas. ¡Únase a mí mientras navego a través del fascinante mundo de la ciencia de datos e inteligencia fabricado, desentrañando misterios y compartiendo ideas en el camino! 📊✨

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *