updating examples with new features

This commit is contained in:
2023-09-18 18:55:14 +02:00
parent fa0f786252
commit 04d8d7fe6d
2 changed files with 198 additions and 189 deletions

View File

@ -223,6 +223,8 @@ The examples we have studied so far are static. They filter the sound around a f
| lpdecay | lpd | decay of the lowpass filter |
| lpsustain | lps | sustain of the lowpass filter |
| lprelease | lpr | release of the lowpass filter |
| lpadsr | | (**takes five arguments**) set all the parameters |
${makeExample(
"Filtering a sawtooth wave dynamically",
@ -241,6 +243,8 @@ ${makeExample(
| hpdecay | hpd | decay of the highpass filter |
| hpsustain | hps | sustain of the highpass filter |
| hprelease | hpr | release of the highpass filter |
| hpadsr | | (**takes five arguments**) set all the parameters |
${makeExample(
"Let's use another filter using the same example",
@ -259,6 +263,8 @@ ${makeExample(
| bpdecay | bpd | decay of the bandpass filter |
| bpsustain | bps | sustain of the bandpass filter |
| bprelease | bpr | release of the bandpass filter |
| bpadsr | | (**takes five arguments**) set all the parameters |
${makeExample(
"And the bandpass filter, just for fun",

View File

@ -13,24 +13,26 @@ beat(.5) :: sound('hh').out()`,
`// Entering the secret room - Bubobubobubo
let frequencies = [200,400,600,800,1000,2000].beat(2);
beat(2) :: sound('sine').freq(frequencies)
.delay(0.5).delayt(usine(.5)).delayfb(0.8).size(0.9).room(0.9).out()
.delay(0.25).delayt(usine(.25)).delayfb(0.25).size(0.9).room(0.9).out()
beat(2) :: app.hydra.osc(frequencies/100, 0.25, 0.5)
.posterize([32,4,8,16].beat(2)).rotate(cpulse())
.kaleid([1,2,3].beat()).out()`,
`// The real internet of things - Bubobubobubo
beat(.5) :: sound('STA6').cut(1).vel(0.4)
.orbit(2).room(0.5).size(0.5).n(irand(1,4))
.speed([0.15, 0.30].beat()).out()
.speed([0.15, 0.30].beat() * 1.5).loop([1,0]
.beat(.125)).loopEnd([1,0.5].beat(2)).out()
binrhythm(.5, 50) :: sound('shaker').out()
binrhythm(.5, 52) :: sound('808bd').n(3).out()
rhythm(.25, 6, 8) :: sound('808sd').out()`,
`// Numerology - Bubobubobubo
bpm(130);
let mel = [
"0.125 _ (0 3 7 0 3 5 0 3 9)+(0 2)", "0.125 (0 7 0 10 0 5)+(0 3)",
"0.125 (0 3 7 0 3 5 0 3 9)+(0 2)", "0.125 (0 2 4 5 9 10)+(0 2)",
].beat(4);
z0(mel)
.scale('minor').sound('square').cutoff(800 + usine(.5) * 5000)
.scale('minor').sound('wt_piano').cutoff(800 + usine(.5) * 5000)
.fmi([2, 4, 8].beat(2)).fmh(flip(2) ? 2 : 4)
.delay(bpm() / 60 / 9).delayt(0.25).delayfb(0.5)
.fmsus(0.3).fmrel(0.3).rel(rand(0.5,0.8))
@ -42,34 +44,35 @@ beat([.25, .5].beat(4)) :: flip(6) && sound('dr')
`// Harmonic Leaps and Gaps -- Bubobubobubo
let oscillation = quant(usine(.25) * 20, [35, 40, 38, 50, 55]);
let tonal = [0, 5, 0, 0, 7].palindrome().bar() + 40 - 24;
[tonal, tonal + 7, tonal + [12,3].bar()].forEach((e) => {
flip(2) :: beat(.5) :: sound('square').fmi(2)
.cutoff(500 + usine(1/2)).n(irand(1,10))
[tonal, tonal + 7, tonal + [12, 3, 24].bar()].forEach((e) => {
flip(2) :: beat(.5) :: sound('square').fmi(1.5).fmh(0.99)
.cutoff(500 + usine(1/2)).n($(1) % 20).cut(.1)
.note(e + oscillation + [0, 5].beat(.5)).out()
!flip(2) :: beat(.5) :: sound('sawtooth').fmi(2)
.cutoff(500 + usine(1/2) * 5000).n(irand(1,10))
!flip(2) :: beat(.5) :: sound('sawtooth').fmi(1.49).fmh(1.01)
.cutoff(500 + usine(1/2) * 5000).n(irand(1,10)).cut(.1)
.note(e + oscillation + [0, 5].beat(.5)).out()
});
oncount([2, 3.5, [5,0].pick()], 6) :: sound('snare').out()
`,
oncount([2, 4, 4.5], 6) :: sound('snare').n(4).out()
rhythm(.25, 6, 8) :: sound('shaker').end(0.25).out()
rhythm(.5,4,8) :: sound('bd').out()`,
`// Computer Music Classroom, Monday (8AM) -- Bubobubobubo
let ur = [0, 12, 7].beat(24),
let ur = [0, 5, 12, 7, 5].beat(24),
fundamental = [0, 5, 10, 8, 6].repeatAll(4).bar();
beat(.25) :: sound('square')
.note(ur + fundamental + 40).n(1 + $(1) % 8)
beat(.25) :: sound('triangle')
.note(ur + fundamental + 40).n(1 + $(1) % 16)
.atk(0.05).sustain(0.1).release(0.1)
.room(0.9).size(0.9)
.room(0.9).size(0.9).vib(2).vibmod(0.125)
.out()
beat(.25) :: sound('sawtooth')
.note(ur + fundamental + 47).n(1 + $(2) % 8)
beat(.25) :: sound('triangle')
.note(ur + fundamental + 47).n(1 + $(2) % 16)
.atk(0.05).sustain(0.1).release(0.1)
.room(0.9).size(0.9)
.room(0.9).size(0.9).vib(4).vibmod(0.125)
.out()
beat(.25) :: sound(['sawtooth', 'square'].bar())
.note(ur + fundamental + 40+[10,12].bar()).n(1 + $(3) % 8)
.atk(0.05).sustain(0.1).release(0.1)
.room(0.9).size(0.9).out()
`,
.note(ur + fundamental + 40+[10,12].bar()).n(1 + $(3) % 16)
.atk(0.05).sustain(0.1).release(0.1).vib([0, 0, 0, 0.5])
.vibmod(often() ? 1 : [16,8,4].pick())
.room(0.9).size(0.9).out()`,
`// Lamento for Digital Harpists -- Bubobubobubo
beat(4) :: sound('triangle')
.note(60).fmwave('triangle').fmi(3.95)
@ -92,21 +95,18 @@ beat([4, 2, 8].pick() / [2,1].bar()) :: sound('triangle')
let melody = [30,30,34,35,37].palindrome()
.beat() + [0, -12].repeatAll(2).beat(2)
if (flip(8, 75)) {
log('first section')
rhythm(.5, 4, 8) :: sound('ST12').n([0,1,2].beat(0.5)).speed(0.5).out()
rhythm(.5, 6, 8) :: sound('ST20').n([0,1,2].beat(0.5) + 20)
rhythm(.5, 4, 8) :: sound('ST12').n([0,1,2].beat(0.5)).speed(0.5).gain(0.4).out()
rhythm(.5, 6, 8) :: sound('ST20').n([0,1,2].beat(0.5) + 20).gain(0.4)
.speed(0.25).end(0.1).orbit(2).room(0.5).size(0.5).out()
beat(.5) :: sound('ST01').note(melody)
beat(.5) :: sound('ST01').note(melody).gain(0.4)
.n($(1)).speed(0.5).room(0.5).size(0.5).out()
} else {
log('second section')
rhythm(.5, 2, 8) :: sound('ST20')
.n([0,1,2].beat(0.5)).speed(0.5)
.n([0,1,2].beat(0.5)).speed(0.5).gain(0.4)
.end(0.1).out()
beat(.5) :: sound('ST01').note(melody).n($(1)).speed(0.5).end(0.1).out()
beat(1) :: sound('ST02').note(melody).n($(1)).speed(0.5).end(0.1).out()
}
`,
beat(.5) :: sound('ST01').note(melody).n($(1)).speed(0.5).gain(0.4).end(0.1).out()
beat(1) :: sound('ST02').note(melody).n($(1)).speed(0.5).gain(0.4).end(0.1).out()
}`,
`// Race day - Bubobubobubo
bpm(125);
beat(.5) :: sound('STB6')
@ -173,6 +173,7 @@ beat(0.25) :: snd('hh').out();
beat(2) :: snd('square')
.cutoff(500).note(50-12).resonance(20).sustain(0.2).out()
beat(1/4)::snd(['sawtooth', 'triangle', 'square'].beat(1))
.vib(2).vibmod(0.5)
.note([50, 53, 55, 50, 50, 52, 58, 50+12, 50+15].beat(4) + [0, 12, 24].beat(0.5))
.cutoff(usine(.5)*10000).resonance([10,20].beat(2))
.fmi($(1) % 10).fmh($(2) % 5)
@ -183,17 +184,20 @@ beat(1/4)::snd(['sawtooth', 'triangle', 'square'].beat(1))
beat(4)::snd('amencutup').n($(19)).cut(1).orbit(2).pan(rand(0.0,1.0)).out()`,
`// Crazy arpeggios - Bubobubobubo
bpm(110)
beat(0.125) && sound('sawtooth')
beat([0.25, 0.5].beat(4)) && sound('sawtooth')
.note([60, 62, 63, 67, 70].beat(.125) +
[-12,0,12].beat() + [0, 0, 5, 7].bar())
.sustain(0.1).fmi(0.25).fmh(2).room(0.9)
.gain(0.75).cutoff(500 + usine(8) * [500, 1000, 2000].bar())
.delay(0.5).delayt(0.25).delayfb(0.25)
.gain(0.75).cutoff([500,1000].beat(2))
.lpadsr([6,8].beat(), 1/16, .125, 0, 0)
.delay(0.5).delayt(0.25)
.delayfb(0.25)
.out();
beat(1) && snd('kick').out();
beat(2) && snd('snare').out();
beat(.5) && snd('hat').out();
`,
binrhythm([.25, .5].beat(), 11) :: often() :: sound('dr')
.n([0, 1].beat()).gain(0.4).out()
binrhythm([.5, .25, .5, .5, .25].beat(), 122) :: often() :: sound('dr')
.n([9, 24].beat()).gain(0.4).out()
rhythm([.5, .25, 1].beat(2), 4, 8) :: sound('kick').gain(0.6).out()`,
`// Obscure Shenanigans - Bubobubobubo
beat([1/4,1/8,1/16].beat(8)):: sound('sine')
.freq([100,50].beat(16) + 50 * ($(1)%10))
@ -205,15 +209,14 @@ flip(3) :: beat([.25,.5].beat(.5)) :: sound('dr')
.n([8,9].pick()).gain([.8,.5,.25,.1,.0].beat(.25)).out()
`,
`// Resonance bliss - Bubobubobubo
beat(.25)::snd('arpy')
.note(30 + [0,3,7,10].beat())
.cutoff(usine(.5) * 5000).resonance(10).gain(0.3)
.end(0.8).room(0.9).size(0.9).n(0).out();
beat([.25,.125].beat(2))::snd('arpy')
.note(30 + [0,3,7,10].beat())
.cutoff(usine(.5) * 5000).resonance(20).gain(0.3)
.end(0.8).room(0.9).size(0.9).n(3).out();
beat(.5) :: snd('arpy').note(
[30, 33, 35].repeatAll(4).beat(1) - [12,0].beat(0.5)).out()
`,
beat([.25,.125].beat(4))::snd('arpy:4')
.note(30 + [0,3,7,10, 12, 5, 7].beat()).speed(0.999).pan(0)
.cutoff(1000 + usine(1/8) * 400).lpadsr(8, 1/8, 1/16, 0, 0)
.resonance(1).gain(0.4).end(0.8).room(0.9).size(0.9).n(0).out();
beat([.25,.125, .5].beat(4))::snd('arpy:4')
.note(30 + [0,3,7,10, 12, 5, 7].beat()).speed(1.001).pan(1)
.cutoff(100 + usine(1/8) * 800).lpadsr(5, 0, [1/8, 1.16].beat(), 0, 0)
.resonance(5).gain(0.4).end(0.8).room(0.9).size(0.9).n(3).out();
beat(.5) :: snd('arpy').note([30, 33, 35].repeatAll(4).beat(1) - [24,12].beat(0.5))
.cutoff(500).lpadsr(8, 0.05, .125, 0, 0).out()`,
];