Developer(s) | ixi software |
---|---|
Operating system | Mac OS X |
Type | live coding, experimental music |
Website | www |
A major contributor to this article appears to have a close connection with its subject.(January 2022) |
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]
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 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 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, 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 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 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 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, 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.
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 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 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.