Computer Science in Music (CSTA Wyoming interview)
In this episode I'm a guest on CSTA Wyoming's podcast for computer science educators and I answer some questions about the intersections of music and computer science.
- 
      
        
          
        
      
      Welcome back to another episode of the csk8 podcast my name is Jared O'Leary each week of this podcast is usually an interview with a guest or multiple guests or a solo episode where unpacks some scholarship in relation to Computer Science Education this week's episode is a little bit different I'm actually a guest on somebody else's show the csta Wyoming podcast so this is actually from episode 2 computer science and music with Jared O'Leary that's me so I'm going to talk about some questions that some teachers in Wyoming had and kind of answer them and provide some examples of the intersections of music and computer science now if you like that intersection and you want to hear myself talk about it a little bit more I actually have a few episodes on this and I'll include some links in the show notes to those if you want to take a listen to them but I also recommend subscribing to csta Wyoming on Spotify so you can listen to them and I'll include a link to their podcast in the show notes at Jared o'leary.com and just go up to the computer science or coding Tab and then go down to the podcast foreign hello and welcome to the csta Wyoming podcast the show for all things computer science and the Wyo I'm Megan garnhardt csta Wyoming president and a Wyoming high school computer science teacher in today's episode we will be answering questions from Wyoming computer science Educators with Jared O'Leary we'll discuss the intersection of computer science and music education hi Jared thanks for being here today yeah happy to be here uh would can you introduce yourself for us and tell us a little bit about what you're up to these days yeah so I've had kind of a weird career I've worked in both music education and computer science education positions every grade kindergarten through doctoral student and currently I'm working for myself creating content from a website for gamers drummers and computer science educators awesome that's so fun this is exactly what you were perfect for today so we have asked our fellow Wyoming computer science Educators and the music educators throughout the state what questions they had about computer science and music education and we're hoping you can help us answer those because you're for sure the expert in this so let's get started cool so our first question is I am an Elementary music teacher and my principal has asked that I bring computer science into my lessons help where do music and computer science principles align yeah so I really like this question and I'm going to spend more time answering this and kind of diving deeper than some of the other questions just to kind of set the the grounds here so the so my dissertation had a lot of themes and sub themes that blurred these boundaries between music making and computer science education so my PhD is in music education but the dissertation itself talked a lot about people making music with retro video game hardware and like old computers so it's a music called chiptunes so people who made this music were discussing it in a discussion form there were like 10 000 members in there and they had like 11 million words of data that I looked at and kind of like came up with these different themes and whatnot so the themes primarily talked about composition practices performance practices this is like music composition and performance and then something I'm calling maker practices coding practices entrepreneurial practices visual art practices and Community practices so with on all of these it like really blurred these boundaries and kind of made me question well when is this a computer science practice or principle or concept and when is this a music one and there wasn't really a clear answer and when the members of the discussion forum actually spoke about it they said that it was Inseparable so when it came to coding some types of music they said you cannot do this without engaging in both code and music so what I'd recommend is trying to find spaces or ways of engaging that kind of have similar alignment whether it is chiptunes or whatever so to more directly kind of answer your question however and by the way if you want to the dissertation is available for free it's called Uh Corpus assisted discourse analysis of Music related practices discussed within shitmusic.org is a mouthful it's for free on my website under the publication section but let's actually like dive into this a little bit so a lot of the engagement that you'll find and I'll kind of talk about this a little bit more in some of the other questions like if you were to create music in scratch it's pretty obvious when to be able to align the algorithms and programming standards that Wyoming has however it's a little harder for some people especially music educators no offense to figure out how to align the music standards with computer science standards so I actually kind of want to go through those for a moment just to kind of talk about it so if we look at this is just for the grades 9 through 11. but you can do this with K through 4 and through five through eight but in the music standards in standard one we have the very first like substandard that's talking about refining musicianship through individual practice and it's great the people who were performing in this discussion forum were doing so and so that would address that standard however they built their instruments so these electronic instruments were often built by themselves for the purpose of making music and because these are electronic instruments they often had to engage in all sorts of Hardware manipulation even like literally designing Hardware like chips and being able to make it so that you can interface with these old devices and then turn like an Atari into a guitar and then you have a guitari like there's a lot of really cool things that people are doing so cool that addressed the standard one so standard two is to be able to perform independently and with others so a lot of these people were doing so not only with the electronic instruments but they built but they also had like groups with like a tuba and a banjo a Game Boy Advance and then like a vocalist like they were doing this in clubs they were doing this online Etc awesome we've dressed that standard the next one is to be able to improvise rhythms and Melodies Etc to be able to like create music in a different style now this was the number one thing that they talked about was composing and improvising Etc and doing all these things that are listed under standard three and that's out of 11 million words of data so they discussed this quite a bit um and that also addresses standard number four which is the composing and arranging music now we also have music literacy through notating music now this one for some music educators when they look at it they might see the ways that people engage in this intersection between music and computer science and go but that's not Western uh standardized notation you're right they might not be using that instead they might be using midi or they might also use some of the staff notation or they just might use code they might use a language called ABC notation where you're literally just writing out the letters and then it performs it for you if we actually zoom out a little bit and look at well what do you mean by music literacy there are so many ways that you can engage in music making and computer science if you just broaden your definition of what does it mean to be musically literate so the next set of Standards that's on the music we have standard number two which is aesthetic perception so this first substandard under here is talking about analyzing compositional devices and techniques they frequently talked about comparing algorithms as well as comparing albums and songs Etc so we've got that one and the next substandard is responding to RL examples by evaluating musical elements so they asked for critique there is in fact a sub form specific to critique on music where people would submit their Works in progress and say hey can I get some feedback on this so we've got that one as well they also evaluated their own and other people's performances they did this not only with their code or compositions but also like live performances and again got some feedback on there and then the last substandard under or this particular one is about forming and defending preferences for musicians there's a lot of discussions on well which chip musicians do you like or is this type of chiptune actually chiptune or is it something called fake bit which was this really interesting argument about if you used the wrong type of hardware for this was it then actually legitimate music which gets into some historical and cultural context which is the third main standard for musicians or for music in Wyoming so this one uh again I just mentioned the very first standard in there so the second one is talking about analyzing characteristics that cause work to be considered historically or culturally significant so creating requires an understanding of that style or period so a lot of people when they engage in this music they would actually create like jazz or um hip-hop or progressive rock in this particular style of electronic music making that required a lot of computer science background to do so I'd argue that you actually are engaging in that one and the next one is students evaluating the various purposes of music and selecting music for a specific purpose so this is often done the they would do for the live performances they also created chiptunes for like commercials or for movie scores or Video Games Etc so so far we've hit every single standard on here we can do the exact same thing for the artistic Connections in the very last standard four that's on here we could talk about digital citizenship how it's not just about the music but the actual musical tools and instruments that are being designed manufactured built Etc and then we could even talk about the entrepreneurship so long story short every single one of the music standards can relate to just this one sub-genre of music making that happens to blur these intersections of computer science and music but the thing that it requires for a lot of music educators is to think of how these two fit and really kind of evaluating um not only like what students will know and understand about how they can actually do that so the how can be up to the communities the districts the individual Educators or even students to figure this out so if you look at the standards it doesn't say that you're going to do all of these things in band class or in Orchestra class or general music which is often the case in elementary school and also happens to be the most broad of the like main categories of music education so if we look at the standards and my argument is what we typically see is standard substandard one and two that's about 99 of what you see in most large ensembles is performing alone or with others and refining that performance that's it none of the other stuff so if you're looking at some of the like music and CS stuff that's discussed in my dissertation and then here's a link that hopefully you can include in the show notes of some podcasts where I kind of unpack some Publications that explore this more examples in some Publications that I've done um I would argue that a lot of what is being talked about in those podcast episodes in those Publications can very easily be done in music classes and actually address the remainder of those standards that likely are not actually discussed in music education contexts I don't know did that answer that question for you absolutely I think that's fantastic I love how in depth you went there and I will make sure that that link that you sent is in those are show notes as well because I think this is just so powerful and I think you hit it right on you know sometimes it's just under understanding to dig a little bit deeper than the obvious of the standards which we all fall into that of this kind of like blanket level of the standards so yeah I think the in depth of that was perfect for what we want and you're right it sets the stage for the rest of what we're going to talk about so question two was I have students who love music but aren't very interested in my computer science course how can I get them excited about computer science do you have resources to help me yeah that's an excellent question so for context when I switched over from music education and started teaching coding classes at the K-8 level the the we're using one platform as co.org and students after a while got pretty bored with this so they had this technology special class that they rotated to and so I'd see them for three weeks every single day for three weeks straight and then I'd see them again next quarter and so we were able to dive deep into things and the students got bored with just doing the same thing over and over and so very quickly I was like okay how about we actually do more Arts based and music-based like creation through code and so the next semester I added in scratch and so students were able to explore stories games animations even music there are some limitations and I talk about that in that one of the podcast episodes that is going to be in the show notes but the students kept coming to me and saying yeah this is great but I'd really like to be able to make more music like dive deeper into this cool so the following semester I added in Sonic pie which allows you to dive deeper using a programming language Ruby and allows you to like literally live perform by typing out lines of code or you could compose stuff or you can create all courses types of like aliatoric chance based music making or soundscapes or whatever you want to do and then the following semester I added in Swift which was like professional app development because students were like well I want to be able to make stuff for my iPad or my my um whatever device and so I kept adding a new thing each semester so the reason why I'm saying this is because to answer your question more directly is whenever a student came to me with a question of hey how do I explore this thing through CS I found a language or a platform that allowed them to do that whether it was like Khan Academy JavaScript more art and animation or scratch or sonic Pi or Swift or co.org whatever ever there are many different options in there so if you want to get kids interested in CS and they love music find a way to explore that now how do you do that well there are platforms and this will kind of answer another question but some easy ones to compose or perform are scratch that's block based you could use tune pad which is python I believe you could use ear sketch with a which I think is both Python and JavaScript you could use Sonic Pi which is Ruby and there's like many more that you could do now this is not just composing which is a really cool thing that you can do but you can also perform or algorithmically improvise so there's a sub-genre of music making called algorave where it's combining Rave culture with algorithms and so somebody will literally go up onto a stage they'll display their screen behind them and all the screen shows is code and it's just this blank screen and you start typing in lines of code and you hit run and it execute something here and then okay cool we got our like four on the floor going and then we add in the melody and then a Baseline and then you see all the lines of code as they're going and they're literally performing music and you can see everything that they're doing to actually create that music the other side of things of algorithmically improvising one of the things that I like to kind of experiment with was this like exploration of music and CS in ways that you cannot do without this the the connection of the two and so one of them is looking at how you can have randomization in a program so you use like a random seed or like a number generator or something to just randomly select within some kind of a frame so I created an infinite drum set so I gave it a single um seed any kind of number and then it would just algorithmically improvise a beat with fills and grooves and all sorts of really cool stuff and you get a different seed and then it will allow you to infinitely create a new different set of different rhythms and whatnot and I could actually change how good or bad the performer was and so I made it so that like it would either be perfectly in time or I could scale it back so it sounded like some of the elementary kids that I worked with when they're first figuring out how to play on the drums so there's some really cool things that you can do and explore if you kind of think outside of the box but it doesn't have to just be music making so some people are like the percussionists like myself are really just interested in like sound it might not necessarily need to focus on Melodies harmonies rhythms Etc so you could also explore like randomized soundscapes so I made one like back when I was doing my residency in School of Music there was like a vocal professor in the office next door to me and just bangling on the piano at somebody be like singing and so I wanted to be able to like drown that out no offense to them so I created a randomized soundscape that would like make it sound like I was walking through a forest and so every time I would turn that on it'd be a random walk it'd be like oh there's a river on my right there's birds flying overhead there's crickets Etc and so I created this without making any kind of music but it was all through code that I was using to be able to create this soundscape so that are those are some like many different ways that you can explore Music and Sound in CS for those who happen to be interested in it I really like how you phrase that and how you kind of Drew that scope and sequence out and how that worked with your students because I I agree completely what I find with students especially when they're getting to that High School level is sometimes they've seen so much of the same that they're even our kids who really love computer science our Board of computer science and I think that what you hit on there was a lot of that interest-based computer science doing computer science work and learning a language for the purpose of meeting an interest that you have specifically in this case with music and I love that idea because it's okay if I have three different kids in a room learning three different languages or programs if that's going to lead them to what they want to get from their computer science education particularly if it's interest-based for their music and I like that because I think I I'm guilty of it myself I pigeonhole myself into this group's gonna learn this coding language with this program at this pace but we know that that doesn't work for all our students and even our students who love computer science get bored with the same stuff so that interest based and letting them come to you and say this is what I want to do how do I do that I feel like that's such a good bridge for everything we do computer science music all of those pieces that interest is so huge so that's fantastic yeah and so for context like the K8 coding classes were mandatory so having taught classes that are mandatory and classes that are like people elect to the take them or pay to attend Etc it's very different when everybody is like required to be there and they're like I don't want to learn this okay so if I came in with this really awesome pre-scripted thing that I find really interesting and the kids who want to be there find interesting the kids who don't care are gonna be like so what and then what they're not gonna learn anything so if you start with the interest then it draws them into the field at least in in my opinion sometimes I had some middle schoolers who were just like well I don't want to do this and I was like well do you play video games and like yeah well how about you modify a video game or make your own like that was the way to like kind of get them into it and then it drew them into more things down the road they were like well how do I do this thing oh well here's something for you it's it's hard to facilitate to be honest because like if I walk up to a computer like it might be JavaScript the next computer scratch the next computers Ruby and then like Swift like it's very hard you have to be able to debug very fast and it kind of set up a lot of practices to encourage peer collaboration facilitation and question asking Etc but in the long run it was totally worth all the efforts and all the languages that I ended up using or not using but still learning and going nah we won't do that one yeah see I think as you're saying that you're such it's such a good point that the the younger kiddos where it's not an elective that they're choosing necessarily in Wyoming we know this is now part of our state requirements from K-12 and so our elementary and Junior Highs are going to start to see kids who are required to do this just like you said are like I'm not interested at all and I think you're right some of those pure editing skills and those peer helper skills that you can set up early on it's it's so worth it in the long run for you to be able to reach their interests I'm just going to say having taught for quite a while it's worth teaching to their interests even though it's a little bit harder because really bad behaviors with kids who are bored is also really hard so kind of picking our level of difficult there it's hard for me to maybe know and manage all of the different resources that they're using or languages that they're using it's also hard to deal with half a class of board students so I like how you say that like this interest-based driven I mean Choose Your Heart Right yeah cool that's fantastic uh our next question was for teachers and students that want to try computer science music out what are some good introductory programs that are free and readily available that you would suggest now I know you've touched on this a couple times and it sounds like in our show notes that link that you have is going to take us to some podcasts that give us some good resources as well yeah so here's another page that you can include in this channel so on my website there's a coding and music page for a music encoding page and it uses like the two ampersands because I'm a nerd um it's a programming thing it is so um yeah on there there are links to multiple uh platforms that are great for this but scratch is good for Block based there are problems with it in terms of you can't really get granular with the music making like you can't really refine it make it sound as great as you want you can with Sonic Pi but it is a syntax axolite language so as a Ruby it's made for being able to perform live so you don't want to have to worry about semicolons and stuff like breaking things but I do Wonder for the like I started that with fourth graders um I wonder if they'd down the road were to go to a more syntax heavy language if they would be like why do I need to add in all of these braces Etc and if it's gonna like cause some confusion down the road but I don't know uh another one is tune pad and then um they kind of are in collaboration with Georgia Tech which also created ear sketch so that's like a full range that can be used um from mid Elementary and on up but there are some other things that like I did with scratch Junior which is great for like early and pre-readers and you can make some like fun music programs in there where like you can create a like drum set so when you press on the different like Sprites and it will like do the different sounds for the drum set you can make a beat like things like that I really like that you started with scratch just because that's generally where I start and I'm pretty intentional with that because it does offer so much but it has limitations which to go back into this interest driven I like that there's limitations because suddenly they're wanting to do something that they can't do and so they're willing to learn a bit more once they call me over and they can't do what they want they want to know how to fix it then so I like starting there and then moving them for like you said there are some limitations but I think that kind of encourages them to learn a bit more awesome okay so I'm gonna put you on the spot a little bit with this one and I actually wrote this question so specifically I'm putting you on the spot so but I'm constantly looking to plant the seed for specific computer science careers for students what areas of current professional music production do you believe rely on computer science most and what would those job titles be yeah so depending on how you look at the like the phrasing of that question like anything that's involving any type of electronic music is going to require software Hardware you're you're going to be able to know need to know computer science to be able to create the stuff that people use for those tools but to actually give you some more like careers that specifically you have to know both or be good at both like that's where I think is really interesting if we look at a lot of live performances nowadays there's so much going on like it's not just when I'm speaking of like if you go to a concert um so if you to attend it it's not just going to be somebody on stage singing and million instruments Etc there's all sorts of Lights like LEDs imagery that sync with the music the sound or even dance like people will wear outfits that will light up depending on what kind of dance move they are using Etc like there's a lot of really fascinating things going on live that kind of blur the intersection of the Arts broadly speaking in computer science that's really cool and there's even the same organizations that specifically explore those connections but if if we go back to like some of the software like digital audio workstations or Daws they often use something called a virtual Studio technology or vsts and so these are plugins that make it so that you can make your music software do something you could not do so let's say you had it like an analog synthesizer that you really like but it's like dying on you and you wanted to be able to create one that you can use in your virtual program your software cool you can make a VST that will be that analog synthesizer Etc in order to create stuff like that I argue you have to have an understanding of not just computer science but also music making and so there are entire careers that like are specifically looking for programmers with a strong background in some kind of music making Etc because you don't want to just hire somebody who doesn't know how to make music because they know how to program because then you're going to be like having to teach them well here's this very basic concept Etc like you have to be able to understand both but now I want to give you an example that's like probably more catered toward high school students that might really be interested in this so video game sound design is a whole new thing it's no longer just about like composing music like a here's a score and it will play if you think of a movie when you're composing music the movie you know exactly how long that scene is going to be and the composers like giving parameters like hey I wanted to be action oriented it needs to be exactly on the like the three second and the Eight Second marker I don't know stuff like that but in video games what if I'm really good at video games and I can finish that sequence in five seconds or what if I'm really bad at video games and it takes me like an hour just to get through this thing that most people can do in a minute well at some point in there you're going to need to be able to program maybe even some hints audibly speaking there's this game that um I played called flower and it kind of like guides you audibly and Visually to be able to figure out what your objectives are it doesn't like tell you hey collect the flower petals and like all this stuff it's just like you kind of float around you explore and then it kind of like nudges you into Direction by like pushing some wind over here the same thing can be done with audio so you can literally program a video game to help somebody out with just the audio cues of like oh I think I hear something over in that direction maybe I should go over there but if we really want to get extra nerdy I have a friend named Julian who works at gearbox Studios which is like a really big game development company and one of the things that he was talking about is like the the things you have to consider with virtual reality and sound design so if you're playing in a video game there are certain like ways that you can interact by like pressing a button and it'll do something but if I'm in virtual reality like let's say I'm in this room that I'm in right here and I pick up my cell phone if I'm able to hold my cell phone now where I throw it is going to make a different sound if I throw it into the room far away it's going to make a different sound if like that room is all made out of metal what if I throw it into a room that's made out of wood what if I drop it on my keyboard or tap it on the mouse what if I move it in different directions Etc and I just start like hitting it on every single object in this room you could go in and record every single combination of sound in every single acoustic environment Etc or you could record maybe one sound or not record a sound at all but instead actually design the sound algorithmically and take into all kinds of different factors and mathematical equations and algorithms to be able to go okay when it is touching metal on plastic inside of a wooden room it will sound like this and if it is being bonked on my head inside of I don't know a room that is full of padded walls it's going to sound completely different so that kind of intersection is what's really coming in the future of like game design for not only music but also for sound and I find that fascinating you're really gonna need to have some people who have a firm understanding of programming and just sound in general and who like to nerd out with algorithms and math to be able to make it sound like this cell phone would sound in an actual environment in a virtual environment that's wild that is so fantastic I've never I've never put thought to that I guess I'm not a huge gamer I've played some games but I'd never put thought to those pieces but that's so in intriguing and I think we have a huge population of kids who are going to be really interested in that piece you we see a lot of kids in computer science who are like oh game development for sure but it's cool to look at all those other pieces of game develop development that are included interesting yeah this blew my mind a little bit it's so cool and most music educators like don't really think about sound broadly speaking they think about music and the music side is really cool because like you can layer in like 20 different sound variations like if there's five enemies in the room only play four of them but if there's a hundred enemies play like 20 of them like there's so many cool things you can do but like the sound and virtual reality like the the intersections of computer science is just it's fascinating wow that is fascinating I'm really excited to tell my students about this tomorrow truly they're gonna nerd out with me and we'll have so much fun uh those were all of our questions thank you for joining us and helping uh Wyoming music and computer science teachers begin to join forces together where can our listeners find and follow you online you've talked about it quite a bit so where can we find you so I talk quite a bit on the csk8 podcast you can search for that anywhere on any podcast platform or if you just go to my name charity leary.com you can find me on various social media outlets on there wonderful and I know personally I've spent quite a bit of time on your website folks you should absolutely check it out music computer science whatever you're looking for it's on there and it's a fantastic website so dig in and then a quick reminder to our listeners before we sign off for today to go visit our csta Wyoming website to register for the Summer Conference also follow us on Twitter Instagram and Facebook to stay up to date with all things computer science thank you thank you now I don't know about you but that very last question that was asked when I was talking about like VR and whatnot like that is so cool the fact that you can save so much memory so much time so much like the processing power and whatnot just by having stuff run algorithmically rather than having to record hundreds and hundreds of samples of what if I bang this object on this other surface in this new environment like it just makes it so you can adapt things on the fly so much faster than having to record stuff and get like a high quality or high resolution audio file for every single possible sound effect so the future of like Sound and Music and programming that intersection is pretty neat when it comes to video games and the VR space in particular so if you want to learn more about that I'll include some links in the show notes to some other intersections of music and computer science that you can explore on some other podcasts or Publications that I've done on this particular topic thank you so much for listening to myself be a guest on somebody else's podcast again check out csta Wyoming whether it be either podcast on Spotify Linked In the show notes or you know their conferences like the one that's coming up this summer so if you haven't done so I highly recommend attending I attended this past year and I really loved it when I was out there at the conference so check it out if you enjoyed this episode consider leaving a review or sharing it with somebody else and make sure you also do the same thing for csta Wyoming's podcast and stay tuned next week for another episode of the cska podcast until then hope you're all staying safe and are having a wonderful week 
Resources/Links Relevant to This Episode
- Other podcast episodes that were mentioned or are relevant to this episode - How to Get Started with Computer Science Education - In this episode I provide a framework for how districts and educators can get started with computer science education for free. 
 
- Intersections of Popular Musicianship and Computer Science Practices - In this episode I unpack my (2020) publication titled “Intersections of popular musicianship and computer science practices,” which discusses potential implications of hardware and software practices that blur the boundaries between music making and computer science. 
 
- Music Making in Scratch: High Floors, Low Ceilings, and Narrow Walls? - In this episode I unpack Payne and Ruthmann’s (2019) publication titled “Music making in Scratch: High floors, low ceilings, and narrow walls,” which problematizes the limitations of making music with Scratch. 
 
- Programming Music with Sonic Pi Promotes Positive Attitudes for Beginners - In this episode I unpack Petrie’s (2021) publication titled “Programming music with Sonic Pi promotes positive attitudes for beginners,” which investigates student attitudes around enjoyment, importance, and anxiety when coding music through Sonic Pi. 
 
- Reconceptualizing “Music Making:” Music Technology and Freedom in the Age of Neoliberalism - In this episode I unpack Benedict and O’Leary’s (2019) publication titled “Reconceptualizing “music making:” Music technology and freedom in the age of Neoliberalism,” which explores the use of computer science practices to counter neoliberal influence on education. 
 
- In this episode I unpack Bresler’s (1995) publication titled “The subservient, co-equal, affective, and social integration styles and their implications for the arts,” which “examines the different manifestations of arts integration in the operational, day-to-day curriculum in ordinary schools, focusing on the how, the what, and the toward what” (p. 33). 
 
 
- Find other CS educators and resources by using the #CSK8 hashtag on Twitter 
 
          
        
       
                 
                 
                 
                 
                 
                 
                 
                 
                 
  
  
    
    
     
  
  
    
    
     
  
  
    
    
     
  
  
    
    
     
  
  
    
    
    