使用 F5-TTS 生成 AI 角色語音
F5-TTS 是一種能夠將文字快速轉換為自然語音的 AI 模型,是以 FastSpeech 2 為基礎、進一步改良的 TTS 架構。
最近看到很多迷因影片用一些角色人物去配音,所以這次想試試透過 F5-TTS 來測試一下使用指定角色的語音檔去生成角色的配音,具體也可以應用在有聲書、客服語音機器人…等等,本次使用 SWivid/F5-TTS 這個開源專案來實作。
一、環境設置
- Windows 11
- NVIDIA GeForce RTX 3060 Ti
- Python 3.11.4
1. 安裝 ffmpeg 工具
需要有 ffmpeg 工具,才能正常處理音訊檔案,所以我們必須要安裝 ffmpeg 並加入環境變數,Windows 的具體安裝方法請參考 如何在 Windows 系統上安裝 FFmpeg
安裝完成後,執行指令確認可正常使用
1 | ffmpeg -version |
2. 將 F5-TTS 專案從 github clone 下來
1 | git clone https://github.com/SWivid/F5-TTS.git |
3. 建立虛擬環境
1 | python -m venv venv |
4. 安裝依賴套件
我的 GPU 是 NVIDIA GeForce RTX 3060 Ti,驅動版本為 560.94,根據我目前適合的 CUDA 版本去安裝 PyTorch
1 | pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118 |
1 | pip install -e . |
5. 啟動服務
1 | f5-tts_infer-gradio |
成功後,可進到 http://127.0.0.1:7860/ ,會看到 Gardio 的 E2/F5 TTS 功能畫面
P.S. 一開始因為我安裝的 PyTorch 版本不對,結果出現下面這個錯誤
1 | OSError: [WinError 126] 找不到指定的模組。 Error loading "C:\Dev\www\F5-TTS\venv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. |
原因是 PyTorch 版本與我目前顯卡的 CUDA 版本不符,所以要卸載後再重新安裝
1 | pip uninstall torch torchvision torchaudio |
重新安裝後,再嘗試檢查一下 torch,確認沒問題後,再啟動 f5-tts_infer-gradio 一次
1 | # 成功後會 print 出 2.1.2 True |
二、生成角色語音
進到 http://127.0.0.1:7860/ ,會成功看到 Gardio 的 E2/F5 TTS 功能畫面,接著就可以開始製作角色的語音了
1. 上傳角色語音檔
你可以上傳一段大概 12 秒左右的角色語音檔,那我這邊是直接上傳一個「來自真新鎮的小智.mp3」 語音檔,它有提供截取、直接錄音等功能
2. 輸入文本
接著輸入你想要生成的語音文本,中英文都可以,我這邊輸入一個「南港展覽館的館長掌管的官方觀光網站綻放萬丈光芒」繞口令給它
下面還有一些進階的設定,可以自由調整。
3. 開始生成
按下 Synthesize,回到 cmd line 會看到程式正在解析與生成,首次使用因為需要下載安裝一些依賴會比較久,完成後回到 Gardio 網頁,就會看到已經生成好的語音了!
三、總結
中間過程也有遇到不少環境版本的問題,以及缺少的依賴工具,不過多問問 AI 還是可以排查解決。
總體來說,效果還可以,只要上傳短短 12 秒的語音,就有不錯的效果,只是還是有些小缺點,包含像中文語句的斷句,有時沒有這麼流暢,這次就先簡單實驗到這裡。