Check voice version during download

This commit is contained in:
Michael Hansen 2022-04-28 17:24:11 -04:00
commit f1335f95eb
5 changed files with 250 additions and 37 deletions

View file

@ -1 +1 @@
0.1.7
0.1.8

View file

@ -15,6 +15,7 @@
#
"""A command-line tool for downloading Mimic 3 voices"""
import argparse
import itertools
import json
import logging
import re
@ -49,11 +50,30 @@ class VoiceFile:
sha256_sum: typing.Optional[str] = None
def is_later_version(version1: str, version2: str) -> bool:
"""True if version1 is later than version2"""
v1_parts = [int(n) for n in version1.split(".")]
v2_parts = [int(n) for n in version2.split(".")]
for p1, p2 in itertools.zip_longest(v1_parts, v2_parts, fillvalue=0):
if p1 > p2:
# 2.0 vs 1.0
return True
if p1 < p2:
# 1.0 vs 2.0
return False
# 1.0 vs 1.0
return False
def download_voice(
voice_key: str,
url_base: str,
voice_files: typing.Iterable[VoiceFile],
voices_dir: typing.Union[str, Path],
voice_version: str,
chunk_bytes: int = 4096,
redownload: bool = False,
):
@ -69,6 +89,18 @@ def download_voice(
_LOGGER.debug("Downloading voice %s to %s", voice_key, voice_dir)
version_path = voice_dir / "VERSION"
if version_path.is_file():
actual_version = version_path.read_text(encoding="utf-8").strip()
if is_later_version(voice_version, actual_version):
redownload = True
_LOGGER.debug(
"Replacing version %s of %s with version %s",
actual_version,
voice_key,
voice_version,
)
for voice_file in voice_files:
file_url = f"{url_base}/{voice_file.relative_path}"
file_path = voice_dir / voice_file.relative_path
@ -145,8 +177,10 @@ def main(argv=None):
if args.debug:
logging.basicConfig(level=logging.DEBUG)
logging.getLogger().setLevel(logging.DEBUG)
else:
logging.basicConfig(level=logging.INFO)
logging.getLogger().setLevel(logging.INFO)
_LOGGER.debug(args)
@ -194,6 +228,7 @@ def main(argv=None):
VoiceFile(file_key, sha256_sum=file_info.get("sha256_sum"))
for file_key, file_info in voice_files.items()
],
voice_version=voice_info["version"],
voices_dir=args.output_dir,
redownload=args.redownload,
)

View file

@ -13,6 +13,10 @@
"size_bytes": 27,
"sha256_sum": "8a9a0d5d775c0264004b68c4ca850fd51c3d8e63cdbc9df61ec257a3ee97e025"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3915,
"sha256_sum": "484c3ba1581274b63f19e8eae0aa0533fe731136f5f75af0e68159b4f4567896"
@ -45,7 +49,8 @@
"6590",
"0184"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"de_DE/m-ailabs_low": {
"files": {
@ -65,6 +70,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3611,
"sha256_sum": "9265a46d77604ba55ce327a7bb85d9505157d45152250bc24553ffa5e4ea1a87"
@ -97,7 +106,8 @@
"eva_k",
"angela_merkel"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"de_DE/thorsten-emotion_low": {
"files": {
@ -113,6 +123,10 @@
"size_bytes": 28,
"sha256_sum": "f351b9304a8fa1e6e58db9b3411f92387e192bb4b57fcbe3e8f839424b13f3c8"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3756,
"sha256_sum": "e0ae97001a4a9b69040f4531de804b08ec865223bab807310652852fafdad909"
@ -144,7 +158,8 @@
"surprised",
"whisper"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"de_DE/thorsten_low": {
"files": {
@ -164,6 +179,10 @@
"size_bytes": 61,
"sha256_sum": "5913b6f0cf4fc4d751aade453924bfa05413245075d3a294f6c70e6497e7e01c"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3736,
"sha256_sum": "27ad9d2e36d3beaf2fd797537edf0b2243b73795eb57742b2aa69525258dd088"
@ -182,7 +201,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"el_GR/rapunzelina_low": {
"files": {
@ -202,6 +222,10 @@
"size_bytes": 69,
"sha256_sum": "c3d41e924e28a9a5d6384af1be84a140ff3ab957f338f56680a076fef07d12b3"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3397,
"sha256_sum": "5d4da9a6d55500c067a66b29d21aa14df4d6fe53e9e5ce5b3ee1b2d8ecbb98fc"
@ -216,7 +240,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"en_UK/apope_low": {
"files": {
@ -236,6 +261,10 @@
"size_bytes": 18,
"sha256_sum": "8197ffe96f3b6772797357e007d63cde409573a0bd3fe174489e01a5faa95553"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03"
},
"config.json": {
"size_bytes": 3434,
"sha256_sum": "1fdaa1124e02cc177eb776fbc6e08c838b56bd2e86c82d8d7fe434d9337806b0"
@ -254,7 +283,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "1.0.0"
},
"en_US/cmu-arctic_low": {
"files": {
@ -274,6 +304,10 @@
"size_bytes": 35,
"sha256_sum": "234919f888057ce202730f2ce9e87ab526c6db4b410047a3c9ca52b1cf51de2b"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3550,
"sha256_sum": "e98bf4210293be786fc219612f6a0ac1a67b40bb2f5fa5f7c7ddbd595638c193"
@ -319,7 +353,8 @@
"eey",
"gka"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"en_US/hifi-tts_low": {
"files": {
@ -339,6 +374,10 @@
"size_bytes": 28,
"sha256_sum": "dcfc704446de47e8438a04cb4029c0aaa86a4931d10685080b307cec98345862"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3660,
"sha256_sum": "eb5ba8f05a968c8281334912f779566e19d5873f1c999631c65f8a53222744d6"
@ -369,7 +408,8 @@
"6097",
"92"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"en_US/ljspeech_low": {
"files": {
@ -389,6 +429,10 @@
"size_bytes": 40,
"sha256_sum": "f72dc7596d10484aea8dbd1b907728ff332acf8899a38dbca468197a26c3c5d9"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3495,
"sha256_sum": "7f89388f366789ede1a32756d98b576a18e410f0f1a9af2ce64d0fbbcd0d971f"
@ -407,7 +451,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"en_US/m-ailabs_low": {
"files": {
@ -427,6 +472,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3656,
"sha256_sum": "4cc13cff911251e35c6b9e9c62d3239c59edc75a144753aaed6606adf23fc36f"
@ -457,7 +506,8 @@
"judy_bieber",
"mary_ann"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"en_US/vctk_low": {
"files": {
@ -477,6 +527,10 @@
"size_bytes": 45,
"sha256_sum": "fe147d22acd80ce096d7c3069bb66ece887db8b72fb5f38ac6017f7aa98a9698"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3555,
"sha256_sum": "ab38b8df74db751dc89d43c17f238ee7a5e56d8e26f59673e272ea4802d275a7"
@ -613,7 +667,8 @@
"p225",
"p362"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"es_ES/carlfm_low": {
"files": {
@ -633,6 +688,10 @@
"size_bytes": 47,
"sha256_sum": "afb36ff925af99bf47b97ff5f753a4dc1402e4a3f3e491a7898ad38791b7920c"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3401,
"sha256_sum": "e4da85d44a84c729310d8bffe81a4452bd86b7a1d3874ce3243f0e1d494e704f"
@ -651,7 +710,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"es_ES/m-ailabs_low": {
"files": {
@ -671,6 +731,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3591,
"sha256_sum": "0fbba7584b6a80430e22bb8bd0cae1a455dd664fc0c93e288b717ba833660412"
@ -697,7 +761,8 @@
"victor_villarraza",
"karen_savage"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"fa/haaniye_low": {
"files": {
@ -717,6 +782,10 @@
"size_bytes": 4,
"sha256_sum": "76f602b1dfc2d548fa1f5eddf29315c947bec31f71c95d49653927204486be39"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3667,
"sha256_sum": "fd6d675532c06e014080df6abffc870b3c299dd31e28515044858072d2e6741a"
@ -731,7 +800,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"fi_FI/harri-tapani-ylilammi_low": {
"files": {
@ -751,6 +821,10 @@
"size_bytes": 71,
"sha256_sum": "f5d064abd622989907fbf4116caa1d9914c30dc11b2fd83447d2ba9da8cec1f7"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3399,
"sha256_sum": "2c7ddf22d83670542cf21b17b8177f53cdcf4e57d581a7fc92ff3c266985c826"
@ -765,7 +839,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"fr_FR/m-ailabs_low": {
"files": {
@ -785,6 +860,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3608,
"sha256_sum": "db66a1051ae131d82ebb9257faeab5d1403ddcf33342eb84ac8e3fe4cf9c7dc9"
@ -817,7 +896,8 @@
"zeckou",
"gilles_g_le_blanc"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"fr_FR/siwis_low": {
"files": {
@ -837,6 +917,10 @@
"size_bytes": 48,
"sha256_sum": "e81bea943c3a359cef9dafdd66dd29ec6af41bed92dfc2de28879ffa44ba5c84"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3390,
"sha256_sum": "9545c9bdda9692175fae0658c754d2cd1cc786615a6ca673eae3cd6eb1b567ed"
@ -855,7 +939,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"fr_FR/tom_low": {
"files": {
@ -875,6 +960,10 @@
"size_bytes": 50,
"sha256_sum": "96978fc4977928015e2999d4497f667edb562fd1a44211a31ac2c15c94ced664"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3634,
"sha256_sum": "203dc4bafb3d3dacc0cee09959a41494ac173e53c57b3c3b75e2af1593c3859a"
@ -893,7 +982,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"hu_HU/diana-majlinger_low": {
"files": {
@ -913,6 +1003,10 @@
"size_bytes": 73,
"sha256_sum": "b8d62d6f483feb8fb6a6ccac36bdc4080a4771cbbf38ab3c4f6f9d0e93a977d6"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3396,
"sha256_sum": "f91d65016d5d2b8f3c1076552344121db024c3e49c11fcadb8dcdad65e9a192f"
@ -927,7 +1021,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"it_IT/mls_low": {
"files": {
@ -947,6 +1042,10 @@
"size_bytes": 27,
"sha256_sum": "e381746e5212214dc753e4dd5b74e31da0271cfb0f529b2aaa9b721da5a0a84f"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3634,
"sha256_sum": "36158d2347a4cf896125c5b4adf4444f9a21e2b1184b358d36e1f2964a62dc09"
@ -1009,7 +1108,8 @@
"7405",
"5010"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"it_IT/riccardo-fasol_low": {
"files": {
@ -1029,6 +1129,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3417,
"sha256_sum": "e60ee585ce2c1709c47d8bf21af6ba7fcc75e50fd533ce479ba2b00408630f8f"
@ -1047,7 +1151,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"ko_KO/kss_low": {
"files": {
@ -1067,6 +1172,10 @@
"size_bytes": 70,
"sha256_sum": "0c424cc057609d0547bf29e94a9c6dbda619787fde8ff21cc7e404d1c62d562c"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3357,
"sha256_sum": "2433ba5cefa3dd957dc1276b7a501ab7e8f4a867b6ea8daa3543a5582560157c"
@ -1081,7 +1190,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"nl/bart-de-leeuw_low": {
"files": {
@ -1101,6 +1211,10 @@
"size_bytes": 69,
"sha256_sum": "b7c9a4b2358be26c8cd98ef6f6ef731b64f6a945611db86020faead59278391c"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3628,
"sha256_sum": "3f2d000a7a72ff3764f3f2f33636419f12e6d4b6e644de3308a2f2630ff1efc0"
@ -1119,7 +1233,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"nl/flemishguy_low": {
"files": {
@ -1139,6 +1254,10 @@
"size_bytes": 52,
"sha256_sum": "47ed4627b3caa192570bf1c8d8810b3fb69ce8bf9ed85fc981f0b87df40b40b8"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3621,
"sha256_sum": "32243780361d3e8885ca85238fae167c617b5426b71e744b81d44af0c7e7222b"
@ -1157,7 +1276,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"nl/nathalie_low": {
"files": {
@ -1177,6 +1297,10 @@
"size_bytes": 50,
"sha256_sum": "6422e7d891e0d77db7a7cd9643bc8cff4c26f47d652b83b651a0179682ce65c7"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3604,
"sha256_sum": "e8e1acf414067657bd377965eb822c51f55483e2ad9a498398e473b0eae4c137"
@ -1195,7 +1319,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"nl/pmk_low": {
"files": {
@ -1215,6 +1340,10 @@
"size_bytes": 4,
"sha256_sum": "76f602b1dfc2d548fa1f5eddf29315c947bec31f71c95d49653927204486be39"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3638,
"sha256_sum": "325b363c9e604646c28f498fdce2491d1bee70b41f13710f305a6b150beb713a"
@ -1233,7 +1362,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"nl/rdh_low": {
"files": {
@ -1253,6 +1383,10 @@
"size_bytes": 37,
"sha256_sum": "e4874bd5a71c42ef3f963944571e107734928b9db960f17dfadb6e2afce2956b"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3378,
"sha256_sum": "1b9a50cd5e70e44c3aac6fa01bf4b1607627973814fc4ce7e0d4bf1166ce4305"
@ -1271,7 +1405,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"pl_PL/m-ailabs_low": {
"files": {
@ -1291,6 +1426,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3635,
"sha256_sum": "bb120183dd6153b2e5851e9af7daddf074d8a468314ad98928a1354611907b4c"
@ -1316,7 +1455,8 @@
"piotr_nater",
"nina_brown"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"ru_RU/multi_low": {
"files": {
@ -1332,6 +1472,10 @@
"size_bytes": 132,
"sha256_sum": "9c3b3fd5fe49e2e1d4e5daa5c643a713da955415d06fccf50add1185301f351a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3923,
"sha256_sum": "314e0fdd09183942d2f7393d4b950a12823849c0f72d22e62dc9858a6b4886c6"
@ -1378,7 +1522,8 @@
"minaev",
"nikolaev"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"sw/lanfrica_low": {
"files": {
@ -1394,6 +1539,10 @@
"size_bytes": 48,
"sha256_sum": "1553a74483d9094830d5d249ed6db286eb52f0e7057f0b903efd8c45656bcfeb"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3387,
"sha256_sum": "3b8f3876f998624fff4760015cbdf7cf7e8110eed9753e45a99479fdc8ba8817"
@ -1408,7 +1557,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"te_IN/cmu-indic_low": {
"files": {
@ -1428,6 +1578,10 @@
"size_bytes": 30,
"sha256_sum": "d79737ae72d64666485e1899ec32badf1f1043be2619463139d502d5f88f4167"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3647,
"sha256_sum": "aaaee2aa729ccdf98776690187bce96e63a835d91b4683ecf2951e8ad32fc485"
@ -1454,7 +1608,8 @@
"sk",
"kpn"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"tn_ZA/google-nwu_low": {
"files": {
@ -1470,6 +1625,10 @@
"size_bytes": 27,
"sha256_sum": "8a9a0d5d775c0264004b68c4ca850fd51c3d8e63cdbc9df61ec257a3ee97e025"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3885,
"sha256_sum": "169a746efc5836d4cdc5aecbae7347e0dcdab070e29511afd56a2471d9f5ac7d"
@ -1519,7 +1678,8 @@
"9365",
"7693"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"uk_UK/m-ailabs_low": {
"files": {
@ -1539,6 +1699,10 @@
"size_bytes": 61,
"sha256_sum": "841520f6a8cc616e307a92552355691f8c3087fadda2e9b7a03a7863b2d0cf6a"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 5197,
"sha256_sum": "bbd2c66d5920d9e54771d480a982e801cb23ad7de5848625d1ebc82c6b1c7752"
@ -1568,7 +1732,8 @@
"sumska",
"pysariev"
],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"vi_VN/vais1000_low": {
"files": {
@ -1588,6 +1753,10 @@
"size_bytes": 81,
"sha256_sum": "fb9722c013a1bf36d8d0d21892cc0127e1804d1e601fd28cc8c8b37e81e4b6d1"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 3641,
"sha256_sum": "2e6ed61ee8a981ccf8ed65372cc21885ec6049930535b55dc4c1164ae7323dc5"
@ -1602,7 +1771,8 @@
}
},
"speakers": [],
"properties": {}
"properties": {},
"version": "0.1.0"
},
"yo/crowdsourced_low": {
"files": {
@ -1618,6 +1788,10 @@
"size_bytes": 27,
"sha256_sum": "1506dd4714f1c2c4bf89462047b7e18ff8d9827139b8579b97daa2049ca0be6f"
},
"VERSION": {
"size_bytes": 6,
"sha256_sum": "e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
},
"config.json": {
"size_bytes": 4459,
"sha256_sum": "7ac9855af01f14c3cd39f6900c02c9c3400024115ae122806fdcaa76d009e2bc"
@ -1661,6 +1835,7 @@
"01523",
"03349"
],
"properties": {}
"properties": {},
"version": "0.1.0"
}
}

View file

@ -1 +1 @@
0.1.1
0.1.2

View file

@ -168,6 +168,9 @@ class Voice:
aliases: typing.Optional[typing.Set[str]] = None
"""Alternative keys for this voice"""
version: typing.Optional[typing.Set[str]] = None
"""Version of this voice"""
@property
def is_multispeaker(self) -> bool:
"""True if voice has multiple speakers"""