Algorithmic Pattern

Lead Research Organisation: Foam
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
 
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 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
 
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
 
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: 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
 
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 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 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 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 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 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 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 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 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 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/