Adding voice modules to festival

For subjects not covered elsewhere

Adding voice modules to festival

Postby EvilTracy99 » Fri Aug 31, 2012 10:50 am

Good Morning,

As everyone knows, the included modules in festival suck out loud. The business requirements require certain words be understood by the called party. I have added several CMU modules to festival, including usr/share/lib/voices/us/cmu_us_clb_arctic

The voice modules are working correctly in festival, but I would like to integrate them into the TTS template selections. I have examined several files for the logic on how this is done, but I have so far been unsuccessful.

Any thoughts?

Tracy
EvilTracy99
 
Posts: 3
Joined: Wed Jul 18, 2012 11:37 am

Re: Adding voice modules to festival

Postby EvilTracy99 » Fri Aug 31, 2012 3:43 pm

I have successfully integrated a CMU voice into OSDial

I modified /opt/osdial/html/admin/include/content/admin/tts.php, adding new a line to $fest_voices = array();
Code: Select all
$fest_voices = array();
if (file_exists("/usr/share/festival/lib/voices/us/cmu_us_clb_arctic_clunits")) $fest_voices[] = "voice_cmu_us_clb_arctic_clunits";
if (file_exists("/usr/share/festival/lib/voices/us/nitech_us_awb_arctic_hts")) $fest_voices[] = "voice_nitech_us_awb_arctic_hts";
if (file_exists("/usr/share/festival/lib/voices/us/nitech_us_rms_arctic_hts")) $fest_voices[] = "voice_nitech_us_rms_arctic_hts";
if (file_exists("/usr/share/festival/lib/voices/us/nitech_us_jmk_arctic_hts")) $fest_voices[] = "voice_nitech_us_jmk_arctic_hts";
if (file_exists("/usr/share/festival/lib/voices/us/nitech_us_bdl_arctic_hts")) $fest_voices[] = "voice_nitech_us_bdl_arctic_hts";
if (file_exists("/usr/share/festival/lib/voices/us/nitech_us_slt_arctic_hts")) $fest_voices[] = "voice_nitech_us_slt_arctic_hts";
if (file_exists("/usr/share/festival/lib/voices/english/kal_diphone")) $fest_voices[] = "voice_kal_diphone";
if (file_exists("/usr/share/festival/lib/voices/english/ked_diphone")) $fest_voices[] = "voice_ked_diphone";
if (file_exists("/usr/share/festival/lib/voices/es/JuntaDeAndalucia_es_pa_diphone")) $fest_voices[] = "voice_JuntaDeAndalucia_es_pa_diphone";
if (file_exists("/usr/share/festival/lib/voices/es/JuntaDeAndalucia_es_sf_diphone")) $fest_voices[] = "voice_JuntaDeAndalucia_es_sf_diphone";

 

and the corresponding line to $fest_types = array();
Code: Select all
$fest_types = array();
$fest_types['voice_nitech_us_awb_arctic_hts'] = 'Scottish-accent US English male speaker "AWB"';
$fest_types['voice_nitech_us_bdl_arctic_hts'] = 'US English male speaker "BDL"';
$fest_types['voice_cmu_us_clb_arctic_clunits'] = 'US English Female CMU "CLB"';
$fest_types['voice_nitech_us_jmk_arctic_hts'] = 'Canadian-accent US English male speaker "JMK"';
$fest_types['voice_nitech_us_rms_arctic_hts'] = 'US English male speaker "RMS"';
$fest_types['voice_nitech_us_slt_arctic_hts'] = 'US English female speaker "SLT"';
$fest_types['voice_kal_diphone'] = 'American English male speaker "Kevin"';
$fest_types['voice_ked_diphone'] = 'American English male speaker "Kurt"';
$fest_types['voice_JuntaDeAndalucia_es_pa_diphone'] = 'Male Spanish voice "PAL"';
$fest_types['voice_JuntaDeAndalucia_es_sf_diphone'] = 'Female Spanish voice "SFL"';


After a restart of HTTPD, the new voice selection was available via the TTS template page, and the system played the template properly
EvilTracy99
 
Posts: 3
Joined: Wed Jul 18, 2012 11:37 am

Re: Adding voice modules to festival

Postby fadmin » Fri Aug 31, 2012 4:50 pm

Good job, thanks!
Forum Administrator
OSDial
http://osdial.com
fadmin
Site Admin
 
Posts: 283
Joined: Fri Feb 12, 2010 7:27 am


Return to General

Who is online

Users browsing this forum: dinata16, Google [Bot], noemiwa4 and 3 guests

cron