{"_id":"react-hook-speech-to-text","_rev":"9-1005ba119da19d533955e1f1811922c5","name":"react-hook-speech-to-text","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"react-hook-speech-to-text","version":"0.1.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"54ea1cf9a935ace5114590fb7a61c7f6abc274d4","description":"This hook supports cross browser speech to text if the `crossBrowser: true` prop is passed.","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.1.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Gci42t3Ll8jR6If0oAeQJ8JQXhiEGjI8djBaOa17x3L4Lq5ZF2HEdBDyYQmfJuPa3fYw5M9f8SI4Wz1ezsPNpg==","shasum":"307641c74fefb29b1e71194dd3d792c0b43742e2","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.1.0.tgz","fileCount":8,"unpackedSize":112983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGelfCRA9TVsSAnZWagAAwYEQAJv8CmRBrKkabsEFR/z3\nMxdbeKBxrLGveA+nX5Foo6L8mk3BLGsTFn34IHP2PHVtFm2enTncdRAT1m2W\nktk5zzz1HImOkGYA4zyH7IMxY5zfViHufrtqDv0pxTrMylbY0jFc3BCyBPto\nPh7WrbrG2yQVk+qZB2XKAj3YLP3+s786bXFRX0i3hEmzrGoRPg3LflqJIxJE\n0MRUjAbIYRvNWbXoNe3L/XPTq+2LWp/Ct9QV2cj5RghF2lHqbhMWOZoLagoj\njEQ3Gol+EiJBBSedbqOFt7jn0ffpZOKZGq2K4s00QG48DYLyyZMl2PV90stB\nF4Le1J1YYeOdYF0kmMG8sOthJcypFN7fAN3v+ImlB8uF/Lscbs6DcoPZXuo/\nthTFIHu2rOa2MZFN6Vc+taw9jvIX0fut9hREqY+ZbNsnphK3u4b1QY4KINz1\nn8fH1QksnYCfJ/o+uiy/nQJYsET/zwk1U1zwP7p+1LRrclhCO5sI3VIN4yiE\n4TGVwqtvb+aJxJQxWqCJqPe+e1X9fjRoQconIb7xo+K4tc2HKAl/pmlHJyaO\nGmv3iOYZUpF/D2OH0f0i/GmvQIdalfMjV4UO6O+YwJIvut/y3N5SsgCuC1rS\noV2sJOMRg5ZKPOm6Z3W8/T8/zqARyurx7NSzJO1rmwHomKd/5abENHGO0EdO\nGsg4\r\n=b+wV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHpB9MN3FA/5Pq/tEuI9z6dyPWzWoqL2aO8UKtcl+RcHAiANVvMdH9kE1aCOcBgt0OoNIY3AZvV2OIDh910qwolxiQ=="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.1.0_1612310878828_0.277415225144672"},"_hasShrinkwrap":false},"0.2.0":{"name":"react-hook-speech-to-text","version":"0.2.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"1c397cd84491c3ec2723fee7057c305b577b3915","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.2.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-OSp8TFfJs43Um1u3Zu2UNMyusv4M0oHWtXcSyWaVQ/0WntlSy7lqUAispHPm91Lb9TOunchUK8L93/7KF2bPzQ==","shasum":"835aec581a4d8644f42ed8237bc40b6898c92afa","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.2.0.tgz","fileCount":8,"unpackedSize":78146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGgQVCRA9TVsSAnZWagAAFbcP+wfNdMCMv+9ycuAeTt+j\noRw3IFQ81CYMvhlB0xTZR0V3xeFsnCakB2L8KCXQobNEpd+KuHjkDmLFT3a8\nbl7YQtBWa6YWXiSehQPuprMxmSN7wQOxtSBxeCbBFMxPKi64TaPhu77DWemN\nhCK+t/M40IzM02jYtiI5O2UVHkx6Jxj6hcHwhkw8xpr1qEJf8nb0ZsWH1nqT\ny+0Cjdej8Qj3i/aWqvLftNT9bGBPY75MgICNGViM2sGZnCIzmpEQW/RF5wzU\nYz14YEi56X7hmhKaqnqzEhrNAjgHMQ5JCl6XRl14GUfA3tsy+K8seU47i70B\niBG4FoeUK2m6ZHhcHSD1elij4knW2K8sC71SWf182XGzLOnOlsWxagUNZ6au\nRezhSWPrYR2act4dSwuLj3ANCU7mIhi0XUU5+M3wK1Tm5jvJV2bjyxOAMfH2\nK6IeTJGm+/EaaGs7LIshgdEkFibbdmIaVhdIuskRUrJ8xUPONUXCpUv07nlL\n76mlaqiRlEzICEwWyjWMsu7v3HFgLvbGEFrmExjzcM5KoBk58QGAo2vmHcdZ\n1IZFT1O7QUPf5J5N7EbMuzI2Q9gWQwP8dpJubaZi396X4MRvg7wCOX4Lznfe\nbADRqsAYBc6FaCoOQUchSQWmvgairu/7OqOgwS2k1WfGnI1beHCyPKSLr/Hm\nLCyS\r\n=d11P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF15XM7z6qJw9Dp15PHb5/K0Iccxk1jVb7jZFWFb6WRwIgNpUTU8sZr7dqzVwfhAS82xAfXbeOGoXBJjZC4GuhKIQ="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.2.0_1612317717233_0.801739735357397"},"_hasShrinkwrap":false},"0.2.1":{"name":"react-hook-speech-to-text","version":"0.2.1","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"a428457b2cbb74a1e842d053a24266c8a1a638eb","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.2.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-IFDU6hAJY1kYRuDLH3rNo8Vk9LsZacFv02pM3pua2UYtf8Pvl9gP9oqvY0xFWpo4NDJzFegLqkmyxXl5bdaN3w==","shasum":"0680dcd42b6797cbd5d3f861b49b69bf215ae9fa","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.2.1.tgz","fileCount":8,"unpackedSize":78339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGgdeCRA9TVsSAnZWagAAdMQQAI6t9aH/UdPVI3zprckj\nOoC29j3ER/bZvBAtYi+TuP+VkkqAC/6xIiF7dYxami5msPcR3CwzkPAlr2M2\ncYBmdAgDaNfMEEq9Fj6DbatkKUCpcMKBVVmQrCTTnr9stOl2VAX4nCUIP0nK\n8RwRGOka3EsnGShGXtGxrEWCt4PuCuikLY5kAfmjzeb5I+MCb+0CZf3SlSCb\nofTHqOLjdCuF2LBeyXEkCH2Qfbu1NiXMgPmH5aFY/Pi1/MHN7GrCJdK93et8\nfzIiiwphvPWjDojANoxv/A/ktKbyeCD7wP4+gKg8/RXAIEkQJDhUvTUqCUz2\nwyZ3qH3qj/s4jdnySYFNGI2hAzjIdwfPK3C2CGHcQzPHj2L4zKPrkhNGZu6r\n5zVlbOS23tcgiXTQvzjOOC0GH+rDXbL59pPawjDHBYNwms6XvjW4eApZHlCm\n5lLFL6xJWsIQifHzA56SmzWI+nLEEOzNMXsTojolkFqLPdWyXzrcIvMeH3dY\nWn/5S7FJSduTg/TOjgR1HvtBZhWoX9DnyIpO3RqSk0+gWsAyzdC05Lbof3p3\nlM29BK2WSizAmCModdefhPZd0viBPskrQqAZ64QmUyhnFOAhofijbJ/HQN/1\nimbOsF3M7FHYSS5zW5B/GD2CVFXxXetDqQsKSCtgCJGaNkf1y6aJvBbkayT8\nZKUT\r\n=Xzzm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKJXx6W0CSPf9292on8grOhCurYGKzuzshANjdgpjT4AiEAjFEa8tAFvVmCcmvmhUqeJ2fhnRNtsZCb32ePHnk1gXU="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.2.1_1612318558570_0.9012124385395917"},"_hasShrinkwrap":false},"0.3.0":{"name":"react-hook-speech-to-text","version":"0.3.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"1b24ca1f5841d9e2fe8ff486255235c4572b843f","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.3.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5ltPSAnIigMinBNUzh1DpnXIXk8pCsoQabWdxL7tTLDA5/YOmr1evbwn1HMtpjPjfEkndTj3H+miYFvX564oJw==","shasum":"6622892f60fe72c53f5b4540b7c8a9a06206d4be","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.3.0.tgz","fileCount":8,"unpackedSize":79481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGhwZCRA9TVsSAnZWagAADsMP/2kif+p72S0YNjfkvMzY\nIwZLfkRyoIHPz1YDEwbRUzkOlaapWZB0tenaUxbY0BlZAPrTaaiFeEhW8iUb\nFZKVdOkUIuNUQxyqyhv50z5TvT64VEiIiPPfsy3AI7jBIQ3ge+j/h5yEPBm8\nqQY/Qe90+yoW8T3hq1d90A2QyxpSk17w3wPPPYD1WtkcwBbR2CsGoegzcbI8\nOR7TaY58sVi2tnuYq3TCHGbOa5p8Xo+PCHR0ekvkgidz7VuD97eygK1J8WJJ\naB8iTIcGVNTBfaJ9HKnW7F4u6l2Su85tGWO/moKdkSmT0U7wcMNZQF/1A/dd\nI40xUWWj50eTb6INSHOO1vDruGBWQviQmv9KQcCZvQpaZZ0owc3KSMIbRHxx\nWCWTLZsa8vufDiNytpX6Mb8JXmUMAkE3rz1MCVo3sWTR5fydMP60DiLZ8yQo\nUFp//zCmuPdW7NgN+mdxMk1V+0OG1v7+iVEM9OA8PAyJH7pdQLxWujfCaF45\nGVfNP1cyjgdK39JezfyKH3BXFQyRxfhtH4usXlxXi1LUIu/sr/aBWlaanKbM\nNdutyDoqTEeA5BFHt+bVEF6TdF1X9hJTc9XUAzyNcDe7ABEEyEx3UluqrEEl\nY34757GseQbzWRc+CPUIkVLywuHjmlDOhFoArTqh4VTv/B2I32VoH256YnNq\njR2u\r\n=jxY3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQpVaG++d/dm62rdHakRsQAxr1t6/+RHe1/8sqbEXMNAiEA11Heeoqye7CNDc+VRF2XwrQdhg2G9pgAwwDKW2oKwFA="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.3.0_1612323865371_0.15173699995660828"},"_hasShrinkwrap":false},"0.4.0":{"name":"react-hook-speech-to-text","version":"0.4.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","build:react-app":"react-scripts build","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"ad49fe2d2f5568b64a8a2d3485e28322e4df781d","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.4.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PKck3G4vt/dREB4Yxs6rzeADAOPSX4vdDF9dbWLWQvW7ZDsIEHzNFatygbVpXUa+iq6OWceC7dtyPtVS/44Mjw==","shasum":"373238b02a84120d376c75abd120d17481cfb09d","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.4.0.tgz","fileCount":9,"unpackedSize":87678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOqurCRA9TVsSAnZWagAA5r8P/2LssweTJSp4IFxIF872\nKniScmLJlSVESAxCoSOSkq7mnPo9AuwXsVulzfrIjk1HrAgn4X1pg/mOojdU\n74/M+NIdiZsUpAOAGPZMd6z0npxT6G4N5lpGp9Gqgov8UGW52pB1JOLu8l80\n3AjNb7qbNk4DWXsm3iLRHcTd8HczainVpk0qStDwpPbBUZhhYClNmfX4wpwG\nIVzTWmGZR2kbeVCfbr1ZXUaG7bb2nNlyzqdPDUl88CWDhAfmNW0gl0bvr8Vb\n8GlLTMFeqXYtvD2YKMwJO9G3XE8zNyrcpnlX0AZfZ7UEgXyIgGZIAEc99SRB\n8UtySZSzbJvVd5tgo96X7V+/95wqbYs4/s9ux4TROgVBaVco+lsmQldjUkO8\nbeJnQ0kPm0TN3JbNnJEWE116mWAUpEHya5vg7Sk12KoEBwsQORbqstZPiSMc\nHvXSCvem1RD4xAenHqkVbXFRoy2rumlhBgbv4f1bzuE/ByOjjJo8gBj+Mns4\nsvcUm/cE5rdwtERxLE26XTXe3qPVXoF2Sb5uEHZEL1nWVE4p1dc/MyYlvGdk\n+1K4guYKA09vOSmfGL8K7ujd+nlzcUGP5JQgbQOxBIgsD4ynI5yWPrl+WV5n\nhLOMEzLj3sYg8HOrHOWOiVfMVuCHULr192QAS25xnF1w4T4YHcoRAF7v/bX7\nXDLe\r\n=X1Wf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/02DkSfdQdW/Kab7wnUe9uvsvKTQvfN94HP8WaTq+nwIhAPQmbFxTmTSgiiK2K6w8NgIFI1F4DSLZDEGXxEBEOmG7"}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.4.0_1614457770550_0.976202099026841"},"_hasShrinkwrap":false},"0.5.0":{"name":"react-hook-speech-to-text","version":"0.5.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","build:react-app":"react-scripts build","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"d401bb74dbc2eed6440d2a689af2277e431ebe0b","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.5.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-b/pRg3kQsbBZcsJYzoucOP+bb0KOXIZBgLHdz16ocDijbsOYVKDxyHZ701LwyhJ7KJ0jDKuq5NvRoqPDg293ZQ==","shasum":"bffa131c4484035c9a019211e03c3adfea71a232","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.5.0.tgz","fileCount":9,"unpackedSize":89072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQ89kCRA9TVsSAnZWagAA9H4P/A0myXfNkIgOoqIk65jo\nmEhigUk5GCrRMJ+Tuk5zpXgQdGEvzpnRInvlbhIP8s6HZDKFDeLegFMWLNPo\nLqxSAPzQLLgEfKdoE1SU1Bmn1lHQuXDVAR2hmmIbO8Px4KwMmok64YBbyRG6\nu9ykw+cu4P3f/rQQL15js6ofUxfL2enj7ruyvPZMHLBzAxE1k2L50zFqd+PY\nr5tdKjOFEDfS/gBRDOV0GB49fnLGKp04D1D1da68w/U1Ec5ekRO0phUEGg4D\nJIp5XVh94xgD6O0c7CdQvfKmfmBJzc6t44xjR7qD0a6UX6Jzq12WrsigfgTD\n8KfwN1rDs8q9fCCAVPTMHoobANKqXZVgZbJMkUBWmvjFw4D0qb2g0lp/YXl6\nsMm8XXsaqe/HPDFkJ7rPgLr/pkrcMwlAsfYiqOMyHYRO+HWiFg7mb6+DRnKj\nay9FQ4swlSfPNZB7Ca+01RRxvpet3ALEYfNxWVZ6F6fHwZEJdNOTj9p/PVxT\nFHrjeKS5SGbRraKG+Pyxrm1gEn9hyHZLu5B1G8sI2mLFHrLFttxYnKp+bBTr\nfO7zkR+Jr+y1J79QIDtX2iLKpg+fRGUldjpFxr2mFmICkO2agGfCAYfPHcok\n/MS3HAT5YI8M5C0OsiAD5d3eyqFNGhiMTydnvMIQblId6gI1ctm1mVCJfric\nnyWJ\r\n=9BWe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMZxEwyM/UGWB3TPEzC6ogFuQb8PlDyFohIQS+KfwcoQIhALTFpYU5qpcUYVgWrl4Ok7U9snDNczqYI/H26UfGSVtV"}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.5.0_1615056740415_0.9159335593740565"},"_hasShrinkwrap":false},"0.6.0":{"name":"react-hook-speech-to-text","version":"0.6.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","build:react-app":"react-scripts build","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"8fa22f3d79517ae1ffcde0148380acd0c7fc5a2b","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.6.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-rYUxwkUYBiq2qPqBqpZHiHM0HE5y1uzirdJOJ+vQ4oj3rcv8TafyVVwhbCiXmOduuCGlJ0S1tHYtchRsfY9xfA==","shasum":"006d49f1ebdb2d9203c46115e816e5f1cd812cb5","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.6.0.tgz","fileCount":10,"unpackedSize":92183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjbpFCRA9TVsSAnZWagAAah0P/2BF07tJuSiRZLhzEA54\n9BK4F41LA59JGXcuXF6JaYLbnsS7FdF7LwWmEIiS9Pifcyky0kfvlBleiKlT\n2tDeXKsr5SCpOXeU6wDNI6+uRciN8cdSAQNRVnx+HPuZLg5uq8PTumFMjcbd\nbFRr5qJWwgYaNLh5EpvLmdmSRgDXLg5k5U6jIeWvTXqD3hofi5j+hm8KsfzW\nWopHi8ecIIeEA56Z2fgGL76xl4Wfr/tKPWOU6VeK/wAVlSiscaAQ4OlvhmkK\nPmlInltDfYs2tFechx/02Kls/dE72iSwwpZ2YKSwt9MSQiFUt73uT6jfNUHM\ntAmqRjX0eivca+Iortj72DYpm9Th0zBxinsPDLlVny0vOjL+84SL2S6FXsLc\nQJgs0acSk1Ohw1wXI2xvCpijemU9scINgxxzD62JKZ/Oa2FzEcQNc+vCuZh7\niyr3Ml0pmPW5iEJwVTx1eQ9+ri+4GlAr3eY7kJsUmYkfAvUVrC2mtyq5TqCW\ncskqWvKUtkhzIsXRwkS0VD3mkh8XBOycfUf66N6kmDU+75DKbO7Fz/AEsGrK\n+skVdpxovMKC770ZGqYxEkUsIpUhFeOCV9NnpSw7yrKJG/uzc5oDUAhB8ZL0\n5yZnTxDi7bwbtYmhnwbdy4T62SQ2YVXdUd5Z3QhsQnj4PL1Dxjky/eMlBaDO\nh+Mh\r\n=Nf1f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUPyVuD4gVKJX/4Hbni7tPlnmCNp3HqNdBxgKx6nIwXQIgNmRVN2nPfskFh7PdRPVIVrCjwQiJirPHNq3tCTTlgtk="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.6.0_1619900996740_0.6262923459536955"},"_hasShrinkwrap":false},"0.7.0":{"name":"react-hook-speech-to-text","version":"0.7.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","build:react-app":"react-scripts build","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"827504c65ebdebee0384ef4a7a6210e71df79b11","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.7.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-iN8N6ETJJNBjMMzW5oV0HbxMFewTz7wB11vc0kdR8VxoZs4as6ujTvVTl6TDNLc/+wjrQ308sjDCjWCGmPd3JQ==","shasum":"cfb9e6512852d9e4b86ba0c1d2864902eb849f1f","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.7.0.tgz","fileCount":10,"unpackedSize":96077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/IUgCRA9TVsSAnZWagAAonoQAJy+9Yx9ZTs6C4AxXgZ1\nZ4rVvhukbni+OoWReAV7hjA9Q9rWuh3/ETukB/AwURUv3uk1Ax1rjgC190K9\n20OfelS8q84rLJX06jCg3710OFXFYPYY/p+maTZLkM7ECZLYsfFR/r1KTqIJ\nS80/Rm/2cgZN/jZ1oTXUF0juIPpMwTmk5YXKlsDTEc2if1cvhCYLYwJj0+EE\nt2CsQQd+E1R6QH2lVm7liUpYXUTrl6m+V6EF67EZEV7TTbFpSVzAKYuQyRh9\njjQv24ukfYmnmkn/nRH/a4+iPplnJ0FJ8JDtFNbXl5Y/pAW1aRU8KGpEwfR4\nbHakt0VjAxYmlc36Rlqnxt381aATpIQzxSEQZ4OyXU7MTmHH/3kqEVuDYBdB\n2xQj0H0iNHsvPHV3RfFX96vPXwicDHpBVWiBGyRTB3xjIFZnMISS6XwLrhFQ\n58lV6wGs/RjMq1CWgcIvlOQ2mhSf88EyyF6U85kfln8jhfBSRjQ7P5OzsSc6\nnNd6Q8HSUZMfBYd0uL97mHB2IVXcmS9xxfQSQ81o+Z1O9wb8HaSO7DbalKTR\nLY2yh3zw5ZEVb5SGTknHBus2y6xpi/qlhHejkL3NqQPoM3teLgGLLuww8YyV\n3Jyu2/GAjM40UYnctg7HFu50ZSdbSM13bd4SxpDXJHcxRssBPQZlLrGHgGPn\nXtUO\r\n=Lb2J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFX+cSfdUaS/i7O1yJYKTfiZS7GxG8/voTunyOuttfHbAiEA2biXE3WkxgyhDQHIFwroeeRzHTHi2a/USDkipkjwcw0="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.7.0_1627161888585_0.5162296059556308"},"_hasShrinkwrap":false},"0.8.0":{"name":"react-hook-speech-to-text","version":"0.8.0","private":false,"main":"dist/index.js","license":"MIT","author":{"name":"Riley Brown"},"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"description":"Simple cross-browser speech to text using react hooks.","dependencies":{},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"scripts":{"start":"react-scripts start","build":"rollup -c","build:react-app":"react-scripts build","test":"react-scripts test","eject":"react-scripts eject"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-class-properties":"^7.12.1","@babel/preset-react":"^7.12.10","@types/hark":"^1.2.1","@types/node":"^14.14.22","@types/react":"^17.0.1","@types/react-dom":"^17.0.0","babel-core":"^6.26.3","babel-runtime":"^6.26.0","hark":"^1.2.3","inline-worker":"^1.1.0","prettier":"^2.0.5","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-scripts":"^4.0.1","rollup":"^2.38.4","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3"},"keywords":["react","speech","to","text","cross","browser"],"gitHead":"37b40f21d2a78c6606e9b5635e15e68674a2ef86","bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","_id":"react-hook-speech-to-text@0.8.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-hct4gF0Wesn79Pfg+t2PDCa7n0rfSKdzXI4uxq6A5awwUZZG58T67mJNjZDD9Hu9O+6E1Nk5ZpuIPdDLk1fqmw==","shasum":"76f5d87cc6077ff537246d80fc1a45cc932ec25b","tarball":"https://registry.npmjs.org/react-hook-speech-to-text/-/react-hook-speech-to-text-0.8.0.tgz","fileCount":10,"unpackedSize":97023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKqtNCRA9TVsSAnZWagAAe4IP/A/2cySaZ7ytTWDU5fNs\noO8/VOkVC4Ler+SVPaRW/KIQJL1Qh+76Cw8IJ8/MGf1ZocgwhY1LoxkP8J9Y\nuDhglYhZh8b1fgV+W18RKlN0dSiblxtOEjqkN/GrMFVbMlKlBkSExQExVtho\nZG6GcF2VB+/r1Nn6sTwiQv7zvPvSd1RvlVv3//3TQZSv8YN+hX/KvczjoJqo\noUg3OWc3GcVPcKissB2+VITt4cy+dILufyG3ZaGwwiNYySXKjsGRogoFDVU7\nljatQVjo5pgBIYjiw89JENSGOAzYug8j+vcHmU0Iz6diCwPb3BnWhpyp/ZY6\nDDDf+MFU1F1AESmIQGUMUpU6mNmjK2eL2pPaNp6bVNvzW6b92R4JTfrB2+DO\nrkASXF7yLKVaqdPIFibu4aN8FECWLf2qH0870ckm5XH9uDb9QwEWqrZrxmp8\nJJ8zd782oDcgmpg0mgXZAiiQYLU3jbNdmZvsmhM35VTr5PcXmQmXRjIR9m7g\neh2tgKophSTXBHwaqDknhl2fNpEsJxbNAuj1gNJszCbG00gB8rErU+dt3KEV\nLyhdjp9NoxliV894FIw5dmb6IdwN63WfLTDJ3aLO4MREOLVttPINoBuuLss6\nMA7apoB9qjw+GJf2oKpEqXqkRk5HcLcDh8MLgJeZnDdSsMDWps7qcSjC+761\nX55P\r\n=hQWh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmT5zX1Vo4ZAdRFScOjxXqz2JYBzGlUBm6lQPDW0sv1QIgXOjtW9hZDzdNIa19rXvzS/1k9egvR5CIZBOJ3RVcxNE="}]},"_npmUser":{"name":"rileybrown96","email":"riley@riley.gg"},"directories":{},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hook-speech-to-text_0.8.0_1630186317197_0.7930518542454574"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-03T00:07:58.828Z","0.1.0":"2021-02-03T00:07:58.981Z","modified":"2022-05-14T12:11:18.132Z","0.2.0":"2021-02-03T02:01:57.353Z","0.2.1":"2021-02-03T02:15:58.678Z","0.3.0":"2021-02-03T03:44:25.539Z","0.4.0":"2021-02-27T20:29:30.728Z","0.5.0":"2021-03-06T18:52:20.598Z","0.6.0":"2021-05-01T20:29:56.889Z","0.7.0":"2021-07-24T21:24:48.709Z","0.8.0":"2021-08-28T21:31:57.341Z"},"maintainers":[{"name":"rileybrown96","email":"riley@riley.gg"}],"description":"Simple cross-browser speech to text using react hooks.","homepage":"https://github.com/Riley-Brown/react-speech-to-text#readme","keywords":["react","speech","to","text","cross","browser"],"repository":{"type":"git","url":"git+https://github.com/Riley-Brown/react-speech-to-text.git"},"author":{"name":"Riley Brown"},"bugs":{"url":"https://github.com/Riley-Brown/react-speech-to-text/issues"},"license":"MIT","readme":"# React Hook to transcribe microphone input into text.\r\n\r\n![Demo](demo.gif)\r\n\r\nThis hook supports cross browser speech to text if the `crossBrowser: true` prop is passed.\r\n\r\nBy default, the <a target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition\">SpeechRecognition API</a> is used which is currently only supported by Chrome browsers.\r\n\r\nThe SpeechRecognition API does not require any additional setup or API keys, everything works out of the box.\r\n\r\n# Why use this package?\r\n\r\n- Written in TypeScript with full type support\r\n- 0 dependencies\r\n- Simple APIs\r\n- Cross-browser optional support\r\n- Small bundle size 11.9kB **(4.7kB gzipped)**\r\n\r\n# Install\r\n\r\n```\r\nnpm i react-hook-speech-to-text\r\n```\r\n\r\n```\r\nyarn add react-hook-speech-to-text\r\n```\r\n\r\n# Live Demo\r\n\r\nhttps://trusting-perlman-d246f0.netlify.app/\r\n\r\nAs of 02/02/20 cross-browser speech to text tested and working on Chrome, firefox, Safari for Mac, iOS 13 and 14 Safari. Have not tested on Android but should work on chromium based android browsers.\r\n\r\nUnfortunately does not work on firefox or chrome on iOS due to apple only supporting `getUserMedia` on safari (thanks apple 💩)\r\n\r\n# Cross Browser Support\r\n\r\nIf cross-browser support is needed, the `crossBrowser: true` prop must be passed. A [Google Cloud Speech-to-Text](https://cloud.google.com/speech-to-text/) API key is needed.\r\n\r\nThis hook makes use of a customized version of `recorder.js` for recording audio, down-sampling the audio `sampleRate` to <= 48000hz, and converting that audio to WAV format.\r\n\r\nThe hook then converts the WAV audio blob returned from `recorder.js` and converts it into a `base64` string using the `FileReader` API. This is all needed in order to POST audio data to the Google Cloud Speech-to-Text REST API and get transcribed text returned all on the front-end.\r\n\r\nAlso used is `hark.js` for detecting start and stopped speech events for browsers that don't support the `SpeechRecognition` API. If the `SpeechRecognition` API is available, `SpeechRecognition` API handles start and stop speech events automatically.\r\n\r\n# Hook usage\r\n\r\n```JSX\r\nimport React from 'react';\r\nimport useSpeechToText from 'react-hook-speech-to-text';\r\n\r\nexport default function AnyComponent() {\r\n  const {\r\n    error,\r\n    interimResult,\r\n    isRecording,\r\n    results,\r\n    startSpeechToText,\r\n    stopSpeechToText,\r\n  } = useSpeechToText({\r\n    continuous: true,\r\n    useLegacyResults: false\r\n  });\r\n\r\n  if (error) return <p>Web Speech API is not available in this browser 🤷‍</p>;\r\n\r\n  return (\r\n    <div>\r\n      <h1>Recording: {isRecording.toString()}</h1>\r\n      <button onClick={isRecording ? stopSpeechToText : startSpeechToText}>\r\n        {isRecording ? 'Stop Recording' : 'Start Recording'}\r\n      </button>\r\n      <ul>\r\n        {results.map((result) => (\r\n          <li key={result.timestamp}>{result.transcript}</li>\r\n        ))}\r\n        {interimResult && <li>{interimResult}</li>}\r\n      </ul>\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n# Cross-browser mode\r\n\r\nSame code as above with `crossBrowser: true` and `googleApiKey` props passed\r\n\r\n```JSX\r\n  const {\r\n    error,\r\n    isRecording,\r\n    results,\r\n    startSpeechToText,\r\n    stopSpeechToText,\r\n  } = useSpeechToText({\r\n    continuous: true,\r\n    crossBrowser: true,\r\n    googleApiKey: YOUR_GOOGLE_CLOUD_API_KEY_HERE,\r\n    useLegacyResults: false\r\n});\r\n```\r\n\r\n# Arguments\r\n\r\nArguments passed to `useSpeechToText` invocation\r\n\r\n### `timeout`\r\n\r\nSets amount in milliseconds to stop recording microphone input after last detected speech event.\r\n\r\n**Note**: `timeout` is only applied when `crossBrowser: true` arg is passed and using browser that does not support `SpeechRecognition` API, else Chrome's Speech Recognition automatically stops recording after a certain amount of time.\r\n\r\n- Type: `number`\r\n- Required: `false`\r\n- Default: `10000`\r\n\r\n<hr>\r\n\r\n### `continuous`\r\n\r\nSets whether or not to keep recording microphone input after speech results are returned\r\n\r\n- Type: `boolean`\r\n- Required: `false`\r\n- Default: `undefined`\r\n\r\n<hr>\r\n\r\n### `onStartSpeaking`\r\n\r\nCallback function invoked on speech detection event. **Only invoked on browsers that do not support `SpeechRecognition` API**\r\n\r\n- Type: `() => any`\r\n- Required: `false`\r\n- Default: `undefined`\r\n\r\n<hr>\r\n\r\n### `onStopSpeaking`\r\n\r\nCallback function invoked on speech stopped event. **Only invoked on browsers that do not support `SpeechRecognition` API**\r\n\r\n- Type: `() => any`\r\n- Required: `false`\r\n- Default: `undefined`\r\n\r\n<hr>\r\n\r\n### `crossBrowser`\r\n\r\nBoolean to enable speech to text functionality on browsers that do not support the `SpeechRecognition` API. Firefox, Safari, iOS Safari etc.\r\n\r\n**Note**: `googleApiKey` is required if using `crossBrowser` mode.\r\n\r\n- Type: `boolean`\r\n- Required: `false`\r\n- Default: `false`\r\n\r\n<hr>\r\n\r\n### `googleApiKey`\r\n\r\nAPI key used for Google Cloud Speech to text API for cross browser speech to text functionality.\r\n\r\n- Type: `string`\r\n- Required: `true` if `crossBrowser` or `useOnlyGoogleCloud`\r\n- Default: `undefined`\r\n\r\n<hr>\r\n\r\n### `googleCloudRecognitionConfig`\r\n\r\n**Thanks to https://github.com/iwgx for the suggestion https://github.com/Riley-Brown/react-speech-to-text/issues/2**\r\n\r\nOptional config object to have more control over the google cloud speech settings. These options will only be passed if using `crossBrowser: true` on browsers not supporting SpeechRecognition API, or on all browsers if passing `useOnlyGoogleCloud: true`. All options can be found here https://cloud.google.com/speech-to-text/docs/reference/rest/v1/RecognitionConfig\r\n\r\n- Type: `GoogleCloudRecognitionConfig`\r\n- Required: `false`\r\n- Default: `undefined`\r\n\r\nex:\r\n\r\n```jsx\r\nconst { results } = useSpeechToText({\r\n  crossBrowser: true,\r\n  googleApiKey: process.env.REACT_APP_API_KEY,\r\n  googleCloudRecognitionConfig: {\r\n    languageCode: 'en-US'\r\n  }\r\n});\r\n```\r\n\r\n<hr>\r\n\r\n### `speechRecognitionProperties`\r\n\r\nOptional object of properties to have more control over Google Chrome's SpeechRecognition API. These properties only apply on browsers that support Google Chrome's SpeechRecognition API. All properties can be found here https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#properties\r\n\r\n- Type: `SpeechRecognitionProperties`\r\n- Required: `false`\r\n- Default: `{ interimResults: true }`\r\n\r\nex:\r\n\r\n```jsx\r\nconst { results, interimResult } = useSpeechToText({\r\n  speechRecognitionProperties: {\r\n    lang: 'en-US',\r\n    interimResults: true // Allows for displaying real-time speech results\r\n  }\r\n});\r\n```\r\n\r\n<hr>\r\n\r\n### `useOnlyGoogleCloud`\r\n\r\nBoolean to force use of google cloud engine speech-to-text even on browsers that support built in SpeechRecognition API. By default, this package will try to use SpeechRecognition where available since it is free for Chrome and will provide faster results than the cross-browser google cloud engine speech-to-text method. Overwrite this functionality if you want to only use google cloud for more consistent functionality.\r\n\r\nNote: if setting to true, you must pass a valid google cloud speech to text API key or no results will be returned.\r\n\r\n- Type: `boolean`\r\n- Required: `false`\r\n- Default: `false`\r\n\r\n<hr>\r\n\r\n### `useLegacyResults`\r\n\r\nBoolean to return legacy array of string results or the new array of object results. Recommended to pass `useLegacyResults: false` as the legacy array of strings results will be removed in a future version.\r\n\r\n- Type: `boolean`\r\n- Required: `false`\r\n- Default: `false`\r\n\r\n<hr>\r\n\r\n# Returned Values\r\n\r\nValues returns by the `useSpeechToText()` hook\r\n\r\nex: `const { results } = useSpeechToText()`\r\n\r\n### `results`\r\n\r\nTranscribed text from speech on successful speech-to-text transcription.\r\n\r\n- Type: `string[] | ResultType[]`\r\n- Default: `[]`\r\n\r\n```typescript\r\ntype ResultType = {\r\n  speechBlob?: Blob;\r\n  timestamp: number;\r\n  transcript: string;\r\n};\r\n```\r\n\r\n**Important**: When passing `useLegacyResults: false`, results will return the new `ResultType[]` array of objects. It is recommended to opt into the new results ASAP as the legacy results will be completely removed in a future version.\r\n\r\nNote: `speechBlob` will only be returned when using google cloud speech to text API as Chrome's SpeechRecognition API does not provide access to the captured microphone data\r\n\r\n<hr>\r\n\r\n### `setResults`\r\n\r\nReact setState function to manually set the results state array\r\n\r\n**Thanks to https://github.com/marharyta for the suggestion https://github.com/Riley-Brown/react-speech-to-text/issues/12**\r\n\r\n- Type: `React.Dispatch<React.SetStateAction<ResultType[]>>`\r\n\r\n<hr>\r\n\r\n### `interimResult`\r\n\r\nReal-time speech result only for `SpeechRecognition` web API if opting-in using `speechRecognitionProperties: { interimResults: true }` config prop. Will update using the partial results returned from the web API and gets set back to `undefined` on final speech result.\r\n\r\n- Type: `string` | `undefined`\r\n- Default: `undefined`\r\n\r\n<hr>\r\n\r\n### `startSpeechToText`\r\n\r\nFunction to start microphone input recording. Will prompt user with microphone access permission if not previously granted.\r\n\r\n- Type: `() => Promise<void>`\r\n\r\n<hr>\r\n\r\n### `stopSpeechToText`\r\n\r\nFunction to stop microphone input recording.\r\n\r\n- Type: `() => void`\r\n\r\n<hr>\r\n\r\n### `isRecording`\r\n\r\nBoolean to detect if an active recording is occurring.\r\n\r\n- Type: `boolean`\r\n- Default: `false`\r\n\r\n<hr>\r\n\r\n### `error`\r\n\r\nError string if feature is not supported on current browser\r\n\r\n- Type: `string`\r\n- Default: `''`\r\n\r\n# Running project locally\r\n\r\n```\r\nnpm run start\r\n```\r\n\r\n# Building project locally\r\n\r\nCode will be output to the `/dist` folder using rollup bundler\r\n\r\n```\r\nnpm run build\r\n```\r\n\r\n# Contributing\r\n\r\nFeel free to open an issue on the repo with any bugs or feature requests, or fork and create a PR with fixes, features or improvements.\r\n","readmeFilename":"README.md"}