Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

Kokoro WebGPU: um serviço de conversão de texto em fala para operação off-line em navegadores

Introdução geral

Kokoro O WebGPU é a versão WebGPU do modelo de conversão de texto em fala (TTS) Kokoro, fornecido pela Comunidade WebML na plataforma Hugging Face. O projeto aproveita a tecnologia WebGPU para permitir que os usuários executem conversões eficientes de texto para fala nativamente em seus navegadores. A WebGPU é uma API gráfica e de computação moderna que permite tarefas computacionais de alto desempenho no navegador. vídeos educacionais, etc.

O Kokoro é um modelo TTS de código aberto com 82 milhões de parâmetros. Apesar de sua arquitetura leve, o Kokoro é comparável, em termos de qualidade de síntese de fala, a modelos maiores, com vantagens de velocidade e custo. O kokoro está licenciado sob a licença Apache 2.0, o que permite que ele seja implantado livremente em uma variedade de ambientes, tanto na produção quanto em projetos pessoais.

Kokoro WebGPU: serviço de conversão de texto em fala executado de forma nativa no navegador-1

 

Lista de funções

  • Conversão eficiente de texto em falaConversão de texto em fala de alto desempenho usando a tecnologia WebGPU.
  • O navegador executaNão é necessário instalar nenhum software adicional, pois é executado diretamente em seu navegador.
  • Suporte a vários idiomasConversão de texto para fala: suporta conversão de texto para fala em vários idiomas.
  • resposta em tempo realTempo de resposta rápido para aplicativos em tempo real.
  • Suporte à comunidade de código abertoSuporte da comunidade WebML: Com o suporte da comunidade WebML, os usuários podem participar das discussões e do desenvolvimento da comunidade.

 

Usando a Ajuda

Exemplo de código a ser executado em um navegador

Para usar o Kokoro em seu navegador, primeiro você precisa instalar o kokoro-js Biblioteca.

npm install kokoro-js

A voz pode então ser gerada usando o seguinte 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");

O código acima é executado em um ambiente de navegador e utiliza a tecnologia WebGPU para síntese eficiente de fala.

Código Python

Em um ambiente Python, você pode usar o comando kokoro biblioteca para síntese de fala.

# 安装 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) # 保存每个音频文件

O código acima é executado em um ambiente Python, usando o kokoro A biblioteca permite a conversão de texto em fala.

Experimente-o diretamente em seu navegador

Você pode experimentar o Kokoro TTS diretamente em seu navegador sem nenhuma instalação. Acesse o link abaixo:

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

Observe que o aplicativo tem aproximadamente mais de 300 megabytes e precisa ser totalmente carregado para que você possa experimentá-lo. No entanto, como um modelo TTS eficiente que é executado inteiramente no navegador, a espera vale a pena.

Funções principais

conversão de texto em fala

  1. texto de entradaDigite o texto a ser convertido em fala na caixa de entrada.
  2. Selecionar idiomaSelecione o idioma a ser convertido, por exemplo, inglês, francês, japonês, etc.
  3. modelo operacionalClique no botão Run (Executar) e o modelo executará a conversão de texto em fala.
  4. Exibir resultadosO resultado da fala será exibido na página e o usuário poderá reproduzir e baixar o arquivo de fala gerado.

Funções em destaque

  • conversão on-lineKokoro WebGPU: O Kokoro WebGPU utiliza a tecnologia WebGPU para permitir a conversão de texto em fala em tempo real para cenários de aplicativos que exigem tempos de resposta rápidos.
  • Suporte a vários idiomasSuporte à conversão de texto para fala em vários idiomas, os usuários podem escolher diferentes idiomas de acordo com suas necessidades.
  • Suporte à comunidadeCom a ajuda da WebML Community, os usuários podem participar de discussões na comunidade e obter suporte técnico e atualizações.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Kokoro WebGPU: um serviço de conversão de texto em fala para operação off-line em navegadores
pt_BRPortuguês do Brasil