Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,40 +1,49 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import re
|
| 3 |
import os
|
|
|
|
| 4 |
|
| 5 |
-
#
|
| 6 |
def shiv_ai_clean_text(text):
|
| 7 |
if not text: return ""
|
| 8 |
-
|
| 9 |
-
hindi_numbers = {
|
| 10 |
'0': 'शून्य', '1': 'एक', '2': 'दो', '3': 'तीन', '4': 'चार',
|
| 11 |
'5': 'पांच', '6': 'छह', '7': 'सात', '8': 'आठ', '9': 'नौ', '10': 'दस'
|
| 12 |
}
|
| 13 |
-
for num, word in
|
| 14 |
text = re.sub(r'\b' + num + r'\b', word, text)
|
| 15 |
|
| 16 |
-
# डॉट
|
| 17 |
text = text.replace('.', ',')
|
| 18 |
return text
|
| 19 |
|
| 20 |
-
#
|
| 21 |
-
def
|
| 22 |
-
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
-
# --- इंटरफेस
|
| 26 |
with gr.Blocks(title="Shiv AI - Owner Shri Ram Nag") as demo:
|
| 27 |
gr.Markdown("# 🔱 Shiv AI - टर्बो हाई स्पीड वॉइस")
|
| 28 |
gr.Markdown("### 👑 ओनर: श्री राम नाग (Shri Ram Nag)")
|
| 29 |
|
| 30 |
with gr.Tab("नया शिव एआई (Natural Voice)"):
|
| 31 |
-
input_text = gr.Textbox(label="यहाँ लिखें (नंबर अपने आप शब्दों में बदल जाएंगे)",
|
|
|
|
| 32 |
voice_ref = gr.Audio(label="अपना वॉइस सैंपल दें (5 सेकंड)", type="filepath")
|
| 33 |
run_btn = gr.Button("आवाज़ बनायें (Turbo Speed)", variant="primary")
|
| 34 |
-
output_audio = gr.Audio(label="तैयार आवाज़")
|
| 35 |
|
| 36 |
-
#
|
| 37 |
-
run_btn.click(
|
| 38 |
|
| 39 |
with gr.Tab("पुराना मॉडल (Ramai.pth)"):
|
| 40 |
gr.Markdown("आपका पुराना कोड यहाँ सुरक्षित और लॉक है। [cite: 2026-02-22]")
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import re
|
| 3 |
import os
|
| 4 |
+
import soundfile as sf
|
| 5 |
|
| 6 |
+
# श्री राम नाग जी, यह फंक्शन नंबरों को शब्दों में बदलकर हकलाना बंद करेगा [cite: 2026-02-20]
|
| 7 |
def shiv_ai_clean_text(text):
|
| 8 |
if not text: return ""
|
| 9 |
+
num_map = {
|
|
|
|
| 10 |
'0': 'शून्य', '1': 'एक', '2': 'दो', '3': 'तीन', '4': 'चार',
|
| 11 |
'5': 'पांच', '6': 'छह', '7': 'सात', '8': 'आठ', '9': 'नौ', '10': 'दस'
|
| 12 |
}
|
| 13 |
+
for num, word in num_map.items():
|
| 14 |
text = re.sub(r'\b' + num + r'\b', word, text)
|
| 15 |
|
| 16 |
+
# डॉट को कोमा में बदलना ताकि सांस लेने का नेचुरल गैप मिले [cite: 2026-02-20]
|
| 17 |
text = text.replace('.', ',')
|
| 18 |
return text
|
| 19 |
|
| 20 |
+
# आवाज बनाने का मुख्य फंक्शन (Logic)
|
| 21 |
+
def process_voice(text, reference_audio):
|
| 22 |
+
if not text or not reference_audio:
|
| 23 |
+
return None
|
| 24 |
+
|
| 25 |
+
# टेक्स्ट को साफ करें ताकि हकलाहट न हो
|
| 26 |
+
clean_text = shiv_ai_clean_text(text)
|
| 27 |
+
|
| 28 |
+
# यहाँ मॉडल आपकी ONNX फाइलों का उपयोग करके आवाज बनाएगा
|
| 29 |
+
# अभी के लिए यह एक टेस्ट फाइल जेनरेट करेगा, इसे असली इंजन से लिंक करें
|
| 30 |
+
print(f"प्रक्रिया शुरू: {clean_text}")
|
| 31 |
+
return reference_audio # उदाहरण के तौर पर सैंपल वापस दे रहा है
|
| 32 |
|
| 33 |
+
# --- शिव एआई इंटरफेस (ब्रांडिंग: Shri Ram Nag) ---
|
| 34 |
with gr.Blocks(title="Shiv AI - Owner Shri Ram Nag") as demo:
|
| 35 |
gr.Markdown("# 🔱 Shiv AI - टर्बो हाई स्पीड वॉइस")
|
| 36 |
gr.Markdown("### 👑 ओनर: श्री राम नाग (Shri Ram Nag)")
|
| 37 |
|
| 38 |
with gr.Tab("नया शिव एआई (Natural Voice)"):
|
| 39 |
+
input_text = gr.Textbox(label="यहाँ लिखें (नंबर अपने आप शब्दों में बदल जाएंगे)",
|
| 40 |
+
placeholder="जैसे: मेरे पास 5 नए विचार हैं...")
|
| 41 |
voice_ref = gr.Audio(label="अपना वॉइस सैंपल दें (5 सेकंड)", type="filepath")
|
| 42 |
run_btn = gr.Button("आवाज़ बनायें (Turbo Speed)", variant="primary")
|
| 43 |
+
output_audio = gr.Audio(label="शिव एआई की तैयार आवाज़")
|
| 44 |
|
| 45 |
+
# बटन दबाने पर अब यह फंक्शन काम करेगा
|
| 46 |
+
run_btn.click(process_voice, inputs=[input_text, voice_ref], outputs=output_audio)
|
| 47 |
|
| 48 |
with gr.Tab("पुराना मॉडल (Ramai.pth)"):
|
| 49 |
gr.Markdown("आपका पुराना कोड यहाँ सुरक्षित और लॉक है। [cite: 2026-02-22]")
|