Yarngpt2
YarnGPT2是一款專為合成尼日利亞口音語言(約魯巴語、伊博語、豪薩語及英語)設計的文本轉語音(TTS)模型。
下載量 2,023
發布時間 : 2/2/2025
模型概述
該模型採用純語言建模技術,無需外部適配器或複雜架構,可為多樣化應用提供高質量、自然且符合文化背景的語音合成服務。
模型特點
尼日利亞口音支持
專門針對尼日利亞口音的語言進行優化,包括約魯巴語、伊博語和豪薩語。
純語言建模
無需外部適配器或複雜架構,簡化了模型的使用和部署。
多樣化語音選擇
提供多種預設語音,適用於不同語言和性別。
模型能力
文本轉語音
多語言支持
尼日利亞口音合成
使用案例
媒體與娛樂
新聞閱讀器
生成具有尼日利亞口音的新聞播報語音。
提供自然且符合文化背景的語音輸出。
教育
語言學習工具
幫助學習者熟悉尼日利亞口音的英語和本地語言。
🚀 YarnGPT2
YarnGPT2是一款文本轉語音(TTS)模型,它藉助純語言建模,無需外部適配器或複雜架構,就能合成帶有尼日利亞口音的語言(約魯巴語、伊博語、豪薩語和英語)。該模型能為各種應用提供高質量、自然且具有文化相關性的語音合成服務。
🚀 快速開始
模型使用示例(Colab)
該模型可以獨立生成音頻,但使用語音提示模型效果更佳:
可用語音(按性能和穩定性排序)
- 英語:idera, chinenye, jude, emma,umar,,joke,zainab ,osagie, remi, tayo
- 約魯巴語:yoruba_male2, yoruba_female2, yoruba_feamle1
- 伊博語:igbo_female2, igbo_male2,igbo_female1
- 豪薩語:hausa_feamle1,hausa_female2, hausa_male2,hausa_male1
提示YarnGPT2
!git clone https://github.com/saheedniyi02/yarngpt.git
pip install outetts uroman
import os
import re
import json
import torch
import inflect
import random
import uroman as ur
import numpy as np
import torchaudio
import IPython
from transformers import AutoModelForCausalLM, AutoTokenizer
from outetts.wav_tokenizer.decoder import WavTokenizer
!wget https://huggingface.co/novateur/WavTokenizer-medium-speech-75token/resolve/main/wavtokenizer_mediumdata_frame75_3s_nq1_code4096_dim512_kmeans200_attn.yaml
!gdown 1-ASeEkrn4HY49yZWHTASgfGFNXdVnLTt
from yarngpt.audiotokenizer import AudioTokenizerV2
tokenizer_path="saheedniyi/YarnGPT2"
wav_tokenizer_config_path="/content/wavtokenizer_mediumdata_frame75_3s_nq1_code4096_dim512_kmeans200_attn.yaml"
wav_tokenizer_model_path = "/content/wavtokenizer_large_speech_320_24k.ckpt"
audio_tokenizer=AudioTokenizerV2(
tokenizer_path,wav_tokenizer_model_path,wav_tokenizer_config_path
)
model = AutoModelForCausalLM.from_pretrained(tokenizer_path,torch_dtype="auto").to(audio_tokenizer.device)
#change the text
text="The election was won by businessman and politician, Moshood Abiola, but Babangida annulled the results, citing concerns over national security."
# change the language and voice
prompt=audio_tokenizer.create_prompt(text,lang="english",speaker_name="idera")
input_ids=audio_tokenizer.tokenize_prompt(prompt)
output = model.generate(
input_ids=input_ids,
temperature=0.1,
repetition_penalty=1.1,
max_length=4000,
#num_beams=5,# using a beam size helps for the local languages but not english
)
codes=audio_tokenizer.get_codes(output)
audio=audio_tokenizer.get_audio(codes)
IPython.display.Audio(audio,rate=24000)
torchaudio.save(f"Sample.wav", audio, sample_rate=24000)
✨ 主要特性
- 能夠合成帶有尼日利亞口音的多種語言(約魯巴語、伊博語、豪薩語和英語)。
- 採用純語言建模,無需外部適配器或複雜架構,提供高質量、自然且具文化相關性的語音合成。
📚 詳細文檔
模型描述
- 開發者:Saheedniyi
- 模型類型:文本轉語音
- 語言(NLP):英語 --> 尼日利亞口音英語
- 微調基礎模型:HuggingFaceTB/SmolLM2-360M
- 代碼倉庫:YarnGPT Github Repository
- 論文:正在撰寫中。
- 演示:
用途
用於實驗性地生成帶有尼日利亞口音的英語語音。
適用範圍外的使用
該模型不適用於生成除英語外其他語言或其他口音的語音。
偏差、風險和侷限性
該模型可能無法涵蓋尼日利亞口音的全部多樣性,並且可能會因訓練數據集而表現出偏差。此外,模型訓練所使用的大量文本是自動生成的,這可能會影響性能。
建議
用戶(直接用戶和下游用戶)應瞭解該模型的風險、偏差和侷限性。鼓勵提供反饋和多樣化的訓練數據。
語音樣本
聆聽YarnGPT生成的語音樣本:
輸入文本 | 音頻 | 備註 |
---|---|---|
Uhm, so, what was the inspiration behind your latest project? Like, was there a specific moment where you were like, 'Yeah, this is it!' Or, you know, did it just kind of, uh, come together naturally over time | (temperature=0.1, repetition_penalty=1.1), 語言: 英語, 語音: idera | |
The election was won by businessman and politician, Moshood Abiola, but Babangida annulled the results, citing concerns over national security. | (temperature=0.1, repetition_penalty=1.1), 語言: 英語, 語音: zainab | |
Habeeb Okikiọla Olalomi Badmus ti ọpọ awọn ololufẹ rẹ mọ si Portable ti sọ fun ile ẹjọ majisireeti ti ipinlẹ Ogun wi pe ṣaka lara oun da, oun ko ni aisan tabi arun kankan lara. | (temperature=0.1, repetition_penalty=1.1), 語言: 約魯巴語, 語音: yoruba_male2 | |
Gómìnà náà fẹ̀sùn kàn pé àwọn alága àná gbìyànjú láti fi ipá gba àwọn ìjọba ìbílẹ̀ lọ́nà àìtọ́, tó sì jẹ́ pé ó yẹ kí àwọn ìjọba ìbílẹ̀ náà wà ní títì | (temperature=0.1, repetition_penalty=1.1), 語言: 約魯巴語, 語音: yoruba_female2 | |
Ọ bụ oge ha si Enugwu steeti eme njem aga Anambra ka ndị omekome ahụ wakporo ụgbọala ha. | (temperature=0.1, repetition_penalty=1.1), 語言: 伊博語, 語音: igbo_male2 | |
Isi ụlọorụ Shell dị na Lọndọn na gọọmenti Naịjirịa ekwuputala ugboro ugboro na ọrụ ịsacha ogbe ndị lara n'iyi n'Ogoni bụ nke malitere ihe dịka afọ asatọ gara aga na-aga nke ọma. | (temperature=0.1, repetition_penalty=1.1), 語言: 伊博語, 語音: igbo_female1 | |
Gwamnatin Najeriya ta sake maka shafin hada-hadar kuɗin kirifto na Binance a kotu, inda take buƙatar ya biya ta diyyar kuɗi dalar Amurka biliyan 81.5 | (temperature=0.1, repetition_penalty=1.1), 語言: 豪薩語, 語音: hausa_female1 | |
Bisa ga dukkan alamu, haƙata cimma ruwa, dangane da koke-koken da tsofaffin ma'aikatan tarayya ke ta yi, a kan dimbin basukan wasu hakkokinsu da suke bi shekara da shekaru. | (temperature=0.1, repetition_penalty=1.1), 語言: 豪薩語, 語音: hausa_male2 |
訓練
數據
在公開可用的尼日利亞電影、播客(使用字幕 - 音頻對)以及Huggingface上與尼日利亞相關的開源音頻數據集上進行訓練。
預處理
音頻文件經過預處理並重新採樣到24Khz,並使用 wavtokenizer 進行標記化。
訓練超參數
- 訓練輪數:5
- 批次大小:4
- 調度器:線性調度,前4個輪次進行預熱,最後一個輪次線性衰減至零
- 優化器:AdamW (betas=(0.9, 0.95), weight_decay=0.01)
- 學習率:1*10^-3
硬件
- GPU:1個A100(Google Colab:50小時)
軟件
- 訓練框架:Pytorch
未來改進方向
- 擴大模型規模並增加人工標註/審核的訓練數據。
- 將模型封裝成API端點。
- 實現語音克隆。
- 有可能擴展為語音到語音的助手模型。
引用(可選)
BibTeX:
@misc{yarngpt2025,
author = {Saheed Azeez},
title = {YarnGPT: Nigerian-Accented English Text-to-Speech Model},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/SaheedAzeez/yarngpt}
}
APA:
Saheed Azeez. (2025). YarnGPT: Nigerian-Accented English Text-to-Speech Model. Hugging Face. Available at: https://huggingface.co/saheedniyi/YarnGPT
致謝與參考
📄 許可證
本項目採用Apache-2.0許可證。
Kokoro 82M
Apache-2.0
Kokoro是一款擁有8200萬參數的開源文本轉語音(TTS)模型,以其輕量級架構和高音質著稱,同時具備快速和成本效益高的特點。
語音合成 英語
K
hexgrad
2.0M
4,155
XTTS V2
其他
ⓍTTS是一款革命性的語音生成模型,僅需6秒音頻片段即可實現跨語言音色克隆,支持17種語言。
語音合成
X
coqui
1.7M
2,630
F5 TTS
F5-TTS 是一個基於流匹配的語音合成模型,專注於流暢且忠實的語音合成,特別適用於童話講述等場景。
語音合成
F
SWivid
851.49k
1,000
Bigvgan V2 22khz 80band 256x
MIT
BigVGAN是基於大規模訓練的通用神經聲碼器,能夠從梅爾頻譜生成高質量音頻波形。
語音合成
B
nvidia
503.23k
16
Speecht5 Tts
MIT
基於LibriTTS數據集微調的SpeechT5語音合成(文本轉語音)模型,支持高質量的文本轉語音轉換。
語音合成
Transformers

S
microsoft
113.83k
760
Dia 1.6B
Apache-2.0
Dia是由Nari實驗室開發的16億參數文本轉語音模型,能夠直接從文本生成高度逼真的對話,支持情感和語調控制,並能生成非語言交流內容。
語音合成
Safetensors 英語
D
nari-labs
80.28k
1,380
Csm 1b
Apache-2.0
CSM是Sesame開發的10億參數規模語音生成模型,可根據文本和音頻輸入生成RVQ音頻編碼
語音合成
Safetensors 英語
C
sesame
65.03k
1,950
Kokoro 82M V1.1 Zh
Apache-2.0
Kokoro 是一個開放權重的小型但功能強大的文本轉語音(TTS)模型系列,新增了來自專業數據集的100名中文說話人數據。
語音合成
K
hexgrad
51.56k
112
Indic Parler Tts
Apache-2.0
Indic Parler-TTS 是 Parler-TTS Mini 的多語言印度語言擴展版本,支持21種語言,包括多種印度語言和英語。
語音合成
Transformers 支持多種語言

I
ai4bharat
43.59k
124
Bark
MIT
Bark是由Suno創建的基於Transformer的文本轉音頻模型,能生成高度逼真的多語言語音、音樂、背景噪音和簡單音效。
語音合成
Transformers 支持多種語言

B
suno
35.72k
1,326
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98