This commit is contained in:
Aria
2025-09-30 23:51:59 -05:00
parent ccbf28f2db
commit c5f1085bd9
4 changed files with 21 additions and 3 deletions
+18
View File
@@ -3536,3 +3536,21 @@ export const morph = (frompat, topat, bypat) => {
bypat = reify(bypat);
return frompat.innerBind((from) => topat.innerBind((to) => bypat.innerBind((by) => _morph(from, to, by))));
};
/**
* Wavefolding distortion
*
* @name fold
* @param {number | Pattern} distortion
*
*/
export const fold = register('fold', function (amt, vol = 1, pat) {
return pat.withvValue((v) => {
return {
...v,
distortion: amt,
distortvol: vol,
distorttype: 'fold',
};
}).innerJoin();
});
+1
View File
@@ -475,6 +475,7 @@ export const getDistortionAlgorithm = (algo) => {
};
export const getDistortion = (distort, postgain, algorithm) => {
debugger;
return getWorklet(getAudioContext(), 'distort-processor', { distort, postgain }, { processorOptions: { algorithm } });
};
+2 -2
View File
@@ -1,5 +1,5 @@
import { noteToMidi, valueToMidi, getSoundIndex, getCommonSampleInfo } from './util.mjs';
import { registerSound, registerWavetable } from './index.mjs';
import { getCommonSampleInfo } from './util.mjs';
import { registerSound, registerWaveTable } from './index.mjs';
import { getAudioContext } from './audioContext.mjs';
import { getADSRValues, getParamADSR, getPitchEnvelope, getVibratoOscillator } from './helpers.mjs';
import { logger } from './logger.mjs';
-1
View File
@@ -5,7 +5,6 @@ import {
destroyAudioWorkletNode,
getADSRValues,
getFrequencyFromValue,
getLfo,
getParamADSR,
getPitchEnvelope,
getVibratoOscillator,