From 6300aa7a33152d227edf8fb777792ddec8a177aa Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 20 Mar 2022 16:15:29 -0700 Subject: [PATCH] CAP rework --- src/main/base/store.ts | 2 +- src/renderer/audio/audio.js | 150 +++++++++++++------- src/renderer/audio/impulses/CAP_Natural.wav | Bin 0 -> 192044 bytes src/renderer/views/pages/audiolabs.ejs | 26 +--- 4 files changed, 104 insertions(+), 74 deletions(-) create mode 100644 src/renderer/audio/impulses/CAP_Natural.wav diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 4b2bbcc1..b703ff3e 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -55,7 +55,7 @@ export class Store { "normalization": false, "maikiwiAudio": { "ciderPPE": false, - "ciderPPE_value": 0.5, + "ciderPPE_value": "NATURAL", "analogWarmth": false, "analogWarmth_value": 1.25, "spatial": false, diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 6907ec28..2ea0877d 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -332,66 +332,110 @@ const CiderAudio = { let LLPW_FREQUENCIES = [16.452, 24.636, 37.134, 74.483, 159.54, 308.18, 670.21, 915.81, 1200.7, 2766.4, 2930.6, 4050.6, 4409.1, 5395.2, 5901.6, 6455.5, 7164.1, 7724.1, 8449, 10573, 12368, 14198, 17910, 18916]; CiderAudio.audioNodes.llpw = [] - if (app.cfg.audio.maikiwiAudio.ciderPPE_value === 0.55) { - for (let i = 0; i < c_LLPW_FREQUENCIES.length; i++) { - CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); - CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; - CiderAudio.audioNodes.llpw[i].frequency.value = c_LLPW_FREQUENCIES[i]; - CiderAudio.audioNodes.llpw[i].Q.value = c_LLPW_Q[i]; - CiderAudio.audioNodes.llpw[i].gain.value = c_LLPW_GAIN[i]; - } + switch (app.cfg.audio.maikiwiAudio.ciderPPE_value) { + case "NATURAL": + CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.llpw[0].normalize = false; + fetch('./audio/impulses/CAP_Natural.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse);}); + + switch (hierarchy) { + case 2: + try{CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){} + break; + case 1: + try{CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} + break; + case 0: + try{CiderAudio.audioNodes.llpw[0].connect(CiderAudio.context.destination);} catch(e){} + break; + } - for (let i = 1; i < c_LLPW_FREQUENCIES.length; i ++) { - CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); - } + console.debug("[Cider][Audio] CAP - Natural Mode"); + break; - switch (hierarchy) { - case 2: - try{ - CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){} + case "STANDARD": // Standard + for (let i = 0; i < LLPW_FREQUENCIES.length; i++) { + CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; + CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; + CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i]; + } + for (let i = 1; i < LLPW_FREQUENCIES.length; i ++) { + CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); + } + + switch (hierarchy) { + case 2: + try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){} + break; + case 1: + try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} + break; + case 0: + try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){} + break; + + } + + console.debug("[Cider][Audio] CAP - Classic Mode"); break; - case 1: - try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} + + case "AGGRESSIVE": // Aggressive + for (let i = 0; i < c_LLPW_FREQUENCIES.length; i++) { + CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.llpw[i].frequency.value = c_LLPW_FREQUENCIES[i]; + CiderAudio.audioNodes.llpw[i].Q.value = c_LLPW_Q[i]; + CiderAudio.audioNodes.llpw[i].gain.value = c_LLPW_GAIN[i]; + } + for (let i = 1; i < c_LLPW_FREQUENCIES.length; i ++) { + CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); + } + + switch (hierarchy) { + case 2: + try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){} + break; + case 1: + try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} + break; + case 0: + try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){} + break; + + } + + console.debug("[Cider][Audio] CAP - Clarity Mode"); break; - case 0: - try{CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){} + + default: + CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.llpw[0].normalize = false; + fetch('./audio/impulses/CAP_Natural.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse);}); + + switch (hierarchy) { + case 2: + try{CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){} + break; + case 1: + try{CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} + break; + case 0: + try{CiderAudio.audioNodes.llpw[0].connect(CiderAudio.context.destination);} catch(e){} + break; + + } + app.cfg.audio.maikiwiAudio.ciderPPE_value = "NATURAL"; + console.debug("[Cider][Audio] CAP - Natural Mode (Defaulted from broki config)"); break; - } - - console.debug("[Cider][Audio] CAP - Clarity Mode"); - } - - else if (app.cfg.audio.maikiwiAudio.ciderPPE_value === 0.5) { - for (let i = 0; i < LLPW_FREQUENCIES.length; i++) { - CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); - CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; - CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; - CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; - CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i]; - } - - - for (let i = 1; i < LLPW_FREQUENCIES.length; i ++) { - CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); - } - - switch (hierarchy) { - case 2: - try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]);} catch(e){} - break; - case 1: - try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.audioBands[0]);} catch(e){} - break; - case 0: - try{CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.context.destination);} catch(e){} - break; - - } - console.debug("[Cider][Audio] CAP - Classic Mode"); - } - } + } }, vibrantbass_h2_1: function (status, hierarchy){ diff --git a/src/renderer/audio/impulses/CAP_Natural.wav b/src/renderer/audio/impulses/CAP_Natural.wav new file mode 100644 index 0000000000000000000000000000000000000000..2da16c5c1a3f097de2004e416227ab2badaf968f GIT binary patch literal 192044 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¹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.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}
- - +
@@ -192,20 +192,6 @@ CiderAudio.hierarchical_loading(); } }, - ciderPPEStandard: function () { - app.cfg.audio.maikiwiAudio.ciderPPE_value = 0.5; - let LLPW_GAIN = [0.38, -1.81, -0.23, -0.51, 0.4, 0.84, 0.36, -0.34, 0.27, -1.2, -0.42, -0.67, 0.81, 1.31, -0.71, 0.68, -1.04, 0.79, -0.73, -1.33, 1.17, 0.57, 0.35, 6.33]; - for (let i = 0; i < 24; i++) { - CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i]; - } - }, - ciderPPEClarity: function () { - app.cfg.audio.maikiwiAudio.ciderPPE_value = 0.55; - let c_LLPW_GAIN = [-0.11, 0.27, -0.8, 0.57, 1.84, -0.38, 0.47, -1.56, 0.83, 1.58, -1.79, -0.45, 0.48, 1.22, -1.58, -1.59, -2.03, 2.56, -2.2, -2.48, 4.75, 10.5, 1.43, 3.76]; - for (let i = 0; i < 24; i++) { - CiderAudio.audioNodes.llpw[i].gain.value = c_LLPW_GAIN[i]; - } - }, ChangeanalogWarmth: function (multiplier) { app.cfg.audio.maikiwiAudio.analogWarmth_value = multiplier let WARMTH_GAIN = [-4.81, 0.74, 0.55, -0.84, -1.52, 0.84, 0.66, -0.29, 0.29, 0.94, 1.67, 1.62, -0.53, -0.81, -4.98, 1.43, 0.86, 1.13, -1.06, -0.95, -1.13, 1.78, -3.86];