There is no fr-CA language dialect dialect file, nor has there been in the espeak/espeak-ng history. The fr-CA phoneme table defined the additional phonemes [U], [y"], [E:], and [A]. The fr-FR phoneme table mapped these to [u], [y], [E], and [a] respectively. This meant to describe the phonemes that have not been merged in fr-CA, but have merged in fr-FR, as described in https://en.wikipedia.org/wiki/Quebec_French_phonology. The only use of these phonemes in the French dictionary was with the word "tramway" using [E:]. This has been replaced with [E] to match the rest of the dictionary file transcriptions, and those phonemes for fr-CA have been removed. If fr-CA is supported in the future, the French dictionary would need to be modified to reverse the merger of the phonemes that are not merged in fr-CA, with the merge logic being performed in the fr-FR phoneme table like in the code being removed in this commit.master
| @@ -299,7 +299,6 @@ phsource/phonemes.stamp: \ | |||
| phsource/ph_farsi \ | |||
| phsource/ph_finnish \ | |||
| phsource/ph_french \ | |||
| phsource/ph_french_ca \ | |||
| phsource/ph_georgian \ | |||
| phsource/ph_german \ | |||
| phsource/ph_greek \ | |||
| @@ -814,7 +814,7 @@ there _^_en | |||
| thierry tjEri | |||
| those _^_en | |||
| to tu $u+ | |||
| tramway tramwE: | |||
| tramway tramwE | |||
| tuttiquanti tutikw'anti | |||
| vaut $u+ | |||
| vaux $u+ | |||
| @@ -13,7 +13,7 @@ endphoneme | |||
| phoneme : // Lengthen previous vowel by "length" | |||
| virtual | |||
| length 40 // shorter than for fr-ca | |||
| length 40 | |||
| endphoneme | |||
| phoneme #cFR virtual | |||
| @@ -592,27 +592,6 @@ endphoneme | |||
| // These vowels map to others in fr-fr, but are distinct in fr-ca | |||
| phoneme U // same as [u] | |||
| import_phoneme fr/u | |||
| endphoneme | |||
| phoneme y" // same as [y] | |||
| import_phoneme fr/y | |||
| endphoneme | |||
| phoneme E: // slightly longer than [E] | |||
| import_phoneme E | |||
| endphoneme | |||
| phoneme A // same as [a] | |||
| import_phoneme a | |||
| endphoneme | |||
| // CONSONANTS | |||
| //=========== | |||
| // uses the consonants in file "phonemes", unless overridden here | |||
| @@ -1,87 +0,0 @@ | |||
| //==================================================== | |||
| // French - Canadian | |||
| //==================================================== | |||
| // Based on French. | |||
| // This file redefines phonemes which differ from those in ph_french | |||
| phoneme : // Lengthen previous vowel by "length" | |||
| virtual | |||
| length 70 | |||
| endphoneme | |||
| phoneme E | |||
| vwl starttype #e endtype #e | |||
| length 164 | |||
| FMT(vowel/e_mid) | |||
| endphoneme | |||
| phoneme u | |||
| vwl starttype #u endtype #u | |||
| length 174 | |||
| FMT(vowel/u_bck) | |||
| endphoneme | |||
| phoneme E~ | |||
| vwl starttype #e endtype #e | |||
| length 192 | |||
| FMT(vnasal/ee_n) | |||
| endphoneme | |||
| phoneme I | |||
| vwl starttype #i endtype #i | |||
| length 158 | |||
| IfNextVowelAppend(;) | |||
| FMT(vowel/ii) | |||
| endphoneme | |||
| phoneme U | |||
| vwl starttype #u endtype #u | |||
| length 150 | |||
| FMT(vowel/uu_bck) | |||
| endphoneme | |||
| phoneme y" | |||
| vwl starttype #u endtype #u | |||
| length 140 | |||
| FMT(vowel/yy) // was sv_y2 | |||
| endphoneme | |||
| phoneme E: // [ae] diphthong | |||
| vwl starttype #@ endtype #e | |||
| length 230 | |||
| FMT(vdiph/ae) | |||
| endphoneme | |||
| phoneme A | |||
| vwl starttype #a endtype #a | |||
| length 166 | |||
| FMT(vowel/aa) | |||
| endphoneme | |||
| // CONSONANTS | |||
| //=========== | |||
| // uses the consonants in file "phonemes", unless overridden here | |||
| phoneme R | |||
| liquid trl | |||
| lengthmod 7 | |||
| Vowelin f1=0 f2=1500 -400 400 f3=-400 80 | |||
| IF nextPh(isNotVowel) THEN | |||
| ChangePhoneme(r/) | |||
| ENDIF | |||
| FMT(vwl_fr/@R2) addWav(r3/rx, 120) | |||
| endphoneme | |||
| @@ -1734,9 +1734,6 @@ include ph_estonian | |||
| phonemetable fr base1 | |||
| include ph_french | |||
| phonemetable fr-ca fr | |||
| include ph_french_ca | |||
| phonemetable hak base1 | |||
| include ph_hakka | |||
| @@ -65,6 +65,6 @@ test_lang eu 804e3829faa40e6e48aa43ad5a372372808d66f6 "ma na n^a pa ta ca ka ba | |||
| test_lang fa d2bdd62b68a21cea12d095b5032c7eb19759c133 "ma na Na pa ba ta da ka ga qa ?a fa va sa za Sa Za xa Qa ha tSa dZa Ra la ja _:_ mA mi mu ma me mo meI moU" | |||
| test_lang fa-Latn d2bdd62b68a21cea12d095b5032c7eb19759c133 "ma na Na pa ba ta da ka ga qa ?a fa va sa za Sa Za xa Qa ha tSa dZa Ra la ja _:_ mA mi mu ma me mo meI moU" | |||
| test_lang "fi" 38e641b031af4f2d39ee150ca3f26f4bc84d9aa0 "ma na Na pa ba ta da ka ga ?a fa sa Sa ha va la ja Ra R2a s2a _:_ mi mI me m& ma ma2 mo mY mu mu1 mU my mai m&i moi mei mYi mui myi mau mou meu miu m&y mey mYy miy muo mie myY" | |||
| test_lang fr 3e2bddf8ddae0be8779df7691b44707eaf3f2aa0 "ma na n^a Na pa ta ka ba da ga fa sa Sa va za Za la ja ra Ra wa r2a r/a r/2a l/a l/2a w/a n2a p2a t2a t3a z2a z3a _:_ m@ m@- ma ma- me me- mE mE- mi mj/ mo mO moU mu mu: my my- mW mY mA~ mE~ mO~ mW~ mU my\" mE: mA _:_ ma# mI mI2 mW2 mV" | |||
| test_lang fr-BE 3e2bddf8ddae0be8779df7691b44707eaf3f2aa0 "ma na n^a Na pa ta ka ba da ga fa sa Sa va za Za la ja ra Ra wa r2a r/a r/2a l/a l/2a w/a n2a p2a t2a t3a z2a z3a _:_ m@ m@- ma ma- me me- mE mE- mi mj/ mo mO moU mu mu: my my- mW mY mA~ mE~ mO~ mW~ mU my\" mE: mA _:_ ma# mI mI2 mW2 mV" | |||
| test_lang fr-CH 3e2bddf8ddae0be8779df7691b44707eaf3f2aa0 "ma na n^a Na pa ta ka ba da ga fa sa Sa va za Za la ja ra Ra wa r2a r/a r/2a l/a l/2a w/a n2a p2a t2a t3a z2a z3a _:_ m@ m@- ma ma- me me- mE mE- mi mj/ mo mO moU mu mu: my my- mW mY mA~ mE~ mO~ mW~ mU my\" mE: mA _:_ ma# mI mI2 mW2 mV" | |||
| test_lang fr 4e312a224c8976da90a7faec8edabbc2fe311310 "ma na n^a Na pa ta ka ba da ga fa sa Sa va za Za la ja ra Ra wa r2a r/a r/2a l/a l/2a w/a n2a p2a t2a t3a z2a z3a _:_ m@ m@- ma ma- me me- mE mE- mi mj/ mo mO moU mu mu: my my- mW mY mA~ mE~ mO~ mW~ _:_ ma# mI mI2 mW2 mV" | |||
| test_lang fr-BE 4e312a224c8976da90a7faec8edabbc2fe311310 "ma na n^a Na pa ta ka ba da ga fa sa Sa va za Za la ja ra Ra wa r2a r/a r/2a l/a l/2a w/a n2a p2a t2a t3a z2a z3a _:_ m@ m@- ma ma- me me- mE mE- mi mj/ mo mO moU mu mu: my my- mW mY mA~ mE~ mO~ mW~ _:_ ma# mI mI2 mW2 mV" | |||
| test_lang fr-CH 4e312a224c8976da90a7faec8edabbc2fe311310 "ma na n^a Na pa ta ka ba da ga fa sa Sa va za Za la ja ra Ra wa r2a r/a r/2a l/a l/2a w/a n2a p2a t2a t3a z2a z3a _:_ m@ m@- ma ma- me me- mE mE- mi mj/ mo mO moU mu mu: my my- mW mY mA~ mE~ mO~ mW~ _:_ ma# mI mI2 mW2 mV" | |||