Namanrai commited on
Commit
a868b68
·
verified ·
1 Parent(s): fd943ef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -10
app.py CHANGED
@@ -3,34 +3,47 @@ import gradio as gr
3
  from TTS.api import TTS
4
  import noisereduce as nr
5
  import soundfile as sf
 
6
 
 
 
7
  os.environ['COQUI_TOS_AGREED'] = '1'
8
 
9
- print("⏳ Starting Safe Engine...")
10
- # Ye halka engine hai, crash nahi hoga
11
  tts = TTS("tts_models/multilingual/multi-dataset/your_tts")
12
- print("✅ Engine Ready!")
13
 
14
  def generate_api_voice(text, reference_audio):
15
  if not text or not reference_audio:
16
- return None, "Text and Audio required"
 
17
  try:
 
18
  data, rate = sf.read(reference_audio)
19
  if len(data.shape) > 1: data = data.mean(axis=1)
20
  clean_data = nr.reduce_noise(y=data, sr=rate)
21
  sf.write("clean_ref.wav", clean_data, rate)
22
-
23
  output_file = "output_voice.wav"
24
  tts.tts_to_file(text=text, speaker_wav="clean_ref.wav", language="en", file_path=output_file)
25
- return output_file, "Success"
 
26
  except Exception as e:
27
- return None, str(e)
28
 
29
- # Ekdum clean UI, bina kisi extra technical pins ya clutter ke
30
  iface = gr.Interface(
31
  fn=generate_api_voice,
32
- inputs=[gr.Textbox(label="Script"), gr.Audio(type="filepath", label="Reference")],
33
- outputs=[gr.Audio(label="VoiceForge Output"), gr.Textbox(label="Status")]
 
 
 
 
 
 
 
34
  )
35
 
36
  iface.launch()
 
3
  from TTS.api import TTS
4
  import noisereduce as nr
5
  import soundfile as sf
6
+ import gc
7
 
8
+ # Memory clear karo taaki server hamesha zinda rahe
9
+ gc.collect()
10
  os.environ['COQUI_TOS_AGREED'] = '1'
11
 
12
+ print("⏳ Loading VoiceForge Cloning Engine...")
13
+ # Sabse stable cloning engine jo HF free tier par nahi rukta
14
  tts = TTS("tts_models/multilingual/multi-dataset/your_tts")
15
+ print("✅ Engine Ready & Running!")
16
 
17
  def generate_api_voice(text, reference_audio):
18
  if not text or not reference_audio:
19
+ return None, "Error: Script aur Reference Voice dono zaroori hain!"
20
+
21
  try:
22
+ # Background noise saaf karne ka automatic system
23
  data, rate = sf.read(reference_audio)
24
  if len(data.shape) > 1: data = data.mean(axis=1)
25
  clean_data = nr.reduce_noise(y=data, sr=rate)
26
  sf.write("clean_ref.wav", clean_data, rate)
27
+
28
  output_file = "output_voice.wav"
29
  tts.tts_to_file(text=text, speaker_wav="clean_ref.wav", language="en", file_path=output_file)
30
+
31
+ return output_file, "✅ API Status: Success"
32
  except Exception as e:
33
+ return None, f"⚠️ Engine Error: {str(e)}"
34
 
35
+ # Ekdum clean UI (Bina kisi extra pins ya technical labels ke)
36
  iface = gr.Interface(
37
  fn=generate_api_voice,
38
+ inputs=[
39
+ gr.Textbox(label="Apni Script Yahan Likho"),
40
+ gr.Audio(type="filepath", label="Reference Voice Upload")
41
+ ],
42
+ outputs=[
43
+ gr.Audio(label="VoiceForge Output"),
44
+ gr.Textbox(label="Status")
45
+ ],
46
+ title="🎙️ VoiceForge AI Studio"
47
  )
48
 
49
  iface.launch()