Sema: Live Coding With Machine Learning Workshop

Posted by Thor Magnusson on June 16, 2020

:::: When: June 29th - July 3rd, 3-5pm UK time. Where: Zoom ::::

Would you like to use machine learning as part of musical live coding? Would you like to create your own live coding language? We are inviting you to participate in a free workshop that will take place online in early July. With daily videos, Zoom sessions and follow-up online hangouts, we will get you up and running in using our new technologies for using AI in live coding.

As part of our work in the MIMIC project, we have created Sema: an online system for live coding with AI in the browser. Here you can apply many of the machine learning technologies we have implemented as part of our MIMIC work, but moreover: you can design your own live coding language!

Screenshot of Sema A screenshot of Sema. Take a look at the three videos of Sema in action below.

We believe every new live coding language results in new musical approaches, which implies that for a diversity of music we need a diversity of languages. Sema enables you to write your own language, whether it is one piece of music, an instrument, a pattern generator, or a full blown live coding language.

Sema will be officially launched just before the start of the workshop, so you will be one of the first users to test this new technology and design your own live coding languages for machine learning in music.

There is no previous experience required to participate in this Sema workshop. Although you do not need any machine learning expertise, you will benefit from beginner-level JavaScript programming skills. You don’t even have to be an experienced musician. This workshop will introduce the basic concepts of musical live coding with AI, and get people up to speed in using Sema and creating their own live coding languages. We are hoping that workshop participants will contribute in a user-study that will help us to develop the system further.

We will run a flipped-learning workshop where we release introductory tutorial videos each day and workshop participants study them in their own time. We then have a synchronous Zoom Q&A workshop session at 3pm every day.

The Programme of the Workshop Week:

Monday - June 29th

all day - Introduction (YouTube videos): Introduction to Sema and the default Sema language
3pm - Workshop (Zoom): Making music with the Sema default language + QnA
5pm - Slack channel: Discussion

Tuesday - June 30th

all day - Introduction (YouTube Videos): Machine Learning concepts. Using machine learning in Sema
1pm - Slack channel: Discussion and work
3pm - Workshop (Zoom): Making music with machine learning. Training a ML network + QnA
4pm - Slack channel: Discussion

Wednesday - July 1th

all day - Introduction (YouTube Videos): Machine learning libraries. FFT and machine learning
1pm - Slack channel: Discussion and work
3pm - Workshop (Zoom): Machine listening and machine learning
4pm - Slack channel: Discussion

Thursday - July 2nd

all day - Introduction (YouTube Videos): Language design in Sema. How to create your own live coding language
1pm - Slack channel: Discussion and work
3pm - Workshop (Zoom): Making your own piece with unique language syntax
5pm - Slack channel: Discussion

Friday - July 3rd

all day - Introduction (YouTube Videos): Language design for machine learning	
1pm - Slack channel: Discussion and work
3pm - Workshop (Zoom): Finishing your live coding language + QnA
5pm - Showcase of projects in development (or ideas). Drinks and snack.

Additional Support the Following Week:

Monday - July 6th

5pm - Project Development (Zoom): A session where we support people completing their projects (<b>note the change to 5pm</b>)

Wednesday - July 8th

3pm - Project Development (Zoom): A session where we support people completing their projects

Friday - July 10th

3pm - Project Development (Zoom): A session where we support people completing their projects

Registration:

A sign-up and further information about the workshop: Sema Workshop Registration

This video demonstrates the default language of Sema and some of its functionality

In this video we have a new language, called Rubber Duckling, and we demonstrate some basic rhythm functionality.

This video shows the binary language called Nibble. It functions by swapping bits around.

These videos are small examples of what can be done with Sema. It is really up to you to decide what you will do with this system.

For a more technical information about Sema, please refer to these articles:

Bernardo, F., Kiefer, C., Magnusson, T. (2019). An AudioWorklet-based Signal Engine for a Live Coding Language Ecosystem. In Proceedings of Web Audio Conference 2019, Norwegian University of Science and Technology (NTNU), Trondheim, Norway (Best Paper Award at Web Audio Conference 2019) https://webaudioconf.com/_data/papers/pdf/2019/2019_40.pdf

C. Kiefer and T. Magnusson. Live Coding Machine Learning and Machine Listening: A Survey on the Design of Languages and Environments for Live Coding. In Proc. of the International Conference on Live Coding., Madrid, 2019. https://iclc.toplap.org/2019/papers/paper97.pdf

Bernardo, F., Kiefer, C., Magnusson, T. (2020). Designing for a Pluralist and User-Friendly Live Code Language Ecosystem with Sema. 5th International Conference on Live Coding, University of Limerick, Limerick, Ireland

Bernardo, F., Kiefer, C., Magnusson, T. (forthcoming). A Signal Engine for a Live Code Language Ecosystem. Journal of Audio Engineering Society, Vol. 68, No. 1, October

Please register above and we hope to see you on Zoom, from June 29th!

(Francisco, Chris and Thor)