AI个人学习
和实操指南

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

综合介绍

Kokoro WebGPU是Kokoro文本转语音(TTS)模型的WebGPU版本,由WebML Community在Hugging Face平台上提供。该项目利用WebGPU技术,使用户能够在浏览器中本地运行高效的文本转语音转换。WebGPU是一种现代的图形和计算API,能够在浏览器中实现高性能的计算任务。Kokoro WebGPU模型旨在为用户提供快速、可靠的文本转语音服务,适用于各种应用场景,如有声书、播客、教育视频等。

Kokoro 是一个拥有 8200 万参数的开源 TTS 模型。尽管其架构轻量,但在语音合成质量上可媲美更大型的模型,同时在速度和成本上更具优势。Kokoro 采用 Apache 2.0 许可证,允许在各种环境中自由部署,无论是生产环境还是个人项目。

Kokoro WebGPU:浏览器本地运行的文本转语音服务-1

 

功能列表

  • 高效文本转语音:利用WebGPU技术,实现高性能的文本转语音转换。
  • 浏览器运行:无需安装额外软件,直接在浏览器中运行。
  • 多语言支持:支持多种语言的文本转语音转换。
  • 实时响应:提供快速的响应时间,适合实时应用。
  • 开源社区支持:由WebML Community提供支持,用户可以参与社区讨论和开发。

 

使用帮助

浏览器运行的样本代码

要在浏览器中使用 Kokoro,首先需要安装 kokoro-js 库。

npm install kokoro-js

然后,可以使用以下代码生成语音:

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");

上述代码在浏览器环境中运行,利用 WebGPU 技术实现高效的语音合成。

Python 代码

在 Python 环境中,可以使用 kokoro 库进行语音合成。

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

上述代码在 Python 环境中运行,利用 kokoro 库实现文本到语音的转换。

浏览器中直接体验

您可以直接在浏览器中体验 Kokoro TTS,无需任何安装。请访问以下链接:

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

请注意,该应用程序约有 300 多兆字节,需要完全加载完成后才能体验。然而,作为一个完全在浏览器中运行的高效 TTS 模型,这样的等待是值得的。

主要功能操作流程

文本转语音

  1. 输入文本:在输入框中输入需要转换为语音的文本。
  2. 选择语言:选择需要转换的语言,如英语、法语、日语等。
  3. 运行模型:点击运行按钮,模型将进行文本转语音转换。
  4. 查看结果:语音结果将显示在页面上,用户可以播放和下载生成的语音文件。

特色功能

  • 实时转换:Kokoro WebGPU利用WebGPU技术,实现了实时的文本转语音转换,适合需要快速响应的应用场景。
  • 多语言支持:支持多种语言的文本转语音转换,用户可以根据需求选择不同的语言。
  • 社区支持:由WebML Community提供支持,用户可以参与社区讨论,获取技术支持和更新。
未经允许不得转载:首席AI分享圈 » Kokoro WebGPU:浏览器中离线运行的文本转语音服务

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文