MARY TTS -- an open-source, multilingual text-to-speech synthesis system written in pure java
Clone or download
Latest commit 981a536 Jul 31, 2018
Permalink
Failed to load latest commit information.
buildSrc/src/main/groovy drop component plugin buildSrc submodule Jul 30, 2018
doc drop redundant README May 10, 2016
download update url pattern for github release assets Sep 15, 2016
gradle/wrapper upgrade Gradle wrapper to v4.9 Jul 26, 2018
lib externalize Jampack artifacts in project-local repo Oct 11, 2015
marytts-assembly prepare for v6.0 Sep 16, 2016
marytts-builder prepare for v6.0 Sep 16, 2016
marytts-client prepare for v6.0 Sep 16, 2016
marytts-common separate publishing logic into dedicated Gradle script Jul 27, 2018
marytts-languages resolve, apply component plugin from Gradle plugins portal Jul 30, 2018
marytts-redstart prepare for v6.0 Sep 16, 2016
marytts-runtime separate publishing logic into dedicated Gradle script Jul 27, 2018
marytts-signalproc separate publishing logic into dedicated Gradle script Jul 27, 2018
marytts-transcription prepare for v6.0 Sep 16, 2016
src drop redundant entries from Russian userdict Feb 22, 2017
tmp svn cosmetics Jun 15, 2010
voice-cmu-slt-hsmm resolve, apply component plugin from Gradle plugins portal Jul 30, 2018
.gitattributes add .gitattributes to normalize line endings Dec 18, 2014
.gitignore ignore IDEA metadata Sep 16, 2016
.travis.yml drop support for Java 7 Jul 30, 2018
CHANGELOG.md revised and fixed broken links for changelog Jul 30, 2018
LICENSE.md purge freetts references in documentation, licenses May 28, 2015
README.md update README Nov 15, 2016
applicationLogic.gradle include license in distribution Nov 16, 2016
build.gradle don't resolve from OJO Mar 1, 2017
buildLogic.gradle separate publishing logic into dedicated Gradle script Jul 27, 2018
dependencies.gradle upgrade Groovy dependency Jul 26, 2018
eclipse-code-style.xml add Java formatter profile from Eclipse Luna Dec 18, 2014
gpl-3.0.txt And added the license text itself. Jan 23, 2009
gradlew upgrade Gradle wrapper to v4.9 Jul 26, 2018
gradlew.bat init gradle wrapper Sep 16, 2016
lgpl-3.0.txt And added the license text itself. Jan 23, 2009
pom.xml prepare for v6.0 Sep 16, 2016
publishLogic.gradle redundantly configure each language component subproject Jul 27, 2018
settings.gradle stabilize publishing Jul 26, 2018
testLogic.gradle separate test logic into dedicated Gradle script Jul 27, 2018

README.md

Build Status

MaryTTS

This is the source code repository for the multilingual open-source MARY text-to-speech platform (MaryTTS). MaryTTS 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 MaryTTS from various angles, see the wiki.

Older documentation can also be found at http://mary.dfki.de and https://mary.opendfki.de.

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

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

Running MaryTTS

Run ./gradlew run (or gradlew.bat run on Windows) to start a MaryTTS server. Then access it at http://localhost:59125 using your web browser.

Downloading and installing voices

Run ./gradlew runInstallerGui to start an installer GUI to download and install more voices. A running MaryTTS server needs to be restarted before the new voices can be used.

Building MaryTTS

Run ./gradlew build. This will compile and test all modules, and create the output for each under build/.

Note that previously, MaryTTS v5.x was built with Maven. Please refer to the 5.x branch.

Packaging MaryTTS

Run ./gradlew distZip or ./gradlew distTar to build a distribution package under build/distributions. You can also "install" an unpacked distribution directly into build/install by running ./gradlew installDist.

The distribution contains all the files required to run a standalone MaryTTS server instance, or to download and install more voices. The scripts to run the server or installer GUI can be found inside the distribution in the bin/ directory.

Using MaryTTS in your own Java projects

The easiest way to use MaryTTS in your own Java projects is to declare a dependency on a relevant MaryTTS artifact, such as the default US English HSMM voice:

Maven

Add to your pom.xml:

<repositories>
  <repository>
    <url>https://jcenter.bintray.com</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>de.dfki.mary</groupId>
    <artifactId>voice-cmu-slt-hsmm</artifactId>
    <version>5.2</version>
  </dependency>
</dependencies>

Gradle

Add to your build.gradle:

repositories {
  jcenter()
}

dependencies {
  compile group: 'de.dfki.mary', name: 'voice-cmu-slt-hsmm', version: '5.2'
}

Synthesizing speech

Text to wav basic examples are proposed in this repository

Using MaryTTS for other programming languages

If you want to use MaryTTS for other programming languages (like python for example), you need to achieve 3 steps

  1. compiling marytts
  2. starting the server
  3. query synthesis on the server

Synthesize speech using the server

Synthesizing speech, using the server, is pretty easy. You need to generate proper HTTP queries and deal with the associated HTTP responses. Examples are proposed :

Contributing

The recommended workflow for making contributions to the MaryTTS source code is to follow the GitHub model:

  1. fork the MaryTTS repository into your own profile on GitHub, by navigating to https://github.com/marytts/marytts 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 regularly to stay in sync with latest developments on the master repo;

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

Have a look at the GitHub documentation for further details.

IDE configuration

Wiki pages are available to help you to configure your IDE to develop MaryTTS. The following IDEs have been tested and documented: