To switch the default sound path and audio for both playback and mod_say_X, it seems you modify 2 things:

<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
<X-PRE-PROCESS cmd="set" data="default_language=en"/>

But I'm trying to test a new english voice (amazon's neural Matthew, digits/ivr/currency available here)

Changing the sounds_prefix worked for the audio files, but not for mod_say_en.
I found that if I modified /usr/share/freeswitch/lang/en/en.xml:
<language name="en" say-module="en" sound-prefix="$${sound_prefix}" tts-engine="cepstral" tts-voice="callie">
... to not evaluate on startup/original, but the current value, then it worked.
<language name="en" say-module="en" sound-prefix="${sound_prefix}" tts-engine="cepstral" tts-voice="callie">


But now I'm getting this error anytime I use mod_say_en -- even though it's working.
EXECUTE sofia/internal/1000@YYYY  say(en NUMBER ITERATED 1000)
2020-05-04 20:19:28.963796 [CRIT] switch_channel.c:1436 Invalid data (${sound_prefix} contains a variable)

Is this a mistaken error? Was I supposed to modify this somehow else?

Thanks.
-Avi Marcus