{"_id":"@audio/decode","_rev":"11-9a3a4bf3d1c54e6913659b04e94cab26","name":"@audio/decode","dist-tags":{"latest":"3.16.1"},"versions":{"3.11.0":{"name":"@audio/decode","version":"3.11.0","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.11.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"b143437b5233fbc28e0604f6fab72edb83bea00e","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.11.0.tgz","fileCount":9,"integrity":"sha512-3jSzkzJi5396pTSqjf5xJQPsfPiM7wb590uLeFLEHG069WPlozjPhozJAxfpa5X0Kaewbhhqw4Uu/0xvuAg2fg==","signatures":[{"sig":"MEYCIQD9z1oJVX7JyX0JRaoIErYBsfPMB5O9L1Sw14BdgdY3cgIhAJQwf2wfbs+u9bLVDZBLXjEMB/nh1HXM41tib6ns6SQe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20318},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"gitHead":"b1b8cb667f19f68b462497fe186a3cdb1ee77266","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.4.0","@audio/decode-aac":"^1.2.0","@audio/decode-amr":"^1.0.0","@audio/decode-caf":"^1.2.0","@audio/decode-mp3":"^1.1.0","@audio/decode-qoa":"^1.0.0","@audio/decode-wav":"^1.3.0","@audio/decode-wma":"^1.0.0","@audio/decode-aiff":"^1.1.3","@audio/decode-flac":"^1.1.0","@audio/decode-opus":"^1.1.0","@audio/decode-webm":"^1.0.0","@audio/decode-vorbis":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.11.0_1783540217579_0.4935933599739326","host":"s3://npm-registry-packages-npm-production"}},"3.11.1":{"name":"@audio/decode","version":"3.11.1","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.11.1","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"828a1e0bc4e4fcb86af5e305b69c798de4864e6f","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.11.1.tgz","fileCount":9,"integrity":"sha512-68VlH9mfuUWWwJc13alYV/cMpVMfWJ4ggFRgd39+XCSvM9ijvEWTvY6K1+37xLVxUo0DDnwYVbM8IKHKkkGDiw==","signatures":[{"sig":"MEUCIEOV99O0IP1Ln1jrTKvButBiVUdiS895GzmwJqht9pK9AiEAhLb3ADGpG0gO6ReYb5tDIHiUGoCozo1vrGdSrUtwPVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20999},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"gitHead":"4742b2379609e879b242a6629b1c488b767ea0a9","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.4.0","@audio/decode-aac":"^1.2.0","@audio/decode-amr":"^1.0.0","@audio/decode-caf":"^1.2.0","@audio/decode-mp3":"^1.1.0","@audio/decode-qoa":"^1.0.0","@audio/decode-wav":"^1.3.0","@audio/decode-wma":"^1.0.0","@audio/decode-aiff":"^1.1.3","@audio/decode-flac":"^1.1.0","@audio/decode-opus":"^1.1.0","@audio/decode-webm":"^1.0.0","@audio/decode-vorbis":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.11.1_1783692352350_0.749322468842873","host":"s3://npm-registry-packages-npm-production"}},"3.11.2":{"name":"@audio/decode","version":"3.11.2","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.11.2","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"e2810717dd140d74a77190f6700b6acff1afb724","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.11.2.tgz","fileCount":9,"integrity":"sha512-jdg/qOsOrclyp/wkMe5R26p6iVDVs/OCjKBdljW3dM8KgVphvZjYmzNf2Gv3q6A2GKLNnK9gJgIzj/d+zgxtkg==","signatures":[{"sig":"MEQCIGjtTKZzFiW+e5h72vvDo5e8deCiavYBXdl+LcqYRBqzAiBKBw+T7JdkJWX9bCu1M9IQp7sOcm+AeYYym1/0LuBGTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21494},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"fb59268366fc4991a80f01da2599fdda208ab59c","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.4.0","@audio/decode-aac":"^1.2.0","@audio/decode-amr":"^1.0.0","@audio/decode-caf":"^1.2.0","@audio/decode-mp3":"^1.1.0","@audio/decode-qoa":"^1.0.0","@audio/decode-wav":"^1.3.0","@audio/decode-wma":"^1.0.0","@audio/decode-aiff":"^1.1.3","@audio/decode-flac":"^1.1.0","@audio/decode-opus":"^1.1.0","@audio/decode-webm":"^1.0.0","@audio/decode-vorbis":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.11.2_1783729277685_0.5570644708836747","host":"s3://npm-registry-packages-npm-production"}},"3.11.3":{"name":"@audio/decode","version":"3.11.3","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.11.3","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"3d094e7919bbbc8ef3b94c7f6186bd720660e3a8","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.11.3.tgz","fileCount":9,"integrity":"sha512-RU2JrtdnfC8vhfxmqBffZC5wos7RqcEeTIOcIN2l8ah1spJr7+89hI07uA4PHEyRl4B5SYWwrrdB9ovvnGPwWg==","signatures":[{"sig":"MEQCIA1fzao8rfig0yVpO6mD+6dPTjQlbfmwAG0IPnNuEgJSAiAWWEduoHn3iTZ60z3vaaPVTP2KnVRoGNWv7pcbAAi/LA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21439},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"036125b663dfdde552bf8335a0ae4bc02645b4b2","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.4.0","@audio/decode-aac":"^1.2.0","@audio/decode-amr":"^1.0.0","@audio/decode-caf":"^1.2.0","@audio/decode-mp3":"^1.1.0","@audio/decode-qoa":"^1.0.0","@audio/decode-wav":"^1.3.0","@audio/decode-wma":"^1.0.0","@audio/decode-aiff":"^1.1.3","@audio/decode-flac":"^1.1.0","@audio/decode-opus":"^1.1.0","@audio/decode-webm":"^1.0.0","@audio/decode-vorbis":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.11.3_1785854656025_0.09246164597767503","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"@audio/decode","version":"3.12.0","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.12.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"aee80404f3541c03ad239eeda7d97ec2916e0659","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.12.0.tgz","fileCount":9,"integrity":"sha512-alVO+D5O11khZWdRvbDIllLc3xwABRrV7icSiOjIZ85cgN8+k7o+tT33fE1WvHdIZ+peh9UGzq1AM+iO7hhv6w==","signatures":[{"sig":"MEUCIEZU/MW8CNmhHVnenBAVHCT3kgRCtbnQmOxp8sIFdjpUAiEAz0/h1XTemSsxowghnQjxMsvEG6XCRrFHaIvGI8WoC9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21373},"main":"audio-decode.js","type":"module","_from":"file:/private/tmp/audio-decode-release-ed350c9/_audio_decode/audio-decode-3.12.0.tgz","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_resolved":"/private/tmp/audio-decode-release-ed350c9/_audio_decode/audio-decode-3.12.0.tgz","_integrity":"sha512-alVO+D5O11khZWdRvbDIllLc3xwABRrV7icSiOjIZ85cgN8+k7o+tT33fE1WvHdIZ+peh9UGzq1AM+iO7hhv6w==","repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.4.0","@audio/decode-aac":"^1.4.0","@audio/decode-amr":"^1.3.0","@audio/decode-caf":"^1.4.0","@audio/decode-mp3":"^1.3.0","@audio/decode-qoa":"^1.2.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.0","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.4.0","@audio/decode-vorbis":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.12.0_1786475631201_0.9043752443591966","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"@audio/decode","version":"3.13.0","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.13.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"2bf62d21ada39e31c0f84734706f03d756ab3542","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.13.0.tgz","fileCount":9,"integrity":"sha512-LJSF14y+BkVYmmHxXndmV7EVJ0551z3Wh8lyx4k7JCN7vqArBGpGfq1I9hrq8aYzKbFiYjv1nEc9MNPnEUmu2w==","signatures":[{"sig":"MEUCIQC1hfom7VPvPLkwpCG5UuLHhfOdUlCWpkdkw6ucCl/IxwIgRjB3Y65PC1N86ZbdUXukAupfoH8/dO5NVhEvOI5eGtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23111},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"6dbdbc0c63037395ce6574a318121a0f4682279a","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.5.0","@audio/decode-aac":"^1.5.0","@audio/decode-amr":"^1.3.0","@audio/decode-avi":"^1.0.0","@audio/decode-caf":"^1.4.0","@audio/decode-mp3":"^1.3.0","@audio/decode-mp4":"^1.0.0","@audio/decode-qoa":"^1.2.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.0","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.5.0","@audio/decode-vorbis":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.13.0_1787857259294_0.6708172631434155","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"@audio/decode","version":"3.14.0","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract","ac3","dts"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.14.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"21c4a6dd3c0d313a225df2e73a1f4c9b8257aa5b","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.14.0.tgz","fileCount":9,"integrity":"sha512-6l9rcDuJljbO04vNQqKrilunuuhGdGpgwjFuU3S71v1VdPT0WvHY5SyF0acSqQWppqhj9XFqp8Op4Qg9rQuEAQ==","signatures":[{"sig":"MEUCIQD+Iik3dxnFJFClwGn2KqFnH8KjglKpJNmPif9kzfC8kAIgGoH1Sl9QVkNPD7OtDjFuGLirC6qA5l+T1A2rwrZTW+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23783},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"ee48dd74dd2dc5d3ed14de3757a295a1087e14dc","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.6.0","@audio/decode-aac":"^1.5.0","@audio/decode-ac3":"^1.0.0","@audio/decode-amr":"^1.3.0","@audio/decode-avi":"^1.1.0","@audio/decode-caf":"^1.4.0","@audio/decode-dts":"^1.0.0","@audio/decode-mp3":"^1.3.0","@audio/decode-mp4":"^1.1.0","@audio/decode-qoa":"^1.2.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.0","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.6.0","@audio/decode-vorbis":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.14.0_1787864376046_0.7016233469591981","host":"s3://npm-registry-packages-npm-production"}},"3.14.1":{"name":"@audio/decode","version":"3.14.1","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract","ac3","dts"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.14.1","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"5bf949f81d2718f0ea2b0501680a5ac119c24c5f","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.14.1.tgz","fileCount":9,"integrity":"sha512-srSSkGlfMV58bGd/i5aPrMGvFGWovk9VcaqjUbxyoshThiqHCp9Vj+zwBtImc5quKkTSyrzXNO6w0x44Lam+pg==","signatures":[{"sig":"MEQCIG5FBz9iRI2PYv/UdiwHa8/DCr2J1XIyZkpWyC2lgVfkAiBn2snlkCN6KGn0eFl98LHvLJh7lc9J4qCdkrs+9l+Acw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23979},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"c227363046dc3a0308c95ee112f22795c0ac04ca","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.6.0","@audio/decode-aac":"^1.5.0","@audio/decode-ac3":"^1.0.0","@audio/decode-amr":"^1.3.0","@audio/decode-avi":"^1.1.0","@audio/decode-caf":"^1.4.0","@audio/decode-dts":"^1.0.0","@audio/decode-mp3":"^1.3.0","@audio/decode-mp4":"^1.1.0","@audio/decode-qoa":"^1.2.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.0","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.6.0","@audio/decode-vorbis":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.14.1_1787938313746_0.90519938452492","host":"s3://npm-registry-packages-npm-production"}},"3.15.0":{"name":"@audio/decode","version":"3.15.0","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract","ac3","dts"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.15.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"c325dad73efc78be2baa6f7ad72c4b97c27e5436","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.15.0.tgz","fileCount":9,"integrity":"sha512-XWPAstA8BRmxSHjJhbvazCqLWDlBAPtmnxgys72oDs+kmmBpwH2P/0f9GnydvxpEIN9RStbx726qYE7FNTSP4A==","signatures":[{"sig":"MEUCIQDjbXdbrYEDemiBuZDfWqarbkOPRmE7O1ljguQoaXuBvAIgdSeS1ZO8xh8BTkU+OQ6rhhlLgniuZKSWSpPGKTPm4QQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26398},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"c227363046dc3a0308c95ee112f22795c0ac04ca","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.7.0","@audio/decode-aac":"^1.5.0","@audio/decode-ac3":"^1.0.0","@audio/decode-amr":"^1.3.0","@audio/decode-avi":"^1.1.0","@audio/decode-caf":"^1.4.0","@audio/decode-dsd":"^1.0.0","@audio/decode-dts":"^1.0.0","@audio/decode-mod":"^1.0.0","@audio/decode-mp3":"^1.3.0","@audio/decode-mp4":"^1.1.1","@audio/decode-mpc":"^1.0.0","@audio/decode-qoa":"^1.2.0","@audio/decode-tta":"^1.0.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.0","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.6.1","@audio/decode-vorbis":"^1.3.0","@audio/decode-wavpack":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.15.0_1787966920591_0.7888041144504481","host":"s3://npm-registry-packages-npm-production"}},"3.16.0":{"name":"@audio/decode","version":"3.16.0","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract","ac3","dts"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/decode@3.16.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/decode#readme","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"2fdbf42e1e8179c51a58ad2ae083efb201b90327","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.16.0.tgz","fileCount":9,"integrity":"sha512-Jy4GX5AmfdAEWWzO3tKhTsMnl+Fok4sLjHK83XwrSwtnJVsWW8jjQ3Pw3rYrgNbuAgYAvExTWKWkS8yZEw0xRQ==","signatures":[{"sig":"MEYCIQCioSsSDOYcSSoZyzFScRXfMjmvQsMt7DzPTQrRyxZl2AIhAIoqL32huZVM4WYHGnRTwiGMljhekJvKK4Owc2IdXpzx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHyG69Q3Dhu+Z/G1ACsmKGqc3w/t+zyhEesav0LgUH89AiBYBmCv61/2mptfjr1D776l41R5wdkbWGiquYPB22b+LA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26398},"main":"audio-decode.js","type":"module","types":"audio-decode.d.ts","engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"1bc87a1f6e3cd43eeaeb658056a70cc8c69e9fbf","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.7.0","@audio/decode-aac":"^1.5.0","@audio/decode-ac3":"^1.0.0","@audio/decode-amr":"^1.3.0","@audio/decode-avi":"^1.1.0","@audio/decode-caf":"^1.4.0","@audio/decode-dsd":"^1.0.0","@audio/decode-dts":"^1.0.0","@audio/decode-mod":"^1.0.0","@audio/decode-mp3":"^1.3.0","@audio/decode-mp4":"^1.2.0","@audio/decode-mpc":"^1.0.0","@audio/decode-qoa":"^1.3.0","@audio/decode-tta":"^1.0.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.0","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.6.1","@audio/decode-vorbis":"^1.3.0","@audio/decode-wavpack":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/decode_3.16.0_1790374718071_0.8667479717647186","host":"s3://npm-registry-packages-npm-production"}},"3.16.1":{"_id":"@audio/decode@3.16.1","bugs":{"url":"https://github.com/audiojs/decode/issues"},"dist":{"shasum":"a0519e06ce7ae1cbecabfa81229d1585bdeec477","tarball":"https://registry.npmjs.org/@audio/decode/-/decode-3.16.1.tgz","fileCount":9,"integrity":"sha512-Sul69H6yg3bcQp7e7X7tOVFt9NhczzMGOhel3hZZXYJyXtUK140QbM6BlJg9dPqg4IkTOMXf6tPFsPUJqGkeng==","signatures":[{"sig":"MEYCIQC5nMdG9+YQSbn83QwTx2JJO+4KAGUr6TvawTiiTgqJawIhAJBXzR4uZNIqxU2maSou/lG/Y6NxrOG8LwxbBEgEs11c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAFCuPVIujxPVb9cxRrI4214MVzJrTzCy5uly/WNQJgAAiEAknemMuJ1PH8/dQNAQp+4BgUHuiJRwa8LNyMZRtVJOvw="}],"unpackedSize":26398},"main":"audio-decode.js","name":"@audio/decode","type":"module","types":"audio-decode.d.ts","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"exports":{".":{"node":"./audio-decode.js","browser":"./audio-decode.js","default":"./audio-decode.js"},"./meta":"./meta.js","./stream":"./stream.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"088bd8f09501f7db63bc0140f3d78077a385685d","license":"MIT","scripts":{"test":"node test.js","test:all":"node test.js && node test.browser.js","publish:all":"for d in packages/* .; do [ -f \"$d/package.json\" ] || continue; id=$(node -p \"require('./'+'$d'+'/package.json').name+'@'+require('./'+'$d'+'/package.json').version\"); npm view \"$id\" version >/dev/null 2>&1 && echo \"skip $id\" || (cd \"$d\" && npm publish); done","test:browser":"node test.browser.js"},"version":"3.16.1","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"homepage":"https://github.com/audiojs/decode#readme","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract","ac3","dts"],"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Decode audio data in node or browser","directories":{},"maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"audio-type":"^2.7.0","@audio/decode-aac":"^1.5.0","@audio/decode-ac3":"^1.0.0","@audio/decode-amr":"^1.3.0","@audio/decode-avi":"^1.1.0","@audio/decode-caf":"^1.4.0","@audio/decode-dsd":"^1.0.0","@audio/decode-dts":"^1.0.0","@audio/decode-mod":"^1.0.0","@audio/decode-mp3":"^1.3.0","@audio/decode-mp4":"^1.2.0","@audio/decode-mpc":"^1.0.0","@audio/decode-qoa":"^1.3.0","@audio/decode-tta":"^1.0.0","@audio/decode-wav":"^1.5.0","@audio/decode-wma":"^1.3.0","@audio/decode-aiff":"^1.3.0","@audio/decode-flac":"^1.3.4","@audio/decode-opus":"^1.3.0","@audio/decode-webm":"^1.6.1","@audio/decode-vorbis":"^1.3.0","@audio/decode-wavpack":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.2.2","esbuild":"^0.28.0","audio-lena":"^3.0.0","playwright":"^1.58.0","base64-arraybuffer":"^1.0.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/decode_3.16.1_1790375621717_0.26408423057404384"}}},"time":{"created":"2026-07-08T19:50:17.445Z","modified":"2026-09-25T22:33:41.997Z","3.11.0":"2026-07-08T19:50:17.745Z","3.11.1":"2026-07-10T14:05:52.548Z","3.11.2":"2026-07-11T00:21:17.825Z","3.11.3":"2026-08-04T14:44:16.182Z","3.12.0":"2026-08-11T19:13:51.357Z","3.13.0":"2026-08-27T19:00:59.450Z","3.14.0":"2026-08-27T20:59:36.166Z","3.14.1":"2026-08-28T17:31:53.892Z","3.15.0":"2026-08-29T01:28:40.734Z","3.16.0":"2026-09-25T22:18:38.165Z","3.16.1":"2026-09-25T22:33:41.798Z"},"bugs":{"url":"https://github.com/audiojs/decode/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/decode#readme","keywords":["audio","decode","decoder","codec","mp3","wav","ogg","vorbis","opus","flac","aac","m4a","qoa","aiff","caf","webm","amr","wma","pcm","streaming","mp4","mov","mkv","avi","video","extract","ac3","dts"],"repository":{"url":"git+https://github.com/audiojs/decode.git","type":"git"},"description":"Decode audio data in node or browser","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/decode [![test](https://github.com/audiojs/decode/actions/workflows/test.js.yml/badge.svg)](https://github.com/audiojs/decode/actions/workflows/test.js.yml)\n\nTry it in the browser: [Extract audio from video](https://audiojs.dev/util/extract-audio/), [Audio converter](https://audiojs.dev/util/convert-audio/). Runs on this package, nothing is uploaded.\n\nDecode any audio format to raw samples.<br>\nJS / WASM with no ffmpeg or native bindings; works in Node.js and browsers.<br>\nSmall API, minimal size, near-native performance, lazy-loading, chunked decoding.\n\n[![npm install @audio/decode](https://nodei.co/npm/@audio/decode.png?mini=true)](https://npmjs.org/package/@audio/decode/)\n\n```js\nimport decode from '@audio/decode';\n\nconst { channelData, sampleRate } = await decode(anyAudioBuffer);\n```\n\n#### Supported formats\n\n| Format | Package | Size | Engine |\n|--------|---------|------|--------|\n| MP3 | [@audio/decode-mp3](./packages/decode-mp3) | 92 KB | WASM |\n| WAV | [@audio/decode-wav](./packages/decode-wav) | 11 KB | JS |\n| OGG Vorbis | [@audio/decode-vorbis](./packages/decode-vorbis) | 166 KB | WASM |\n| FLAC | [@audio/decode-flac](./packages/decode-flac) | 135 KB | WASM |\n| Opus | [@audio/decode-opus](./packages/decode-opus) | 166 KB | WASM |\n| M4A / AAC / ALAC | [@audio/decode-aac](./packages/decode-aac) | 368 KB | WASM + JS |\n| MP4 / MOV / M4V / 3GP video | [@audio/decode-mp4](./packages/decode-mp4) | 12 KB + codec | JS demux |\n| QOA | [@audio/decode-qoa](./packages/decode-qoa) | 8 KB | JS |\n| AIFF | [@audio/decode-aiff](./packages/decode-aiff) | 20 KB | JS |\n| CAF | [@audio/decode-caf](./packages/decode-caf) | 9 KB | JS |\n| WebM / MKV video | [@audio/decode-webm](./packages/decode-webm) | 250 KB | WASM |\n| AVI video | [@audio/decode-avi](./packages/decode-avi) | 8 KB + codec | JS demux |\n| AC-3 | [@audio/decode-ac3](./packages/decode-ac3) | 43 KB | WASM |\n| DTS | [@audio/decode-dts](./packages/decode-dts) | 200 KB | WASM |\n| E-AC-3 (Dolby Digital Plus, + AC-3) | [@audio/decode-eac3](./packages/decode-eac3) | 432 KB | WASM (FFmpeg libavcodec, LGPL) |\n| APE (Monkey's Audio) | [@audio/decode-ape](./packages/decode-ape) | 262 KB | WASM (FFmpeg libavcodec, LGPL) |\n| AMR | [@audio/decode-amr](./packages/decode-amr) | 241 KB | WASM |\n| WMA | [@audio/decode-wma](./packages/decode-wma) | 91 KB | WASM |\n| WavPack | [@audio/decode-wavpack](./packages/decode-wavpack) | 51 KB | WASM |\n| TTA (True Audio) | [@audio/decode-tta](./packages/decode-tta) | 11 KB | JS |\n| Musepack SV7 / SV8 | [@audio/decode-mpc](./packages/decode-mpc) | 51 KB | WASM |\n| MOD / XM / S3M / IT tracker modules | [@audio/decode-mod](./packages/decode-mod) | 1.4 MB | WASM (libopenmpt) |\n| DSF / DFF (DSD64–512 → PCM) | [@audio/decode-dsd](./packages/decode-dsd) | 18 KB | JS |\n\n### Whole-file\n\nAuto-detects format. Input can be _ArrayBuffer_, _Uint8Array_, _Buffer_, or anything\nthat materializes to bytes, including a _Blob_/_File_ or fetch _Response_.\n\n```js\nimport decode from '@audio/decode'\n\nlet { channelData, sampleRate } = await decode(buf)\nlet fromFile = await decode(fileInput.files[0])   // File\nlet fromUrl  = await decode(await fetch(url))      // Response\n```\n\n### Chunked\n\n```js\nlet dec = await decode.mp3()\nlet a = await dec(chunk1)    // { channelData, sampleRate }\nlet b = await dec(chunk2)\nawait dec()                  // close\n```\n\n### Streaming\n\n```js\nimport decode from '@audio/decode'\n\nfor await (let { channelData, sampleRate } of decode.mp3(response.body)) {\n  // process chunks\n}\n```\n\nWorks with `ReadableStream`, `fetch` body, Node stream, or any async iterable.\n\nFormats: `mp3`, `flac`, `opus`, `oga`, `m4a`, `mp4`, `mov`, `wav`, `qoa`, `aac`, `aiff`, `caf`, `webm`, `mkv`, `avi`, `ac3`, `dts`, `amr`, `wma`, `eac3`, `ape`, `wv`, `tta`, `mpc`, `dsf`, `dff`, `mod`, `xm`, `s3m`, `it`.\n\n### Video files\n\nVideo containers decode straight to their audio track — the video stream is skipped, no ffmpeg involved:\n\n```js\nlet { channelData, sampleRate } = await decode(await fetch('trailer.mp4'))\n```\n\n| Container | Package | Audio codecs |\n|---|---|---|\n| MP4, MOV, M4V, 3GP | [@audio/decode-mp4](./packages/decode-mp4) | AAC, ALAC, MP3, FLAC, Opus, AC-3, DTS, AMR, PCM, G.711 |\n| WebM, MKV | [@audio/decode-webm](./packages/decode-webm) | Opus, Vorbis, AAC, ALAC, MP3, FLAC, AC-3, DTS, PCM |\n| AVI | [@audio/decode-avi](./packages/decode-avi) | PCM, MP3, AAC, AC-3, DTS, G.711 |\n\nSurround tracks keep their layout (up to 5.1, WAV channel order). E-AC-3 and TrueHD tracks throw an error naming the codec.\n\n### Browser\n\nWorks from a CDN without a bundler. Codecs load on demand via dynamic import, only for formats you decode:\n\n```html\n<script type=\"module\">\n  import decode from 'https://esm.sh/@audio/decode'\n  let { channelData, sampleRate } = await decode(buf)\n</script>\n```\n\nFor self-hosting, use an import map to point `@audio/decode` and each needed `@audio/decode-*` package to local files. Codec-internal files load by relative path.\n\nEach codec package's main export works in an `AudioWorklet` without `Blob`, `TextDecoder`, `Worker`, or `fetch`. Import codec packages directly because `@audio/decode` uses dynamic imports.\n\nInitialize WASM before rendering. Decoding runs on the worklet thread and can interrupt audio output.\n\n### Synchronous codecs\n\nThe umbrella remains async for detection, lazy imports, and `Blob`/`Response` inputs.\nImport a codec package directly for synchronous calls.\n\n`wav`, `qoa`, `aiff`, and `caf` are synchronous:\n\n```js\nimport decode from '@audio/decode-wav'\nlet pcm = decode(wavBytes)\n```\n\nWASM codecs initialize asynchronously, then decode synchronously:\n\n```js\nimport { decoder } from '@audio/decode-flac'\nlet dec = await decoder()\nlet pcm = dec.decode(bytes)\nlet tail = dec.flush()\ndec.free()\n```\n\n### Metadata\n\nRead tags, pictures, markers and regions without decoding samples. Available for\n`wav`, `mp3`, `flac`, `oga` (Ogg Vorbis), `opus`, and `m4a`.\n\n```js\nimport { wav, mp3, flac, oga, opus, m4a } from '@audio/decode/meta'\n\nlet { meta, sampleRate, markers, regions } = mp3(bytes)\n// meta: { title, artist, album, year, bpm, key, comment, pictures, raw, ... }\n// markers: [{ sample, label }]\n// regions: [{ sample, length, label }]\n```\n\nEach codec sub-package also exposes its parser directly:\n\n```js\nimport { parseMeta } from '@audio/decode-wav/meta'\nlet info = parseMeta(wavBytes)\n```\n\n### WebWorker\n\nEach `@audio/decode-*` package is a self-contained ESM module that can run in a worker:\n\n```js\n// decode-worker.js\nimport decode from '@audio/decode-mp3'\n\nself.onmessage = async ({ data }) => {\n  let pcm = await decode(data)\n  self.postMessage(pcm, pcm.channelData.map(ch => ch.buffer))\n}\n\n// main.js\nlet worker = new Worker('./decode-worker.js', { type: 'module' })\nworker.postMessage(mp3buf, [mp3buf])\nworker.onmessage = ({ data }) => { /* { channelData, sampleRate } */ }\n```\n\n## See also\n\n* [encode](https://github.com/audiojs/encode) – encode PCM into any audio format.\n* [audio-type](https://github.com/audiojs/audio-type) – detect audio format from buffer.\n<!--\n* [wasm-audio-decoders](https://github.com/eshaz/wasm-audio-decoders) – compact & fast WASM audio decoders.\n* [AudioDecoder](https://developer.mozilla.org/en-US/docs/Web/API/AudioDecoder) – native WebCodecs decoder API.\n* [decodeAudioData](https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/decodeAudioData) – built-in browser decoding method.\n* [ffmpeg.wasm](https://github.com/ffmpegwasm/ffmpeg.wasm) – full encoding/decoding library.\n-->\n\n## Licensing\n\nThe umbrella and most codec packages are MIT. Codecs built on other libraries carry that library's license: <a href=\"./packages/decode-aac\">@audio/decode-aac</a> GPL-2.0; <a href=\"./packages/decode-wma\">@audio/decode-wma</a>, <a href=\"./packages/decode-ac3\">@audio/decode-ac3</a> and <a href=\"./packages/decode-dts\">@audio/decode-dts</a> GPL-2.0-or-later; <a href=\"./packages/decode-ape\">@audio/decode-ape</a> and <a href=\"./packages/decode-eac3\">@audio/decode-eac3</a> LGPL-2.1-or-later (a slim FFmpeg libavcodec build, no GPL components); <a href=\"./packages/decode-wavpack\">@audio/decode-wavpack</a>, <a href=\"./packages/decode-mpc\">@audio/decode-mpc</a> and <a href=\"./packages/decode-mod\">@audio/decode-mod</a> BSD-3-Clause; <a href=\"./packages/decode-amr\">@audio/decode-amr</a> Apache-2.0. Install only the codecs whose licenses fit your project. The umbrella loads them on demand.\n\n<p align=\"center\"><a href=\"https://github.com/krishnized/license/\">ॐ</a> · <a href=\"./LICENSE\">MIT</a>\n","readmeFilename":"readme.md"}