1 00:00:00,000 --> 00:00:03,000 foreign 2 00:00:04,960 --> 00:00:08,490 [Music] 3 00:00:11,280 --> 00:00:14,360 good morning everyone 4 00:00:14,480 --> 00:00:21,359 this morning we've got Maxim Lynn Maxim 5 00:00:18,539 --> 00:00:23,160 is a freelance developer who's Co Who 6 00:00:21,359 --> 00:00:26,220 currently specializes in flutter 7 00:00:23,160 --> 00:00:29,039 development in his work as a developer 8 00:00:26,220 --> 00:00:32,700 relations engineer at code Magic 9 00:00:29,039 --> 00:00:36,600 in today's talk Maxim will take us 10 00:00:32,700 --> 00:00:39,899 on a journey into the fascinating Niche 11 00:00:36,600 --> 00:00:44,160 world of electronic music making using 12 00:00:39,899 --> 00:00:45,059 Hardware synthesizers Samplers and drum 13 00:00:44,160 --> 00:00:48,440 machines 14 00:00:45,059 --> 00:00:48,440 please welcome Maxim 15 00:00:50,860 --> 00:00:54,480 [Applause] 16 00:00:52,320 --> 00:00:56,340 oh thanks very much everyone and thank 17 00:00:54,480 --> 00:00:57,239 you very much for coming to my talk this 18 00:00:56,340 --> 00:00:59,160 morning 19 00:00:57,239 --> 00:01:02,100 um yeah so 20 00:00:59,160 --> 00:01:04,920 just a quick bit more about me I've a 21 00:01:02,100 --> 00:01:07,799 long time Android developer who now does 22 00:01:04,920 --> 00:01:09,420 flutter for his sins and more recently 23 00:01:07,799 --> 00:01:12,479 I've become a developer relations 24 00:01:09,420 --> 00:01:16,200 engineer at code magic which is a mobile 25 00:01:12,479 --> 00:01:19,140 and flutter Focus CI CD service 26 00:01:16,200 --> 00:01:21,360 and also in terms of community like I've 27 00:01:19,140 --> 00:01:22,740 been involved with our local Google 28 00:01:21,360 --> 00:01:24,479 developer group here in Melbourne for 29 00:01:22,740 --> 00:01:26,700 quite a while and we also a few years 30 00:01:24,479 --> 00:01:29,040 ago spun off uh flood in Melbourne from 31 00:01:26,700 --> 00:01:31,380 that for people interested in flood 32 00:01:29,040 --> 00:01:34,740 development here in Melbourne 33 00:01:31,380 --> 00:01:37,500 now all of these things as you may have 34 00:01:34,740 --> 00:01:40,500 noticed have absolutely zero to do with 35 00:01:37,500 --> 00:01:41,939 music and music production and to be 36 00:01:40,500 --> 00:01:45,000 honest like until about a couple of 37 00:01:41,939 --> 00:01:47,700 years ago I had absolutely no idea about 38 00:01:45,000 --> 00:01:50,520 anything at all involved with music 39 00:01:47,700 --> 00:01:52,740 apart from listening to it so I have the 40 00:01:50,520 --> 00:01:55,680 distinct honor according to my year nine 41 00:01:52,740 --> 00:01:59,759 music feature of having the lowest ever 42 00:01:55,680 --> 00:02:01,920 score on note and Rhythm recognition 43 00:01:59,759 --> 00:02:03,720 tests so I'm not only tone deaf but 44 00:02:01,920 --> 00:02:06,420 Rhythm deaf 45 00:02:03,720 --> 00:02:09,119 however this did not stop me during 46 00:02:06,420 --> 00:02:13,020 covert from having an exchange with a 47 00:02:09,119 --> 00:02:15,900 person called Bob Nystrom Bob is in his 48 00:02:13,020 --> 00:02:18,480 day job on the dart of on the dart 49 00:02:15,900 --> 00:02:21,300 language team writing the dark compiler 50 00:02:18,480 --> 00:02:24,000 but in one of his Hobbies he actually 51 00:02:21,300 --> 00:02:26,160 makes electronic music and I happen to 52 00:02:24,000 --> 00:02:28,080 watch one of his videos 53 00:02:26,160 --> 00:02:30,239 and afterwards 54 00:02:28,080 --> 00:02:32,819 um just sent him a message on I'll 55 00:02:30,239 --> 00:02:35,220 tagged him on uh Twitter saying this was 56 00:02:32,819 --> 00:02:38,640 amazing I was so impressed how he and 57 00:02:35,220 --> 00:02:41,040 other colleagues who I work with uh so 58 00:02:38,640 --> 00:02:43,680 uh into music and very often quite 59 00:02:41,040 --> 00:02:47,160 talented musicians and I just wished I 60 00:02:43,680 --> 00:02:49,500 had like a modicum of that and Bob's 61 00:02:47,160 --> 00:02:52,019 rather faithful words are well it's 62 00:02:49,500 --> 00:02:55,080 never too late so I went well 63 00:02:52,019 --> 00:02:56,819 I think this was just before the next uh 64 00:02:55,080 --> 00:02:59,220 lockdown that we had here in Melbourne 65 00:02:56,819 --> 00:03:01,440 so it's not that I had a lot of time on 66 00:02:59,220 --> 00:03:02,819 my hands with kids at home but like I 67 00:03:01,440 --> 00:03:04,980 thought well this might be a good chance 68 00:03:02,819 --> 00:03:06,959 to learn a bit more about it and down 69 00:03:04,980 --> 00:03:08,040 the rabbit hole I went 70 00:03:06,959 --> 00:03:11,099 so 71 00:03:08,040 --> 00:03:15,239 in terms of what I'm going to be talking 72 00:03:11,099 --> 00:03:16,700 about there's a huge huge area when it 73 00:03:15,239 --> 00:03:18,840 comes to 74 00:03:16,700 --> 00:03:21,239 electronic music not just music in 75 00:03:18,840 --> 00:03:24,120 general and so there are niches within 76 00:03:21,239 --> 00:03:27,180 sub niches within sub niches and the one 77 00:03:24,120 --> 00:03:27,980 I want to talk about today is 78 00:03:27,180 --> 00:03:31,019 um 79 00:03:27,980 --> 00:03:34,019 using electronic devices to make 80 00:03:31,019 --> 00:03:35,640 electronic music and so here's to give 81 00:03:34,019 --> 00:03:37,560 you a flavor of it this is the video 82 00:03:35,640 --> 00:03:40,260 from my memory the first one that I 83 00:03:37,560 --> 00:03:44,060 watched of Bob's he's made quite a few 84 00:03:40,260 --> 00:03:44,060 um oh hang on I better unmute that 85 00:03:45,720 --> 00:03:49,440 hopefully that comes up on 86 00:03:47,710 --> 00:03:52,260 [Music] 87 00:03:49,440 --> 00:03:54,720 yeah it starts quiet so this is the I 88 00:03:52,260 --> 00:03:58,379 think the first performance that I saw 89 00:03:54,720 --> 00:04:00,720 um of Bob using uh this device which is 90 00:03:58,379 --> 00:04:02,819 a an electribe 2 made by a company 91 00:04:00,720 --> 00:04:04,799 called Korg which is fairly big in the 92 00:04:02,819 --> 00:04:09,239 music scene while watching this so I 93 00:04:04,799 --> 00:04:11,340 wonder just show of hands who knows or 94 00:04:09,239 --> 00:04:12,420 has dabbled in electronic music 95 00:04:11,340 --> 00:04:14,280 production 96 00:04:12,420 --> 00:04:16,620 so someone who might know what a 97 00:04:14,280 --> 00:04:18,540 synthesizer is versus a sampler oh 98 00:04:16,620 --> 00:04:20,880 awesome so there's a few people uh so 99 00:04:18,540 --> 00:04:23,940 I'll try and keep um 100 00:04:20,880 --> 00:04:26,580 my explanation short but um enough to 101 00:04:23,940 --> 00:04:28,440 cover people who aren't across it so why 102 00:04:26,580 --> 00:04:31,139 I said performance is that in this case 103 00:04:28,440 --> 00:04:32,460 it's a standalone music or instrument or 104 00:04:31,139 --> 00:04:34,080 some people might say it's just a device 105 00:04:32,460 --> 00:04:36,479 but I think it's an instrument because 106 00:04:34,080 --> 00:04:39,900 it involves the person in this case Bob 107 00:04:36,479 --> 00:04:42,479 actually performing like making like 108 00:04:39,900 --> 00:04:44,280 changes to the music on the fly as you 109 00:04:42,479 --> 00:04:46,740 would with maybe a more traditional 110 00:04:44,280 --> 00:04:49,500 instrument like a piano or guitar or 111 00:04:46,740 --> 00:04:51,240 electronic synthesizer where he's like 112 00:04:49,500 --> 00:04:54,180 manipulating 113 00:04:51,240 --> 00:04:56,580 um which parts or tracks are playing 114 00:04:54,180 --> 00:04:59,040 he's applying filters or removing 115 00:04:56,580 --> 00:05:02,160 filters to different parts that are 116 00:04:59,040 --> 00:05:04,440 playing so it really is a performance 117 00:05:02,160 --> 00:05:05,940 um this in this one I think this is only 118 00:05:04,440 --> 00:05:07,979 this first one so you probably admit 119 00:05:05,940 --> 00:05:09,600 this is probably the lowest key one but 120 00:05:07,979 --> 00:05:11,600 there are others which are much more 121 00:05:09,600 --> 00:05:15,240 involved and like there are some 122 00:05:11,600 --> 00:05:18,419 professional musicians who through these 123 00:05:15,240 --> 00:05:20,400 performances and it involves a large 124 00:05:18,419 --> 00:05:22,259 amount of manual dexterity and 125 00:05:20,400 --> 00:05:24,539 coordination to control the gear that 126 00:05:22,259 --> 00:05:26,759 they're using to perform with so I'll 127 00:05:24,539 --> 00:05:28,740 just stop that there 128 00:05:26,759 --> 00:05:31,259 and 129 00:05:28,740 --> 00:05:32,400 oops 130 00:05:31,259 --> 00:05:34,080 move on 131 00:05:32,400 --> 00:05:36,180 so 132 00:05:34,080 --> 00:05:38,039 what Bob was using there was a Groove 133 00:05:36,180 --> 00:05:39,600 box and the reason I asked for show of 134 00:05:38,039 --> 00:05:41,759 hands was I thought I better know if 135 00:05:39,600 --> 00:05:43,860 everyone knows what one is I don't need 136 00:05:41,759 --> 00:05:46,500 to explain it but in this case I'll give 137 00:05:43,860 --> 00:05:49,500 you a quick rundown so Groove boxes are 138 00:05:46,500 --> 00:05:51,720 these Standalone pieces of hard musical 139 00:05:49,500 --> 00:05:55,560 Hardware like Bob was using that 140 00:05:51,720 --> 00:05:57,479 contains normally they're not always but 141 00:05:55,560 --> 00:06:00,300 they'll normally contain a synthesizer 142 00:05:57,479 --> 00:06:02,759 or a sampler a synthesizer synthesizes 143 00:06:00,300 --> 00:06:05,520 music from just raw waveform Samplers 144 00:06:02,759 --> 00:06:09,960 will play back samples like little tiny 145 00:06:05,520 --> 00:06:11,880 recordings of music or some other sound 146 00:06:09,960 --> 00:06:13,620 they'll often have a built-in drum 147 00:06:11,880 --> 00:06:14,880 machine so the thing that like in the 148 00:06:13,620 --> 00:06:18,180 80s people thought might replace 149 00:06:14,880 --> 00:06:20,100 drummers but didn't really but I used a 150 00:06:18,180 --> 00:06:22,620 lot throughout music production 151 00:06:20,100 --> 00:06:24,660 especially in pop music and sequences 152 00:06:22,620 --> 00:06:27,060 because it's enough to it's not enough 153 00:06:24,660 --> 00:06:30,180 to just have a sequence a synthesizer or 154 00:06:27,060 --> 00:06:31,860 a sampler that produces notes or sounds 155 00:06:30,180 --> 00:06:35,580 you want something that sequences it 156 00:06:31,860 --> 00:06:39,479 into a track into a score of music so 157 00:06:35,580 --> 00:06:41,460 all these things basically make up a 158 00:06:39,479 --> 00:06:43,620 Groove what's called a Groove box 159 00:06:41,460 --> 00:06:45,479 because you can often get Standalone 160 00:06:43,620 --> 00:06:47,220 pieces of Hardware that do just one of 161 00:06:45,479 --> 00:06:51,060 these functions but Groove boxes are 162 00:06:47,220 --> 00:06:53,460 kind of uh a genre or like a set of 163 00:06:51,060 --> 00:06:56,039 instruments that cover 164 00:06:53,460 --> 00:06:58,080 like all most of all of those functions 165 00:06:56,039 --> 00:07:00,900 and this is just for something that's 166 00:06:58,080 --> 00:07:03,000 really a niche of electronic music 167 00:07:00,900 --> 00:07:05,400 production because I should say that 168 00:07:03,000 --> 00:07:09,300 recently most electronic music producers 169 00:07:05,400 --> 00:07:11,160 use uh software called doors or diws 170 00:07:09,300 --> 00:07:13,620 digital audio workstations basically the 171 00:07:11,160 --> 00:07:16,440 audio equivalent of a video editor 172 00:07:13,620 --> 00:07:18,660 to produce their music but there is like 173 00:07:16,440 --> 00:07:21,840 this Niche like I said or 174 00:07:18,660 --> 00:07:23,400 um a sub Niche where people do doorless 175 00:07:21,840 --> 00:07:25,860 what they call dawless music which is 176 00:07:23,400 --> 00:07:27,599 producing electronic music just with 177 00:07:25,860 --> 00:07:29,039 these Standalone devices and for 178 00:07:27,599 --> 00:07:30,900 something that is a niche it's amazing 179 00:07:29,039 --> 00:07:33,840 just the amount of variety of devices 180 00:07:30,900 --> 00:07:36,000 from a number of quite a large number of 181 00:07:33,840 --> 00:07:38,699 Manufacturers some well-known ones like 182 00:07:36,000 --> 00:07:40,620 Yamaha or Roland that people who might 183 00:07:38,699 --> 00:07:42,900 say use electrical electronic 184 00:07:40,620 --> 00:07:46,220 synthesizers or pianos would recognize 185 00:07:42,900 --> 00:07:49,380 those names whereas others like electron 186 00:07:46,220 --> 00:07:51,360 are much more Niche they focus just on 187 00:07:49,380 --> 00:07:53,099 these devices and are much smaller 188 00:07:51,360 --> 00:07:55,020 companies but it's amazing like just the 189 00:07:53,099 --> 00:07:57,840 variety so the one in the middle here 190 00:07:55,020 --> 00:07:59,759 there I've got uh here with me today 191 00:07:57,840 --> 00:08:03,120 this is the circuit Track by a company 192 00:07:59,759 --> 00:08:04,860 called Novation in the UK now the 193 00:08:03,120 --> 00:08:08,819 interesting thing you might notice with 194 00:08:04,860 --> 00:08:11,900 that is the complete absence of any 195 00:08:08,819 --> 00:08:16,800 screen there is the UI consists of 196 00:08:11,900 --> 00:08:18,780 buttons which light up dials and rotary 197 00:08:16,800 --> 00:08:20,460 encoders there but there's no screen so 198 00:08:18,780 --> 00:08:22,319 the whole can it's a fairly complex 199 00:08:20,460 --> 00:08:24,720 piece of equipment but there is no 200 00:08:22,319 --> 00:08:27,539 screen which in today's 201 00:08:24,720 --> 00:08:28,979 um day and age if you like is quite 202 00:08:27,539 --> 00:08:30,720 unusual like we're so used to having 203 00:08:28,979 --> 00:08:33,300 basically a large high definition screen 204 00:08:30,720 --> 00:08:34,919 in our pockets that having an electronic 205 00:08:33,300 --> 00:08:37,560 device and controlling it with no screen 206 00:08:34,919 --> 00:08:40,140 at all probably seems a bit unusual to 207 00:08:37,560 --> 00:08:42,659 people these days now the other thing 208 00:08:40,140 --> 00:08:45,540 that all these devices had in common was 209 00:08:42,659 --> 00:08:48,240 that they are proprietary not even open 210 00:08:45,540 --> 00:08:51,000 source let alone open Hardware these are 211 00:08:48,240 --> 00:08:54,180 completely closed I briefly owned the 212 00:08:51,000 --> 00:08:56,940 blue one there the electron that Bob was 213 00:08:54,180 --> 00:08:59,760 playing just in a different colored 214 00:08:56,940 --> 00:09:00,899 version and there was a chap online I 215 00:08:59,760 --> 00:09:02,640 think he's based in England he was 216 00:09:00,899 --> 00:09:06,240 reverse engineering the firmware and 217 00:09:02,640 --> 00:09:09,600 binary patching bits of it to change or 218 00:09:06,240 --> 00:09:11,820 modify or add functionality but that was 219 00:09:09,600 --> 00:09:13,440 just like I I got into that for a little 220 00:09:11,820 --> 00:09:14,880 bit but that was just crazy stuff like I 221 00:09:13,440 --> 00:09:18,420 have better things to do in my life than 222 00:09:14,880 --> 00:09:20,519 binary patch a proprietary firmware from 223 00:09:18,420 --> 00:09:23,160 a manufacturer who cares nothing about 224 00:09:20,519 --> 00:09:24,480 updating or supporting the device that 225 00:09:23,160 --> 00:09:25,980 they are still like not that they've 226 00:09:24,480 --> 00:09:27,959 abandoned that they're still selling in 227 00:09:25,980 --> 00:09:29,880 the shops but they have not sent out an 228 00:09:27,959 --> 00:09:33,360 update a firmware update for like about 229 00:09:29,880 --> 00:09:35,459 four years so instead I kind of got 230 00:09:33,360 --> 00:09:38,519 inspired to think about well what about 231 00:09:35,459 --> 00:09:40,260 a DIY oh I groove box like being a 232 00:09:38,519 --> 00:09:42,000 software developer and engineer is a 233 00:09:40,260 --> 00:09:43,700 both a blessing and a curse because you 234 00:09:42,000 --> 00:09:46,500 always see someone else's 235 00:09:43,700 --> 00:09:50,279 efforts and go I could do that no I can 236 00:09:46,500 --> 00:09:52,440 do better than that but what happens is 237 00:09:50,279 --> 00:09:53,760 that when you start doing it you realize 238 00:09:52,440 --> 00:09:55,080 there's a reason that there are 239 00:09:53,760 --> 00:09:58,680 companies doing this rather than 240 00:09:55,080 --> 00:10:01,140 individuals because it tends to be a lot 241 00:09:58,680 --> 00:10:03,120 of work to produce a professional device 242 00:10:01,140 --> 00:10:05,040 but anyway I didn't let that stop me so 243 00:10:03,120 --> 00:10:06,480 this is a project I came to talk to you 244 00:10:05,040 --> 00:10:08,720 about that I've been working on and off 245 00:10:06,480 --> 00:10:12,000 on for about a year or so now 246 00:10:08,720 --> 00:10:15,360 in various incarnations so my DIY Groove 247 00:10:12,000 --> 00:10:17,760 box might look a bit like 248 00:10:15,360 --> 00:10:20,040 um yeah a DIY version of those ones but 249 00:10:17,760 --> 00:10:21,360 the main difference is that it's this 250 00:10:20,040 --> 00:10:22,920 thing that you're seeing is not a Groove 251 00:10:21,360 --> 00:10:25,980 box it's what's called a midi controller 252 00:10:22,920 --> 00:10:28,380 it's essentially the equivalent of a 253 00:10:25,980 --> 00:10:30,600 keyboard or a mouse or a touchpad it's 254 00:10:28,380 --> 00:10:32,100 just an input device it does not make 255 00:10:30,600 --> 00:10:35,040 any sound there is no Hardware in there 256 00:10:32,100 --> 00:10:36,899 to make sounds of any sort so hence the 257 00:10:35,040 --> 00:10:39,720 other bit that's in the picture which is 258 00:10:36,899 --> 00:10:42,720 in this case a Raspberry Pi 4 whose job 259 00:10:39,720 --> 00:10:46,380 it is to make the sounds based on the 260 00:10:42,720 --> 00:10:49,079 inputs coming from this controller 261 00:10:46,380 --> 00:10:50,880 so that was my starting point is I 262 00:10:49,079 --> 00:10:52,200 thought well this is pretty much what I 263 00:10:50,880 --> 00:10:54,180 want in terms of the hardware I do not 264 00:10:52,200 --> 00:10:57,060 want to make something and like solder 265 00:10:54,180 --> 00:10:59,579 up a bunch of buttons and encoders and 266 00:10:57,060 --> 00:11:01,260 potentially even a small uh screen so 267 00:10:59,579 --> 00:11:03,839 instead this I chose this is my starting 268 00:11:01,260 --> 00:11:06,540 point which admittedly is a proprietary 269 00:11:03,839 --> 00:11:08,640 like Hardware product but luckily it 270 00:11:06,540 --> 00:11:10,019 uses midi now I've mentioned maybe a 271 00:11:08,640 --> 00:11:11,940 couple of times there's probably people 272 00:11:10,019 --> 00:11:14,100 here who don't know hands up who doesn't 273 00:11:11,940 --> 00:11:16,320 know what midi is or hasn't heard of it 274 00:11:14,100 --> 00:11:18,480 oh actually okay there's not too many 275 00:11:16,320 --> 00:11:19,500 cool so I'll be really quick about this 276 00:11:18,480 --> 00:11:21,060 because I thought I'd have to explain 277 00:11:19,500 --> 00:11:23,399 this I've done this similar talk to 278 00:11:21,060 --> 00:11:25,800 others audiences where midi wasn't a 279 00:11:23,399 --> 00:11:27,120 well-known thing so it's basically both 280 00:11:25,800 --> 00:11:28,680 a protocol and like a hardware 281 00:11:27,120 --> 00:11:31,500 specification but the thing I'm most 282 00:11:28,680 --> 00:11:33,899 involved interested in is it's like a 283 00:11:31,500 --> 00:11:35,880 protocol that these days mostly runs 284 00:11:33,899 --> 00:11:39,420 over USB originally it was over a serial 285 00:11:35,880 --> 00:11:41,279 connection and yes 31 kilobits was the 286 00:11:39,420 --> 00:11:44,880 original speed because it was a nice 287 00:11:41,279 --> 00:11:46,380 mult oh sorry 31.25 because that was a 288 00:11:44,880 --> 00:11:48,180 nice multiple of one megahertz which 289 00:11:46,380 --> 00:11:51,180 which is what most of the equipment was 290 00:11:48,180 --> 00:11:54,240 in the early 80s when midi got started 291 00:11:51,180 --> 00:11:55,680 as like a popular 292 00:11:54,240 --> 00:11:58,560 and I think it's become an industry 293 00:11:55,680 --> 00:12:01,440 standard even though it wasn't quite um 294 00:11:58,560 --> 00:12:03,420 like picked up by any standards body so 295 00:12:01,440 --> 00:12:05,760 luckily for me even though this was a 296 00:12:03,420 --> 00:12:07,920 proprietary device a really nice person 297 00:12:05,760 --> 00:12:10,440 called Paul Curtis had published a set 298 00:12:07,920 --> 00:12:12,180 of Articles a couple of years before me 299 00:12:10,440 --> 00:12:15,000 or a year and a half before me where 300 00:12:12,180 --> 00:12:17,820 titled decoding that kind midi fire uh 301 00:12:15,000 --> 00:12:20,220 implementation where he figured out all 302 00:12:17,820 --> 00:12:23,519 the non-standard midi bits because midi 303 00:12:20,220 --> 00:12:25,019 is made up of both a standard set of 304 00:12:23,519 --> 00:12:27,720 specifications and then there's this 305 00:12:25,019 --> 00:12:29,160 kind of like vendor-specific bit where 306 00:12:27,720 --> 00:12:31,920 vendors can just do whatever the hell 307 00:12:29,160 --> 00:12:35,220 they like sorry for my language so like 308 00:12:31,920 --> 00:12:38,100 unfortunately the acai controller had 309 00:12:35,220 --> 00:12:40,140 some standard bits like say the button 310 00:12:38,100 --> 00:12:41,399 LEDs very simple to figure out like you 311 00:12:40,140 --> 00:12:44,760 could just basically do it with almost 312 00:12:41,399 --> 00:12:47,100 no reference to any documentation and 313 00:12:44,760 --> 00:12:49,380 Illuminating the LEDs was like a little 314 00:12:47,100 --> 00:12:51,360 bit more work to figure out but he did 315 00:12:49,380 --> 00:12:53,279 that really quickly according to his 316 00:12:51,360 --> 00:12:55,019 write-up but then there were things like 317 00:12:53,279 --> 00:12:57,899 figuring out how 318 00:12:55,019 --> 00:13:00,180 those colored pads work and how the 319 00:12:57,899 --> 00:13:02,579 computer can tell the controller to 320 00:13:00,180 --> 00:13:04,320 light up those pads which was very 321 00:13:02,579 --> 00:13:07,500 proprietary very specific to this 322 00:13:04,320 --> 00:13:09,779 controller and note the bit about that 323 00:13:07,500 --> 00:13:11,339 even when he tried to use Wireshark it 324 00:13:09,779 --> 00:13:13,440 couldn't handle like the crazy 325 00:13:11,339 --> 00:13:15,360 non-standard stuff that they did luckily 326 00:13:13,440 --> 00:13:17,579 he did all that work 327 00:13:15,360 --> 00:13:19,440 um to figure that out and so I got to 328 00:13:17,579 --> 00:13:21,180 benefit from it the other thing you may 329 00:13:19,440 --> 00:13:24,480 have noticed with the controller was 330 00:13:21,180 --> 00:13:26,160 that it has an OLED screen a really tiny 331 00:13:24,480 --> 00:13:28,500 like less than one inch screen but 332 00:13:26,160 --> 00:13:30,240 actually up close or like at the normal 333 00:13:28,500 --> 00:13:33,420 operating distance it's actually very 334 00:13:30,240 --> 00:13:37,320 clear like even though it's tiny but it 335 00:13:33,420 --> 00:13:38,459 has a yet even crazier over midi 336 00:13:37,320 --> 00:13:39,899 implementation like for those of you 337 00:13:38,459 --> 00:13:42,240 who've done Electronics you might have 338 00:13:39,899 --> 00:13:44,160 thought it's i2c or it's SBI control 339 00:13:42,240 --> 00:13:45,779 that's how these devices normally are 340 00:13:44,160 --> 00:13:48,600 controlled and internally it probably is 341 00:13:45,779 --> 00:13:50,100 like an i2c device ins with whatever 342 00:13:48,600 --> 00:13:53,220 microcontroller controls this 343 00:13:50,100 --> 00:13:55,320 contraption but externally you talk to 344 00:13:53,220 --> 00:13:57,300 it over midi with this absolute really 345 00:13:55,320 --> 00:13:59,639 crazy mapping that thank God I did not 346 00:13:57,300 --> 00:14:03,720 have to figure out Paul did that for me 347 00:13:59,639 --> 00:14:05,940 and had like published that um mapping 348 00:14:03,720 --> 00:14:09,060 so for all that was left for me was look 349 00:14:05,940 --> 00:14:12,779 at his C code and basically translate 350 00:14:09,060 --> 00:14:14,579 that Matrix into Dart code now use it 351 00:14:12,779 --> 00:14:17,700 even though I'd done this and I got it 352 00:14:14,579 --> 00:14:19,079 working it wasn't super fun to do all 353 00:14:17,700 --> 00:14:21,839 this low-level 354 00:14:19,079 --> 00:14:24,779 um stuff on these days I have done 355 00:14:21,839 --> 00:14:26,940 embedded C long time ago these days I do 356 00:14:24,779 --> 00:14:28,980 like Dart and flutter much more high 357 00:14:26,940 --> 00:14:32,040 level stuff so I quickly package all 358 00:14:28,980 --> 00:14:33,540 this up into some Dart packages like npm 359 00:14:32,040 --> 00:14:35,760 modules for those of you as npm that 360 00:14:33,540 --> 00:14:37,680 sort of thing just into a library that 361 00:14:35,760 --> 00:14:38,880 hid all this away from me so I once I'd 362 00:14:37,680 --> 00:14:41,519 done it I never had to think about it 363 00:14:38,880 --> 00:14:44,040 again and those packages basically 364 00:14:41,519 --> 00:14:45,779 presented me with a much nicer into or 365 00:14:44,040 --> 00:14:47,639 presented me and whoever else is much 366 00:14:45,779 --> 00:14:50,040 nicer interface so for instance you just 367 00:14:47,639 --> 00:14:51,779 get a list sorry for those who don't 368 00:14:50,040 --> 00:14:53,519 know Dart but hopefully this is very C 369 00:14:51,779 --> 00:14:55,440 like you can understand what's happening 370 00:14:53,519 --> 00:14:58,320 here it's just an array of booleans 371 00:14:55,440 --> 00:15:00,839 because that OLED is just monochrome 372 00:14:58,320 --> 00:15:02,519 it's just each pixel is on or off and as 373 00:15:00,839 --> 00:15:05,160 you can see by the sizing it's actually 374 00:15:02,519 --> 00:15:07,320 120 I buy 64 pixels so not exactly high 375 00:15:05,160 --> 00:15:09,180 res so basically it's just an array of 376 00:15:07,320 --> 00:15:11,699 booleans and whichever one's on off 377 00:15:09,180 --> 00:15:15,600 that's how the screen gets lit up 378 00:15:11,699 --> 00:15:17,339 so these are the packages I made that 379 00:15:15,600 --> 00:15:21,300 wrap up 380 00:15:17,339 --> 00:15:25,380 on a Next Level kind of like the more 381 00:15:21,300 --> 00:15:27,600 um everyday bits of uh code that I 382 00:15:25,380 --> 00:15:30,540 needed to draw onto this so doing a font 383 00:15:27,600 --> 00:15:31,980 luckily another old just by sheer 384 00:15:30,540 --> 00:15:35,399 coincidence a really old colleague of 385 00:15:31,980 --> 00:15:37,260 mine Susan Hinton had created a bitmap 386 00:15:35,399 --> 00:15:38,959 font for these devices because she was 387 00:15:37,260 --> 00:15:41,820 mucking around with them using node.js 388 00:15:38,959 --> 00:15:44,399 and I she also had some drawing routines 389 00:15:41,820 --> 00:15:46,740 that I shamelessly pinched and converted 390 00:15:44,399 --> 00:15:49,800 from typescript to Dart and so I had 391 00:15:46,740 --> 00:15:51,779 these more still low level but slightly 392 00:15:49,800 --> 00:15:54,839 higher level API so I could just have 393 00:15:51,779 --> 00:15:56,940 basically something that is a canvas and 394 00:15:54,839 --> 00:15:59,519 you can just do drawing operate you know 395 00:15:56,940 --> 00:16:01,860 the standard draw line draw Square fill 396 00:15:59,519 --> 00:16:03,120 those sort of really basic canvassy 397 00:16:01,860 --> 00:16:05,760 things that people are probably familiar 398 00:16:03,120 --> 00:16:07,500 with lots of different apis like the web 399 00:16:05,760 --> 00:16:09,899 canvas and so forth 400 00:16:07,500 --> 00:16:11,579 okay I've talked about the input and a 401 00:16:09,899 --> 00:16:13,740 little bit of the output but the main 402 00:16:11,579 --> 00:16:15,959 output is sound we want music well 403 00:16:13,740 --> 00:16:19,440 hopefully in my case at least sounds if 404 00:16:15,959 --> 00:16:21,480 not really listenable music now what 405 00:16:19,440 --> 00:16:23,639 people who may have done any kind of 406 00:16:21,480 --> 00:16:25,980 sound programming that required low 407 00:16:23,639 --> 00:16:27,660 latency would realize is it is 408 00:16:25,980 --> 00:16:29,459 absolutely insane to try and do that 409 00:16:27,660 --> 00:16:32,160 with a garbage collected language like 410 00:16:29,459 --> 00:16:33,839 Dart because there's whole papers that 411 00:16:32,160 --> 00:16:35,820 have been written about how crazy it is 412 00:16:33,839 --> 00:16:39,660 to even use Malik for those of you who 413 00:16:35,820 --> 00:16:42,240 are C literate to allocate memory while 414 00:16:39,660 --> 00:16:44,639 you're in the time-sensitive bit of the 415 00:16:42,240 --> 00:16:46,199 code that actually is pushing audio data 416 00:16:44,639 --> 00:16:47,459 out to the sound card when you're doing 417 00:16:46,199 --> 00:16:49,380 low latency like it doesn't matter if 418 00:16:47,459 --> 00:16:51,720 you're playing back an mp4 or something 419 00:16:49,380 --> 00:16:53,699 like that's not low latency low latency 420 00:16:51,720 --> 00:16:54,959 is when you're pressing a key and you 421 00:16:53,699 --> 00:16:56,699 want the sound to come out as fast as 422 00:16:54,959 --> 00:16:58,800 possible out of the speaker not when 423 00:16:56,699 --> 00:17:00,959 you're like listening to us like a music 424 00:16:58,800 --> 00:17:02,699 track or watching a video so for that 425 00:17:00,959 --> 00:17:04,439 sort of thing a garbage collected 426 00:17:02,699 --> 00:17:06,360 language is no good like even like I 427 00:17:04,439 --> 00:17:08,280 said they people tell you not to do 428 00:17:06,360 --> 00:17:10,860 memory allocations on the thread that's 429 00:17:08,280 --> 00:17:14,339 doing that because the Malik might 430 00:17:10,860 --> 00:17:16,799 potentially take too long so this was 431 00:17:14,339 --> 00:17:19,559 yeah using Dart was no go so what could 432 00:17:16,799 --> 00:17:22,140 I do well I shopped around for different 433 00:17:19,559 --> 00:17:25,140 ways of getting sand out and I settled 434 00:17:22,140 --> 00:17:27,059 on this which was a thing called sunvox 435 00:17:25,140 --> 00:17:29,340 sunvox is 436 00:17:27,059 --> 00:17:33,660 again like a niche within the niche it's 437 00:17:29,340 --> 00:17:35,280 a small fast and Powerful modular 438 00:17:33,660 --> 00:17:38,640 synthesizer with a pattern-based 439 00:17:35,280 --> 00:17:40,679 sequencer brackets tracker so it also 440 00:17:38,640 --> 00:17:44,460 comes luckily for me in a library 441 00:17:40,679 --> 00:17:47,580 version because sunbox itself is not 442 00:17:44,460 --> 00:17:50,940 um open source it's like a free or 443 00:17:47,580 --> 00:17:54,419 slightly paid for product 444 00:17:50,940 --> 00:17:57,360 but it had it's Core Audio library is an 445 00:17:54,419 --> 00:17:59,580 MIT licensed open source Library 446 00:17:57,360 --> 00:18:02,280 perfect for what I needed I just wanted 447 00:17:59,580 --> 00:18:06,240 the sound bit I did not want 448 00:18:02,280 --> 00:18:07,860 um a full basically audio package now a 449 00:18:06,240 --> 00:18:11,400 little tangent because of those brackets 450 00:18:07,860 --> 00:18:13,320 tracker what is a tracker for those of 451 00:18:11,400 --> 00:18:15,360 you who had a misspent youth like me in 452 00:18:13,320 --> 00:18:17,460 the 80s might have heard of trackers 453 00:18:15,360 --> 00:18:18,900 because they were often used to it was 454 00:18:17,460 --> 00:18:21,000 the software that was used to produce 455 00:18:18,900 --> 00:18:22,980 the audio tracks that played when you 456 00:18:21,000 --> 00:18:25,799 applied the crack on your favorite game 457 00:18:22,980 --> 00:18:28,320 that you did not legally purchase and 458 00:18:25,799 --> 00:18:30,600 hence did not have the whatever DRM was 459 00:18:28,320 --> 00:18:33,600 trying to protect and so this was the 460 00:18:30,600 --> 00:18:35,640 days like we're talking 80s like days of 461 00:18:33,600 --> 00:18:38,039 the 16-bit computers like the Amiga 500s 462 00:18:35,640 --> 00:18:39,780 trackers became very popular they 463 00:18:38,039 --> 00:18:42,299 basically preceded these digital audio 464 00:18:39,780 --> 00:18:45,179 workstations that are now the mainstream 465 00:18:42,299 --> 00:18:48,840 way of making electronic music 466 00:18:45,179 --> 00:18:50,520 so the track is like gradually died away 467 00:18:48,840 --> 00:18:52,860 on computers like they're still used 468 00:18:50,520 --> 00:18:55,679 like in um some places like the demo 469 00:18:52,860 --> 00:18:58,080 scene but what's happened strangely to 470 00:18:55,679 --> 00:18:59,640 me recently that I've discovered it is 471 00:18:58,080 --> 00:19:01,620 that there's been a Resurgence in 472 00:18:59,640 --> 00:19:04,080 interest based on Hardware trackers so 473 00:19:01,620 --> 00:19:06,059 these are coming back again to my 474 00:19:04,080 --> 00:19:07,620 original kind of topic these are like 475 00:19:06,059 --> 00:19:10,080 standard these Standalone groovebox 476 00:19:07,620 --> 00:19:12,720 devices but now done in the format of 477 00:19:10,080 --> 00:19:14,880 trackers now what I guess the key thing 478 00:19:12,720 --> 00:19:17,039 about trackers is that they have this 479 00:19:14,880 --> 00:19:19,860 grid like people call a spreadsheet 480 00:19:17,039 --> 00:19:21,840 Excel like way of laying out the tracks 481 00:19:19,860 --> 00:19:23,880 unlike digital audio stations which 482 00:19:21,840 --> 00:19:25,320 usually look like more a piano roll for 483 00:19:23,880 --> 00:19:27,780 those of you who are musically in kind 484 00:19:25,320 --> 00:19:31,620 UI 485 00:19:27,780 --> 00:19:33,660 so for me sandbox like was perfect 486 00:19:31,620 --> 00:19:36,179 because it was a really as you can see 487 00:19:33,660 --> 00:19:38,340 mature long-term project it's been 488 00:19:36,179 --> 00:19:39,600 around so long that it had a palm OS 489 00:19:38,340 --> 00:19:42,120 version 490 00:19:39,600 --> 00:19:43,620 but also meant that it was super that 491 00:19:42,120 --> 00:19:45,780 meant it was super lightweight if it ran 492 00:19:43,620 --> 00:19:47,520 on Palm OS even like back in the day 493 00:19:45,780 --> 00:19:48,660 that meant if I wanted something that 494 00:19:47,520 --> 00:19:50,220 was going to run low power at 495 00:19:48,660 --> 00:19:51,840 singleboard computer like a Raspberry Pi 496 00:19:50,220 --> 00:19:53,220 and my intention isn't to use a 497 00:19:51,840 --> 00:19:55,559 Raspberry Pi 4 in the end but something 498 00:19:53,220 --> 00:19:58,440 much more low powered this is just a 499 00:19:55,559 --> 00:20:00,539 convenient prototyping device this 500 00:19:58,440 --> 00:20:02,820 looked like a gold mine this looked like 501 00:20:00,539 --> 00:20:04,860 the thing I wanted thankfully it's 502 00:20:02,820 --> 00:20:07,020 maintained an author it's still been 503 00:20:04,860 --> 00:20:09,840 going at it for like over 10 years or 504 00:20:07,020 --> 00:20:12,120 maybe close to 15 years now so it looks 505 00:20:09,840 --> 00:20:14,820 like it's not going away anytime soon so 506 00:20:12,120 --> 00:20:17,220 like I said the sunvox app itself has a 507 00:20:14,820 --> 00:20:20,039 UI like this I don't want any of that UI 508 00:20:17,220 --> 00:20:22,260 that is the thing that I'm not trying to 509 00:20:20,039 --> 00:20:26,220 do I am trying to build a hardware 510 00:20:22,260 --> 00:20:28,620 device so instead I've got a lightweight 511 00:20:26,220 --> 00:20:31,200 library that lets me put out the sound 512 00:20:28,620 --> 00:20:32,280 its source is available there's if I 513 00:20:31,200 --> 00:20:35,100 have time there's a little bit of a 514 00:20:32,280 --> 00:20:36,840 complicated story about how open source 515 00:20:35,100 --> 00:20:39,059 open source 516 00:20:36,840 --> 00:20:40,860 um lib sandbox is but anyway it's open 517 00:20:39,059 --> 00:20:43,980 source enough 518 00:20:40,860 --> 00:20:46,620 um and so basically all I need to do is 519 00:20:43,980 --> 00:20:49,380 a way to call it from Dart nice thing is 520 00:20:46,620 --> 00:20:54,120 Dart has and I'm going to like put on my 521 00:20:49,380 --> 00:20:56,880 Dart Advocate hat here Dart to me has a 522 00:20:54,120 --> 00:20:59,340 beautiful ffi that's a foreign function 523 00:20:56,880 --> 00:21:02,039 interface for those of you who haven't 524 00:20:59,340 --> 00:21:03,720 needed to call basically 525 00:21:02,039 --> 00:21:06,059 um one language from another language so 526 00:21:03,720 --> 00:21:09,000 in this case it's a way of calling any 527 00:21:06,059 --> 00:21:10,559 basically any c code NEC library from 528 00:21:09,000 --> 00:21:13,080 Dart 529 00:21:10,559 --> 00:21:15,600 and what it means is that I have 530 00:21:13,080 --> 00:21:17,520 basically in Fairly non-technical terms 531 00:21:15,600 --> 00:21:19,559 it has it gives me a really easy and 532 00:21:17,520 --> 00:21:21,539 clean way of making use of a C library 533 00:21:19,559 --> 00:21:23,880 which is what lib sandbox is from my 534 00:21:21,539 --> 00:21:25,620 Dart code which is no good for 535 00:21:23,880 --> 00:21:28,500 generating the audio itself so live 536 00:21:25,620 --> 00:21:30,840 sunbox does all the audio playback in 537 00:21:28,500 --> 00:21:33,120 generation for me Dart is kind of like 538 00:21:30,840 --> 00:21:36,419 the Puppet Master it just sends things 539 00:21:33,120 --> 00:21:37,919 like play or go to this point in time or 540 00:21:36,419 --> 00:21:40,140 stop or pause that sort of thing or 541 00:21:37,919 --> 00:21:42,000 switch tracks or mute tracks so it's 542 00:21:40,140 --> 00:21:43,440 just like the control system as you like 543 00:21:42,000 --> 00:21:45,000 so it gives me a nice high level 544 00:21:43,440 --> 00:21:47,539 language to do all my control stuff in 545 00:21:45,000 --> 00:21:50,640 lib sandbox does all the low level 546 00:21:47,539 --> 00:21:53,580 nitty-gritty audio uh 547 00:21:50,640 --> 00:21:54,900 playback and synthesis for me and so 548 00:21:53,580 --> 00:21:56,820 that's one thing I probably should say 549 00:21:54,900 --> 00:21:59,880 when I say the word synthesis I said 550 00:21:56,820 --> 00:22:01,460 mentioned synthesizers and Samplers a 551 00:21:59,880 --> 00:22:05,240 little while ago so basically 552 00:22:01,460 --> 00:22:08,159 synthesizers use raw sine square 553 00:22:05,240 --> 00:22:09,600 triangle waves to create audio or 554 00:22:08,159 --> 00:22:11,640 another technique called frequency 555 00:22:09,600 --> 00:22:13,200 modulation Samplers Play Back Little 556 00:22:11,640 --> 00:22:15,480 Bits so you might have a recording of a 557 00:22:13,200 --> 00:22:18,120 piano recording of a snare drum kick 558 00:22:15,480 --> 00:22:22,620 drums some guitar and just use those 559 00:22:18,120 --> 00:22:24,720 little Snippets of audio and sometimes 560 00:22:22,620 --> 00:22:26,460 Tunes them up and down to get the notes 561 00:22:24,720 --> 00:22:29,059 and so those are kind of like the two 562 00:22:26,460 --> 00:22:33,120 main ways these instruments generate 563 00:22:29,059 --> 00:22:34,980 musical sounding sounds so the track is 564 00:22:33,120 --> 00:22:37,679 in bygone days we're all Samplers 565 00:22:34,980 --> 00:22:39,720 because all those computers had really 566 00:22:37,679 --> 00:22:41,880 minimal CPU power these days we've got 567 00:22:39,720 --> 00:22:44,880 huge amount of CPU power in our phones 568 00:22:41,880 --> 00:22:46,260 let alone on our laptops and desktops so 569 00:22:44,880 --> 00:22:49,200 synthesis 570 00:22:46,260 --> 00:22:51,720 um is quite feasible in terms of a 571 00:22:49,200 --> 00:22:53,460 modern tracker and so sunbox does both 572 00:22:51,720 --> 00:22:55,500 it lets you play back samples but it 573 00:22:53,460 --> 00:22:57,299 also that's the where the modular bit 574 00:22:55,500 --> 00:22:59,880 comes in this description it's kind of 575 00:22:57,299 --> 00:23:01,200 gives you all these little modules that 576 00:22:59,880 --> 00:23:02,940 generate different types of sounds 577 00:23:01,200 --> 00:23:05,940 different types of waves that you can 578 00:23:02,940 --> 00:23:09,360 stick together apply effects to and get 579 00:23:05,940 --> 00:23:11,159 all these different kinds of musical 580 00:23:09,360 --> 00:23:14,700 outputs 581 00:23:11,159 --> 00:23:17,340 so having that basically I need to get 582 00:23:14,700 --> 00:23:20,520 back to my core goal which is getting 583 00:23:17,340 --> 00:23:22,500 something running on a device so the 584 00:23:20,520 --> 00:23:25,559 idea is has to run on something like a 585 00:23:22,500 --> 00:23:27,960 pi because I want to put a singleboard 586 00:23:25,559 --> 00:23:29,400 computer Plus Battery into that 587 00:23:27,960 --> 00:23:31,320 um 588 00:23:29,400 --> 00:23:32,760 acai controller's case and have 589 00:23:31,320 --> 00:23:34,500 something that's reasonably Standalone 590 00:23:32,760 --> 00:23:36,960 like those group Standalone Groove boxes 591 00:23:34,500 --> 00:23:39,240 they're like usually battery powered 592 00:23:36,960 --> 00:23:39,960 Standalone devices like the like this 593 00:23:39,240 --> 00:23:42,059 one 594 00:23:39,960 --> 00:23:44,039 that I showed you see no cables it's 595 00:23:42,059 --> 00:23:46,260 just running off an internal battery and 596 00:23:44,039 --> 00:23:48,539 it's fairly lightweight not too thick 597 00:23:46,260 --> 00:23:50,039 that's kind of like the end goal so I 598 00:23:48,539 --> 00:23:53,039 need something 599 00:23:50,039 --> 00:23:54,840 that is low powered enough probably low 600 00:23:53,039 --> 00:23:57,059 power than the Raspberry Pi 4 that is 601 00:23:54,840 --> 00:23:59,280 going to fit in my MIDI controller case 602 00:23:57,059 --> 00:24:02,039 long along with a battery 603 00:23:59,280 --> 00:24:04,020 so basically these are the steps I took 604 00:24:02,039 --> 00:24:05,520 to get sunbox running on the Raspberry 605 00:24:04,020 --> 00:24:07,260 Pi 606 00:24:05,520 --> 00:24:08,460 fairly straightforward like you just 607 00:24:07,260 --> 00:24:11,159 basically 608 00:24:08,460 --> 00:24:12,299 needed to compile the doc code sorry I 609 00:24:11,159 --> 00:24:14,039 should have said for those who aren't 610 00:24:12,299 --> 00:24:15,780 familiar with dart Dart has an option to 611 00:24:14,039 --> 00:24:17,100 compile to Native binary so it's not 612 00:24:15,780 --> 00:24:19,260 like say JavaScript where you have to 613 00:24:17,100 --> 00:24:21,840 have the JavaScript runtime engine 614 00:24:19,260 --> 00:24:23,700 interpret or just in time compiling the 615 00:24:21,840 --> 00:24:25,559 code when it runs what you can do with 616 00:24:23,700 --> 00:24:27,419 dart is you can actually compile a 617 00:24:25,559 --> 00:24:28,919 standalone executable Standalone is and 618 00:24:27,419 --> 00:24:31,679 the only thing it links to is the C 619 00:24:28,919 --> 00:24:33,659 library everything else is bundled in 620 00:24:31,679 --> 00:24:37,380 that executable file and you can now put 621 00:24:33,659 --> 00:24:41,340 that on like Windows Mac OS iOS Android 622 00:24:37,380 --> 00:24:44,640 and for me Linux and arm Linux as well 623 00:24:41,340 --> 00:24:46,380 so there's like x86 and um support so 624 00:24:44,640 --> 00:24:49,260 thankfully I can do both 625 00:24:46,380 --> 00:24:51,480 and actually risk 5 support coming which 626 00:24:49,260 --> 00:24:53,820 is what my kind of final Target is but 627 00:24:51,480 --> 00:24:57,000 more on that in the SEC 628 00:24:53,820 --> 00:25:00,480 so basically I had a 629 00:24:57,000 --> 00:25:03,419 compiled XZ Link in my case it actually 630 00:25:00,480 --> 00:25:05,820 does like at runtime link to the sandbox 631 00:25:03,419 --> 00:25:07,440 library because I need that so it's not 632 00:25:05,820 --> 00:25:10,640 completely Standalone but close enough 633 00:25:07,440 --> 00:25:13,559 and then I just put it into 634 00:25:10,640 --> 00:25:14,820 etc.rc.local to start up on boot and 635 00:25:13,559 --> 00:25:17,100 essentially there we go I've got a 636 00:25:14,820 --> 00:25:20,580 standalone Hardware device if not in a 637 00:25:17,100 --> 00:25:23,400 commercially viable form factor 638 00:25:20,580 --> 00:25:25,020 um like I said a moment ago even though 639 00:25:23,400 --> 00:25:27,960 I'm using arm I think I need something 640 00:25:25,020 --> 00:25:30,779 Lop out and the current crop of risk 641 00:25:27,960 --> 00:25:34,380 five boards are very immature and very 642 00:25:30,779 --> 00:25:38,340 new but luckily are already supported by 643 00:25:34,380 --> 00:25:40,559 Dart so I can run my dark compiled Dart 644 00:25:38,340 --> 00:25:42,179 code on them and more importantly 645 00:25:40,559 --> 00:25:43,980 they're they're significantly lower 646 00:25:42,179 --> 00:25:46,740 powered than say the Raspberry Pi 4 but 647 00:25:43,980 --> 00:25:50,100 yet powerful enough that they can cope 648 00:25:46,740 --> 00:25:51,659 with running sunbox so essentially I 649 00:25:50,100 --> 00:25:54,120 think I've got something that's going to 650 00:25:51,659 --> 00:25:55,440 be a viable proposition to put into a 651 00:25:54,120 --> 00:25:57,659 case so maybe next year I can come back 652 00:25:55,440 --> 00:26:00,419 and actually show you a fully built 653 00:25:57,659 --> 00:26:02,340 Standalone device and not just my 654 00:26:00,419 --> 00:26:04,380 jewelry rig prototype 655 00:26:02,340 --> 00:26:07,080 so with that hopefully I've got enough 656 00:26:04,380 --> 00:26:09,539 time for a very quick demo 657 00:26:07,080 --> 00:26:14,480 um I'm just going to 658 00:26:09,539 --> 00:26:14,480 run oops oh for good mistakes 659 00:26:15,960 --> 00:26:20,059 yep 660 00:26:17,640 --> 00:26:20,059 sorry 661 00:26:21,360 --> 00:26:28,820 I was going to try and run a webcam if I 662 00:26:25,860 --> 00:26:28,820 click on the right button 663 00:26:30,059 --> 00:26:35,400 so here's the device running here now 664 00:26:32,640 --> 00:26:37,799 unfortunately my cable is a little bit 665 00:26:35,400 --> 00:26:40,620 audio cable I've just found out is a 666 00:26:37,799 --> 00:26:42,600 little bit wonky so we may not get sound 667 00:26:40,620 --> 00:26:45,120 but basically I just wanted to quickly 668 00:26:42,600 --> 00:26:47,940 show you where the into where where I'm 669 00:26:45,120 --> 00:26:50,580 up to at the moment with interface so I 670 00:26:47,940 --> 00:26:53,640 have the beginnings of a display for 671 00:26:50,580 --> 00:26:55,140 this sequencer for the steps but it's 672 00:26:53,640 --> 00:26:57,000 very rudimentary so I'm going to skip 673 00:26:55,140 --> 00:26:58,860 that right now because that's literally 674 00:26:57,000 --> 00:27:01,679 the work in progress at the moment what 675 00:26:58,860 --> 00:27:04,200 I also have though is essentially a 676 00:27:01,679 --> 00:27:07,020 chromatic keyboard I'm sorry the res the 677 00:27:04,200 --> 00:27:08,580 contrast isn't great but hopefully if I 678 00:27:07,020 --> 00:27:10,020 I think it's small enough room that I 679 00:27:08,580 --> 00:27:13,200 can hold up and show you like 680 00:27:10,020 --> 00:27:15,059 essentially the white keys the blue keys 681 00:27:13,200 --> 00:27:18,779 are The Black Keys because black doesn't 682 00:27:15,059 --> 00:27:20,820 go so well with a RGB LEDs so this is 683 00:27:18,779 --> 00:27:23,220 hopefully something that looks like a 684 00:27:20,820 --> 00:27:25,799 piano keyboard or chromatic keyboard for 685 00:27:23,220 --> 00:27:27,539 those who play or who know their scales 686 00:27:25,799 --> 00:27:29,400 and oh actually what I'm doing it I 687 00:27:27,539 --> 00:27:32,880 might as well show it like this as well 688 00:27:29,400 --> 00:27:34,740 these colored Keys here you can see 689 00:27:32,880 --> 00:27:35,960 they're much more nicely colored than in 690 00:27:34,740 --> 00:27:38,100 the video feed 691 00:27:35,960 --> 00:27:39,840 represent the different instruments that 692 00:27:38,100 --> 00:27:42,539 are available in this sandbox project 693 00:27:39,840 --> 00:27:45,720 file so 694 00:27:42,539 --> 00:27:47,400 if I go back to uh this view that 695 00:27:45,720 --> 00:27:49,919 finally there's also another view here 696 00:27:47,400 --> 00:27:52,140 where it shows all the 697 00:27:49,919 --> 00:27:54,779 modules not just the instruments but all 698 00:27:52,140 --> 00:27:56,820 the effects modules and everything I 699 00:27:54,779 --> 00:27:59,700 hopefully can make maybe move the camera 700 00:27:56,820 --> 00:28:01,440 a bit closer and show you on the LED so 701 00:27:59,700 --> 00:28:04,679 that's the Distortion module there's a 702 00:28:01,440 --> 00:28:08,100 flanger echo guitar 703 00:28:04,679 --> 00:28:09,360 oh no okay it it should be playing back 704 00:28:08,100 --> 00:28:11,400 the audio unfortunately I think I've 705 00:28:09,360 --> 00:28:12,600 wiggled the cable and it's not playing 706 00:28:11,400 --> 00:28:14,039 back at the moment I'll see if I can 707 00:28:12,600 --> 00:28:16,200 wiggle it some more and get it to play 708 00:28:14,039 --> 00:28:19,500 back shortly but basically that gives 709 00:28:16,200 --> 00:28:22,080 you a preview of the sound and 710 00:28:19,500 --> 00:28:24,799 you can also see like oops I will put 711 00:28:22,080 --> 00:28:24,799 this back here 712 00:28:25,340 --> 00:28:30,600 with the shift function what I've also 713 00:28:27,600 --> 00:28:32,580 added is displaying which things are 714 00:28:30,600 --> 00:28:34,140 connected to Watts so you can see these 715 00:28:32,580 --> 00:28:37,440 light up saying that they're connected 716 00:28:34,140 --> 00:28:39,600 which is oops sorry which is for 717 00:28:37,440 --> 00:28:42,779 instance here oh it's not very well 718 00:28:39,600 --> 00:28:44,880 focused but it says Reverb 719 00:28:42,779 --> 00:28:46,860 connected to the Reverb to connected to 720 00:28:44,880 --> 00:28:49,380 the compressor so that's basically kind 721 00:28:46,860 --> 00:28:50,760 of like the the modular part of sunbox 722 00:28:49,380 --> 00:28:53,100 where it lets you connect all these 723 00:28:50,760 --> 00:28:55,340 different modules that do sound or sound 724 00:28:53,100 --> 00:28:57,779 effects and interconnect them together 725 00:28:55,340 --> 00:29:00,659 there's a niche within the niche again 726 00:28:57,779 --> 00:29:02,279 called eurorack which lets people create 727 00:29:00,659 --> 00:29:03,779 all these Hardware modules and to 728 00:29:02,279 --> 00:29:06,779 connect them with wires and essentially 729 00:29:03,779 --> 00:29:09,779 this is the software version of that 730 00:29:06,779 --> 00:29:12,260 um likewise I do have playback simple 731 00:29:09,779 --> 00:29:15,059 playback like in terms of play pause 732 00:29:12,260 --> 00:29:17,100 and stop so I'm just going to try and 733 00:29:15,059 --> 00:29:19,919 play it and I'll wiggle the cable to see 734 00:29:17,100 --> 00:29:24,000 if I can get audio happening but 735 00:29:19,919 --> 00:29:27,720 if not I can direct you to a video demo 736 00:29:24,000 --> 00:29:28,399 I have on my YouTube account with 737 00:29:27,720 --> 00:29:30,919 um 738 00:29:28,399 --> 00:29:34,500 this basically the same thing actually 739 00:29:30,919 --> 00:29:38,700 connected to a working audio cable 740 00:29:34,500 --> 00:29:40,500 but oh it's very Dodge so I might not be 741 00:29:38,700 --> 00:29:42,240 able to get it working so I might just 742 00:29:40,500 --> 00:29:43,860 leave it there and see if I can get it 743 00:29:42,240 --> 00:29:45,600 working in case if there's any time for 744 00:29:43,860 --> 00:29:48,779 questions while I have field questions 745 00:29:45,600 --> 00:29:50,980 and wiggle with it so with that thank 746 00:29:48,779 --> 00:29:57,710 you very much for your time 747 00:29:50,980 --> 00:29:57,710 [Applause] 748 00:29:59,700 --> 00:30:06,419 so sorry 749 00:30:01,740 --> 00:30:08,700 um yeah do we have questions for maxim 750 00:30:06,419 --> 00:30:11,299 all right stencil oh yeah oh there's one 751 00:30:08,700 --> 00:30:11,299 okay 752 00:30:16,140 --> 00:30:22,620 thanks very much for that 753 00:30:18,299 --> 00:30:25,679 um I guess my first sort of thought 754 00:30:22,620 --> 00:30:27,919 there is if you've got a midi cable or a 755 00:30:25,679 --> 00:30:30,779 USB cable pretending to be a midi cable 756 00:30:27,919 --> 00:30:32,880 between the computer and the the 757 00:30:30,779 --> 00:30:35,760 keyboard then 758 00:30:32,880 --> 00:30:39,380 do you need to have like you know 759 00:30:35,760 --> 00:30:41,580 you don't at that point need to have the 760 00:30:39,380 --> 00:30:45,419 Raspberry Pi or whatever's doing your 761 00:30:41,580 --> 00:30:46,799 audio right next to the fire board so it 762 00:30:45,419 --> 00:30:49,620 could actually be separate couldn't it 763 00:30:46,799 --> 00:30:50,880 yes yeah so it's like there's no 764 00:30:49,620 --> 00:30:53,880 restriction to have them all together 765 00:30:50,880 --> 00:30:55,860 they can be like separated by meters and 766 00:30:53,880 --> 00:30:57,659 in fact like that's what a lot of actual 767 00:30:55,860 --> 00:31:00,179 musicians who actually perform in front 768 00:30:57,659 --> 00:31:02,159 of people uh do is that they'll have a 769 00:31:00,179 --> 00:31:05,460 bank of midi controllers connected to 770 00:31:02,159 --> 00:31:08,279 say a laptop that's like off to the side 771 00:31:05,460 --> 00:31:10,440 or somewhere or also done by DJs as well 772 00:31:08,279 --> 00:31:13,140 who these days often have basically 773 00:31:10,440 --> 00:31:16,559 electronic control decks and there can 774 00:31:13,140 --> 00:31:18,779 actually just tied via USB to like a Mac 775 00:31:16,559 --> 00:31:20,460 or something that's like kind of behind 776 00:31:18,779 --> 00:31:24,779 the scenes and they're just doing all 777 00:31:20,460 --> 00:31:27,240 their controls via the midi controllers 778 00:31:24,779 --> 00:31:28,380 even like yeah even DJ kind of 779 00:31:27,240 --> 00:31:30,840 scratching stuff and everything that's 780 00:31:28,380 --> 00:31:32,520 all available as midi controllers these 781 00:31:30,840 --> 00:31:34,020 days so yeah there's no reason why I 782 00:31:32,520 --> 00:31:35,460 have to be together I only put them 783 00:31:34,020 --> 00:31:37,559 together because like I said I wanted 784 00:31:35,460 --> 00:31:39,840 like a standalone portable device just 785 00:31:37,559 --> 00:31:40,559 like I guess the 786 00:31:39,840 --> 00:31:43,260 um 787 00:31:40,559 --> 00:31:44,820 the commercial manufacturers do and so 788 00:31:43,260 --> 00:31:46,500 that was my original idea was to have 789 00:31:44,820 --> 00:31:49,620 something where I can get it all into 790 00:31:46,500 --> 00:31:51,360 this case all into this one case and 791 00:31:49,620 --> 00:31:52,919 it's not very thick so but it should fit 792 00:31:51,360 --> 00:31:55,020 like basically a single board there's 793 00:31:52,919 --> 00:31:57,299 plenty of room inside I've opened it up 794 00:31:55,020 --> 00:31:59,940 um enough enough anyway to fit in like a 795 00:31:57,299 --> 00:32:02,760 small uh singleboard computer and a 796 00:31:59,940 --> 00:32:05,460 smallish like USB battery and just like 797 00:32:02,760 --> 00:32:07,919 a little bit of DIY USB wiring to hook 798 00:32:05,460 --> 00:32:10,140 them all together inside with a tiny uh 799 00:32:07,919 --> 00:32:15,380 hub 800 00:32:10,140 --> 00:32:15,380 yes okay we have another question here 801 00:32:18,419 --> 00:32:22,740 I was just curious what the risk five 802 00:32:21,000 --> 00:32:25,559 board was that you had up earlier it 803 00:32:22,740 --> 00:32:28,320 looked like a cyped or sipped yes oh 804 00:32:25,559 --> 00:32:30,120 okay very very sharp eyes yes it was a 805 00:32:28,320 --> 00:32:32,340 cyped lychee 806 00:32:30,120 --> 00:32:35,159 um RV or 807 00:32:32,340 --> 00:32:37,559 um RV dock which uses like the D1 or 808 00:32:35,159 --> 00:32:40,500 winner D1 risk five 809 00:32:37,559 --> 00:32:42,539 um microcontroller that's become 810 00:32:40,500 --> 00:32:44,159 actually one thing I didn't mention was 811 00:32:42,539 --> 00:32:46,200 the fact that you can't actually get 812 00:32:44,159 --> 00:32:48,899 Raspberry Pi's at the moment unless you 813 00:32:46,200 --> 00:32:52,500 pay scalper prices as in more than Rock 814 00:32:48,899 --> 00:32:54,659 ticket Rock concert prices whereas the D 815 00:32:52,500 --> 00:32:57,480 the risk ships amazingly even though 816 00:32:54,659 --> 00:32:59,159 they're so new are actually available at 817 00:32:57,480 --> 00:33:01,620 least in small quantity like amp 818 00:32:59,159 --> 00:33:05,940 hobbyist quantities whereas buying even 819 00:33:01,620 --> 00:33:10,559 one or two raspberry pies I think I saw 820 00:33:05,940 --> 00:33:12,360 uh 220 Australian dollars for one on um 821 00:33:10,559 --> 00:33:15,659 eBay a little while ago whereas these 822 00:33:12,360 --> 00:33:17,039 things are I think 20 US dollars so like 823 00:33:15,659 --> 00:33:19,860 they're actually available so not only 824 00:33:17,039 --> 00:33:22,260 are they a good fit for my my use case 825 00:33:19,860 --> 00:33:23,640 in terms of Hardware profile but they're 826 00:33:22,260 --> 00:33:26,419 actually obtainable at the moment unlike 827 00:33:23,640 --> 00:33:26,419 Raspberry Pi's 828 00:33:26,460 --> 00:33:30,480 a great session maximum thanks and cool 829 00:33:29,039 --> 00:33:32,220 project I'm just curious if you could 830 00:33:30,480 --> 00:33:34,380 comment as I understand it with the 831 00:33:32,220 --> 00:33:35,519 commercial offerings equivalent to this 832 00:33:34,380 --> 00:33:36,840 a lot of what you get is all the 833 00:33:35,519 --> 00:33:38,279 different sample libraries and sounds 834 00:33:36,840 --> 00:33:40,799 could you comment a little on what's 835 00:33:38,279 --> 00:33:42,360 available Libre wise or the ability to 836 00:33:40,799 --> 00:33:45,240 import other sound libraries and sounds 837 00:33:42,360 --> 00:33:48,659 perhaps please yeah there's a huge 838 00:33:45,240 --> 00:33:51,299 college industry in Sample libraries 839 00:33:48,659 --> 00:33:53,460 some are free some are paid there's a 840 00:33:51,299 --> 00:33:54,720 lot of actually YouTubers who kind of 841 00:33:53,460 --> 00:33:58,200 like try and make a name for themselves 842 00:33:54,720 --> 00:34:00,120 by releasing either free or like uh very 843 00:33:58,200 --> 00:34:03,360 cheap like sample libraries like for a 844 00:34:00,120 --> 00:34:05,820 few dollars so um yeah I could uh and of 845 00:34:03,360 --> 00:34:07,860 course there's complete sites like free 846 00:34:05,820 --> 00:34:09,839 sound I think dot org free sound 847 00:34:07,860 --> 00:34:12,780 archive.org where there's like literally 848 00:34:09,839 --> 00:34:15,980 millions of sounds available or samples 849 00:34:12,780 --> 00:34:18,480 available under fairly liberal licenses 850 00:34:15,980 --> 00:34:21,480 but actually what I should say is that 851 00:34:18,480 --> 00:34:24,359 most of these devices do not come with 852 00:34:21,480 --> 00:34:25,800 sample libraries a few do like as kind 853 00:34:24,359 --> 00:34:28,320 of like the manufacturers will bundle 854 00:34:25,800 --> 00:34:32,220 stuff but for the most part it's left to 855 00:34:28,320 --> 00:34:33,899 the owner to buy sample packs themselves 856 00:34:32,220 --> 00:34:36,240 and some people have like literally 857 00:34:33,899 --> 00:34:38,040 gigabytes of samples like I complain 858 00:34:36,240 --> 00:34:40,679 that they're whatever device they get oh 859 00:34:38,040 --> 00:34:42,659 it's only got like you know X number of 860 00:34:40,679 --> 00:34:45,240 gig storage I can't fit my whole sample 861 00:34:42,659 --> 00:34:48,260 library on this one actually takes 862 00:34:45,240 --> 00:34:50,820 um SD cards up to 32 gig and I have seen 863 00:34:48,260 --> 00:34:52,080 people complaining that oh I think 864 00:34:50,820 --> 00:34:54,859 that's going to be a bit too limiting 865 00:34:52,080 --> 00:34:54,859 for me and 866 00:34:56,280 --> 00:35:01,320 and so like yeah that um 867 00:34:59,099 --> 00:35:03,180 that that is actually was one of the 868 00:35:01,320 --> 00:35:05,880 things that surprised me is like I guess 869 00:35:03,180 --> 00:35:08,460 there's a bit of a I wouldn't say Magpie 870 00:35:05,880 --> 00:35:09,839 approach but uh there's definitely 871 00:35:08,460 --> 00:35:12,359 people who have huge Collections and I 872 00:35:09,839 --> 00:35:14,940 have to admit that I have fallen prey to 873 00:35:12,359 --> 00:35:17,700 that like I already have probably a 874 00:35:14,940 --> 00:35:19,619 couple of gig of just yeah 875 00:35:17,700 --> 00:35:21,300 um sample pack libraries that I've just 876 00:35:19,619 --> 00:35:25,079 spotted along the way and I've probably 877 00:35:21,300 --> 00:35:27,119 spent like either 15 or 20 all up and 878 00:35:25,079 --> 00:35:28,859 just for the purchased ones and the rest 879 00:35:27,119 --> 00:35:30,839 were free so 880 00:35:28,859 --> 00:35:32,880 um there's so much 881 00:35:30,839 --> 00:35:34,619 um free or very cheap sample libraries 882 00:35:32,880 --> 00:35:36,420 out there that I think 883 00:35:34,619 --> 00:35:39,599 um if you are into sample based music 884 00:35:36,420 --> 00:35:43,280 it's really I guess a golden age in 885 00:35:39,599 --> 00:35:43,280 terms of making musical samples 886 00:35:44,520 --> 00:35:48,660 I have a question for you Matt oh sure 887 00:35:46,800 --> 00:35:52,260 I'm just wondering 888 00:35:48,660 --> 00:35:55,920 um because I too am not very good at 889 00:35:52,260 --> 00:35:58,260 music and primarily listen to it how 890 00:35:55,920 --> 00:36:01,260 long did it take you to kind of start 891 00:35:58,260 --> 00:36:04,560 playing it as an instrument and and what 892 00:36:01,260 --> 00:36:06,240 was the process so I I'll have to admit 893 00:36:04,560 --> 00:36:08,579 like I said at the start I am an 894 00:36:06,240 --> 00:36:11,220 engineer who got into this from a very 895 00:36:08,579 --> 00:36:14,460 minimal musical background so playing it 896 00:36:11,220 --> 00:36:17,339 musically I if I'm completely honest is 897 00:36:14,460 --> 00:36:19,740 probably a little bit of a stretch like 898 00:36:17,339 --> 00:36:23,400 um so far the best things that I've done 899 00:36:19,740 --> 00:36:25,200 if I'm honest essentially like covers of 900 00:36:23,400 --> 00:36:28,560 pieces that I've seen other people 901 00:36:25,200 --> 00:36:31,619 mainly on YouTube create so 902 00:36:28,560 --> 00:36:33,660 um like I watched like there was a video 903 00:36:31,619 --> 00:36:36,240 similar to Bob's video there's actually 904 00:36:33,660 --> 00:36:39,240 like I should have mentioned a whole 905 00:36:36,240 --> 00:36:41,640 community of people on YouTube who make 906 00:36:39,240 --> 00:36:45,359 videos and they have to be in a 907 00:36:41,640 --> 00:36:47,640 particular uh format and style like 908 00:36:45,359 --> 00:36:49,680 there's certain conventions like 909 00:36:47,640 --> 00:36:51,839 normally you have little trinkets that 910 00:36:49,680 --> 00:36:53,940 are on the table next to the device or 911 00:36:51,839 --> 00:36:55,140 there's specific lighting that's being 912 00:36:53,940 --> 00:36:56,640 applied 913 00:36:55,140 --> 00:36:58,859 um so there's that whole like kind of 914 00:36:56,640 --> 00:37:01,200 sub community of people out there making 915 00:36:58,859 --> 00:37:03,540 that music and so 916 00:37:01,200 --> 00:37:06,540 what I've done as a starting point as a 917 00:37:03,540 --> 00:37:09,300 complete musical Noob is to essentially 918 00:37:06,540 --> 00:37:11,760 do I guess what visual artists do in 919 00:37:09,300 --> 00:37:15,240 terms of starting out by often copying 920 00:37:11,760 --> 00:37:17,820 like great Masters or famous like 921 00:37:15,240 --> 00:37:20,520 paintings I started out by essentially 922 00:37:17,820 --> 00:37:23,700 trying to do like covers of not not 923 00:37:20,520 --> 00:37:25,619 famous pop songs or anything but just of 924 00:37:23,700 --> 00:37:28,020 pieces that other people have done on 925 00:37:25,619 --> 00:37:29,940 similar devices usually I've tried to 926 00:37:28,020 --> 00:37:31,980 find a similar but not the same device 927 00:37:29,940 --> 00:37:33,480 so then I'm not directly just copying 928 00:37:31,980 --> 00:37:36,240 I'm kind of like trying to figure out 929 00:37:33,480 --> 00:37:37,020 what the what technique and what 930 00:37:36,240 --> 00:37:39,839 um 931 00:37:37,020 --> 00:37:41,460 settings or like techniques they've used 932 00:37:39,839 --> 00:37:43,680 on their device and then try and do 933 00:37:41,460 --> 00:37:44,760 something similar on the device I'm 934 00:37:43,680 --> 00:37:48,839 using 935 00:37:44,760 --> 00:37:49,859 so yeah it's it's in some ways 936 00:37:48,839 --> 00:37:52,760 um 937 00:37:49,859 --> 00:37:55,079 like I I'd say it's in some ways a very 938 00:37:52,760 --> 00:37:56,900 appealing approach for someone coming 939 00:37:55,079 --> 00:37:59,460 from an engineering software background 940 00:37:56,900 --> 00:38:01,800 versus a musical background like people 941 00:37:59,460 --> 00:38:03,480 who come from a musical background and 942 00:38:01,800 --> 00:38:06,060 I've who I've talked to about this sort 943 00:38:03,480 --> 00:38:08,940 of thing have often said oh that feels 944 00:38:06,060 --> 00:38:12,660 so mechanical or like I did a talk um at 945 00:38:08,940 --> 00:38:14,880 a Sydney Meetup about a month back uh 946 00:38:12,660 --> 00:38:17,160 similar to this and one guy in the when 947 00:38:14,880 --> 00:38:18,900 was it like time for questions there was 948 00:38:17,160 --> 00:38:21,839 one chap who was sitting in the audience 949 00:38:18,900 --> 00:38:24,320 who shout out me you've killed live 950 00:38:21,839 --> 00:38:24,320 music 951 00:38:24,420 --> 00:38:29,960 and he goes you were the death of proper 952 00:38:27,300 --> 00:38:32,160 live Pub bands and I went well 953 00:38:29,960 --> 00:38:33,839 possibly but 954 00:38:32,160 --> 00:38:36,300 um I think live Pub bands are still 955 00:38:33,839 --> 00:38:38,820 quite Alive and Kicking but I can see 956 00:38:36,300 --> 00:38:41,160 from a muse uh a more traditional 957 00:38:38,820 --> 00:38:43,680 musician's point of view how like this 958 00:38:41,160 --> 00:38:47,520 looks like a much more mechanical or 959 00:38:43,680 --> 00:38:48,780 less artistic approach but honestly when 960 00:38:47,520 --> 00:38:50,940 I've watched 961 00:38:48,780 --> 00:38:53,820 um people on YouTube who are much better 962 00:38:50,940 --> 00:38:55,740 than I am do it like there's so much 963 00:38:53,820 --> 00:38:57,300 like musical theater involved which I 964 00:38:55,740 --> 00:38:59,160 haven't even touched on like I literally 965 00:38:57,300 --> 00:39:01,200 bought musical theory for dummies to try 966 00:38:59,160 --> 00:39:02,700 and learn what things like chords and 967 00:39:01,200 --> 00:39:04,500 scales were because that's how little I 968 00:39:02,700 --> 00:39:06,480 knew when I started 969 00:39:04,500 --> 00:39:08,760 um how much musical theories involved in 970 00:39:06,480 --> 00:39:10,740 what they do and then also a lot of the 971 00:39:08,760 --> 00:39:13,320 manual dexterity like 972 00:39:10,740 --> 00:39:16,920 um I'll try and post maybe like aft on 973 00:39:13,320 --> 00:39:19,079 my Twitter and Macedon just some links 974 00:39:16,920 --> 00:39:21,000 to people's performances just to show 975 00:39:19,079 --> 00:39:24,420 like just kind of at the professional 976 00:39:21,000 --> 00:39:26,280 level how like involved it is and so 977 00:39:24,420 --> 00:39:27,300 really like I don't think the criticism 978 00:39:26,280 --> 00:39:31,800 that it's 979 00:39:27,300 --> 00:39:33,359 not uh and as well the type of music as 980 00:39:31,800 --> 00:39:38,099 more traditional or classical music 981 00:39:33,359 --> 00:39:39,599 genres are is valid so yeah hopefully 982 00:39:38,099 --> 00:39:42,060 that answers your question like my 983 00:39:39,599 --> 00:39:45,000 skills are very much 984 00:39:42,060 --> 00:39:46,920 um early stage so that's why I did not 985 00:39:45,000 --> 00:39:49,280 play any of the compositions I've done 986 00:39:46,920 --> 00:39:49,280 so far 987 00:39:49,680 --> 00:39:54,839 well thank you so much Max and I think 988 00:39:52,560 --> 00:39:58,579 we can all join in in a round of 989 00:39:54,839 --> 00:39:58,579 applause for Max thank you very much