Topics

[espeak-ng:master] reported: How to change default voice #github


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #719 How to change default voice
By OakLD:

@valdisvi I wonder, how do you set speech-dispatcher to use MBROLA engine directly (i.e. not via espeak or festival). It seems that is what you suggest and should be possible. I have it installed, but it isn't mentioned in the speech-dispatcher configuration file (like many other engines). When I try a wild guess, it doesn't work:

 #AddModule "espeak"       "sd_espeak"   "espeak.conf"
 #AddModule "espeak-ng"    "sd_espeak-ng" "espeak-ng.conf"
 AddModule "mbrola"    "sd_mbrola" "mbrola.conf"
 #AddModule "festival"     "sd_festival"  "festival.conf"
 #AddModule "flite"        "sd_flite"     "flite.conf"

I couldn't google anything either...


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #719 How to change default voice
By OakLD:

@DidierSpaier I don't think so. This only defines what engine and what setting to set the dispatcher itself to. But there are files in ~/.config/speech-dispatcher/modules/ for each engine, i.e. festival.conf, or in this case espeak.conf, to set engine-specific stuff. I believe the voices should be set here. I think it should be here you set i.e. MALE1 to mb-us1 Unfortunately, this file does not provide any example to set that and I failed to google anything on this subject.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #719 How to change default voice
By OakLD:

No I don't have Orca installed and unfortunately it is not related to my issue and can't help me. I purchased a software and for that software a plugin (I had a choice of 1 for Linux, unfortunately), that works with speech-dispatcher only. So I have free hands for what stands beyond speech-dispatcher, but I can't replace it. The default espeak voice is so horrible it's not really understandable. So I'm simply after better TTS voice quality, but I don't need perfect, just not that horrible. I'd say MBROLA is minimum acceptable quality.

I'm quite confused, whether I can set a default voice in espeak and also whether I can set them for espeak in speach-dispatcher (I know this 2nd part is a bit off topic here, I didn't ask for it originally, but since it was brought out...).


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #719 How to change default voice
By OakLD:

My mistake, I forgot to mention speech-dispatcher-module-espeak 0.8.8-lp151.3.6.1. It provides:

/etc/speech-dispatcher/modules/espeak.conf
/usr/lib64/speech-dispatcher-modules/sd_espeak

You're right that there's no espeak-ng module for speech-dispatcher available in OpenSUSE repositories. MBROLA is available, but nly German voices (!) are supplied. However, I installed some from Fedora. They're noarch, so it should be fine. There are also some packages I dind't install (didn't think they're needed), such as espeak-ng-compat and espeakedit. It's really pitty that I got my festival working with relatively quality HTS voices, I got my espeak working with MBROLA (yes, they're working when forced via a parameter in command line), but neither I can get it working with speech-dispatcher... It's so desperate that I'm looking into option to write my own plugin. But it's not a small job...


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #719 How to change default voice
By guest271314:

Note, installing a modified version of espeak-ng, e.g., following the instructions for building espeak-ng does not result in those changes being reflected at /usr/lib/speech-dispatcher-modules/sd_espeak-ng, in part

libespeak-ng.so.1_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableespeak_SetVoiceByNameespeak_Initializeespeak_SetSynthCallbackespeak_Infoespeak_SetPunctuationListespeak_SetUriCallbackespeak_ListVoicesespeak_SetParameterespeak_Synthespeak_Cancelespeak_Terminatelibsndfile.so.1sf_commandsf_opensf_strerrorsf_read_shortsf_closelibdotconf.so.0dotconf_createdotconf_cleanupdotconf_command_looplibglib-2.0.so.0g_strndupg_string_appendg_malloc0_ng_string_newg_utf8_strchrg_strdelimitg_str_has_prefixg_strdupg_strfreevg_strstr_leng_queue_peek_head_linkg_queue_freeg_malloc0g_string_append_printfg_reallocg_strsplitg_utf8_skipg_memdupg_queue_push_tailg_convertg_queue_free_fullg_convert_with_fallbackg_strcmp0g_string_freeg_utf8_validateg_mallocg_slist_appendg_file_testg_queue_get_lengthg_queue_is_emptyg_strdup_printfg_queue_newg_slist_removeg_usleeplibltdl.so.7lt_dlexitlt_dlsymlt_dlcloselt_dladvise_initlt_dlsetsearchpathlt_dlpreload_defaultlt_dladvise_destroylt_dladvise_extlt_dladvise_globallt_dlopenadviselt_dlerrorlt_dlinitlibpthread.so.0pthread_cond_destroypthread_createpthread_cancelpthread_joinpthread_setcanceltypepthread_mutex_initpthread_setcancelstatepthread_cond_broadcastsem_initpthread_cond_waitpthread_mutex_unlockpthread_cond_signalsem_postpthread_sigmasksem_trywaitpthread_cond_init__errno_locationsem_destroypthread_mutex_lockpthread_mutex_trylockpthread_mutex_destroypthread_exitsem_waitlibc.so.6_IO_stdin_usedfflush__printf_chkfopenstrncmpsigprocmasksigfillsetstdin__assert_failstrtokstrtolstrlenungetc__fprintf_chksigaddsetctimestdoutfputcfputsfclosestderrsigdelsetfwritegettimeofday__cxa_finalize_IO_getcstrcmp__libc_start_main__stack_chk_fail_edata__bss_startmodule_stopmodule_send_asynchronousmodule_recode_to_isomodule_parent_dp_readmodule_index_markcurrent_index_markmodule_strip_ssmlstr2ESpellModemodule_initmodule_sigunblockusrspd_audio_opendo_charmodule_parent_wforkmodule_list_voicesEspeakMaxRate_cb_fp_hwmodule_report_event_endstr2intpriorityEspeakPunctuationList_cbmodule_strip_punctuation_someEPunctMode2strmodule_report_event_stopdo_speakdo_stopmodule_play_filedo_debugmodule_report_event_begindo_messageDebugspd_getlinespd_audio_set_logleveldo_pausedo_audiomodule_parent_dp_initlt__PROGRAM__LTX_preloaded_symbolsEspeakMinRate_cbmodule_child_dp_readmodule_report_index_markmodule_sigblockallconfigfiledo_setspd_audio_set_volumemodule_audio_idmodule_speakmodule_tts_outputstr2EPunctModemodule_terminate_threadmodule_pausemodule_parent_dp_closemodule_child_dp_writeESpellMode2strstr2ECapLetRecognmsg_settingsdo_list_voicesspd_audio_stopspd_audio_closemodule_child_dp_initdo_sound_icon__data_startdo_loglevelmodule_strip_punctuation_defaultmodule_parent_dp_writeplayback_queue_conditionmodule_child_dp_closeEVoice2strECapLetRecogn2strCustomDebugFilelog_level__libc_csu_initEspeakNormalRate_cbEspeakSoundIconVolume_cbEspeakCapitalPitchRise_cbdo_quitstr2EVoicemodule_audio_initmodule_parent_wait_continueEspeakAudioQueueMaxSize_cbmsg_settings_oldmodule_num_dc_optionsspd_audio_get_playcmdset_speaking_thread_parametersmodule_stdout_mutex__libc_csu_finimodule_add_config_optionmodule_sigblockusrspd_audio_playmodule_loaddo_keyEspeakSoundIconFolder_cbEspeakAudioChunkSize_cbmodule_dc_optionsmodule_report_event_pauseEspeakListVoiceVariants_cbmodule_get_message_partmodule_closeDebug_cblibsndfile.so.1.0GLIBC_2.1GLIBC_2.0GLIBC_2.3.2GLIBC_2.4GLIBC_2.1.3GLIBC_2.3.4

For example, in an attempt to set SSML parsing on by default for Web Speech API so that --enable-speech-dispatcher flag at Chromium will use the modified version of espeak-ng, removed all espeak and espeak-ng packages, added | espeakSSML to L344 at espeak-ng.c, installed using make, tested espeak-ng <speak>test</speak> at terminal which output audio "test" without passing -m flag.

$ spd-say <speak>test</test> does not output the same audio, SSML is not enabled without x option, sd_espeak-ng appears to be an entirely different version of espeak-ng unrelated to installed espeak-ng by packages.

Installing python3-speechd then running spd-conf creates ~/.config/speech-dispatcher/speechd.conf where there are fields available for setting # ----- VOICE PARAMETERS -----, DefaultVoiceType, DefaultLanguage. ~/.config/speech-dispatcher/modules/espeak-ng.conf contains fields for setting EspeakListVoiceVariants.