DESOSA 2022

Sonic Pi

Sonic Pi is a code-based music synthesizer which was developed by Software Programmer Sam Aaron. It is a open-source platform developed mainly by Ruby, and can be run on multiple mainstream operating systems such as Linux, maxOS and Windows. For reaching the goal of “easily use for everyone”, it does not only use clear use interface and provide simple instructions for beginners in coding or music creation, but also provide official community for the users to share their discussions. Until now, there are 1.8 million live coders in its community.

Authors

Tianyu Mo

Computer Science MSc student following AIT track in TU Delft. Interested in Program optimization and AI

Manning Zhang

Software Technology MSc student in TU Delft.

Hanyuan Ban

First year Electrical Engineering MSc student following Signal and Systems track.

Yuncong Zuo

First year Embedded Systems MSc student.

Scalability Analysis

Sonic Pi: Scalability Analysis Key Scalability Scenario and Challenge Scalability is an important issue when we need to deeply evaluate a software’s architecture. It shows its ability to handle the increased workload or reduced recources. In this article, we elvaluate Sonic Pi’s scalability mainly based on the a multi-threading scenario, which is very common in music production. Sonic Pi is a software for producing sounds. It works locally without connecting to the internet and it does not use any database.

Quality and Evolution

Sonic Pi: Quality and Evolution In the previous essays, we discussed about the project vision and the architectural view of Sonic Pi. In this essay we will discuss about the quality control of Sonic Pi, and its evolution process. Key attributes Figure: The key quality attributes of Sonic Pi Figure ‘The key quality attributes of Sonic Pi’ shows the key quality attributes of Sonic Pi, where we divide them into external qualities and internal qualities.

From vision to architecture

Sonic Pi, From Vision to Architecture According to the last product vision essay, Sonic Pi is a live coding music synthesizer that aims to provide a joyful use experience to its users by transforming codes into music fluently and assisting code-beginners to easily learn how to code. The focus of this essay shifts to an examination of Sonic Pi’s architecture. Let’s begin our journey by looking at Sonic Pi’s architectural style.

Sonic Pi - Product Vision and Problem Analysis

Project Aim As a programmer, after one-day coding in front of a small desk, maybe there was a moment when you were listening to the music that you imagined: “what if I was a musician?”; as a musician, maybe there was also a moment for you to be curious about “how those codes are working under the screens?”. Some people always have curiosities in the domains they have never touched before, and Sonic Pi provides a nice beginning for those people.