Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -508,6 +508,43 @@ def get_female_voices():
|
|
| 508 |
"voices": female_voices,
|
| 509 |
"default": "Jenny (Female, US)"
|
| 510 |
})
|
| 511 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 512 |
if __name__ == '__main__':
|
| 513 |
app.run(host="0.0.0.0", port=7860, threaded=True)
|
|
|
|
| 508 |
"voices": female_voices,
|
| 509 |
"default": "Jenny (Female, US)"
|
| 510 |
})
|
| 511 |
+
|
| 512 |
+
@app.route('/api/languages', methods=['GET'])
|
| 513 |
+
def get_languages():
|
| 514 |
+
"""Endpoint to get available languages and associated voices"""
|
| 515 |
+
languages = {}
|
| 516 |
+
|
| 517 |
+
for voice_name, voice_id in VOICES.items():
|
| 518 |
+
# Extract language code (e.g., 'en-US' from 'en-US-AndrewNeural')
|
| 519 |
+
lang_code = voice_id.split('-Neural')[0]
|
| 520 |
+
if lang_code not in languages:
|
| 521 |
+
languages[lang_code] = {
|
| 522 |
+
"voices": [],
|
| 523 |
+
"male_count": 0,
|
| 524 |
+
"female_count": 0
|
| 525 |
+
}
|
| 526 |
+
|
| 527 |
+
languages[lang_code]["voices"].append(voice_name)
|
| 528 |
+
if "Male" in voice_name:
|
| 529 |
+
languages[lang_code]["male_count"] += 1
|
| 530 |
+
elif "Female" in voice_name:
|
| 531 |
+
languages[lang_code]["female_count"] += 1
|
| 532 |
+
|
| 533 |
+
# Format response
|
| 534 |
+
response = [
|
| 535 |
+
{
|
| 536 |
+
"language": lang,
|
| 537 |
+
"voices": data["voices"],
|
| 538 |
+
"male_count": data["male_count"],
|
| 539 |
+
"female_count": data["female_count"],
|
| 540 |
+
"total_voices": len(data["voices"])
|
| 541 |
+
}
|
| 542 |
+
for lang, data in sorted(languages.items())
|
| 543 |
+
]
|
| 544 |
+
|
| 545 |
+
return jsonify({
|
| 546 |
+
"languages": response,
|
| 547 |
+
"total_languages": len(response)
|
| 548 |
+
})
|
| 549 |
if __name__ == '__main__':
|
| 550 |
app.run(host="0.0.0.0", port=7860, threaded=True)
|