 Okay, let's start. Hey everyone, I'm Paul. I'm a developer during the pandemic and then after my free time, I usually double with music. So this is my hobby. I don't get paid for producing music. It's just my passion to do so. So what I'm doing here today, just a shout out to my friends who are here today. I'm very happy. My friends from DataKind, BDX, from the community, my friends from the workplaces that I used to work to, and the whole post Asia family that I've been friends with. Thank you. So what is Sonic Pi? Sure. But for me it's just a platform so that I can do some coding and this code magically turns into sound so I can trigger my bass drum, my drums, I can trigger my synths, my guitars, and so on and so forth while playing or performing live. But I think I can demo this more by doing it, coding, live coding, like how people use Sonic Pi. So before that, our set list for today is very simple. We'll just make some notes and chords, the basic ones. Make some drum beats to support our music. Use some external synths if the sounds or instruments inside Sonic Pi is not good for you. You want to use your own synths. I'll try to show that and then ultimately make that as a backing track and then I can just play my guitar. So let me open the Sonic Pi. Just clear this off and then I'll just show oh yeah Yoke is my friend so I get help to hold the mic. So the basic concept of making music in Sonic Pi we just hit play, play is our command to play the music. So I'll just put some number there. So if I play this, can you hear it? That's the note C, I think middle C on the piano if I'm not mistaken. But at first I thought this is like the frequency but when I checked it's actually a MIDI note. So a MIDI number that corresponds to a note. So if musicians don't really want to type MIDI notes when composing music you can always put your MIDI note or your musical note as the letters. So you have C, 4, so C, 4th octave and it will sound the same. Yeah. And then of course let me get my sheet that I prepared for this. You can see that the both notes are exactly the same. So like oh so one thing to note on Sonic Pi if you're doing copy paste like control C, control D it will be out out C out B in Sonic Pi. So that's the same. And then of course because since this is a programming language if you're familiar with Ruby Ruby is not my first language but it has the basic syntax and then looping structures. So if I want to play a sequence of notes you can just do something like this for each note it will just play. And then the sleep code that you find there that indicates how long the note is played for this one this means that it will be played for one beat or one count. So one count for each note. So this is like playing C in octaves C3, C4 and I think C5 which you can also replace if you don't want the numbers you want the actual letter notes you can do that as well. So it's the same. And then if you want to I think you can search in the web on what note is equivalent to what or you can just see here. So you have all the octaves and then the corresponding notes on which octave you want to play but I don't really use the numbers usually I just use the C5, C4 to make it like musical in that terms. And what about if I want to play two or more notes together to form a chord. So what I have here is a C chord C chord is a triad of like C, E and the G note that forms a triad of C. So I'll just play that. So this one what I'm doing here is I'm going to play each note individually C, E, G and then I'll play them as a chord. So if I don't put sleep in between they will be played as one. That's like you arrive at your elevator level. So let me just get to the other approach. So if you don't want to type all the lines since this is a programming language you can just look through each of the notes. So I'll just copy that and then put it in sonic pie. So here it will play each of the note with interval of half a beat. So let me run that. And then if I want to play them together I'll just remove the sleep and then it will play all three simultaneously. All three notes. And then if people just you can sonic pie has a way to just for you to indicate just the chord and then the corresponding type of chord that you want to play. So let me just do that. So here I'll just play here. So I'm going to play a C major chord the one that you just here or heard it's the same chord that one. But if I want to play a minor chord here you have minor. Actually it has intelligence or auto-complete so you can choose what chord you want to play. So here I'll just change to a minor then I'll run. And then if I want to be like fancy and then do some major seven and stuff then you can do one and you can do also. It's a very faint but yeah. And then that's for with the notes but you want to have a way to look the notes so that you can have a sort of pattern that you can play over and over again. So let me introduce live looping. So here I'm just going to play a chord for every beat. So let me just show that. For every beat you can hear the note at the chord and then let me just stop that and then usually for chord patterns you have like a few chords so you can have a transition. Let me just show a bit of that as well. So here I have C sharp minor and then E major, D major and then A major and it will do. Is there a way to increase the volume? This is the loudest it gets. It's okay. So any EDM or a bit cheap fan so I got this from one of these tracks previously. I mean late at early 20th so this is the chord pattern and then here we can have a shortcut way also so like we did some shortcuts on the previous demo we can save a lot of typing by just looping a certain progression. So this progression I can just store in a variable and then I can just run it play it in the loop. So what we have here is a way of the chord pattern so the ring means it will just first chord right? So the take here is just to invoke the next chord in that sort of pattern. So if I play this it will be the sort of the same but the structure is different but the structure we have created as a little bit simpler so that we can manage later. So let's do this. So the next one that we want to show is so we have the chords we want to put in some melodies so let me share that a bit. So here let me just do that. So when we do the melodies it's like what you saw a while ago I place here some notes and then do some duration on how long that note is and then if there are like two notes that I want to play I just put that two times play that note and so on and so forth. So what I did here was I encapsulate that part or that block of quote that I don't keep writing it again and again and then call that later and then there's a melody for the ending part as well which is repeated twice. So what I did was for that live loop I just invoked that function to play that part play the distinctive for the first measure of first bar and then do the repeating part and then the distinct part for the second measure and it sounds like this. This is the so what we're going to do next and then we have this one is like it does nothing but since we are going to have multiple drums and then parts like hi hats bass drum and stuff I just put there as a metronome so it will sync to that live loop and then so that when we add the instruments later the sound will be in sync so this one is our chug chug where's the chug chug? ah, there it is so it's like 128 beats per minute and it's driving for each beat and then what we're going to add now is we want that so we're going to add some snares actually in a bit he does the claps but I don't have a clap sound here so instead of clap I'll just do what you call this I'll just do snare instead of a clap should be there and then although this won't be the EDM style because I'm going to add some hi hats but just to demo how it works like a drum kit so this one does it for every half a bit usually you want to know when what is the start of the measure so every like the eight counts I'm going to hit the crash cymbal let me stop that and then so that sometimes I get carried at doing this so let's do all the melody and then the drums so what we're doing here is we added the drums so I removed the hi hat just the kick and then the snare and then the melody and then the chord progression so this is what we want to do is some sort of an extra note so for that particular one count at the last beat so that you can hear the slide and then the other one is if we want to use an external sound like here I have another sound here called a bispo but it doesn't sound oh no okay I'll skip that let me check if I can open it again otherwise I'll skip it so instruments keyboard where's the keyboard okay it sounds now so this is a vital I'll show you later on how is that where to get that but I'm going to use that as my external synth and then here I'm just going to call an outside synth let me just run it so bifrost if for Star Wars sorry no sorry Avengers fans this is I'm using Luke midi to connect my sonic pie to bispo synth and I call my connector bifrost so that synth that you hear that's his part his part this is the one that you hear where's that feel like this one you can hear and then this is the one that vital is of open source tone and then you can gain a fraction of scare and then left left left left left left right left I want to see my talk last year. I talk about this place. I love my cross-country bike. I love my one-touch bike. I need a sound from Sonic 5. I'm thinking about that. I'm not sure. It's another open source thing. I got a CR studio and a cross-way studio. I collect one of the open sources of my B-52 track. So, music. I did some music in the pandemic. I play the piano, soundflow, various music. I play the guitar tracks, some piano tracks. Do you have any questions for Paul here? Thank you. Just a question, the sound library. Let's say I got a very big sound sampling library I got and can actually import it into one of the sample places in the different sound and make a difference. Yes, but I didn't get a chance but there's an option to load external. So, the sample here is what did I use in sample. The sample drums. You can just add the path to that wade file. So, you have a sample. Just add a wade file and then it will play. Oh, I see. So, some sample space and then your wade file. And can you also make the special effects of the sound? Oh, yeah. So, there's what you call this adding effects. So, let me just do this thing. You just need to get a chance to demo it. But you can whatever's inside, you just encapsulate it with underscore effects and then you can put reverb. There's an echo also, distortion. I see. And then just encapsulate it and then whatever's inside. Although for the, I think at first I was planning to put in my guitar as input. I mean, you can do it with live audio. There's a live audio thing. It's just that there's a challenge with latency. Oh, yes. So, what I did was everything, every sound coming from Sonic Pi, just one stream. And then if I need to play along with it, I put it separately so that this will be sort of backing track. I see. Yes. I think I haven't tried that much. If you push it at least to bespoke, bespoke has ability to so this is stereo. You have left and right channel, right? If you put in your MIDI output in the say the PD, then you can have that story effect. I think this is should be stereo but I haven't added that deeply. There should be some stereo. Of course, no, no. Or I think it's default by stereo, I think. But can explore. Anything else? Thanks, thanks, everyone.