Un service HTTP simple qui fournit des fonctionnalités de texte vocale à l'aide du moteur TTS de Microsoft Edge, prenant en charge plusieurs langages et voix via des API RESTFul.
Anglais | 中文
git clone https://github.com/doctoroyy/edge-tts-as-a-service
cd edge-tts-as-a-servicepip install -r requirements.txtpython main.py Le service sera disponible sur http://localhost:5000
docker build -t edge-tts-as-a-service .docker run -d -p 5000:5000 edge-tts-as-a-serviceRécupérez toutes les options vocales prises en charge.
GET /voices
Exemple de réponse:
{
"code" : 200 ,
"message" : " OK " ,
"data" : [
{
"Name" : " en-US-GuyNeural " ,
"ShortName" : " en-US-GuyNeural " ,
"Gender" : " Male " ,
"Locale" : " en-US "
},
// ... more voices
]
}Convertissez le texte en parole et téléchargez le fichier audio.
POST /tts
Corps de demande:
{
"text" : " Hello, World! " ,
"voice" : " en-US-GuyNeural " , // Optional, defaults to "zh-CN-YunxiNeural"
"file_name" : " hello.mp3 " // Optional, defaults to "test.mp3"
}Réponse:
Convertissez du texte en discours avec sortie de streaming, adapté à la lecture en temps réel.
POST /tts/stream
Corps de demande:
{
"text" : " Hello, World! " ,
"voice" : " en-US-GuyNeural " // Optional, defaults to "zh-CN-YunxiNeural"
}Réponse:
import requests
# Get available voices
response = requests . get ( 'http://localhost:5000/voices' )
voices = response . json ()[ 'data' ]
# Text-to-Speech (Download)
data = {
"text" : "Hello, World!" ,
"voice" : "en-US-GuyNeural" ,
"file_name" : "output.mp3"
}
response = requests . post ( 'http://localhost:5000/tts' , json = data )
with open ( 'output.mp3' , 'wb' ) as f :
f . write ( response . content )
# Text-to-Speech (Streaming)
response = requests . post ( 'http://localhost:5000/tts/stream' , json = data , stream = True )
with open ( 'stream_output.mp3' , 'wb' ) as f :
for chunk in response . iter_content ( chunk_size = 8192 ):
f . write ( chunk ) # Get available voices
curl http://localhost:5000/voices
# Text-to-Speech (Download)
curl -X POST http://localhost:5000/tts
-H " Content-Type: application/json "
-d ' {"text":"Hello, World!", "voice":"en-US-GuyNeural"} '
--output output.mp3
# Text-to-Speech (Streaming)
curl -X POST http://localhost:5000/tts/stream
-H " Content-Type: application/json "
-d ' {"text":"Hello, World!", "voice":"en-US-GuyNeural"} '
--output stream_output.mp3Vous cherchez une interface frontale prête à l'emploi?
? Lien rapide : React-Audio-Stream-Demo
Cette démonstration React fournit un frontage entièrement fonctionnel pour l'interaction TTS sans couture, ce qui facilite la démonstration et l'intégration du service Edge-TTS avec une interface conviviale.
Q: Comment choisir la bonne voix?
R: Utilisez le point de terminaison /voices pour obtenir une liste de toutes les voix disponibles. Choisissez en fonction des attributs régionaux et de genre.
Q: Quelles langues sont prises en charge?
R: Plusieurs langues, y compris l'anglais, le chinois, le japonais, etc. Vérifiez le point de terminaison /voices pour une liste complète.
Q: Quel est le format de fichier audio?
R: Le service génère des fichiers audio MP3.
Les problèmes et les demandes de traction sont les bienvenus. Avant de soumettre un RP, s'il vous plaît:
Licence MIT