Commit 60e430c4 by PLN (Algolia)

igor to julien

parent 0350ff5a
setcps (60/60) -- One pattern per second
-- TODO: Intro basse volume
-- TODO: Intro rhodes volume premiere note
-- TODO: better bass volume, more manual than sine?
-- TODO: filtered outro
-- TODO: filler notes bass 8/8
-- Intro -- Rouge -- Blanc -- Generique -- FIN
-- 0 68 131 143 166
do
-- resetCycles
let intro = (mask "<f!2 t!164>")
let fromVelo = (mask "<f!6 t!160>")
let fromSophie = (mask "<f!11 [f t] t!154>")
let gain amount = (gain (amount * 1.5))
d1 $ intro
$ someCyclesBy "<0!36 1!6 0!2 1!2 0!3 1!2 0!6 2!12 0!90>" (fast 4) -- Rouge
resetCycles
let intro = mask "<f!2 t!164>"
let fromVelo = mask "<f!6 t!160>"
let fromSophie = mask "<f!11 [f t] t!154>"
let rouge = "<0!36 1!6 0!2 1!2 0!3 1!2 0!6 2!12 0!90>"
let whenRouge = someCyclesBy rouge
let whenNotRouge = someCyclesBy (1 - rouge)
-- let gain amount = (gain (amount * 1.5))
d1
$ intro
$ whenRouge (fast 4) -- Rouge
$ superimpose ((# "reverbkick") . (# hpf 200) . (|* gain 0.7) .(# legato "<1!4 <q!3 e>!4>"))
$ "jazz" # gain 0.5
-- # lpf 200
d2
$ "<d*4!4 [d [d*[1|2]]!2 d]!4 d*8!3 d*[8 16] d*[16 8]!2 d*16 d*[16 . 8 0]>"
# "drum:2"
# pan 0.35
# gain 0.6
d3 $ intro
$ whenmod 4 3 (hurry "1 . 1 2")
$ "jazz" # gain 0.35
# lpf 200
d3
$ intro
$ slice 4 "0 1 2 <3!4 2!4 3 3 [2 3] 3*4>"
$ whenmod 4 2 (off "q" id)
$ "break:10" # gain 0.5 # cut 3 -- Runner
d4
$ intro
$ fromVelo
$ whenRouge (degradeBy "1 0.5!15")
$ off "<e!3 [e|q]>" ( -- swinged echo
someCyclesBy "<0!12 1!4 0!8 1!8>" (swing 4)
. someCycles (|+ note 12)
. (|* gain 0.78)
)
$ superimpose ( -- Arps aigus
fromSophie . sometimesBy 1 (ply "1 <1 2 4 8>")
mask "<t!32 f!32 t!32 f!16 t!16 t t t f!7 t t t!16 f!10>"
. fromSophie
. sometimesBy (slow 4 "<0 0.25 0.5 0.75>") (ply "1 <1 2 4 8>")
. struct ("t . t(<3!3 <5 [3 5]>>,8)")
. arp "<up!3 down>"
. (|+ note 12)
. (|* gain 0.9)
. (|+ pan 0.1)
. (|* amp 0.8)
. (|+ pan 0.3)
)
$ note "<b'min7 <a'maj7 d'maj7>>"
# "<FMRhodes1!8 FMRhodes2!8>"
# octave 4
# pan 0.4
# gain 0.6
# amp 0.35
# gain (0.54 - (slow 68 $ range 0 0.14 sine)) -- synced bass
d5 -- RESONANT BASSLINE from Angel frappe
$ fromSophie
$ someCyclesBy "<1!67 0!99>" (mask "[t ~]*4")
$ whenNotRouge (mask "t f t <f t f f> . t f <t f> <f!3 t>")
$ note "b2!6 <bs2!3 <a2 g2>> b2"
# "supersaw"
-- # gM' 0 1 "^81"
# hpq (slow 24 $ range 0 0.25 perlin)
# hpf (slow 64 $ range "-500" 500 sine)
# room 0.5 # sz 0.8
# gain 0.35
# pan (slow 16 $ range 0.2 0.3 cosine)
# gain (slow 68 $ range 0.25 0.34 saw) -- synced piano
d10 -- Metronome timings
$ (|* gain 0.5)
-- $ every' 166 25 ((<| "a*2") . (# note "a'maj'2") . (# gain 0.8))
$ every' 166 35 ((>| note "f(5,8)") . (# gain 0.8)) -- Moon, bientot rouge
$ every' 166 32 ((<| "a*4") . (# note (arpeggiate "a4'maj'4")) . (# gain 0.8)) -- Hercule
$ every' 166 30 ((>| note "f(5,8)") . (# gain 0.8)) -- Eau ACF
$ every' 166 15 ((# note "g") . (# gain 0.8)) -- Piece?
$ every' 166 11 ((>| note "f(5,8)") . (# gain 0.8)) -- 1 Fin couple, 2-5 Sophie
$ every' 166 5 ((>| note "c*8") . (# gain 0.8)) -- 1-6 Fin bouche, miroir 7 8
-- $ every' 166 35 ((>| note "f(5,8)") . (# gain 0.8)) -- Moon, bientot rouge
-- $ every' 166 32 ((<| "a*4") . (# note (arpeggiate "a4'maj'4")) . (# gain 0.8)) -- Hercule
-- $ every' 166 30 ((>| note "f(5,8)") . (# gain 0.8)) -- Eau ACF
-- $ every' 166 15 ((# note "g") . (# gain 0.8)) -- Piece?
-- $ every' 166 11 ((>| note "f(5,8)") . (# gain 0.8)) -- 1 Fin couple, 2-5 Sophie
-- $ every' 166 5 ((>| note "c*8") . (# gain 0.8)) -- 1-6 Fin bouche, miroir 7 8
-- $ every' 166 9 ((# note "d") . (# gain 0.8)) -- Vetement
-- $ every' 166 7 ((>| note "~ e ~ e*4") . (# gain 0.8)) -- Mains
-- $ every' 166 6 ((>| note "~ ~ ~ d") . (# gain 0.8)) -- Velo
......@@ -65,6 +83,13 @@ d10 -- Metronome timings
$ every' 166 1 ((>| note (arpeggiate "a'maj'4")) . (# gain 0.8)) -- CLAP
$ note "a" # "arpy" # gain 0
once $ "super808*" # gain 0.7
once "igor"
once
$ stut 8 1 "[0.1|0.125|0.05]*8"
$ "coins" # speed ("0.9*8" + (fast 8 perlin/4)) # gain 0.5
-- MATIERE PREMIERE
......
setcps 0.5
d1
$ euclid ("<4 2 4 2 5 6 5 6 8 8 5 6 8 6 8 8 4 8 16 12 8 16 16 12 8 4>") 8 $ s "k"
-- $ s
......
......@@ -57,7 +57,7 @@ d3 $ g -- Bass
# room 0.6
# sz 0.5
# midiG' "^81" 0 0.8
# crush (range 10 2 "^53")
# crushbus 31 (range 10 2 "^53")
d4 $ g
-- $ mask "<f!8 t!24>"
$ whenmod 8 7 (ply "1 4")
......@@ -102,6 +102,6 @@ d4 $ g
# cut 1
# gain 0.58
once $ note (run 12) # "cpluck" # gain 0.8 # cut 5
(5) h2ogmcb (5) h2ogmcp (1) h2ogmcy (25) h2ogmft (5) h2ogmhh (20) h2ogmht (5) h2ogmmt (5) h2ogmsn (
......@@ -38,9 +38,8 @@ d1 $ g
# gM' 0 1 "^78"
d2 $ g
$ mask "<f!8 t!8> <f!4 t!4> . t"
$ novaOn "^75" (slice 8 (run 8) . (loopAt 1 . (>| "breaks165"))
$ sometimesBy ("^43") -- Stut
(mask "t(<8!2 12!2>,16)" . stut 4 0.9 "s")
$ novaOn "^75" (slice 8 (run 8) . (loopAt 1 . (>| "breaks165")))
$ sometimesBy ("^43") (mask "t(<8!2 12!2>,16)" . stut 4 0.9 "s")
$ every' 8 7 (mask "f t!3" . jux rev)
$ s "~ s ~ <~!4 s!4> ~ s*2 ~ s*2"
# s "snare:20"
......
......@@ -62,6 +62,8 @@ s.waitForBoot {
// s.sync; // optionally: wait for samples to be read
~dirt.start(57120, 0 ! 12); // start listening on port 57120, create two busses each sending audio to channel 0
~looper = TidalLooper(~dirt); // Start TidalLooper on top :)
// optional, needed for convenient access from sclang:
(
~d1 = ~dirt.orbits[0]; ~d2 = ~dirt.orbits[1]; ~d3 = ~dirt.orbits[2];
......
super808
estuary saturday jams
off "1s" id
-- But sometimes I like to introduce repetition
-- for a few moments. The "iter" function is kind
-- of a quick way to do it, so I dedicated a
-- switch on my controller to enable it for me:
let useIter p = every ( cI 0 "89" ) (iter 8) $ p
-> Better thank someCyclesBy ?!
-- TEMPO ;O
let minTempo = (range 1 0.333 $ (cF 0 "88"))
maxTempo = (range 1 1.25 $ (cF 0 "88"))
discRange a b = (segment 1 $ range a b $ shrand 70000)
cpsDisc min max = (|* cps (discRange min max))
-- then I add the "cpsDisc" function at the top:
d1
$ cpsDisc minTempo maxTempo
$ (|* gain 1.2)
$ stack [
-- pad
bgOn $ slow 4 $ (|+ note (shiftBy 1100 $ choose [-36,-24,-12]))
$ note (scale "ritusen" "{0 -1 1 -2 2}%1") # pad
, useIter $ reduce
$ stack [
-- kick
bdOn $ struct main $ bd # gain 0.8
-- perc1
, perc1On $ someCyclesBy 0.5 (superimpose (0.125 ~>)) $ (0.0625 ~>)
$ struct main $ perc1
-- perc2
, perc2On $ someCyclesBy 0.5 (superimpose (0.125 ~>)) $ (0.125 ~>)
$ struct main $ perc2
-- cp
, clapOn $ struct cpp $ cp
-- ch
, hatOn $ sometimesBy 0.08 (|+ midichan 1)
$ struct chp $ ch
]
] # rytm # cps (170/240)
cceuc8 c p = euclid (floor <$> (segment 1 $ range 1 8 $ cF 0 c)) 8 $ p
-- euclid control?
-- TIDALLOOPER :FIRE:
-- Pre-Requirement
--
-- First you should execute the following tidal code:
--
linput = pI "linput"
lname = pS "lname"
-- Now you can use linput and lname as parameter.
-- How to use it
--
-- This basic operations which are explained below is shared by all looper modes. By default 8 buffers are created, and accessible under the name 'loop' (s) and a number from 0 .. 7 (n).
--
-- The simplest form for recording is
once $ s "looper" -- writes one cycle to the loop buffer and uses the input port 0 and the sample number 0
-- After recording you can listen back to the result with
d1 $ s "loop"
-- It is possible to set the length of the recording (this is equals to the length of the events) i.e
d1 $ slow 2 $ s "loop"
-- Use n to choose a specific buffer, i.e. n "2" is equal to "write to the second buffer under of the sample bank loop".
d1 $ s "looper" # n "<0 1 2 3 4 5 6 7>"
-- And each buffer is accessible with the n function
d2 $ s "loop" # n "[0,1,2,3,4,5,6,7]"
-- You can use each input port for recording. If you use i.e. Blackhole, than the output and input ports have the same results. This way you can write the orbit results (i.e. what came from d1) to a buffer.
d1 $ s "looper" # linput 16
-- You can specifiy the name of your loop sample bank
once $ s "looper" # lname "bubu"
d1 $ s "bubu"
-- To reset all loop buffers just evaluate
once $ s "freeLoops"
-- To persist all loop buffers of a specific buffer list just evaluate
once $ s "persistLoops" # lname "bubu"
-- Note 1: I prefer to use 'qtrigger 1' to ensure, that the recording starts from the beginning of the pattern. Maybe you want to use the looper with seqP, seqPLoop or wait.
-- Note 2: If you want to use more samples under one name, than adjust the numBuffers in the Looper.scd.
-- Replace mode
-- In replace mode, each time the recording pattern is called, the specified buffer is recreated and any existing buffer is cleared. The basic looper s $ "looper" is actually the "rlooper" (for replace looper) and just a synonym.
-- To continuously play back and record a loop, the code could looks like this
d1 $ qtrigger 1 $ stack [
s "rlooper" # n "<0 1 2 3>",
s "loop" # n "[0,1,2,3]",
s "808 cp!3"
]
-- If you record a loop of cycle length 1 and play it back at the same time, you will never hear a result, because the buffer is immediately rewritten at each cycle.
-- Note: You can change the default looper mode by changing the variable pLevel in the Looper.scd.
--
-- Overdub mode
--
-- Loop overdub - A mode found in many looping devices where new material can be added on top of — overdubbed on — existing loop material. This allows you to layer additional parts into a loop to create a fuller sound or a more “layered” effect. (See sweetwater.com/insync/loop-overdub)
-- In overdub mode, each time the recording pattern is called, the specified buffer is kept and the incoming audio signal is mixed to the existing one. This means that no new buffer is created if a recording has already been made for that buffer. To use the looper in overdub mode you just need to use olooper (for overdub looper) instead of looper.
--
-- To continuously play back and record a loop, the code could looks like this
--
d1 $ qtrigger 1 $ stack [s "olooper",s "loop",s "808 cp!3"]
-- Note 1: The buffer length of a buffer is set when recording for the first time and cannot be changed afterwards (unless you clear the buffer with s "freeLoops") .
-- Note 2: In an older version the additional function playAll was needed to simulate an overdub mode. This is no longer necessary because a "real" overdub mode was implemented.
once $ "igor:00" # cut 1 -- _pas_gravat.wav
once $ "igor:01" # cut 1 -- _clepsydre_18.wav
once $ "igor:02" # cut 1 -- _clepsydre_1.wav
once $ "igor:03" # cut 1 -- _hauberge_hongick_seoul.wav
once $ "igor:04" # cut 1 -- _tambour.wav
once $ "igor:05" # cut 1 -- _within.wav
once $ "igor:06" # cut 1 -- _digital_week.wav
once $ "igor:07" # cut 1 -- _abattoirs_mousse.wav
once $ "igor:08" # cut 1 -- _toiture_oural.wav
once $ "igor:09" # cut 1 -- _marche_mangrove.wav
once $ "igor:10" # cut 1 -- _benin_poules.wav
once $ "igor:11" # cut 1 -- _les_oiseaux_vertou_2.wav
once $ "igor:12" # cut 1 -- _mollusques_sharjah_1.wav
once $ "igor:13" # cut 1 -- _corbeaux_mangrove.wav
once $ "igor:14" # cut 1 -- _ourobouros.wav
once $ "igor:15" # cut 1 -- _enseigne.wav
-- Bonjour :)
-- Je teste de nouveaux SAMPLES
-- Merci à Igor Porte ;)
-- Glitchy <3
-- À BIENTÔT ;)
do
let gDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
let gLPQ = (# lpqbus 2 (range 0.0 0.5 "^29"))
let gHPQ = (# lpqbus 3 (range 0.0 0.5 "^30"))
let g = gDJF . gLPQ . gHPQ
setcps 0.5
d1 $ g
$ midiOn "^41" (<| "k*4")
$ midiOff "^41" (<| "k*<1!4 2 1 2 2> ~ . k*<2!2 1 <1 2>> ~")
$ "jazz"
# midiG' "^78" 0 1.4
d2 $ g
$ midiOn "^43" (slow 2)
-- $ fix
$ "~ s ~ s"
# "[snare:35,cp]"
# midiG' "^79" 0 1.6
d7
$ someCyclesBy "<0!3 0.2>" (mask "t(16,32)" .fast "1 2")
$ someCyclesBy 0.2 (mask "t(4,8)")
$ "hh(12,16)"
# midiG' "^79" 0 1.2
d3 $ g
$ loopAt 4
$ slice 8 (
"0 1 0 <2 3> 0*<2!3 4> <1 [~ 1]> 2 <7!3 3>")
$ "break"
# midiG' "^80" 0 1.5
d5 $ g -- bassline!
$ slow 4
$ note ("<e df>" +
stack [
"0 . 0(<1 3 5 8>,8)" |+| (
arp (slow 8 "<up updown thumbup pinkyup>")
"c . <c'min'4 c'min'4*2>"), -- High fly
"-12" -- Low slow
- 12 -- Baseline
]
)
# room 0.2 # sz 0.5 # dry 1
# "bassWarsaw"
# crushbus 51 (range 10 1.25 "^53")
# midiG' "^81" 0 1.5
d4 $ g -- Digital week
$ note "e4" # "igor:6" # cut 4
# midiG' "^82" 0 1.8
# pan (slow 32 $ range 0.1 0.5 perlin)
# midiG' "^83" 0 1.8
d6 $ g -- STATIC
$ slice 16 "<0 1 0 0> 1*<2 1 0 1> 2? 4(<1 <3 5>>,8)"
$ "igor:15"
# midiG' "^83" 0 1.8
# pan (slow 32 $ range 0.1 0.9 saw)
# cut 6
d8 $ g -- Ourobouros
$ sometimesBy (1 - "^36") (segment "8 16")
$ g
$ superimpose (
(|+ note "<7 12 <7 -7> <0 -8>>") . (# cut 81)
)
$ midiOn "^60" (slow 2)
$ someCyclesBy (slow 8 saw) (slow 2)
$ slow "<4 8 16 32>"
$ chop 4
$ "igor:14"
# midiG' "^84" 0 1
# begin "0.25"
# cut 8
# crushbus 81 (range 14 2 "^56")
# room 0.4
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment