Kokoro WebGPU: un servicio de conversión de texto en voz para el funcionamiento sin conexión en navegadores

Introducción general

Kokoro WebGPU es la versión WebGPU del modelo de conversión de texto a voz (TTS) Kokoro, proporcionado por la Comunidad WebML en la plataforma Hugging Face. El proyecto aprovecha la tecnología WebGPU para permitir a los usuarios ejecutar conversiones de texto a voz eficaces de forma nativa en sus navegadores.WebGPU es una moderna API de gráficos y computación que permite realizar tareas computacionales de alto rendimiento en el navegador.El modelo WebGPU de Kokoro está diseñado para ofrecer a los usuarios servicios de conversión de texto a voz rápidos y fiables para diversos escenarios de aplicación, como audiolibros, podcasts vídeos educativos, etc.

Kokoro es un modelo TTS de código abierto con 82 millones de parámetros. A pesar de su arquitectura ligera, Kokoro es comparable en calidad de síntesis de voz a modelos de mayor tamaño, con ventajas de velocidad y coste. kokoro tiene licencia Apache 2.0, lo que permite implantarlo libremente en diversos entornos, tanto en producción como para proyectos personales.

Kokoro WebGPU:浏览器中离线运行的文本转语音服务

 

Lista de funciones

  • Texto a voz eficaz: Conversión de texto a voz de alto rendimiento mediante la tecnología WebGPU.
  • El navegador funcionaNo es necesario instalar ningún software adicional, se ejecuta directamente en el navegador.
  • Soporte multilingüe: Admite la conversión de texto a voz en varios idiomas.
  • respuesta en tiempo real: Proporciona tiempos de respuesta rápidos para aplicaciones en tiempo real.
  • Apoyo de la comunidad de código abierto: Con el apoyo de la Comunidad WebML, los usuarios pueden participar en los debates y el desarrollo de la comunidad.

 

Utilizar la ayuda

Ejemplo de código para ejecutar en un navegador

Para utilizar Kokoro en tu navegador, primero tienes que instalar la aplicación kokoro-js Biblioteca.

npm install kokoro-js

A continuación, la voz puede generarse utilizando el siguiente código:

import { KokoroTTS } from"kokoro-js";

const model_id = "onnx-community/Kokoro-82M-v1.0-ONNX";
const tts = await KokoroTTS.from_pretrained(model_id, {
dtype: "q8", // 可选值: "fp32", "fp16", "q8", "q4", "q4f16"
device: "wasm", // 可选值: "wasm", "webgpu" (web) 或 "cpu" (node)。如果使用 "webgpu",建议使用 dtype="fp32"。
});

const text = "生活就像一盒巧克力,你永远不知道你会得到什么。";
const audio = await tts.generate(text, {
// 使用 `tts.list_voices()` 列出所有可用的声音
voice: "af_heart",
});
audio.save("audio.wav");

El código anterior se ejecuta en un entorno de navegador y utiliza la tecnología WebGPU para una síntesis de voz eficaz.

Código Python

En un entorno Python, puede utilizar la función kokoro para la síntesis del habla.

# 安装 kokoro 和 soundfile
!pip install kokoro>=0.7.11 soundfile
# 安装 espeak-ng,用于英语 OOD 回退和某些非英语语言
!apt-get -qq -y install espeak-ng > /dev/null 2>&1

from kokoro import KPipeline
from IPython.display import display, Audio
import soundfile as sf

# 初始化管道
pipeline = KPipeline(lang_code='a') # 'a' 表示美式英语

text = '''
天空的颜色像电视机调到没有信号的频道。
"这不像我在使用,"凯斯听到有人说,他挤过 Chat 门口的拥挤人群。"这就像我的身体产生了巨大的药物缺乏症。"
那是一个大都市的声音和笑话。Chatsubo 是一个为专业外籍人士开的酒吧;你可以在那喝上一周,却听不到两句日语。
'''

# 生成并保存音频
generator = pipeline(
    text, voice='af_heart', # 更改声音
    speed=1, split_pattern=r'\n+'
)
for i, (gs, ps, audio) in enumerate(generator):
    print(i)  # 索引
    print(gs) # 字符
    print(ps) # 音素
    display(Audio(data=audio, rate=24000, autoplay=i==0))
    sf.write(f'{i}.wav', audio, 24000) # 保存每个音频文件

El código anterior se ejecuta en un entorno Python, utilizando el comando kokoro La biblioteca permite la conversión de texto a voz.

Experiméntelo directamente en su navegador

Puedes experimentar Kokoro TTS directamente en tu navegador sin necesidad de instalación. Visite el siguiente enlace:

https://huggingface.co/spaces/webml-community/kokoro-webgpu

Tenga en cuenta que la aplicación ocupa aproximadamente más de 300 megabytes y necesita cargarse por completo antes de poder experimentarla. Sin embargo, al tratarse de un modelo TTS eficaz que se ejecuta íntegramente en el navegador, la espera merece la pena.

Funciones principales

texto a voz

  1. texto introducidoIntroduzca el texto que desea convertir en voz en el cuadro de entrada.
  2. Seleccionar idiomaSeleccione el idioma que desea convertir: inglés, francés, japonés, etc.
  3. modelo operativoHaga clic en el botón Ejecutar y el modelo realizará la conversión de texto a voz.
  4. Ver resultados: El resultado del habla se mostrará en la página y el usuario podrá reproducir y descargar el archivo de habla generado.

Funciones destacadas

  • conversión en línea: Kokoro WebGPU utiliza la tecnología WebGPU para permitir la conversión de texto a voz en tiempo real para escenarios de aplicación que requieren tiempos de respuesta rápidos.
  • Soporte multilingüeSoporta la conversión de texto a voz en múltiples idiomas, los usuarios pueden elegir diferentes idiomas de acuerdo a sus necesidades.
  • Apoyo comunitario: Gracias a WebML Community, los usuarios pueden participar en los debates de la comunidad y obtener asistencia técnica y actualizaciones.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...