Implementación de F5-TTS en Swift, utilizando el marco MLX Swift.
Puede escuchar una muestra aquí que se generó en ~ 11 segundos en un M3 Max MacBook Pro.
Consulte el repositorio de Python para obtener detalles adicionales sobre la arquitectura del modelo.
Este repositorio se basa en la implementación original de Pytorch disponible aquí.
El paquete F5TTS Swift se puede construir y ejecutar desde Xcode o Swiftpm.
Un modelo previo alado está disponible en Huggingface.
import F5TTS
let f5tts = try await F5TTS . fromPretrained ( repoId : " lucasnewman/f5-tts-mlx " )
let generatedAudio = try await f5tts . generate ( text : " The quick brown fox jumped over the lazy dog. " )El resultado es un MLXArray con muestras de audio de 24 kHz.
Si desea utilizar su propia muestra de audio de referencia, asegúrese de que sea un archivo wav mono de 24 kHz de alrededor de 5-10 segundos:
let generatedAudio = try await f5tts . generate (
text : " The quick brown fox jumped over the lazy dog. " ,
referenceAudioURL : ... ,
referenceAudioText : " This is the caption for the reference audio. "
)Puede convertir un archivo de audio al formato correcto con FFMPEG como este:
ffmpeg -i /path/to/audio.wav -ac 1 -ar 24000 -sample_fmt s16 -t 10 /path/to/output_audio.wavYushen Chen para la implementación original de Pytorch de F5 TTS y el modelo de petróleo.
Phil Wang para la implementación E2 TTS en la que se basa este modelo.
@article { chen-etal-2024-f5tts ,
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 } ,
journal = { arXiv preprint arXiv:2410.06885 } ,
year = { 2024 } ,
} @inproceedings { Eskimez2024E2TE ,
title = { E2 TTS: Embarrassingly Easy Fully Non-Autoregressive Zero-Shot TTS } ,
author = { Sefik Emre Eskimez and Xiaofei Wang and Manthan Thakker and Canrun Li and Chung-Hsien Tsai and Zhen Xiao and Hemin Yang and Zirun Zhu and Min Tang and Xu Tan and Yanqing Liu and Sheng Zhao and Naoyuki Kanda } ,
year = { 2024 } ,
url = { https://api.semanticscholar.org/CorpusID:270738197 }
}El código en este repositorio se publica bajo la licencia MIT como se encuentra en el archivo de licencia.