AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

ココロWebGPU: ブラウザのオフライン操作のための音声合成サービス

はじめに

ココロ WebGPUは、WebMLコミュニティがHugging Faceプラットフォーム上で提供するKokoro音声合成(TTS)モデルのWebGPUバージョンです。WebGPUは、ブラウザ上で高性能な計算タスクを可能にする最新のグラフィックスおよび計算APIです。Kokoro WebGPUモデルは、オーディオブック、ポッドキャスト、教育ビデオなどのさまざまなアプリケーションシナリオ向けに、高速で信頼性の高い音声合成サービスをユーザーに提供するように設計されています。教育ビデオなど

Kokoroは、8,200万個のパラメータを持つオープンソースのTTSモデルである。kokoroはApache 2.0ライセンスの下でライセンスされており、生産現場でも個人プロジェクトでも、様々な環境で自由に導入することができます。

ココロ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環境では 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 このライブラリはテキストから音声への変換を可能にする。

ブラウザで直接体験

ココロTTSは、インストールすることなく、ブラウザ上で直接体験することができます。下記のリンクからどうぞ:

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

このアプリケーションは約300メガバイト以上あり、体験する前に完全に読み込む必要があることにご注意ください。しかし、完全にブラウザ上で動作する効率的なTTSモデルとして、待つ価値はあります。

主な機能

音声合成

  1. 入力テキスト入力ボックスに音声変換したいテキストを入力します。
  2. 言語選択英語、フランス語、日本語など、変換する言語を選択します。
  3. 運用モデル実行ボタンをクリックすると、音声合成が実行されます。
  4. 結果を見るスピーチ結果はページに表示され、ユーザーは生成されたスピーチファイルを再生したりダウンロードしたりすることができます。

注目の機能

  • オンライン変換ココロWebGPUは、WebGPU技術を活用し、高速応答が要求されるアプリケーションのリアルタイム音声合成を可能にします。
  • 多言語サポート多言語のテキスト音声変換をサポートし、ユーザーは必要に応じて異なる言語を選択することができます。
  • 地域支援WebML Communityを利用することで、ユーザーはコミュニティでのディスカッションに参加し、技術サポートやアップデートを受けることができます。
無断転載を禁じます:チーフAIシェアリングサークル " ココロWebGPU: ブラウザのオフライン操作のための音声合成サービス
ja日本語