Setting modrana to use voice navigation with mbrola

(This document outlines how to use modrana with mbrola TTS and voices)
(use mbrola voice by default)
 
(5 intermediate revisions not shown)
Line 2: Line 2:
  sudo gainroot
  sudo gainroot
  apt-get install espeak
  apt-get install espeak
 +
1. Download the mbrola ARM binary from http://tcts.fpms.ac.be/synthesis/mbrola/bin/armlinux/mbrola.rar
1. Download the mbrola ARM binary from http://tcts.fpms.ac.be/synthesis/mbrola/bin/armlinux/mbrola.rar
 +
2. Untar the file, and then copy the mbrola binary to somewhere in your execution path, for example /usr/bin/mbrola
2. Untar the file, and then copy the mbrola binary to somewhere in your execution path, for example /usr/bin/mbrola
 +
3. As root, change the owner of the mbrola executable to root, and make it executable:
3. As root, change the owner of the mbrola executable to root, and make it executable:
  sudo gainroot
  sudo gainroot
  chown root /usr/bin/mbrola
  chown root /usr/bin/mbrola
  chmod 755 /usr/bin/mbrola
  chmod 755 /usr/bin/mbrola
 +
4. Download any voices you want from http://tcts.fpms.ac.be/synthesis/mbrola.html
4. Download any voices you want from http://tcts.fpms.ac.be/synthesis/mbrola.html
For example, for a British Male voice, download http://tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip
For example, for a British Male voice, download http://tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip
 +
5. Make a directory where to store the voice data files:
5. Make a directory where to store the voice data files:
  mkdir /usr/share/mbrola/
  mkdir /usr/share/mbrola/
-
5. Extract the contents of the zip file, and then copy the en1 data file (not the whole en1 directory) to the /usr/share/mbrola directory:
+
 
 +
6. Extract the contents of the zip file, and then copy the en1 data file (not the whole en1 directory) to the /usr/share/mbrola directory:
  cp en1 /usr/share/mbrola/
  cp en1 /usr/share/mbrola/
-
6. Test the mbrola voice with espeak:
+
 
 +
7. Test the mbrola voice with espeak:
  espeak -v mb-en1 -s 150 "this is a test"
  espeak -v mb-en1 -s 150 "this is a test"
-
7. If the test succeeds, set up modrana to use this voice:
+
 
 +
(Notice that mbrola uses our en1 voice via a wrapper voice named mb-en1)
 +
 
 +
8. If the test succeeds, set up modrana to use this voice:
*From modrana, click on Options > Sound > Voice
*From modrana, click on Options > Sound > Voice
* Set "Voice parameters" to "manual"
* Set "Voice parameters" to "manual"
* Click on "Edit voice string", and enter this string:
* Click on "Edit voice string", and enter this string:
  espeak -v mb-en1 -s 150 -a %volume% -m %qmessage%
  espeak -v mb-en1 -s 150 -a %volume% -m %qmessage%
-
(Where -s 150 means "talk at a speed of 150 words per minute")
+
(Where -s 150 means "talk at a speed of 150 words per minute")
* Now, create a route to test the new voice.
* Now, create a route to test the new voice.
 +
 +
 +
Alternatively, you can configure espeak to use the selected voice by default:
 +
  $ sudo cp /opt/espeak/data/voices/mb/mb-us1 /opt/espeak/data/voices/default

Latest revision as of 02:35, 4 November 2014

0. If espeak is not installed in your N900, install it now:

sudo gainroot
apt-get install espeak

1. Download the mbrola ARM binary from http://tcts.fpms.ac.be/synthesis/mbrola/bin/armlinux/mbrola.rar

2. Untar the file, and then copy the mbrola binary to somewhere in your execution path, for example /usr/bin/mbrola

3. As root, change the owner of the mbrola executable to root, and make it executable:

sudo gainroot
chown root /usr/bin/mbrola
chmod 755 /usr/bin/mbrola

4. Download any voices you want from http://tcts.fpms.ac.be/synthesis/mbrola.html For example, for a British Male voice, download http://tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip

5. Make a directory where to store the voice data files:

mkdir /usr/share/mbrola/

6. Extract the contents of the zip file, and then copy the en1 data file (not the whole en1 directory) to the /usr/share/mbrola directory:

cp en1 /usr/share/mbrola/

7. Test the mbrola voice with espeak:

espeak -v mb-en1 -s 150 "this is a test"

(Notice that mbrola uses our en1 voice via a wrapper voice named mb-en1)

8. If the test succeeds, set up modrana to use this voice:

  • From modrana, click on Options > Sound > Voice
  • Set "Voice parameters" to "manual"
  • Click on "Edit voice string", and enter this string:
espeak -v mb-en1 -s 150 -a %volume% -m %qmessage%

(Where -s 150 means "talk at a speed of 150 words per minute")

  • Now, create a route to test the new voice.


Alternatively, you can configure espeak to use the selected voice by default:

 $ sudo cp /opt/espeak/data/voices/mb/mb-us1 /opt/espeak/data/voices/default