diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index ce57ee12..089d598f 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -64,36 +64,37 @@ const CiderAudio = { normalizerOff: function (){ CiderAudio.audioNodes.gainNode.gain.setTargetAtTime(1, CiderAudio.context.currentTime+ 1, 0.5); }, - + spatialProfiles: [ + { + "id": "420signature", + "file": './audio/impulses/CiderSpatial_v69.420_Audiophile.wav', + }, + { + "id": "standard", + "file": './audio/impulses/CiderSpatial_v69_Standard.wav', + }, + { + "id": "audiophile", + "file": './audio/impulses/CiderSpatial_v69_Audiophile.wav' + } + ], spatialOn: function (){ CiderAudio.audioNodes.spatialNode = null; if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.audioNodes.spatialNode = CiderAudio.context.createConvolver(); - CiderAudio.audioNodes.spatialNode.normalize = true; - switch (app.cfg.audio.maikiwiAudio.spatialType) { - case 0: - fetch('./audio/impulses/CiderSpatial_v69_Standard.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - - }); - break; - case 1: - fetch('./audio/impulses/CiderSpatial_v69_Audiophile.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - - }); - break; - default: - fetch('./audio/impulses/CiderSpatial_v69_Standard.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - - }); - app.cfg.audio.maikiwiAudio.spatialType = 0; - break; - } + CiderAudio.audioNodes.spatialNode.normalize = false; + + let spatialProfile = CiderAudio.spatialProfiles.find(function (profile) { + return profile.id === app.cfg.audio.maikiwiAudio.spatialProfile; + }); + + if (spatialProfile === undefined) { + spatialProfile = CiderAudio.spatialProfiles[0]; + } + fetch(spatialProfile.file).then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse);}); + } else { CiderAudio.audioNodes.spatialNode = new ResonanceAudio(CiderAudio.context); diff --git a/src/renderer/audio/impulses/CiderSpatial_v69.420_Audiophile.wav b/src/renderer/audio/impulses/CiderSpatial_v69.420_Audiophile.wav new file mode 100644 index 00000000..59fc21a7 Binary files /dev/null and b/src/renderer/audio/impulses/CiderSpatial_v69.420_Audiophile.wav differ diff --git a/src/renderer/audio/impulses/CiderSpatial_v69_Audiophile.wav b/src/renderer/audio/impulses/CiderSpatial_v69_Audiophile.wav index fb2b7716..982d9d46 100644 Binary files a/src/renderer/audio/impulses/CiderSpatial_v69_Audiophile.wav and b/src/renderer/audio/impulses/CiderSpatial_v69_Audiophile.wav differ diff --git a/src/renderer/audio/impulses/CiderSpatial_v69_Standard.wav b/src/renderer/audio/impulses/CiderSpatial_v69_Standard.wav index 0c1f6186..947d6f65 100644 Binary files a/src/renderer/audio/impulses/CiderSpatial_v69_Standard.wav and b/src/renderer/audio/impulses/CiderSpatial_v69_Standard.wav differ diff --git a/src/renderer/views/pages/audiolabs.ejs b/src/renderer/views/pages/audiolabs.ejs index 8266db27..8c04d519 100644 --- a/src/renderer/views/pages/audiolabs.ejs +++ b/src/renderer/views/pages/audiolabs.ejs @@ -90,12 +90,12 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description')}}
- - +
@@ -180,13 +180,13 @@ if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.spatialOn() CiderAudio.hierarchical_loading(); - let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) + 12) / 20)); - if (normalized > 1.0) {app.mk.volume = 1} - else {app.mk.volume = normalized} + //let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) - 14) / 20)); + //app.mk.volume = normalized + // -13dBFS Target } else { - let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) - 12) / 20)); - app.mk.volume = normalized + //let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) + 14) / 20)); + //app.mk.volume = normalized CiderAudio.spatialOn() CiderAudio.hierarchical_loading(); }