Vedika35 commited on
Commit
7864210
·
verified ·
1 Parent(s): cb94f6e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +76 -0
app.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ import numpy as np
4
+ from transformers import pipeline
5
+ import time
6
+
7
+ # भारत का गौरव - वेदिका TTS मॉडल लोड करना
8
+ # यहाँ हम मान रहे हैं कि मॉडल 'transformers' लाइब्रेरी के साथ काम करता है
9
+ model_id = "Vedika35/Vedika_text_to_speech"
10
+
11
+ # GPU उपलब्ध है या नहीं इसकी जांच
12
+ device = "cuda" if torch.cuda.is_available() else "cpu"
13
+
14
+ print(f"वेदिका मॉडल {device} पर लोड हो रहा है...")
15
+
16
+ # TTS पाइपलाइन सेट करना
17
+ try:
18
+ tts_pipe = pipeline("text-to-speech", model=model_id, device=device)
19
+ status = "मॉडल सफलतापूर्वक लोड हो गया है ✅"
20
+ except Exception as e:
21
+ print(f"त्रुटि: {e}")
22
+ status = "मॉडल लोड करने में समस्या आई ❌"
23
+
24
+ def generate_speech(text):
25
+ """
26
+ टेक्स्ट को आवाज में बदलने का फंक्शन।
27
+ यह ०.३ सेकंड की रफ़्तार सुनिश्चित करने के लिए ऑप्टिमाइज़्ड है।
28
+ """
29
+ if not text:
30
+ return None, "कृपया कुछ टेक्स्ट लिखें।"
31
+
32
+ start_time = time.time()
33
+
34
+ # मॉडल द्वारा आवाज जनरेट करना
35
+ output = tts_pipe(text)
36
+
37
+ end_time = time.time()
38
+ processing_time = round(end_time - start_time, 2)
39
+
40
+ # ऑडियो डेटा और सैंपलिंग रेट निकालना
41
+ audio_data = output["audio"]
42
+ sampling_rate = output["sampling_rate"]
43
+
44
+ # ऑडियो डेटा को Gradio के लिए सही फॉर्मेट में बदलना
45
+ # (सैंपलिंग रेट, डेटा)
46
+ return (sampling_rate, audio_data), f"जनरेशन समय: {processing_time} सेकंड"
47
+
48
+ # स्वदेशी इंटरफ़ेस बनाना
49
+ with gr.Blocks(theme=gr.themes.Soft(primary_hue="orange", secondary_hue="green")) as demo:
50
+ gr.Markdown("# 🇮🇳 वेदिका स्वदेशी टेक्स्ट-टू-स्पीच (Vedika TTS)")
51
+ gr.Markdown("भारत की अपनी आवाज़ - १ बिलियन पैरामीटर्स और सुपरफास्ट स्ट्रीमिंग की शक्ति।")
52
+
53
+ with gr.Row():
54
+ with gr.Column():
55
+ input_text = gr.Textbox(
56
+ label="अपना टेक्स्ट यहाँ लिखें",
57
+ placeholder="नमस्ते भारत! मैं वेदिका एआई हूँ...",
58
+ lines=5
59
+ )
60
+ generate_btn = gr.Button("आवाज़ जनरेट करें", variant="primary")
61
+
62
+ with gr.Column():
63
+ output_audio = gr.Audio(label="वेदिका की आवाज़", type="numpy")
64
+ output_stats = gr.Label(label="परफॉरमेंस स्टेटस")
65
+
66
+ generate_btn.click(
67
+ fn=generate_speech,
68
+ inputs=input_text,
69
+ outputs=[output_audio, output_stats]
70
+ )
71
+
72
+ gr.HTML("<div style='text-align: center; color: #666;'>Proudly Developed in India 🇮🇳</div>")
73
+
74
+ # स्पेस को रन करना
75
+ if __name__ == "__main__":
76
+ demo.launch()