* Group languages by their language family and use BCP47 compliant names. | * Group languages by their language family and use BCP47 compliant names. | ||||
* Support for Windows and BSD platforms. | * Support for Windows and BSD platforms. | ||||
* Removed support for WinCE, MS-DOS and RiscOS. | * Removed support for WinCE, MS-DOS and RiscOS. | ||||
* Add support for a `maintainer` field in voice files for tracking voice | |||||
maintenance. | |||||
build: | build: | ||||
- [name](#name) | - [name](#name) | ||||
- [language](#language) | - [language](#language) | ||||
- [gender](#gender) | - [gender](#gender) | ||||
- [Maintenance Attributes](#maintenance-attributes) | |||||
- [maintainer](#maintainer) | |||||
- [Voice Attributes](#voice-attributes) | - [Voice Attributes](#voice-attributes) | ||||
- [pitch](#pitch) | - [pitch](#pitch) | ||||
- [formant](#formant) | - [formant](#formant) | ||||
* \<gender\> may be male, female, or unknown. | * \<gender\> may be male, female, or unknown. | ||||
* \<age\> is optional and gives an age in years. | * \<age\> is optional and gives an age in years. | ||||
## Maintenance Attributes | |||||
### maintainer | |||||
maintainer <maintaner> | |||||
Specifies the person responsible for updating the voice and associated language | |||||
files. If no maintainer is specified, the voice does not currently have an | |||||
active maintainer. | |||||
## Voice Attributes | ## Voice Attributes | ||||
### pitch | ### pitch |
V_PHONEMES, | V_PHONEMES, | ||||
V_DICTIONARY, | V_DICTIONARY, | ||||
V_MAINTAINER, | |||||
// these affect voice quality, are independent of language | // these affect voice quality, are independent of language | ||||
V_FORMANT, | V_FORMANT, | ||||
V_PITCH, | V_PITCH, | ||||
{ "language", V_LANGUAGE }, | { "language", V_LANGUAGE }, | ||||
{ "gender", V_GENDER }, | { "gender", V_GENDER }, | ||||
{ "maintainer", V_MAINTAINER }, | |||||
{ "formant", V_FORMANT }, | { "formant", V_FORMANT }, | ||||
{ "pitch", V_PITCH }, | { "pitch", V_PITCH }, | ||||
{ "phonemes", V_PHONEMES }, | { "phonemes", V_PHONEMES }, | ||||
fprintf(stderr, "dictdialect name '%s' not recognized\n", name1); | fprintf(stderr, "dictdialect name '%s' not recognized\n", name1); | ||||
} | } | ||||
break; | break; | ||||
case V_MAINTAINER: | |||||
break; | |||||
default: | default: | ||||
if ((key & 0xff00) == 0x100) | if ((key & 0xff00) == 0x100) | ||||
sscanf(p, "%d", &langopts->param[key &0xff]); | sscanf(p, "%d", &langopts->param[key &0xff]); |