Ixi lang

Last updated
ixi lang
Ixi lang.png
ixi lang
Developer(s) ixi software
Operating system Mac OS X
Type live coding, experimental music
Website www.ixi-software.net

Ixi lang is a programming language for live coding musical expression. [1] [2] It is taught at diverse levels of musical education and used in Algorave performances. [3] Like many other live coding languages, such TidalCycles, ixi lang is a domain-specific language that embraces simplicity and constraints in design.

In 2015, ixi lang was presented at the Loop summit, organised by the music software manufacturer Ableton, where it gained critical acclaim as an alternative way of making music in the studio as well as in live performance. Mark Smith, of techno-duo Garland writes about the language: "By entering the name of a sound, drawing your own bars and typing notes with numbers, you can make simple beats and melodies almost immediately. If you memorise a few different command lines a broad range of modulations and structural changes becomes possible. Whatever simple information you entered beforehand becomes hugely pliable – and you can do all this to your own uploaded bank of samples. Given that just about anyone can get up and running with a few minutes, those who are willing to put their time into live coding software like ixi lang can reach highly intuitive and fluid levels of improvised composition". [4]

Ixi lang is used internationally, for example by members of the Quase-Linema Lab [5] collective in Brazil, Belisha Beacon, Section 9 and Deerful in the UK, [6] or by the Paris-based Sougata Bhattacharya. Ixi Lang is referenced in various live coding literature [7] [8] [9] and has influenced other live coding systems such as Gibber, [10] [11] EarSketch, [12] WulfCode [13] and Sonic Pi. [14]

Related Research Articles

In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an alternative style that some may prefer.

SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.

DBLP Computer science bibliography website

DBLP is a computer science bibliography website. Starting in 1993 at Universität Trier in Germany, it grew from a small collection of HTML files and became an organization hosting a database and logic programming bibliography site. Since November 2018, DBLP is a branch of Schloss Dagstuhl – Leibniz-Zentrum für Informatik (LZI). DBLP listed more than 5.4 million journal articles, conference papers, and other publications on computer science in December 2020, up from about 14,000 in 1995 and 3.66 million in July 2016. All important journals on computer science are tracked. Proceedings papers of many conferences are also tracked. It is mirrored at three sites across the Internet.

ChucK Audio programming language

ChucK is a concurrent, strongly timed audio programming language for real-time synthesis, composition, and performance, which runs on Linux, Mac OS X, Microsoft Windows, and iOS. It is designed to favor readability and flexibility for the programmer over other considerations such as raw performance. It natively supports deterministic concurrency and multiple, simultaneous, dynamic control rates. Another key feature is the ability to live code; adding, removing, and modifying code on the fly, while the program is running, without stopping or restarting. It has a highly precise timing/concurrency model, allowing for arbitrarily fine granularity. It offers composers and researchers a powerful and flexible programming tool for building and experimenting with complex audio synthesis programs, and real-time interactive control.

Live coding Integration of programming as part of running program

Live coding, sometimes referred to as on-the-fly programming, just in time programming and conversational programming, makes programming an integral part of the running program.

Ixi software

ixi software is an open source experimental project concerned with building musical instruments where the interface is at the same time a meta-composition. The instrument becomes a pattern generator suitable for the performance of generative music. ixi runs a label as well where music is released under the Creative Commons license.

Software visualization or software visualisation refers to the visualization of information of and related to software systems—either the architecture of its source code or metrics of their runtime behavior—and their development process by means of static, interactive or animated 2-D or 3-D visual representations of their structure, execution, behavior, and evolution.

End-user development (EUD) or end-user programming (EUP) refers to activities and tools that allow end-users – people who are not professional software developers – to program computers. People who are not professional developers can use EUD tools to create or modify software artifacts and complex data objects without significant knowledge of a programming language. In 2005 it was estimated that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers. Various EUD approaches exist, and it is an active research topic within the field of computer science and human-computer interaction. Examples include natural language programming, spreadsheets, scripting languages, visual programming, trigger-action programming and programming by example.

Thread Level Speculation (TLS), also known as Speculative Multithreading, or Speculative Parallelization, is a technique to speculatively execute a section of computer code that is anticipated to be executed later in parallel with the normal execution on a separate independent thread. Such a speculative thread may need to make assumptions about the values of input variables. If these prove to be invalid, then the portions of the speculative thread that rely on these input variables will need to be discarded and squashed. If the assumptions are correct the program can complete in a shorter time provided the thread was able to be scheduled efficiently.

Live electronic music is a form of music that can include traditional electronic sound-generating devices, modified electric musical instruments, hacked sound generating technologies, and computers. Initially the practice developed in reaction to sound-based composition for fixed media such as musique concrète, electronic music and early computer music. Musical improvisation often plays a large role in the performance of this music. The timbres of various sounds may be transformed extensively using devices such as amplifiers, filters, ring modulators and other forms of circuitry. Real-time generation and manipulation of audio using live coding is now commonplace.

In computer science, region-based memory management is a type of memory management in which each allocated object is assigned to a region. A region, also called a zone, arena, area, or memory context, is a collection of allocated objects that can be efficiently reallocated or deallocated all at once. Like stack allocation, regions facilitate allocation and deallocation of memory with low overhead; but they are more flexible, allowing objects to live longer than the stack frame in which they were allocated. In typical implementations, all objects in a region are allocated in a single contiguous range of memory addresses, similarly to how stack frames are typically allocated.

Alex McLean British musician and researcher (born 1975)

Alex McLean is a British musician and researcher. He is notable for his key role in developing live coding as a musical practice, including for creating TidalCycles, a live-coding environment that allows programmer musicians to code simply and quickly, and for coining the term Algorave with Nick Collins.

Slub (band)

Slub is an algorave group formed in 2000 by Adrian Ward and Alex McLean, joined by Dave Griffiths in 2005 and Alexandra Cardenas in 2017. They are known for making their music exclusively from their own generative software, projecting their screens so their audience can see their handmade interfaces. Their music is improvised, and advertised as falling within the ambient gabba genre.

Benoît and the Mandelbrots Computer music brand

Benoît and the Mandelbrots, named after French American mathematician Benoît Mandelbrot, is a Computer Music band formed in 2009 in Karlsruhe, Germany. They are known for their live coded and Algorave performances, the Digital Arts practice of improvising with programming languages that gradually dissolves the distinction between composer and performer.

Algorave

An algorave is an event where people dance to music generated from algorithms, often using live coding techniques. Alex McLean of Slub and Nick Collins coined the word "algorave" in 2011, and the first event under such a name was organised in London, UK. It has since become a movement, with algoraves taking place around the world.

Sonic Pi Live coding environment

Sonic Pi is a live coding environment based on Ruby, originally designed to support both computing and music lessons in schools, developed by Sam Aaron in the University of Cambridge Computer Laboratory in collaboration with Raspberry Pi Foundation.

Alexandra Cardenas is a Colombian composer and improviser now based in Berlin, who has followed a path from Western classical composition to improvisation and live electronics. Her recent work has included live coding performance, including performances at the forefront of the Algorave scene, she also co-organised a live coding community in Mexico City. At the 2014 Kurukshetra Festival Cardenas was a keynote speaker and hosted a music live coding workshop, the first of its kind in India. Cardenas has been invited to talk about and perform live coding at events such as the Berlin based Transmediale festival and the Ableton sponsored Loop symposium, and held residencies including at Tokyo Wonder Site in Japan and Centre for the Arts in Mexico City.

TidalCycles Live coding environment

TidalCycles is a live coding environment designed for musical improvisation and composition. In particular, it is a domain-specific language embedded in Haskell, focused on the generation and manipulation of audible or visual patterns. It was originally designed for heavily percussive, polyrhythmic grid-based music, but now uses a flexible, functional reactive representation for patterns, using rational time. Tidal may therefore be applied to a wide range of musical styles, although its cyclic approach to time means that it affords use in repetitive styles such as Algorave.

Multitier programming is a programming paradigm for distributed software, which typically follows a multitier architecture, physically separating different functional aspects of the software into different tiers. Multitier programming allows functionalities that span multiple of such tiers to be developed in a single compilation unit using a single programming language. Without multitier programming, tiers are developed using different languages, e.g., JavaScript for the Web client, PHP for the Web server and SQL for the database. Multitier programming is often integrated into general-purpose languages by extending them with support for distribution.

References

  1. Magnusson, Thor (2011) ixi lang: a SuperCollider parasite for live coding. In: International Computer Music Conference, 31 July – 5 August 2011, University of Huddersfield, UK.
  2. Blackwell, Alan; McLean, Alex; Noble, James; Rohrhuber, Julian (2014-01-01). Blackwell, Alan; McLean, Alex; Noble, James; Rohrhuber, Julian (eds.). "Collaboration and learning through live coding (Dagstuhl Seminar 13382)". Dagstuhl Reports. 3 (9): 130–168. doi:10.4230/DagRep.3.9.130. ISSN   2192-5283.
  3. "Algorave: The live coding movement that makes next-level electronic music". Mixmag. Retrieved 2018-09-23.
  4. "New Frontiers of Music Technology". www.ableton.com. Retrieved 2018-09-23.
  5. "Alexandre Rangel : ixi lang playlist". www.youtube.com. Retrieved 2022-06-20.
  6. Winston, Emma. "Tell Me I Can Fix This On My Own". deerful.bandcamp.com. Retrieved 2018-10-24.
  7. Sorensen, Andrew; Swift, Ben (Spring 2014). "Livecoding's many meanings" (PDF). Computer Music Journal. 38 (1): 65–76. doi:10.1162/comj_a_00230.
  8. McLean, Alex (2014). "Making programming languages to dance to". Proceedings of the 2nd ACM SIGPLAN international workshop on Functional art, music, modeling & design - FARM '14. pp. 63–70. doi:10.1145/2633638.2633647. ISBN   9781450330398.
  9. Guzdial, Mark (2013-10-01). "Live coders challenge CS to think about expression again". Computing Education Research Blog. Retrieved 2018-09-23.
  10. Gibber Credits
  11. Charlie, Roberts; Joann, Kuchera-Morin (2012). "Gibber: Live Coding Audio in the Browser". International Computer Music Conference Proceedings. 2012. hdl:2027/spo.bbp2372.2012.011. ISSN   2223-3881.
  12. Xambo, Anna; Freeman, Jason; Magerko, Brian; and Shah, Pratik (2016) Challenges and New Directions for Collaborative Live Coding in the Classroom in Proceedings of International Conference on Live Interfaces, University of Sussex, Brighton.
  13. WulfCode
  14. Blackwell, Alan & Aaron, Sam (2015) Craft Practices of Live Coding Language Design in the Proceedings of the First International Conference on Live Coding, Leeds, UK