espeak-ng icon indicating copy to clipboard operation
espeak-ng copied to clipboard

Adding multiple Swiss-German Dialects

Open Roemer opened this issue 1 year ago • 1 comments

Hello all

I am interested in adding a few dialects in Swiss-German to espeak-ng (ultimatively in order to add Swiss-German to https://github.com/rhasspy/piper).

But except of being an it-guy and speaking Swiss-German myself, I don't know a lot about languages. I was able to build espeak-ng in a vscode dev container, add a gsw language and added the numbers 1-11, which seems to work fine. But now I am struggling quite a but with the rules and that else needs to be in the list file.

Also I would like to support the following dialects: AG, BE, BS, GR, LU, SG, VS, ZH

How would I add those dialects? I found in IETF that for ZH Swiss-German, the tag seems to be gsw-u-sd-chzh, so I could to the same for the other 7 dialects. But where would I add this? Can they share rules and list files or does each need they own?

I am working on a fork here: https://github.com/Roemer/espeak-ng/tree/feature/swiss-german

Many thanks for giving me some pointers or help.

Roemer avatar Jun 07 '23 21:06 Roemer

I neither have any experience with espeak, just followed the documentation where it is described which files need to be added (https://github.com/Roemer/espeak-ng/blob/feature/swiss-german/docs/add_language.md#configuration-files). According to my understanding each dialect is treated like a language (i.e. a separate language file is required, the name would then be something like de-zh or de-chzh). In the phonemes one could then base either on German or on a different Swiss dialect. I assume for the first dialect the easiest way would be to copy the German file and to adopt, as the pronounciation rules might be similar (this is what I did in my draft PR #1724, but I could not yet test it).

dontinelli avatar Jun 08 '23 06:06 dontinelli