Skip to main content

An unofficial reimplementation of F5TTS

Project description

This is a re-implementation of F5-TTS aimed at reducing dependencies, increasing speed, reducing model size and improving usability.

Installation

Fairytaler assumes you have a working CUDA environment to install into.

pip install fairytaler

How to Use

You do not need to pre-download anything, necessary data will be downloaded at runtime. Weights will be fetched from HuggingFace.

Command Line

Use the fairytaler binary from the command line like so:

fairytaler examples/reference.wav examples/reference.txt "Hello, this is some test audio!"

Many options are available, for complete documentation run fairytaler --help.

Python

from fairytaler import F5TTSPipeline

pipeline = F5TTSPipeline.from_pretrained(
  "benjamin-paine/fairytaler",
  variant="fp16", # Omit for float32
  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,
) -> 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.

Citation

@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}, 
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fairytaler-0.1.1.tar.gz (39.8 kB view details)

Uploaded Source

File details

Details for the file fairytaler-0.1.1.tar.gz.

File metadata

  • Download URL: fairytaler-0.1.1.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.11

File hashes

Hashes for fairytaler-0.1.1.tar.gz
Algorithm Hash digest
SHA256 48bfead1770f6b6f3de2b6fe6dff516f5d7d163461faecc4f3ec8fe4c6d2f142
MD5 86fde4a2dcce5d0873ee11dbbb151717
BLAKE2b-256 a3f44d28f61a5ad24f136193ca9a94dcd94e451a4d70e9affc93164f594deb03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page