{"_id":"edge-tts-universal","_rev":"16-b343ff427b93ea93a2fa4d6082d6d66c","name":"edge-tts-universal","dist-tags":{"latest":"1.4.0"},"versions":{"1.0.3":{"name":"edge-tts-universal","version":"1.0.3","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.0.3","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"88015f4da25c93b7acb1d91f6ea183ba1f9d9da2","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.0.3.tgz","fileCount":23,"integrity":"sha512-Id3mV7hJkZeF2/25DT+3N+vrv4QJtGe+Wiwi+jKU+qPjFRwBk5DXoZTS2I2fu3Xs2KuaFeuhI8gjN3hJSewIQw==","signatures":[{"sig":"MEUCIQC1XJAnXKc+jyw59JyBJSCQ7sZFFgSiEvjgnyceh8U0mwIgHHI9dsqDZtkuUNH0gY8vmHpxzqGX+v0EN+3fTeUgxLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825873},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./isomorphic":{"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}}},"gitHead":"7fecb68fd7a0ac904cb78b47efb9ff071569e808","scripts":{"dev":"tsup --watch","docs":"typedoc","build":"tsup","docs:serve":"typedoc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typedoc":"^0.28.5","@types/ws":"^8.5.5","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.0.3_1749409861290_0.6431345848020986","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"edge-tts-universal","version":"1.0.4","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.0.4","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"cb41b4b30c1f4a4b49de719975a5af2a20936734","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.0.4.tgz","fileCount":29,"integrity":"sha512-7c7N4lsUlmAmegF4qc7egvb0s/o331m6tvMtdTS9Q0fizSFGsyAK4YpYT/St/M1GzbyYqqVFaikvxByCSkUZ8w==","signatures":[{"sig":"MEQCIGdYamtBjeOfPnS1nRU2+GZ4IlfJ53Pn5pNp5xkC60DlAiB2ZXNt9Py9agwljoZgIr6KQnKLgy4bknPbzR2k3XxMww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1072625},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}}},"gitHead":"6bc2ef96cb27533054bcab6ef7b7ae08ba9a8059","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.0","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.0.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.0.4_1749411078721_0.4156141086057079","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"edge-tts-universal","version":"1.0.5","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.0.5","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"eba6f8c84877a93b7929306bc75557ffed80b1e3","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.0.5.tgz","fileCount":35,"integrity":"sha512-Tpu7vTwGWEUU0b7qEhXhGAGy95XgPfdhGRp79tKsdkm5zdu9iWLu5UGtJBa1IXPTR6+k27EnsTjNclDUw0U/XQ==","signatures":[{"sig":"MEQCIBp0JlzcgKunC7yTJcfr/PpicKVCAfDkWwx8TPZAypnsAiAtZWkrX/0eRhx9xTtyhU2BaWbNZRW3Z2B2w11EC5EiZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093683},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"f7461f180106883d486ac60af97db2f94315147c","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.0.5_1749417383878_0.26245849608197025","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"edge-tts-universal","version":"1.0.6","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.0.6","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"47f3b00cfe901d5118d693507299b7bbf12b86f5","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.0.6.tgz","fileCount":35,"integrity":"sha512-+Kx2m+Jy3zCLL0WLWUKgUqGoYWc4hWaF1IWRAVk0sq3x75VxMez7BUPqTo/nrsvdQzKmxtwA29Ady0QPgVkXwA==","signatures":[{"sig":"MEUCIF5SXo7EiwJRAF0u2unwvPB8hMN0sBpPHi2WQUcmp/+VAiEA52mwo+xe2U+uZ4i2zNv0Q/WaV+AbHqfdXDvlwx7A+QQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1167615},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"e1177f9ee67c1b8248ab02fbda10043ffafc4bf9","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.0.6_1749419630677_0.6364377010994418","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"edge-tts-universal","version":"1.0.7","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.0.7","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"882e62b8940e82020f3c487073c13a95632186ab","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.0.7.tgz","fileCount":37,"integrity":"sha512-bzRCrKn8OcfvSrfA/ITNR35ZuhiALmAZTcj5e/vrEXt9UZ0pQwP/GRL05y/x9xULRwZskc8gZh1O+5lAJUQimg==","signatures":[{"sig":"MEUCIQC5wuMhwAfi5IZjRNPFIB3a6BbT9QBb0lGCLNQtnLRHnAIgQ9DF0Q/TuKmHCfhvAlX7V8jY4QPMAH421KlnR2HciGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1249109},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"4da813fab71dcf4aac0e79ba4bd25d5999e24ffb","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.0.7_1749502770104_0.897756514185176","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"edge-tts-universal","version":"1.2.0","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.2.0","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"207c455eea8b56ae3838055ee4d629187fc712ef","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.2.0.tgz","fileCount":37,"integrity":"sha512-CmtTYI2KxWrJFlmJPkFSdfffgdjxLGGEIbBpxxNpeB2BkIDadQ7rp+DnOsFphIO1ZEVB2TY4rMp2URXc8+s5MQ==","signatures":[{"sig":"MEQCIBK+CX9QBajmcGusD9/yeMclOxOvYYoWvgZj8ZEJqlweAiBvS3IIgf45jtRr+//ldhl9CEfJcArqweS9PjkRNzkXrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1219028},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"32b5fd7df0e61fcbaa19c3248b6639bfa8f3d97a","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.2.0_1750113458786_0.9559917713074613","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"edge-tts-universal","version":"1.2.1","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.2.1","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"4e68847eba04b8d88960070e79aa29c11a4c426e","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.2.1.tgz","fileCount":37,"integrity":"sha512-kH3rLO+tWMI8+55meu76seGSfFK4X+KiAjF67p9J0+hEkW8HKWKHMjD2e9qe1DrHQt8IzIqrkc4Y/T4ZXT4K/A==","signatures":[{"sig":"MEUCIDnFkW950GV9veEzTebeltIwbkAHjlMPeSyvPPngd/x7AiEAqOCtjKhDLpYkjl046zq1CBDhtBsjGG5MZVhH+HAJlBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1219028},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"8622f48e32a460fb895774fd4efab4765076920a","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.2.1_1750114505311_0.46916930285061054","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"edge-tts-universal","version":"1.2.2","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.2.2","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"f7c1776f96f40aea2e5832e62e99cc5fa5c074b0","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.2.2.tgz","fileCount":37,"integrity":"sha512-w+Ip4U/ja7wtx0/KucvHHfOiRSsDAEGlJraafJIX50oy4K3uAqhwewnQF2wAdcOW1NybWDCvGVEQwBVkSAliyQ==","signatures":[{"sig":"MEUCIATzdrzvwK1P1hjMEoMg9qj61xXCEEVyXmyXLlkOay7OAiEA6TYfy50FebJ2y3IIbi6869CLIL5qUsK7/bFh/d7eaGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1217127},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"9dc1e053b342b71f9d92b95623f86869ad564c5c","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.2.2_1750115198682_0.2626974721091364","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"edge-tts-universal","version":"1.2.3","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.2.3","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"5254b3386a270d4cf9f9ebc430f10ed3f5d4c224","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.2.3.tgz","fileCount":37,"integrity":"sha512-aERalq0MWM5gZc5+mqWsqGTb6kWcm4V3whJgBwGP9hTXVFZvbrP9fV2XqpbKQeyyttlsrhgOV0tSlgtbKRyFNw==","signatures":[{"sig":"MEUCIEoaJDQxtxWHcvz8RuopmoKt5ZEFnx+xQTzby55UBb4MAiEA60RlVYtmpFoTG4toXkaAKF7WVm8+yEri7V+LD0OEdsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1221361},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"4f72ec630606b42223514fe7bdef90903a369bd1","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.2.3_1750116071986_0.7216349693318138","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"edge-tts-universal","version":"1.2.4","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.2.4","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"f68f508fc8aee256f36cae98323d31c1eeb092c6","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.2.4.tgz","fileCount":37,"integrity":"sha512-U56ven30jjhkZnKA9KpmEXbgIKh2D97uPh4FXBqIZd2PYt9ludBr0c85fYuMeib5BqHEtsPl0+aNiWh7/7E9YA==","signatures":[{"sig":"MEUCIQCubi17J55uKUBwRSLEsBjttGu8XCgI+7gmte0Nj0GEuQIgN6RIhPxWOGjZ95ftdJwlFNyJouPsJG8Rx/LM3IlNJsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1221333},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"bc07a05d48574c4f6b8eb4b66ca7174797b729f0","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.2.4_1750116573384_0.2238853352213328","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"edge-tts-universal","version":"1.2.5","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.2.5","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"ac581ae74088a04146dd00beff15d8e30c5f8b38","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.2.5.tgz","fileCount":37,"integrity":"sha512-/bQC8Wd1kUB0X55Rnchn2FW9e48sKvwGS2kmwtM42krWt/EmxZVr7XgkvUD4bo5dd83msJR6UE5oHBKMZifhtQ==","signatures":[{"sig":"MEUCIQDTDu8VmnfagL1ce2mj2KmjJDoovEZwKpht3ViW4Yq+lwIge9WKDV4sz++lKvMvVOmgA3fKLsO2tGmGuL4cu9vlwRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1215513},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"407b9f46818043b893e3528a8b4ed96fde46c147","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.2.5_1755826836744_0.45067048389835995","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"edge-tts-universal","version":"1.3.0","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.3.0","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"62fb819a3394ea747aa0fd4adedbe8e0ec43c512","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.3.0.tgz","fileCount":33,"integrity":"sha512-tUnD3dpdytmGU4iL91mJSafxjk6VU02u/vA+ya8ev0r27eGJJCTkDhM03qxJzDqIDp5dI19AnJOFJaqCBY+k8w==","signatures":[{"sig":"MEQCIDsTmdjr/92XyX5uK15n2A2G6DSK/DnqwZfqru87DmdMAiAh8AhmhfT/hI7HUCvfnetz922isRLlozafZLhtn417Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1218092},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":">=16.0.0"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"f92140747d70beee3d12465e0abe8b58650bb255","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","test":"npm run build && node --test tests/*.test.js","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","test:watch":"npm run build && node --test --watch tests/*.test.js","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts","example:universal-api":"tsx examples/universal-api.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.13.0","uuid":"^11.1.0","axios":"^1.4.0","buffer":"^6.0.3","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.0.0","@types/ws":"^8.5.5","size-limit":"^11.0.0","typescript":"^5.1.6","@types/node":"^20.4.5","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.0.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.3.0_1755906873115_0.9781188115920292","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"edge-tts-universal","version":"1.3.1","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.3.1","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"b298fed1c2277b27c9fff7b5e0e6b827cd9fd844","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.3.1.tgz","fileCount":35,"integrity":"sha512-D4jtEEyNTIzZW4MJ1ajuliq7kJOJ0CL7DCmG8mFMs6BCP8s7z3sr7elO7fgsA4NlqN6BrAT1oEFez9mvEro3hA==","signatures":[{"sig":"MEUCIQD6v+ar4ZkloUC+xvs/3kEGIfml6tcAazcOcJgxeqmQjgIgP7qAd8DflT9wFfJVZKFSKuMmFqLnan+/WeEZSsp9UlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1254806},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"bun":">=1.0.0","node":"~=22"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"1c1a5a1d1749e12ebd4f3e702e945b227e6910c6","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","test":"npm run build && node --test tests/*.test.js","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","test:watch":"npm run build && node --test --watch tests/*.test.js","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts","example:universal-api":"tsx examples/universal-api.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.9.3","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.18.3","uuid":"^11.1.0","axios":"^1.12.1","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.6.2","@types/ws":"^8.18.1","size-limit":"^11.2.0","typescript":"^5.9.2","@types/node":"^22.18.3","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.2.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.3.1_1757807453073_0.526919193223752","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"edge-tts-universal","version":"1.3.2","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.3.2","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"7fa0b299f7f92a3f21193e4dcf32040951455c7b","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.3.2.tgz","fileCount":35,"integrity":"sha512-1HjnxPI9sqgRQI8ngAbYS+JrjYBkg5D6qI4y+/rpw4FeaDTzkRXkRCaw804LHHmS3q5/oNLvSSXzodgvoI5erQ==","signatures":[{"sig":"MEUCIQD7ZSmqZl1yI+0PRGIh/qlDqoXXjs/5gteEKx5vZeYeuwIgBrwmOYithSBqrIw9CSgZr3yJVhnDvRbEuv7votPFuT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1256465},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"npm":">=9","node":"^18.17 || ^20.9 || >=22"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"c7ecd5f46ab9533022bbfafae86edfcf8c0b104f","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","test":"npm run build && node --test tests/*.test.js","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","test:watch":"npm run build && node --test --watch tests/*.test.js","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts","example:universal-api":"tsx examples/universal-api.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.9.3","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.18.3","uuid":"^11.1.0","axios":"^1.12.1","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6","isomorphic-webcrypto":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.6.2","@types/ws":"^8.18.1","size-limit":"^11.2.0","typescript":"^5.9.2","@types/node":"^22.18.3","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.2.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.3.2_1758740787698_0.939316376394471","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"edge-tts-universal","version":"1.3.3","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"url":"https://travis.engineer","name":"Travis","email":"contact@travis.engineer"},"license":"AGPL-3.0","_id":"edge-tts-universal@1.3.3","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dist":{"shasum":"275a9bc270a2b6175979df044e53c264c4ad59e2","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.3.3.tgz","fileCount":33,"integrity":"sha512-jlUvYGsJ+o93FRPWQDQa/E7jqYbuLJAKKq9qvylo0/yHE1vtp4HCSzSAamviBewmpaNHlEJm+eEMimJXfu98zw==","signatures":[{"sig":"MEUCIQDs3VzWdgn59gGnHJ8H6CrUC61qQYQD1+9lHsoByeF6/AIgQ3ikdFdhn0rB/OiuVXuqbDawIxwE/u4CeYDBVn2EQ6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1228683},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","module":"./dist/index.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"npm":">=9","node":"^18.17 || ^20.9 || >=22"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"gitHead":"abba97fb713e4e8679577ea2c1f1e4fcc706f560","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"eslint src examples --ext .ts","size":"size-limit","test":"npm run build && node --test tests/*.test.js","build":"tsup","clean":"rm -rf dist","analyze":"npx @next/bundle-analyzer","lint:fix":"eslint src examples --ext .ts --fix","docs:serve":"typedoc --watch","test:watch":"npm run build && node --test --watch tests/*.test.js","type-check":"tsc --noEmit","publish:all":"npm run publish:npm && npm run publish:jsr","publish:jsr":"deno publish","publish:npm":"npm publish","example:simple":"tsx examples/simple-api.ts","example:voices":"tsx examples/listVoices.ts","prepublishOnly":"npm run build","example:streaming":"tsx examples/streaming.ts","example:universal":"tsx examples/universal-detection.ts","example:isomorphic":"tsx examples/isomorphic-example.ts","example:universal-api":"tsx examples/universal-api.ts"},"_npmUser":{"name":"travisvn","email":"dev@travis.engineer"},"jsdelivr":"./dist/browser.js","prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/travisvn/edge-tts-universal.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","directories":{"example":"examples"},"_nodeVersion":"22.21.1","dependencies":{"ws":"^8.18.3","uuid":"^11.1.0","axios":"^1.12.1","xml-escape":"^1.1.0","cross-fetch":"^4.1.0","isomorphic-ws":"^5.0.0","https-proxy-agent":"^7.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","eslint":"^8.57.1","typedoc":"^0.28.5","prettier":"^3.6.2","@types/ws":"^8.18.1","size-limit":"^11.2.0","typescript":"^5.9.2","@types/node":"^22.18.3","@types/uuid":"^10.0.0","@types/xml-escape":"^1.1.3","@typescript-eslint/parser":"^7.18.0","@size-limit/preset-small-lib":"^11.2.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/edge-tts-universal_1.3.3_1763359279129_0.6444334945877572","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"edge-tts-universal","version":"1.4.0","description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","jsdelivr":"./dist/browser.js","browser":{"./dist/index.js":"./dist/browser.js","./dist/index.cjs":"./dist/browser.cjs"},"engines":{"node":"^18.17 || ^20.9 || >=22","npm":">=9"},"exports":{".":{"bun":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"deno":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./browser":{"bun":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs"},"deno":{"types":"./dist/browser.d.ts","import":"./dist/browser.js"},"import":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"require":{"types":"./dist/browser.d.cts","default":"./dist/browser.cjs"}},"./isomorphic":{"bun":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js","require":"./dist/isomorphic.cjs"},"deno":{"types":"./dist/isomorphic.d.ts","import":"./dist/isomorphic.js"},"import":{"types":"./dist/isomorphic.d.ts","default":"./dist/isomorphic.js"},"require":{"types":"./dist/isomorphic.d.cts","default":"./dist/isomorphic.cjs"}},"./webworker":{"bun":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js","require":"./dist/webworker.cjs"},"deno":{"types":"./dist/webworker.d.ts","import":"./dist/webworker.js"},"import":{"types":"./dist/webworker.d.ts","default":"./dist/webworker.js"},"require":{"types":"./dist/webworker.d.cts","default":"./dist/webworker.cjs"}},"./runtime-detection":{"bun":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js","require":"./dist/runtime-detection.cjs"},"deno":{"types":"./dist/runtime-detection.d.ts","import":"./dist/runtime-detection.js"},"import":{"types":"./dist/runtime-detection.d.ts","default":"./dist/runtime-detection.js"},"require":{"types":"./dist/runtime-detection.d.cts","default":"./dist/runtime-detection.cjs"}}},"scripts":{"build":"tsup","dev":"tsup --watch","docs":"typedoc","docs:serve":"typedoc --watch","prepublishOnly":"npm run build","test":"npm run build && node --test tests/*.test.js","test:watch":"npm run build && node --test --watch tests/*.test.js","lint":"eslint src examples --ext .ts","lint:fix":"eslint src examples --ext .ts --fix","type-check":"tsc --noEmit","clean":"rm -rf dist","example:simple":"tsx examples/simple-api.ts","example:streaming":"tsx examples/streaming.ts","example:voices":"tsx examples/listVoices.ts","example:universal":"tsx examples/universal-detection.ts","example:universal-api":"tsx examples/universal-api.ts","example:isomorphic":"tsx examples/isomorphic-example.ts","size":"size-limit","analyze":"npx @next/bundle-analyzer","publish:jsr":"deno publish","publish:npm":"npm publish","publish:all":"npm run publish:npm && npm run publish:jsr"},"keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"author":{"name":"Travis","email":"contact@travis.engineer","url":"https://travis.engineer"},"license":"AGPL-3.0","homepage":"https://github.com/travisvn/edge-tts-universal","bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"dependencies":{"axios":"^1.12.1","cross-fetch":"^4.1.0","https-proxy-agent":"^7.0.6","isomorphic-ws":"^5.0.0","uuid":"^11.1.0","ws":"^8.18.3","xml-escape":"^1.1.0"},"devDependencies":{"@size-limit/preset-small-lib":"^11.2.0","@types/node":"^22.18.3","@types/uuid":"^10.0.0","@types/ws":"^8.18.1","@types/xml-escape":"^1.1.3","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","eslint":"^8.57.1","prettier":"^3.6.2","size-limit":"^11.2.0","tsup":"^8.5.0","tsx":"^4.20.5","typedoc":"^0.28.5","typescript":"^5.9.2"},"directories":{"example":"examples"},"repository":{"type":"git","url":"git+https://github.com/travisvn/edge-tts-universal.git"},"prettier":{"semi":true,"trailingComma":"es5","singleQuote":true,"printWidth":80,"tabWidth":2,"useTabs":false},"gitHead":"97e95e2f4dd321c83d7a3925b3eae61605d75464","_id":"edge-tts-universal@1.4.0","_nodeVersion":"22.22.0","_npmVersion":"11.10.1","dist":{"integrity":"sha512-53Zk6UH3+3g844APjuhtHb2KTTdRLY6fZtEZsSIF3Kz3tYEpsjwQedCtaz8qTaxYdqFOMoFyCGNOHm2PxuX2Jw==","shasum":"7e3b5068ff5dbf0b7db0b35ccab6a787f91b7450","tarball":"https://registry.npmjs.org/edge-tts-universal/-/edge-tts-universal-1.4.0.tgz","fileCount":33,"unpackedSize":1259146,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/edge-tts-universal@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEUkg1AUopo6steAF4WSw6s1qp/X09ytdtmSp2APmtFeAiEA1mD8SPCFCAH0236YVrCSSnNXEitz3y3nnMz5/yKoxf8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2b62f738-193f-4e72-9364-2780e25decf0"}},"maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/edge-tts-universal_1.4.0_1771979183712_0.11509534316582881"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-08T19:11:01.289Z","modified":"2026-02-25T00:26:24.265Z","1.0.3":"2025-06-08T19:11:01.653Z","1.0.4":"2025-06-08T19:31:18.962Z","1.0.5":"2025-06-08T21:16:24.168Z","1.0.6":"2025-06-08T21:53:50.904Z","1.0.7":"2025-06-09T20:59:30.408Z","1.2.0":"2025-06-16T22:37:39.034Z","1.2.1":"2025-06-16T22:55:05.536Z","1.2.2":"2025-06-16T23:06:38.957Z","1.2.3":"2025-06-16T23:21:12.364Z","1.2.4":"2025-06-16T23:29:33.641Z","1.2.5":"2025-08-22T01:40:36.947Z","1.3.0":"2025-08-22T23:54:33.354Z","1.3.1":"2025-09-13T23:50:53.298Z","1.3.2":"2025-09-24T19:06:27.883Z","1.3.3":"2025-11-17T06:01:19.359Z","1.4.0":"2026-02-25T00:26:23.915Z"},"bugs":{"url":"https://github.com/travisvn/edge-tts-universal/issues"},"author":{"name":"Travis","email":"contact@travis.engineer","url":"https://travis.engineer"},"license":"AGPL-3.0","homepage":"https://github.com/travisvn/edge-tts-universal","keywords":["text-to-speech","tts","edge-tts","speech-synthesis","microsoft-edge","universal","isomorphic","browser","nodejs","cross-platform","speech","voice","audio","ssml","subtitles"],"repository":{"type":"git","url":"git+https://github.com/travisvn/edge-tts-universal.git"},"description":"Universal text-to-speech library using Microsoft Edge's online TTS service. Works in Node.js and browsers WITHOUT needing Microsoft Edge, Windows, or an API key","maintainers":[{"name":"travisvn","email":"dev@travis.engineer"}],"readme":"# Edge TTS Universal 🪐\n\n[![API Documentation](https://img.shields.io/badge/API-Documentation-blue)](./API.md)\n[![npm](https://img.shields.io/npm/v/edge-tts-universal)](https://www.npmjs.com/package/edge-tts-universal)\n[![JSR](https://jsr.io/badges/@edge-tts/universal)](https://jsr.io/@edge-tts/universal)\n[![Downloads](https://img.shields.io/npm/dm/edge-tts-universal)](https://www.npmjs.com/package/edge-tts-universal)\n[![Tree Shaking](https://img.shields.io/badge/tree%20shaking-✓-green)](#bundle-optimization)\n[![JSR Score](https://jsr.io/badges/@edge-tts/universal/score)](https://jsr.io/@edge-tts/universal)\n\nThis is a **universal** TypeScript conversion of the Python [`edge-tts`](https://github.com/rany2/edge-tts) library. It allows you to use Microsoft Edge's online text-to-speech service from **Node.js, Deno, Bun, and any server-side JavaScript environment**.\n\n> **Important: Browser Limitation (v1.4.0+)**\n>\n> Microsoft's TTS service now requires a custom WebSocket header (`Sec-WebSocket-Version`) that browsers do not allow setting via the WebSocket API. As a result, **direct browser usage is limited to the Microsoft Edge browser only**, which permits the connection to its own service. Other browsers (Chrome, Firefox, Safari) will fail to connect. There are no known workarounds at this time.\n>\n> **Server-side environments (Node.js, Deno, Bun) are unaffected** and continue to work perfectly, as they have full control over WebSocket headers.\n\n## 🌟 Universal Features\n\n- **🚀 Multiple Entry Points**: Node.js, browser, and Universal (cross-platform) APIs\n- **🌐 True Universal**: Works identically in Node.js, browsers, Deno, Bun, and edge runtimes\n- **📦 Tree-Shakable**: Import only what you need for optimal bundle size\n- **🔄 Universal & Isomorphic**: Same API works across all environments using Web standards\n- **⚡ Zero Dependencies**: Universal builds use only native Web APIs\n- **🛡️ Type Safe**: Full TypeScript support with comprehensive type definitions\n\nThis package provides high fidelity to the original Python implementation, replicating the specific headers and WebSocket communication necessary to interact with Microsoft's service.\n\n## What's New in v1.4.0\n\n- **Updated service compatibility**: Aligned with the latest [rany2/edge-tts](https://github.com/rany2/edge-tts) Python package (v7.2.7+) for reliable connectivity\n- **Updated Chromium emulation**: Now emulates Chrome/Edge 143 (was 130)\n- **MUID cookie authentication**: All WebSocket connections now include a randomized MUID cookie, matching how the official Edge client authenticates\n- **Offset compensation padding**: Multi-chunk synthesis now adds timing padding between segments for accurate subtitle alignment\n- **SentenceBoundary support**: Streaming API now surfaces `SentenceBoundary` metadata events alongside `WordBoundary`\n- **Deduplicated browser internals**: `EdgeTTSBrowser` now uses shared constants and `BrowserDRM` instead of hardcoded values\n\n## Installation\n\n```bash\nnpm install edge-tts-universal\n# or\nyarn add edge-tts-universal\n```\n\n## Universal Usage\n\nThis package provides multiple entry points for different use cases:\n\n### 🌍 Universal API (Recommended - Works Everywhere)\n\n```typescript\nimport {\n  UniversalEdgeTTS,\n  UniversalCommunicate,\n  UniversalVoicesManager,\n  listVoicesUniversal\n} from 'edge-tts-universal';\n\n// Works identically in Node.js, Deno, Bun, and browsers\nconst tts = new UniversalEdgeTTS('Hello, world!', 'en-US-EmmaMultilingualNeural');\nconst result = await tts.synthesize();\n```\n\n### 📦 Node.js Optimized (Full Features)\n\n```typescript\nimport {\n  EdgeTTS,\n  Communicate,\n  VoicesManager\n} from 'edge-tts-universal';\n\n// Node.js with proxy support, full headers, etc.\nconst tts = new EdgeTTS('Hello, world!');\n```\n\n### 🌐 Browser-Only (Minimal Bundle)\n\n```typescript\nimport { EdgeTTS, Communicate } from 'edge-tts-universal/browser';\n```\n\n### 🔄 Legacy Isomorphic (Still Supported)\n\n```typescript\nimport {\n  IsomorphicEdgeTTS,\n  IsomorphicCommunicate\n} from 'edge-tts-universal';\n```\n\n## Runtime Compatibility\n\n| Runtime | Universal API | Node.js API | Browser API | Status |\n|---------|---------------|-------------|-------------|---------|\n| Node.js 18.17+ | ✅ Full | ✅ Full | ❌ N/A | Perfect |\n| Deno | ✅ Full | ❌ N/A | ❌ N/A | Perfect |\n| Bun | ✅ Full | ✅ Full | ❌ N/A | Perfect |\n| Microsoft Edge | ✅ Full | ❌ N/A | ✅ Full | Works |\n| Chrome/Firefox/Safari | ❌ Blocked | ❌ N/A | ❌ Blocked | See note below |\n\n> **Note**: As of v1.4.0, direct browser usage only works in Microsoft Edge. Other browsers cannot set the required custom WebSocket headers. Use a server-side environment for reliable TTS synthesis.\n\n### Key Improvements\n\n- **Universal API**: Uses Web standards (WebSocket, Web Crypto, fetch) for maximum compatibility\n- **Smart Headers**: Automatically uses optimal WebSocket headers where supported\n- **Zero Dependencies**: Universal builds bundle everything for true portability\n- **Backward Compatible**: All existing \"Isomorphic\" APIs still work\n\n## Quick Start\n\n```typescript\nimport { UniversalEdgeTTS } from 'edge-tts-universal';\n\nconst tts = new UniversalEdgeTTS('Hello, world!', 'en-US-EmmaMultilingualNeural');\nconst result = await tts.synthesize();\n\n// Works in Node.js, Deno, Bun, and browsers!\n```\n\n### 👷 Web Worker Import (For background processing)\n\n```typescript\nimport {\n  EdgeTTS,\n  Communicate,\n  postAudioMessage,\n} from 'edge-tts-universal/webworker';\n```\n\n### 🌐 CDN Import (No build step required)\n\n```html\n<!-- Via unpkg -->\n<script type=\"module\">\n  import { EdgeTTS } from 'https://unpkg.com/edge-tts-universal/dist/browser.js';\n</script>\n\n<!-- Via jsdelivr -->\n<script type=\"module\">\n  import { EdgeTTS } from 'https://cdn.jsdelivr.net/npm/edge-tts-universal/dist/browser.js';\n</script>\n```\n\n## Bundle Optimization\n\nChoose the right entry point for optimal bundle size:\n\n| Entry Point                     | Bundle Size\\* | Use Case       | Dependencies    |\n| ------------------------------- | ------------- | -------------- | --------------- |\n| `edge-tts-universal`            | ~46KB         | Node.js apps   | All deps        |\n| `edge-tts-universal/browser`    | ~30KB         | Browser apps   | Zero deps       |\n| `edge-tts-universal/isomorphic` | ~36KB         | Universal apps | Isomorphic deps |\n| `edge-tts-universal/webworker`  | ~36KB         | Web Workers    | Isomorphic deps |\n\n_\\* Minified + Gzipped estimates_\n\n## Quick Start\n\n### Simple API (Recommended for most use cases)\n\n```typescript\nimport { EdgeTTS } from 'edge-tts-universal';\nimport fs from 'fs/promises';\n\n// Simple one-shot synthesis\nconst tts = new EdgeTTS('Hello, world!', 'en-US-EmmaMultilingualNeural');\nconst result = await tts.synthesize();\n\n// Save audio file\nconst audioBuffer = Buffer.from(await result.audio.arrayBuffer());\nawait fs.writeFile('output.mp3', audioBuffer);\n```\n\n### Advanced Streaming API (For real-time processing)\n\n```typescript\nimport { Communicate } from 'edge-tts-universal';\nimport fs from 'fs/promises';\n\nconst communicate = new Communicate('Hello, world!', {\n  voice: 'en-US-EmmaMultilingualNeural',\n});\n\nconst buffers: Buffer[] = [];\nfor await (const chunk of communicate.stream()) {\n  if (chunk.type === 'audio' && chunk.data) {\n    buffers.push(chunk.data);\n  }\n}\n\nawait fs.writeFile('output.mp3', Buffer.concat(buffers));\n```\n\n### Isomorphic API (Universal - works in Node.js and browsers)\n\n```typescript\nimport { IsomorphicCommunicate } from 'edge-tts-universal';\n\n// Works in both Node.js and browsers (subject to CORS policy)\nconst communicate = new IsomorphicCommunicate('Hello, universal world!', {\n  voice: 'en-US-EmmaMultilingualNeural',\n});\n\nconst audioChunks: Buffer[] = [];\nfor await (const chunk of communicate.stream()) {\n  if (chunk.type === 'audio' && chunk.data) {\n    audioChunks.push(chunk.data);\n  }\n}\n\n// Environment-specific handling\nconst isNode = typeof process !== 'undefined' && process.versions?.node;\nif (isNode) {\n  // Node.js - save to file\n  const fs = await import('fs/promises');\n  await fs.writeFile('output.mp3', Buffer.concat(audioChunks));\n} else {\n  // Browser - create audio element\n  const audioBlob = new Blob(audioChunks, { type: 'audio/mpeg' });\n  const audioUrl = URL.createObjectURL(audioBlob);\n  // Use audioUrl with <audio> element\n}\n```\n\n## Usage Examples\n\n<details>\n<summary><strong>⚡ Simple API Usage (Recommended)</strong></summary>\n\nHere's how to use the simple, promise-based API for quick synthesis:\n\n```typescript\n// examples/simple-api.ts\nimport { EdgeTTS, createVTT, createSRT } from 'edge-tts-universal';\nimport { promises as fs } from 'fs';\nimport path from 'path';\n\nconst TEXT = 'Hello, world! This is a test of the simple edge-tts API.';\nconst VOICE = 'en-US-EmmaMultilingualNeural';\nconst OUTPUT_FILE = path.join(__dirname, 'simple-test.mp3');\n\nasync function main() {\n  // Create TTS instance with prosody options\n  const tts = new EdgeTTS(TEXT, VOICE, {\n    rate: '+10%',\n    volume: '+0%',\n    pitch: '+0Hz',\n  });\n\n  try {\n    // Synthesize speech (one-shot)\n    const result = await tts.synthesize();\n\n    // Save audio file\n    const audioBuffer = Buffer.from(await result.audio.arrayBuffer());\n    await fs.writeFile(OUTPUT_FILE, audioBuffer);\n\n    // Generate subtitle files\n    const vttContent = createVTT(result.subtitle);\n    const srtContent = createSRT(result.subtitle);\n\n    await fs.writeFile('subtitles.vtt', vttContent);\n    await fs.writeFile('subtitles.srt', srtContent);\n\n    console.log(`Audio saved to ${OUTPUT_FILE}`);\n    console.log(`Generated ${result.subtitle.length} word boundaries`);\n  } catch (error) {\n    console.error('Synthesis failed:', error);\n  }\n}\n\nmain().catch(console.error);\n```\n\n</details>\n\n<details>\n<summary><strong>📁 Advanced Streaming Usage</strong></summary>\n\nHere is an example using the advanced streaming API for real-time processing:\n\n```typescript\n// examples/streaming.ts\nimport { Communicate } from 'edge-tts-universal';\nimport { promises as fs } from 'fs';\nimport path from 'path';\n\nconst TEXT =\n  'Hello, world! This is a test of the new edge-tts Node.js library.';\nconst VOICE = 'en-US-EmmaMultilingualNeural';\nconst OUTPUT_FILE = path.join(__dirname, 'test.mp3');\n\nasync function main() {\n  const communicate = new Communicate(TEXT, { voice: VOICE });\n\n  const buffers: Buffer[] = [];\n  for await (const chunk of communicate.stream()) {\n    if (chunk.type === 'audio' && chunk.data) {\n      buffers.push(chunk.data);\n    }\n  }\n\n  const finalBuffer = Buffer.concat(buffers);\n  await fs.writeFile(OUTPUT_FILE, finalBuffer);\n\n  console.log(`Audio saved to ${OUTPUT_FILE}`);\n}\n\nmain().catch(console.error);\n```\n\n</details>\n\n<details>\n<summary><strong>🎤 Listing and Finding Voices</strong></summary>\n\nYou can list all available voices and filter them by criteria.\n\n```typescript\n// examples/listVoices.ts\nimport { VoicesManager } from 'edge-tts-universal';\n\nasync function main() {\n  const voicesManager = await VoicesManager.create();\n\n  // Find all English voices\n  const voices = voicesManager.find({ Language: 'en' });\n  console.log(\n    'English voices:',\n    voices.map((v) => v.ShortName)\n  );\n\n  // Find female US voices\n  const femaleUsVoices = voicesManager.find({\n    Gender: 'Female',\n    Locale: 'en-US',\n  });\n  console.log(\n    'Female US voices:',\n    femaleUsVoices.map((v) => v.ShortName)\n  );\n}\n\nmain().catch(console.error);\n```\n\n</details>\n\n<details>\n<summary><strong>📺 Streaming with Subtitles (WordBoundary events)</strong></summary>\n\nThe `stream()` method provides `WordBoundary` events for generating subtitles.\n\n```typescript\n// examples/streaming.ts\nimport { Communicate, SubMaker } from 'edge-tts-universal';\n\nconst TEXT = 'This is a test of the streaming functionality, with subtitles.';\nconst VOICE = 'en-GB-SoniaNeural';\n\nasync function main() {\n  const communicate = new Communicate(TEXT, { voice: VOICE });\n  const subMaker = new SubMaker();\n\n  for await (const chunk of communicate.stream()) {\n    if (chunk.type === 'audio' && chunk.data) {\n      // Do something with the audio data, e.g., stream it to a client.\n      console.log(`Received audio chunk of size: ${chunk.data.length}`);\n    } else if (chunk.type === 'WordBoundary') {\n      subMaker.feed(chunk);\n    }\n  }\n\n  // Get the subtitles in SRT format.\n  const srt = subMaker.getSrt();\n  console.log('\\nGenerated Subtitles (SRT):\\n', srt);\n}\n\nmain().catch(console.error);\n```\n\n</details>\n\n## API Reference\n\n📖 **[Complete API Documentation →](./API.md)**\n\nThe main exports of the package are:\n\n**Simple API:**\n\n- **`EdgeTTS`** - Simple, promise-based TTS class for one-shot synthesis\n- **`createVTT`** / **`createSRT`** - Utility functions for subtitle generation\n\n**Advanced API:**\n\n- **`Communicate`** - Advanced streaming TTS class for real-time processing\n- **`VoicesManager`** - A class to find and filter voices\n- **`listVoices`** - A function to get all available voices\n- **`SubMaker`** - A utility to generate SRT subtitles from `WordBoundary` events\n\n**Universal API (Preferred):**\n\n- **`UniversalEdgeTTS`** - Cross-platform simple TTS using Web standards\n- **`UniversalCommunicate`** - Universal streaming TTS for all JavaScript runtimes  \n- **`UniversalVoicesManager`** - Cross-platform voice management\n- **`listVoicesUniversal`** - Universal voice listing with Web APIs\n- **`UniversalDRM`** - Cross-platform security using Web Crypto API\n\n**Isomorphic API (Legacy, Still Supported):**\n\n- **`IsomorphicCommunicate`** - Universal TTS class that works in Node.js and browsers\n- **`IsomorphicVoicesManager`** - Universal voice management with environment detection  \n- **`listVoicesIsomorphic`** - Universal voice listing using cross-fetch\n- **`IsomorphicDRM`** - Cross-platform security token generation\n\n**Common:**\n\n- **Exception classes** - `NoAudioReceived`, `WebSocketError`, etc.\n- **TypeScript types** - Complete type definitions for voices, options, and stream chunks\n\nAll APIs use the same robust infrastructure including **DRM security handling**, error recovery, and Microsoft Edge authentication features. \n\n**Universal APIs** (preferred) use native Web standards for maximum compatibility, while **Isomorphic APIs** (legacy) provide backward compatibility. **Node.js APIs** offer full features including proxy support and custom headers.\n\nFor detailed documentation, examples, and advanced usage patterns, see the [comprehensive API guide](./API.md).\n","readmeFilename":"README.md"}