Bug report: TTS - eSpeak. (documents, code)

Under this link in the documents, reads:

Added in mycroft-core v21.2.2
Further customization of espeak voices is available through the following options:
For more information on these parameters see espeak --help

In looking at the source code (espeak_tts.py):

arguments = ['espeak', '-v', self.lang + '+' + self.voice]
        amplitude = self.config.get('amplitude')
        if amplitude:
            arguments.append('-a '+amplitude)

        gap = self.config.get('gap')
        if gap:
            arguments.append('-g '+gap)

        capital = self.config.get('capital')
        if capital:
            arguments.append('-k '+capital)

        pitch = self.config.get('pitch')
        if pitch:
            arguments.append('-p '+pitch)

        speed = self.config.get('speed')
        if speed:
            arguments.append('-s '+speed)

        arguments.extend(['-w', wav_file, sentence])
  1. The parameters (speed, amplitude) must be in LOWERCASE, or else will not be recognized by the code.
  2. Parameters must be surrounded in QUOTES in the .conf file as a STRING and not an INTEGER, or the code will error out.

This would best be filed as an issue on github.

Hey, I’ve removed the capitalized list from the docs as I can see how that could be confusing. Hopefully the example config gives a good enough example to work from?

Thank you. That will probably do the trick.

1 Like