Views
No views yet
1from transformers import AutoProcessor, AutoModel
2import soundfile as sf
3import torch
4
5# Load model
6model_id = "IbrahimSalah/Arabic-TTS-Spark"
7device = "cuda" if torch.cuda.is_available() else "cpu"
8
9processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
10model = AutoModel.from_pretrained(model_id, trust_remote_code=True).eval().to(device)
11
12# Prepare inputs
13inputs = processor(
14 text="YOUR_TEXT_WITH_TASHKEEL",
15 prompt_speech_path="path/to/reference.wav",
16 prompt_text="REFERENCE_TEXT_WITH_TASHKEEL",
17 return_tensors="pt"
18).to(device)
19
20# Generate
21with torch.no_grad():
22 output_ids = model.generate(**inputs, max_new_tokens=8000, temperature=0.8)
23
24# Decode
25output = processor.decode(generated_ids=output_ids)
26sf.write("output.wav", output["audio"], output["sampling_rate"])إِنَّ الْعِلْمَ نُورٌ يُقْذَفُ فِي الْقَلْبِ1tts.generate_long_text(
2 text=your_text,
3 prompt_audio_path="reference.wav",
4 prompt_transcript="reference_text",
5 output_path="output.wav",
6 max_chunk_length=300, # Characters per chunk
7 crossfade_duration=0.08, # Crossfade duration in seconds
8 normalize_audio_flag=True,
9 remove_silence_flag=True,
10 temperature=0.8, # Generation randomness
11 top_p=0.95, # Nucleus sampling
12 top_k=50 # Top-k sampling
13)