Flutter_TTS package behaves differently on different devices

899 Views Asked by At

Hei Dev, I am trying to make an app for my kid to learn HINDI letters with an app that speaks out.

I use flutter_tts: ^1.2.7 and have 2 devices (Samsung A8 2018, MI Redmi 4) and they both give me different results for the same code.

PS: Hindi has a lot of sounds and letters. Hindi Swar and Vyanjan list

1. Samsung A8 2018:

Says Hindi in British English, I mean every sound or letter that sounds anywhere near an English word becomes that word in output sound (with a British accent), for example

  • 'अ' (aa),'आ' (aaaa) = A
  • 'इ' (E),'ई' (EEEE) = I ,
  • 'उ' (oo),'ऊ' (oooo like in ooo la la la) = U

The engine for TEXT-to-Speach can be Google or Samsung but the result is the same.

2. MI Redmi 4:

Sounds more reasonable with sounds resembling the actual pronunciation of the letter most times (it too has accuracy problems for some character but not totally south unlike Samsung) The problem here is the Volume, everything on the phone sounds ok and even youtube videos sound loud and crisp, except my app.

The app sound is so slow that if I do not go near the device it is hard to listen.

The parameters are set to volume = 1.0 pitch = 1.0 and rate = 0.4, but I can not increase the volume.

These are both my phone with the same native language (English US)

Please suggest, I am so frustrated that I am thinking of recording and playing sounds because if the package is so unpredictable them it may not even work on IOS or a third device.

Code Sample can be the example code on the plugin page: FLUTTER_TTS package

1

There are 1 best solutions below

0
On

The devices must be using different engines. You won't be able to predict what engine is being used by any device. Even if flutter tts allowed you to specify the engine you want in code, it may not be on the device.

To get consistent results (on Android) you would have to embed a tts in the app or for total consistency across all platforms you could use a cloud service such as google cloud speech.