Select Page
ChatTTS-完整使用指南

ChatTTS-完整使用指南

免費且超強大的 AI TTS,文字轉語音模型+工具,有許多語氣的控制,也可以很精準的寫程式控制效果,是RD眼中好用的Local端開源的TTS

特色說明

1.大規模的數據:10萬小時的訓練資料

2.專用設計:專門對於對話情境、視頻介紹的情境所設計的模型

3.開源特性:可以很簡單的整合到你的WEB中

4.支持語氣:oral, laugh, break

安裝前準備

python 3.10

CUDA

GIT

gradio

安裝說明

github 複製

git clone https://github.com/2noise/ChatTTS
cd ChatTTS

安裝依賴

pip install --upgrade -r requirements.txt

執行 webui

python examples/web/webui.py

利用 CLI

python examples/cmd/run.py "Your text 1." "Your text 2."

要整合在 python 程式碼中,可以安裝 PyPI

pip install ChatTTS
pip install git+https://github.com/2noise/ChatTTS
pip install -e .

整合程式碼

###################################
# Sample a speaker from Gaussian.

rand_spk = chat.sample_random_speaker()
print(rand_spk) # save it for later timbre recovery

params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb = rand_spk, # add sampled speaker 
    temperature = .3,   # using custom temperature
    top_P = 0.7,        # top P decode
    top_K = 20,         # top K decode
)

###################################
# For sentence level manual control.

# use oral_(0-9), laugh_(0-2), break_(0-7) 
# to generate special token in text to synthesize.
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',
)

wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

###################################
# For word level manual control.

text = 'What is [uv_break]your favorite english food?[laugh][lbreak]'
wavs = chat.infer(text, skip_refine_text=True, params_refine_text=params_refine_text,  params_infer_code=params_infer_code)
"""
In some versions of torchaudio, the first line works but in other versions, so does the second line.
"""
try:
    torchaudio.save("word_level_output.wav", torch.from_numpy(wavs[0]).unsqueeze(0), 24000)
except:
    torchaudio.save("word_level_output.wav", torch.from_numpy(wavs[0]), 24000)

V3版本

音色庫

https://www.modelscope.cn/studios/ttwwwaa/chattts_speaker

注意事項

1.是否要使用CUDA,需要的話,記得安裝依賴

2.要用CUDA,怎選擇 Linux 平台,相容性比較好

3.Python最好用3.10版本,並且用conda

直接使用

https://chattts.com

colab

modalScope

參考資源

ChatTTS Github

ChatTTS官網

MediaFire一件安裝包

Lobe Chat UI-有plugin,多模態的AI CHAT UI – 雨 (rain.tips)

AI Tools – AI工具大全(總整理) – 雨 (rain.tips)

搭配 Free AI 產圖Flux

WordPress站長必學:Windows環境下利用FFmpeg壓縮WebP/WebM格式檔案提升效能

WordPress站長必學:Windows環境下利用FFmpeg壓縮WebP/WebM格式檔案提升效能

隨著網絡速度的提升和視覺內容的普及,高效的多媒體處理成為了網站管理的重要環節。對於WordPress網站來說,使用高效的圖片和視頻格式,如WebP和WebM,可以顯著提高頁面加載速度,改善用戶體驗。FFmpeg是一款強大的開源工具,它可以讓你在Windows環境下輕鬆地進行多媒體文件的轉換和壓縮。本文將引導您完成在Windows下安裝FFmpeg的過程,並教您如何壓縮WebP和WebM格式的檔案。

步驟1:下載FFmpeg

  1. 首先,前往FFmpeg的官方網站(ffmpeg.org)。
  2. 想要找編譯好的可以直接到https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z
  3. 下載 Windows 對應的版本。
FFMPEG在github鐘的最新編譯版本
FFMPEG在github鐘的最新編譯版本

步驟2:安裝FFmpeg

  1. 下載完成後,解壓縮zip文件到您希望存放FFmpeg的文件夾,例如 C:\FFmpeg
  2. 將FFmpeg添加到系統環境變量,便於命令行使用:
    • 右鍵點擊“我的電腦”或“此電腦”,選擇“屬性”。
    • 點擊“高級系統設置”,然後點擊“環境變量”。
    • 在“系統變量”下,找到“Path”變量,選擇“編輯”。
    • 點擊“新建”,添加FFmpeg的bin目錄路徑,例如 C:\FFmpeg\bin
    • 確認後關閉所有對話框。

步驟3:檢查FFmpeg是否安裝成功

  1. 打開命令提示符(cmd)。
  2. 輸入 ffmpeg -version 並按回車,如果安裝正確,它將顯示FFmpeg的版本信息。
ffmpeg -version

步驟4:使用FFmpeg壓縮WebP格式圖片

  1. 使用命令提示符,導航到包含您圖片的文件夾。
  2. 輸入以下命令來壓縮圖片為WebP格式:
ffmpeg -i input.jpg -compression_level 60 output.webp

步驟5:使用FFmpeg壓縮WebM格式視頻

  1. 在命令提示符中,定位到包含您視頻的文件夾。
  2. 壓縮視頻為WebM格式,輸入以下命令:
ffmpeg -i input.mp4 -c:v libvpx -b:v 1M -c:a libvorbis output.webm

以下是命令中的參數解釋:

  • -i input.mp4:這是輸入文件的名稱(MP4檔案名)。
  • -c:v libvpx:這個參數選擇了WebM視頻編解碼器libvpx。
  • -b:v 1M:這個參數設置了視頻比特率為1 Mbps。

執行此命令後,FFmpeg將開始轉換MP4文件,並將其儲存為WebM格式。你可以根據需要自定義命令以滿足特定的要求,例如更改視頻比特率、解析度等。

採用 Nvida CUDA 來加速

如果你有 Nvida 的顯卡,可以加入 -hwaccel cuda 來提供編碼速度,但因為目前 Nvida 還沒支援 webm 的編碼器,指令只能加速一小段,等以後有支援就可以享受顯卡加速的快樂

ffmpeg -hwaccel cuda -i input.mp4 -c:v libvpx -b:v 1M -c:a libvorbis output.webm

批次轉換

如果你跟我一樣有大量轉換需求,那你可用我編寫的 .bat 檔案,一次性大量轉換

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

:: 設置FFmpeg的路徑,假設FFmpeg已經加到了系統環境變量,否則你需要指定完整的路徑,如 C:\path\to\ffmpeg\bin\ffmpeg.exe
SET "ffmpeg_path=C:\ffmpeg\bin\ffmpeg.exe"

:: 設置目錄路徑,這裡用 . 代表當前目錄
SET "source_dir=."

:: 設置輸出目錄,這裡也用 . 代表當前目錄,你可以修改為任何你想要的目錄
SET "output_dir=."

:: 轉換目錄下的所有.mp4檔案為.webm
FOR %%A IN ("%source_dir%\*.mp4") DO (
    SET "filename=%%~nA"
    SET "output_file=!filename!.webm"
    ECHO 正在轉換: "%%A"
    "!ffmpeg_path!" -hwaccel cuda -i "%%A" -c:v libvpx -b:v 1M -c:a libvorbis "%output_dir%\!output_file!"
    ECHO 轉換完成: "!output_file!"
)

ECHO 所有檔案轉換完成!
PAUSE

直接下載

將上述代碼保存為 .bat 文件,然後將這個批次檔放在含有你想要轉換的 .mp4 文件的目錄中,雙擊運行即可開始轉換過程。轉換後的 .webm 文件將會保存在設定的輸出目錄中。

注意事項:

  • 請根據你的情況替換ffmpeg_pathsource_dir,和output_dir變量。
  • -c:v libvpx -c:a libvorbis 是指定使用 VP8/Vorbis 編碼器進行視頻和音頻的轉碼。你可以根據需要修改這些參數,例如使用 VP9 編碼器則是 -c:v libvpx-vp9
  • 如果你在執行過程中遇到問題,請檢查FFmpeg是否正確安裝並添加到了系統環境變量中,或者在批次檔案中指定了正確的FFmpeg路徑。
  • -b:v 1M 是代表編碼率是1M,這參數可以不用有,有的話是可以更精確的指定畫質以及檔案大小

延伸閱讀