Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
MARY TTS -- an open-source, multilingual text-to-speech synthesis system written in pure java
Java Scheme HTML XSLT JavaScript Python Other

Merge branch 'upgrade-ehmm'

this concludes the ehmm part of #296
latest commit 935612c292
@psibre psibre authored
Failed to load latest commit information.
doc move licenses into website/download directory
download fix Arctic License URLs and add missing file
lib drop ehmm source tarball
marytts-assembly prepare for v5.2
marytts-builder Update to ehmm 2.7 -- concurrent processing!
marytts-client format java code in marytts-client
marytts-common Ignore punctuation tokens during the phonetisation part
marytts-languages Ignore punctuation tokens during the phonetisation part
marytts-redstart format java code in marytts-redstart
marytts-runtime Ignore punctuation tokens during the phonetisation part
marytts-signalproc format java code in marytts-signalproc
marytts-transcription format java code in marytts-transcription
src/site add marytts-installer
tmp svn cosmetics
user-dictionaries normalize line endings
user-examples Merge branch 'master' into 5.1-beta
voice-cmu-slt-hsmm prepare for v5.2
.gitattributes add .gitattributes to normalize line endings
.gitignore issue#269 - initial basic preprocessing, tests not working
.svnauthors added .svnauthors
.travis.yml trigger integration-test on travis, fail script on IT failure Wrapping lines in .md files Wrapping lines in .md files
eclipse-code-style.xml add Java formatter profile from Eclipse Luna
gpl-3.0.txt And added the license text itself.
lgpl-3.0.txt And added the license text itself.
pom.xml prepare for v5.2

Build Status


This is the source code repository for the multilingual open-source MARY text-to-speech platform (MARY TTS). MARY TTS is a client-server system written in pure Java, so it runs on many platforms.

For a downloadable package ready for use, see the releases page.

For documentation on using MARY TTS from various angles, see the wiki.

Older documentation can also be found at and .

This README is part of the the MARY TTS source code repository. It contains information about compiling and developing the MARY TTS sources.

The code comes under the Lesser General Public License LGPL version 3 -- see LICENSE.txt for details.

Working on MARY TTS code

The recommended workflow for making contributions to the MARY TTS source code is to follow the github model:

  1. fork the MARY TTS repository into your own space on github, by navigating to and clicking "fork" (of course you need a github account);

  2. use the git clone, commit, and push commands to make modifications on your own marytts repository; in this process, make sure to git pull upstream master repeatedly to stay in sync with latest developments on the master repo;

  3. when you think a reusable contribution is ready, issue a "pull request" on github to allow for easy merging into the master repository.

Have a good look at the github documentation if any of the words here seem unfamiliar.

Compiling MARY TTS on the command line

MARY TTS builds with Maven 3.0.x. If it is not installed on your system, you can get it from here:

Compiling the MARY system itself can be done using

mvn install

in the top-level folder. This will compile the system, run all unit and integration tests, package the system to the extent possible, and install it in your local maven repository.

Running the freshly built MARY TTS server

After a successful compile, you should find a ready-to-run unpacked install of the MARY TTS server system in target/marytts-<VERSION>. Run the server as


Then connect to it with your browser at http://localhost:59125 or using the in the same folder.

The runtime system is also available as deployable packages:


Installation is easy: Unpack anywhere, and run the scripts in the bin/ folder.

Using the new languages support and voice building tools

Compiling the MARY TTS system creates a folder containing the MARY TTS build tools, in


Shell scripts for the available tools are provided in the bin/ subfolder.

Using MARY TTS in your own Java projects

The easiest way to get all dependencies right is to use Maven. The example projects below user-examples should be sufficient to get you started.

The pom.xml file in each example project copies the required jar files and sets the classpath of the project jar file such that it can be simply started as follows:

java -jar user-examples/example-embedded/target/example-embedded-<VERSION>.jar

Developing MARY TTS in Eclipse

The easiest and therefore recommended way to edit MARY TTS source files is using Eclipse IDE for Java developers. We have tested with Eclipse Indigo, feel free to experiment with other versions.

Two relevant Eclipse plugins which come pre-bundled with Eclipse Indigo for Java developers are M2E Maven Eclipse Integration and Egit Eclipse Git Source code management.

M2E can be used to import the Maven projects into an Eclipse workspace as follows.

  1. Start with an empty workspace, from the "File" menu select "Import..." and open the "Maven" menu item.

  2. Import the maven projects as eclipse projects:

    a. If you have previously cloned the git repo, select "Existing Maven Projects", choose the root marytts directory as root, and select the subprojects you want to import.

    b. If you have not yet cloned the git repo, select "Checkout Maven projects from SCM", choose SCM method git (you may have to follow the link "install SCM connectors from the m2e marketplace" and install m2e-egit), and enter the git repository location as download link (e.g., to directly clone the master repo, but see "Working on MARY TTS code" above for good practice).

  3. To make the Eclipse projects aware of the version control system, select all of them, right-click and select "Team"->"Share projects". In the popup window, select "Git", click Next, then check the checkbox "Use or create repository in parent folder of project", and click "Finish".

This should get you up and running.

You are of course free to edit the source code using other tools. Just be aware that MARY TTS requires Java 6, and source file encoding must be set to UTF-8.

Something went wrong with that request. Please try again.