Sonic Pi: Getting Creative With Computer Programming
By Jenny Judge, Music and Science Researcher, Cambridge University, United Kingdom
On a damp Thursday afternoon in Cambridge, UK, Sam Aaron is telling a barista that he has a gig coming up. She looks up from the espresso machine, interested. “What do you play?’” she asks. “Well, it’s a bit weird,” says Sam, laughing. “I play the computer.”
Software programmer Sam Aaron has made it his mission to “play the computer”, and to help others do the same. From his base in the University of Cambridge Computer Laboratory, Sam has developed Sonic Pi, a free software synthesizer that produces musical sounds from text commands. It is designed for the low-cost programmable computing platform Raspberry Pi. Sam’s work was initially funded by the Broadcom Foundation, which supported the project for the first three months. After that, the Raspberry Pi Foundation stepped in, providing support by way of donation to the Computer Laboratory.
Sonic Pi is a social project, rather than a commercial one. It encourages everyone to learn to code, while having fun with music. Sam has collaborated with educators to produce teaching materials for computing in primary schools. He has also worked with artists to experiment with the potential of the software. The latest phase in the project, “Sonic Pi Live and Coding”, is aimed at making Sonic Pi into a fully-fledged musical instrument, for live performance.
Sonic Pi: a social mission
“Through Sonic Pi, I want to try to give as many people as possible a creative experience through coding,” says Sam. “That is the drive. And the way to do that is to lower the entry barrier to that experience.” First of all, Sonic Pi’s simple, clean interface, with big buttons and friendly colors, makes programming seem unthreatening. “It makes the programming experience itself easier, and not so scary,” he explains. “Typical programming environments are pretty horrendous for beginners.” The barrier to entry is lowered further by the fact that Sonic Pi is free – and not only that, it is designed to run on a GBP25 computer.
Encouraging children to tinker
The Raspberry Pi was the brainchild of a group of researchers at the University of Cambridge who wanted to change the way children interacted with computers. In 2006, Eben Upton, Rob Mullins, Jack Lang and Alan Mycroft, based in the Computer Laboratory, were becoming concerned that almost none of the applicants to read Computer Science at Cambridge were hobbyist programmers. Why was it that children did not seem to be experimenting with programming anymore? Part of the problem, thought the group, was the fact that computers had become so expensive and complicated. Maybe children were forbidden from experimenting with them by money-conscious parents. The group decided to start by developing a cheap computer that children could tinker with, without risk. And so, the Raspberry Pi was born. Three years later, the Raspberry Pi Model B entered mass production, and to date, it has sold close to four million units.
The Raspberry Pi developers recognized that some children might not be interested in a purely programming-oriented device. To appeal to everyone, the Raspberry Pi would have to be powerful enough to support excellent multimedia. And this is where Sonic Pi comes in. Through Sonic Pi, children learn to write code, but they do so through making sounds. They make music, both on their own and with their classmates and friends, and they just happen to learn how to code along the way.
Sonic Pi and IP
Sonic Pi is licensed under the “MIT license” of the Open Source Initiative – a permissive free license for software, with the main condition being that the terms of the license (including a copyright attribution to the original programmer) are always carried with the code. “It means you can essentially do what you want with the software,” says Sam. “For example, you could recreate it and call it Cheese Pi, and sell it.” Why would he choose to let people do that? It seems at odds with the usual way that a lot of proprietary software is licensed. He agrees. “The default approach is to release your software under much more restrictive licenses, which can get in the way of sharing,” he explains. “I want people to be able to build products on top of it. I want it to have a lifespan beyond me. I do not want the license to hold it back.”
But software licensing is not the only issue to think about when it comes to intellectual property. For example, users of Sonic Pi can manipulate music samples that are pre-loaded into the program. “The samples in Sonic Pi are all Creative Commons Zero licensed,” says . The CC0 1.0 public domain license requires no permission or attribution. “I want to make sure that people using Sonic Pi with samples do not have to attribute them to anyone, or pay them, or worry about it in any way.” But there is a catch. “The problem is, I have to trust the people who upload those samples to freesound.org, which is where I source them, that they are actually the originators of those samples, or are not themselves infringing copyright. I trust that freesound.org has taken care in establishing their real provenance, but you cannot be sure.” In fact, freesound.org disclaims responsibility.
“I really think the world would benefit from a clearer demarcation of the licensing of media,” says Sam. On the other hand, an express disclaimer of warranty is a condition of both the CC0 and MIT licenses. This may be an appropriate rule for open software such as Sonic Pi, but it might create difficulties in proprietary cases, or cases where software is at the heart of devices with real-world effects, like in health or home settings.
Sonic Pi and artists
Sam also wants Sonic Pi to be an artistic tool in its own right. This raises some further IP issues. If somebody releases a track that was made in Sonic Pi, this is not just an audio file – it is actually a piece of code. The question is, how should computer music that is produced by code be treated by intellectual property law? Could an artist be challenged for using somebody else’s algorithm in a piece of music, in the same way as they may be challenged for using somebody else’s riff?
“‘What is really exciting to me are the open questions about where this is all going,” he says. “My hope is that, in making music by manipulating text, it opens it all up for more people to be able to share, and for more people to be able to learn from other people’s work. Say I listen to a cool track, and I say, wow, how did you make that? Normally, I do not have any idea where to start. But if it is in code, it is all there, laid out. Sharing musical expertise becomes as easy as emailing a text file. I can look at exactly what the artist did, and learn from it.”
But he does not think that his approach is going to replace current music practices. “I get asked all the time, does this mean that kids won’t play traditional instruments any more? I think it is a ridiculous question.” He shakes his head. “Something like Sonic Pi is not trying to replace anything. It is just adding more possibilities. Those possibilities are broader in some senses, narrower in others. Maybe it is broader in terms of the timbres you can produce and narrow in terms of the physical interaction you can have with the instrument. But it is also about broadening the potential for engagement. If you have got kids who won’t pick up a traditional instrument, then maybe they will pick up Sonic Pi.”
He is eager to stress that computer programming is a creative endeavor in itself. “I really think that programming is a new kind of human expression. And maybe, by teaching kids how to code, we can help some children who might not otherwise have an opportunity to have a creative and expressive experience.”
Educate to create
Sam thinks that the arts are critical to education. “Education is not just about STEM – that’s science, technology, engineering and mathematics,” he says. “It cannot be because the future of the economy is in jobs where people have to think creatively.” Jobs whose descriptions can be formalized are being automated now, he argues, but there are some things that cannot be automated. What types of jobs are left over for humans to do? “They are the creative ones, of course.”
The arts are at the heart of encouraging creativity, he believes. Of course, music lessons, or art lessons, are not the only way to develop creative thought in children – but he thinks that they highlight creativity in a unique way. “The arts put students in a position where they have to explicitly think about creativity and making new things, and come up with new ideas. Creativity is put in the foreground.” He rejects the distinction between science and the arts that is apparent in some school curricula. Creativity is at the heart of science. “The scientific method is not just a matter of validating hypotheses, and being really disciplined and rigorous,” he says. “You have to create the hypothesis in the first place. And you have to recover from an unexpected thing happening, and so on. It is investigation. And that is creative.”
Playing, failing and learning
The real value of Sonic Pi lies in its emphasis on play. Coding is made appealing, because it is presented as something fun, rather than something serious. And when children are encouraged to have fun with a tool, they will take risks. “Failure is an integral part of learning,” says Sam. “Kids learn to walk by falling over a lot. If they were afraid of falling over, they would not learn to walk.” Sonic Pi removes the fear of failure from learning to code. It is a powerful model, because the children of the present are the leaders of the future. Those leaders need to learn to be unafraid of risk, and failure. Failure is a vital step on the road to learning, and it is a concept that a creative approach to education – one which combines technology, science and the arts, rather than separating them – promises to nourish. The future of homo sapiens might lie with homo ludens: in being encouraged to play, our children might learn to grow wise.
The WIPO Magazine is intended to help broaden public understanding of intellectual property and of WIPO’s work, and is not an official document of WIPO. The designations employed and the presentation of material throughout this publication do not imply the expression of any opinion whatsoever on the part of WIPO concerning the legal status of any country, territory or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. This publication is not intended to reflect the views of the Member States or the WIPO Secretariat. The mention of specific companies or products of manufacturers does not imply that they are endorsed or recommended by WIPO in preference to others of a similar nature that are not mentioned.