{"_id":"@alioth_91/say","_rev":"2-36bc8704540691b44aca41eb50ce022e","name":"@alioth_91/say","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@alioth_91/say","description":"A Fork from say.js@0.16.0, TTS (Text To Speech) Module for Node.js","version":"0.1.0","author":{"name":"alioth_91"},"license":"MIT","scripts":{"test":"standard && ./examples/basic-callback.js","lint":"standard","lint-fix":"standard --fix","publish":"npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/Alioth1017/say.js.git"},"typings":"index.d.ts","engines":{"node":">=6.9"},"devDependencies":{"standard":"^12.0.1"},"dependencies":{"one-time":"0.0.4"},"gitHead":"ed11e789d2c13661729ea142f8d94c84587dd239","bugs":{"url":"https://github.com/Alioth1017/say.js/issues"},"homepage":"https://github.com/Alioth1017/say.js#readme","_id":"@alioth_91/say@0.1.0","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-rdu0v1s5+xi+X75J9vZrcT9v4oPZ5IWph4ZPW9TfsNyjoLnHv3bOcLz/amwOmRYIT5EZoS+cYdc/6tbgY6aj0A==","shasum":"f3db41dfdfd5096e63d50cac9255315e59abac3b","tarball":"https://registry.npmjs.org/@alioth_91/say/-/say-0.1.0.tgz","fileCount":12,"unpackedSize":20182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnaHrCRA9TVsSAnZWagAAs1wP/AgVXFzAgn+HxweR9+Do\nWelCH5s4fBbAEBxjXB6oIxumas4Qd/sAqnq9qHQxxOEZ2vTyY96sLZE3duwh\nfgM7ERxKZfMHx0bc17OJkgpmvPx6MRNcmPIGorE0f4tn7X6ktaFfs4Kq6w0s\nCtsS1p+VHUitSiBpP9wymeer3/VhF8LrkaR+pvh2bGIYWPqNTdtevsdkdVKt\n4s7ScIwfCREbcd3DbPqiBlElWq3dsYPP0wxB78hij3RBzlSsVUgej97VC4uk\neQGBsshC0ZSq7caQyP9hkAB4zKJzN0Gthm4SBY6Q/3tdf+X8dNfTnWCKx2/r\nhfr16pxnNNsEG3fJ3b+pBDyVcAMuO5ZOY6VuITtJXDE2i9OFPzKyTp2x5UvK\n/yR7S6gdPfIMT77jQrJcs/wvJQhLXMhYXEdqr1JTe6IToeKTOF/HFWW2svRl\n+TBO4Ujh3DJ33iZ3sQ++lZayOZ2i/kcGySVVY/4izu1/Zh66P18pzKp+znSD\n6xCViMwzN9loEvryMbBF41nnHc5c2tJPSbXCVOLhaUvXfgX3DGrskme1e+k2\nXZUrPfHlMsDS4KOnUwhn7Wnbcxj71jsxy4EYkaNS5gCWbUjBJIYzPJp7IuWW\ng3dVFeqJirgg5YVdVclbreYX+TK1eRzCDJwlv463r5njW99yZUr70SEZMmhW\nNEPe\r\n=UvXd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZP64rfptYMdeH/D8pOrvGVNNP5cC8qM/JGxO/rDbZ/gIgbKavfuQrELX5LlBF94VcEC4CYG9lifqh4zXx47+vikI="}]},"maintainers":[{"name":"alioth_91","email":"z610886764@163.com"}],"_npmUser":{"name":"alioth_91","email":"z610886764@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/say_0.1.0_1604166123356_0.7528445653379394"},"_hasShrinkwrap":false},"0.2.0":{"name":"@alioth_91/say","description":"A Fork from say.js@0.16.0, TTS (Text To Speech) Module for Node.js","version":"0.2.0","author":{"name":"alioth_91"},"license":"MIT","scripts":{"test":"standard && ./examples/basic-callback.js","lint":"standard","lint-fix":"standard --fix","publish":"npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/Alioth1017/say.js.git"},"typings":"index.d.ts","engines":{"node":">=6.9"},"devDependencies":{"standard":"^12.0.1"},"dependencies":{"one-time":"0.0.4"},"gitHead":"ed11e789d2c13661729ea142f8d94c84587dd239","bugs":{"url":"https://github.com/Alioth1017/say.js/issues"},"homepage":"https://github.com/Alioth1017/say.js#readme","_id":"@alioth_91/say@0.2.0","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ouLo91U3bhZ13eJmtFgd27aIrjGcKwLNpr8PPKhnsOGHxU4th1n74spbdHZq4CWPs7oWjt7WgxtjO2Sfeca4iw==","shasum":"b7095e23d13347f622d336677f5280dd184eea04","tarball":"https://registry.npmjs.org/@alioth_91/say/-/say-0.2.0.tgz","fileCount":12,"unpackedSize":20182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnaJVCRA9TVsSAnZWagAArlcP/3hOc3TvdfsKkDZHoI2z\nJgJ90q7Ji7rqqe7Tov+u1KsErNtNB9BgnK9ASwPYkGKfMtDulEhJMcO8eb0C\naD+h4wVwehNy9RG0UIu2QHja6ISrZ79BoJuZVxL54VKOKIUFNtbLfUeE5lTg\njJhpQop4DMGlk0B5rrY/8Rn6HQkoDjHsBbjtu0GVzCKRFTg8d+iOOJ2fmES9\nNhwaOVi9BS0/DsxxCLZzHGP/Q93dEevnTAJ0VtOgnEodkQW7zKkAuNi9OV7Q\nYlholXRwS095Zq6gi6GGyxDhbSAhDsYmykUhKA+lW17vYQM65/PDYdzFY12z\nLnl4wgMXTDhEZbIYQEf9XlbX5ndNg2B1ZFdlZEIc3SUYffkjuphb6LOGr9Ez\ngj9EEmegFxXy6VDxQcjq5Fq5T3tYAeXOSWr0VeJMjVPGvSpsu3gAn718xQ77\nWHcmZY81kydNyG162tCJWZEZaJoWwBgNVvXt5ZbxBPNgqki13TQu6WFYp9SK\nRJPEJPl3MZdCLRQHcXwbsrJcEzbs2Qg7Zvpvm7v7/40c+0ujw6wUH7yl8WgZ\nZom8WmGKmTpXRxHQ4syYQUlxXhL2R6Nx07BLo6fhSof6JC+IwPJisokXVjCw\nJTANx9FPWPgL/pgvJYyqXjFOBy/NLwTnN418Bj3Y/2dSve9gliZJfv+D/6mb\nmUsx\r\n=Gkpq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMBvRvQPpbviEVc4qzw6Wgmx+BosT1lzwPMaQnrSyQWwIgY82N9PaFAkSBWBbIF7zeszG29a9OalgBAY6EtNo6MVA="}]},"maintainers":[{"name":"alioth_91","email":"z610886764@163.com"}],"_npmUser":{"name":"alioth_91","email":"z610886764@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/say_0.2.0_1604166228969_0.8336166720451768"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-31T17:42:03.323Z","0.1.0":"2020-10-31T17:42:03.495Z","modified":"2022-04-04T13:26:13.172Z","0.2.0":"2020-10-31T17:43:49.099Z"},"maintainers":[{"name":"alioth_91","email":"z610886764@163.com"}],"description":"A Fork from say.js@0.16.0, TTS (Text To Speech) Module for Node.js","homepage":"https://github.com/Alioth1017/say.js#readme","repository":{"type":"git","url":"git+https://github.com/Alioth1017/say.js.git"},"author":{"name":"alioth_91"},"bugs":{"url":"https://github.com/Alioth1017/say.js/issues"},"license":"MIT","readme":"<img src=\"https://travis-ci.org/Marak/say.js.svg?branch=master\" />\r\n\r\n<img src=\"https://github.com/Marak/say.js/raw/master/logo.png\" />\r\n\r\n## Installing say.js\r\n\r\n```bash\r\nnpm install say\r\n```\r\n\r\n\r\n## Usage\r\n\r\n```javascript\r\n// automatically pick platform\r\nconst say = require('say')\r\n\r\n// or, override the platform\r\nconst Say = require('say').Say\r\nconst say = new Say('darwin' || 'win32' || 'linux')\r\n\r\n// Use default system voice and speed\r\nsay.speak('Hello!')\r\n\r\n// Stop the text currently being spoken\r\nsay.stop()\r\n\r\n// More complex example (with an OS X voice) and slow speed\r\nsay.speak(\"What's up, dog?\", 'Alex', 0.5)\r\n\r\n// Fire a callback once the text has completed being spoken\r\nsay.speak(\"What's up, dog?\", 'Good News', 1.0, (err) => {\r\n  if (err) {\r\n    return console.error(err)\r\n  }\r\n\r\n  console.log('Text has been spoken.')\r\n});\r\n\r\n// Export spoken audio to a WAV file\r\nsay.export(\"I'm sorry, Dave.\", 'Cellos', 0.75, 'hal.wav', (err) => {\r\n  if (err) {\r\n    return console.error(err)\r\n  }\r\n\r\n  console.log('Text has been saved to hal.wav.')\r\n})\r\n```\r\n\r\n### Methods\r\n\r\n#### Speak:\r\n\r\n* Speed: 1 = 100%, 0.5 = 50%, 2 = 200%, etc\r\n\r\n```javascript\r\nsay.speak(text, voice || null, speed || null, callback || null)\r\n```\r\n\r\n#### Export Audio:\r\n\r\n* MacOS / Windows Only\r\n* Speed: 1 = 100%, 0.5 = 50%, 2 = 200%, etc\r\n\r\n```javascript\r\nsay.export(text, voice || null, speed || null, filename, callback || null)\r\n```\r\n\r\n#### Stop Speaking:\r\n\r\n```javascript\r\nsay.stop(callback || null)\r\n```\r\n\r\n#### Get List of Installed Voice(s):\r\n\r\n```javascript\r\nsay.getInstalledVoices(callback)\r\n```\r\n\r\n## Feature Matrix\r\n\r\nUnfortunately every feature isn't supported on every platform. PR's welcome!\r\n\r\nPlatform | Speak | Export | Stop | Speed | Voice | List\r\n---------|-------|--------|------|-------|-------|-----\r\nmacOS    | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :no_entry_sign:\r\nLinux    | :white_check_mark: | :no_entry_sign:    | :white_check_mark: | :white_check_mark: | :white_check_mark: | :no_entry_sign:\r\nWindows  | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark:\r\n\r\n\r\n## macOS Notes\r\n\r\nVoices in macOS are associated with different localities. To a list of voices and their localities run the following command:\r\n\r\n```sh\r\nsay -v \"?\"\r\n```\r\n\r\nAs an example, the default voice is `Alex` and the voice used by Siri is `Samantha`.\r\n\r\n\r\n## Windows Notes\r\n\r\nNone.\r\n\r\n## Linux Notes\r\n\r\nLinux support requires [Festival](http://www.cstr.ed.ac.uk/projects/festival/). As far as I can tell there is no sane way to get a list of available voices. The only voice that seems to work is `voice_kal_diphone`, which seems to be the default anyway.\r\n\r\nThe `.export()` method is not available.\r\n\r\nTry the following command to install Festival with a default voice:\r\n\r\n```shell\r\nsudo apt-get install festival festvox-kallpc16k\r\n```\r\n\r\n\r\n## Requirements\r\n\r\n* Mac OS X (comes with `say`)\r\n* Linux with Festival installed\r\n* Windows (comes with SAPI.SpVoice)\r\n  * Needs to have Powershell installed and available in $PATH (see [issue #75](https://github.com/Marak/say.js/issues/75))\r\n","readmeFilename":"README.md"}