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.
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
- texto de entradaDigite o texto a ser convertido em fala na caixa de entrada.
- Selecionar idiomaSelecione o idioma a ser convertido, por exemplo, inglês, francês, japonês, etc.
- modelo operacionalClique no botão Run (Executar) e o modelo executará a conversão de texto em fala.
- 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.