# Install Maven
brew install maven
# Install marytts
# Downloads a large number of tiny files.
# Install marytts-lang-sa inside the marytts-languages directory
# Return to the marytts root directory and edit relevant files
cd ..
# Edit marytts-languages/pom.xml and add marytts-lang-sa
vim marytts-languages/pom.xml
# Edit marytts-assembly/assembly-runtime/pom.xml and add marytts-lang-sa
vim marytts-assembly/assembly-runtime/pom.xml
# Install marytts again
mvn install
# Start the marytts server
./target/marytts-5.2-SNAPSHOT/bin/marytts-server
This fails with
% ./target/marytts-5.2-SNAPSHOT/bin/marytts-server
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
MARY server 5.2-SNAPSHOT starting as a HTTP server...Exception in thread "main" marytts.exceptions.MaryConfigurationException: Cannot instantiate object from 'marytts.modules.JPhonemiser(sa.)': For property 'sa.lexicon', no classpath resource available at '/marytts/language/sa/lexicon/sa_lexicon.fst'
at marytts.util.MaryRuntimeUtils.instantiateObject(MaryRuntimeUtils.java:130)
at marytts.modules.ModuleRegistry.instantiateModule(ModuleRegistry.java:88)
at marytts.server.Mary.startModules(Mary.java:131)
at marytts.server.Mary.startup(Mary.java:297)
at marytts.server.Mary.startup(Mary.java:204)
at marytts.server.Mary.main(Mary.java:513)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at marytts.util.MaryRuntimeUtils.instantiateObject(MaryRuntimeUtils.java:124)
... 5 more
Caused by: marytts.exceptions.MaryConfigurationException: For property 'sa.lexicon', no classpath resource available at '/marytts/language/sa/lexicon/sa_lexicon.fst'
at marytts.server.MaryProperties.getStream(MaryProperties.java:436)
at marytts.server.MaryProperties.needStream(MaryProperties.java:412)
at marytts.modules.JPhonemiser.<init>(JPhonemiser.java:143)
at marytts.modules.JPhonemiser.<init>(JPhonemiser.java:74)
... 10 more
Exception in thread "Thread-1" java.lang.IllegalStateException: MARY system is not running
at marytts.server.Mary.shutdown(Mary.java:371)
at marytts.server.Mary$2.run(Mary.java:290)