Wednesday, December 6, 2017

Talking Alarms



As conversational user interfaces are becoming trendy with Siri and Alexa, roast masters soon might start to talk to their roasting equipment, instead of pressing buttons in the classical way to control the process. A first step in that direction is to teach Artisan how to talk.

While full voice control is possible via complex configuration on some platforms running Artisan using just system tools (like Dictation Commands, Automator, and SIRI on OS X), simple voice output works on all platforms via simple setup.

Artisan is able to run commands and programs available on an machine via the Call Program action, triggered by alarms, buttons or sliders. Luckily,  there are programs/commands that consume some text and speak it out through the loudspeaker.


Windows

Update December 2020: The program saystatic.exe is no longer available.  Two alternatives with recent development activity are voice.exe and wsay.exe.  Be sure to enclose the phrase to be spoken with quotation marks with wsay.exe.

On Windows saystatic.exe is such a program. Download that program and put it somewhere on the filesystem of your machine.

Now you can add a custom button in Artisan that speaks some text on button press. Here is an example of an Hello! button.



Just type c:\Program Files\SayStatic.exe Hello as documentation of a custom button definition. Note that you need to specify the full path to the saystatic.exe on your disk to make this work.

Check out some applications of speaking alarms Randy came up with by playing with a Hottop 2K+.


Mac OS X


Even simpler on OS X which comes already with the command say preinstall.



You can change the voice using the parameter v. Try out also some others of the preinstalled voices like this:

  • male English: say -v Alex Hello! 
  • female English: say -v Vitoria Hello!


or download additional voices that are available for almost every language by now.

  • male Italian: say -v Chao Paolo!
  • female Italian: say -v Chao Chiara!


Note that in contrast to the information given in my previous post on speaking alarms for OS X, current versions of Artisan do not need an extra script nor a path prefix before the say command. Just type say text in action description field.


Linux


On Linux you have several options to let the machine talk. Most popular are espeak and festvox festival from Speech at CMU.

Modern systems like Centos7 come with both speak tools preinstalled. If not, a quick

# apt-get install espeak
# apt-get install festival
on Ubuntu/Debian systems or
# yum -y install espeak# yum -y install festival
on CentOS/Redmine systems should do.


For espeak you can select the voice via the parameter v

# espeak -v en "English"# espeak -v en-us "American English"# espeak -v en-sc "Englisch with a Scottish accent"

and the parameters p and s allow to adjust the pitch and speed, respectively.


For festival you would use commands like

# echo "Hello!" | festival --tts 

Another option on Linux is say (GNUstep speech engine)

# sudo apt-get install gnustep-gui-runtime # say "hello"