Python Flask 프레임워크로 텍스트 음성 변환 서비스 구축
34186 단어 htmlcomputersciencepythonwebdev
비디오 확인
단계:
(최소=0 및 최대=1)
## 텍스트를 음성으로 변환하는 코드
import pyttsx3
def text_to_speech(text, gender):
"""
Function to convert text to speech
:param text: text
:param gender: gender
:return: None
"""
voice_dict = {'Male': 0, 'Female': 1}
code = voice_dict[gender]
engine = pyttsx3.init()
# Setting up voice rate
engine.setProperty('rate', 125)
# Setting up volume level between 0 and 1
engine.setProperty('volume', 0.8)
# Change voices: 0 for male and 1 for female
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[code].id)
engine.say(text)
engine.runAndWait()
text = 'Hello ! My name is Siddhesh.'
gender = 'Male' # Voice assistant
text_to_speech(text, gender)
웹 서비스 구축
이것은 기본 경로가 있는 기본 플라스크 애플리케이션입니다. 또한 아래와 같이 특정 플라스크 라이브러리와 몇 가지 다른 라이브러리를 가져와야 합니다.
# Importing the necessary Libraries
from flask_cors import cross_origin
from flask import Flask, render_template, request
from main import text_to_speech
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
@cross_origin()
def homepage():
if request.method == 'POST':
text = request.form['speech']
gender = request.form['voices']
text_to_speech(text, gender)
return render_template('frontend.html')
else:
return render_template('frontend.html')
if __name__ == "__main__":
app.run(port=8000, debug=True)
HTML 템플릿 코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Browser voices</title>
<style type="text/css">
* {
box-sizing: border-box;
}
html,
body {
min-height: 100vh;
margin: 0;
padding: 0;
}
body {
font-family: Helvetica, Arial, sans-serif;
color: #0d122b;
display: flex;
flex-direction: column;
padding-left: 1em;
padding-right: 1em;
}
h1 {
text-align: center;
font-weight: 100;
}
header {
border-bottom: 1px solid #0d122b;
margin-bottom: 2em;
}
main {
flex-grow: 2;
display: flex;
justify-content: space-around;
align-items: center;
background-color: #fff;
border-radius: 12px;
margin-bottom: 2em;
}
@keyframes bg-pulse {
0% {
background-color: #fff;
}
50% {
background-color: #c7ecee;
}
100% {
backgrouond-color: #fff;
}
}
main.speaking {
animation: bg-pulse 1.5s alternate ease-in-out infinite;
}
.input {
text-align: center;
width: 100%;
}
label {
display: block;
font-size: 18px;
margin-bottom: 1em;
}
.field {
margin-bottom: 2em;
}
input {
font-size: 24px;
padding: 0.5em;
border: 1px solid rgba(13, 18, 43, 0.25);
border-radius: 6px;
width: 75%;
display: inline-block;
transition: border-color 0.25s;
text-align: center;
}
input:focus,
select:focus {
border-color: rgba(13, 18, 43, 1);
}
select {
width: 75%;
font-size: 24px;
padding: 0.5em;
border: 1px solid rgba(13, 18, 43, 0.25);
border-radius: 6px;
transition: border-color 0.25s;
}
button {
font-size: 18px;
font-weight: 200;
padding: 1em;
width: 200px;
background: transparent;
border: 4px solid #f22f46;
border-radius: 4px;
transition: all 0.4s ease 0s;
cursor: pointer;
color: #f22f46;
margin-bottom: 2em;
}
button:hover,
button:focus {
background: #f22f46;
color: #fff;
}
a {
color: #0d122b;
}
.error {
color: #f22f46;
text-align: center;
}
footer {
border-top: 1px solid #0d122b;
text-align: center;
}
</style>
</head>
<body>
<header>
<h1>Text to Speech</h1>
</header>
<main>
<form class="input" id="voice-form" method="post">
<div class="field">
<label for="speech">Type Something</label>
<input type="text" name="speech" id="speech" required />
</div>
<div class="field">
<label for="voices">Choose a Voice Assistant</label>
<select name="voices" id="voices">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
<button>
Say it!
</button>
</form>
</main>
<footer>
<p>
Built by <a href=<BLOG LINK>><YOUR NAME></a>
</p>
</footer>
</body>
</html>
Python에서 텍스트를 음성으로 변환하는 데 사용할 수 있는 몇 가지 API가 있습니다. gTTS도 동일한 작업을 수행하는 데 사용할 수 있습니다. Google 번역의 텍스트 음성 변환 API와 인터페이스하는 Python 라이브러리 및 CLI 도구입니다.
이 게시물이 도움이 되었기를 바랍니다. 이는 최종 사용자가 플라스크를 사용하여 웹 애플리케이션을 구축하고 텍스트를 음성으로 변환하는 데 도움이 됩니다.
Octocat이 내 GitHub 리포지토리로 이동합니다...
Reference
이 문제에 관하여(Python Flask 프레임워크로 텍스트 음성 변환 서비스 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/siddheshshankar/build-a-text-to-speech-service-with-python-flask-framework-3966텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)