From 7e3e2c3854a8aaa418c578e8f3dce98179b59227 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sat, 21 May 2016 21:16:55 +0100 Subject: [PATCH] voices: support a maintainer annotation in voice files --- CHANGELOG.md | 2 ++ docs/voices.md | 12 ++++++++++++ src/libespeak-ng/voices.c | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca5e956a..1721ab1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ * Group languages by their language family and use BCP47 compliant names. * Support for Windows and BSD platforms. * Removed support for WinCE, MS-DOS and RiscOS. +* Add support for a `maintainer` field in voice files for tracking voice + maintenance. build: diff --git a/docs/voices.md b/docs/voices.md index e2a4b0a8..69892313 100644 --- a/docs/voices.md +++ b/docs/voices.md @@ -4,6 +4,8 @@ - [name](#name) - [language](#language) - [gender](#gender) +- [Maintenance Attributes](#maintenance-attributes) + - [maintainer](#maintainer) - [Voice Attributes](#voice-attributes) - [pitch](#pitch) - [formant](#formant) @@ -138,6 +140,16 @@ change the sound of the voice. * \ may be male, female, or unknown. * \ is optional and gives an age in years. +## Maintenance Attributes + +### maintainer + + maintainer + +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 ### pitch diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index 40468ae9..342543ca 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -71,6 +71,8 @@ enum { V_PHONEMES, V_DICTIONARY, + V_MAINTAINER, + // these affect voice quality, are independent of language V_FORMANT, V_PITCH, @@ -121,6 +123,8 @@ static MNEM_TAB keyword_tab[] = { { "language", V_LANGUAGE }, { "gender", V_GENDER }, + { "maintainer", V_MAINTAINER }, + { "formant", V_FORMANT }, { "pitch", V_PITCH }, { "phonemes", V_PHONEMES }, @@ -880,6 +884,8 @@ voice_t *LoadVoice(const char *vname, int control) fprintf(stderr, "dictdialect name '%s' not recognized\n", name1); } break; + case V_MAINTAINER: + break; default: if ((key & 0xff00) == 0x100) sscanf(p, "%d", &langopts->param[key &0xff]);