Skip to main content

Tidal CyclistMartin Gius
akapolymorphic_engine
LocationVienna
Years with Tidal3 yrs
Other LiveCoding envSuperCollider, Hydra, ORCA
Music available onlineBandcamp
Code onlineGitHub
Other music/audio swReaper, PureData, Audacity
CommentsClub Tidal Forum Thread

Livecoding

What do you like about livecoding in Tidal? What inspires you?

I find the way Tidal allows me to approach music in a structural way fascinating. I like it's concise but still verbose syntax, especially combined with the mini-syntax.

How do you approach your livecoding sessions?

When I make music on my own, I like to start out with simple rhythmic patterns and start to layer them with different versions of themselves (slower & lower / faster & higher / ..). Now apply the MI clouds effect and you can have fun for hours adjusting the parameters! (Note: see the clouds section in the Mi-UGens page of the User docs.)

I also like to use a traditional game controller and map the controls to conditional functions or effects in the code. For example, playing a drum pattern twice as fast when I press the 'A' button, or adjust the pan according to a joystick. I like the thought that I am programming the functionality of a game live, while I am also playing it.

What functions and coding approaches do you like to use?

Probably my most used Tidal functions are layer and while. I also use the control bus feature a lot to manipulate the FX of longer sounds. I really like how randomness in Tidal works and how easy it is no generate arbitrary, but repeating sequences or rhythms.

Here is an example of a jungle inspired, abstract dance track. To make a four cycle loop, evaluate the line

all $ timeLoop 4 . (rotL 4)

and change the number in rotL to shift the pattern. Try to play around with the parameters of the clouds effect aswell, but be careful, it might get loud! :)

let
setbpm x = setcps (x/60/4)
_add :: Time -> Pattern a -> Pattern a -> Pattern a
_add t value pat = slow (pure $ 1+t) $ timeCat [(shift,pat),(1-shift, value)]
where shift = 1 / (t + 1)
add :: Pattern Time -> Pattern a -> Pattern a -> Pattern a
add pt x y = innerJoin $ fmap (\t -> _add t x y) pt

setbpm 160

all $ timeLoop 4 . (rotL 4)

all $ id

d1
$ while "t(4,16)" (|+ krush 1)
$ while "[0 | 1]*16" (superimpose (plyWith 4 (|* speed 1.25) . slow 2))
$ layer [id
,\x -> degradeBy (segment 16 perlin)
$ slow 2
$ x
# speed 0.75
# shape 0.1
,\x -> add "[0.5 | 0.25]*4" (s "jungbass:1" # speed 0.8 # shape 0.2 # krush 2)
$ x # speed "[2 | -2]*8"
]
$ s "[drum drum:1 [~ drum] drum:1, drum:3*[[8 | 16]*4]]"
# krush 2
# cloudswet 1
# cloudsgain 1
# cloudspitch (segment 16 $ smooth "[-1 | 1 | 0]*16")
# cloudstex (segment 16 $ smooth "[0.3 | 0.1 | 0.9]*4")
# cloudspos "[0 | 1]*8"
# cloudssize 0
# cloudsfb 0.3
# cloudsspread 0
# cloudsdens 0
# cloudsrvb 0
# cloudsfreeze 0

Do you use Tidal with other tools / environments?

I like to use Tidal together with Hydra and Vimix and like to use a game controller for external hardware.

Tidal Contributions

How do you contribute to Tidal Cycles? What have you worked on?

  • I had the opportunity to work on Tidal as part of the Haskell Summer of Code 2021. There, I mainly worked on packaging Tidal to allow users to use it without an installation of the whole Haskell environment. This led to me developing a whole code editor/interpeter with some features especially designed for Tidal, like the display of which patterns are playing/muted, the current cps/bpm and the ability to control all features of the editor via OSC.

  • I'm also working on the tidal-listener which also provides a standalone intrepreter that editor plugins etc. can use as an alternative to ghci.

  • Now I am mostly working on things that are related to the mini-notation and how it is parsed and interpreted. Most notably, I found a way to make the chord notation patternable and made it easier to add new custom chord modifiers.

What motivates you to work on Tidal?

Curiosity of the inner workings of Tidal and the great community!

Music

Tell us about your livecoding music.

  • I often improvise together with people who play more traditional instruments. I find it very interesting to use microphones to get what the others are playing as an input that I can manipulate through coding.
  • I'm also interested in multi-channel sound / acousmatic music and the possibilities of live-coding in this context. I think live-coding could be a great tool to be able to precisely control an acousmonium (a speaker orchestra, where each speaker has it's seperate channel). This means to not just make the sounds that are being heard, but also to distribute them across the speakers in real-time (this is often called diffusion).

What samples or instruments do you like to work with?

Recently, I like to use very tiny grains of samples and process them with Tidal. What I like about this approach is that it is easy to manipulate and add effects to each grain individually. I also like to record my own samples with various microphones.

What projects are you currently working on or planning? What's next?

  • I would like to work on a bigger scale AV performance using Tidal, Hydra and Vimix together, to create something like a short film.
  • I'm also working on an interactive sound installation where I will probably use Tidal to generate the sound.
  • I'm working on a new acousmatic piece for a composition competition.

Other

I'm currently working on a live-coding language that will extend the mini-notation to a full programming language. It is still in early development, but maybe somebody is interested in helping me out! I'm working on it here.

youth photo with computer

Comments: Club Tidal Forum Thread

Tidal CyclistPondskater (aka Axel Ganz)
akaganz
LocationDüsseldorf, Germany and Telavi, Georgia
Years with Tidal3 yrs
Other LiveCoding envSonicPi, Hydra
Music available onlineBandcamp
Other music/audio swAudacity, Ableton Live with Granulator 2 and Wavetable
HardwareSequential Circuits Six-Trak, Faderfox PC4
pondskater with controller

(photo: Heike Kurth)

Livecoding

What do you like about livecoding in Tidal? What inspires you?

  • Although I have been making electronic music for decades, I have never been the analytical type of music producer. I have always found it difficult to create more complex rhythmic structures and work out arrangements. And although I am not a developer and have no knowledge of programming at all, I was able to get into TC very quickly and find the approach very intuitive. In particular, I now find it easy to create complete rhythmic structures. Sometimes I don't know exactly what I'm doing, but some results speak for themselves. This fascinates and motivates me, even after three years. Tidal never gets boring. Besides, I have always been interested in new approaches and new musical territory. Live coding offers a great and ever-expandable field of experimentation.

How do you approach your livecoding sessions?

  • I usually start with a new feature, or an example or snippet of a new feature. I read a lot in the Tidal Club and often find inspiration in other people's questions and examples. Since my repertoire of tracks has been growing, I've also started to put key elements of previous tracks that I particularly like back on the dissecting table of my editor and vary them again and again. Variation, variation, variation. And - after three years, I find that my code tends to get simpler - but in do blocks.

What functions and coding approaches do you like to use?

  • I am a fan of echoWith, chop, degradeBy, repeatCycles, mask. And it changes. Some days ago I was very busy with while which I now rediscover. Now I like cat combined with euclidian rhythms very much.
d1 $ slow 2 $ cat [s "tabla:04(3,8) tabla:04(5,8)"] # gain 0.9 # speed 0.25
d2 $ cat [s "kick(3,8)", "kick(2,8)", "kick(3,8)"]

I also like to work with isorhythms, especially to get a tonal dynamic into a percussion pattern.

d1 $ struct "7(7,8)" $ sound "tah" # nCountTo "list" "<7 7 7 7 7 8 9>"
# gain 0.9 # room 0.3 # size 0.5 # speed 0.5
# shape (slow 4 $ range 0.0 0.5 tri)
# pan (slow 2 $ range 0.1 0.9 saw)

Recently I started to experiment with @jwaldmann's fantastic random-not-random ideas. https://club.tidalcycles.org/t/random-not-random/4522

do
let scale = getScale (scaleTable ++ [("wavemorphian", [3,7,8,10,11])])
d1 $ s "r808(5,8)" # gain 0.9 # room 0.5 # size 0.9
d2 $ jux rev $ stack [
n ( scale "wavemorphian" $ cat $ replicate 8 $ segment "<4>" $ irand 5) # s "sxt22" # gain 0.5
,n ( scale "wavemorphian" $ cat $ replicate 8 $ segment "<4>" $ irand 5) # s "sxt31" # gain 0.5
,n ( scale "wavemorphian" $ cat $ replicate 8 $ segment "<4>" $ irand 5) # s "sxt50" # gain 0.5 # legato 1.25
,n ( scale "wavemorphian" $ cat $ replicate 8 $ segment "<2>" $ irand 5) # s "sxt31" # gain 0.6 # speed 2.0
,n ( scale "wavemorphian" $ cat $ replicate 8 $ segment "<3>" $ irand 5) # s "sxt42" # gain 0.5 # speed 2.0
,n ( scale "wavemorphian" $ cat $ replicate 8 $ segment "<1>" $ irand 5) # s "sxt60" # gain 0.7 # speed 2.0 # nudge 0.25
,n ( scale "wavemorphian" $ cat $ replicate 4 $ segment "<1>" $ irand 5) # s "sxt69" # gain 0.7 # speed 2.0 # nudge 0.675
] # room 0.5 # size 0.9

In this context, perhaps this could also be interesting: Elizabeth Margulis On Repeat: How Music Plays the Mind

Do you use Tidal with other tools / environments?

  • In the beginning, I really wanted to use Tidal to control hardware synthesizers (Six-Trak, Juno 106, etc.), based on sonic demands. In the meantime, I have largely discarded this approach. Instead, I create a sound on the Six-Trak, then sample a chromatic octave and continue working with these samples directly in TC. The many possibilities of sample chopping and editing functions within TC offer many more sonic possibilities that I don't have within the hardware. I also like to use a hardware controller to adjust parameters live in Tidal.

Tidal Contributions

How do you contribute to Tidal Cycles? What have you worked on?

  • Since I don't have a clue about Haskell, I can't directly contribute to the further development of Tidal. I can only share my experiences as a user, which I do e.g. at Toplap Düsseldorf meetups. I also try to contribute to the development of the community and the use of Tidal Cycles by planning and running livecoding events and LiveCoding beginners workshops in Düsseldorf, Germany and in Tbilisi, Georgia. Not least for this reason, I would now like to take a look at Strudel.

What motivates you to work on Tidal?

  • Basically, it's the curiosity to scratch musical boundaries and - if it goes well - to enter new musical terrain here and there.

Future perspectives

  • Yaxu’s Learning Tidal Cycles Course was my general door opener to using Tidal. Thank you so much for this wonderful introduction, @Yaxu! And since then the Tidal Club is a permanent resource of knowledge, which I receive as a great gift at any time. I hereby expressly would like to thank the entire Tidal community!

  • On the other hand, many more advanced techniques and knowledge about Haskell and Tidal have remained hidden from me until now. For example, the type signatures are still a mystery to me. I can't really use them. I could imagine that I'm not the only musician who likes to work with Tidal but has no basic knowledge of programming or Haskell and would welcome the opportunity for some kind of further self-help training.

Music

Tell us about your livecoding music.

  • It's never easy to talk about your music. I think I hang somewhere in between. Between dancefloor music on the one hand and really abstract conceptual contemporary music on the other. My music is certainly more influenced by a pop music context than an academic one. Maybe you could call it downbeat electronic, somehow influenced by industrial and IDM. I want to counterbalance this with a certain melodic touch and erratic voices.

How has your music evolved since you have been livecoding?

  • Hm, I hope that since then at least the rhythms have become a bit more interesting.

What samples or instruments do you like to work with?

  • In order not to succumb to the danger of repeating classic analogue sounds over and over again, I process the Six-Trak sounds in Robert Henke's Granulator 2 within Live. Alternatively, I now also create sounds and loops with the Ableton Live Wavetable Synthesizer.

What projects are you currently working on or planning? What's next?

  • I thought I should take the opportunity of the proximity of this years ICLC in Utrecht, so I am currently planning a small live tour of Europe for April and May. I am also helping to organize another satellite event on 05 and 06 May 2023 in Düsseldorf. After that I would like to finally try the MrReason's Tidal Looper.

Tidal Cyclistndr_brt
LocationItaly
Years with Tidal4 yrs
Other LiveCoding envHydra, Supercollider, Threnoscope, ByteBeat
Music available onlineBandcamp
Code onlineGitHub
Other music/audio swsox, ffmpeg, Ardour, Audacity

Livecoding

What do you like about livecoding in Tidal? What inspires you?

  • When I met it for the first time everything was a wow, the cycle concept, function composition, mini-notation, patternization... Nowadays I'm still able to find inspiration watching other people livecoding or reading the posts on tidal club, especially when there are custom functions listed.

How do you approach your livecoding sessions?

  • I always try to start from scratch, when I code alone I usually focus on a single function and try to get everything out of it, while I'm in front of an audience I just go with the flow.

What functions and coding approaches do you like to use?

  • I'm a huge fan of superimpose (used with the si shortand), especially mixed with hurry, in my "single sample runs" I create layers of the same sample playing at different speed/density to create rhythm and melodic patterns. For example:
let sh t f p = superimpose ((hurry t).f) p

d1
$ sh 5 id
$ sh "e" id
$ sh 3 id
$ s "sine"

this is a really simple example, and from here you can start and mixup all sort of other functions, I also love chunk, that moves things a lot:

d1
$ chunk 7 (|* speed 1.5)
$ sh 5 id
$ sh "e" id
$ sh 3 id
$ s "sine"

The fun is that, if you replace sin with, for example, a percussive sample like bd, here you have a nice drum pattern.

Then to completely unhinge the structure, chew and bite are also good friends:

d1
$ chew 4 (iter 3 "3 1 0")
$ chunk 7 (|* speed 1.5)
$ sh 5 id
$ sh "e" id
$ sh 3 id
$ s "sine"

-- or

d1
$ bite 4 (iter 5 "3 0 1")
$ chunk 7 (|* speed 1.5)
$ sh 5 id
$ sh "e" id
$ sh 3 id
$ s "sine"

I often try to escape from this mindset but at the end I fall into it most of the times.

Do you use Tidal with other tools / environments?

  • I tried it to control some drum machines circuit bent by me but at the end I find the hardware overcomplicated and I prefer to play soft-synths, especially Supercollider: everything in a box and controllable with the keyboard.
  • I used Tidal also to draw stuff with p5 during some sessions.

Tidal Contributions

How do you contribute to Tidal Cycles? What have you worked on?

  • I learned Haskell only to contribute to Tidal. I'm passionate about reading code and get the insights of the software, on the main codebase I solved some bugs and added some features mainly in the mini-notation section (tidal commits).
  • I took care of the migration from Travis CI to GitHub Actions.
  • Atom -> Pulsar: At a certain point I noticed that the Atom Plugin was practically unmaintained so I proposed to be its maintainer, and I brought it back on track. Now Atom has been disbanded but luckily the Pulsar community is vibrant and the Tidal plugin is already fully compatible with it. It was a pretty satisfying migration (Pulsar-tidalcycles).

What motivates you to work on Tidal?

  • Not to be selfish but most of the work I did had direct impact on the use I'm doing of Tidal, I guess because it's easy to contribute when you know why something needs to be improved/fixed.

Music

Tell us about your livecoding music.

  • Well, most of the time it is noisy, sometimes mellow, always not danceable.

How has your music evolved since you have been livecoding?

  • For sure it changed, I'm not sure it "evolved", sometimes I think I was more creative when I was learning how to use the instrument, now it's easier to get into the loop of being repetitive.

What samples or instruments do you like to work with?

  • I try not to use the default samples nor the default synths, I sometimes write my own synths, sometimes I record my own samples or I get them from various sources.

What projects are you currently working on or planning? What's next?

  • I recently finished a record that was a collaboration with Naotodate, that's a non-livecoding noise friend from Italy (on bandcamp).
  • Now I'm working to another collaboration record, this time with ETOL, an amazing italian livecoder. To be fair the project it is still in an embryonic state.

Other

  • I'm a software engineer by day and a punk "musician" by night, I played and still play guitar/drums/bass in various bands
  • I'm also part of Toplap Italia, I organize livecoding shows sometimes
  • I've been a Linux user for like 20 years
  • I like diy electronics, circuit bending and fixing broken stuff found in the trash
  • Either I talk too much or I don't talk at all

Tidal CyclistRaphaël Maurice Forment
akaBuboBubo
LocationLyon/Paris, France
Years with Tidal4 yrs
Other LiveCoding envSuperCollider, ORCA, FoxDot
Music available onlineBandcamp
Code onlineGitHub
Other music/audio swSuperCollider, MaxMSP, SunVox, VCVRack

Livecoding

What do you like about livecoding in Tidal? What inspires you?

TidalCycles taught me a lot about music and improvisation. I used not to care too much about rhythm and structures when improvising. The emphasis that Tidal is putting on rhythm can actually be beneficial. It pushes you to explore some aspects of music you might be neglecting: complex time signatures, intriguing rhythms, etc... I also like the fact that it feels like a "metaphoric" language to talk about music that ends up taking shape while typing on the keyboard. Making music with Tidal, you quickly start to put a name on specific patterning concepts.

Tidal is also super fun: I usually have a great time when improvising during a jam session using it, especially when it blends with other non algorithmihc instruments :)

How do you approach your livecoding sessions?

I like to setup a system that I find interesting or playful. I spend quite some time organising my instruments, effects, mixing desk, controllers, etc... Whenever I find a system that I find interesting to play with, I'm generally not preparing much more. I know that music will just flow if I really start improvising and exploring the system. I just start tinkering to discover what I have on my hands. Preparing such systems takes most of my time before gigs. I think that I've never played twice with the same exact setup!

I really like jamming with friends as well without preparing much, using my own collection of audio samples. When coding alone, you almost mechanically end up doing too much for your own sake. Friends will not allow such things to happen. You must listen and adapt! Nowadays, synchronizing Tidal with pretty much anything has also became much more simpler than it used to be. One more reason to do it!

One other thing is that.. I usually don't record my stuff! I play live, and then boom, I'm gone. Live coding is great because it's ephemeral. Once you stop coding, you should start again to get the same result.. except it's never the same.

What functions and coding approaches do you like to use?

I'm not very good at learning the standard library, which is why I ended up writing documentation to actually discover more of it! I have some techniques I always like to play with:

  • playing with a large collection of samples, without ordering or sorting them beforehand. Iterating through a directory, finding iterations that sound good.
  • writing structures: using cat, ur, stack, etc...
  • Nesting groupings ([]) and using <> a lot to get the most out of patterns that are short to write.
  • using superimpose and sometimes too much, to the point where your pattern ends up being a totally different thing compared to what you started with.
  • soloing by just writing a one-note pattern that I edit really fast.

Some people use extensive collections of custom functions. I never could quite grasp Haskell, so I ended up maximising what I truly understood in the language!

Do you use Tidal with other tools / environments?

All the time. I usually separate my orbits (stereo tracks) to a DAW or to another software for post-processing. I end up adding some controls to Tidal to control send/returns and effects without leaving the keyboard. Tidal is now also one of my favorite way to interact with any piece of gear that I can lay my hands on.

Tidal Contributions

How do you contribute to Tidal Cycles? What have you worked on?

I used to contribute a lot to the documentation ~1 year ago. When I first started playing with Tidal, all the good stuff was documented in the old wiki website. My first "invisible" contribution was to write some amount of french translation that wasn't easily accessible because the system had its quirks. When the new website suddenly appeared, I ported most of the old website to the new website, reorganising pretty much everything to my liking :)

I was very cautious, trying to make information easy to discover, specifically because I spent so much time digging in the past! This effort has now turned into a very healthy collective effort and the Tidal documentation is something to proud of for everyone who contributed to it!

What motivates you to work on Tidal?

Nowadays, I don't contribute that often by writing/coding stuff so I can't say that I'm motivated to make the system any better! However, I really love to teach Tidal whenever I can. I had the opportunity to teach it in a graduate class at my current university. I also teach Tidal to whoever is interested and sometimes during formal/informal workshops, etc...

Music

Tell us about your livecoding music.

I love it when the music I play serves as an outlet and a release. I don't really play the music I enjoy listening which is something that I always found intriguing... I've learned to somehow accept it. I usually listen to folk / rock music with a fair amount of jazz but what I love playing the most with Tidal is hard/fast rhythmic music! Meaning a deluge of drums, saturation and distortion, mangled samples, etc... I also think that Tidal forces you to go in that direction but it's a topic for another day!

How has your music evolved since you have been livecoding?

It changed a LOT about the way I approach music-making. Before I started learning Tidal, I had a mild interest in computers and synthesizers. Nowadays, I'm living in a room full of audio cables / computers. Tidal was very influencial in the way I think about music, but that's also because I've read a lot of the things Alex wrote about livecoding / Tidal. The most important thing that Tidal has taught me is that algorithmic music can actually be simple. Its simplicity is what allows you to go deep, by combining simple ideas and processes and ending up with fascinating results.

I also don't play much piano anymore, and it forced me to pick up my guitar again... just to stretch my fingers after typing so much on a keyboard!

What samples or instruments do you like to work with?

  • I like "joke" samples. I ended up soloing with the sound of my oven cooking a pizza a few months ago. crow, without doubt, is the best audio sample in the default library. By trying hard enough, you can make them sound like the best thing you've ever heard, or fail!
  • Nowadays, I'm specifically looking for instruments with few parameters to tweak. Few parameters means that you are more likely to remember all of them when writing a pattern!
  • I feel like I'm repeating myself but: large collections of unsorted samples!

Sometimes, I also try to play with having the minimum amount of control on the Tidal side and relying more on real instrumentst that I can tweak with my hands: modular synthesizers (sending CV and GATE only), drum machines, etc... It feels more natural to launch a pattern and to tweak its output afterhands.

What projects are you currently working on or planning? What's next?

I'm working on my PhD manuscript... which is about live coding! I've been studying live coding languages and techniques for quite some time now and I'm trying to write about this delicate topic by giving it justice! It's an incredibly dense topic and I feel inclined not to give up on any detail that I find fascinating about this art practice. To be more specific, my angle is to think about how live coding languages are inspired by certain aesthetical/political/technical ideas or concepts and how the implementation of these are giving rise to a new range of ideas inspired by the result we're now experiencing :)

I've also been working for quite some time on my own live coding environment named Sardine. It started out as an experiment to reimplement some of the things I saw during my study; trying to understand them by doing! Then.. it started to mutate into its own thing! I'm still actively working on it and I use it for my own performances nowadays. I have a group of friends and contributors that have been helping me to make it, and they also added their own ideas to it. I love to craft things where you put so much energy and craft! Alex was right saying that patterns are a valuable area of study! I see patterns all the time, and sometimes cross the path with some ideas already explored by Tidal! Sardine is also quite inspired by Tidal, it can even piggy-back on SuperDirt!

My current plan is to end all of this! Being done with both developing Sardine -- at least most of what I would like it to be -- and writing my manuscript!

... If I have one thing to confess ...

My wildest dream would be to actually play bossa nova with grace using a live coding language. I don't think that I'll ever succeed but dreams are never big enough! I feel that live coding performances are missing some of that expressivity that "real" musicians have!

Other

Big shout out to my friends from the Cookie Collective and from the Digital Audio Community in Lyon! They are also part of why I find live coding so interesting nowadays. It's a treat to make music / chat / collaborate with them. The french scene is more alive than ever but I feel that not much is said about it. Hope to meet with other live coders from all accross the world in the coming years!

Thanks to the Tidal community and to the wider TOPLAP / live coding community as well!

Tidal CyclistJ Simon van der Walt
akatedthetrumpet
Time with Tidal3 yrs
Other LiveCoding envSuperCollider, Hydra, Strudel, Punctual
Music available onlineBandcamp, SoundCloud, YouTube
Other music/audio swAudacity, MuseScore, Logic
ttt birding

Livecoding

What do you like about livecoding in Tidal?

  • I have no background in computer science, but I find the syntax suprisingly intuitive. Also, by comparison with SuperCollider, you can get a lot of music going with very little typing.

How do you approach your livecoding sessions?

  • Two main approaches, I guess. Usually it's just quick improvisations on the spur of the moment, often ending up with nothing more than a one minute long sketch. I'm not particularly trying to create anything specific, and I just stop when I have something that sounds interesting.
  • The other approach is when I have an idea for a particular sound or gesture or structure that I want to create. This is usually less succesful: I've got a lot of abandoned projects where I tried and failed over a period of days or weeks to achieve some aim or other.

What functions and coding approaches do you like to use?

  • My favourite technique is one that some people frown on: making random but fixed patterns that repeat themselves. So, for instance, rather than explicitly creating a pattern in the mini notation, I usually start with something like d1 $ n (loopFirst $ shuffle 8 $ run 8) # s "peri". (Which is actually one place where SuperCollider wins in conciseness, it's basically Pshuf).

Music

Tell us about your livecoding music. What musical genre(s) or style(s) describe it best?

  • Three main approaches: er… gamelan, algorave, and abstract? I should say 'gamelan': in other words music that may use gamelan samples and ideas from Javanese or Balinese music without really being gamelan music. I have no proper skills, knowledge or understanding when it comes to dance music, but it's always fun to try to improvise an algorave banger live. 'Abstract' might be when I use something like slowstripe to defeat any sense of pulse and start pitching samples down a couple of octaves.

How has your music evolved since you have been livecoding?

  • I could say that livecoding saved my musical creativity after I finished my PhD! I got kind of burned out after spending seven years creating a conventional portfolio of 'compositions'. With code I was able to just make stuff for myself without having to score it or get other people to play it or justify it to anyone.

What samples or instruments do you like to work with?

  • My own samples. For me, creating and using my own sets of sounds is kind of fundamental to the creative process. For the purposes of a quick rave-up I'll happily turn to the standard Tidal set, but for me to really feel ownership of a piece I need to use samples and synths that I have a personal stake in.

What projects are you currently working on / planning? What's next?

  • I need to find a way to release my actual first album. I finished it several years ago, but the label who were going to release it stopped functioning, so… I don't feel like I want to release it myself but I haven't found anyone else who is interested. Yet.

Tidal Contributions

How do you contribute to Tidal Cycles? What have you worked on?

  • I'm a musician not a developer, so I'm not really able to 'contribute' in the sense of code! However, I have made some gamelan sample banks available, asked (hopefully useful) questions on forums, taught Tidal at my institution, and initiated the Floating Gold project that used MiniTidal in Estuary.

Other

youth photo with vintage synth

Tidal CyclistBernard Gray
akacleary
Time with Tidal3 yrs
Contributor since2017
Other LiveCoding envEstuary, Punctual, Hydra, ORCA
Music available onlineSoundCloud
Code onlineGitHub
Other music/audio swUbuntu Studio/Ardour/Carla/Vital/mi-ugens

Tidal Contributions

How do you contribute to Tidal Cycles? What have you worked on?

I think I've had a go at just about everything:

  • I developed and maintain a Linux installer in Ansible
  • I've added a few simple patches to/nutted out ideas for tidal itself, particularly around the chords module
  • I've written documentation
  • I often play in, and have helped organise some of the Solstice Marathon Livestreams
  • I am active and support others on the forums and the discord support channels
  • For the last 2 years I've been hosting a weekly collaborative (mostly tidal) livecoding session called WeekendJam for anyone to come along and have a jam with me
  • I've written and run tidal-based workshops, online and in person to try and network/raise the profile of the livecoding scene in Australia

What motivates you to be a Tidal contributor?

  • The community is lovely, they give/have given me a lot and I like to return that where I can. The project allows for such vast and varied possibilities in learning and creation, and that's what keeps me interested. The focus on inclusivity, sharing and generally "anti-gatekeeping" is a huge drawcard for me too.
  • I particularly enjoy the WeekendJams - I get to meet new people, share inspirations with all the different ideas all mashed together, learn, and just generally have a great time. I've made some great friends through jams.

Livecoding

(photo: Jason Richardson)

What do you like about livecoding in Tidal?

  • It's concise, it's (fairly) self-explanatory, and it's very easy to be both creatively specific and random as required.

How do you approach your livecoding sessions?

  • For solo performances, I prepare something - usually a "scaffolded" set of code which allows for creative path choosing during the set.
  • For the WeekendJam sessions, I never prepare anything beyond the occasional group idea for exploration (which is broached 5 mins before start time).

What functions and coding approaches do you like to use?

  • I tend to make a point to separate my rhythmic and harmonic elements for easy reuse (struct and n/note) - which is a hangover from the collaborative nature of the WeekendJam sessions. I keep the code for most sets I play on Github. An example of this is from one of my patternuary pieces (full code, video):
  $ struct "t(6,8,<0 1>)"
$ n "<a3!2 f4!2 e3!2>"
# s "braids"

Doing it in this way makes it very easy to take the rhythmic structure and apply it for percussion (for example), or take the notes and use them as a foundation for a chord arpeggio sequence in another orbit. If you are collaborating, it's very easy and obvious for others to borrow and build off too.

Do you use Tidal with other tools / environments?

  • I've done some external software synth control (Vital/Yoshimi), I also have a Midi Fighter Twister controller which sometimes gets a run. I tend to keep it pretty vanilla though, particularly since doing the workshop tours last year. Also, estuary of course.

Music

Tell us about your livecoding music. What musical genre(s) or style(s) describe it best?

How has your music evolved since you have been livecoding?

  • Yeah, a lot - I played "traditional" instruments before I started. The biggest evolution has involved trying to break out of all the subconscious composer lockin that comes with that (fixed tempos, chords limited by number of fingers/how far they can stretch, increasing the number of simultaneous voices). It's moved from what I could do on a guitar/bass/piano with 10 fingers and a looper to beyond orchestral possibilities (and exposed my lack of compositional knowledge in that area!).

What samples or instruments do you like to work with?

What projects are you currently working on / planning? What's next?

  • I'd like to develop the livecode.au domain into a tool for organisation/promotion of Australian livecoding events/personalities, that one is going to take more time than I currently have available, so it's on the backburner for now (unless anyone wants to give me hand!)
  • To try and claw back a little time, I'm looking at sharing the WeekendJam load a little, and hopefully moving it into a general stream/yt account so that multiple organisers can have control depending on availability.
  • I'd also like to finish and release some music, just to learn a bit more about the whole process chain - that's a hope item for this year :)

Other

Just a big thank you for all the people I've chatted to/jammed with/learned from over the years, you've all been a huge inspiration, and I'm very glad to have been able to share my livecoding journey with you.

(photo: Jason Richardson)