{"id":27024645,"url":"https://github.com/samestrin/pyprosody","last_synced_at":"2025-10-24T23:02:22.813Z","repository":{"id":282303191,"uuid":"948141255","full_name":"samestrin/pyprosody","owner":"samestrin","description":"Read stories with prosody using AI models","archived":false,"fork":false,"pushed_at":"2025-03-13T20:22:55.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T21:30:04.268Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/samestrin.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":"2025-03-13T20:21:22.000Z","updated_at":"2025-03-13T20:22:58.000Z","dependencies_parsed_at":"2025-03-13T23:45:40.128Z","dependency_job_id":null,"html_url":"https://github.com/samestrin/pyprosody","commit_stats":null,"previous_names":["samestrin/pyprosody"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fpyprosody","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fpyprosody/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fpyprosody/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samestrin%2Fpyprosody/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samestrin","download_url":"https://codeload.github.com/samestrin/pyprosody/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247251776,"owners_count":20908576,"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":[],"created_at":"2025-04-04T21:29:48.157Z","updated_at":"2025-10-24T23:02:22.806Z","avatar_url":"https://github.com/samestrin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyprosody\n\nPyProsody is a command-line Python application that takes a text file (a story) and, optionally, a model argument. Its main functionality is twofold:\n\n- Emotion Analysis: Break the story into sentences and phrases, then use a hybrid analysis (lexical, sentiment, contextual, sarcasm/irony, pragmatic/discourse, and feature engineering) to detect emotional cues.\n- Expressive Audio Generation: Convert the analyzed text into a speech audio file by adjusting prosodic parameters—such as speed, tone, and volume—to reflect the detected emotions.\n\nLocal AI models will be leveraged as much as possible to ensure the application is self-contained and does not rely on external APIs.\n\nThis project is under development.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamestrin%2Fpyprosody","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamestrin%2Fpyprosody","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamestrin%2Fpyprosody/lists"}