Well a long time ago I was thinking to myself "the Shout Box is a bit narrow, it could be a bit more IRC-like" and then I searched LMR and found this interesting post. I also found some comment by our Lord and Saviour, The Frits which explained why the Shout Box was just perfect as it is, and I agreed with his viewpoint and then ceased all explorations on the subject.
For the record, and as a reminder, the Shout Box is not to be used for help because information deposited there is no indexed and is ephemeral. Hence, it is why that the rules state that the Shout Box is only for fun. And in my long vigil over the SB all this time I came to realize how easily it can be become a crutch, but let us not speak of the unmentionable and his shenanigans!
But in the wake, of the non-said but aforementioned shenanigans Maxhirez suggested that a "User X login spoken alert system" would be a nice thing to have... and again I felt like thinkering with the Shout Box would be a good idea... but for some reason that I can't recall I just let it go.
In the meantime I've finally done something of a helper to post images on the SB and I left it at that and finally sated my wish to mess about with the SB, even if it was a little thing as that was.
And finally... more recently I saw JAX furiously and devoutly working on a Shout Box speaker for his Rpi which led up to this. And the urges started sprouting again... which were even more enhanced by the discussion on the TTS subject over on the SB itself, with Protowrxs making his own version, and 6677 vividly engaging in the discussion at the very least, plus more people showing interest that now I forget.
And so I finally decided to mess around with the SB again, mostly because well... I'm sort of the ghost of the SB, and clearly there were other things I should be doing but didn't want to. To me, the TTS part was mostly a collateral, just a showcase example, my main objective was to "juggle the posts", and train my text preprocessing skills.
So my design objectives were:
- Make as much as is in python as I could.
- Make it modular, OO and easily extendable.
- And while I was at it, why not throw in a few handlers for TTS engines.
So I started with TinHead's pioneer work code for retrieving shouts, and refactored into a pretty class...
...and from there on there were quite a few, unhealthy unresponsible long nights working on it, lots of fustrations and lots of cursing, being that one biggest sources for fustration is the python REGEX module, and its nuances... plus handling different charsets can be quite the pain if you're not aware of it 110% of the time...
Anyway, I've ended up with a reasonably nice and usable version, written in python (with only exceptions being the TTS engines and ancillary programs -- but being called via python subprocess module).
Right now, my LMRchatterBox runs on my linux boxes (where it was developed) and can speak using:
- festival (+ MBROLA);
- SVOX (pico2wave + aplay for playback)
- Google TTS service ( + mplayer for playback) [Probably the best/easiest option for multi-platform porting]
Code and basic instructions are now available at:
https://github.com/kariloy/LMRchatterBox
https://www.youtube.com/watch?v=3TFuFuFddWg