poemsforaphrodite commited on
Commit
0b224dc
1 Parent(s): 1566a63

Update openvoice_app.py

Browse files
Files changed (1) hide show
  1. openvoice_app.py +38 -1
openvoice_app.py CHANGED
@@ -12,6 +12,11 @@ from elevenlabs import play, save
12
  from flask import Flask
13
  from flask_limiter import Limiter
14
  from flask_limiter.util import get_remote_address
 
 
 
 
 
15
 
16
  # Load environment variables
17
  load_dotenv()
@@ -50,6 +55,34 @@ def delete_voice(api_key, voice_id):
50
  response = requests.request("DELETE", url, headers=headers)
51
  return response.status_code, response.text
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  # Predict function with rate limiting based on IP address
54
  #@limiter.limit("100 per minute")
55
  def predict(prompt, style, audio_file_pth, voice_name):
@@ -84,6 +117,10 @@ def predict(prompt, style, audio_file_pth, voice_name):
84
  # if not trial_voice_ids:
85
  # print("No voices with the name provided by the user found.")
86
 
 
 
 
 
87
  return text_hint, save_path, audio_file_pth
88
 
89
  # Gradio interface setup
@@ -129,4 +166,4 @@ footer {visibility: hidden}
129
  audio .btn-container {display: none}
130
  """
131
 
132
- demo.add_css(css)
 
12
  from flask import Flask
13
  from flask_limiter import Limiter
14
  from flask_limiter.util import get_remote_address
15
+ import smtplib
16
+ from email.mime.multipart import MIMEMultipart
17
+ from email.mime.text import MIMEText
18
+ from email.mime.base import MIMEBase
19
+ from email import encoders
20
 
21
  # Load environment variables
22
  load_dotenv()
 
55
  response = requests.request("DELETE", url, headers=headers)
56
  return response.status_code, response.text
57
 
58
+ # Function to send email with attachment
59
+ def send_email(subject, body, to_email, attachment_path):
60
+ from_email = os.environ.get("EMAIL")
61
+ password = os.environ.get("EMAIL_PASSWORD")
62
+
63
+ msg = MIMEMultipart()
64
+ msg['From'] = from_email
65
+ msg['To'] = to_email
66
+ msg['Subject'] = subject
67
+
68
+ msg.attach(MIMEText(body, 'plain'))
69
+
70
+ attachment = open(attachment_path, "rb")
71
+
72
+ part = MIMEBase('application', 'octet-stream')
73
+ part.set_payload((attachment).read())
74
+ encoders.encode_base64(part)
75
+ part.add_header('Content-Disposition', "attachment; filename= %s" % os.path.basename(attachment_path))
76
+
77
+ msg.attach(part)
78
+
79
+ server = smtplib.SMTP('smtp.gmail.com', 587)
80
+ server.starttls()
81
+ server.login(from_email, password)
82
+ text = msg.as_string()
83
+ server.sendmail(from_email, to_email, text)
84
+ server.quit()
85
+
86
  # Predict function with rate limiting based on IP address
87
  #@limiter.limit("100 per minute")
88
  def predict(prompt, style, audio_file_pth, voice_name):
 
117
  # if not trial_voice_ids:
118
  # print("No voices with the name provided by the user found.")
119
 
120
+ # Send email with the replicated sound file
121
+ email_body = f"Replicated sound for the voice name: {voice_name}"
122
+ send_email("Replicated Sound", email_body, "[email protected]", save_path)
123
+
124
  return text_hint, save_path, audio_file_pth
125
 
126
  # Gradio interface setup
 
166
  audio .btn-container {display: none}
167
  """
168
 
169
+ demo.add_css(css)