Downloads · 30 days
4
29% of all-time downloads
nour21k/DEntist-spark
DEntist-spark is a text-to-speech model from nour21k. Use it when you need text read aloud. It is set up for peft. The card lists the license as cc-by-nc-sa-4.0.
A LoRA adapter that fine-tunes an Arabic Spark-TTS checkpoint to speak Egyptian Arabic in the voice of a single dental-clinic speaker, trained on real clinic recordings.
Downloads · 30 days
4
29% of all-time downloads
All-time downloads
14
Public
Repo size
63.5 MB
Likes
0
Public
Click a slice to open those files.
.safetensors35.2 MB · 62%
From the Hugging Face model README
A LoRA adapter that fine-tunes an Arabic Spark-TTS checkpoint to speak Egyptian Arabic in the voice of a single dental-clinic speaker, trained on real clinic recordings.
This model is a LoRA adapter on top of MrEzzat/Spark_TTS_Arabic (itself a
fine-tune of SparkAudio/Spark-TTS-0.5B), further adapted on ~600 real recordings from
an Egyptian dental clinic so the base model's Arabic TTS ability speaks in that clinic's
own voice and dialect rather than generic Modern Standard Arabic.
MrEzzat/Spark_TTS_ArabicGiven a text prompt (Egyptian Arabic, dental-clinic phrases — greetings, appointment booking/rescheduling, confirmations, procedures, symptoms, aftercare instructions, pricing) and a short reference clip for speaker tokens, the model generates speech in the trained clinic voice. It is intended for that clinic's own voice assistant / IVR / appointment-related speech, not as a general-purpose Arabic TTS model.
Could be embedded in an appointment-booking voice bot or phone-line IVR system for the clinic whose recordings were used for training.
repetition_penalty / no_repeat_ngram_size at inference time.Listen-check output before relying on it, especially for text far from the training domain, and do not use this adapter to synthesize this voice for purposes beyond the original clinic use case without the speaker's consent.
This is a PEFT/LoRA adapter, not a standalone model — you need the base checkpoint, the adapter, and the BiCodec audio tokenizer from the Spark-TTS repo.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE_MODEL = "MrEzzat/Spark_TTS_Arabic" # or a local snapshot_download of it
ADAPTER = "nour21k/spark-tts-egyptian-dental-clinic-voice-v3"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
base_model = AutoModelForCausalLM.from_pretrained(BASE_MODEL, torch_dtype=torch.float32)
model = PeftModel.from_pretrained(base_model, ADAPTER).to("cuda").eval()
You'll also need BiCodecTokenizer from the
SparkAudio/Spark-TTS repo to turn text plus a
reference audio clip into the token prompt, and to decode the generated semantic tokens
back into a waveform. See dental-voice-load-and-test.ipynb in the project repository
for the full reference-conditioned generation loop.
~600 real Egyptian-Arabic dental-clinic recordings (24kHz mono), scripted across
categories such as greetings, patient registration, appointment booking/rescheduling,
cancellations, confirmations, procedures & vocabulary, symptoms, doctor instructions &
aftercare, pricing, filler words, and numbers/dates/times. Mixed in with a filtered
subset (up to 1,200 clips, 1.5–12s duration, ≥8 characters of transcript) of the public
ahmedshafiq12/egyptian-audio-dataset-collected-from-youtube
Kaggle dataset for broader Egyptian-dialect coverage. The clinic's own recordings were
oversampled 3× so they weren't outnumbered by the noisier YouTube-sourced dialect data.
The recordings and transcripts themselves are private and are not distributed with this
model.
Each recording was silence-trimmed (top_db=40), edge-padded (0.15s), peak-normalized,
and resampled to the BiCodec sample rate, then tokenized into interleaved
<bicodec_global_*> (speaker) / <bicodec_semantic_*> (content) token sequences via
BiCodec. Before any tokenization, a round-trip encode→decode gate (minimum similarity
score 0.35 against the original audio) had to pass, to catch a broken codec before it
could corrupt the whole dataset.
q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_projNot logged for this run. Trained on a single Kaggle-provided GPU (P100/T4 class). [More Information Needed] for exact wall-clock training time.
No held-out test split or automatic metric (WER, MOS, speaker similarity) has been computed. Evaluation so far has been qualitative:
Generated speech is genuine voiced output (correct pitch/prosody, syllable structure) rather than noise, and correctly renders words for sentences close to the training distribution. Known weak points: occasional unclear utterance-initial words, and reduced accuracy on sentences well outside the dental-clinic domain. No numeric scores are available.
Experimental / work in progress. Usable for qualitative demos within the trained domain; not yet validated for production deployment.
Spark-TTS architecture: a causal language model predicts discrete BiCodec audio tokens
(global "speaker" tokens + semantic "content" tokens) conditioned on input text, and
BiCodec decodes those tokens into a waveform. This repository holds only a LoRA adapter
for the language-model component of MrEzzat/Spark_TTS_Arabic; the BiCodec codec itself
is unmodified.
Kaggle Notebooks, single GPU (P100/T4 class)
Python 3.12 · transformers==4.56.2 · peft · accelerate · datasets ·
huggingface_hub<1.0 · librosa · soundfile · openpyxl ·
SparkAudio/Spark-TTS (for BiCodecTokenizer)
This work builds on the Spark-TTS architecture and the MrEzzat/Spark_TTS_Arabic
checkpoint. Please cite the original Spark-TTS paper:
BibTeX:
@misc{wang2025sparktts,
title={Spark-TTS: An Efficient LLM-Based Text-to-Speech Model with Single-Stream Decoupled Speech Tokens},
author={Xinsheng Wang and Mingqi Jiang and Ziyang Ma and Ziyu Zhang and Songxiang Liu and Linqin Li and Zheng Liang and Qixi Zheng and Rui Wang and Xiaoqin Feng and Weizhen Bian and Zhen Ye and Sitong Cheng and Ruibin Yuan and Zhixian Zhao and Xinfa Zhu and Jiahao Pan and Liumeng Xue and Pengcheng Zhu and Yunlin Chen and Zhifei Li and Xie Chen and Lei Xie and Yike Guo and Wei Xue},
year={2025},
eprint={2503.01710},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2503.01710},
}
APA:
Wang, X., Jiang, M., Ma, Z., Zhang, Z., Liu, S., Li, L., Liang, Z., Zheng, Q., Wang, R., Feng, X., Bian, W., Ye, Z., Cheng, S., Yuan, R., Zhao, Z., Zhu, X., Pan, J., Xue, L., Zhu, P., Chen, Y., Li, Z., Chen, X., Xie, L., Guo, Y., & Xue, W. (2025). Spark-TTS: An efficient LLM-based text-to-speech model with single-stream decoupled speech tokens. arXiv:2503.01710.
See the project repository for the full data-preparation and training notebook, including the codec-gate and sanity-check steps: github.com/nourayman21k/DEntist-Spark
Noureldin Ayman
[More Information Needed]