Allgemeine Einführung
Kokoro WebGPU ist die WebGPU-Version des Kokoro Text-to-Speech (TTS)-Modells, das von der WebML-Community auf der Hugging Face-Plattform bereitgestellt wird. WebGPU ist eine moderne Grafik- und Berechnungs-API, die hochleistungsfähige Berechnungsaufgaben im Browser ermöglicht. Das Kokoro WebGPU-Modell wurde entwickelt, um Benutzern schnelle und zuverlässige Text-zu-Sprache-Dienste für eine Vielzahl von Anwendungsszenarien zu bieten, wie z.B. Hörbücher, Podcasts Lehrvideos, etc.
Kokoro ist ein Open-Source-TTS-Modell mit 82 Millionen Parametern. Trotz seiner leichtgewichtigen Architektur ist Kokoro in der Sprachsynthesequalität mit größeren Modellen vergleichbar, mit Geschwindigkeits- und Kostenvorteilen. kokoro ist unter der Apache 2.0-Lizenz lizenziert, die es erlaubt, in einer Vielzahl von Umgebungen frei eingesetzt zu werden, sowohl in der Produktion als auch für persönliche Projekte.
Funktionsliste
- Effiziente Text-to-SpeechLeistungsstarke Text-zu-Sprache-Umwandlung mit WebGPU-Technologie.
- Der Browser läuft: Keine zusätzliche Software zu installieren, läuft direkt in Ihrem Browser.
- Unterstützung mehrerer SprachenUnterstützt die Umwandlung von Text in Sprache in mehreren Sprachen.
- Echtzeit-ReaktionBietet schnelle Reaktionszeiten für Echtzeitanwendungen.
- Unterstützung der Open-Source-GemeinschaftUnterstützt von der WebML-Community können Benutzer an den Diskussionen und der Entwicklung der Community teilnehmen.
Hilfe verwenden
Beispielcode zur Ausführung in einem Browser
Um Kokoro in Ihrem Browser zu verwenden, müssen Sie zunächst das kokoro-js
Bibliothek.
npm install kokoro-js
Die Stimme kann dann mit folgendem Code erzeugt werden:
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");
Der obige Code läuft in einer Browserumgebung und nutzt die WebGPU-Technologie für eine effiziente Sprachsynthese.
Python-Code
In einer Python-Umgebung können Sie die kokoro
Bibliothek für Sprachsynthese.
# 安装 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) # 保存每个音频文件
Der obige Code läuft in einer Python-Umgebung und verwendet die kokoro
Die Bibliothek ermöglicht die Umwandlung von Text in Sprache.
Erleben Sie es direkt in Ihrem Browser
Sie können Kokoro TTS direkt in Ihrem Browser erleben, ohne es installieren zu müssen. Bitte besuchen Sie den unten stehenden Link:
https://huggingface.co/spaces/webml-community/kokoro-webgpu
Bitte beachten Sie, dass die Anwendung ca. 300+ Megabyte groß ist und erst vollständig geladen werden muss, bevor Sie sie nutzen können. Da es sich jedoch um ein effizientes TTS-Modell handelt, das vollständig im Browser läuft, lohnt sich das Warten.
Hauptfunktionen
Text-to-Speech
- EingabetextGeben Sie den Text, der in Sprache umgewandelt werden soll, in das Eingabefeld ein.
- Sprache auswählenWählen Sie die zu konvertierende Sprache, z. B. Englisch, Französisch, Japanisch usw.
- BetriebsmodellKlicken Sie auf die Schaltfläche Ausführen, und das Modell führt eine Text-in-Sprache-Umwandlung durch.
- Ergebnisse anzeigenDas Sprachergebnis wird auf der Seite angezeigt und der Benutzer kann die erzeugte Sprachdatei abspielen und herunterladen.
Ausgewählte Funktionen
- Online-KonvertierungKokoro WebGPU nutzt die WebGPU-Technologie, um eine Text-zu-Sprache-Umwandlung in Echtzeit für Anwendungsszenarien zu ermöglichen, die schnelle Reaktionszeiten erfordern.
- Unterstützung mehrerer SprachenUnterstützt die Text-zu-Sprache-Umwandlung in mehreren Sprachen, so dass der Benutzer je nach Bedarf verschiedene Sprachen auswählen kann.
- Unterstützung der GemeinschaftPowered by WebML Community: Benutzer können sich an Diskussionen in der Community beteiligen und erhalten technische Unterstützung und Updates.