hamza2923 commited on
Commit
63af328
·
verified ·
1 Parent(s): cb48832

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -1
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)