File size: 1,843 Bytes
a4d9876 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import time
from omnivoice import OmniVoice
import soundfile as sf
import torch
model = OmniVoice.from_pretrained(
"/home/riftuser/OmniVoice/exp_v1/omnivoice_finetune/checkpoint-500",
device_map="cuda:0",
dtype=torch.float16
)
saudi_tts_text = """
السلام عليكم يا شباب، كيف الحال؟
اليوم عندي تقريبًا 3 meetings مهمة، وأول meeting بتبدأ الساعة 10:30 الصباح. [sigh] [sigh]
بصراحة كنت ناوي أخلص الـ report بدري، لكن الـ internet صار بطيء بشكل مو طبيعي. [dissatisfaction-hnn] [sigh] [dissatisfaction-hnn]
قلت خلاص، خلني آخذ coffee وأروق شوي قبل ما أبدأ الشغل. [laughter] [laughter] [confirmation-en]
وبعدين اكتشفت إن الـ laptop يحتاج update من أمس! [surprise-oh] [dissatisfaction-hnn]
قلت يا ساتر، شكله يوم طويل جدًا. [sigh] [laughter]
لكن الحمد لله الأمور مشت تمام بالنهاية.
"""
# Measure generation time
start_time = time.time()
audio = model.generate(
text=saudi_tts_text,
ref_audio="ref_audio/women_ref_1.mp3",
ref_text="شوفي يا حلوة هالكريم الجديد للبشرة، يخلي وجهك مثل القمر! ",
instruct = "female, young adult, high pitch",
speed = 1.1,
num_step = 25,
guidance_scale=2.0,
t_shift=0.1,
position_temperature=3,
layer_penalty_factor=5.0,
)
generation_time = time.time() - start_time
# Save audio
sf.write("out_1.wav", audio[0], 24000)
# Calculate audio duration
audio_duration = len(audio[0]) / 24000
# Calculate RTF
rtf = generation_time / audio_duration
print(f"Generation Time: {generation_time:.2f} sec")
print(f"Audio Duration: {audio_duration:.2f} sec")
print(f"RTF: {rtf:.4f}") |