In newer versions of Nuance a Management server is required for managing configuration. Because of this Nuance has released what they call the Speech Suite. This is Nuance Speech Server, Licensing Manager, Vocalizer and Recognizer all in a single installer. For building our Nuance lab this is what we will use. That being said, this blog specifically covers getting Vocalizer or TTS working (Although Recognizer will be fully installed, I didn’t have a license so I’ll keep this for a Part 2).
Speech Suite 11 supports Windows or Linux in order to run on. We’ll be building ours in the lab on Windows 2016 Standard but here’s a full list of the OS’s supported.
One big note here: Make sure you turn off Windows Firewall or add 5060 and the entire RTP range to inbound. By default it will be blocked.
Installing MySQL Database
The first step is to install MySQL which is required for the management station, which is part of our all in one installer. As a note there is a million pieces of software you need to collect from the web yourself and put on a Nuance server to do the install. I’ve hosted a huge zip-file of them here on dropbox to save people time and save mistakes!
Looking at the ‘release notes’ document for Nuance Speech Suite 11 we see we need version 5.7. You can find this on the nuance doc portal once you have a license file and can gain access to it. You need to follow the versions exactly. I promise you it won’t work if any versions are off anywhere.
- MySQL Community Server or Enterprise Edition 5.7, 64-bit, with Java connector 5.1.39, 5.1.40, or 5.1.45 and C connector 6.1.6 6.1.11.
Therefore I have downloaded and will install mysql-install-community-220.127.116.11
A couple notes here. MySQL will go download it’s dependencies if it has access to the internet, however if it doesn’t you’re on the hook for doing them yourself. 2 that need to be done are Microsoft Visual C++ 2013 and 2015. I’m going to install these on my box first. (They are in the magic zip as well). Just double click and hit next to install them. You can also find them with a simple google on the internet.
Back to MySQL. We are gonna get this bad boy running with a double-click.
Once it finally starts up we will get this screen. We are going to choose Custom.
On the next screen we are going to select MySQL Server 5.7.28 – X64 and MySQL Connector/C 6.1.11 – X64. THIS EXACT VERSION OF THE C CONNECTOR MUST BE USED AS PER THE RELEASE NOTES.
Just hit execute on the next screen to perform the install.
Once MySQL is installed, Click ‘Next’ through a couple screen until we get to this one.
We are going to keep this as Standalone MySQL Server and click next.
On the following page we are going to choose ‘Server Computer’ and leave all the other defaults.
Click Next and You’ll get to this screen for making a MySQL Root password and adding any additional accounts. For our install we are going to use ‘C1sc0123’ for our root password. We are also going to create a separate MySQL User named ‘ms’ with password ‘C1sc0123’ that is a DBAdmin and has access to all hosts as shown in the screenshot. ‘ms’ is the username for the management station so I suggest using it.
From here we are going to hit next until it installs. We’ll see this screen confirming we are good and everything is installing.
Installing the MySQL C Connector
If you don’t have access to the internet you’ll need to download and install the C connector separately (This is also in the zip file). You’ll want to install it after the MySQL Server is installed.
Here is the file you should use.
Just double click it and next until we get to choose, ‘Custom’, ‘Complete’ or ‘Typical’. We’ll choose Typical.
Installing the Supporting Apps for Nuance
Unfortunately It’s not just MySQL. Looking at the release notes you can see we also need the following. Technically we won’t need Zookeeper because that is for Krypton which we won’t be using with Cisco UCCE. That being said, we’ll grab it anyways just in case.
We also need to look above and see that we also need to download the MySQL J (java) connector and install that. You can find this in the ZIP File. It’s imperative we use 5.1.45 for this.
The first app we are going to install is the Java SDK. We’ll just Next, Next, Finish right through this guy.
Next we’ll install Apache Tomcat. First, we are going to make a folder named ‘NuanceExtras’ in C:\
Next we are going to download tomcat (in the zip). And we are going to extract it to this folder.
Alright Tomcat is installed. Let’s do the exact same thing with zookeeper.
As you can see zookeeper comes as a tar so you may need a tool like WinRAR to extract it on Windows.
Drop it in the same ‘NuanceExtras’ folder.
Last but not least we need to do the same thing for the MySQL J Connector
Then extract it to ‘NuanceExtras’.
Building the Database Tables
The next step is to build the database tables. You’d think the installer would do it, but nope.
When you download the Nuance Speech Suite 11.0.0 installer and unzip it your going to see a folder named ‘external_db_scripts’ and in that folder is a file named ‘create-tables.sql’. This is the file we will be using.
The process out of the installation guide is exactly accurate.
To create the Management Station database:
- Get the create-tables.sql script from the external_db_scripts directory in the Management Station download package.
- Copy the scripts to the MySQL host.
- Change directory to the location of the SQL script files for creating the database tables.
- Log in to the MySQL client as root.
- Create the database. By convention the name is mserver, but you can use any name: mysql> create database mserver;
- Make a note of the database name for the Management Station installation.
- Specify the name of the Management Station database to use: mysql> USE mserver;
- Create the tables in the Management Station database: mysql> SOURCE create-tables.sql;
Alright so first we need to log into our mysql server. We are going to open a command line and cd to the ‘bin’ folder wherever you installed MySQL. We are then going to use ‘mysql -u root -p’ as the command to login. Once we enter our password, we will be given access to mysql.
From here follow the exact steps above. Here is a screenshot of me doing them. When it’s successful you’ll see a bunch of Query OK returns, just like my screenshot shows. (there is quite a few).
Generating Licenses for Nuance
When you get your product order they are going to give you a License Activation Code that will look something like LACXXXX-YYYYYYY. First we are going to go to https://licensing.nuance.com and click on Nuance Licensing.
On the next page copy and paste in your License key.
From here it will give you a list of all the licenses under that activation code. For this we are going to use our lab licenses and lab management station license. Select them and click generate.
On the next screen it will confirm the products you’ve selected and ask you to enter in your email. Enter in your email and click next.
After this you’ll be asked to associate your licenses to a host. You’ll need the host’s MAC address to create the host.
When you get to this screen above the list will be blank. Click the little plus sign and it will ask for your MAC. You need to enter your MAC as 12 chars. (no : or – )
Finally click next and your licenses will be generated. When you get to the final screen you can either have it emailed to you or save it locally to your PC.
That’s it! Now you have your licenses you’ll need for the next step.
Installing Nuance Speech Suite
We finally made it to the main event and I’m sorry to say, from here things are pretty easy. We did all the hard-work with the millions of dependencies. Now it’s easy picking.
Let’s fire up our installer. It looks like this.
Double click it and the first three screen’s are all ‘Next’. The only thing that could change is if you didn’t want to install all services on a single machine. The third screen lets you separate things out.
This is the screen where you can choose which components you ultimately want.
Next we need to select our license file. We showed you how to generate this earlier.
On the next screen it should find our Java install automatically.
After this we need to select our database. We used MySQL and we kept the database name as the standard ‘mserver’. You can technically use a different DB name if you decided to in earlier steps but I would recommend against it. Important one here. If you are installing the management station we want to use ‘localhost’ as our server name.
On the next screen we are going to point to the root folder of our Apache Tomcat instance and the JAR file of our J Connector. Remember both of them we put in the ‘NuanceExtras’ folder.
Next we need to enter in our DB credentials. Remember the username we used is ‘ms’ and the password we used is ‘C1sc0123’.
On this next screen we just need to click next. Your languages path will be blank unlike my screenshot and that’s how it should be. We are going to install languages shortly.
The final step is to click ‘Install’ on the next page. I forgot to take a screenshot, but it will be your only choice on the final page.
Once the install is finished, it will come up with a page that has ‘Finish’. Click that and reboot the box. Nuance is now installed. The next step is to test it and make a few configuration changes to ensure it will work with our Cisco CVP.
Testing The Install
Once our server comes back we are going to go back onto the box and browse to http://localhost:8080/mserver. This is the management server. The default login is ‘Administrator’ / ‘changeit’. The server has some advanced password requirements so we are going to change ours to ‘C1sc0123!’
Once that is done we will finally see the interface.
Congrats! We can confirm that Nuance is now installed. Now time to configure it.
Configuring Nuance to work with CVP
Alright so now that we have Nuance installed we need to finish configuring it. This install we are doing is only for Vocalizer (that’s the only licenses we have). Even though the speech suite installed Recognizer we won’t want to setup the box to use it because if we do services won’t start because there is no license for Recognizer.
In the screenshot above, we are going to Dropdown ‘Cluster’ to ‘Host’ and click ‘Add Network Host’. We’ll arrive at this screen.
We are going to Drop down the box that says ‘assign later’ and choose ‘1 NSS, 1 NVS, SC, & FTS’.
Click ‘Add Network Element’ and we will see our interface change. We are almost done!
Here is our new interface.
The next step is to Assign our server to this new set of resources.
Select 1NSS_1NVS_SC1 and choose ‘Network design’ at the top and you’ll see the screen below. We only have one host so just click ‘Assign’. You’ll see the interface change to this.
Now we are in business we’ll see the interface change to having the services assigned under the host.
The final step in configuring things is that we have to follow a few steps in this guide.
Mainly the absolute last step. Here is what they say.
We are going to change these settings through the management station. Select our Nuance Vocalizer Service in the management Stations and click ‘Service Properties’ in the upper right-hand corner.
When we click this it’s going to open up a new window. We’ll want to choose the ‘Settings’ tab. This is what it will look like when we open it.
We have 6 licenses for this lab. So we need to change the settings from 4 to 6. Also the most important setting for working with CVP is adding ssml_validation = warn. Without this, TTS WILL FAIL. You will find a SSML Validation error in the logs of Nuance if you forget.
Here is what my final settings look like.
This is it! The only step left is to install some languges, fire up services and point our VVB to it.
Next we need to install languages. It’s super important to note that Nuance ships with NONE. Not even English is preinstalled. You must install all of the languages you want manually.
I have placed all my languages in a folder. Every language installer is the same, just unzip the files and run setup. It will install pretty fast.
When you unzip it run the setup.exe file. Next, Next, Finish and you’ll be good to go. Install them all with services stopped. (This won’t be hard because they won’t even start without languages). You’ll see alarms in the management station if you try and start services without a language.
Here is what a language folder will look like once unzipped.
We are going to choose our server on the right side of the management station menu and then choose ‘Services’. Click start all. That’s it!
When they are all running it will look like this.
That is it, services are started. You’re probably going to want to set all of them to Automatic instead of Manual in case you restart the server. All that we have left it to point our VVB to it and test TTS with CVP Studio. (By default MRCP v1 and v2 is running on the Nuance speech server). We suggest using v2 going forward. MRCP v2 runs on 5060.
Configuring VVB for Nuance Vocalizer TTS
First log into our VVB and browse to Subsystems -> Speech Servers -> TTS Servers
Click the Add button and enter in the IP of the Nuance Server
Save the config and you will see it switch to reachable.
Enjoy your Nuance new Nuance server! Hope you enjoyed the blog!