Downloads · 30 days
0
benjamin-paine/fairytaler
fairytaler is a machine learning model from benjamin-paine. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as cc-by-nc-4.0.
This is a pruned and re-organized version of SWivid/F5-TTS, made to be used with the fairytaler Python library, an unofficial reimplementation of F5TTS made for fast and lightweight inference.
Downloads · 30 days
0
Access
Public
Updated Dec 9, 2024
Repo size
2.1 GB
Likes
5
Public
Click a slice to open those files.
.safetensors2.1 GB · 100%
From the Hugging Face model README
This is a pruned and re-organized version of SWivid/F5-TTS, made to be used with the fairytaler Python library, an unofficial reimplementation of F5TTS made for fast and lightweight inference.
Fairytaler assumes you have a working CUDA environment to install into.
pip install fairytaler
This will install the reimplementation library.
You do not need to pre-download anything, necessary data will be downloaded at runtime.
Use the fairytaler binary from the command line like so:
fairytaler examples/reference.wav examples/reference.txt "Fairytaler is an unofficial minimal re-implementation of F5 TTS."
| Reference Audio | Generated Audio |
|---|---|
| <audio controls src="https://cdn-uploads.huggingface.co/production/uploads/64429aaf7feb866811b12f73/SBSzkafZSdjIQERVpDcqf.wav"></audio> | <audio controls src="https://cdn-uploads.huggingface.co/production/uploads/64429aaf7feb866811b12f73/5VGepj6y7wb4qd0-p-IQq.wav"></audio> |
Reference audio sourced from DiPCo
Many options are available, for complete documentation run fairytaler --help.
from fairytaler import F5TTSPipeline
pipeline = F5TTSPipeline.from_pretrained("benjamin-paine/fairytaler", device="auto")
output_wav_file = pipeline(
text="Hello, this is some test audio!",
reference_audio="examples/reference.wav",
reference_text="examples/reference.txt",
output_save=True
)
print(f"Output saved to {output_wav_file}")
The full execution signature is:
def __call__(
self,
text: Union[str, List[str]],
reference_audio: AudioType,
reference_text: str,
reference_sample_rate: Optional[int]=None,
seed: SeedType=None,
speed: float=1.0,
sway_sampling_coef: float=-1.0,
target_rms: float=0.1,
cross_fade_duration: float=0.15,
punctuation_pause_duration: float=0.10,
num_steps: int=32,
cfg_strength: float=2.0,
fix_duration: Optional[float]=None,
use_tqdm: bool=False,
output_format: AUDIO_OUTPUT_FORMAT_LITERAL="wav",
output_save: bool=False,
chunk_callback: Optional[Callable[[AudioResultType], None]]=None,
chunk_callback_format: AUDIO_OUTPUT_FORMAT_LITERAL="float",
) -> AudioResultType
Format values are wav, ogg, flac, mp3, float and int. Passing output_save=True will save to file, not passing it will return the data directly.
@misc{chen2024f5ttsfairytalerfakesfluent,
title={F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching},
author={Yushen Chen and Zhikang Niu and Ziyang Ma and Keqi Deng and Chunhui Wang and Jian Zhao and Kai Yu and Xie Chen},
year={2024},
eprint={2410.06885},
archivePrefix={arXiv},
primaryClass={eess.AS},
url={https://arxiv.org/abs/2410.06885},
}
@misc{vansegbroeck2019dipcodinnerparty,
title={DiPCo -- Dinner Party Corpus},
author={Maarten Van Segbroeck and Ahmed Zaid and Ksenia Kutsenko and Cirenia Huerta and Tinh Nguyen and Xuewen Luo and Björn Hoffmeister and Jan Trmal and Maurizio Omologo and Roland Maas},
year={2019},
eprint={1909.13447},
archivePrefix={arXiv},
primaryClass={eess.AS},
url={https://arxiv.org/abs/1909.13447},
}