import gradio as gr import re import os import soundfile as sf # श्री राम नाग जी, यह फंक्शन नंबरों को शब्दों में बदलकर हकलाना बंद करेगा [cite: 2026-02-20] def shiv_ai_clean_text(text): if not text: return "" num_map = { '0': 'शून्य', '1': 'एक', '2': 'दो', '3': 'तीन', '4': 'चार', '5': 'पांच', '6': 'छह', '7': 'सात', '8': 'आठ', '9': 'नौ', '10': 'दस' } for num, word in num_map.items(): text = re.sub(r'\b' + num + r'\b', word, text) # डॉट को कोमा में बदलना ताकि सांस लेने का नेचुरल गैप मिले [cite: 2026-02-20] text = text.replace('.', ',') return text # आवाज बनाने का मुख्य फंक्शन (Logic) def process_voice(text, reference_audio): if not text or not reference_audio: return None # टेक्स्ट को साफ करें ताकि हकलाहट न हो clean_text = shiv_ai_clean_text(text) # यहाँ मॉडल आपकी ONNX फाइलों का उपयोग करके आवाज बनाएगा # अभी के लिए यह एक टेस्ट फाइल जेनरेट करेगा, इसे असली इंजन से लिंक करें print(f"प्रक्रिया शुरू: {clean_text}") return reference_audio # उदाहरण के तौर पर सैंपल वापस दे रहा है # --- शिव एआई इंटरफेस (ब्रांडिंग: Shri Ram Nag) --- with gr.Blocks(title="Shiv AI - Owner Shri Ram Nag") as demo: gr.Markdown("# 🔱 Shiv AI - टर्बो हाई स्पीड वॉइस") gr.Markdown("### 👑 ओनर: श्री राम नाग (Shri Ram Nag)") with gr.Tab("नया शिव एआई (Natural Voice)"): input_text = gr.Textbox(label="यहाँ लिखें (नंबर अपने आप शब्दों में बदल जाएंगे)", placeholder="जैसे: मेरे पास 5 नए विचार हैं...") voice_ref = gr.Audio(label="अपना वॉइस सैंपल दें (5 सेकंड)", type="filepath") run_btn = gr.Button("आवाज़ बनायें (Turbo Speed)", variant="primary") output_audio = gr.Audio(label="शिव एआई की तैयार आवाज़") # बटन दबाने पर अब यह फंक्शन काम करेगा run_btn.click(process_voice, inputs=[input_text, voice_ref], outputs=output_audio) with gr.Tab("पुराना मॉडल (Ramai.pth)"): gr.Markdown("आपका पुराना कोड यहाँ सुरक्षित और लॉक है। [cite: 2026-02-22]") demo.launch()