[youtube]https://youtu.be/oW-3HVOeUQA[/youtube]video above: snippits of Sam Aaron, the creator of Sonic Pi, live-coding with Sonic Pi on a Raspberry Pi.
Setting the Stage
Through serendipity (probably via Twitter) I came across a mention about a Sonic Pi Live and Coding Summit in Cambridge UK Nov 4th, 2014. When I saw it, I knew I just had to find a way to attend.
You’re probably thinking “Sonic Pi WHAT?!” Let me give you a few quick definitions…
- Sonic: Refers to the software Sonic Pi, which allows people to create music through coding
- Pi: Refers to Raspberry Pi, which is a credit card-sized computer that students can “hack” into and code with, using text-based commands. The “Pi” in Sonic Pi is because the software was originally written for the computer, Raspberry Pi. Sonic Pi is now also available for Mac OSX.
- Coding: Yup. All that gibberish that scrolls on your computer screen on the terminal screen. See example below if what I just said is gibberish to you:
- Live Coding: This means that the computer programmer is “coding” spontaneously on the fly. You’re probably more acquainted with the D-Jay that remixes pop songs on the fly and in reaction to his audience at the parties that he D-Jays for. Live-coding is a similar feel, except that the music is original and often improvised on the spot, and the music is created through writing coding.
Levelling it up
In the past year, because of Coetail and my Coetail Final Project, I’ve been looking at various ways that students can learn computational thinking and coding skills. The challenges are that we, as teachers, usually don’t already have these understandings and skills to begin with.
I started my exploration with the visual block-based coding program, Code.org because it taught everything in a very linear, sequential way. It was a linear sequence of puzzles I had to solve. Along the way, I learned how to code. To me as an adult learner, the straighter and more obvious the path, the easier it is. Block-based coding means that one snaps together various pieces of jigsaw puzzles to build code. The beauty of it is that you can’t make errors due to spelling errors, spacing errors, or “grammatical” errors; which you are vulnerable to in text-based coding. Snapping pieces of coloured jigsaw puzzles together isn’t very threatening.
…to open-ended projects
After I finished with Code.org, I moved onto Scratch programming language, which was still a visual block-based coding language. Scratch was more open-ended in that it was up to me what I wanted to create and how fancy I wanted it to be. There were no more puzzles so “right” and “wrong” were less obvious. I set my own goals for what I wanted to create. Slowly, I was opening myself up to the possibilities of the “unknown” in what I was doing, which is a very scary thing for anyone trying something new.
…to text-based coding
During my adventures in “block-based coding”– –in the back of my mind—-was the nagging question of how I would move from visual-based programming to the “Holy Grail” of text-based programming? It’s a natural progression and a progression that students will have to make. So I, as a teacher, would have to bridge that gulf somehow first for myself, and then eventually for them.
In my quest for that answer, I stumbled upon “Raspberry Pi” via the internet, and I know why I first noticed it. It was because the word, “raspberry” made me think “sweet and pink”. It didn’t seem to be a word that fit in with the “tech” world. Yeah, I can understand why we have “Python” in computer tech, but…a Raspberry?! The second thing that caught my attention was the cute logo—-as it too, seemed out of place in a computer tech world.
“Raspberry Pi” sounded and looked more “Hello Kitty”, than “Hello World”. It appeared very unthreatening, and maybe something a female could enjoy,… and it is! (Maybe they did this on purpose, in order to make girls comfortable with trying it.)
Raspberry Pi, to over-simplify things, is a small computer that users control with “real world” text-based programming languages, such as Python language. (I suddenly have this image of a python strangling Hello Kitty flash in my inner-eye!)
The Raspberry Pi is geared for children and young people to learn about computing. After I looked at Raspberry Pi, I realized that this could possibly be my entry-way into text-based programming.
Ever since realizing this, I’ve been looking into ways to get some hands-on training with the Raspberry Pi. So, I was very thrilled to read of this Summit that not only looked at the Raspberry Pi, but would actually focus on the music creation side of it! (Music is something very dear to my heart.) This Summit was specifically about Sonic Pi.
Sonic Pi software turns the Raspberry Pi into a music or sound synthesizer. I love music and I also teach music, so I felt like I had stumbled onto something that I could latch onto for the duration. Sonic Pi integrates music skills with computational thinking with coding skills. It does so in a way that is accessible to young people and to “old teachers with a young heart 😉 ”
It looked like a possible answer for taking coding in the Elementary school into Middle School and beyond.
So, now you know why I just HAD to attend the summit. I had to juggle a lot of things to make it happen, but it was worth it.
The focus of the Summit was their research question:
Through the development of Sonic Pi Live for the Raspberry Pi, to what extent can arts led partnerships use live coding to facilitate innovation, exciting, and engaging digital music opportunities and progression routes for young people, teachers, and musicians.
No longer complete Greek Pi π to me
After the Summit and its workshop on using Sonic Pi, all those lines of gibberish on the terminal screen really don’t look so freaky and so alien to me, anymore. Yes, I make syntactical errors and I find myself doing a lot of “debugging”. Yet, the simplicity of the language (called Ruby) makes it not too difficult to debug. I feel like a bonafide computer programmer, now 😉
Have a go!
Do you want to experience how easy it is? No prior experience with music and/or coding needed! Download the free Mac OSX version of Sonic-Pi. See Carrie Philbin‘s video on how to get started with Sonic Pi. (Carrie was at the summit, too. )
An Artist’s Testimonial
The thing that made the most impression on me about the accessibility of this text-based coding language to children, young people, and non-computer scientists (like myself) was actually meeting Suzanna Hurst from Figs in Wigs, at the Summit.
Suzanna and her artist group (all young people) were commissioned to create and produce a series of “Pi Pop” videos to showcase the artistic possibilities of Sonic Pi.
Suzanna told me that she had no prior experience with computer science or coding before, but that the entry-point into Sonic Pi was so easy that she was able to take it onboard to create these fantastic “Pop-Pi” music videos. She told me that she loved the experience and because of this, she’s completely excited about learning more about coding with Sonic Pi. Her experience has interested her in exploring future Technology+Artist partnerships and seeing what these partnerships might bring to her field of work and to the Arts industry, as a whole. Take a look at her Pop-Pi video showcasing the music she coded with Sonic Pi, and you’ll be impressed by the quality of the work and even more impressed that the artists started out a few months ago as non-coders.
Tweet-lights in 140 characters
To share the rest of my learning with you, here are some of my tweets which hi-light the best of what I learned in 140 character bytes.
#sonicpi Summit: Ts give same task but Ss interpret differently & outcomes are different which is OK & personalized learning
A Video is worth Ten-Thousand Words
Take a look at the video at the top of this blogpost. I stitched together several “vine” video clips I took of what Sonic Pi live coding looks and sounds like.
Watch the live-coding scroll on the screen as Sam Aaron (the creator of Sonic Pi) improvises and codes the music. Listen to the unusual sounds Sonic Pi can create. Sam interacts with a guitar player and his composition is “live-shaped” by his interactions with the guitar, as well as with the audience.
(This is not to say that the Sonic Pi only creates unusual sounds. It can fit into any music genre, including making classical and traditional music; while also being a unique genre in and of itself of live-coded, extemporaneous sounds.)
The new thing in terms of music composition that I witnessed is that the software can randomly generate any variable that you want (so you can ask for random sounds, volume, tempo etc. etc.) The effect is that the song that you are creating can be completely surprising to you too. It becomes your job to “let go ” and to appreciate the randomness of the art form, even if it doesn’t sound like the way you expected. I’ve come a long way since the predictable days of my Code.org puzzles.
I went to the summit to learn how to do text-based coding by creating music with Sonic Pi on a Raspberry Pi. I also wanted to learn how incorporating it might meet traditional benchmarks in the music curriculum. Sonic Pi has been recently trialed in two schools in the UK and it was interesting to hear directly from the Heads and Teachers who were involved in the trial. Their research report was also released during the summit.
As a music teacher, I figured Sonic Pi could be another medium for music teachers to meet those “traditional benchmarks” and I wanted to know “how?” and “how successful?”.
I was surprised at the amount of discussion that took place wondering about the assessment of the computer programming side. I guess I must be naïve, as it never occurred to me that teachers would be asked to assess the coding aspect of it. First of all, we don’t have the abilities to do that. It would take someone with a computer science degree who also had years of experience teaching children to do a fair job of assessing it. The way I looked at it was that the computational thinking part of it was a bonus. Why do we need to assess it? Isn’t it enough that we know students are learning it, when in the past they learned none of it? We don’t need to assess this, to know it is happening. Evaluating the intersection of music with computer science by looking at the measurable evidence that it gives us—-just because we can—–may not necessarily lead us to the outcomes that we want for this innovative new type of learning engagement.
My Take-Away Wonderings
What I heard from the Heads and Teachers from the trial schools is that Sonic Pi in the music curriculum didn’t fail to engage ANY of their students. One Head Teacher said that their enthusiasm and creative energy for music learning was unparalleled as compared to anything in her memory.
I also heard that students, who normally lacked confidence and saw themselves only as students in a music class, suddenly felt like they were musicians for the first time in their lives. Why was that? Well, technology is fun, but one teacher said that it was due to the “ignorance” of the audience. That certainly makes sense. The students were bold and fearless and risk-taking because they weren’t afraid that the audience was going to point out their mistakes. The world was indeed their oyster and did they ever bloom under that freedom!
So, that begs the question: Once we start benchmarking and assessing this new, edgy, innovative way of teaching & learning; isn’t this going to dampen all that unbridled enthusiasm, engagement, and courage we are loving seeing in the children currently—- thus putting a lid on the very creativity and learning that we’re after?
Will students one day be terrified that their coding is scrolling across a monitor for all to see? Right now, it’s cool to see it scrolling on the wall. In future, will they fear that someone will point out, “You should’ve put a repeat loop in line 25?!”
In the Ed Tech community, we talk about creating a new paradigm of education for our 21st Century students. Here we have something in front of us that seemingly has no precedent and therefore no borders, yet. It would be a shame to try to corral all these possibilities into traditional ways of assessment.
Since computational thinking is throughout the entire National Curriculum in the UK, as of September 2014, and many nations are hoping it will be in their curriculum soon, it therefore needs to have some sort of benchmarking and assessment. Well, I would say that we have to invent a new set of benchmarks that reward the creation of new structures and sounds that we have never seen or heard before.
Instead of asking for an example of “Rondo” form in a composition, can we reward a piece of music for having a form closer to “streams of consciousness” which live-coding more closely resembles? We should remember how Beethoven and the Impressionist Painters were criticized by their contemporaries for making new sounds and new visuals that had never been heard or seen before. If their works had been assessed to the existing benchmarks of their time, they would have failed miserably too.
I certainly don’t have the answers but I’ll be mulling these questions a lot in the coming days. I invite you to do the same. To borrow an age-old question…
Why would you put new wine into old wine skins?
What do you think?