تنفيذ F5-TTS في SWIFT ، باستخدام إطار عمل MLX SWIFT.
يمكنك الاستماع إلى عينة هنا تم إنشاؤها في حوالي 11 ثانية على M3 Max MacBook Pro.
راجع مستودع Python للحصول على تفاصيل إضافية حول بنية النموذج.
يعتمد هذا المستودع على تطبيق Pytorch الأصلي المتاح هنا.
يمكن بناء حزمة F5TTS SWIFT وتشغيلها من XCODE أو SWIFTPM.
يتوفر نموذج مسبق على Luggingface.
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. " )والنتيجة هي mlxarray مع عينات صوتية 24 كيلو هرتز.
إذا كنت ترغب في استخدام عينة الصوت المرجعية الخاصة بك ، فتأكد من أنه ملف WAV أحادي ، 24 كيلو هرتز من حوالي 5-10 ثانية:
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. "
)يمكنك تحويل ملف صوتي إلى التنسيق الصحيح مع FFMPEG مثل هذا:
ffmpeg -i /path/to/audio.wav -ac 1 -ar 24000 -sample_fmt s16 -t 10 /path/to/output_audio.wavYushen Chen لتنفيذ Pytorch الأصلي لـ F5 TTS والنموذج المسبق.
Phil Wang لتنفيذ E2 TTS الذي يعتمد عليه هذا النموذج.
@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 }
}يتم إصدار الرمز في هذا المستودع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا كما هو موجود في ملف الترخيص.