Last active
April 5, 2020 18:11
-
-
Save khoparzi/90613a013299d9d315c77c38b445be5b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Equinox stream | |
Hi All! I am Khoparzi from Allahabad, India | |
Playing out to you from Mumbai | |
d1 | |
-- $ chup | |
$ microd | |
$ stb 0.3 (jux (rev)) | |
$ oftflip | |
$ s "scw*8" # g 1 # n (irand 100) | |
# loop "[1|4|8]" # up "[0, 7, <11 13 14>]" # g 0.1 | |
-- # lpf 100 # e en | |
-- Superb Hindustani blues fusion vocals by Chandana Bala Kalyan from | |
-- https://www.youtube.com/watch?v=XFUSRaWPR20 | |
d8 | |
$ cceuc16 "70" | |
$ s "chandana" | |
# grain (rg 0 1 $ in71) (rg hdsqv qn $ in72) | |
-- # g (scramble 8 "0.2 0.3 0.7 1 0.4") | |
-- # freq (100 * (rg 1 14 $ cF 0 "2")) | |
# rvb' in73 0.9 # g 0.6 | |
# shape 0.4 # crush 8 # coarse 3 | |
d9 $ cceuc16 "74" $ s "chandana" # n 1 | |
# grain (rg 0 1 $ in75) (rg hdsqv qn $ in76) | |
-- # g (scramble 8 "0.2 0.3 0.7 1 0.4") | |
-- # freq (100 * (rg 1 14 $ cF 0 "2")) | |
# rvb' (cF 0 "77") 0.9 # g 0.8 | |
# shape 0.4 # crush 8 # coarse 3 | |
d2m' 17 | |
$ degradeBy 0.9 | |
$ microd' | |
-- $ chancervb | |
-- $ stb 0.2 (thicken) | |
$ fa "[2]" | |
$ stb 0.9 (# speed "[1, 1.75, 2, 4]") | |
$ binstruct "<130 180 181>" | |
$ s "dudak:2" # g 1.1 | |
-- # e qn | |
-- # dels' 0.2 4 0.4 | |
d3m' 14 | |
-- $ oftflip | |
$ s "808:1*8" # e tn # g 1.3 | |
-- # lpf (4000) | |
-- A little shout to my Man Rangga whos coming next | |
p "r" $ oftflip | |
$s "rangga*16" # grain (sn' (irand 7)) tn # n "[4|3]" | |
-- Thanks so much everyone | |
-- Have a great equinox!! | |
------_________________________________________________________ | |
-- Useful fuctions | |
import qualified Sound.OSC as OSC | |
import qualified Sound.OSC.FD as FD | |
import System.IO.Unsafe (unsafePerformIO) | |
-- | Global reference of the UDP port used to | |
-- | communicate with SCLang | |
globalUDPRef = unsafePerformIO $ OSC.openUDP "127.0.0.1" 57120 | |
-- | Takes a path and an argument (both strings) | |
-- | and sends them to SCLang | |
-- oscStringMessage :: String -> String -> IO () | |
oscStringMessage path str = FD.sendMessage globalUDPRef $ OSC.Message path [OSC.string str] | |
-- For sample loading (ask me for sclang code to enable these) | |
let load s = oscStringMessage "/loadBank" s | |
loadFolder s = oscStringMessage "/loadFolder" s | |
loadFolders s = oscStringMessage "/loadFolders" s | |
-- loadMaschine s = oscStringMessage "/loadFolder" ("/Users/khoparzi/Documents/Native Instruments/Maschine 2/Groups/" ++ s) | |
loadPath s = oscStringMessage "/loadPath" s | |
free s = oscStringMessage "/freeBank" s | |
quitsc = oscStringMessage "/exit" "" | |
record = oscStringMessage "/record" "" | |
stoprecord = oscStringMessage "/stoprecord" "" | |
-- For granular | |
grain' = grp [mF "begin", mF "end"] | |
grain s w = begin s # end (s + w) | |
grain8 s w = begin (en' s) # end ((en' s) + w) | |
grain16 s w = begin (sn' s) # end ((sn' s) + w) | |
-- For fun ways to make easy patterns | |
asstruct p = struct (ascii p) | |
asstruct' s a p = slow s $ struct (ascii a) $ p | |
binstruct p = struct (binary p) | |
binstruct' s a p = struct (binaryN s a) $ p | |
-- Eucledian patterns controlled with midi controllers | |
cceuc8 c p = euclid (floor <$> (segment 1 $ range 1 8 $ cF 0 c)) 8 $ p | |
cceuc16 c p = euclid (floor <$> (segment 1 $ range 1 16 $ cF 0 c)) 16 $ p |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment