{"id":17362816,"url":"https://github.com/grebtsew/text_to_speech_server_node","last_synced_at":"2026-05-06T20:35:49.072Z","repository":{"id":129301286,"uuid":"241086413","full_name":"grebtsew/Text_To_Speech_Server_Node","owner":"grebtsew","description":"A super simple speaking server node that receives requests and reads them through speaker. A python application running on Docker.","archived":false,"fork":false,"pushed_at":"2025-09-03T20:44:40.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-03T22:13:23.768Z","etag":null,"topics":["api","docker","docker-compose","gtts","python3","server","text-to-speech"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grebtsew.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":"2020-02-17T11:02:19.000Z","updated_at":"2025-09-03T20:44:43.000Z","dependencies_parsed_at":"2025-02-01T20:42:59.304Z","dependency_job_id":"5696013d-9be5-4e4a-ae85-c13c3a483f3a","html_url":"https://github.com/grebtsew/Text_To_Speech_Server_Node","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/grebtsew/Text_To_Speech_Server_Node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2FText_To_Speech_Server_Node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2FText_To_Speech_Server_Node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2FText_To_Speech_Server_Node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2FText_To_Speech_Server_Node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grebtsew","download_url":"https://codeload.github.com/grebtsew/Text_To_Speech_Server_Node/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2FText_To_Speech_Server_Node/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32711492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","docker","docker-compose","gtts","python3","server","text-to-speech"],"created_at":"2024-10-15T19:43:28.871Z","updated_at":"2026-05-06T20:35:49.068Z","avatar_url":"https://github.com/grebtsew.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Text To Speech Server Node\n![license](https://img.shields.io/github/license/grebtsew/Text_To_Speech_Server_Node)\n![size](https://img.shields.io/github/repo-size/grebtsew/Text_To_Speech_Server_Node)\n![commit](https://img.shields.io/github/last-commit/grebtsew/Text_To_Speech_Server_Node)\n\n A super simple speaking server node using `gTTS` that receives `POST JSON` requests and reads them through the speakers. A python application running on Docker.\n\n# Install local\nInstalling on your local machine.\n\n1.Make sure python3 is installed on your device. \n\n2.Download or clone this repo.\n\n3.Install required packages:\n```bash\npip3 install -r requirements.txt\n```\nIf you want this program to autostart on Ubuntu 22.04 you could add it by:\n```bash\n# Type\ncrontab -e\n# Add in bottom of file\n@reboot path/to/repo/main.py\n```\nOn windows, things should run without extra installs, but on Linux, try running if it doesn't start:\n```bash\n# Make script runnable\nchmod +x ./setup/ubuntu.sh\n# Start setup script\n./setup/ubuntu.sh\n```\n\n\n# Install with Docker\nThis will only work on Linux. Another container has to be built for windows.\nFor now I would recommend just running the python code on your device by installing\nthe requirements and run implementation.\n```bash\n# One liner (make sure to add sound device!)\ndocker-compose up # Will create a tts-api-server\n\n# Or\n\n# Build image\ndocker build . --tag=speak:1.0\n\n# Run image\ndocker run -it --device /dev/snd --net=host speak:1.0 bash\n```\n\n# Run implementation\n\nRun `./src/main.py` to start implementation.\n\nChange ports and address in `./src/server.py`.\n\n\n# Example data to send\nSee test_client.py. For more detailed information of the json format used, checkout the `template/template.json` file!\n```\ndata = {\n        'api_rate':150, # set speed of voice\n        'api_volume':0.7, # set volume\n        'api_text':\"TEXT_TO_READ\", # actual text\n        'api_voice': english ,# set voice id\n        'api_tune': False, # link to audio to play\n        'password': \"password-1\" # password REQUIRED\n        } \n```\n\n# Release Notes\n\nThe current release is version `0.0.2` see more at [RELEASE_NOTES](./RELEASE_NOTES.txt).\n\n# Logging\n\nServer logs are stored in local `.log` file.\n\n# Testing\n\n[![Build Docker Container](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/build_docker.yml/badge.svg)](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/build_docker.yml)\n[![Check Python Format](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_format.yml/badge.svg)](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_format.yml)\n[![Pylint Check](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_lint.yml/badge.svg)](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_lint.yml)\n[![Python Test and Coverage](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_coverage.yml/badge.svg)](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_coverage.yml)\n[![Run Pytest](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_unit_test.yml/badge.svg)](https://github.com/grebtsew/Text_To_Speech_Server_Node/actions/workflows/py_unit_test.yml)\n\nThis repository does not contain mandatory ci/cd pipelien that must pass in order for merge requests to pass. For manual testing see `./tests/manual/*`.\n\n# License\n\nThis repository is created using [MIT LICENSE](./LICENSE)\n\n\n# Issues\n\nLet me know if there are any questions or issues.\n\n@ Grebtsew 2024\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrebtsew%2Ftext_to_speech_server_node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrebtsew%2Ftext_to_speech_server_node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrebtsew%2Ftext_to_speech_server_node/lists"}