Namanrai commited on
Commit
d72eaef
Β·
verified Β·
1 Parent(s): 8d049ab

Upload 5 files

Browse files
Files changed (5) hide show
  1. README.md +11 -0
  2. app.py +62 -0
  3. gitattributes.txt +35 -0
  4. packages.txt +1 -0
  5. requirements.txt +7 -0
README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: VoiceForge Mobile Studio
3
+ emoji: πŸŽ™οΈ
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: 4.44.1
8
+ app_file: app.py
9
+ pinned: false
10
+ python_version: 3.10.13
11
+ ---
app.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import gradio as gr
3
+ from TTS.api import TTS
4
+
5
+ print("⏳ XTTS-v2 Model Download ho raha hai... Isme 10-15 min lagenge!")
6
+
7
+ # Coqui TTS ki terms & conditions ko auto-accept karne ka code
8
+ os.environ["COQUI_TOS_AGREED"] = "1"
9
+
10
+ # πŸš€ ASLI AI MODEL LOADING (Tere server ke andar)
11
+ # gpu=False kiya hai kyunki free HF space par CPU hota hai
12
+ tts = TTS(model_name="tts_models/multilingual/multi-dataset/xtts_v2", gpu=False)
13
+
14
+ def clone_voice(script, ref_audio):
15
+ if not script or not ref_audio:
16
+ return None, "⚠️ Bhai, Script aur Reference Voice dono zaroori hain!"
17
+
18
+ try:
19
+ output_file = "voiceforge_final.wav"
20
+
21
+ # Tera local AI engine ab script read karega
22
+ tts.tts_to_file(
23
+ text=script,
24
+ file_path=output_file,
25
+ speaker_wav=ref_audio,
26
+ language="en" # πŸ‘ˆ Isko "en" kar de!
27
+ )
28
+
29
+
30
+ return output_file, "βœ… Boom! Teri apni AI ne locally aawaz bana di!"
31
+
32
+ except Exception as e:
33
+ return None, f"⚠️ Error: {str(e)}"
34
+
35
+ # ── Dark Mode UI ──
36
+ with gr.Blocks(theme=gr.themes.Monochrome()) as iface:
37
+ gr.Markdown("# πŸŽ™οΈ VoiceForge Mobile Studio")
38
+ gr.Markdown("### ⚑ True Local AI Clone Engine (XTTS-v2) | Dev: Naman Rai")
39
+
40
+ with gr.Row():
41
+ with gr.Column():
42
+ ref_audio_input = gr.Audio(type="filepath", label="🎡 Reference Voice (5-10 sec saaf aawaz)")
43
+ script_input = gr.Textbox(
44
+ label="πŸ“ Script Yahan Daal",
45
+ lines=4,
46
+ placeholder="Bhai log, aaj ke is montage mein..."
47
+ )
48
+ generate_btn = gr.Button("πŸš€ Generate Clone", variant="primary")
49
+
50
+ with gr.Column():
51
+ audio_output = gr.Audio(label="VoiceForge Output")
52
+ status_output = gr.Textbox(label="System Console")
53
+
54
+ generate_btn.click(
55
+ fn=clone_voice,
56
+ inputs=[script_input, ref_audio_input],
57
+ outputs=[audio_output, status_output],
58
+ api_name="clone_voice" # πŸ‘ˆ YEH LINE MISSING THI! Iske bina app nahi chalega.
59
+ )
60
+
61
+ # Aur server crash se bachane ke liye queue bhi laga de:
62
+ iface.queue(default_concurrency_limit=1, max_size=50).launch()
gitattributes.txt ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
packages.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ ffmpeg
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ TTS==0.22.0
2
+ torch==2.4.1
3
+ torchaudio==2.4.1
4
+ gradio==4.44.1
5
+ huggingface_hub==0.23.2
6
+ fastapi==0.112.2
7
+ pydantic==2.8.2