diff --git a/src/main/base/store.ts b/src/main/base/store.ts index f5553f5b..fc96d5dd 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -72,6 +72,8 @@ export class Store { "ciderPPE_value": "MAIKIWI", "analogWarmth": false, "analogWarmth_value": "SMOOTH", + "atmosphereRealizer": false, + "atmosphereRealizer_value": "NATURAL_STANDARD", "spatial": false, "spatialProfile": "71_420maikiwi", "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 455743e3..d81f0740 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -11,6 +11,7 @@ const CiderAudio = { analogWarmth: null, recorderNode: null, intelliGainComp: null, + atmosphereRealizer: null, }, ccON: false, mediaRecorder: null, @@ -41,6 +42,7 @@ const CiderAudio = { analogWarmth: null, recorderNode: null, intelliGainComp: null, + atmosphereRealizer: null, } } catch (e) { } CiderAudio.source.connect(CiderAudio.context.destination); @@ -72,24 +74,27 @@ const CiderAudio = { }, spatialProfiles: [ { - "id": "71_420maikiwi", - "file": './audio/impulses/CiderSpatial_v71.420_Maikiwi.wav', + "id": "72_420maikiwi", + "file": './audio/impulses/CiderSpatial_v72.420_Maikiwi.wav', "name": "Maikiwi", "description": "", + "gainComp": "1.3381352151540196", "img": "./assets/audiolabs/focused.png", }, { - "id": "70_421maikiwi", - "file": './audio/impulses/CiderSpatial_v70.421_Maikiwi.wav', - "name": "Aggressive", + "id": "71_420maikiwi", + "file": './audio/impulses/CiderSpatial_v71.420_Maikiwi.wav', + "name": "Soundstage", "description": "", - "img": "./assets/audiolabs/classic.png", + "gainComp": "1.3963683610559376", + "img": "./assets/audiolabs/expansive.png", }, { "id": "70_422maikiwi", "file": './audio/impulses/CiderSpatial_v70.422_Maikiwi.wav', - "name": "Relaxed", + "name": "Separation", "description": "", + "gainComp": "1.30767553892022", "img": "./assets/audiolabs/classic.png", }, { @@ -97,6 +102,7 @@ const CiderAudio = { "file": './audio/impulses/CiderSpatial_v69_Standard.wav', "name": "Minimal", "description": "", + "gainComp": "1.2647363474711515", "img": "./assets/audiolabs/minimal.png", } ], @@ -178,8 +184,12 @@ const CiderAudio = { maxGain = gain; } if (maxGain == -120) {maxGain = 1} - if (CiderAudio.audioNodes.llpw !== null && CiderAudio.audioNodes.llpw[0].buffer !== null) {maxGain = maxGain * 1.0592537251772889} - if (app.cfg.audio.maikiwiAudio.spatial === true && app.cfg.audio.maikiwiAudio.spatialProfile === 'standard' || app.cfg.audio.maikiwiAudio.spatial === true && app.cfg.audio.maikiwiAudio.spatialProfile === '71_420maikiwi') {maxGain = maxGain * 1.1885022274370185} + if (CiderAudio.audioNodes.llpw !== null && CiderAudio.audioNodes.llpw.length == 1) {maxGain = maxGain * 1.109174815262401} + if (app.cfg.audio.maikiwiAudio.spatial === true) { + let spatialProfile = CiderAudio.spatialProfiles.find(function (profile) { + return profile.id === app.cfg.audio.maikiwiAudio.spatialProfile; + }); + maxGain = maxGain * spatialProfile.gainComp} maxGain = Math.pow(10, (-1 * (20 * Math.log10(maxGain))) / 20).toFixed(4); maxGain > 1.0 ? CiderAudio.audioNodes.intelliGainComp.gain.value = 1 : CiderAudio.audioNodes.intelliGainComp.gain.value = maxGain; console.debug(`[Cider][Audio] IntelliGainComp: ${maxGain > 1.0 ? 0 : (20 * Math.log10(maxGain)).toFixed(2)} dB (${maxGain > 1.0 ? 1 : maxGain})`); @@ -347,6 +357,81 @@ const CiderAudio = { // CiderAudio.ccON = false; } }, + atmosphereRealizer_h2_4: function (status, hierarchy) { + if (status === true) { + switch (app.cfg.audio.maikiwiAudio.atmosphereRealizer_value) { + case "NATURAL_STANDARD": + CiderAudio.audioNodes.atmosphereRealizer = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.atmosphereRealizer.normalize = false; + + fetch('./audio/impulses/AtmosphereRealizer_NaturalStandard.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.atmosphereRealizer.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + break; + + + case "NATURAL_HIGH": + CiderAudio.audioNodes.atmosphereRealizer = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.atmosphereRealizer.normalize = false; + + fetch('./audio/impulses/AtmosphereRealizer_NaturalHigh.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.atmosphereRealizer.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + break; + + case "NATURAL_PLUS": + CiderAudio.audioNodes.atmosphereRealizer = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.atmosphereRealizer.normalize = false; + + fetch('./audio/impulses/AtmosphereRealizer_Natural+.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.atmosphereRealizer.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + break; + + default: + CiderAudio.audioNodes.atmosphereRealizer = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.atmosphereRealizer.normalize = false; + + fetch('./audio/impulses/AtmosphereRealizer_Standard.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.atmosphereRealizer.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + app.cfg.audio.maikiwiAudio.atmosphereRealizer_value = "STANDARD"; + break; + } + + switch (hierarchy) { + case 4: + try{ + CiderAudio.audioNodes.atmosphereRealizer.connect(CiderAudio.audioNodes.analogWarmth[0]); + } catch (e) {} + break; + case 3: + try { + CiderAudio.audioNodes.atmosphereRealizer.connect(CiderAudio.audioNodes.llpw[0]); + } catch (e) { } + break; + case 2: + try { + CiderAudio.audioNodes.atmosphereRealizer.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + } catch (e) { } + break; + case 1: + try { + CiderAudio.audioNodes.atmosphereRealizer.connect(CiderAudio.audioNodes.audioBands[0]); + } catch (e) { } + break; + case 0: + try { CiderAudio.audioNodes.atmosphereRealizer.connect(CiderAudio.context.destination); } catch (e) { } + break; + } + + + } + }, analogWarmth_h2_3: function (status, hierarchy) { if (status === true) { // 23 Band Adjustment let WARMTH_FREQUENCIES = [10.513, 15.756, 224.01, 677.77, 1245.4, 2326.8, 2847.3, 4215.3, 11057, 12793, 16235, 16235, 17838, 18112, 18112, 19326, 19372, 19372, 20061, 20280, 20280, 20853, 22276]; @@ -567,6 +652,7 @@ const CiderAudio = { try { CiderAudio.audioNodes.spatialNode.disconnect(); } catch (e) { } try {CiderAudio.audioNodes.intelliGainComp.disconnect();} catch (e) { } try { CiderAudio.audioNodes.gainNode.disconnect(); } catch (e) { } + try { CiderAudio.audioNodes.atmosphereRealizer.disconnect(); CiderAudio.audioNodes.atmosphereRealizer = null } catch (e) { } try { for (var i of CiderAudio.audioNodes.analogWarmth) { i.disconnect(); } CiderAudio.audioNodes.analogWarmth = null } catch (e) { } try { for (var i of CiderAudio.audioNodes.llpw) { i.disconnect(); } CiderAudio.audioNodes.llpw = null } catch (e) { } try { for (var i of CiderAudio.audioNodes.vibrantbassNode) { i.disconnect(); } CiderAudio.audioNodes.vibrantbassNode = null } catch (e) { } @@ -577,7 +663,6 @@ const CiderAudio = { }, hierarchical_loading: function () { CiderAudio.hierarchical_unloading(); - CiderAudio.audioNodes.intelliGainComp.connect(CiderAudio.audioNodes.gainNode); if (Math.max(...app.cfg.audio.equalizer.gain) != 0) { CiderAudio.equalizer(true, 0); @@ -591,44 +676,94 @@ const CiderAudio = { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { // Vibrant Bass, CAP, Analog Warmth CiderAudio.analogWarmth_h2_3(true, 3); - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { // Vibrant Bass, CAP, Analog Warmth, Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Spatial, Atmosphere Realizer') + } } - else { // Vibrant Bass, CAP, Analog Warmth, Spatial + else { app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Atmosphere Realizer') } } - else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth') + + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial') + } + else { // Vibrant Bass, CAP, Analog Warmth, Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Analog Warmth') + } } } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - app.cfg.audio.normalization = true - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 3) + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Spatial, Atmosphere Realizer') + } } - else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Spatial') + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Atmosphere Realizer') } } - else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP') + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); + app.cfg.audio.normalization = true + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, CAP') + } } } } @@ -637,43 +772,93 @@ const CiderAudio = { CiderAudio.analogWarmth_h2_3(true, 2); app.cfg.audio.normalization = true; - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4) + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Spatial, Atmosphere Realizer') + } } - else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Spatial') + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Atmosphere Realizer') } } - else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth') + + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Analog Warmth') + } } } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 2) + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Spatial') + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Atmosphere Realizer') + } + } + + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug('[Cider][Audio] Equalizer, Vibrant Bass') } } - else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug('[Cider][Audio] Equalizer, Vibrant Bass') - } + } } } @@ -685,41 +870,90 @@ const CiderAudio = { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.analogWarmth_h2_3(true, 3); - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, CAP and Analog Warmth, Atmosphere Realizer') } } - else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, CAP and Analog Warmth') + + else { + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, CAP, Analog Warmth, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, CAP and Analog Warmth') + } } } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] Equalizer, CAP, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 3); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, CAP, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, CAP, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] Equalizer, CAP, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, CAP, Atmosphere Realizer') } } + else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] Equalizer, CAP') + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, CAP, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] Equalizer, CAP, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] Equalizer, CAP') + } } } } // CAP ends here @@ -727,41 +961,89 @@ const CiderAudio = { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.analogWarmth_h2_3(true, 1); - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] Equalizer, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Analog Warmth, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Analog Warmth, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Analog Warmth, Atmosphere Realizer') } } - else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Equalizer, Analog Warmth') + + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Analog Warmth, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Equalizer, Analog Warmth') + } } } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.audioBands[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] Equalizer, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 1); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]); - console.debug('[Cider][Audio] Equalizer, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Equalizer, Atmosphere Realizer') } } - else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]); - console.debug('[Cider][Audio] Equalizer') + + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.audioBands[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Equalizer, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]); + console.debug('[Cider][Audio] Equalizer, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]); + console.debug('[Cider][Audio] Equalizer') + } } } } @@ -777,45 +1059,96 @@ const CiderAudio = { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { // Vibrant Bass, CAP, Analog Warmth CiderAudio.analogWarmth_h2_3(true, 3); - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { // Vibrant Bass, CAP, Analog Warmth, Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial, Atmosphere Realizer') + } } - else { // Vibrant Bass, CAP, Analog Warmth, Spatial + else { app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Atmosphere Realizer') + } + + } + else { + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { // Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial') + } + else { // Vibrant Bass, CAP, Analog Warmth, Spatial + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth') } - } - else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth') } } else { // if (app.cfg.audio.maikiwiAudio.analogWarmth) !== true - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - app.cfg.audio.normalization = true - console.debug('[Cider][Audio] Vibrant Bass, CAP, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 3); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true + console.debug('[Cider][Audio] Vibrant Bass, CAP, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] Vibrant Bass, CAP, Spatial') + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Atmosphere Realizer') } } + else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] Vibrant Bass, CAP') - } + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); + app.cfg.audio.normalization = true + console.debug('[Cider][Audio] Vibrant Bass, CAP, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] Vibrant Bass, CAP, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] Vibrant Bass, CAP') + } + } } } else { @@ -823,42 +1156,92 @@ const CiderAudio = { CiderAudio.analogWarmth_h2_3(true, 2); app.cfg.audio.normalization = true; - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Spatial') + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Atmosphere Realizer') } } + else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth') + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Vibrant Bass, Analog Warmth') + } } + } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug('[Cider][Audio] Vibrant Bass, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 2); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug('[Cider][Audio] Vibrant Bass, Spatial') + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Vibrant Bass, Atmosphere Realizer') } } + else { - app.cfg.audio.normalization = true; - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug('[Cider][Audio] Vibrant Bass') + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug('[Cider][Audio] Vibrant Bass, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug('[Cider][Audio] Vibrant Bass, Spatial') + } + } + else { + app.cfg.audio.normalization = true; + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug('[Cider][Audio] Vibrant Bass') + } } } } @@ -871,41 +1254,89 @@ const CiderAudio = { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.analogWarmth_h2_3(true, 3); - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] CAP, Analog Warmth, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] CAP, Analog Warmth, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] CAP and Analog Warmth, Atmosphere Realizer') } } + else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] CAP and Analog Warmth') + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] CAP, Analog Warmth, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] CAP and Analog Warmth') + } } } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] CAP, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 3); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] CAP, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] CAP, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] CAP, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] CAP, Atmosphere Realizer') } } + else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); - console.debug('[Cider][Audio] CAP') + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] CAP, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] CAP, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); + console.debug('[Cider][Audio] CAP') + } } } } // CAP ends here @@ -913,47 +1344,95 @@ const CiderAudio = { if (app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.analogWarmth_h2_3(true, 0); - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] Analog Warmth, Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 4); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Analog Warmth, Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Analog Warmth, Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Analog Warmth, Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Analog Warmt, Atmosphere Realizer') } } + else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.debug('[Cider][Audio] Analog Warmth') - } + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Analog Warmth, Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.debug('[Cider][Audio] Analog Warmth') + } + } } else { - if (app.cfg.audio.spatial === true) { - if (app.cfg.audio.maikiwiAudio.spatial === true) { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination); - app.cfg.audio.normalization = true; - console.debug('[Cider][Audio] Maikiwi Spatial') + if (app.cfg.audio.maikiwiAudio.atmosphereRealizer === true) { + CiderAudio.atmosphereRealizer_h2_4(true, 0); + + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Maikiwi Spatial, Atmosphere Realizer') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Spatial, Atmosphere Realizer') + } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.context.destination); - console.debug('[Cider][Audio] Spatial') + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer); + console.debug('[Cider][Audio] Atmosphere Realizer') } } else { - CiderAudio.audioNodes.gainNode.connect(CiderAudio.context.destination); - console.debug('[Cider][Audio] Literal Nothing') + if (app.cfg.audio.spatial === true) { + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination); + app.cfg.audio.normalization = true; + console.debug('[Cider][Audio] Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.context.destination); + console.debug('[Cider][Audio] Spatial') + } + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.context.destination); + console.debug('[Cider][Audio] Literal Nothing') + } } } } } } CiderAudio.intelliGainComp_h0_0(); + CiderAudio.audioNodes.intelliGainComp.connect(CiderAudio.audioNodes.gainNode); console.debug("[Cider][Audio] Finished hierarchical loading"); }, diff --git a/src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav b/src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav new file mode 100644 index 00000000..c412bde9 Binary files /dev/null and b/src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav differ diff --git a/src/renderer/audio/impulses/AtmosphereRealizer_NaturalHigh.wav b/src/renderer/audio/impulses/AtmosphereRealizer_NaturalHigh.wav new file mode 100644 index 00000000..918b3972 Binary files /dev/null and b/src/renderer/audio/impulses/AtmosphereRealizer_NaturalHigh.wav differ diff --git a/src/renderer/audio/impulses/AtmosphereRealizer_NaturalStandard.wav b/src/renderer/audio/impulses/AtmosphereRealizer_NaturalStandard.wav new file mode 100644 index 00000000..d84845de Binary files /dev/null and b/src/renderer/audio/impulses/AtmosphereRealizer_NaturalStandard.wav differ diff --git a/src/renderer/audio/impulses/CiderSpatial_v70.421_Maikiwi.wav b/src/renderer/audio/impulses/CiderSpatial_v70.421_Maikiwi.wav deleted file mode 100644 index 30f9c847..00000000 Binary files a/src/renderer/audio/impulses/CiderSpatial_v70.421_Maikiwi.wav and /dev/null differ diff --git a/src/renderer/audio/impulses/CiderSpatial_v72.420_Maikiwi.wav b/src/renderer/audio/impulses/CiderSpatial_v72.420_Maikiwi.wav new file mode 100644 index 00000000..fd623166 Binary files /dev/null and b/src/renderer/audio/impulses/CiderSpatial_v72.420_Maikiwi.wav differ diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index 191eb244..5eee3fd8 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -775,8 +775,8 @@ const app = new Vue({ } numbers.shift() let peak = Math.max(numbers[6], numbers[7]) / 32768.0 - let gain = Math.pow(10, ((-2.5 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant - console.debug(`[Cider][MaikiwiSoundCheck] Peak Gain: '${(Math.log10(peak) * 20).toFixed(2)}' dB | Adjusting '${(Math.log10(gain) * 20).toFixed(2)}' dB`) + let gain = Math.pow(10, ((0.95 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant + console.debug(`[Cider][MaikiwiSoundCheck] Peak Gain: '${(Math.log10(peak) * 20).toFixed(2)}' dB | Adjusting '${((Math.log10(gain) * 20) - 0.05).toFixed(2)}' dB`) try { //CiderAudio.audioNodes.gainNode.gain.value = (Math.min(Math.pow(10, (replaygain.gain / 20)), (1 / replaygain.peak))) CiderAudio.audioNodes.gainNode.gain.value = gain diff --git a/src/renderer/views/pages/audiolabs.ejs b/src/renderer/views/pages/audiolabs.ejs index 82594b29..6448dec7 100644 --- a/src/renderer/views/pages/audiolabs.ejs +++ b/src/renderer/views/pages/audiolabs.ejs @@ -1,271 +1,288 @@ - - - + + \ No newline at end of file