{"id":13582740,"url":"https://github.com/marytts/marytts","last_synced_at":"2025-05-12T15:34:53.356Z","repository":{"id":2081446,"uuid":"3020895","full_name":"marytts/marytts","owner":"marytts","description":"MARY TTS -- an open-source, multilingual text-to-speech synthesis system written in pure java","archived":false,"fork":false,"pushed_at":"2025-01-17T18:26:22.000Z","size":149964,"stargazers_count":2460,"open_issues_count":135,"forks_count":752,"subscribers_count":133,"default_branch":"master","last_synced_at":"2025-04-23T17:36:02.628Z","etag":null,"topics":["java","speech-synthesis","text-to-speech","tts"],"latest_commit_sha":null,"homepage":"https://marytts.github.io/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marytts.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-20T16:44:48.000Z","updated_at":"2025-04-22T10:53:32.000Z","dependencies_parsed_at":"2025-03-17T15:00:38.285Z","dependency_job_id":null,"html_url":"https://github.com/marytts/marytts","commit_stats":{"total_commits":4079,"total_committers":71,"mean_commits":57.45070422535211,"dds":0.7139004658004413,"last_synced_commit":"135815000fb8f29da9bdf391948a21646d12442a"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marytts%2Fmarytts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marytts%2Fmarytts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marytts%2Fmarytts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marytts%2Fmarytts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marytts","download_url":"https://codeload.github.com/marytts/marytts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253766355,"owners_count":21960897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","speech-synthesis","text-to-speech","tts"],"created_at":"2024-08-01T15:02:59.018Z","updated_at":"2025-05-12T15:34:53.330Z","avatar_url":"https://github.com/marytts.png","language":"Java","funding_links":[],"categories":["Java","Software","语音合成","Text-to-Speech (TTS)","Open Source TTS Libraries","人工智能"],"sub_categories":["Utilities","网络服务_其他","Open-Source Models \u0026 Libraries","Other Programming Languages"],"readme":"[![CI](https://github.com/marytts/marytts/actions/workflows/main.yml/badge.svg)](https://github.com/marytts/marytts/actions/workflows/main.yml)\r\n\r\n# MaryTTS\r\n\r\nThis is the source code repository for the multilingual open-source MARY text-to-speech platform (MaryTTS).\r\nMaryTTS is a client-server system written in pure Java, so it runs on many platforms.\r\n\r\n**For a downloadable package ready for use, see [the releases page](https://github.com/marytts/marytts/releases).**\r\n\r\nOlder documentation can also be found at https://github.com/marytts/marytts-wiki, http://mary.dfki.de and https://mary.opendfki.de.\r\n\r\nThis README is part of the the MaryTTS source code repository.\r\nIt contains information about compiling and developing the MaryTTS sources.\r\n\r\nThe code comes under the Lesser General Public License LGPL version 3 -- see LICENSE.md for details.\r\n\r\n\r\n## Running MaryTTS\r\n\r\nRun `./gradlew run`  (or `gradlew.bat run` on Windows) to start a MaryTTS server.\r\nThen access it at http://localhost:59125 using your web browser.\r\n\r\nIf you want to start a MaryTTS on a different address and port, you can use the following options:\r\n\r\n```sh\r\n./gradlew run -Dsocket.port=5920 -Dsocket.addr=0.0.0.0 --info\r\n```\r\nwhere 5920 is the new port and 0.0.0.0 the new address. In case of the address being 0.0.0.0, all the interfaces will be listened.\r\n\r\nBy using the option `--info`, you set the logger of `gradle` *AND* MaryTTS at the level INFO. By using `--debug`, you set the level to DEBUG.\r\n\r\nIt is also possible to set the MaryTTS logger level to `INFO` or `DEBUG` by defining the system variable `log4j.logger.marytts`.\r\n\r\n## Downloading and installing voices\r\n\r\nRun `./gradlew runInstallerGui` to start an installer GUI to download and install more voices.\r\nA running MaryTTS server needs to be restarted before the new voices can be used.\r\n\r\n\r\n## Building MaryTTS\r\n\r\nRun `./gradlew build`.\r\nThis will compile and test all modules, and create the output for each under `build/`.\r\n\r\nNote that previously, MaryTTS v5.x was built with Maven. Please refer to the [**5.x branch**](https://github.com/marytts/marytts/tree/5.x).\r\n\r\n\r\n## Packaging MaryTTS\r\n\r\nRun `./gradlew distZip` or `./gradlew distTar` to build a distribution package under `build/distributions`.\r\nYou can also \"install\" an unpacked distribution directly into `build/install` by running `./gradlew installDist`.\r\n\r\nThe distribution contains all the files required to run a standalone MaryTTS server instance, or to download and install more voices.\r\nThe scripts to run the server or installer GUI can be found inside the distribution in the `bin/` directory.\r\n\r\n\r\n##  Using MaryTTS in your own Java projects\r\n\r\nThe 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:\r\n\r\n### Maven\r\n\r\nAdd to your `pom.xml`:\r\n```xml\r\n\u003crepositories\u003e\r\n  \u003crepository\u003e\r\n    \u003curl\u003ehttps://raw.githubusercontent.com/DFKI-MLT/Maven-Repository/main\u003c/url\u003e\r\n  \u003c/repository\u003e\r\n\u003c/repositories\u003e\r\n\r\n\u003cdependencies\u003e\r\n  \u003cdependency\u003e\r\n    \u003cgroupId\u003ede.dfki.mary\u003c/groupId\u003e\r\n    \u003cartifactId\u003evoice-cmu-slt-hsmm\u003c/artifactId\u003e\r\n    \u003cversion\u003e5.2.1\u003c/version\u003e\r\n  \u003c/dependency\u003e\r\n\u003c/dependencies\u003e\r\n```\r\n\r\n### Gradle\r\n\r\nAdd to your `build.gradle`:\r\n```groovy\r\nrepositories {\r\n   mavenCentral()\r\n\r\n   exclusiveContent {\r\n      forRepository {\r\n         maven {\r\n            url 'https://raw.githubusercontent.com/DFKI-MLT/Maven-Repository/main'\r\n         }\r\n      }\r\n      filter {\r\n         includeGroup 'de.dfki.lt.jtok'\r\n      }\r\n   }\r\n}\r\n\r\ndependencies {\r\n   implementation group: 'de.dfki.mary', name: 'voice-cmu-slt-hsmm', version: '5.2.1'\r\n}\r\n```\r\n\r\n\r\n## Synthesizing speech\r\n\r\nText to wav basic examples are proposed in this repository\r\n- Maven: https://github.com/marytts/marytts-txt2wav/tree/maven\r\n- Gradle: https://github.com/marytts/marytts-txt2wav/tree/gradle\r\n\r\n\r\n## Using MaryTTS for other programming languages\r\n\r\nIf you want to use MaryTTS for other programming languages (like python for example), you need to achieve 3 steps\r\n\r\n1. compiling marytts\r\n2. starting the server\r\n3. query synthesis on the server\r\n\r\n\r\n### Synthesize speech using the server\r\n\r\nSynthesizing speech, using the server, is pretty easy.\r\nYou need to generate proper HTTP queries and deal with the associated HTTP responses.\r\nExamples are proposed :\r\n- python 3: https://github.com/marytts/marytts-txt2wav/tree/python\r\n- shell: https://github.com/marytts/marytts-txt2wav/tree/sh\r\n\r\n## Extra documentation\r\n\r\n### Server as service (Linux specific)\r\n\r\nAn example of how to define marytts server as service is proposed [here](./src/main/dist/misc/marytts.server).\r\n\r\n### User dictionaries\r\n\r\nYou can extend the dictionaries by adding a user dictionary. The documentation of how to do it is [here](./src/main/dist/user-dictionaries/README.md).\r\n\r\n## Contributing\r\n\r\nThe recommended workflow for making contributions to the MaryTTS source code is to follow the GitHub model:\r\n\r\n1. 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);\r\n\r\n2. use the `git clone`, `commit`, and `push` commands to make modifications on your own marytts repository;\r\n   in this process, make sure to `git pull upstream master` regularly to stay in sync with latest developments on the master repo;\r\n\r\n3. when you think a reusable contribution is ready, open a \"pull request\" on GitHub to allow for easy merging into the master repository.\r\n\r\nHave a look at the [GitHub documentation](http://help.github.com/) for further details.\r\n\r\n\r\n### IDE configuration\r\n\r\nWiki pages are available to help you to configure your IDE to develop MaryTTS.\r\nThe following IDEs have been tested and documented:\r\n\r\n- IntelliJ IDEA\r\n- Eclipse: https://github.com/marytts/marytts/wiki/Eclipse\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarytts%2Fmarytts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarytts%2Fmarytts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarytts%2Fmarytts/lists"}