{"id":17480373,"url":"https://github.com/litomore/mac-say","last_synced_at":"2025-04-22T19:30:56.920Z","repository":{"id":239574004,"uuid":"799759863","full_name":"LitoMore/mac-say","owner":"LitoMore","description":"The macOS built-in `say` interface for JavaScript","archived":false,"fork":false,"pushed_at":"2024-12-21T10:45:42.000Z","size":55,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T06:08:20.507Z","etag":null,"topics":["macos","say","speech","spoken-content","text-to-speech"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/LitoMore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"LitoMore"}},"created_at":"2024-05-13T03:30:49.000Z","updated_at":"2024-12-21T10:45:45.000Z","dependencies_parsed_at":"2024-12-21T11:25:59.217Z","dependency_job_id":"28eb0635-4fd9-42d6-879a-e88d129c9f71","html_url":"https://github.com/LitoMore/mac-say","commit_stats":null,"previous_names":["litomore/mac-say"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LitoMore%2Fmac-say","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LitoMore%2Fmac-say/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LitoMore%2Fmac-say/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LitoMore%2Fmac-say/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LitoMore","download_url":"https://codeload.github.com/LitoMore/mac-say/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250308235,"owners_count":21409229,"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":["macos","say","speech","spoken-content","text-to-speech"],"created_at":"2024-10-18T21:43:39.363Z","updated_at":"2025-04-22T19:30:56.518Z","avatar_url":"https://github.com/LitoMore.png","language":"TypeScript","funding_links":["https://github.com/sponsors/LitoMore"],"categories":[],"sub_categories":[],"readme":"# mac-say\n\nThe macOS built-in `say` CLI for JavaScript\n\n## Install\n\n```shell\nnpm i mac-say\n```\n\n## Usage\n\n```javascript\nimport { say } from \"mac-say\";\n\nawait say(\"Hello, world!\");\nawait say(\"Hello! My name is Cellos.\", { voice: \"Cellos\" });\n```\n\n## API\n\n### say(text, options?)\n\n#### text\n\nType: `string`\n\nThe content to be converted to audible speech.\n\n#### options\n\nType: `SayOptions`\n\nOptional. All available options are listed below:\n\n```typescript\ntype SayOptions = {\n\tvoice?: string;\n\trate?: number;\n\taudioDevice?: string;\n\tquality?: number;\n\tinputFile?: string;\n\toutputFile?: string;\n\tnetworkSend?: string;\n\tchannels?: number;\n\tskipRunningCheck?: boolean;\n};\n```\n\nPlease refer to [`man say`](https://www.unix.com/man-page/osx/1/say/) for usage of all options.\n\n### getAudioDevices()\n\nTo obtain a list of audio output devices.\n\nReturns a [`Promise\u003cDevice[]\u003e`][types].\n\n### getDataFormats(fileFormat)\n\nTo obtain a list of audio data formats for a file format specified explicitly or by file name.\n\nReturns a [`Promise\u003cDataFormat[]\u003e`][types].\n\n#### fileForamt\n\nType: `string`\n\nFormats other than linear PCM are specified by giving their format identifiers (aac, alac).\n\n### getFileFormats()\n\nTo obtain a list of writable file formats.\n\nReturns a [`Promise\u003cFileFormat[]\u003e`][types].\n\n### getVoices()\n\nTo obtain a list of voices installed in the system.\n\nReturns a [`Promise\u003cVoice[]\u003e`][types].\n\n### checkIfSayIsRunning()\n\nTo obtain the information of the `say` process.\n\nReturns a [`Promise\u003cProcessDescriptor | undefined\u003e`](https://github.com/sindresorhus/ps-list/blob/46f7d16920ed12c2866ddacc5044df7f8f87b179/index.d.ts#L13-L38).\n\n### killRunningSay()\n\nTo kill the say process if it's running.\n\n## Related\n\n- [Say - Spoken Content](https://raycast.com/litomore/say) - macOS built-in Spoken Content interface\n\n## License\n\nMIT\n\n[types]: https://github.com/LitoMore/mac-say/blob/main/source/types.ts\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitomore%2Fmac-say","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flitomore%2Fmac-say","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitomore%2Fmac-say/lists"}