import json ########################## x = { "en_GB-alan-low": { "key": "en_GB-alan-low", "name": "alan", "language": { "code": "en_GB", "family": "en", "region": "GB", "name_native": "English", "name_english": "English", "country_english": "Great Britain" }, "quality": "low", "num_speakers": 1, "speaker_id_map": {}, "files": { "en/en_GB/alan/low/en_GB-alan-low.onnx": { "size_bytes": 63104526, "md5_digest": "2acae8c79395ab109a7572f0afa61fff" }, "en/en_GB/alan/low/en_GB-alan-low.onnx.json": { "size_bytes": 4170, "md5_digest": "4c0fa2c6763bf49b343cbb4f655a147b" }, "en/en_GB/alan/low/MODEL_CARD": { "size_bytes": 309, "md5_digest": "b116c3cbdebac99ade9af03807cb9301" } }, "aliases": [ "en-gb-alan-low" ] }, "en_GB-alan-medium": { "key": "en_GB-alan-medium", "name": "alan", "language": { "code": "en_GB", "family": "en", "region": "GB", "name_native": "English", "name_english": "English", "country_english": "Great Britain" }, "quality": "medium", "num_speakers": 1, "speaker_id_map": {}, "files": { "en/en_GB/alan/medium/en_GB-alan-medium.onnx": { "size_bytes": 63201294, "md5_digest": "8f6b35eeb8ef6269021c6cb6d2414c9b" }, "en/en_GB/alan/medium/en_GB-alan-medium.onnx.json": { "size_bytes": 4888, "md5_digest": "b11d9afd0a8f5372c42a52fbd6e021d4" }, "en/en_GB/alan/medium/MODEL_CARD": { "size_bytes": 320, "md5_digest": "24a2232470ca1be071debf53c984666e" } }, "aliases": [] } } # convert into JSON: y = json.dumps(x) z = json.loads(y) for voice_id, info in z.items(): print((f"{info["language"]["name_native"]} ({info["language"]["name_english"]}, {info["language"]["country_english"]})") # Removes duplicate languages choices from list ########################## # Attempts to load voices.json try: with open("voices/voices.json","r") as file: data = json.load(file) # Failed at loading voices.json except FileNotFoundError: print("Error: The file 'voises.json' was not found.") # Create a list for Languages mylist = [] # Appends and formats all the languages to the list for voice_id, info in data.items(): mylist.append(f"{info["language"]["name_native"]} ({info["language"]["name_english"]}, {info["language"]["country_english"]})") # Removes duplicate languages choices from list mylist = list(dict.fromkeys(mylist)) # Prints avalible list for count in mylist: print(count)