Files
ebook2audiobook/lib/models.py
unknown 15ac2abb99 ...
2025-02-13 09:54:51 -08:00

197 lines
8.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import os
from lib.conf import voices_dir
XTTSv2 = 'xtts'
BARK = 'bark'
VITS = 'vits'
FAIRSEQ = 'fairseq'
YOURTTS = 'yourtts'
default_tts_engine = 'xtts'
default_fine_tuned = 'internal'
# config file must always on first row
default_xtts_files = ['config.json', 'model.pth', 'vocab.json', 'ref.wav']
default_bark_files = ['coarse_2.pt']
default_fairseq_files = ['config.json', 'G_100000.pth', 'vocab.json']
default_vits_files = ['config.json', 'model_file.pth', 'language_ids.json']
default_yourtts_files = ['config.json', 'model_file.pth']
default_xtts_samplerate = 24000
default_bark_samplerate = 24000
default_vits_samplerate = 24000
default_fairseq_samplerate = 24000
default_yourtts_samplerate = 16000
builtin_xtts_voices = {
'ClaribelDervla': 'Claribel Dervla', 'DaisyStudious': 'Daisy Studious', 'GracieWise': 'Gracie Wise',
'TammieEma': 'Tammie Ema', 'AlisonDietlinde': 'Alison Dietlinde', 'AnaFlorence': 'Ana Florence',
'AnnmarieNele': 'Annmarie Nele', 'AsyaAnara': 'Asya Anara', 'BrendaStern': 'Brenda Stern',
'GittaNikolina': 'Gitta Nikolina', 'HenrietteUsha': 'Henriette Usha', 'SofiaHellen': 'Sofia Hellen',
'TammyGrit': 'Tammy Grit', 'TanjaAdelina': 'Tanja Adelina', 'VjollcaJohnnie': 'Vjollca Johnnie',
'AndrewChipper': 'Andrew Chipper', 'BadrOdhiambo': 'Badr Odhiambo', 'DionisioSchuyler': 'Dionisio Schuyler',
'RoystonMin': 'Royston Min', 'ViktorEka': 'Viktor Eka', 'AbrahanMack': 'Abrahan Mack',
'AddeMichal': 'Adde Michal', 'BaldurSanjin': 'Baldur Sanjin', 'CraigGutsy': 'Craig Gutsy',
'DamienBlack': 'Damien Black', 'GilbertoMathias': 'Gilberto Mathias', 'IlkinUrbano': 'Ilkin Urbano',
'KazuhikoAtallah': 'Kazuhiko Atallah', 'LudvigMilivoj': 'Ludvig Milivoj', 'SuadQasim': 'Suad Qasim',
'TorcullDiarmuid': 'Torcull Diarmuid', 'ViktorMenelaos': 'Viktor Menelaos', 'ZacharieAimilios': 'Zacharie Aimilios',
'NovaHogarth': 'Nova Hogarth', 'MajaRuoho': 'Maja Ruoho', 'UtaObando': 'Uta Obando',
'LidiyaSzekeres': 'Lidiya Szekeres', 'ChandraMacFarland': 'Chandra MacFarland', 'SzofiGranger': 'Szofi Granger',
'CamillaHolmström': 'Camilla Holmström', 'LilyaStainthorpe': 'Lilya Stainthorpe', 'ZofijaKendrick': 'Zofija Kendrick',
'NarelleMoon': 'Narelle Moon', 'BarboraMacLean': 'Barbora MacLean', 'AlexandraHisakawa': 'Alexandra Hisakawa',
'AlmaMaría': 'Alma María', 'RosemaryOkafor': 'Rosemary Okafor', 'IgeBehringer': 'Ige Behringer',
'FilipTraverse': 'Filip Traverse', 'DamjanChapman': 'Damjan Chapman', 'WulfCarlevaro': 'Wulf Carlevaro',
'AaronDreschner': 'Aaron Dreschner', 'KumarDahl': 'Kumar Dahl', 'EugenioMataracı': 'Eugenio Mataracı',
'FerranSimen': 'Ferran Simen', 'XavierHayasaka': 'Xavier Hayasaka', 'LuisMoray': 'Luis Moray',
'MarcosRudaski': 'Marcos Rudaski'
}
builtin_yourtts_voices = {"MachinElla": "female-en-5", "ElectroMale": "male-en-2"}
models = {
XTTSv2: {
"internal": {
"lang": "multi",
"repo": "tts_models/multilingual/multi-dataset/xtts_v2",
"sub": "",
"voice": builtin_xtts_voices['KumarDahl'],
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"AiExplained": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/AiExplained",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"AiExplained_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"BobOdenkirk": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/BobOdenkirk",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"BobOdenkirk_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"BobRoss": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/BobRoss",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"BobRoss_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"BryanCranston": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/BryanCranston",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"BryanCranston_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"DavidAttenborough": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/DavidAttenborough",
"voice": os.path.join(voices_dir, "eng", "elder", "male", f"DavidAttenborough_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"DeathPussInBoots": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/DeathPussInBoots",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"DeathPussInBoots_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"GhostMW2": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/GhostMW2",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"GhostMW2_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"JhonButlerASMR": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/JhonButlerASMR",
"voice": os.path.join(voices_dir, "eng", "elder", "male", f"JhonButlerASMR_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"JhonMulaney": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/JhonMulaney",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"JhonMulaney_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"MorganFreeman": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/MorganFreeman",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"MorganFreeman_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"RainyDayHeadSpace": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/RainyDayHeadSpace",
"voice": os.path.join(voices_dir, "eng", "elder", "male", f"RainyDayHeadSpace_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
},
"WhisperSalemASMR": {
"lang": "eng",
"repo": "drewThomasson/fineTunedTTSModels",
"sub": "xtts-v2/eng/WhisperSalemASMR",
"voice": os.path.join(voices_dir, "eng", "adult", "male", f"WhisperSalemASMR_{default_xtts_samplerate}.wav"),
"files": default_xtts_files,
"samplerate": default_xtts_samplerate
}
},
BARK: {
"internal": {
"lang": "multi",
"repo": "tts_models/multilingual/multi-dataset/bark",
"sub": "",
"voice": None,
"files": default_bark_files,
"samplerate": default_bark_samplerate
}
},
VITS: {
"internal": {
"lang": "multi",
"repo": "tts_models/[lang_iso1]/[xxx]",
"sub": {"cv/vits":["bg","cs","da","et","ga","hr","lt","lv","mt","pt","ro","sk","sl","sv"], "css10/vits":["es","fr","nl","hu","fi","ru","el","ja","zh"], "ljspeech/vits": ["en"], "thorsten/tacotron2-DDC": ["de"]},
"voice": None,
"files": default_vits_files,
"samplerate": default_vits_samplerate
}
},
FAIRSEQ: {
"internal": {
"lang": "multi",
"repo": "tts_models/[lang]/fairseq/vits",
"sub": "",
"voice": None,
"files": default_fairseq_files,
"samplerate": default_fairseq_samplerate
}
},
YOURTTS: {
"internal": {
"lang": "multi",
"repo": "tts_models/multilingual/multi-dataset/your_tts",
"sub": "",
"voice": builtin_yourtts_voices['ElectroMale'],
"files": default_yourtts_files,
"samplerate": default_yourtts_samplerate
}
}
}