chaoscreater
Active member
Has anyone seen an issue with macros using Speak Text? Sometimes, the text will be spoken really quickly and then the rest of the actions do not run. However, if I re-run the macro, it runs perfectly fine.
It almost seems like MacroDroid needs to first initialize text to speech and then subsequent speak text will be OK. However, this "initialization" needs to happen regularly and so it's not a one-time thing on each phone reboot. I mostly use speak text in the morning when I leave for work and in the evening coming home from work. So in between that time, it seems the text to speech needs to be re-initialized again.
Some of my macros use the Bluetooth Device Connected as a trigger. When my phone is connected to e.g. my car's bluetooth, the music audio stream is played through my car's speakers, not through my phone. This can be a problem because my car's audio is muted on startup by default. There can also be other situations where my phone could be connected to other bluetooth devices with no output, e.g. a headphone. Therefore, to be able to hear the spoken text, I need to use something like Ringer audio stream.
I noticed that it's mostly the Ringer audio stream that is causing this issue. I've tried other audio streams and they either do not speak the text using the phone's speaker, due to them already connected to a bluetooth device, or that the other audio streams produce the same issue.
My speech to text setting in MacroDroid is set to english and my Android setting is set to use Google TTS. I don't have any other TTS engines apart from just Google TTS.
I even tried to create a dummy macro with a single action "speak text". I then use this macro in the very beginning of my other macros. The idea is to trigger speak text in the dummy macro, which will probably produce the "Text to Speech not working" error in the log. Then my actual macro will run its own speak text and *should* work, but they don't.....
If I take out speak text completely, my macros run perfectly fine. However, I need to use speak text.
It almost seems like MacroDroid needs to first initialize text to speech and then subsequent speak text will be OK. However, this "initialization" needs to happen regularly and so it's not a one-time thing on each phone reboot. I mostly use speak text in the morning when I leave for work and in the evening coming home from work. So in between that time, it seems the text to speech needs to be re-initialized again.
Some of my macros use the Bluetooth Device Connected as a trigger. When my phone is connected to e.g. my car's bluetooth, the music audio stream is played through my car's speakers, not through my phone. This can be a problem because my car's audio is muted on startup by default. There can also be other situations where my phone could be connected to other bluetooth devices with no output, e.g. a headphone. Therefore, to be able to hear the spoken text, I need to use something like Ringer audio stream.
I noticed that it's mostly the Ringer audio stream that is causing this issue. I've tried other audio streams and they either do not speak the text using the phone's speaker, due to them already connected to a bluetooth device, or that the other audio streams produce the same issue.
My speech to text setting in MacroDroid is set to english and my Android setting is set to use Google TTS. I don't have any other TTS engines apart from just Google TTS.
I even tried to create a dummy macro with a single action "speak text". I then use this macro in the very beginning of my other macros. The idea is to trigger speak text in the dummy macro, which will probably produce the "Text to Speech not working" error in the log. Then my actual macro will run its own speak text and *should* work, but they don't.....
If I take out speak text completely, my macros run perfectly fine. However, I need to use speak text.
Last edited: