@audio/decode 3.14.1 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/audio-decode.js CHANGED
@@ -150,6 +150,21 @@ reg('dts', () => import('@audio/decode-dts'))
150
150
  reg('amr', () => import('@audio/decode-amr'))
151
151
  reg('wma', () => import('@audio/decode-wma'), true)
152
152
 
153
+ // lossless / audiophile long tail
154
+ reg('wv', () => import('@audio/decode-wavpack'))
155
+ reg('tta', () => import('@audio/decode-tta'))
156
+ reg('ape', () => import('@audio/decode-ape'))
157
+ reg('mpc', () => import('@audio/decode-mpc'))
158
+ reg('eac3', () => import('@audio/decode-eac3'))
159
+ reg('dsf', () => import('@audio/decode-dsd'))
160
+ reg('dff', () => import('@audio/decode-dsd'))
161
+
162
+ // tracker modules — one libopenmpt renderer, four format names
163
+ reg('mod', () => import('@audio/decode-mod'))
164
+ reg('xm', () => import('@audio/decode-mod'))
165
+ reg('s3m', () => import('@audio/decode-mod'))
166
+ reg('it', () => import('@audio/decode-mod'))
167
+
153
168
  /**
154
169
  * StreamDecoder — a callable function:
155
170
  * dec(chunk) — decode data, returns { channelData, sampleRate }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@audio/decode",
3
- "version": "3.14.1",
3
+ "version": "3.16.0",
4
4
  "description": "Decode audio data in node or browser",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -37,14 +37,19 @@
37
37
  "@audio/decode-dts": "^1.0.0",
38
38
  "@audio/decode-flac": "^1.3.0",
39
39
  "@audio/decode-mp3": "^1.3.0",
40
- "@audio/decode-mp4": "^1.1.0",
40
+ "@audio/decode-mp4": "^1.2.0",
41
41
  "@audio/decode-opus": "^1.3.0",
42
- "@audio/decode-qoa": "^1.2.0",
42
+ "@audio/decode-qoa": "^1.3.0",
43
43
  "@audio/decode-vorbis": "^1.3.0",
44
44
  "@audio/decode-wav": "^1.5.0",
45
- "@audio/decode-webm": "^1.6.0",
45
+ "@audio/decode-webm": "^1.6.1",
46
46
  "@audio/decode-wma": "^1.3.0",
47
- "audio-type": "^2.6.0"
47
+ "audio-type": "^2.7.0",
48
+ "@audio/decode-wavpack": "^1.0.0",
49
+ "@audio/decode-tta": "^1.0.0",
50
+ "@audio/decode-mpc": "^1.0.0",
51
+ "@audio/decode-mod": "^1.0.0",
52
+ "@audio/decode-dsd": "^1.0.0"
48
53
  },
49
54
  "devDependencies": {
50
55
  "audio-lena": "^3.0.0",
package/readme.md CHANGED
@@ -32,8 +32,15 @@ const { channelData, sampleRate } = await decode(anyAudioBuffer);
32
32
  | AVI video | [@audio/decode-avi](./packages/decode-avi) | 8 KB + codec | JS demux |
33
33
  | AC-3 | [@audio/decode-ac3](./packages/decode-ac3) | 43 KB | WASM |
34
34
  | DTS | [@audio/decode-dts](./packages/decode-dts) | 200 KB | WASM |
35
+ | E-AC-3 (Dolby Digital Plus, + AC-3) | [@audio/decode-eac3](./packages/decode-eac3) | 432 KB | WASM (FFmpeg libavcodec, LGPL) |
36
+ | APE (Monkey's Audio) | [@audio/decode-ape](./packages/decode-ape) | 262 KB | WASM (FFmpeg libavcodec, LGPL) |
35
37
  | AMR | [@audio/decode-amr](./packages/decode-amr) | 241 KB | WASM |
36
38
  | WMA | [@audio/decode-wma](./packages/decode-wma) | 91 KB | WASM |
39
+ | WavPack | [@audio/decode-wavpack](./packages/decode-wavpack) | 51 KB | WASM |
40
+ | TTA (True Audio) | [@audio/decode-tta](./packages/decode-tta) | 11 KB | JS |
41
+ | Musepack SV7 / SV8 | [@audio/decode-mpc](./packages/decode-mpc) | 51 KB | WASM |
42
+ | MOD / XM / S3M / IT tracker modules | [@audio/decode-mod](./packages/decode-mod) | 1.4 MB | WASM (libopenmpt) |
43
+ | DSF / DFF (DSD64–512 → PCM) | [@audio/decode-dsd](./packages/decode-dsd) | 18 KB | JS |
37
44
 
38
45
  ### Whole-file
39
46
 
@@ -69,7 +76,7 @@ for await (let { channelData, sampleRate } of decode.mp3(response.body)) {
69
76
 
70
77
  Works with `ReadableStream`, `fetch` body, Node stream, or any async iterable.
71
78
 
72
- Formats: `mp3`, `flac`, `opus`, `oga`, `m4a`, `mp4`, `mov`, `wav`, `qoa`, `aac`, `aiff`, `caf`, `webm`, `mkv`, `avi`, `ac3`, `dts`, `amr`, `wma`.
79
+ Formats: `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`.
73
80
 
74
81
  ### Video files
75
82
 
@@ -179,6 +186,6 @@ worker.onmessage = ({ data }) => { /* { channelData, sampleRate } */ }
179
186
 
180
187
  ## Licensing
181
188
 
182
- The umbrella and most codec packages are MIT. Five codecs use another 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, and <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.
189
+ The 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.
183
190
 
184
191
  <p align="center"><a href="https://github.com/krishnized/license/">ॐ</a> · <a href="./LICENSE">MIT</a>
package/test.html CHANGED
@@ -37,6 +37,13 @@
37
37
  "@audio/decode-opus/core": "./packages/decode-opus/core.js",
38
38
  "@audio/decode-ac3": "./packages/decode-ac3/decode-ac3.js",
39
39
  "@audio/decode-dts": "./packages/decode-dts/decode-dts.js",
40
+ "@audio/decode-wavpack": "./packages/decode-wavpack/decode-wavpack.js",
41
+ "@audio/decode-tta": "./packages/decode-tta/decode-tta.js",
42
+ "@audio/decode-ape": "./packages/decode-ape/decode-ape.js",
43
+ "@audio/decode-mpc": "./packages/decode-mpc/decode-mpc.js",
44
+ "@audio/decode-eac3": "./packages/decode-eac3/decode-eac3.js",
45
+ "@audio/decode-dsd": "./packages/decode-dsd/decode-dsd.js",
46
+ "@audio/decode-mod": "./packages/decode-mod/decode-mod.js",
40
47
  "@audio/decode-amr": "./packages/decode-amr/decode-amr.js",
41
48
  "@audio/decode-wma": "./packages/decode-wma/decode-wma.js"
42
49
  }