2026年5月20日 星期三

OpenClaw 如何賦予龍蝦聲音學會說話 - 使用馬娘聲優範例

OpenClaw 如何賦予龍蝦聲音學會說話 - 使用馬娘聲優範例

OpenClaw 其實內建就有 tts 工具,可以自動發氣泡語音到 discord 的聊天室中



音源選擇

選用的聲音是來自這個開源的庫,雖然已經封存但東西還能用
Plachtaa/VITS-fast-fine-tuning

作者有上傳一份在 huggingface 上,目前還能用只是免費版本速度慢
Multilingual Anime TTS - a Hugging Face Space by Plachta

能用就足夠了,算力太慢再自己部署到自己的機器上
可以上去挑自己喜歡的聲音,或是貼給龍蝦讓他自己選一個
唯一要注意的是免費算力有單次150字的限制,一次呼叫不能高於這個



安裝 VITS 到機器

首先需要你連到機器本身,遠端連入或是你本身就跑在自己的電腦上都可以,文中以 ubuntu 為範例,使用者名稱是 ubuntu。

選好聲音之後我們先裝一個 python 虛擬環境給當前使用者 ubuntu 使用

# 1. 建立 venv(用系統 python3,3.10 以上)
python3 -m venv ~/venv

# 2. 裝 gradio_client(用 venv 內的 pip,不需要 activate)
~/venv/bin/pip install --upgrade pip
~/venv/bin/pip install gradio_client

# 驗證
~/venv/bin/python3 -c "import gradio_client; print(gradio_client.__version__)"

然後需要安裝 ffmpeg 用來產生氣泡用的

sudo apt install -y ffmpeg

然後下載 claw-voice/cli.py 放到以下位置

mkdir -p ~/.openclaw/workspace/scripts/claw-voice
wget -O ~/.openclaw/workspace/scripts/claw-voice/cli.py bit.ly/claw-voice-tool

Script 中最上方人物的設定與語言設定記得改成自己要的

載好可以先測試一下有沒有語音產生

~/venv/bin/python3 ~/.openclaw/workspace/scripts/claw-voice/cli.py "こんにちは" /tmp/claw-voice-test.wav

就可以聽到 ai 產出來的語音了
再來要把他安裝到龍蝦上,繼續下一步吧



安裝到龍蝦

接著繼續,腳本身自帶產生設定檔的功能我們先產一下設定檔

~/venv/bin/python3 ~/.openclaw/workspace/scripts/claw-voice/cli.py install

會在腳本旁邊產出一個 tts-config.json5 的設定檔,然後接著安裝到龍裝

openclaw config patch --file ~/.openclaw/workspace/scripts/claw-voice/tts-config.json5

失敗時自動中止、不會修改 openclaw 主 config

改好設定檔之後重啟一下龍蝦

openclaw gateway restart



在 DC 中使用 tts 產生聲音

在 discord 中可以使用斜線召喚命令,不過由於 tts 是 dc 內建的保留字,所以打斜線不會出現這個命令,但是送出還是可以用的。

/tts audio ご主人様、まだ眠いでござる……朝……?

他就會回覆一個氣泡語音回來了



在 dc 中其實龍蝦把 voice 這個關鍵字讓位給 tts 了
也就是在 dc 中輸入 /voice 或 /tts 等於在 telegram 輸入 /tts 的意思
而 voice 原本是語音通話的意思,在 dc 中輸入 /talk-voice 等於在 tg 輸入 /voice
但是有 bug 在 dc 使用 voice 會跑去呼叫 talk-voice 所以用不了就乖乖用 tts 吧



自動語音回覆

cli.py 產生的 tts-config.json5 內含兩個影響「AI 何時自動以語音回覆」的設定

設定說明
messages.tts.autotagged觸發時機。off:永不自動 / always:每個回覆都 TTS / inbound:使用者用語音傳訊時才 TTS / tagged:模型在回覆中明確標註要 TTS 時才合成
messages.tts.modelOverrides.enabledtrue是否允許模型 per-response 控制 TTS。關閉後模型無法主動觸發語音

兩者合起來 = AI 有權限使用氣泡語音發送給你

這是為了以下兩個功能

  1. 聊天時讓龍蝦回覆氣泡語音
  2. 在 corn 中使用提示詞發氣泡語音

但是缺點就是佔用了關鍵字 [[tts:text]]這裡會自動轉成語音[[/tts:text]] 導致龍蝦如果發送給你的聊天中包含這個規則會自動轉換。(被 code block 包覆則例外)

但是這出現概率應該不高自己記得有這回事就好,可以放心打開。




沒有留言:

張貼留言