{"id":34534850,"url":"https://github.com/yanorei32/libktts-server","last_synced_at":"2026-05-25T21:37:39.984Z","repository":{"id":326678678,"uuid":"1103840998","full_name":"yanorei32/libktts-server","owner":"yanorei32","description":"A modern HTTP wrapper for the legacy KTTS Project Korean text-to-speech engine: https://libktts.yr32.net/","archived":false,"fork":false,"pushed_at":"2026-05-06T03:33:38.000Z","size":159,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-06T05:26:35.922Z","etag":null,"topics":["api","korean","korean-tts","north-korean-language","redstar","redstaros","rust","text-to-speech","tts","web"],"latest_commit_sha":null,"homepage":"https://libktts.yr32.net/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yanorei32.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-25T12:05:24.000Z","updated_at":"2026-05-06T03:31:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yanorei32/libktts-server","commit_stats":null,"previous_names":["yanorei32/libktts-server"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/yanorei32/libktts-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanorei32%2Flibktts-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanorei32%2Flibktts-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanorei32%2Flibktts-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanorei32%2Flibktts-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yanorei32","download_url":"https://codeload.github.com/yanorei32/libktts-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanorei32%2Flibktts-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33494775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T14:31:05.219Z","status":"ssl_error","status_checked_at":"2026-05-25T14:31:02.878Z","response_time":57,"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","korean","korean-tts","north-korean-language","redstar","redstaros","rust","text-to-speech","tts","web"],"created_at":"2025-12-24T05:58:58.482Z","updated_at":"2026-05-25T21:37:39.979Z","avatar_url":"https://github.com/yanorei32.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# libKTTS Server\n\n\u003cimg width=\"800\" height=\"243\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d9e3c665-0187-44ce-9f49-5e14a2746114\" /\u003e\n\n## Introduction\n\n\u003e **조선어음성합성프로그람 《청봉》3.2** (kttsproject) is a program that reads text aloud.\n\u003e\n\u003e The kttsproject is our country's most excellent voice synthesis program, which won the honor of 1st place at the 17th National Program Contest and Exhibition in October Juche 95 (2006).\n\n`libktts-server` is a server wrapper for this legacy TTS engine (kttsproject), allowing it to be used via a modern HTTP API.\n\n## Official Hosted Instance\n\n[https://libktts.yr32.net/](https://libktts.yr32.net/)\n\n## Usage\n\n### Docker\n\nThe easiest way to run `libktts-server` is using Docker, as it requires a specific 32-bit environment.\n\n```bash\ndocker run -p 3000:3000 ghcr.io/yanorei32/libktts-server\n```\n\n### Configuration\n\nYou can configure the server using command-line arguments or environment variables.\n\n| Argument | Env Var | Default | Description |\n| :--- | :--- | :--- | :--- |\n| `--listen` | `LISTEN` | `0.0.0.0:3000` | Socket address to bind to. |\n| `--dic` | `DIC` | `/usr/share/apps/kttsdb/` | Path to the dictionary directory. |\n| `--maximum-length` | `MAXIMUM_LENGTH` | `0` (Unlimited) | Maximum length of text to synthesize. |\n\n### API\n\n#### POST `/api/tts`\n\nSynthesizes text to speech.\n\n**Request:**\n\n```json\n{\n  \"text\": \"안녕하십니까?\"\n}\n```\n\n**Response:**\n\n- **Content-Type**: `audio/wav`\n- **Body**: WAV audio data.\n\nIf the text exceeds `MAXIMUM_LENGTH`, a `400 Bad Request` is returned.\n\n## Technical Details\n\nThis project uses a multi-stage Docker build to run the 32-bit `libktts` binary on modern systems. The core library, `libkttsproject-4.0-1.i386.rpm`, was extracted from RedStar 3.0.\n- **Base**: `debian:trixie-slim`\n- **Runtime**: `debian:squeeze` (i386) environment extracted into the final image.\n- **Server**: Rust (Axum) application acting as a bridge.\n\nThe server uses `memfd_create` to pass audio data from the legacy library to the HTTP response without writing to disk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanorei32%2Flibktts-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanorei32%2Flibktts-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanorei32%2Flibktts-server/lists"}