From 4254b276f14dbdc847013ef722ccb5383e4d3ea1 Mon Sep 17 00:00:00 2001 From: davay Date: Wed, 13 Nov 2024 23:34:54 +0700 Subject: [PATCH] feat: removed sampler for standalone web-app. might inline the sample in later builds --- App.vue | 4 ++-- composables/useSynth.js | 14 +++++++------- elements/{sampler.js => _sampler.js} | 0 elements/index.js | 2 -- public/A4.mp3 | Bin 61148 -> 0 bytes public/manifest.json | 2 +- public/sw.js | 3 +-- 7 files changed, 11 insertions(+), 14 deletions(-) rename elements/{sampler.js => _sampler.js} (100%) delete mode 100644 public/A4.mp3 diff --git a/App.vue b/App.vue index 18fb4b4..d6ad6d5 100644 --- a/App.vue +++ b/App.vue @@ -23,7 +23,7 @@ watch(midiNote, note => play(note.number, note.velocity)) onKeyDown('Escape', () => { stopAll() }) -const layers = ['round', 'fat', 'string', 'noise', 'sampler'] +const layers = ['round', 'fat', 'string', 'noise'] const fxs = ['pingpong', 'srvb'] @@ -55,7 +55,7 @@ const { next, state, go } = useCycleList(layers) h1.text-xl Chromatone h2.text-4xl Elements h2.text-2xl Multilayered polyphonic synthesizer app - h3.text-sm.max-w-55ch Explore unique sounds of 6 voice polyphony, 5 layers of sound generators for each of them and 2 global effects with any MIDI controller, laptop keyboard and flexible onscreen keyboard with choice of scales while analyzing the output on the global oscilloscope and colorized FFT time-frequency bars. Notes and frequencies are set according to Chromatone. + h3.text-sm.max-w-55ch Explore unique sounds of 6 voice polyphony, 4 layers of sound generators for each of them and 2 global effects with any MIDI controller, laptop keyboard and flexible onscreen keyboard with choice of scales while analyzing the output on the global oscilloscope and colorized FFT time-frequency bars. Notes and frequencies are set according to Chromatone. diff --git a/composables/useSynth.js b/composables/useSynth.js index 16aa9ac..35315d7 100644 --- a/composables/useSynth.js +++ b/composables/useSynth.js @@ -16,7 +16,7 @@ import { useMidi } from './useMidi'; import { createNoise } from '../elements/noise'; import { createFat } from '../elements/fat'; import { createString } from '../elements/string'; -import { createSampler } from '../elements/sampler'; +// import { createSampler } from '../elements/sampler'; import { createRound } from '../elements/round'; @@ -58,11 +58,11 @@ export function useSynth() { core.on('fft', (e) => FFTs[e.source] = [Array.from(e?.data.real.values()), Array.from(e?.data.imag.values())]) core.on('error', err => console.log(err)) - let res = await fetch('/A4.mp3') - let sampleBuffer = await ctx.decodeAudioData(await res.arrayBuffer()) - core.updateVirtualFileSystem({ - 'piano': sampleBuffer.getChannelData(0), - }) + // let res = await fetch('/A4.mp3') + // let sampleBuffer = await ctx.decodeAudioData(await res.arrayBuffer()) + // core.updateVirtualFileSystem({ + // 'piano': sampleBuffer.getChannelData(0), + // }) const signal = el.tanh(el.mul(cv.synth.vol, el.add(...voices.map((_, i) => { const voiceParams = getVoiceParams(i) @@ -71,7 +71,7 @@ export function useSynth() { createFat(voiceParams, cv.fat, cv.synth.bpm), createNoise(voiceParams, cv.noise, cv.synth.bpm), createString(voiceParams, cv.string, cv.synth.bpm), - createSampler(voiceParams, cv.sampler, cv.synth.bpm) + // createSampler(voiceParams, cv.sampler, cv.synth.bpm) ) } )))) diff --git a/elements/sampler.js b/elements/_sampler.js similarity index 100% rename from elements/sampler.js rename to elements/_sampler.js diff --git a/elements/index.js b/elements/index.js index 118b298..3dba288 100644 --- a/elements/index.js +++ b/elements/index.js @@ -3,7 +3,6 @@ import { params as srvb } from './fx/srvb' import { params as pingpong } from './fx/pingpong' import { params as noise } from './noise' import { params as string } from './string' -import { params as sampler } from './sampler' import { params as round } from './round' export const params = { @@ -15,7 +14,6 @@ export const params = { fat, noise, string, - sampler, srvb, pingpong, } diff --git a/public/A4.mp3 b/public/A4.mp3 deleted file mode 100644 index 3b19af879f0e0bc07a02cff767b3ff4e95400884..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61148 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%0Dcuq@>W#}NZui9w%q$x41D|J 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 YuM$sj880HwJz5*y|E0%1|DSRGFOcPd4gdfE diff --git a/public/manifest.json b/public/manifest.json index d74da30..d52ff93 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,5 +1,5 @@ { - "id": "elements-v.0.4.0", + "id": "elements-v.0.4.1", "name": "Elements Synth", "short_name": "Elements", "description": "Web polyphonic multilayered digital synthesizer", diff --git a/public/sw.js b/public/sw.js index f7ba91f..3ba470a 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,9 +1,8 @@ -const CACHE_NAME = 'elements-cache-v.0.4.0'; +const CACHE_NAME = 'elements-cache-v.0.4.1'; const ASSETS_TO_CACHE = [ '/', '/index.html', '/logo.svg', - '/A4.mp3' ]; // Install Service Worker