The number 1000000000 tries to have a voiceless velar
fricative, I think, which is NOT how sextillion is pronounced in
English.
```
espeak-ng -q -x 1000000000
w'0n sExt'Ili@n
```
This PR removes two unnecessary rules in Polish. They both make sense
for English (probably someone just copied them from the English file),
but make pronunciation of several Polish words incorrect.
Fix missing function declaration that prevents build on modern C compilers (#1811)
Without this function declaration, the build fails on modern C compilers
(ISO C99). This affects e.g. builds on Apple Silicon. This fix is also
needed in order to compile
[rhasspy/piper](https://github.com/rhasspy/piper) on Apple Silicon.
Build error was:
```
/Users/leo/Development/piper/build/p/src/piper_phonemize_external-build/e/src/espeak_ng_external/src/libespeak-ng/speech.c:872:3: error: call to undeclared function 'TranslateClauseWithTerminator'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
TranslateClauseWithTerminator(translator, NULL, NULL, terminator);
^
1 error generated.
```
Without this function declaration, the build fails on modern C compilers (ISO C99). This affects e.g. builds on Apple Silicon. This fix is also needed in order to compile rasspy/piper on Apple silicon
speechPlayer: fix sample type qualification to avoid ambiguity (#1722)
As reported in <https://bugs.freebsd.org/271486>, when the C++ standard
library provides std::sample, it causes a compile error when compiling
`speechWaveGenerator.cpp`:
```
src/speechPlayer/src/speechWaveGenerator.cpp:197:56: error: reference to 'sample' is ambiguous
unsigned int generate(const unsigned int sampleCount, sample* sampleBuf) {
^
src/speechPlayer/src/sample.h:23:3: note: candidate found by name lookup is 'sample'
} sample;
^
/usr/include/c++/v1/__algorithm/sample.h:95:17: note: candidate found by name lookup is 'std::sample'
_SampleIterator sample(_PopulationIterator __first,
^
```
Since `speechWaveGenerator.cpp` puts `using namespace std;` at the top,
fix the error by qualifying `sample` with an explicit `::`.
speechPlayer: fix sample type qualification to avoid ambiguity
As reported in <https://bugs.freebsd.org/271486>, when the C++ standard
library provides std::sample, it causes a compile error when compiling
speechWaveGenerator.cpp:
src/speechPlayer/src/speechWaveGenerator.cpp:197:56: error: reference to 'sample' is ambiguous
unsigned int generate(const unsigned int sampleCount, sample* sampleBuf) {
^
src/speechPlayer/src/sample.h:23:3: note: candidate found by name lookup is 'sample'
} sample;
^
/usr/include/c++/v1/__algorithm/sample.h:95:17: note: candidate found by name lookup is 'std::sample'
_SampleIterator sample(_PopulationIterator __first,
^
Since speechWaveGenerator.cpp puts "using namespace std;" at the top,
fix the error by qualifying "sample" with an explicit "::".
translate: fix uppercase word split during alphabet change (#1743)
Reported by @kirill-jjj.
Before:
```
✗ espeak-ng -x -vru кошKa
k'oS(en)'eI(ru)
✗ espeak-ng -x -vru юMoney
'ju(en)w'0ni(ru)
✗ espeak-ng -x -vru ЮMoney
'ju(en)w'0ni(ru)
```
After:
```
✗ espeak-ng -x -vru кошKa
k'oS(en)k'A:(ru)
✗ espeak-ng -x -vru юMoney
'ju(en)m'Vni(ru)
✗ espeak-ng -x -vru ЮMoney
'ju(en)m'Vni(ru)
```
I have not noticed any negative side-effects and tests are still
passing.
But I think there should be a more precise testing, because translator
code is very complex (and poorly organised, and not documented, and...)