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

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:

importar { KokoroTTS } de "kokoro-js".
const model_id = "onnx-community/Kokoro-82M-v1.0-ONNX"; const tts = await KokoroTTS.from_pretrained(model_id, { dtype: "q8", // valores opcionais: "fp32", "fp16", "q8", "q4", "q4f16" dispositivo: "wasm", // valores opcionais: "wasm", "webgpu" (web) ou "cpu" (nó). Se estiver usando "webgpu", recomenda-se o uso de dtype="fp32". }); const text = "A vida é como uma caixa de chocolates, você nunca sabe o que vai ganhar." ; const audio = await tts.generate(text, { // Use `tts.list_voices()` para listar todas as vozes disponíveis 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.

# Instalação do kokoro e do soundfile
!pip install kokoro>=0.7.11 soundfile
# Instalar o espeak-ng para fallback do OOD em inglês e alguns idiomas não ingleses
!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

# Inicializar o pipeline
pipeline = KPipeline(lang_code='a') # 'a' para inglês americano

text = '''
O céu tinha a cor de um aparelho de televisão sintonizado em um canal sem sinal.
"Não é como se eu estivesse usando", Keith ouviu alguém dizer enquanto ele se espremia entre a multidão de pessoas na entrada do Chat. É como se meu corpo tivesse desenvolvido uma enorme deficiência de drogas."
Era uma grande cidade de sons e piadas. O Chatsubo era um bar para expatriados profissionais; você podia beber lá a semana inteira e não ouvir duas palavras em japonês.
'''

# Gerar e salvar o áudio
generator = pipeline(
    texto, voz='af_heart', # Alterar voz
    speed=1, split_pattern=r'\n+'
)
for i, (gs, ps, audio) in enumerate(generator):
    print(i) Índice #
    print(gs) Caractere #
    print(ps) # fonema
    display(Audio(data=audio, rate=24000, autoplay=i==0))
    sf.write(f'{i}.wav', audio, 24000) # salvar cada arquivo de áudio

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.
CDN
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

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil