antoniomae commited on
Commit
6ba63e8
1 Parent(s): 5bf4124

Delete app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -72
app.py DELETED
@@ -1,72 +0,0 @@
1
- from TTS.api import TTS
2
- from bs4 import BeautifulSoup
3
- import requests
4
- import streamlit as st
5
- import tempfile
6
- import os
7
- import json
8
- import datetime
9
-
10
- with open('config.json', 'r') as f:
11
- config = json.load(f)
12
-
13
- APP_NAME = config['APP_NAME']
14
- APP_LOGO = config['APP_LOGO']
15
- APP_DESCRIPTION = config['APP_DESCRIPTION']
16
-
17
- def contains_only_ascii(input_string):
18
- return all(ord(char) < 128 for char in input_string)
19
-
20
- def create_temp_file(input_wav):
21
- temp_file = tempfile.NamedTemporaryFile(delete=False)
22
- temp_file.write(input_wav.read())
23
- return temp_file
24
-
25
- def remove_temp_file(temp_file):
26
- temp_file.close()
27
- os.remove(temp_file.name)
28
-
29
- def update_progress(percent, text):
30
- progress_bar.progress(percent)
31
- status_text.text(text)
32
-
33
- st.set_page_config(page_title=APP_NAME)
34
- st.title(APP_NAME)
35
- st.image(APP_LOGO, use_column_width=True)
36
- st.markdown(APP_DESCRIPTION)
37
-
38
- input_wav = st.file_uploader("Upload a WAV file with your voice", type=["mp3"])
39
- clone_wav = st.file_uploader("Upload a WAV file with voice to clone", type=["mp3"])
40
-
41
- if input_wav and clone_wav:
42
- progress_bar = st.progress(0)
43
- status_text = st.empty()
44
-
45
- current_datetime = datetime.datetime.now()
46
- formatted_datetime = current_datetime.strftime("%Y-%m-%d_%H%M%S")
47
- output_filename = f"recording_{formatted_datetime}.wav"
48
-
49
- temp_input_file = create_temp_file(input_wav)
50
- temp_clone_file = create_temp_file(clone_wav)
51
-
52
- update_progress(0, 'Loading TTS model...')
53
- api = TTS("voice_conversion_models/multilingual/vctk/freevc24")
54
-
55
- update_progress(50, 'Generating audio...')
56
- api.voice_conversion_to_file(
57
- source_wav=temp_input_file.name,
58
- target_wav=temp_clone_file.name,
59
- file_path=output_filename
60
- )
61
-
62
- remove_temp_file(temp_input_file)
63
- remove_temp_file(temp_clone_file)
64
-
65
- audio_file = open(output_filename, 'rb')
66
- audio_bytes = audio_file.read()
67
-
68
- update_progress(100, 'Audio generated successfully!')
69
-
70
- st.audio(audio_bytes, format='audio/wav')
71
-
72
- st.download_button('Download MP3', data=audio_bytes, file_name='output.wav')