{"id":14967017,"url":"https://github.com/golemfactory/g-flite","last_synced_at":"2025-08-20T18:56:35.870Z","repository":{"id":37178788,"uuid":"180657633","full_name":"golemfactory/g-flite","owner":"golemfactory","description":"g-flite: flite app distributed over Golem Network","archived":false,"fork":false,"pushed_at":"2023-03-27T22:43:28.000Z","size":13930,"stargazers_count":8,"open_issues_count":16,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-13T07:39:53.998Z","etag":null,"topics":["flite","gwasm","text-to-speech","wasm"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/golemfactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-04-10T20:20:45.000Z","updated_at":"2023-03-21T04:10:26.000Z","dependencies_parsed_at":"2024-09-14T03:49:19.959Z","dependency_job_id":"0259f903-bfef-4bc7-bc36-52a9426f0fb1","html_url":"https://github.com/golemfactory/g-flite","commit_stats":{"total_commits":70,"total_committers":5,"mean_commits":14.0,"dds":"0.11428571428571432","last_synced_commit":"e419d9d20c10e1cb6524150db4c8a7b67e516d10"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/golemfactory/g-flite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fg-flite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fg-flite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fg-flite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fg-flite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golemfactory","download_url":"https://codeload.github.com/golemfactory/g-flite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fg-flite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271369101,"owners_count":24747790,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"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":["flite","gwasm","text-to-speech","wasm"],"created_at":"2024-09-24T13:37:18.008Z","updated_at":"2025-08-20T18:56:35.815Z","avatar_url":"https://github.com/golemfactory.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# g-flite [![build-status]][build]\n\n[build-status]: https://github.com/golemfactory/g-flite/workflows/Continuous%20integration/badge.svg\n[build]: https://github.com/golemfactory/g-flite/actions\n\n`g-flite` is a command-line utility which lets you run [flite](http://www.festvox.org/flite/)\ntext-to-speech app on Golem Network as [gWASM](https://docs.golem.network/#/About/Use-Cases?id=gwasm) task.\n\n![g_flite GIF demo](http://i.imgur.com/Ji1CdCN.gif)\n\n## Installation\nYou can grab a precompiled version of the program for each OS, Linux, Mac, and Win, from\n[here](https://github.com/golemfactory/g-flite/releases).\n\n### Building from source\nIf you wish however, you can also build the program from source. To do this, you'll first need\nto clone the repo.\n\n```\ngit clone --depth 50 https://github.com/golemfactory/g-flite\ncd g-flite\n```\n\nAfterwards, you need to ensure you have Rust installed in version at least `1.34.0`. A good place\nto get your hands on the latest Rust is [rustup website](https://rustup.rs/).\n\nWith Rust installed on your OS, you then need to simply run from within `g-flite` dir\n\n```\ncargo build\n```\n\nfor debug version, or\n\n```\ncargo build --release\n```\n\nfor release version. Your program can then be found in\n\n```\ng-flite/target/debug/g_flite\n```\n\nfor debug version, or\n\n```\ng-flite/target/release/g_flite\n```\n\nfor release version.\n\n## Usage\nTypical usage should not differ much or at all from how you would use the original `flite` app.\nSo, in order to generate speech from some input text `some_text_input.txt` and save to a WAV file\n`some_speech_output.wav` on Golem testnet, you would simply run it as\n\n\n```\ng_flite some_text_input.txt some_speech_output.wav\n```\n\n**To run the tasks on Golem mainnet, simply add a `--mainnet` flag like so**\n\n```\ng_flite some_text_input.txt some_speech_output.wav --mainnet\n```\n\nNote that it is required to specify the name of the output file. To provide a more concrete example,\nlet's take the \"Moby Dick; Or, The Whale\" by Herman Melville. Download the entire book in\na text format [here](https://www.gutenberg.org/files/2701/2701-0.txt), and save it as `moby_dick.txt`.\nThen, you can convert the book to speech using `g-flite` by simply running\n\n```\ng_flite moby_dick.txt moby_dick.wav\n```\n\nAll of this assumes that you have your Golem installed using the default settings\n\n| Setting     | Default value                 |\n| ----------- | ----------------------------- |\n| datadir     | `$APP_DATA_DIR/default` |\n| RPC address | 127.0.0.1                     |\n| RPC port    | 61000                         |\n\n`$APP_DATA_DIR` is platform specific:\n* on Linux will usually refer to `$HOME/.local/share/golem`\n* on Mac will usually refer to `$HOME/Library/Application Support/golem`\n* on Windows will usually refer to `{FOLDERID_LocalAppData}/golem/golem`\n\nIf any of the above information is not correct for your Golem configuration, you can\nadjust them directly in the command-line as follows\n\n```\ng_flite --address 127.0.0.1 --port 61000 --datadir /abs/path/to/golem/datadir some_text_input.txt some_speech_output.wav\n```\n\nBy default `g-flite` will split your input text into 6 subtasks and compute them\non Golem Network. You can also adjust this option in the command-line as follows\n\n```\ng_flite --subtasks 2 some_text_input.txt some_speech_output.wav\n```\n\nYou can also control the timeout values for the Golem task and subtasks (by default, task timeout is set\nto 10 minutes, while subtask timeout to 1 minute) which can be adjusted as follows\n\n```\ng_flite --task_timeout 00:20:00 --subtask_timeout 00:05:00 some_text_input.txt some_speech_output.wav\n```\n\nFinally, you can also adjust the bid value for the Golem task (which by default is set to `1.0`)\n\n```\ng_flite --bid 1.0 some_text_input.txt some_speech_output.wav\n```\n\nAll of this information can also be extracted from the command-line with the `-h` or `--help` flags\n\n```\ng_flite 0.4.0\nGolem RnD Team \u003ccontact@golem.network\u003e\nflite, a text-to-speech program, distributed over Golem network\n\nUSAGE:\n    g_flite [FLAGS] [OPTIONS] \u003cinput\u003e \u003coutput\u003e\n\nFLAGS:\n    -h, --help       \n            Prints help information\n\n        --mainnet    \n            Configures golem-client to use mainnet datadir\n\n    -V, --version    \n            Prints version information\n\n    -v, --verbose    \n            Turns verbose logging on\n\n\nOPTIONS:\n        --address \u003caddress\u003e                    \n            Sets RPC address to Golem instance [default: 127.0.0.1]\n\n        --bid \u003cbid\u003e                            \n            Sets bid value for Golem task [default: 1.0]\n\n        --datadir \u003cdatadir\u003e                    \n            Sets path to Golem datadir\n\n        --port \u003cport\u003e                          \n            Sets RPC port to Golem instance [default: 61000]\n\n        --subtask_timeout \u003csubtask_timeout\u003e    \n            Sets Golem's subtask timeout value [default: 00:10:00]\n\n        --subtasks \u003csubtasks\u003e                  \n            Sets number of Golem subtasks [default: 6]\n\n        --task_timeout \u003ctask_timeout\u003e          \n            Sets Golem's task timeout value [default: 00:10:00]\n\n        --workspace \u003cworkspace\u003e                \n            Sets workspace dir\n            \n            This option is mainly used for debugging the gWasm task as it allows you to specify the exact path to the\n            workspace where the contents of the entire gWasm task will be stored. Note that it will *not* be\n            automatically removed after the app finishes successfully; instead, it is your responsibility to clean up\n            after yourself.\n\nARGS:\n    \u003cinput\u003e     \n            Input text file\n\n    \u003coutput\u003e    \n            Output WAV file\n\n```\n\n## Issues\nThis program is still very much a work-in-progress, so if you find (and you most likely will) any bugs,\nplease submit them [in our issue tracker](https://github.com/golemfactory/g-flite/issues/new).\n\n## Results Verification\ngWASM uses [this](https://docs.golem.network/#/Products/Brass-Beta/gWASM?id=verification-scheme) Verification scheme. Each subtask is executed by two providers (or three in some cases). So if you have 6 subtasks, there are at least 12 jobs.\n\n## License\nLicensed under [GNU General Public License v3.0](LICENSE) with the exception of `flite` WASM binary\nwhich is licensed under [BSD-like License](LICENSE.flite).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fg-flite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolemfactory%2Fg-flite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fg-flite/lists"}