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