Let’s face it. There are certain kinds of information you just don’t want to be without. And now a treasure trove of Google content is as close as your nearest Asterisk® telephone. Thanks to Google and Lefteris Zafiris, open source Asterisk text-to-speech (TTS) and speech-to-text (STT) tools are having a banner year. We wanted to join the party and offer a free collection of new Asterisk apps in conjunction with Lefteris’ new toolkits so you can take advantage of Google’s latest news, weather, and stock feeds as well as Google’s online dictionaries. Read all about the Google XML feeds here. As with most of Google’s experimental projects, there’s no guarantee that these feeds will work next year… or even next week.
With all of these new Nerd Vittles applications, you simply say what you want and leave the driving to us. To speed up the response time, just press # after saying what you’re looking for. For the weather application, get a current weather report and forecast for almost any city in the entire world. Just say the name of the city and the state, province, or country, e.g. Paris, France or Vancouver, British Columbia, or Huntsville, Alabama. You also can say the zip code or postal code for U.S. and Canadian cities if you prefer. And you can predefine 10 zip codes or postal codes for quick searches by just saying: "Number 2." We’ve predefined 0 through 9 for major Canadian cities to give you a head start. These can be changed in any way you like, including U.S. zip codes or even city and state (with no punctuation). And ignore the fact that the data array is named $canada. We were too lazy to change it to something more generic once we broadened the scope of the application.
But suppose you don’t want to choose a city and state or province. Instead you want to say a thorny Canadian mail code such as B2N 1X6. Well, now there’s a way to tell the software to let you do it phonetically. Just say: "phonetic bravo 2 nancy 1 xray 6" using any words that start with the same letters as the letters in the mail code.
The stock reports work in a similar way. Just say the name of the company’s ticker symbol and press #. Or you can predefine 10 companies to watch. Then quickly access the (almost) current trading price of your ten favorites by saying: "Number 9." We’ve predefined 10 stocks to watch to get you started. Change the entries to meet your needs by editing nv-stocks-google.php in /var/lib/asterisk/agi-bin.
What we’ve learned in building STT applications is that saying individual letters is not Google’s finest hour in speech-to-text transcription. The reason is that Google built their transcription service primarily to support conversational speech and voicemail transcription, and most folks don’t spell out words. They just say them. So… if you have problems getting good results by spelling out I-B-M, try this: "letter i, letter b, letter m." Or, better yet, just use the predefined stock option to set up your 10 favorite stocks. Then say "number 6″ whenever you want to retrieve the current trading price of Microsoft:
With the stock reports, we’ve also added the NATO phonetic alphabet to our bag of tricks. So, for I-B-M, you can simply say "India Bravo Mike" and the words will be converted to "IBM." If it’s been a while since your soldiering days, here’s a cheat sheet for you. Actually, the code is smart enough to understand any words that begin with the same letter as any particular character in the stock symbol so long as Google understands you. For example, saying "monkey smells furry things" would return the Microsoft (MSFT) stock report. Heh.
With the news headlines, you don’t have to do anything but dial the extension number and listen to the news. The number of news stories played can be adjusted by changing the 5 in line 6 of the 951 extension of /etc/asterisk/ extensions_custom.conf.
To access the online dictionaries, you have two choices. Either use Google’s own dictionary or you can open your search up to the entire web and take advantage of a much broader selection of information including Wikipedia, the Urban Dictionary, and the Free Encyclopedia. Just dial 333 and say one of the following: "define nerd" or "web define rocket scientist." You get the idea.
Prerequisites. There’s lots of Linux code necessary to make all of this work. Lucky for you, all of it comes preinstalled in the latest PBX in a Flash releases regardless of the flavor you’re running. You’ll also need activate at least one Google Voice account on your Asterisk server if you plan to use the dictionary application. If you’re using some other distribution, all we can suggest is that you peel our install script apart and attempt to install each piece. Linux is pretty good at telling you which dependencies are missing.
Installation. Installing these STT/TTS applications couldn’t be easier. It takes less than a minute on PBX in a Flash systems. Log into your server as root and issue the following commands:
tar zxvf google-apps.tgz
Using the STT/TTS Apps. From any telephone connected to your Asterisk server, just dial the following numbers to access the three Google STT/TTS applications:
- 333 – Dictionary
- 949 – Weather
- 950 – Stocks
- 951 – News Headlines
To meet your own needs, don’t forget to adjust the quick call entries in the weather and stocks AGI scripts. And remember to use the "letter" and "number" tricks to improve accuracy. There’s also some experimental code that you may wish to read about and take for a test drive.
Nerd’s Nugget: We’ve been wrestling with a new methodology to make it easy for folks to update Nerd Vittles apps by simply running the installer a second or third time. Today marks the beginning of this new approach. If you look at the dialplan code in extensions_custom.conf, you’ll see each TTS extension begins like this: ;# // BEGIN nv-weather-google. And the extension ends with a matching marker: ;# // END nv-weather-google. What this does is make it incredibly easy to remove the code using a single SED command:
sed -i ‘\:// BEGIN nv-weather-google:,\:// END nv-weather-google:d’ /etc/asterisk/extensions_custom.conf
We’ll post changes and additions for today’s scripts on the PIAF Forum. Join by clicking on the link below.
Originally published: Monday, May 14, 2012
Updated: Monday, May 28, 2012
Need help with Asterisk? Visit the PBX in a Flash Forum.
whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. And, of course, any balance is fully refundable if you decide to discontinue your service.
Some Recent Nerd Vittles Articles of Interest…