Skip to main content
SearchLoginLogin or Signup

Seis8s: a web-based localized computer-music language

Seis8s is a web-based computer language that allows real-time interaction with digital audio and localized musical knowledge. Seis8s revolves around commands that relate to Latin dance music –also known as urban Latin music or Latin popular music.

Published onJun 22, 2022
Seis8s: a web-based localized computer-music language
·

Seis8s

Author(s)

  • Luis N. Del Angel is a PhD student in Communication, New Media, and Cultural Studies at McMaster University. His research is about creating a computer music software inflected by Latin American musical expressions derived from political resistance and opposition. Luis’ project aims to connect knowledge and practice from the interdisciplinary fields of critical code studies, new interfaces for musical expression, live coding, and Latin American musicology with the decolonial approaches of border thinking and participatory action research. Contact: [email protected] or luisnavarrodelangel.net

  • David Ogborn is an Associate Professor in the Department of Communication Studies and Media Arts at McMaster University, where he also runs the Networked Imagination Laboratory. He is currently the graduate chair for McMaster's MA in Communication and New Media, and for the PhD in Communication, New Media, and Cultural Studies. An artist-programmer with a focus on networked, computational play, he is the founder and lead developer of the Estuary platform for collaborative live coding and the creator of the Punctual language for audiovisual live coding. Contact: [email protected]

Description

Seis8s is a web-based computer language that allows real-time interaction with digital audio and localized musical knowledge. Seis8s revolves around keywords or commands that relate to Latin dance music –also known as urban Latin music or Latin popular music. This is a 20th-century derivation of music “based on Afro-Cuban [and Afro-Caribbean] rhythms, as developed and performed throughout the Hispanic Caribbean basis and its diaspora” and which is “designed for accompanying social dancing” [1] (p. 127). At the moment of writing, Seis8s revolves around Mexican cumbia and Salsa.

Drawing from the digital-art practice of Live Coding [2][3], Seis8s is meant for the performer and the audience to experience not only the music but also the code that is displayed on the screen. The latter to help connect the users (i.e. performer and audience) with other cultural layers influencing computer-music languages, like natural language. Seis8s explores the following possibilities: 1) a computer-music language to be derived from Spanish; 2) to appeal to an imagined community in/from Latin America; and 3) to explore cultural, political, economic, and historical commonalities of that imagined community. 

Seis8s can be used online at the following interactive website: https://seis8s.org/. On this website, users are invited to experience Seis8s through examples and references both in Spanish and English.

Lexicon and commands

Seis8s commands revolve around the instrumentation of 20th-century Cumbia and Salsa music both of which incorporate instruments from European cultures –e.g. brass and keyboard instruments— and African cultures –e.g. congas and güira. In the case of Cumbia, this music also incorporates instruments from Indigenous cultures – e.g. flutes like the Andean quena [4].

At the moment of writing, the following instruments are available in Seis8s: acordeón, teclado (keyboard), bajo (bass guitar), güira (i.e. a percussion scraper), jamblock (i.e. a wood-sound percussion), and congas (i.e. drums characteristic of Cuban music). Below is a valid code in Seis8s for playing the sound of these instruments.

acordeón; teclado; bajo; güira; jamblock; congas

Seis8s’ commands also make explicit reference to the music styles mentioned above. For example, the command cumbia gives access to a preset set of rhythmic and melodic patterns, alluding to Mexican types of cumbia, such as “cumbia sonidera”, “tecnocumbia”, and “digital cumbia”. Below is a valid code in Seis8s for playing these preset patterns.

cumbia teclado; cumbia bajo; cumbia güira; cumbia congas;

Another category of Seis8s’ commands revolves around nouns that convey actions connected to those styles and instruments. These commands also relate to the terminology used colloquially by musicians playing some of these musics. At the moment of writing, these include punteo (picking), acompañamiento (accompaniment), tumbao (i.e. rhythmic and melodic pattern for the keyboard, the bass, and the congas), marcha (i.e. base rhythm for the congas), and ritmo (rhythm).

marcha (p t p a a) (1 2 3 4 4.5) $ congas;

There are also less idiomatic commands such as volumen (volume) and paneo (panning) that modify, more generally, the quality of the sounds. The command sample, access different sound samples of these instruments.

volumen 0.75 $ sample 4 $ bajo;

Finally, there are commands for global modifications to be applied to the group of instruments. At the moment of writing these include the commands acordes (chords), compás (measure or bar), and tempo.

A complete working example with the commands described above is given as follows:

tempo 100;
acordes [re m, fa, la];
compás "partido";

punteo [3a, 5a] [3, 4, 1 1.5 2 2.5] $ sample 3 $ acordeón;
acompañamiento (2 4) $ volumen 0.75 $ teclado; 
tumbao 1 $ cumbia bajo; 
ritmo [1 2 2.5 3 4 4.5] $ guira;
marcha [p t p a a] [1 2 3 4 4.5] $ paneo 0 $ congas; 

Syntax

Seis8s mimics, in a very general way, the Haskell way of forming valid instructions, particularly the application of functions which is done from right to left. It uses parentheses and the ‘$’ symbol, which as punctuation marks, separate the functions from each other –the ‘$’ sign is equivalent to parentheses. Seis8s uses the semicolon to separate expressions – i.e. structures formed from concatenated commands.

In Seis8s the basic unit is the instrument, to which commands can be added to the left to modify it, for example: acompañamiento (2 4) $ teclado. Using a parenthesis or a ‘$’ sign, more commands can be added to continue the modification of the instrument, for example: volumen 1 ((acompa~namiento (2 4)) teclado), or, volumen 1 $ acompañamiento (2 4) teclado.

Motivation

My motivation comes from my experience using and teaching computer-music languages. For example, in 2015, working at an elementary school in Mexico City, I encouraged children to explore music creation through the well-known children-oriented music language Sonic Pi. Sonic Pi [5] was first implemented in 2013 with the aim of teaching computer programming and computer music to children in the UK. This way, Sonic Pi developed into a great ecosystem that in addition to the software, it included lesson plans inviting the students to discover the "artistic aspects of the software" (p. 175).

However, in the process of my teaching, cultural mismatches came up, for example, Sonic Pi used alphabet letters to program music notes (i.e. C, D, E, F, G, A, B) as opposed to syllables (i.e. do, re, mi, fa, sol, la, si). Letters are often taught in Anglophone music and syllables are often taught in Hispanophone music. Another mismatch was that although this language advertised the potential to create within various genres, it really seemed to favor Electronic Dance Music, through inbuilt preset sounds and synthesizers reminding this genre.

I have experienced similar things as an artist using these technologies. For example, although English is my second language, I remember having difficulty when trying to understand the meaning of some commands from the well-known computer-music language SuperCollider. One command I remember was yield, which allows suspending a procedure or routine. The confusion lay in that I could not find a translation that made sense in relation to computing or sound. The dictionary describes it as a verb connected to processes of cultivation, production, and investment; and to the action of demanding and surrendering something. It was years later that I was able to infer that yield in SuperCollider was potentially connected to the expression “to yield the right of way”. An expression related to the act of stopping or slowing down in driving intersections, and often said this way in Anglophone countries.

Seis8s, however, is not a project about translating commands from English into Spanish. Rather it is about exploring the textual and aural meaning of computer-music languages from one of the many available Latin American perspectives. Early work on this includes my collaboration with the Mexican audiovisual collective RGGTRN, where between 2016-2019 I used SuperCollider to create pieces alluding to the popular music of this region. Chichiricha, for example, is a piece based on “Cuban descarga” and where the programmer can program live percussion solos using samples resembling the ones used by a timbalero. Another piece is Cacharpo, made in collaboration with media artist David Ogborn [6]. This is an automated live coding system that among many things, explores how melody and rhythm can evoke music styles related to Mexican cumbia and electronic cumbia.

This way, Seis8s is a project that intends to add to current investigations on the semiotic aspects of computer-music languages and computer-music technologies, in general [7][8][9][10][11][12][13]. The latter by exploring, both conceptually and practically, the creation of a Spanish-derived textual interface that connects meaning not only with functionality but with shared cultural dimensions of people in/from Hispanoamerica.

Technical information and system requirements

Seis8s was implemented with Haskell, a strongly-typed, functional, general-purpose programming language that has been used in computer music [14][15][16]and live coding projects [17][18][19][20]. Seis8s uses GHCJS and the Reflex Platform to translate Haskell code into JavaScript code to allow user interactivity, for example, the generation of real-time sound. For this, Seis8s uses the JavaScript library WebDirt [21], which allows playing and modifying sampled sounds on the web and which was originally developed for a web version of Alex McLean’s live coding language TidalCycles. Finally, Seis8s uses the parsing library Haskellish for creating small Haskell-like languages [22].

Media

  • Seis8s can be used online at the following interactive website: https://seis8s.org/. On this website, users are invited to experience Seis8s through examples and references both in Spanish and English.

    Access requirement

    • There are no access requirements, however, Seis8s has better performance if experienced through the Chrome browser.

    Compliance with Ethical Standards

    • There is no data collection or log-in required.

    • This research is supported by the Mexican Fund for Culture and the Arts (FONCA), the Mexican Council for Science and Technology (CONACYT), the Communication and Media Arts Department at McMaster University, and the Social Sciences and Humanities Research Council of Canada through my supervisor’s grant “Platforms and practices for networked, language-neutral live coding”.

    Acknowledgments

    • This project is part of Luis Navarro’s PhD called 'Culturally Situated Computer Music Platforms' under the supervision of Dr. David Ogborn, Dr. Christina Baade, and Dr. Rossana Lara.

    • This work is supported by the Mexican Fund for Culture and the Arts (FONCA), the Mexican Council for Science and Technology (CONACYT), the Communication and Media Arts Department at McMaster University, and the Social Sciences and Humanities Research Council of Canada through my supervisor’s grant “Platforms and practices for networked, language-neutral live coding”.

Comments
0
comment
No comments here
Why not start the discussion?