Files

105 lines
3.0 KiB
Python

import json
'''
############### Test Code Block Start ###############
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"]})")
a = "English (English, Great Britain)"
#b = a.split(" ", 1)
print(a.split(" ", 1)[0])
############### Test Code Block End ###############
'''
# 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 myitems in mylist:
print(myitems)