{"id":20132593,"url":"https://github.com/pviotti/sayit","last_synced_at":"2025-09-13T12:32:53.422Z","repository":{"id":35981280,"uuid":"198104424","full_name":"pviotti/sayit","owner":"pviotti","description":"A text-to-speech command line tool backed by Azure Cognitive Services.","archived":false,"fork":false,"pushed_at":"2025-02-20T06:03:49.000Z","size":111,"stargazers_count":17,"open_issues_count":6,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T19:04:16.901Z","etag":null,"topics":["azure-cognitive-services","cli","tts"],"latest_commit_sha":null,"homepage":"","language":"F#","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/pviotti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-07-21T20:54:17.000Z","updated_at":"2025-01-22T17:37:17.000Z","dependencies_parsed_at":"2023-11-17T23:57:40.093Z","dependency_job_id":"b0d78de3-6486-431c-a958-fddb349f1eef","html_url":"https://github.com/pviotti/sayit","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pviotti%2Fsayit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pviotti%2Fsayit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pviotti%2Fsayit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pviotti%2Fsayit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pviotti","download_url":"https://codeload.github.com/pviotti/sayit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248073716,"owners_count":21043474,"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":["azure-cognitive-services","cli","tts"],"created_at":"2024-11-13T20:54:07.554Z","updated_at":"2025-04-09T16:53:33.491Z","avatar_url":"https://github.com/pviotti.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SayIt :loudspeaker:\n\n[![.NET CI](https://github.com/pviotti/sayit/workflows/.NET%20CI/badge.svg)](https://github.com/pviotti/sayit/actions?query=workflow%3A%22.NET+CI%22)\n[![sayit](https://img.shields.io/aur/version/sayit?color=1793d1\u0026label=sayit\u0026logo=arch-linux)](https://aur.archlinux.org/packages/sayit/)\n\nSayIt is a cross-platform command line tool that pronounces written text.\nYou can use it to create audio recordings of your text files or\nto improve your pronunciation in a foreign language.\n\n## Setup\n\nSayIt uses [Azure Cognitive Services][az-cs] as backend to guarantee\noptimal audio quality, so it requires a subscription to Azure, which you can get for free\n[here][az-sub].\nAzure Cognitive Services [free tier][az-cs-price], as of 2021, includes 5 text-to-speech\nhours per month, which is often enough for personal use.\n\nYou can download SayIt in the [release section][release].\nSayIt is currently distributed both as self-contained .NET executable\n(which means you won't need to install the .NET runtime to use it)\nand as framework-dependent .NET executable.\n\nAt the first use you're required to run the setup wizard (`./sayit --setup`)\nand enter the configuration parameters of your Azure Cognitive Services resource,\nsuch as the subscription key (which you can find in the Azure portal)\nand the region identifier (see [here][region-ids]).\nSayIt will store these parameters in the configuration folder of the current\nuser (e.g. `~/.config/` in Linux) as an [App Setting XML file][appsetting].\n\n## Usage\n\n```\n$ ./sayit --help\nUSAGE: sayit [--help] [--version] [--setup] [--list-voices] [--list-formats]\n             [--voice \u003cvoice\u003e] [--format \u003cformat\u003e] [--output \u003coutput\u003e] [\u003cinput\u003e]\n\nINPUT:\n\n    \u003cinput\u003e               the text to be pronounced\n                          (if missing, sayit will try to read it from stdin)\n\nOPTIONS:\n\n    --version             print sayit version\n    --setup               setup the configuration file\n    --list-voices, -lv    list the available voice shorthands\n                          with their corresponding voice ids\n    --list-formats, -lf   list the available output format shorthands\n                          with their corresponding output format ids\n    --voice, -v \u003cvoice\u003e   the voice shorthand\n    --format, -f \u003cformat\u003e the audio output format shorthand\n    --output, -o \u003coutput\u003e the path of the output file\n    --help                display this list of options.\n```\n\nSayIt supports these settings:\n - [languages][voices]: English, Italian, French, German, Spanish, Hindi, Portuguese, Russian, Japanese and Chinese (Mandarin).\n - [output formats][output-formats]: `audio-16khz-32kbitrate-mono-mp3`, `audio-16khz-64kbitrate-mono-mp3`, `audio-16khz-128kbitrate-mono-mp3`, `audio-24khz-96kbitrate-mono-mp3`, `audio-24khz-160kbitrate-mono-mp3`, `audio-24khz-48kbitrate-mono-mp3`, `riff-8khz-16bit-mono-pcm`, `riff-16khz-16bit-mono-pcm`, `riff-24khz-16bit-mono-pcm`.\n\n\u003e NB: some languages and output formats might not be supported by your\nAzure Cognitive Services resource, depending on its region (see [here][region-voices]).\n\n\u003e NB: the choice of supported voices and formats has been somewhat random. I\n\u003e welcome suggestions and contributions, of course.\n\n [az-sub]: https://azure.microsoft.com/en-us/free/\n [az-cs]: https://azure.microsoft.com/en-us/services/cognitive-services/speech-services/\n [az-cs-price]: https://azure.microsoft.com/en-us/pricing/details/cognitive-services/speech-services/\n [release]: https://github.com/pviotti/sayit/releases\n [appsetting]: https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/appsettings/\n [region-ids]: https://aka.ms/speech/sdkregion#speech-to-text-text-to-speech-and-translation\n [region-voices]: https://aka.ms/speech/sdkregion#text-to-speech\n [voices]: https://aka.ms/speech/tts-languages\n [output-formats]: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/rest-text-to-speech#audio-outputs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpviotti%2Fsayit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpviotti%2Fsayit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpviotti%2Fsayit/lists"}