Published on

The first issue of the tekhnē online journal outlines the field of DIY with its practices, cultures and politics. A central observation of the tekhne project is that technological changes often go hand in hand with social changes, such as the emergence of electronic instruments that became musical instruments and changed not only who made the music, but also what we consider music to be. This first issue is compiled by Q-O2.

Why DIY? Editorial VNS Matrix Manifesto Tending the Instrument - Sholto Dobie in Conversation Gambioluthiery: Hacking and DIY in Brazil How to Balance the Art Ecosystem and Rural Life in the Ruang Gulma Collective Programming Languages / Artistic Languages Transparency as Translation in Data Protection Full Title of Report: Mis-users of Social Media Technologies, 2023-2024 TRACKING tekhnē: A Glossary in Process
↑ Scroll to top of the page

Related to

  • programming
  • coding

Programming Languages / Artistic Languages

Programming languages / Artistic languages

A small storyline between technique and style


The wonderful feeling of learning how to program a computer and dance at the same time…1



1.

Some questions are hard to answer briefly. Other times the question is not the problem, the issue is finding someone who can and wants to reply. I would like to take advantage of this opportunity to try to answer my own questions, ones I have always had.

Why design new programming languages when there are already thousands of existing options? And, since the scope of this text is short: Why is the design/implementation of these important for the humanities, the arts, and education?

These questions may not seem important, but whilst reflecting upon them I will have to touch upon some topical issues such as Artificial Intelligence, digital art, and education itself within the context of constant technological progress.

Art has always been connected to technical progress. People have developed their own artistic languages, limited and expanded by the possibilities that technology provides.

Painting in medieval Europe was dominated by red, yellow, green, and other tones that were easy to come by on the continent. The opposite is true of ultramarine blue, which originated in Asia and was as expensive as gold. Painting styles were developed so as to use as little blue as possible, prioritising less expensive pigments.2

Another example of this relationship between style and technique can be seen in the development of musical instruments and the shift from the harpsichord to the piano (pianoforte). The harpsichord is a less dynamic instrument than the piano, its mechanics limited the possibility to change intensity over the course of a piece. On the other hand, the new pianoforte, as its name indicates, allowed one to go very easily from soft to loud, with sudden changes, leaving an indelible mark on the style of composers after its invention. Notation itself had to be expanded in order to accommodate all the new possibilities of the instrument within the dynamic range that the new instrument provided.3

What implications does this have on our way of thinking about education, art, and particularly, programming languages? Before I launch into my reflections, I would like to contextualise the term "programming languages" and understand what it means to program a computer.

A computer is a device that is capable of receiving information from the outside world, processing it according to a programme or application, and producing a result. Mobile phones, tablets, watches, TVs, and many other current devices compute, and their computing capabilities often far exceed our needs. As computer scientist Ben Sheiderman wrote already in 2003, “The old computing was about what computers could do; the new computing is about what people can do”.4

It is precisely at this point of convergence between what computers can do and what people can do that I can begin to attempt to answer, or at least shed light upon, the questions raised in the introduction.

Every computer needs a set of instructions to tell it how to manipulate collected information. In other words, it needs a program in order to compute, and, by implication, a programmer. This programmer can be a human or another computer capable of using the code needed for the task at hand (in my case, I will limit my thinking to humans, but I cannot help but think about the implications that this reflection would have on non-human programmers).

Taking the two examples mentioned above as a reference, I will venture to shed light on the first question from my own perspective. Every tool used marks and influences the art produced with it. Each of my works—be they musical, visual, interactive, etc—is marked by the programming language I used to make it. And in the same way, the design of the language itself opens (or closes) the door for access to new users and certain artistic languages.

CQenze,5 for example, is “an effort to simplify live coding syntax and make it accessible to children”.6 This programming language belongs to the DSL family or domain-specific languages. Its design attempts a simplified alternative for those having a go at programming for the first time.

This language is capable of generating infinite combinations of audio recordings as a loop. In order to achieve this, it uses two elements: reserved keywords in the language and two instruction symbols: “+” and “-”.

bd +-+- hh -+-+

This code generates the simplified rhythmic foundation of genres such as techno at 120 bpm in an infinite loop.


This video shows the first implementation of CQenze on Extramuros.7


In the case of CQuenze, the music generated—despite being infinite in its possibilities–, ends up marked by the restrictions of the language itself. This is not negative. The restrictions imposed by the system allow for the programmer to develop their own technique in order to expand their compositional language within the restrictions of computational language. Once again, the interdependence between technique and style.8

After CQenze I also experimented with other media, such as CHmUsiCK and CineVivo.9 he latter example is a successful case where the visuals and graphic development allowed non-experts to create audio-visual works where they could use natural language, resulting in works where code itself was a poetic means of expression.10

After introducing these examples, I would like to conclude this first section with a better answer to the first question. In my case, the creation of new artistic languages, new programming languages, new tools, is a way of creating and recreating forms of expression. At the same time, this opens up new pedagogical horizons in advanced technological areas, allowing for access to these technologies in diverse contexts.

Programming languages in and of themselves have not historically been developed as pedagogical tools, but it is possible to develop them with this use in mind (sacrificing efficiency and possibly limiting their scope) in an act of artistic resistance where the aim is to mishandle technology for the sake of expressive possibilities, whatever that might mean.

2.

Pandora hears her dreams, they talk to her in mysterious voices and unknown languages. You are there in the middle of the dark but you don't know how did you get there, are you one of Pandora's dreams? Talk to her, maybe she will answer you…11


Recording during a concert where Pandora’s Dream was used live. Recorded in the UK, Eklektik – London 2023

Pandora’s Dream is a platform I’ve been working on during my time as a researcher at Stanford University. Pandora itself is a system that can be programmed in multiple programming languages such as C#, ChicK, C++, Lua, openGL and Javascript. At the same time, it has integrated communication protocols such as open sound control (OSC) and Midi. Finally, through its interaction with the outside world, it uses machine learning algorithms and artificial intelligence.12:

This platform can generate audio and video, control other platforms, and be trained via audio, camera, or real-time monitoring data.11

In my tests, I have used it together with highly trained users such as professional musicians, programmers, and live coders from all over the world. Pandora has also controlled over 150 devices simultaneously in world-class theatres such as Bing Concert Hall in Palo Alto California.

But Pandora wasn’t created to use the latest technology or the most advanced algorithms. It is in fact a platform that achieves its full potential when reusing, recycling, and misusing other systems that may diverge from each other, with opposing paradigms. Pandora is a critique of the obsession with using technology for technology’s sake in artmaking and education. This platform is my way of embodying the answer to the second question: From my perspective, the presence of human sciences is necessary for the creation of technical devices, and this must occur in every step of the process, including the required education in the complex aspects and access to tools, both at a conceptual and technical level.

Bio

Celeste Betancur is a multi-instrumentalist musician with a professional degree in guitar from Berklee College of Music and a Master in digital arts. For ITM Medellin, she is a researcher in topics such as code and programming didactics and HCI for educational platforms, and she also works developing human machine interfaces. Celeste is a transgender woman, married with two children.

https://www.celestebetancur.com/


  1. Gutiérrez, E. B. (2018). ¿ Algoritmos? Algo¡ Ritmos! Algorithms? Algo Rhythms!. Dancecult 

  2. Plesters, J. (1966). 2. Ultramarine Blue, Natural and Artificial. Studies in conservation, 11(2), 62-75. 

  3. Pollens, S. (1995). The early pianoforte. Cambridge University Press. 

  4. Shneiderman, B. (2003). Leonardo's laptop: human needs and the new computing technologies. Mit Press. 

  5. Betancur, E. (2015). Diseño e implementación de un DSL: CQenze, como lenguaje de primera experiencia para el código en vivo. Proceedings of the Festival Internacional de la Imagen, 1-6. 

  6. Herrera Machuca, M., Lobato Cardoso, J. A., Torres Cerro, J. A., & Lomelí Bravo, F. J. (2016). Live coding for all: three creative approaches to live coding for non-programmers. International Journal of Performance Arts and Digital Media, 12(2), 187-194. 

  7. Ogborn, D., Beverley, J., del Angel, L. N., Tsabary, E., McLean, A., & Betancur, E. (2017, December). Estuary: Browser-based collaborative projectional live coding of musical patterns. In International Conference on Live Coding (ICLC) (Vol. 2017). 

  8. It is also important to note that the first is that the project is totally open source and was implemented in various open access platforms such as Estuary, to which I contributed by giving workshops around the world, particularly during the pandemic. Ogborn, D., Tsabary, E., Jarvis, I., Cárdenas, A., & McLean, A. (2015, July). Extramuros: making music in a browser-based, language-neutral collaborative live coding environment. In Proceedings of the first international conference on live coding (pp. 163-69). 

  9. Rodríguez, J., Betancur, E., Rodríguez, R., & de México, A. (2019). CineVivo: a mini-language for live-visuals. Proceedings of the 2019 International Conference on Live Coding. 

  10. Drymonitis, A. (2023). Live Coding Poetry: The narrative of code in a hybrid musical/poetic context. Organised Sound, 28(2), 241-252. 

  11. Betancur Gutierrez, C. (2023). AI in live coding environments: Pandora’s Dream. AIMC 2023. Retrieved from https://aimc2023.pubpub.org/pub/9lqurr1x 

  12. Armitage, J., Privato, N., Shepardson, V., & Gutierrez, C. B. (2023, October). Explainable AI in Music Performance: Case Studies from Live Coding and Sound Spatialisation. In XAI in Action: Past, Present, and Future Applications.