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