AngeT10 commited on
Commit
a42bf65
1 Parent(s): 122c9ef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -35
app.py CHANGED
@@ -1,7 +1,5 @@
1
  import gradio as gr
2
- import torch
3
  import os
4
- import zipfile
5
  import requests
6
  from TTS.api import TTS
7
  from pydub import AudioSegment
@@ -17,28 +15,6 @@ print(f"Using device: {device}")
17
 
18
  tts = TTS(MODEL_PATH).to(device)
19
 
20
- def download_zip_file(url):
21
- try:
22
- response = requests.get(url)
23
- with open("temp.zip", "wb") as f:
24
- f.write(response.content)
25
- return "temp.zip"
26
- except requests.exceptions.RequestException as e:
27
- print(f"Error downloading ZIP file: {e}")
28
- return None
29
-
30
- def extract_audio_file(zip_file_path):
31
- try:
32
- with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
33
- for file in zip_ref.namelist():
34
- if os.path.splitext(file)[-1].lower() in AUDIO_FORMATS:
35
- zip_ref.extract(file, ".")
36
- return file
37
- return None
38
- except zipfile.BadZipFile as e:
39
- print(f"Error extracting ZIP file: {e}")
40
- return None
41
-
42
  def convert_to_wav(input_audio_file):
43
  file_extension = os.path.splitext(input_audio_file)[-1].lower()
44
  if file_extension!= ".wav":
@@ -53,20 +29,16 @@ def synthesize_text(text, input_audio_file, language):
53
  tts.tts_to_file(text=text, speaker_wav=input_audio_file, language=language, file_path="./output.wav")
54
  return "./output.wav"
55
 
56
- def clone(text, url, language):
57
- zip_file_path = download_zip_file(url)
58
- if zip_file_path:
59
- input_audio_file = extract_audio_file(zip_file_path)
60
- if input_audio_file:
61
- output_file_path = synthesize_text(text, input_audio_file, language)
62
- os.remove(input_audio_file)
63
- os.remove(zip_file_path)
64
- return output_file_path
65
- return None
66
 
67
  iface = gr.Interface(
68
  fn=clone,
69
- inputs=["text", gr.Textbox(label="URL"), gr.Dropdown(choices=LANGUAGES, label="Language")],
70
  outputs=gr.Audio(type='filepath'),
71
  title='Voice Clone',
72
  description=""" by [Angetyde](https://youtube.com/@Angetyde?si=7nusP31nTumIkPTF) and [Tony Assi](https://www.tonyassi.com/ ) use this colab with caution <3. """,
 
1
  import gradio as gr
 
2
  import os
 
3
  import requests
4
  from TTS.api import TTS
5
  from pydub import AudioSegment
 
15
 
16
  tts = TTS(MODEL_PATH).to(device)
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  def convert_to_wav(input_audio_file):
19
  file_extension = os.path.splitext(input_audio_file)[-1].lower()
20
  if file_extension!= ".wav":
 
29
  tts.tts_to_file(text=text, speaker_wav=input_audio_file, language=language, file_path="./output.wav")
30
  return "./output.wav"
31
 
32
+ def clone(text, input_file, language):
33
+ if input_file is None:
34
+ return None
35
+ input_audio_file = input_file.name
36
+ output_file_path = synthesize_text(text, input_audio_file, language)
37
+ return output_file_path
 
 
 
 
38
 
39
  iface = gr.Interface(
40
  fn=clone,
41
+ inputs=["text", gr.File(label="Input File", file_types=AUDIO_FORMATS), gr.Dropdown(choices=LANGUAGES, label="Language")],
42
  outputs=gr.Audio(type='filepath'),
43
  title='Voice Clone',
44
  description=""" by [Angetyde](https://youtube.com/@Angetyde?si=7nusP31nTumIkPTF) and [Tony Assi](https://www.tonyassi.com/ ) use this colab with caution <3. """,