diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index f449f85f..8605d7be 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -1209,7 +1209,7 @@ const generic_params = [ * Formant filter to make things sound like vowels. * * @name vowel - * @param {string | Pattern} vowel You can use a e i o u ae aa oe ue y uh un en an on, corresponding to [a] [e] [i] [o] [u] [æ] [ɑ] [ø] [y] [ɯ] [ʌ] [œ̃] [ɛ̃] [ɑ̃] [ɔ̃]. + * @param {string | Pattern} vowel You can use a e i o u ae aa oe ue y uh un en an on, corresponding to [a] [e] [i] [o] [u] [æ] [ɑ] [ø] [y] [ɯ] [ʌ] [œ̃] [ɛ̃] [ɑ̃] [ɔ̃]. Aliases: aa = å = ɑ, oe = ø = ö, y = ı, ae = æ. * @example * note("c2 >").s('sawtooth') * .vowel(">") diff --git a/packages/superdough/vowel.mjs b/packages/superdough/vowel.mjs index dd2fd52d..7d5dac4a 100644 --- a/packages/superdough/vowel.mjs +++ b/packages/superdough/vowel.mjs @@ -15,6 +15,14 @@ export var vowelFormant = { en: { freqs: [600, 1480, 2450, 3200, 3300], gains: [1, 0.15, 0.0708, 0.0316, 0.02995], qs: [40, 60, 100, 120, 120] }, an: { freqs: [700, 1050, 2500, 3000, 3300], gains: [1, 0.1, 0.0708, 0.0316, 0.02995], qs: [40, 60, 100, 120, 120] }, on: { freqs: [500, 1080, 2350, 3000, 3300], gains: [1, 0.1, 0.0708, 0.0316, 0.02995], qs: [40, 60, 100, 120, 120] }, + get æ() { return this.ae; }, + get ø() { return this.oe; }, + get ɑ() { return this.aa; }, + get å() { return this.aa; }, + get ö() { return this.oe; }, + get ü() { return this.ue; }, + get ı() { return this.y; }, + }; if (typeof GainNode !== 'undefined') { class VowelNode extends GainNode {