@grame/faustwasm 0.16.2 → 0.16.4
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/assets/standalone/faustwasm/index.d.ts +2 -0
- package/assets/standalone/faustwasm/index.js +25 -2
- package/assets/standalone/faustwasm/index.js.map +2 -2
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +25 -2
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs-bundle/index.d.ts +2 -0
- package/dist/cjs-bundle/index.js +32 -5
- package/dist/cjs-bundle/index.js.map +2 -2
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +25 -2
- package/dist/esm/index.js.map +2 -2
- package/dist/esm-bundle/index.d.ts +2 -0
- package/dist/esm-bundle/index.js +32 -5
- package/dist/esm-bundle/index.js.map +2 -2
- package/faustwasm-soundfile-wav-samplerate.patch +77 -0
- package/libfaust-wasm/libfaust-wasm.js +1 -1
- package/libfaust-wasm/libfaust-wasm.wasm +0 -0
- package/package.json +6 -3
- package/src/SoundfileReader.ts +37 -3
- package/src/instantiateFaustModuleFromFile.ts +2 -1
- package/test/faustlive-wasm/faustwasm/index.d.ts +2 -0
- package/test/faustlive-wasm/faustwasm/index.js +25 -2
- package/test/faustlive-wasm/faustwasm/index.js.map +2 -2
- package/test/organ/create-node.js +253 -0
- package/test/organ/dsp-meta.json +132 -0
- package/test/organ/dsp-module.wasm +0 -0
- package/test/organ/faust-pwa.js +344 -0
- package/test/organ/faust-ui/index.css +442 -0
- package/test/organ/faust-ui/index.css.map +1 -0
- package/test/organ/faust-ui/index.d.ts +1 -0
- package/test/organ/faust-ui/index.js +3756 -0
- package/test/organ/faust-ui/index.js.map +1 -0
- package/test/organ/faustwasm/index.d.ts +1824 -0
- package/test/organ/faustwasm/index.js +6178 -0
- package/test/organ/faustwasm/index.js.map +7 -0
- package/test/organ/icon.png +0 -0
- package/test/organ/index.html +76 -0
- package/test/organ/index.js +69 -0
- package/test/organ/manifest.json +17 -0
- package/test/organ/service-worker.js +165 -0
- package/waw400 +0 -0
- package/waw400.dsp +7 -0
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
let FaustModule;
|
|
42
42
|
let dataBinary;
|
|
43
43
|
let wasmBinary;
|
|
44
|
-
const jsCodeHead = /var (
|
|
44
|
+
const jsCodeHead = /var (\w+)\s*=\s*\(/;
|
|
45
45
|
if (typeof window === "object") {
|
|
46
46
|
let jsCode = await (await fetch(jsFile)).text();
|
|
47
47
|
jsCode = `${jsCode}
|
|
@@ -4648,6 +4648,20 @@ export default ${(_b = jsCode.match(jsCodeHead)) == null ? void 0 : _b[1]};
|
|
|
4648
4648
|
audioBuffer: new Array(numberOfChannels).fill(null).map((v, i) => audioBuffer.getChannelData(i))
|
|
4649
4649
|
};
|
|
4650
4650
|
}
|
|
4651
|
+
static isWaveFile(buffer) {
|
|
4652
|
+
if (buffer.byteLength < 12) return false;
|
|
4653
|
+
const reader = new DataView(buffer);
|
|
4654
|
+
const riff = reader.getUint8(0) === 82 && reader.getUint8(1) === 73 && reader.getUint8(2) === 70 && reader.getUint8(3) === 70;
|
|
4655
|
+
const wave = reader.getUint8(8) === 87 && reader.getUint8(9) === 65 && reader.getUint8(10) === 86 && reader.getUint8(11) === 69;
|
|
4656
|
+
return riff && wave;
|
|
4657
|
+
}
|
|
4658
|
+
static decodeWaveFile(buffer) {
|
|
4659
|
+
const decoded = WavDecoder_default.decode(buffer);
|
|
4660
|
+
return {
|
|
4661
|
+
sampleRate: decoded.sampleRate,
|
|
4662
|
+
audioBuffer: decoded.channelData
|
|
4663
|
+
};
|
|
4664
|
+
}
|
|
4651
4665
|
/**
|
|
4652
4666
|
* Extract the URLs from the metadata.
|
|
4653
4667
|
*
|
|
@@ -4659,7 +4673,9 @@ export default ${(_b = jsCode.match(jsCodeHead)) == null ? void 0 : _b[1]};
|
|
|
4659
4673
|
const callback = (item) => {
|
|
4660
4674
|
if (item.type === "soundfile") {
|
|
4661
4675
|
const urls = FaustBaseWebAudioDsp.splitSoundfileNames(item.url);
|
|
4662
|
-
urls.filter((url) => url.trim().length > 0).forEach(
|
|
4676
|
+
urls.filter((url) => url.trim().length > 0).forEach(
|
|
4677
|
+
(url) => soundfiles[url] = null
|
|
4678
|
+
);
|
|
4663
4679
|
}
|
|
4664
4680
|
};
|
|
4665
4681
|
FaustBaseWebAudioDsp.parseUI(dspMeta.ui, callback);
|
|
@@ -4680,6 +4696,13 @@ export default ${(_b = jsCode.match(jsCodeHead)) == null ? void 0 : _b[1]};
|
|
|
4680
4696
|
`Failed to load sound file from ${url}: ${response.statusText}`
|
|
4681
4697
|
);
|
|
4682
4698
|
const arrayBuffer = await response.arrayBuffer();
|
|
4699
|
+
if (this.isWaveFile(arrayBuffer)) {
|
|
4700
|
+
try {
|
|
4701
|
+
return this.decodeWaveFile(arrayBuffer);
|
|
4702
|
+
} catch (error) {
|
|
4703
|
+
console.error(error);
|
|
4704
|
+
}
|
|
4705
|
+
}
|
|
4683
4706
|
const audioBuffer = await audioCtx.decodeAudioData(arrayBuffer);
|
|
4684
4707
|
return this.toAudioData(audioBuffer);
|
|
4685
4708
|
}
|