{"id":24109446,"url":"https://github.com/seblemaguer/minimal_marytts_example","last_synced_at":"2026-06-10T08:31:33.730Z","repository":{"id":85566140,"uuid":"166089583","full_name":"seblemaguer/minimal_marytts_example","owner":"seblemaguer","description":"Minimal example of how to integrate MaryTTS into its java application","archived":false,"fork":false,"pushed_at":"2019-01-18T17:59:58.000Z","size":59,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-26T08:45:46.471Z","etag":null,"topics":["example","marytts"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seblemaguer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-01-16T18:26:05.000Z","updated_at":"2019-02-10T12:57:58.000Z","dependencies_parsed_at":"2023-07-01T22:45:55.713Z","dependency_job_id":null,"html_url":"https://github.com/seblemaguer/minimal_marytts_example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/seblemaguer/minimal_marytts_example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seblemaguer%2Fminimal_marytts_example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seblemaguer%2Fminimal_marytts_example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seblemaguer%2Fminimal_marytts_example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seblemaguer%2Fminimal_marytts_example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seblemaguer","download_url":"https://codeload.github.com/seblemaguer/minimal_marytts_example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seblemaguer%2Fminimal_marytts_example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34144679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["example","marytts"],"created_at":"2025-01-11T00:33:06.157Z","updated_at":"2026-06-10T08:31:33.707Z","avatar_url":"https://github.com/seblemaguer.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minimal example of how to integrate MaryTTS into its java application\n\n## How to use\n\nIn order to run, just do the following commands\n\n```sh\n./gradlew synthesize [-Dlog4.level=\u003clevel\u003e]\n```\n\n- `\u003clevel\u003e` defines the level of the logger (by default it is warning for MaryTTS), you can put WARN, INFO or DEBUG.\n\n## The interesting part\n\nEverything is architecture to embed the call of mary. It is done in the file\n[buildSrc/src/main/java/marytts/Synthesize.java](https://github.com/seblemaguer/minimal_marytts_example/blob/master/buildSrc/src/main/java/marytts/Synthesize.java)\n\nIn order to use Mary the following logic is **imposed**:\n\n```java\n// Starting up mary\nMary.startup();\n\n// Dealing with requests\nfor (...) {\n    // Retrieve the input (input_date, configuration) from somewhere\n    ...\n\n    // Generate the input\n    String input =  prepareInput(...);\n\n    // Generate the configuration object\n    MaryConfiguration configuration = getConfiguration(...);\n\n    // Generate the request, process it and retrieve the results\n    Request request = new Request(configuration, input);\n    request.process();\n    Object output = request.serializeFinaleUtterance();\n\n    // Do something with the output\n    ...\n}\n\n// Shutting down mary\nMary.shutdown();\n```\n\n## The request\n\nThe request is composed by a input (in the example a text) and a configuration like the on presented in the [src/config.json](https://github.com/seblemaguer/minimal_marytts_example/blob/master/src/config.json)\n\nThis minimal example contains this:\n\n```json\n{\n    \"marytts.runutils.Request\": {\n        \"input_serializer\": \"marytts.io.serializer.TextSerializer\",\n        \"output_serializer\": \"marytts.io.serializer.XMLSerializer\",\n        \"module_sequence\": \"REF:en_US\"\n    }\n}\n```\n\nHere, only the module `marytts.runutils.Request` is adapted and 3 properties are sets:\n  * The input and output serializers which are the classes which are dealing with the import and the\n    export of the utterance (the core object that Mary uses to store the information).\n  * The sequence of modules via `module_sequence`. The value of this field is normally more complex\n    but here, we are simply making a reference to a preloaded configuration labeled `en_US`. That\n    means that, for this property only, we are using the value of the configuration `en_US`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseblemaguer%2Fminimal_marytts_example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseblemaguer%2Fminimal_marytts_example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseblemaguer%2Fminimal_marytts_example/lists"}