-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
@rihelsefate-web
"""
Description
from flask import Flask, render_template_string, request, send_file
import pyttsx3
import os
import uuid
import webbrowser
import threading
app = Flask(name)
HTML_FORM = """
<title>Voice Service</title>🎤 Voice Service
<form method="POST" action="/speak">
<input type="text" name="username" placeholder="Your Name" required><br><br>
<textarea name="text" rows="5" cols="40" placeholder="Write text here..." required></textarea><br><br>
<button type="submit">Convert to Voice</button>
</form>
@app.route('/')
def home():
return render_template_string(HTML_FORM)
@app.route('/speak', methods=['POST'])
def speak():
text = request.form['text']
username = request.form['username']
engine = pyttsx3.init()
filename = f"{uuid.uuid4()}.mp3"
engine.save_to_file(f"{username} says: {text}", filename)
engine.runAndWait()
return send_file(filename, as_attachment=True)
def open_browser():
webbrowser.get("chrome").open("http://127.0.0.1:5000")
if name == 'main':
threading.Timer(1.5, open_browser).start()
app.run(debug=True)
Metadata
Metadata
Assignees
Labels
No labels