This commit is contained in:
Jade (Rose) Rowland 2025-05-06 01:09:20 -04:00
parent 38908baccd
commit 38e4718826
3 changed files with 14 additions and 23 deletions

View File

@ -468,9 +468,7 @@ export const { channels, ch } = registerControl('channels', 'ch');
* @example
* n(run(8)).scale("D:pentatonic").s("pulse").pw("0 .75 .5 1")
*/
export const { pw } = registerControl(
['pw', 'pwrate', 'pwsweep'],
);
export const { pw } = registerControl(['pw', 'pwrate', 'pwsweep']);
/**
* controls the lfo rate for the pulsewidth of the pulse oscillator
@ -482,10 +480,7 @@ export const { pw } = registerControl(
*
*/
export const { pwrate } = registerControl(
'pwrate'
);
export const { pwrate } = registerControl('pwrate');
/**
* controls the lfo sweep for the pulsewidth of the pulse oscillator
@ -496,10 +491,7 @@ export const { pwrate } = registerControl(
* n(run(8)).scale("D:pentatonic").s("pulse").pw("0.5").pwrate("<5 .1 25>").pwsweep("<0.3 .8>")
*
*/
export const { pwsweep } = registerControl(
'pwsweep'
);
export const { pwsweep } = registerControl('pwsweep');
/**
* Phaser audio effect that approximates popular guitar pedals.

View File

@ -317,13 +317,13 @@ export function getLfo(audioContext, time, end, properties = {}) {
end,
shape: 1,
dcoffset: -0.5,
...properties
...properties,
});
}
function getPhaser(time, end, frequency = 1, depth = 0.5, centerFrequency = 1000, sweep = 2000) {
const ac = getAudioContext();
const lfoGain = getLfo(ac, time, end, { frequency, depth: sweep * 2 })
const lfoGain = getLfo(ac, time, end, { frequency, depth: sweep * 2 });
//filters
const numStages = 2; //num of filters in series

View File

@ -148,17 +148,17 @@ export function registerSynthSounds() {
let { pwrate, pwsweep } = value;
if (pwsweep == null) {
if (pwrate != null) {
pwsweep = 0.3
pwsweep = 0.3;
} else {
pwsweep = 0
pwsweep = 0;
}
}
if (pwrate == null && pwsweep != null) {
pwrate = 1
}
let { duration, pw: pulsewidth = value.n ?? 0.5, } = value;
if (pwrate == null && pwsweep != null) {
pwrate = 1;
}
let { duration, pw: pulsewidth = value.n ?? 0.5 } = value;
const frequency = getFrequencyFromValue(value);
const [attack, decay, sustain, release] = getADSRValues(
@ -190,10 +190,9 @@ export function registerSynthSounds() {
getParamADSR(envGain.gain, attack, decay, sustain, release, 0, 1, begin, holdend, 'linear');
if (pwsweep != 0) {
let lfo = getLfo(ac, begin, end, { frequency: pwrate, depth: pwsweep, })
lfo.connect(o.parameters.get('pulsewidth'))
let lfo = getLfo(ac, begin, end, { frequency: pwrate, depth: pwsweep });
lfo.connect(o.parameters.get('pulsewidth'));
}
let timeoutNode = webAudioTimeout(
ac,