模型概述
模型特點
模型能力
使用案例
🚀 EraX-Smile-UnixSex-F5:為F5-TTS賦予越南語中性音色(支持在線零樣本語音克隆!)✨
EraX-Smile-UnixSex-F5模型基於出色的F5-TTS架構(arXiv:2410.06885)構建。為了讓它掌握越南語的優美韻律,我們使用了一個龐大的數據集進行微調,其中包含超過270萬個僅含越南語的樣本,涵蓋了公共數據和一個規模達1000小時的私有數據集(非常感謝數據集的使用授權🙏)。
🚀 快速開始
模型下載與使用
本倉庫包含4個模型,你可以全部嘗試使用:
- model_42000.safetensors
- model_45000.safetensors
- model_48000.safetensors
- overfit.safetensors
模型代碼託管在我們的GitHub倉庫:EraX Smile Github ,你可以前往查看。
環境安裝
在下載本倉庫並克隆GitHub代碼後,你可以按照以下步驟進行環境安裝:
# Ubuntu系統:使用sudo apt install ffmpeg命令安裝ffmpeg
# Windows系統請參考https://www.geeksforgeeks.org/how-to-install-ffmpeg-on-windows/進行安裝
# 下載我們的GitHub代碼
pip install numpy==1.26
pip install matplotlib
pip install vinorm
pip install f5-tts
pip install librosa
運行示例代碼
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0" # 指定使用的GPU(如果你使用CPU運行且有足夠耐心,可以忽略此步驟)
from vinorm import TTSnorm # 首先對越南語文本進行歸一化處理
from f5tts_wrapper import F5TTSWrapper # 我們方便使用的包裝類
# --- 配置參數 ---
# 從本倉庫下載的模型檢查點路徑
# 請確保此路徑指向實際的.pth、.ckpt或safetensors文件!
eraX_ckpt_path = "path/to/your/downloaded/EraX-Smile-UnixSex-F5/models/model_42000.safetensors" # <-- 請修改此路徑!
# 要克隆的語音文件路徑
ref_audio_path = "path/to/your/reference_voice.wav" # <-- 請修改此路徑!
# 本倉庫中的詞彙文件路徑
vocab_file = "path/to/your/downloaded/EraX-Smile-UnixSex-F5/models/vocab.txt" # <-- 請修改此路徑!
# 生成音頻的保存目錄
output_dir = "output_audio"
# --- 輸入文本 ---
# 與參考音頻匹配的文本(有助於模型學習語音特徵)。請確保該文本與參考音頻匹配!
ref_text = "Thậm chí không ăn thì cũng có cảm giác rất là cứng bụng, chủ yếu là cái phần rốn...trở lên. Em có cảm giác khó thở, và ngủ cũng không ngon, thường bị ợ hơi rất là nhiều"
# 要讓克隆語音朗讀的文本
text_to_generate = "Trong khi đó, tại một chung cư trên địa bàn P.Vĩnh Tuy (Q.Hoàng Mai), nhiều người sống trên tầng cao giật mình khi thấy rung lắc mạnh nên đã chạy xuống sảnh tầng 1. Cư dân tại đây cho biết, họ chưa bao giờ cảm thấy ảnh hưởng của động đất mạnh như hôm nay."
# --- 開始運行 ---
print("正在初始化TTS引擎...(可能需要一些時間)")
tts = F5TTSWrapper(
model_name="F5TTS_v1_Base",
vocoder_name="vocos",
ckpt_path=eraX_ckpt_path,
vocab_file=vocab_file,
use_ema=True,
target_sample_rate=24000,
n_mel_channels = 100,
hop_length = 256,
win_length = 1024,
n_fft = 1024,
ode_method = 'euler',
)
# 對參考文本進行歸一化處理(方便模型處理)
ref_text_norm = TTSnorm(ref_text)
# 創建輸出文件夾
os.makedirs(output_dir, exist_ok=True)
print("正在處理參考語音...")
# 向模型輸入一次參考語音
# 提供參考文本以獲得更好的質量,或者將ref_text設置為空字符串,使用Whisper進行自動轉錄(如果已安裝)
tts.preprocess_reference(
ref_audio_path=ref_audio_path,
ref_text=ref_text_norm,
clip_short=True # 將參考音頻長度控制在合適範圍內(約12秒)
)
print(f"使用的參考音頻時長: {tts.get_current_audio_length():.2f} 秒")
# --- 生成新語音 ---
print("正在使用克隆語音生成新語音...")
# 對要生成語音的文本進行歸一化處理
text_norm = TTSnorm(text_to_generate)
# 你可以輕鬆生成多個句子
# 只需將更多歸一化後的字符串添加到這個列表中
sentences = [text_norm]
for i, sentence in enumerate(sentences):
output_path = os.path.join(output_dir, f"generated_speech_{i+1}.wav")
# 實際的語音生成過程在此處進行!
tts.generate(
text=sentence,
output_path=output_path,
nfe_step=32, # 去噪步驟。數值越大,速度越慢,但可能效果更好(默認值:32)
cfg_strength=3.0, # 對參考語音風格的遵循程度(默認值:2.0)
speed=1.0, # 語音速度(默認值:1.0)
cross_fade_duration=0.12, # 如果文本被分割成多個塊,平滑過渡的時長(默認值:0.15)
sway_sampling_coef=-1
)
print(f"完成!音頻已保存到: {output_path}")
print("\n全部完成!請查看輸出文件夾。")
其他說明
- 如需使用完整的Web界面並通過Gradio進行控制,請克隆並使用 F5-TTS Github 的原始倉庫。
- 我們使用了 Vinorm Team 的優秀庫進行越南語文本歸一化處理。
✨ 主要特性
- 基於F5-TTS架構:繼承了F5-TTS的優秀特性,經過微調後適用於越南語。
- 大規模數據集微調:使用超過270萬個越南語樣本進行微調,包含公共數據和1000小時的私有數據集。
- 支持零樣本語音克隆:可以根據參考語音克隆出相似的語音。
- 多模型選擇:倉庫中提供了4個不同的模型供用戶選擇。
📦 安裝指南
依賴安裝
# Ubuntu系統:使用sudo apt install ffmpeg命令安裝ffmpeg
# Windows系統請參考https://www.geeksforgeeks.org/how-to-install-ffmpeg-on-windows/進行安裝
# 下載我們的GitHub代碼
pip install numpy==1.26
pip install matplotlib
pip install vinorm
pip install f5-tts
pip install librosa
💻 使用示例
基礎用法
上述的快速開始部分已經給出了基礎的使用示例,你可以按照步驟進行操作。
高級用法
目前文檔中未提及高級用法的相關內容,你可以持續關注我們的更新。
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型類型 | 基於F5-TTS架構的文本轉語音模型 |
訓練數據 | 超過270萬個越南語樣本,包括公共數據和1000小時的私有數據集 |
新模型版本 | erax-ai/EraX-Smile-UnixSex-F5 |
標籤 | 文本轉語音、越南語、女性、男性、中性、語音克隆 |
數據集 | amphion/Emilia-Dataset |
許可證 | cc-by-nc-4.0 |
模型測試
你可以通過以下示例音頻來測試模型的效果:
女性語音示例
-
參考音頻: 文本:"Ai đã đến Hàng Dương, đều không thể cầm lòng về những nấm mộ chen nhau, nhấp nhô trải khắp một vùng đồi. Những nấm mộ có tên và không tên, nhưng nấm mộ lấp ló trong lùm cây, bụi cỏ."
-
生成音頻: 下載並播放生成的音頻 文本:"Sáng 18-4, cơ quan chức năng Quảng Ninh cho biết hiện cơ quan Cảnh sát điều tra Công an tỉnh Quảng Ninh đang tiếp tục truy bắt Bùi Đình Khánh, 31 tuổi, tay buôn ma túy đã xả súng làm một chiến sĩ Công an hi sinh."
男性語音示例
-
參考音頻: 文本:"Người người hô hào thay đổi phương pháp giảng dạy. Bộ giáo dục và đào tạo Việt Nam không thiếu những dự án nhằm thay đổi diện mạo giáo dục nước nhà. Nhưng trong khi những thành quả đổi mới còn chưa kịp thu về, thì những ví dụ điển hình về bước lùi của giáo dục ngày càng hiện rõ."
-
生成音頻: 下載並播放生成的音頻 文本:"Tại lễ xuất quân, Thứ trưởng Lê Văn Tuyến cho hay chiều 28.3, Myanmar đã trải qua thảm kịch động đất mạnh nhất từ trước tới nay, gây thiệt hại lớn về người và tài sản, gây ra nhiều dư chấn tại Thái Lan, Ấn Độ và Trung Quốc... Tính đến ngày 29.3, đã có hơn 1.000 người thiệt mạng và hơn 2.300 người bị thương, nhiều người còn mất tích và ước tính con số thương vong sẽ tiếp tục tăng lên."
未來規劃
- [X] ⭐ 發佈越南語男性語音的檢查點
- [ ] 📝 實現即時TTS流式傳輸的代碼
- [ ] 🔥 發佈基於Piper的模型,可在iPhone、Android、樹莓派4或瀏覽器上運行 🔥
🔧 技術細節
訓練過程
本模型經過了大約12個訓練週期的訓練,直到接近過擬合狀態。整個訓練過程耗時近一週,期間經歷了一些波折,但最終取得了令人滿意的效果。
模型架構
基於F5-TTS架構(arXiv:2410.06885)構建,通過微調使其適應越南語的語音特點。
📄 許可證
代碼許可證
我們的代碼遵循MIT許可證,你可以自由使用、修改和分發。
模型許可證
很遺憾,基礎的F5-TTS模型使用了受BY-NC 4.0許可證(非商業用途)約束的Emilia數據集進行預訓練,因此本模型也受此許可證限制。給你帶來的不便,我們深表歉意。
⚠️ 重要提示
- 語音克隆技術非常強大,但也伴隨著重大的道德責任。
- 預期用途:本模型旨在用於創意目的、輔助工具開發、個人項目以及明確獲得同意且優先考慮道德因素的應用場景。
- 禁止用途:我們強烈譴責並嚴格禁止將本模型用於任何惡意或不道德的目的,包括但不限於:
- 在未經許可的情況下創建深度偽造內容或冒充他人。
- 生成虛假信息、欺詐性內容或誹謗性材料。
- 進行騷擾、濫用或任何形式的犯罪活動。
- 用戶責任:使用本模型即表示你同意負責任且合乎道德地使用。你對自己生成的內容負全部責任,並確保其符合所有適用的法律和道德標準。模型創建者(EraX團隊)對模型的不當使用不承擔任何責任。
請謹慎且合乎道德地使用這項技術。
💡 使用建議
如果你在使用過程中遇到任何問題或有任何建議,歡迎隨時向我們反饋。同時,我們鼓勵你積極嘗試不同的模型和參數設置,以獲得更好的使用體驗。
如果你覺得本模型對你有幫助,歡迎在我們的GitHub倉庫上給我們一個⭐。如果你正在撰寫研究論文等內容,並希望引用本模型,可以使用以下BibTeX代碼:
@misc{EraXSmileF5_2024,
author = {Nguyễn Anh Nguyên nguyen@erax.ai and The EraX Team},
title = {EraX-Smile-UnixSex-F5: Người Việt sành tiếng Việt.},
year = {2025},
publisher = {Hugging Face},
journal = {Hugging Face Model Hub},
howpublished = {\url{https://github.com/EraX-AI/viF5TTS}}
}
EraX團隊將持續努力改進和優化模型,期待為你帶來更多更新。如果你有任何想法,無論是反饋、報告漏洞,還是簡單的問候,我們都非常歡迎!




