📣 Help Shape the Future of UKRI's Gateway to Research (GtR)

We're improving UKRI's Gateway to Research and are seeking your input! If you would be interested in being interviewed about the improvements we're making and to have your say about how we can make GtR more user-friendly, impactful, and effective for the Research and Innovation community, please email gateway@ukri.org.

Algorithmic Pattern

Lead Research Organisation: Then Try This
Department Name: Head office

Abstract

The purpose of this project is to learn from the "heritage algorithmic arts", in order to rethink the design principles of creative technology. Heritage algorithmic arts are those where through history, ways of making have been formalised and embedded in creative culture.

I take a human-centric approach, looking for where we humans make algorithms in order to make things. Clear examples lie in the textile crafts, particularly weaving, well known for its mathematical basis, where weavers explore interference patterns between warp and weft. Once you start looking, algorithmic patterns can be found almost everywhere, for example in dance (e.g. Pinnal Kolattam of Tamil Nadu), music (e.g. canons, inversions and arpeggios of western classical music, phase patterns of New York minimalism), and computer programming (e.g. low-level bit-level masking, shifting and combination).

Broadly, heritage algorithms consist of procedures and rules of pattern - shifting, combining, reflecting, rotating, interfering, glitching, and combinations thereof, at multiple scales. They work both in the movements of the maker, and in perception of the result by the beholder. Patterns are also seen in computation, from binary operations involved in low-level machine code, to high-level operations used by artist-programmers in creative coding. However, the word "pattern" is overloaded, often used to describe simple phenomena such as straightforward sequences in music. On the other hand, the word 'algorithm' is often used to describe unfathomable complexity. In combination, "Algorithmic Pattern" refers to human-made algorithms, where complex and surprising results can result from the combination of simple parts. This offers us rich ways of making; easy to learn but taking a lifetime to master.

Surprisingly, the historical and cultural basis of algorithmic thinking and making is not well exploited in human-computer interfaces. In music, despite the prevalence of patterns, they are often treated as fixed sequences, rather than as algorithmic behaviours. In dance, while pioneers have explored "algorithmic choreography", much understanding of patterns in dance remains tacit. Indeed, a key strength of all heritage algorithmic artforms - openness to possibility - stems from its basis in oral culture, where tacit knowledge changes and adapts through the process of sharing. A challenge for this project is in capturing heritage algorithms so that they can be understood and shared, while not undermining their qualities as living ideas, open to change.

From this perspective, I develop a new approach to emerging technologies, rethinking what we currently call "creative coding". The structures of programming languages - loops, conditions, procedures, recursion and transformation - fit very well to the procedures and rules familiar to pattern-making. Indeed, programming languages can be used as end-user interfaces for collaboration and creativity, an approach championed by Douglas Engelbart and seeing recent resurgence thanks to the work of the dynamicland laboratory. Still, there is much to be done in improving the experience of programming, bringing it closer to material through tangible interfaces, bridging the gap between pattern as algorithm, and pattern as perception, and working with diverse groups to create algorithmic patterning environments for everyone.
This project establishes Algorithmic Pattern as a new, interdisciplinary research space, as a meeting point of programming language experience design, textile design, computer-supported cooperative work (CSCW), live coding, computational creativity and new interfaces for musical expression (NIME). The programme takes on the challenge of upholding the standards of academic rigour across all these fields, while establishing a new field of enquiry.

Publications

10 25 50
publication icon
Blackwell A (2022) Live Coding - A User's Manual

publication icon
Dave Griffiths (2023) Patterns in Deep Time in Conference on Computation, Communication, Aesthetics & X

publication icon
Elizabeth Wilson (2023) MosAIck: Staging Contemporary AI Performance - Connecting Live Coding, E-Textiles and Movement in International Conference on Live Coding

publication icon
McLean A (2022) TidalVortex Zero

publication icon
McLean A (2022) TidalVortex Zero

 
Title Codes for a Dance 
Description A live performance exploring live coding patterns of movement, a collaboration between Kate Sicchio and Alex McLean. The audience was in Portugal, Kate was in Richmond US, and Alex was in Sheffield UK. Despite the distance, we live coded patterned movements together using a web-based interface, actuated using a small robot. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2022 
Impact Informing our ongoing collaboration with q+a feedback from the live audience. 
 
Title Codes for a Dance 
Description This piece explores movement through textual, visual and physical communication. It focuses on language, patterns and the performance of gestures as a way to bridge the digital and the physical. Through a series of live coded actions, connections will be made from humans to machines and back to humans again. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2023 
Impact Informing our ongoing collaboration with feedback from the live audience. 
URL https://iclc.toplap.org/2023/catalogue/performance/codes-for-a-dance.html
 
Title Live coding performance at PIFcamp, Slovenia 
Description Improvised performance at this annual residential creative hack camp. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2023 
Impact Connection and exchange with live coders from Slovenia and across Europe. 
URL https://pif.camp/
 
Title Live coding performance at the Museum of Science and Industry, Birmingham 
Description A live coded, algorithmic music performance by Alex McLean as a collaboration with artist Antonio Roberts (Hellocatfood). In celebration of the birthday 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2023 
Impact Introducing live coding practice to a new context. 
URL https://ra.co/events/1719349
 
Title MOS.AI.K @ Transmediale Studios, Berlin 
Description 4 hour durational performance piece, developed as an outcome of artistic research by Alex McLean, Lizzie Wilson, Deva Schubert, Juan Felipe Amaya Gonzalez and Mika Satomi, on AI, performance, live coding and e-textiles (Patterns in between intelligences). It was shown on March 29, 2023 at the transmediale studio /silent green in Berlin. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2023 
Impact Changed practices, engaged audiences. 
URL https://algorithmicpattern.org/2023/05/03/collaboration-patterns-in-between-intelligences/
 
Title Multi-channel live coding performance at Iklectik, London 
Description An improvised performance via the Amoenus soundsystem installed at Iklectik in London, exploring the possibilities of patterning spatial sound across 16 speakers. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2023 
Impact New techniques for multichannel live coded performance, new engaged audiences at this internationally renowned venue. 
URL https://amoenus.co.uk/livecoding
 
Title Patterns in Between Intelligences 
Description Collaboration with live coder Lizzie Wilson, e-Textile designer Mika Satomi, and performers Deva Schubert and Juan Felipe Amaya Gonzáles, exploring algorithmic patterns between performers and coders, mediated by e-textiles and machine learning. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2022 
Impact Reached a large audience as the opening concert of the annual No Bounds festival in Sheffield UK. 
URL https://noboundsfestival.co.uk/artists/patterns-in-between-intelligences-live-av
 
Title Performance at Feeling Machines festival, Bristol 
Description Improvised live coded performance by Alex McLean in collaboration with visual artist David Matunda, at this Arts Council funded festival curated by Carol Manton. 
Type Of Art Performance (Music, Dance, Drama, etc) 
Year Produced 2023 
Impact Engaged audiences, collaboration with emerging practitioner. 
URL https://www.control-shift.network/programme.html
 
Description Contribution to research report "Cultures of AI practice in the arts"
Geographic Reach National 
Policy Influence Type Contribution to a national consultation/review
URL https://lifeofdata.org/site/patterns-in-practice/publications/
 
Description Strudel live coding in creative performance
Geographic Reach Multiple continents/international 
Policy Influence Type Contribution to new or improved professional practice
Impact Live coding practice has developed over the past two decades into a vibrant, international community. Due to its accessibility and support for advanced algorithmic patterns, Strudel has quickly become a key free/open source platform in these community, enabling changed practices, leading to new audiences, and new works in the creative economy.
URL https://strudel.cc/
 
Description Strudel live coding in teaching and learning
Geographic Reach Multiple continents/international 
Policy Influence Type Contribution to new or improved professional practice
Impact The strudel (https://strudel.cc) software co-created during the project so far has seen extensive third party take-up in teaching and learning in both formal educational and informal situations. This includes use in teaching computer science and music in schools, and community workshops in festivals and informal meetups. These activities are not tracked, but some of the uses we have been made aware of include: Education: - Used as part of a crash course on creative computing by Dr Mike Cook at Kings College London - middle school music classes in Pierce Middle School, Detroit USA - ten week course introducing Strudel to 11-15 year old girls, run by Chalmers University, Gothenburg, Sweden https://www.chalmers.se/en/collaborate-with-us/activities-for-schools/creative-coding/ - Middle school in Bologna, Italy https://sites.google.com/view/strudel-cc/sperimentare?authuser=0 Community workshops: * Grófin City Library, Iceland (May 2023) - https://borgarbokasafn.is/event/learning/fully-booked-live-coding-beginners-strudel * Dadalab, Austin, USA (March 2024) - https://www.eventbrite.com/e/write-music-with-code-workshop-dadalab-tickets-840715622057 * NYC Resistor, Brooklyn USA - https://www.nycresistor.com/2023/09/25/making-music-with-code-9-30-2023/ * Studio103, Ljubljana, Slovenia (January 2024) - https://toplap.si/ * Central library, Helsinki. Finland (March 2024) - http://www.tulkinnanvaraista.fi/tapahtumia/2024/3/22/live-coding-typaja These projects have benefited from the unique accessibility and creative possibilities of the strudel platform.
URL https://strudel.cc/
 
Description The Networked Shift: A Creative Industries Foresight Study
Geographic Reach National 
Policy Influence Type Contribution to a national consultation/review
URL https://pec.ac.uk/research-reports/the-networked-shift-a-creative-industries-foresight-study
 
Description Algorithmic alphabets 
Organisation University of Iceland
Country Iceland 
Sector Academic/University 
PI Contribution Exploratory, collaborative work, exploring the possibilities of hand-drawn interfaces in algorithmic patterns, within Dynamicland's RealTalk system.
Collaborator Contribution See above.
Impact n/a
Start Year 2021
 
Description Algorithmic choreography 
Organisation Virginia Commonwealth University
Country United States 
Sector Academic/University 
PI Contribution Collaboration with Dr Kate Sicchio, exploring algorithmic patterns in choreographic notations of humans and robots.
Collaborator Contribution See above.
Impact Performances and technologies.
Start Year 2021
 
Description Algorithmic patterns in mathematics education 
Organisation Manchester Metropolitan University
Country United Kingdom 
Sector Academic/University 
PI Contribution Working with Prof Ricardo Nemirovsky and Charlotte Mégrourèche exploring applications for algorithmic pattern outcomes in informal mathematics education.
Collaborator Contribution Hosting pilot workshops in live coding and textile craft, with researchers and students in mathematics education at Manchester Metropolitan University.
Impact Delivered pilot workshops, towards project proposals. Interdisciplinary, crossing e.g. fiber arts, computing education, mathematics education, creative coding, tangible interfaces.
Start Year 2024
 
Description Telematic textiles 
Organisation Eindhoven University of Technology
Country Netherlands 
Sector Academic/University 
PI Contribution Collaborating on new open source/open hardware technology for creativity.
Collaborator Contribution See above.
Impact Working with Kristina Andersen and Pei-Ying Lin of the Wearable Senses lab, exploring patterns across weaving and knitting structure, and means of synchronising textile design and construction over distance.
Start Year 2023
 
Title tidalcycles/Tidal: Sanquhar 
Description What's Changed move tidal-listener code by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/885 Fix a typo incurred (I assume) by a filename change. by @JeffreyBenjaminBrown in https://github.com/tidalcycles/Tidal/pull/886 Hide contexts from Events per default by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/887 Allow sending/receiving of broadcasted OSC control messages by @yaxu in https://github.com/tidalcycles/Tidal/pull/894 tidal-listener: Add minimal install notes by @gamar3is in https://github.com/tidalcycles/Tidal/pull/895 Add rolled function with variants by @thgrund in https://github.com/tidalcycles/Tidal/pull/820 Valuable instance for Note by @yaxu in https://github.com/tidalcycles/Tidal/pull/899 Add parsers for ints and floats that don't consume trailing whitespace by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/900 Introduce echo and echoWith, deprecate stut and stutWith by @ndr-brt in https://github.com/tidalcycles/Tidal/pull/904 tidal-listener: Optional WITH_GHC environment variable by @mindofmatthew in https://github.com/tidalcycles/Tidal/pull/903 New Contributors @gamar3is made their first contribution in https://github.com/tidalcycles/Tidal/pull/895 Full Changelog: https://github.com/tidalcycles/Tidal/compare/1.7.10...v1.8.0 
Type Of Technology Software 
Year Produced 2022 
Open Source License? Yes  
Impact Open source software with large international userbase. 
URL https://zenodo.org/record/6495075
 
Title tidalcycles/strudel: Maelstrom 
Description What's Changed Add chunk, chunkBack and iterBack by @yaxu in https://github.com/tidalcycles/strudel/pull/25 Update tutorial.mdx by @bwagner in https://github.com/tidalcycles/strudel/pull/37 Update tutorial.mdx by @bwagner in https://github.com/tidalcycles/strudel/pull/38 Compose by @felixroos in https://github.com/tidalcycles/strudel/pull/40 Fix polymeter by @yaxu in https://github.com/tidalcycles/strudel/pull/44 First run at squeezeBind, ref #32 by @yaxu in https://github.com/tidalcycles/strudel/pull/48 Implement chop() by @yaxu in https://github.com/tidalcycles/strudel/pull/50 OSC and SuperDirt support by @yaxu in https://github.com/tidalcycles/strudel/pull/27 More functions by @yaxu in https://github.com/tidalcycles/strudel/pull/56 More functions by @yaxu in https://github.com/tidalcycles/strudel/pull/61 Separate out strudel.mjs, make index.mjs aggregate module by @yaxu in https://github.com/tidalcycles/strudel/pull/62 Speech output by @felixroos in https://github.com/tidalcycles/strudel/pull/67 use new fixed version of osc-js package by @felixroos in https://github.com/tidalcycles/strudel/pull/68 First effort at rand() by @yaxu in https://github.com/tidalcycles/strudel/pull/69 More randomness, fix rand, and add brand, irand and choose by @yaxu in https://github.com/tidalcycles/strudel/pull/70 webaudio package by @felixroos in https://github.com/tidalcycles/strudel/pull/26 Port perlin noise, rangex, and palindrome by @yaxu in https://github.com/tidalcycles/strudel/pull/73 More random functions by @yaxu in https://github.com/tidalcycles/strudel/pull/74 Try to fix appLeft / appRight by @yaxu in https://github.com/tidalcycles/strudel/pull/75 Basic webserial support by @yaxu in https://github.com/tidalcycles/strudel/pull/80 Webaudio in REPL by @felixroos in https://github.com/tidalcycles/strudel/pull/77 add striate() by @yaxu in https://github.com/tidalcycles/strudel/pull/76 Tidy up a couple of old files by @mindofmatthew in https://github.com/tidalcycles/strudel/pull/84 Add pattern composers, implements #82 by @yaxu in https://github.com/tidalcycles/strudel/pull/83 Fiddles with cat/stack by @yaxu in https://github.com/tidalcycles/strudel/pull/90 Paper by @felixroos in https://github.com/tidalcycles/strudel/pull/98 Change to Affero GPL by @yaxu in https://github.com/tidalcycles/strudel/pull/101 Work on Codemirror 6 highlighting by @mindofmatthew in https://github.com/tidalcycles/strudel/pull/102 Codemirror 6 by @felixroos in https://github.com/tidalcycles/strudel/pull/97 Tune tests by @felixroos in https://github.com/tidalcycles/strudel/pull/104 /embed package: web component for repl by @felixroos in https://github.com/tidalcycles/strudel/pull/106 Reset, Restart and other composers by @felixroos in https://github.com/tidalcycles/strudel/pull/88 Embed style by @felixroos in https://github.com/tidalcycles/strudel/pull/109 In source doc by @yaxu in https://github.com/tidalcycles/strudel/pull/105 .brak(), .inside() and .outside() by @yaxu in https://github.com/tidalcycles/strudel/pull/112 loopAt by @yaxu in https://github.com/tidalcycles/strudel/pull/114 Osc timing improvements by @yaxu in https://github.com/tidalcycles/strudel/pull/113 react package + vite build by @felixroos in https://github.com/tidalcycles/strudel/pull/116 In source doc by @felixroos in https://github.com/tidalcycles/strudel/pull/117 fix: #108 by @felixroos in https://github.com/tidalcycles/strudel/pull/123 fix: #122 ctrl enter would add newline by @felixroos in https://github.com/tidalcycles/strudel/pull/124 Webdirt by @felixroos in https://github.com/tidalcycles/strudel/pull/121 Fix link to contributing to tutorial docs by @stephendwolff in https://github.com/tidalcycles/strudel/pull/129 Pianoroll enhancements by @felixroos in https://github.com/tidalcycles/strudel/pull/131 add createParam + createParams by @felixroos in https://github.com/tidalcycles/strudel/pull/110 remove cycle + delta from onTrigger by @felixroos in https://github.com/tidalcycles/strudel/pull/135 Scheduler improvements by @felixroos in https://github.com/tidalcycles/strudel/pull/134 add onTrigger helper by @felixroos in https://github.com/tidalcycles/strudel/pull/136 New Contributors @bwagner made their first contribution in https://github.com/tidalcycles/strudel/pull/37 @mindofmatthew made their first contribution in https://github.com/tidalcycles/strudel/pull/84 @stephendwolff made their first contribution in https://github.com/tidalcycles/strudel/pull/129 Full Changelog: https://github.com/tidalcycles/strudel/compare/v0.0.2...v0.0.3 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/doi/10.5281/zenodo.6659279
 
Title tidalcycles/strudel: Wirbel 
Description What's Changed Binaries by @felixroos in https://github.com/tidalcycles/strudel/pull/254 fix tutorial bugs by @felixroos in https://github.com/tidalcycles/strudel/pull/263 fix performance bottleneck by @felixroos in https://github.com/tidalcycles/strudel/pull/266 Tidying up core by @yaxu in https://github.com/tidalcycles/strudel/pull/256 tonal update with fixed memory leak by @felixroos in https://github.com/tidalcycles/strudel/pull/272 add eslint by @felixroos in https://github.com/tidalcycles/strudel/pull/271 release version bumps by @felixroos in https://github.com/tidalcycles/strudel/pull/273 Support sending CRC16 bytes with serial messages by @yaxu in https://github.com/tidalcycles/strudel/pull/276 add licenses / credits to all tunes + remove some by @felixroos in https://github.com/tidalcycles/strudel/pull/277 add basic csound output by @felixroos in https://github.com/tidalcycles/strudel/pull/275 do not recompile orc by @felixroos in https://github.com/tidalcycles/strudel/pull/278 implement collect + arp function by @felixroos in https://github.com/tidalcycles/strudel/pull/281 Switch 'operators' from .whatHow to .what.how by @yaxu in https://github.com/tidalcycles/strudel/pull/285 Fancy hap show, include part in snapshots by @yaxu in https://github.com/tidalcycles/strudel/pull/291 Reorganise pattern.mjs with a 'toplevel first' regime by @yaxu in https://github.com/tidalcycles/strudel/pull/286 add prettier task by @felixroos in https://github.com/tidalcycles/strudel/pull/296 Move stuff to new register function by @felixroos in https://github.com/tidalcycles/strudel/pull/295 can now add bare numbers to numeral object props by @felixroos in https://github.com/tidalcycles/strudel/pull/287 update vitest by @felixroos in https://github.com/tidalcycles/strudel/pull/297 remove whitespace from highlighted region by @felixroos in https://github.com/tidalcycles/strudel/pull/298 .defragmentHaps() for merging touching haps that share a whole and value by @yaxu in https://github.com/tidalcycles/strudel/pull/299 fix whitespace trimming by @felixroos in https://github.com/tidalcycles/strudel/pull/300 add freq support to sampler by @felixroos in https://github.com/tidalcycles/strudel/pull/301 add lint + prettier check before test by @felixroos in https://github.com/tidalcycles/strudel/pull/305 Updated csoundm to use the register facility . by @gogins in https://github.com/tidalcycles/strudel/pull/303 New Contributors @gogins made their first contribution in https://github.com/tidalcycles/strudel/pull/303 Full Changelog: https://github.com/tidalcycles/strudel/compare/v0.4.0...v0.5.0 
Type Of Technology Software 
Year Produced 2022 
Open Source License? Yes  
Impact Community of practice is developing around it. 
URL https://zenodo.org/record/7434878
 
Title tidalcycles/strudel: v1.1.0 Bananensplit 
Description highlights tbd: add some words / pictures / videos highlighting some of these things: [x] supersaw [x] ladder filter [x] dist [x] repl sync [x] inline viz [x] pitchwheel [x] Labeled statements [ ] beat oriented functions (experimental?) [x] tidal parser (experimental) DSP Features Stereo Supersaw with spread, unison, and detune parameters note("d f a a# a d3").fast(2) .s("supersaw").spread(".8").detune(.3).unison("2 7") Analog "ladder" filter type works great for acid basslines and vibey tones note("{d d d a a# d3 f4}%16".sub(12)).gain(1).s("sawtooth") .lpf(200).lpenv(slider(1.36,0,8)).lpq(7).distort("1.5:.7")` .ftype('ladder') stereo distortion effect note("{g g a# g g4}%8".add("{0 7 12 0}%8")).lpf(500) .s("supersaw").dist("4:.2") Editor Features inline viz The editor now supports multiple visuals within the code, using the _ prefix for viz functions: ._pianoroll(): inline pianoroll ._punchcard(): inline punchcard ._scope(): inline scope ._pitchwheel(): inline pitchwheel label notation This new notation simplifies writing patterns at the top level: d1: s("bd*4") d2: s("[- hh]*4") This is equivalent to: stack( s("bd*4"), s("[- hh]*4") ) The labels you choose are arbitrary, the above d1 and d2 are a typical thing you'd write in tidal, for example d1 $ s "bd*4". If the same label is used multiple times, the last one wins: d1: s("bd*4") d1: s("[- hh]*4") // <-- only this plays There is a special label anonymous label $, which can appear multiple times without overriding itself: // both of these will play: $: s("bd*4") $: s("[- hh]*4") You can mute a pattern by prefixing _: _$: s("bd*4") // <-- this one is muted $: s("[- hh]*4") To run a transformation on all patterns, you can use all: $: s("bd*4") $: s("[- hh]*4") all(x=>x.room(.5)) PR: https://github.com/tidalcycles/strudel/pull/991 Clock sync between multiple instances timing has received a major overhaul, and is now much more accurate on all browsers. Additionally, you can now sync timing across multiple windows. Better sample upload support you can now upload large amounts of samples much faster across all browsers including on IOS devices. supported filetypes now include: ogg flac mp3 wav aac m4a experimental tidal syntax The new tidal function allows you to write strudel patterns in tidal syntax: await initTidal() tidal` d1 $ s "bd*4" d2 $ s "[- hh]*4" ` As we're looking to improve compatibility with tidal, we're happy to hear feedback. breaking changes remove legacy legato + duration implementations by @felixroos in https://github.com/tidalcycles/strudel/pull/965 Velocity in value by @felixroos in https://github.com/tidalcycles/strudel/pull/974 use ireal as default voicing dict by @felixroos in https://github.com/tidalcycles/strudel/pull/967 Color in hap value by @felixroos in https://github.com/tidalcycles/strudel/pull/1007 rename trig -> reset, trigzero -> restart by @felixroos in https://github.com/tidalcycles/strudel/pull/1010 remove dangerous arithmetic feature by @felixroos in https://github.com/tidalcycles/strudel/pull/1030 change fanchor to 0 by @daslyfe in https://github.com/tidalcycles/strudel/pull/1107 superdough features replace shape with distort in learn doc by @daslyfe in https://github.com/tidalcycles/strudel/pull/982 Worklet Improvents / fixes by @daslyfe in https://github.com/tidalcycles/strudel/pull/963 supersaw oscillator by @daslyfe in https://github.com/tidalcycles/strudel/pull/978 Add analog-style ladder filter by @daslyfe in https://github.com/tidalcycles/strudel/pull/1103 Calculate phaser modulation phase based on time by @daslyfe in https://github.com/tidalcycles/strudel/pull/1110 rollback phaser by @daslyfe in https://github.com/tidalcycles/strudel/pull/1113 editor / ui features 'Enable Bracket Matching' option in Codemirror by @eefano in https://github.com/tidalcycles/strudel/pull/956 move canvas related helpers from core to new draw package by @felixroos in https://github.com/tidalcycles/strudel/pull/971 REPL sync between windows by @daslyfe in https://github.com/tidalcycles/strudel/pull/900 inline viz / widgets package by @felixroos in https://github.com/tidalcycles/strudel/pull/989 Inline punchcard + spiral by @felixroos in https://github.com/tidalcycles/strudel/pull/1008 More fonts by @felixroos in https://github.com/tidalcycles/strudel/pull/1023 better theme integration for visuals + various fixes by @felixroos in https://github.com/tidalcycles/strudel/pull/1024 add setting for sync flag by @felixroos in https://github.com/tidalcycles/strudel/pull/1025 add closeBrackets setting by @felixroos in https://github.com/tidalcycles/strudel/pull/1031 add font file types to offline cache by @felixroos in https://github.com/tidalcycles/strudel/pull/1032 pitchwheel visual by @felixroos in https://github.com/tidalcycles/strudel/pull/1041 repl: set document.title from @title by @kasparsj in https://github.com/tidalcycles/strudel/pull/1090 Samples tab improvements by @daslyfe in https://github.com/tidalcycles/strudel/pull/1102 language features pickOut(), pickRestart(), pickReset() by @eefano in https://github.com/tidalcycles/strudel/pull/950 Auto await samples by @felixroos in https://github.com/tidalcycles/strudel/pull/955 feat: can now invert euclid pulses with negative numbers by @felixroos in https://github.com/tidalcycles/strudel/pull/959 Nested controls by @felixroos in https://github.com/tidalcycles/strudel/pull/973 alias - for ~ by @yaxu in https://github.com/tidalcycles/strudel/pull/981 Beat-oriented functionality by @yaxu in https://github.com/tidalcycles/strudel/pull/976 Labeled statements by @felixroos in https://github.com/tidalcycles/strudel/pull/991 accidentals in scale degrees by @eefano in https://github.com/tidalcycles/strudel/pull/1000 Feature: tactus marking by @yaxu in https://github.com/tidalcycles/strudel/pull/1021 Tactus tidy by @yaxu in https://github.com/tidalcycles/strudel/pull/1027 Wax, wane, taper and taperlist by @yaxu in https://github.com/tidalcycles/strudel/pull/1042 transpose: support all combinations of numbers and strings for notes and intervals by @felixroos in https://github.com/tidalcycles/strudel/pull/1048 anonymous patterns + muting by @felixroos in https://github.com/tidalcycles/strudel/pull/1059 add swing + swingBy by @felixroos in https://github.com/tidalcycles/strudel/pull/1038 Stepwise functions from Tidal by @yaxu in https://github.com/tidalcycles/strudel/pull/1060 Tactus tweaks - fixes for maintaining tactus and highlight locations by @yaxu in https://github.com/tidalcycles/strudel/pull/1065 Fix stepjoin by @yaxu in https://github.com/tidalcycles/strudel/pull/1067 More tactus tidying by @yaxu in https://github.com/tidalcycles/strudel/pull/1071 Tactus calculation toggle and breaking change to tactus calculation in fast/slow/hurry by @yaxu in https://github.com/tidalcycles/strudel/pull/1081 hs2js package / tidal parser by @felixroos in https://github.com/tidalcycles/strudel/pull/870 Add the mousex and mousey signal by @Enelg52 in https://github.com/tidalcycles/strudel/pull/1112 can now access strudelMirror from repl by @felixroos in https://github.com/tidalcycles/strudel/pull/1117 sampler local sample server cli by @felixroos in https://github.com/tidalcycles/strudel/pull/1033 Fix sampler paths by @felixroos in https://github.com/tidalcycles/strudel/pull/1034 Fix sampler windows by @felixroos in https://github.com/tidalcycles/strudel/pull/1108 fix sampler on windows by @geikha in https://github.com/tidalcycles/strudel/pull/1109 docs V1 release notes by @felixroos in https://github.com/tidalcycles/strudel/pull/935 Minor documentation error: Update first-sounds.mdx by @mhetrick in https://github.com/tidalcycles/strudel/pull/941 Update synths.mdx by @andresgottlieb in https://github.com/tidalcycles/strudel/pull/984 using strudel in your project guide + cleanup examples by @felixroos in https://github.com/tidalcycles/strudel/pull/1006 Document signals by @ilesinge in https://github.com/tidalcycles/strudel/pull/1015 improve tutorial + custom samples doc by @felixroos in https://github.com/tidalcycles/strudel/pull/1053 fix cr typo on first-sounds.mdx by @cleary in https://github.com/tidalcycles/strudel/pull/1068 fix first sounds typo by @cleary in https://github.com/tidalcycles/strudel/pull/1069 add <...> to first-sounds.mdx recap by @cleary in https://github.com/tidalcycles/strudel/pull/1070 add nesting to off example variation in pattern-effects.mdx by @cleary in https://github.com/tidalcycles/strudel/pull/1075 fix translation issue in first-effects.mdx by @cleary in https://github.com/tidalcycles/strudel/pull/1072 add signals to recap in first-effects.mdx by @cleary in https://github.com/tidalcycles/strudel/pull/1073 fix docs on alignment.mdx by @diegodorado in https://github.com/tidalcycles/strudel/pull/1076 fix little dub tune example by @lukad in https://github.com/tidalcycles/strudel/pull/1104 clarify off in pattern-effects.mdx by @cleary in https://github.com/tidalcycles/strudel/pull/1074 Fixes drawPianoroll import in codemirror example by @giohappy in https://github.com/tidalcycles/strudel/pull/1116 Migrate tutorial fanchor by @felixroos in https://github.com/tidalcycles/strudel/pull/1122 internals remove cjs builds by @felixroos in https://github.com/tidalcycles/strudel/pull/945 controls refactoring: simplify exports by @felixroos in https://github.com/tidalcycles/strudel/pull/962 remove canvas, externalize samples, delete junk by @felixroos in https://github.com/tidalcycles/strudel/pull/1003 Improve performance of ! (replicate) by @yaxu in https://github.com/tidalcycles/strudel/pull/1084 Benchmarks by @yaxu in https://github.com/tidalcycles/strudel/pull/1079 fixes fix midi issue on firefox and added quote error by @Enelg52 in https://github.com/tidalcycles/strudel/pull/936 fix: pianoroll sorting by @felixroos in https://github.com/tidalcycles/strudel/pull/938 account for cps in midi time duration by @daslyfe in https://github.com/tidalcycles/strudel/pull/954 fix script importable packages (web + repl) by @felixroos in https://github.com/tidalcycles/strudel/pull/957 fix: reset global fx on pattern change by @felixroos in https://github.com/tidalcycles/strudel/pull/960 add debounce to logger by @felixroos in https://github.com/tidalcycles/strudel/pull/968 fix for transpose(): preserve hap value object structure by @eefano in https://github.com/tidalcycles/strudel/pull/966 fix: clear hydra on reset by @felixroos in https://github.com/tidalcycles/strudel/pull/983 little fix for withVal by @eefano in https://github.com/tidalcycles/strudel/pull/980 fix: share now shares what's visible instead of active by @felixroos in https://github.com/tidalcycles/strudel/pull/985 Fix pure mini highlight by @yaxu in https://github.com/tidalcycles/strudel/pull/994 fix: await injectPatternMethods by @felixroos in https://github.com/tidalcycles/strudel/pull/1012 update undocumented script by @felixroos in https://github.com/tidalcycles/strudel/pull/1013 eliminate chromium clock jitter by @felixroos in https://github.com/tidalcycles/strudel/pull/1004 Repl sync fixes by @daslyfe in https://github.com/tidalcycles/strudel/pull/1014 hotfix for 1017 by @daslyfe in https://github.com/tidalcycles/strudel/pull/1020 fix cyclist fizzling out by @felixroos in https://github.com/tidalcycles/strudel/pull/1046 Midi Time hotfix for scheduler updates by @daslyfe in https://github.com/tidalcycles/strudel/pull/1047 fix: do not reset cc input values on each eval by @felixroos in https://github.com/tidalcycles/strudel/pull/1054 Fix wchooseCycles not picking the whole pattern by @ilesinge in https://github.com/tidalcycles/strudel/pull/1061 fix OSC timing for recent scheduler updates by @daslyfe in https://github.com/tidalcycles/strudel/pull/1062 clarify license by @yaxu in https://github.com/tidalcycles/strudel/pull/1064 fix failing format test by @daslyfe in https://github.com/tidalcycles/strudel/pull/1077 fix: url parsing with extra params by @felixroos in https://github.com/tidalcycles/strudel/pull/1083 fix: csound + dough timing by @felixroos in https://github.com/tidalcycles/strudel/pull/1086 fix: missing events due to premature worklet cleanup by @felixroos in https://github.com/tidalcycles/strudel/pull/1089 Use sessionStorage for viewingPatternData and activePattern by @kasparsj in https://github.com/tidalcycles/strudel/pull/1091 osc: couple of fixes by @kasparsj in https://github.com/tidalcycles/strudel/pull/1093 web package fixes by @felixroos in https://github.com/tidalcycles/strudel/pull/1044 Fix audio worklets by @daslyfe in https://github.com/tidalcycles/strudel/pull/1114 fix: use full repl in web package by @felixroos in https://github.com/tidalcycles/strudel/pull/1119 [BUG FIX] Audio worklets sometimes dont load by @daslyfe in https://github.com/tidalcycles/strudel/pull/1121 New Contributors @mhetrick made their first contribution in https://github.com/tidalcycles/strudel/pull/941 @eefano made their first contribution in https://github.com/tidalcycles/strudel/pull/956 @Enelg52 made their first contribution in https://github.com/tidalcycles/strudel/pull/936 @andresgottlieb made their first contribution in https://github.com/tidalcycles/strudel/pull/984 @cleary made their first contribution in https://github.com/tidalcycles/strudel/pull/1068 @diegodorado made their first contribution in https://github.com/tidalcycles/strudel/pull/1076 @lukad made their first contribution in https://github.com/tidalcycles/strudel/pull/1104 @giohappy made their first contribution in https://github.com/tidalcycles/strudel/pull/1116 Packages @strudel/codemirror@1.1.0 @strudel/core@1.1.0 @strudel/csound@1.1.0 @strudel/draw@1.1.0 @strudel/embed@1.1.0 hs2js@0.1.0 @strudel/hydra@1.1.0 @strudel/midi@1.1.0 @strudel/mini@1.1.0 @strudel/osc@1.1.0 @strudel/repl@1.1.0 @strudel/sampler@0.1.0 @strudel/serial@1.1.0 @strudel/soundfonts@1.1.0 superdough@1.1.0 @strudel/tidal@0.1.0 @strudel/tonal@1.1.0 @strudel/transpiler@1.1.0 @strudel/web@1.1.0 @strudel/webaudio@1.1.0 @strudel/xen@1.1.0 Full Changelog: https://github.com/tidalcycles/strudel/compare/v1.0.0...v1.1.0 
Type Of Technology Software 
Year Produced 2024 
Open Source License? Yes  
Impact National and international use including in live creative performance and formal and informal educational contexts. 
URL https://zenodo.org/doi/10.5281/zenodo.11436758
 
Description "Live coding without anything" experimental performance 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact An experimental performance as part of the online "hybrid live coding interfaces" workshop, in attempting to 'live code' algorithmic, vocal rhythms, without the use of a computer.
Year(s) Of Engagement Activity 2022
URL https://hybrid-livecode.pubpub.org/workshop2022
 
Description "Why we bleep" podcast interview 
Form Of Engagement Activity A press release, press conference or response to a media enquiry/interview
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact An invited interview on the "why we bleep" podcast, a principle platform in the music technology innovation field. I was able to introduce my fellowship work, including the music technology I've made and the cultural context I have developed for it.
Year(s) Of Engagement Activity 2024
URL https://www.whywebleep.com/whywebleep/2024/algorave
 
Description Algorithmic Pattern Salon 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact An online 'salon', showcasing peer-reviewed work in the emerging field of Algorithmic Pattern. Organised in collaboration with an international, interdisciplinary team, namely Alex McLean, Laura Devendorf, Vernelle A. A. Noel, Iván Paz, Anuradha Reddy and Elizabeth Wilson, as well as an extensive peer review committee.
The event took place over five days, spread over two weeks, with over 300 attendees. The first two days included an in-person gathering in Barcelona, hosted by the independent creative studio Axolot, who organised additional performance events around the salon. The in-person gathering was hosted and sponsored by Universitat Oberta de Catalunya and Universitat Pompeu Fabra.
The work presented gave a very broad set of viewpoints on algorithmic pattern, helping define the theme in preparation for the first conference on Algorithmic Pattern which will take place in 2025. The papers and presentations are archived online, available open access.
Year(s) Of Engagement Activity 2023
URL https://salon.algorithmicpattern.org/
 
Description Article "Coding is the new clubbing: on the rise and rise of algorave" in the Sheffield Tribune by Holly Williams 
Form Of Engagement Activity A magazine, newsletter or online publication
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Public/other audiences
Results and Impact Interview.
Year(s) Of Engagement Activity 2023
URL https://www.sheffieldtribune.co.uk/p/coding-is-the-new-clubbing-on-the
 
Description Hosting residents in collaboration with Digital Gardens festival, Huddersfield 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach National
Primary Audience Public/other audiences
Results and Impact A collaboration with the Arts Council England funded Digital Gardens festival, organised by ame (art media experiment) in Huddersfield. Worked with the curators to select algorithmic pattern residents I Nahkla and V Buckenham, working on vocal patterns and live coding, and typographical patterns respectively. The residencies culminated in the festival, where the works were performed and exhibited.
Year(s) Of Engagement Activity 2023
URL https://amespace.uk/projects/programme-introducing-digital-gardens/
 
Description INTERFACE: Art/Technology/Collaboration 
Form Of Engagement Activity A formal working group, expert panel or dialogue
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Professional Practitioners
Results and Impact A panel session at Site Gallery, Sheffield, discussing the collaborative work at the boundaries of art, science and technology.

"Collaboration between artists and technologists or scientists can lead to a greater appreciation and understanding of the world, as well as new and innovative ways of thinking about and representing it.
This event will showcase a range of projects with potential for future cross-disciplinary collaboration, and will provide an opportunity to hear from participants about their experiences and expectations of working with others, where even the technologies themselves may become partners."
Year(s) Of Engagement Activity 2022
URL https://www.sitegallery.org/event/interface-art-technology-collaboration/
 
Description Interview in Electronic Sound magazine 
Form Of Engagement Activity A magazine, newsletter or online publication
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Public/other audiences
Results and Impact Alex McLean interviewed in Electronic Sound magazine, as part of a panel of experts discussing the future of electronic music.
Year(s) Of Engagement Activity 2023
URL https://www.electronicsound.co.uk/long-reads/fast-forward/
 
Description Interview in Sheffield Tribune 
Form Of Engagement Activity A magazine, newsletter or online publication
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Media (as a channel to the public)
Results and Impact Interview with local e-newspaper Sheffield Tribune on live coding and algorithmic patterns.
Year(s) Of Engagement Activity 2023
URL https://www.sheffieldtribune.co.uk/p/coding-is-the-new-clubbing-on-the
 
Description Invited lecture University of Sheffield 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Undergraduate students
Results and Impact Guest lecture introducing algorithmic pattern to Digital Media students (undergraduate and masters) at the University of Sheffield.
Year(s) Of Engagement Activity 2024
 
Description Invited talk - "Live coding and the 'what-if' paradigm" 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other audiences
Results and Impact An invited talk at this academic interest group, introducing live coding as a 'what-if' paradigm, as an alternative to the usual imperative/declarative dichotomy.
Year(s) Of Engagement Activity 2022
URL https://www.ppig.org/workshops/2022-annual-workshop/programme/
 
Description Invited talk - CRASSH, University of Cambridge 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Other audiences
Results and Impact Invited talk as part of seminar series "textile - digital: blurred boundaries between materiality and computation".
Year(s) Of Engagement Activity 2024
URL https://www.crassh.cam.ac.uk/events/43870/
 
Description Invited talk at Minimal Input festival in Taipai 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Public/other audiences
Results and Impact Invited talk streamed to "Minimal Input: Algorithmic Art Gathering" festival at C-Lab Taipai, Taiwan.
Year(s) Of Engagement Activity 2022
URL https://clab.org.tw/
 
Description Invited talk to seminar on ethnomathematics, EHESS Paris 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Other audiences
Results and Impact Delivered invited seminar talk "Live coding algorithmic patterns in music and textiles"
Year(s) Of Engagement Activity 2024
URL https://enseignements.ehess.fr/2023-2024/ue/534
 
Description Keynote talk at Zurihac, Switzerland 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact Invited keynote talk to this annual conference/hackathon on the Haskell pure function programming language.
Year(s) Of Engagement Activity 2024
URL https://zfoh.ch/zurihac2024/
 
Description Live coding workshop as part of arts programme in Sheffield 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Professional Practitioners
Results and Impact Hands-on workshop exploring live coding musical patterns with Strudel, invited by DINA as part of their programme of events supported by Arts Council Englands.
Year(s) Of Engagement Activity 2023
URL https://www.dinavenue.com/event-details/dina-versity-live-coding-musical-patterns-with-strudel-w-ale...
 
Description Mentored student Saachi Kaup as part of Haskell Summer of Code 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Undergraduate students
Results and Impact Mentoring computer science student Saachi Kaup in making her first open source project contributions, funded by the Haskell foundation as part of the "Haskell Summer of Code", which is related to the Google Summer of Code initiative. Saachi developed a system integrated with our TidalCycles project, for patterning Mandala structures based on generative L-System structures.
Year(s) Of Engagement Activity 2023
URL http://tidalcycles.org/blog/blog_topic_mandalas
 
Description Modulating Time at PIFCamp 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact A week residency working with Mika Satomi and Lizzie Wilson on a mini project 'Modulating Time' at the annual, week-long PIFcamp gathering in Slovenia's Julian Alps. We worked on handheld stick-based and woven devices for tactile control of musical pattern and tempo, so that audience members could manipulate our live coding performance.
Year(s) Of Engagement Activity 2024
URL https://algorithmicpattern.org/2024/08/06/modulating-time/
 
Description Online talk series on Algorithmic Pattern 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Public/other audiences
Results and Impact Around June 2022, we hosted six excellent speakers exploring algorithmic patterns from their own perspectives, in particular:
Laura Devendorf on weaving algorithmic patterns with AdaCAD
Bekah Smith on the mathematics of juggling 'siteswap' patterns
Ron Eglash on heritage algorithms and generative justice
Vernelle Noel on algorithms of wire-bending
Sarah Hennigh Groff-Palermo on live coding patterns
B C Manjunath on Konnakol patterns in Carnatic music
Year(s) Of Engagement Activity 2022
URL https://algorithmicpattern.org/post/talk-series/
 
Description Pattern Club Live performance event 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Public/other audiences
Results and Impact Showcase of pattern-based music performance, curated by fellow Alex McLean and organised by Sheffield-based arts organisation DINA, as part of the arts-council supported programme.
Year(s) Of Engagement Activity 2023
URL https://www.dinavenue.com/event-details/i-now-pattern-club-live
 
Description Pattern club radio show 
Form Of Engagement Activity A broadcast e.g. TV/radio/film/podcast (other than news/press)
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Public/other audiences
Results and Impact Collaborating with Ray Morrison and Lucy Cheesman on a monthly radio show exploring patterns in music, arts and crafts. Now broadcast to FM, DAB and on-line via the London-based art radio station Resonance, which has broadcast continuously for the past 30 years, and has been awarded network of the year for the past three years running. Initially broadcast on Sheffield-based internet station Mondo Radio. Also distributed in podcast form.
Year(s) Of Engagement Activity 2024,2025
URL https://patternclub.org/podcasts/pattern-club/
 
Description Presentation and panel discussion at Site Gallery, Sheffield 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Professional Practitioners
Results and Impact Invited talk on Algorithmic Patterns as part of a panel session with artists and researchers introducing their work and exploring the theme of collaboration, convened by artists Seiko Kinoshita and Jan Hopkins.
Year(s) Of Engagement Activity 2023
 
Description Research residency, hosting basket maker and mathematician Geraldine Jones 
Form Of Engagement Activity A formal working group, expert panel or dialogue
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Professional Practitioners
Results and Impact Hosting basket maker Geraldine Jones and education/mathematics researcher Charlotte Mégrourèche for a research residency, investigating strategies of the cycloid weaving of shells based on the Fibonacci sequence. Led to two seminars with the Forces in Translation research network.
Year(s) Of Engagement Activity 2024
 
Description Research residency, hosting design researcher Anu Reddy 
Form Of Engagement Activity A formal working group, expert panel or dialogue
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact Hosting Anu Reddy for a two-week research residency exploring the structures of the ancient Indian practice of Kambi Kolam.
Year(s) Of Engagement Activity 2024
 
Description Sheffield Pattern Club workshops and performance events 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Public/other audiences
Results and Impact A series of events in collaboration with artists/curators Ray Morrison and Lucy Cheesman, establishing a local 'pattern club' where people explore heritage and contemporary patterning technologies, such as braiding, music improvisation, algorithmic music, blackwork embroidery, and kambi kolam. We have so far organised eight workshops and six performance events.
The workshops have been independently replicated in London, where regular monthly workshops are also held.
Year(s) Of Engagement Activity 2022,2023,2024
URL https://patternclub.org/
 
Description Talk at Pervasive Media Studio, Bristol 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Professional Practitioners
Results and Impact Talk on my fellowship work as part of "dorkbot bristol" series of talks.
Year(s) Of Engagement Activity 2024
URL https://dorkbotbristol.org/10/
 
Description Talk at Sheffield Forum 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Public/other audiences
Results and Impact A talk about live coding patterns as part of a live event series organised by the local Sheffield Forum community.
Year(s) Of Engagement Activity 2023
 
Description Talk at the Social Enterprise Exchange conference, Sheffield 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Professional Practitioners
Results and Impact Presenting the Then Try This approach to research including via the Algorithmic Pattern project to those engaged with social enterprises in South Yorkshire.
Year(s) Of Engagement Activity 2023
URL https://www.socentxchange.net/2023/10/20/social-enterprise-exchange-2023/
 
Description Talk on Algorithmic Patterns at EMFCamp festival 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Public/other audiences
Results and Impact Talk on algorithmic patterns and workshop on live coding musical patterns with Strudel, at this biennual creative technology festival.
Year(s) Of Engagement Activity 2022
URL https://www.emfcamp.org/
 
Description Visiting professorship - Wearable Senses Lab 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Postgraduate students
Results and Impact A research visit hosted by Kristina Andersen, Pei-Ying Lin, Femke Vorselen and colleagues for two weeks at the Wearable Senses Lab at TUe (Eindhoven University of Technology), funded as a visiting professorship by the Eindhoven Artificial Intelligence Systems Institute. It was a great opportunity for exchange, with Kristina having previously been an electronic music instrument designer and researcher at the legendary and much missed STEIM studio, and now running an experimental textiles soft lab as associate professor.

We reverse-engineered the protocol of the TC2 hybrid jacquard/handloom, allowing us to explore new modes of interaction for it, towards exploring 'textile telematics'. I also gave a talk and workshop, and held meetings with postgraduate students as part of the visit.
Year(s) Of Engagement Activity 2024
URL https://algorithmicpattern.org/2024/11/26/research-visit-wearable-senses-lab/
 
Description Workshop at Mythic Computation, Bournemouth 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Public/other audiences
Results and Impact Workshop in collaboration with Lucy Cheesman, introducing participants to making patterns with the Strudel live coding software, at this festival organised and funded by the Arts University Bournemouth Innovation Studio. Lead into evening performances.
Year(s) Of Engagement Activity 2023
URL https://notyetinvented.co.uk/mythic/
 
Description Workshop at Peckham Digital Festival 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Public/other audiences
Results and Impact Invited hands-on workshop on live coding musical patterns with the Strudel software.
Year(s) Of Engagement Activity 2023
URL https://www.peckhamdigital.org/
 
Description Workshop on patterns in live coding and algorithmic music 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact Collaborating with on_the_fly festival at Hangar, Barcelona, and Elizabeth Wilson of Queen Mary, University of London, on a day-long workshop introducing live coders and other electronic musicians working with algorithms, to patterns in textiles. It included a morning workshop on tablet weaving by Co-Investigator Dave Griffiths, who introduced this fascinating, ancient craft as a computational artform. This lead into to discussions about patterns in the contemporary practice of live coding.
Year(s) Of Engagement Activity 2022
URL https://thentrythis.org/notes/2022/07/09/digital-is-physical-remote-tablet-weaving-explorations/
 
Description Workshop: Live coding in strudel.cc 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Postgraduate students
Results and Impact A free workshop organised by NØ SCHOOL NEVERS and hosted by Paris College of Art, for media students and open to the general public.
Year(s) Of Engagement Activity 2023
 
Description Workshops in Schools in Rotherham 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Schools
Results and Impact Working with artist Rian Treanor to deliver three workshops across two schools in Rotherham, South Yorkshire, namely Wickersley School & Sports College, and Thrybergh academy, with additional pupils traveling from Gainsborough Academy in Lincolnshire, all part of Wickersley Partnership Trust. I introduced my free/open source Strudel live coding environment to year 9 students, supporting them in making musical beats and tunes by writing code, in the context of music lessons.
Year(s) Of Engagement Activity 2024