Audio Programmer Virtual Meetup - 09 Nov 21 at 1830 GMT

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
take it away tamer hello everyone and welcome to the audio programmer virtual meetup november 2021 edition thank you all so much for tuning in it's uh great to be here again uh my name is timur i'm your host tonight together with josh hi josh how are you doing i'm great how's it going doing pretty well thank you cool so uh so yeah so every second tuesday we have the audio programmer meet up and we are very privileged to have some awesome guests with us every month and uh this month is no exception so we have landon via tour who is coming to us from houston with audiophile engineering how's it going landon going great thanks for having me great and we have bobby and ralph from the adc 21 team the audio developer conference in the house today how's it going uh good thanks for having us i appreciate it yeah thank you this is fun great so before we get started just want to give a big thanks to our sponsors so we have juice sonics and phocuswright who are supporting the audio programmer meetup and we would like to give a big special thanks to them for supporting us and we also wanted to tell you that we're always looking for new people to present for the audio programming meetup and you'll be able to do that on the audio programmer website via the audioprogrammer.com forward slash submit and also join our discord community where we have nearly 7 000 audio developers from all around the world who are talking about all things audio development and you can join us on the audio programmer dot com forward slash community and with that i will pass it back over to teamer to make any other announcements and present our first speaker so yeah i guess we're going to talk about the audio developer conference a little bit later that's the big thing that's going to happen next week for now um i think uh we want to introduce our first speaker before i do that the people who regularly tune in will know this if you have questions for speakers please ask them in the youtube live chat and please prefix them with the word question and all capital so that it's easier for us to spot that there's a question there and then we're going to ask the speakers that question um here live on air and with that being said i'd like to introduce the first speaker of the evening landon viator who is a software developer with audiophile engineering and today he's going to be presenting prototyping distortion effects in max msp for juice all right cool thanks well thanks for having me this is exciting it's a great opportunity okay so i have a little slideshow put together so the whole idea of this presentation is prototyping in max because it's a little easier to prototype and juice and you can get a lot done much faster so what is max msp well it can kind of be considered a daw and landed before you start you just want to share your screen again there buddy oh yeah that would be helpful wouldn't it is that good yep we got you now awesome cool so what is max msp well it can be thought of as a daw not in the traditional sense you know like logic and pro tools and studio one or a kind of editor based arranged view daw that has like a linear view and max has this kind of view it's just a canvas but it is a digital audio workstation because you can do dsp in it and it has a visual audio programming language associated with it so it gives the user the ability to perform high and low level audio operations where high level would be kind of abstracted away from the kind of nuts and bolts so i have an example here with the juice decibels to gain function where all you have to do is input the um the decibel value and it'll output the gain and then low level would be doing the actual math uh so i assume this is the same function that they're using um you're raising 10 to the the drive divided by 20 or the input divided by 20. so that would be low level kind of like the nuts and bolts code of it so in the max environment you can patch together audio objects that are pre-made c plus dsp objects gui objects non-audio objects all kinds of objects that represent dsp methods and a format that kind of feels like analog mixing racks and module synthesizers where you can patch things together and create sounds so there are other options for prototyping outside of juice with audio so there's matlab of course and the free version of it which is called octave and it's more of a programming language like a regular programming language than max msp is so the thing that makes max um the kind of easier choice to me is that it's a visual patching so it has like a real world analogy and it's intuitive even for people who have never used it before because you're just kind of patching together audio objects kind of like you would patch together synths so it abstracts all of those complex audio operations into high level objects and it also has low level objects too there are code box objects things that you can actually write code in which is really helpful if you you know if you have that knowledge and you want to use it it's super easy it's plug and play uh daw users coming from logic or pro tools will find some aspects of it similar to their software in a lot of ways some ways it's obviously going to be different like i said this view obviously doesn't look like a regular daw it's kind of like a canvas so uh but once you start working with audio it kind of makes sense the documentation included is amazing for max it's actually built into the app and you can actually access the documentation uh the documentation for each object by just uh clicking on it uh and that documentation is also online at cycling 74's website the uh the the owners of max and and uh as far as online tutorials there are an endless amount of tutorials compared to juice okay cool so i'll take you through a little demo of how to use macs for the people who have never seen it before and never used it before so making objects is pretty easy at the top toolbar there are some included objects so like for example here's a toggle there's a toggle box you can grab some of the ableton live objects right here that were made with this language and then you can also type in and start typing the name of an object that you know exists like so i'll take the sine wave oscillator which is called cycle and it'll auto complete just hit enter and boom you have a cycle object so that's how easy it is to create objects there are some at the top here that are kind of easy to grab so you can grab a gain slider a text box that kind of stuff and then there's a bunch of objects that aren't in this toolbox that you can just kind of type in if you know what they are and then you can search online for what objects are in max so data signal flow so to connect these objects to each other you just go to the inputs and outputs of the object which are called inlets and outlets and you can hover over it and see a little tool tip and see what it does so basically most of the time you can just take the outlet click and drag and boom plug it into the inlet and then i'm going to make a number box that'll be easier to show you uh let's actually i'm going to hit f for float and it'll make a float box if i take this dial right here boom i connected it i can lock the patcher and interact with it and i've got the connection and it works it's sending 0 to 127 to this number box which is pretty handy i can do the same thing with this toggle box lock it it's sending zero one so it's basically a bull right it's a toggle so that's how simple it is to connect objects to each other and then you'll see that if i grab out of the cycle object this is an audio object and you can see that the patch cable looks different so that means that it's an audio signal coming through whereas the regular gray cables or just sending values you know floats integers just control values like that so for audio you have to connect audio objects to other audio objects so i can actually connect it to this gain and that'll work uh so unlocked and locked so whenever you're unlocked you can see the dots of the canvas and you can move objects around and you can grab patch cables uh and when you lock it with command e you'll see that the dots disappear and you can actually interact with the objects the way they're supposed to be you can click on them and stuff so that's all unlocking and uh locking really does is usually the ability actually kind of it's almost kind of like pressing build like you get to test it you know uh and then we talked about the types of objects you basically have audio objects and non-audio objects the audio objects have a tilde in front of the name and they have a yellow and black patch cable by default you can change these colors by default that's what it'll be and then the gray patch cables are the non-audio objects lastly i'll show you how to see the documentation i'm going to unlock it if you hold down option and you click on an object it'll bring up a small match uh max patch that actually serves as the documentation you can see notes about adding arguments to the object it'll usually have some kind of prototype that you can actually use so this is a good time to test can you hear the uh the oscillator we get indeed awesome so you can see that the documentation actually gives you a test um that's easy to understand and actually works whereas you know if you go to the juice documentation sometimes um you'll look at the explanation and it doesn't actually you have you have to kind of have a lot of c plus plus knowledge already to get it to work um but the max documentation is super easy to understand and it it's already set up and it already works for you and there are actually usually some extra tabs for extra functionality of the object so that's how the documentation can be accessed and it's it's very helpful it's amazing i love it okay cool so the whole idea of this presentation is how do we make distortion and i think the first thing we need to talk about is what really is distortion because there's people describe distortion in all kinds of different ways they'll say distortion overdrive clipping um saturation you know and they're really all kind of talking about a similar idea which is just the deviation in the shape of the waveform from input to output so if you have some kind of dsp process or transfer function you're going to change the way the audio looks from the input to the output and that's technically all distortion really is and to prototype and make distortion there's actually a bunch of different ways that we can accomplish this so we could do this with trig functions such as you know tan a tan even sine and cosine you can use polynomials which are in this kind of form and actually have a tab pulled up uh polynomial so basically you'll have like a number multiplied by x uh raised to some kind of exponent you know plus or minus another term um and that's basically all a polynomial is it just means multiple terms and what you would do x would represent the signal so you would just if you were writing it out in c plus and you're writing the equation you just kind of input your signal as x and i'll do that in max okay oh and then you can do direct wave shaping is what i call i don't know if there's a proper word for it but it would be kind of like if you were in the process block of your uh your juice project and you said like you know if sample is greater than .25 do something and you're changing the wave only at that top like 75 percent of the uh the positive form um that's what i i don't know if there's a word for it but that's what i call direct wave shaping where you're just kind of doing math with uh conditionals or if statements or something to the wave form um and then something that's really helpful is adding a multiplier to your input uh either before or after it goes into one of these functions if you do it before it'll give you more distortion and it'll give you basically a drive parameter and that's kind of an analogy to how guitar amps work i mean you're sending your guitar into the amp and you'll have a certain amount of distortion by default and if you increase the guitar's volume going into the amp you'll get more drive and distortion uh so yeah let me just go over to max and i'll start showing you a couple of things so i'm going to get rid of all of this and i am going to make a output device it's called the easy deck that's what i use i'm gonna make a gain slider so that i don't blow your ears out so here's a simple gain slider i can connect it to the output in both channels and you can see the gain slider is all the way down so you shouldn't hear anything and i'm going to make a a sine wave again would do 220 hertz so it's not so annoying and i just want to make sure you can actually hear this if i turn audio on by clicking the the button can you hear that yes it's a little bit it's a little bit low but we could hear it okay yeah so let me bring that down so i'm gonna show you how to use the a tan function and then i'll do a polynomial just to kind of show you one popular clipping algorithm that i got from eric tarr's book hack audio is the soft clipping algorithm which this might be a little hard to see but i'm going to zoom in it's just a little comment object so the sock looping algorithm is basically 2 divided by pi times times the a tan of your input or your signal uh multiplied by your drive so that's that multiplier i was talking about so it's it's very easy to build this in maxim very quick and you'll see how uh how much faster it is to do this in max than it is in juice because imagine in juice if you want to have some gooey objects to test with and you're going to want to you know make your audio processor state tree attachments and stuff and it's going to take you a little while to set all that up unless you have your own you know little framework set up but you can see how easy it is to just attach objects and create gui objects and max and connect them to stuff so let's just go ahead and start uh i'm going to start top down and i'm just going to kind of build this equation with max so we need 2 divided by pi so what i'm going to do is i'm going to make a a signal which is basically just a number at the audio rate so i'm gonna since we're doing audio everything's gonna be audio so i'm gonna make a signal of two and i'm actually going to divide it so like i said everything with utility in front of it means audio so divide it by i'm not sure if there's actually a pi object so i'm just going to do 3.14 so cool we've got that we've got 2 divided by pi and then we're going to need to multiply that so 2 divided by pi right here and then multiplied by we're going to say the 18. oh oh let's just keep going and see where we go you might have to select loopback as the output from max or do you have max open as a separate app or is it like running within logic um i could i could still hear everything fine so oh okay yeah say something like that ah okay this is the trial it's the trial mode okay um no man josh you're you're muted now oh you're back yeah sorry yeah just trying to figure out what to do here so so landon let's just continue let's just continue without the sound and do the explanations and yeah we can come we can come back to this we if you're if you're talking we can't hear you landon one second just experiencing some technical difficulties apologies for this cool can you hear me now yeah yeah it's all good okay it's actually okay because i'm gonna use a uh oscilloscope and we can look at it that way we don't even have to listen to it right yeah so i've got uh let's see so we've got two divided by pi and then we're going to multiply it and you can see that i'm thinking top down um and we're going to multiply it by a tan right here and then all we have to do is send our input multiplied by some kind of multiplier into the a tan so what i'm going to do is make a multiplication right here oh right we're gonna do this and i'm just gonna make an integer let's see i'm gonna make a scope object and when you're on an object if you want to ask access the attributes for you can hit command i and the right toolbar will pop up and i'm going to move this out the way and i'm going to select automatic mode for the scope object which is really handy that and i should there we go so we've got our waveform for the cycle cool and now our input times drive is right here so if i start increasing this we should see some distortion or wave shaping oh yeah look at that it's squaring awesome so what we're doing if i go over to i can show you what this equation is actually doing on a graph if we go over to desmos and i do 2 divided by 3.14 and i multiply it by the arc tan of x you can see the equation or you can see the line that forms and basically what we're doing is we're applying this line to the sine wave and we're driving we're driving it harder with a multiplier so if i just go in here and i just multiply it by 10 you can see now it's much more square and it's kind of getting more constrained and that's basically all we're doing to the waveform in max so it's really easy to test you don't even have to have a known equation that works you can just kind of start multiplying these objects by each other and see if it does anything cool to your waveform so there's your derived function and then we can do the same thing with a polynomial and i'll just take the polynomial that was on that wikipedia page which is uh 3x squared so squaring something in max is pretty simple you just multiply it by itself and x is our signal so we can multiply it by excels and then i'll make another multiplication multiply it by three and then what's next uh minus five times x minus still d right here 5 times x so i'm going to take this multiplication change it to 5 times x and then lastly plus 4 i found that adding if it's just a plus or minus of a whole number um it doesn't really do much for the waveform except you know shift it over but we'll do it just for fun plus four and then we can see if it does anything interesting oh yeah look at that that looks like not a sine wave that's pretty cool but you can see the uh the top range is at 12 and the bottom range is at 1.9 so you can add some multiplication and some um addition to shift it over back to be around negative one to one if you wanted to and then in the spirit of prototyping since it's so easy and max i'm going to take a tan yeah i'm just gonna plop it in like i'm gonna say the a tan of this minus the a10 of that so let's see i'll put it in here we change the shape again which is awesome cool oh wow that's quite different so you can see how fast and easy it is to prototyping max even if you're not really sure what you're going to be trying and if you're doing this in a juice project you know you're probably going to be you know hitting bill trying some couple things opening it in your doll listening to it listening to it through an oscilloscope checking it out reopening the project do it again but this is much faster and then i can do this i can start adding my own multipliers instead of three and five i can just start doing my own yeah look at that we're getting something and then since i know that that's driving it and making a weird shape i can know that that can be my drive parameter and in my juice project i can send drive to these two terms right here so instead of three and five i can make this drive so be like drive x squared minus uh drive x plus four and that's kind of the real spirit of prototyping in my opinion like you you can't really do anything wrong like sure you might do something that won't sound good but you know what what does it matter i mean if you find something interesting you'll know and it's a lot more fun to do it this way so yeah that's kind of like a brief very quick overview of prototyping in max so i'm going to take the the soft flipper and oh i forgot to open producer distortion meetup open that in xcode and of course it's going to take forever as it always does thank you so much for this landon this is really helpful for people who are just getting started oh i'm glad i'm glad it's not just me rambling on i'm glad other people find value in it absolutely i'm gonna delete the code because that's what we're gonna do together and i'm gonna kind of show you what we're working with basically so i'm gonna do the soft clipper i'm gonna build it in standalone just so that you can see what the gui looks like just so that we know what parameters we have that first build when you open xcode is always the longest and then after that it's quick and you'll notice that in my process block oh okay finish building let's see awesome here's my amazing gui we've got an input a drive a mix and an output and the input is going to be driving uh or it's gonna be adding a multiplier to the input um and the output is gonna be adding multiplier to the complete output so that's a final kind of trim um changing the volume of everything and then we have our drive and mix so the mix is just gonna be the difference between the dry and width channel or the dry and width signal so that's what we're working with for parameters already have all the the listeners and attachments set up and stuff so we don't have to worry about that so uh my process block right here um i have it set up with the typical sample channel for loop but i'm doing it based off of the audio block instead of the buffer and that's just because i've been doing that uh recently because whenever you abstract it out to a class you'll probably have like a a process so it'll be called like soft clip dot cpp you know and then i'll have like a process block function where i pass it the block the audio block just in case i'm doing or i'm using other juice dsp objects that i'm using the audio block for it just makes it consistent um you know i don't even i don't know if it's like the the best way to do it but it makes it consistent so that my process block always has like you know filtered out process soft flipped up process trim.process whatever and then i'm just passing it the audio block and it looks nice and clean so yeah that's how i'm doing the dsp in this example i'm not i'm tracking it out to a class i'm just going to do it directly right here so the first thing i'm going to want is even even without having to look at max we need some kind of um input variable so i'm going to say auto um actually i'm going to say const auto input is going to be equal to i have data right there for the uh channel pointer so i'm going to say uh data sample and then i'm going to multiply it by the the input variable which i have already set up in the header i've got an input db that's connected to the um the dial already so i'm actually going to multiply that but it's in db so i'm going to call that nice juice decibels function so i don't have to use pow 10 blah blah blah what is it decibels to gain and then i'm going to pass it input db which is down here so just with that all i'm doing is being able to multiply the input and you know make the input louder which will drive it harder and then i'm going to say const let's see i'm going to call this soft flip i think which is equal to 2 divided by pi now i don't know if this is even really a thing anymore but you know i've always heard that you're not supposed to do division um in your code when you don't have to and what i did was i went in the header and i just went ahead and defined what 2 divided by pi was with this math constant pi and 2 divided by it and i just called it pi divisor um so that's just a quick and simple little way to to do that and prototype with so i'm going to say oh we have that needs to be constant by the way soft clip oh yes cons auto soft clip uh the if you remember the soft algorithm was that pi divisor that i made and that was multiplied by the a tan so we call s stud there's an a10 i'm gonna do the a tan f1 right here for the float so this is going to be the input times your drive so this is input we already have that right here that we made above and then drive is also in db so we're going to have to use the same conversion uh drive db cool so that's the a10 we've got 2 divided by pi which is stuck in this variable times the a tan of input times drive yep that looks right and then we're going to blend it and this is something i just picked up recently a nice little blend algorithm i think also from eric tara's book hack audio uh so we're going to blend it so we want the mix when the mix is zero we want only the dry input and when the mix is 100 we want only the like soft clip so i'm going to say let's see i think input times and then you can do this trick right here one minus mix my mix is the dial goes from zero to a hundred but i have it scaled right here i have it scaled in the parameter change to divide by 100 so that it's between zero and one cool so i think that's that plus soft clip mix so let's take a look at this and make sure it's correct so we're basically so we're adding the input and the soft flip together but then we're changing that with the mix so when the mix is zero that means that this equates to one and we're multiplying it by input so input times one yeah that sounds right and then we're adding soft clip times zero when it's at zero so yeah then we'll only have the input and when mix is one one minus one is zero multiplied by the input is zero but then soft flip times one yeah that's correct that sounds correct so that'll give you your mix between dry and wet and then whenever these are at 0.5 so halfway it'll be half of the input added with half of the soft clip so that'll blend it yep that sounds right and then we're going to add the output right so we're gonna multiply that uh let's see actually i'm gonna make it not const so we're gonna say blend times equals the same conversion right here and that's going to be i forgot what i called it i call it output yeah output db and i think that's it we just have to send it to the block right so we'll say data sample we have to replace what's in there with what we want and that's equal to blend and i think that's it let's see we've got our input we've got our input the actual input coming from the block multiplied by our input variable we made a soft clip algorithm times a tan of input times drive we're blending it with the mix we are multiplying the entire mix by our output gain and then we're sending that to the block and i think that's it yep that's it that's about it um let's see i could show you what it sounds like but it's gonna i'll have to mess with the uh the audio it might not work because of that that loopback um [Music] trial thing uh let's see should i just go ahead and switch outputs and see if it works let's see and if it doesn't let's see if and if it doesn't work then what i could do is i could get samples from you afterwards and we can put the we can put those back in when we edit it back okay sounds good let me just build it real quick and see if it works and you can see i let's see get that out of the way can i get this out of the way yeah oh logic was already open let me close it yeah okay so you can see i attached it to logic by going into product scheme edit scheme and i have the executable set to logic so that when you build it and debug it actually opens in logic and that will that way whenever you hit an assert or something like that it'll pause and show you where it is which i didn't know existed for the longest time and i think that's very helpful for people starting out so now whenever i hit play it'll open in logic okay open up my tester okay let's see i'm going to change the output real quick back to my interface and let's see zoom uh vault 176 let's just see if it works are y'all hearing that no unfortunately not no okay yeah it's it's it's probably not worth the uh the time to try and figure this out but it's basically just it's a basic overdrive kind of soft clipping algorithm um this is what the i don't remember if i showed you this is what the interface looks like and yeah that's basically you can basically do the same thing with the polynomial um and then you can just let's see if i have it in max yeah so i have so 3x squared minus 5x so it would be uh x would be the input so you would just um basically write this out in your project in the process block and then just replace x with input and then you can replace three and five with your drive and that would probably do the same thing and you'll get a different shape and then you can also show you this in max real quick if you filter after the distortion you can change the shape a lot so let me go back to doing the uh soft clip i'm just going to do this real quick the a10 i'm going to leave out the pie let's see time still be that let me see make sure it's set to 20. send it to the scope we can see it's very square and and very cool looking but we can actually filter it so i'm going to make a state variable filter in max i'm just going to do this arbitrarily like i'm just going to put a cut off of like a thousand and the cool thing about this object is you can send out the low pass output the high pass the band pass and the notch so you can try this very quickly and you can already see that we have a really interesting shape right here that kind of looks more analog and realistic and we can do the high pass see what that looks like oh i don't know about that we got band pass that's interesting that's going to sound ridiculous and then notch notch is usually the coolest one this is very um guitar amp distortion looking to me after uh taking some impulse responses of my amp and looking at them um this is very analog looking to me so you can just use some filtering and change the shape of the distortion and make it way more pleasing and realistic so you can figure out what filtering does the coolest thing to your audio and then you can just remake that filter with like the included juice filters and it'd be very simple so yeah you do some filtering pretty cool and that's very quick as you can see and i think that's about it that's kind of like my process of prototyping and then um remaking it in juice it's it's way faster than trying to code all of this and then see what it sounds like after building it and then you know coming back making a change going back to logic building it you know it's much faster it's easier to get into than matlab because you can just patch things together and it makes it's more intuitive especially for musicians yeah thanks landon for this great overview i think it's a really good thing to have in someone's toolbox you know when building and prototyping stuff like this yeah um so we do have uh we do have a question on the on the chat uh from gas who's asking london do you use a data buffer in gen to make a lut using peak and poke for your distortions i have been doing it for a while and process is way cheaper i have used gin i do use genelab because you can use the code box i haven't used the buffer object that they're talking about i don't i don't think i've ever used it but what i typically do is if you go into max and i make a gen object gentilde you can double click and open it and then you get another patcher and it's basically the gen patcher you get inputs and outputs and you can actually make a a code box object and you can just write basic c code right here and i have done this a lot so that i can kind of like i can do like an overview in objects uh and then i can make a code box and write the code um that kind of mirrors that that same like um assortment of objects which is pretty handy oh yeah and again just to show people what you mean so actually let me redo that so you can type gin and you can get the the one that has the utility in front of it and you can double click it and you'll get another patcher and this is the gen environment i can get rid of that you'll have an input and output that you can use and what i typically do is i will make a code box and i'll just say something like uh n1 which would be the inlet uh is equal to um an input variable and then i'll send my audio into that inlet right here and then i'll write whatever equation i want in here um and then just check out the output which would be kind of closer to what you're doing um in your juice project but it's still way faster than you know having to press build stuff like that and so if you're already comfortable with coding um you can use the gen patcher and i think you can even you can export the uh the code from the gen patcher and it'll give it to you in some files i've never utilized that but i know you can do it and i've i know people have done it so you that's an option all right cool um so another thing which was mentioned i think you mentioned it yourself during the talk and there was a comment on the chat about it as well but you mentioned division so somebody posted on the chat the division is optimized the way if you divide by a constant and it will replace it by multiplication it's not quite right actually because if you do floating point division and voting floating multiplication by like the inverse that's not exactly the same operation because of the way floating point uh works so the optimizer is not going to replace one by the other unless you specify fast math which is this option where basically you don't do precise floating point math anymore but then you have other problems so you probably don't want to do that but if you don't do a fast math then the optimizer is not allowed to replace division by multiplication because it's not exactly the same operation right so then you would have to actually calculate the inverse yourself and then multiply by that and if that's all if you do all that like as compile time constants then i guess that's the efficient most efficient way to do this yeah so yeah you can probably should avoid divisions if you can that still applies as a general advice yeah cool you can check that on like god bold compiler explorer like what what the actual like you know output is the instructions like for with f f fast marth without stuff like that yeah like you can go through the similar instructions see what's happening yeah exactly and if you you will see that by default even if you do o3 like the division is still in there as an instruction unless you do fast math yeah cool well that's good to know all right um i don't think we actually have any more questions on the chat i've got some questions oh cool josh go ahead yeah so um i know that a lot of other people who are just getting started must be wondering where you've learned about all this and i was wondering if you could talk a little bit about the resources that you've used in the past to actually start learning how to do this so you mentioned the book the great book hack audio by eric tarr and uh what are what are some other resources that you use as well so another book that i uh use is designing sound by andy farnell which is very similar to hack audio in that it takes you through a bunch of dsp processes but it does it through the lens of pure data which is a free version of max it's almost exactly the same it looks a lot more low res but the objects are almost exactly the same names and that's what he does and it's kind of more in the realm of designing sound so i use that to when i was working on a video game to design like a fire crackle sound so he basically in the book has a huge repository of different sound design patches and pure data and he talks about the dsp behind it um also uh just going to google scholar and trying to search for you know uh whatever dsp idea that you're working on or trying to um work on you know you might get lucky and find a paper that has the actual um code version of the equations because sometimes working through the math especially if you're starting out is very difficult if you're not already doing that and i've learned a lot just in the discord channel for the audio programmer uh in terms of distilling down math to whatever the code would be so that's been a great help too everybody in the discord seems to be very helpful and eager to help other people so that's awesome but those are the two books i use a lot i've read through them multiple times amazing and and what type of math so another common question that people ask is what type of math would you recommend that people study like if they were going through university or they wanted to check out a course online that was focused around dsp what what would you recommend for math courses to get to get started i think i would say the course that i wish i would have taken which is you know some kind of pre-calculus or differential calculus um you know a lot of what you're doing is just linear algebra and um kind of just getting yourself comfortable with writing equations like you know multiplying certain things to get certain effects and you know oh if i'm multiplying this and i subtracted by a certain amount that'll even it out kind of like the um like the the blend algorithm was very very simple algebra and you know most people are pretty good at algebra but it kind of takes some practice to be able to kind of like um you know like conceptualize those things and i as far as other dsp processes i would say that i wish i had more experience in differential calculus for like um you know time-based effects because a lot of times you'll see either an oscillator or a time-based effect code that has like um you know dt over dy all that stuff that i wish i had more experience in so that would be helpful great and you've you've created a couple plugins now and i think when if if people wanted to get in touch with you or wanted to find out more about you where where would they be able to find out about you or get in touch with you so i have a website landonviatore.com and i also have a patreon viator dsp uh so i have like 10 plugins on my patreon that i routinely update the gui and then update um the dsp whenever i learn more things so um those are basically the two sources what an awesome resource thank you so much for your contribution and for uh for giving this given this talk i think has been very informative for a lot of people well thanks i appreciate the opportunity good stuff great um all right so i think that's it for this one and then uh tamer would you like to introduce the next speakers yeah today we have uh bobby lombardi and ralph richbook from the adc team and i think uh maybe you want to just introduce yourselves putting off thank you timur yeah sure sounds good okay um hi i'm bobby um so this year um i am working on audio developer conference like last year last year we were all online we did not do the in person last year um but this year i'm functioning as the adc chair and we are super excited to show you some stuff i work for pace anti-piracy um and i will pass the mic to ralph to let him introduce himself i'm ralph i'm also working with adc and i'm also with a center piracy um i my role with the adc is uh design and visual uh director so um what i'm we're gonna show you today is our virtual venue it's called gather um and so we'll go ahead and show that but you know the this conference this year will be a hybrid conference there'll be a live portion in london and that occurs next week right november 15th and 16th yes and uh yes and uh and there'll be the the virtual as well so yeah um let me go ahead and start sharing yeah well i wanted to go ahead and um maybe i would imagine many of your viewers already know this but um but teamer and josh are also part of the adc team um i just wanted to give a big shout out to both of them um teamer is our program chair this year as last year as well and i have to say the program is one of the most impressive programs um for a conference it's just lovely um if you haven't seen it you know audio.dev check out the schedule and it's just full of just the most amazing talks and they range from beginner level to intermediate advanced some nice panels i mean timor you just you did a knockout job this year it's wonderful thank you very much but actually you know it's mostly the people who submitted these talks and people who voted on them which is quite a lot of people uh actually one thing i want to mention quickly about this because it's really cool we have um as you already mentioned we have a hybrid conference which means you can either participate online in the platform that we're going to see in a minute or on site in london but the cool thing is that no matter whether the speaker is online or on site or whether you're online or on site everyone gets to see all the talks because the on-site talks are going to be streamed online and the online talks are going to be streamed into the venue so just wanted to mention that because i think it's really cool i have never been to a conference where that has been done before so i'm really looking forward to uh you know seeing that yeah and it's truly interactive right timor i mean i think the whole point is that there'll be moderation both on the online and the in person so that anyone online can feel like they're asking questions in real time and then we've done our best to incorporate things like discord uh to keep that interactivity and networking going but also you'll see now in a few minutes when ralph takes us through gather there's even more ways to network and be involved and feel like you're kind of present right i mean that was a big part of it um i wanted to give another shout out now to also to josh um josh is our chair of our workshops this year and it's also important to note that um the workshops for adc are all online they happen um the friday of next week so the in-person hybrid online conference is november 15th and 16th monday tuesday and then on friday of that week on the 19th of november is the online workshops and the online workshops are being presented in participation and collaboration with the audio programmer so um if you head over to audio.dev and look at the workshops you'll see that and um josh you want to say any awesome words about the great work you did there i mean killer workshops this year yeah once again it's just been a privilege working with the uh with the adc team this year and what's been amazing is that uh the teamer and i have been working with adc for quite a while actually and when we when we started it was really a three or four person team uh and uh and and it's amazing to see how this has grown into something that has become uh that has expanded a lot into this hybrid experience and i think that for anybody that comes to the conference whether in person or online i think you'll see that there's an extra added polish and an extra added experience that maybe has has not been there in years past and uh and that's um that's very much a um a testament to the work that the team has done so now we have uh i think about 10 or 11 people that are actually part of the adc team working on all kinds of uh all kinds of bits from sponsorship to uh the amazing experience that ralph is going to be showing you in in gather to the website um to uh to to our code of conduct team and um and even more so um it's great to be part of this uh conference and proud that uh this thing that we started uh just a couple years ago is a simple youtube channel has grown into something that now we have now we have a partnership with the conf with the audio developer conference and i'm really excited to show you maybe a little bit later what workshops we're actually going to be presenting and the people where uh we're actually collaborating with for this so uh i'll let it i'll hand it over to you ralph to take things away yeah yeah well i'll just say one last thing about the conference um and the sponsorships uh just say you know you mentioned the team but um the sponsors were just amazing this year i have to say they really stepped up the whole conference is being made you know possible by their generous support it's really just amazing how many sponsors stepped up this year so we really feel the love um i believe almost all the sponsors in some form or another will be there in person which is also just amazing right so you get that as well um and you mentioned the team level but um just like you said the number of volunteers that are stepping up also for online in-person helping us moderate code of conduct i mean i think all in that team is probably close to 50 60 people all in with the volunteers and it's just amazing so that's been great um just a quick word about the workshops that we were just talking about with the audio programmer typically at prior adcs you would have to pay for the workshops or pay an additional fee to your ticket what i find is unique this year is we decided to make workshops part of your ticket so there is no additional charge for workshops this year so even if you come in and do an online only ticket as a student it's 35 pound you know very low fee and that includes all of the workshops um so i think that's super exciting this year and hopefully um opens up just the accessibility to those workshops to people that may have not looked at them in the past because thought they were too expensive so i'd like to continue a lot of that tradition with workshops going forward so it's just great stuff um so enough enough of a plug there on the conference so if you want to check it out it's audio.dev um i i think you're right let's head it over to ralph as our head of the design uh mind the person behind the green curtain uh take us there yeah so this is um the gather space and it's a virtual venue and it's kind of configured like a little video game where you use your asdw keys to wander around or your arrow keys and you could just wander around and you have a little avatar which you totally customize and build and uh when i made my avatar i forgot the h i was going in the fast and i i stuck with it that's i'm ralph online over here so um this is me and you can see bobby here and he shows up the interesting thing is that when we walk away you'll see the video fades away and as i get closer he pops in and if our microphones were on we would be able to have a conversation there and anybody could kind of walk by each other and to start talking and um it's really builds for uh interactive experience um some of the uh this is the the real land this is the help desk and we're going to put in some information in here um but you'll see that there are some areas where there's little carpets and tables and these would be private spaces where we'll be able to get in and only the people that fit on this private space can have the conversation and everyone else outside will not hear your discussion um but let me show you let me show you the expo hall because this is kind of interesting so this is the where our sponsors are going to have uh their booths and you'll be able to walk up to any of these uh kiosks and you will be able to let me see if i could do one that i think there's one right here yeah if you hit you hit the x button you'll you'll see a video come in and you'll be able to hit play and interact with the items that are within the booth uh if we come over to this booth i believe that we have we have the job board so you'll be able to see any kind of job postings that the published covered that the um that the sponsors are are using here we can keep walking through and you'll see that every one of these booths is customized they did a really good job putting together some of their products and product information uh and let's get over to the juice booth just because it's a lot of fun it's down over here uh this is still a work in progress so we're still building this out but there's a lot of interactivity and a lot of areas that you can kind of wander around through in here i'm gonna i want to show you a couple of things so let's go all the way across the conference hall so you kind of have to walk your way around and you'll see that we have track rooms uh right here and these are the track rooms where these the talks will happen so you'll go inside of one of these and you will find yourself in a space where you're gonna come up and take a chair and you'll sit down and uh it's not linked right now but you would hit the x button and you would see um you would see the the zoom dock and so this is where you would sit and along with all your peers and uh this is the largest um the largest space that we have uh let me go up and show you another smaller space so this is track two and i wanna just mention them you know i have to say like it's hard to follow ralph route but one of the cool features about this is that you can actually locate um someone just um you can see everyone that's online and you can search for folks and see where they are um and then what i did was i just right clicked on ralph's name and i just said locate him on the map or follow him and i can just kind of quickly find where ralph was so you can see how quick ralph is running through this but uh you can find people pretty quick and um you can also see that like you know networking and speaking to people meeting people this is really what the big thing is about gather that you can have these like nice conversations with other attendees right yeah so this is a lot of be a lot of fun i think are they a really good online experience that people will have um and there's we built in some fast travel so that way you really you don't want to wander around you just go right to these uh these fast travel pads and they'll jump you right to the spot um one last thing i'm going to show you that's a lot of fun uh is that the the actual physical space that codenode has um something called um a spacebar and so we decided to keep that spacebar and put it inside the virtual and it's kind of a hangout space where people will be able to kind of socialize and so these uh these areas again will be private areas for the people that could fit in these tables but if you're standing just out in the open space anyone within earshot can hear you but i want to show you the cloud lounge because this is kind of exciting and it's this little blue arrow that hits right here and it will drop me up take me up to the roof and we have a rooftop patio up here and we have a bunch of video games that are up here we have a little park area and we have poker tables hey ralph maybe it's worth mentioning that um you know uh these are a lot of kind of fun ways to socialize with other folks but um you mentioned the video games there actually is going to be something called the uh what did it call it the adc quiz hunt i think is what it was called um adc quiz hunt is a game that's only going to be inside of this gather environment for adc 21 and there's going to be some pretty awesome prizes so um there'll be a leaderboard and basically you'll be hunting for clues um and then gathering those clues submitting them and in that real time leaderboard you'll see who's in the lead and um this year the prizes are just absolutely nuts um those same generous sponsors um you know basically ponied up a number of hardware and software prizes so very excited about that yeah yeah the cloud line is cloud lounge is uh put together by pace enter piracy uh and the ilock cloud so uh thanks to the team for putting this together wait this is a dance floor oh my goodness that's a dance floor that's a dance floor oh you you dance by hitting the x you know it's a z z the z there you go if you want to dance with me yeah yeah i'm dancing i need to actually dance on the dance floor i think there you go there you go solid done and and there's piano so if you uh see a piano you can walk up to it and interact with it and it will load the piano player in here and this will actually play and um yeah it's a it's a cooperative piano so bobby's playing and i'm playing at the same time so that's exciting uh let's see what else do we have up here anyways it's just a lot of fun it's a it's a good time to to socialize in a virtual venue where it's really difficult to do that because otherwise you're just clicking zoom links and just going through watching videos so this lets you be interactive you can talk to your peers and ask what you think about you know whatever and whatever you do at normal conferences so this is really good yeah if we cut across over here you could see the london skyline which is kind of cool so anyway uh is there any questions or anything like that we don't seem to have any questions in the chat but i thought that maybe this would be a good moment just to talk a little bit more about just the general overview of adc for people who may not be familiar what is the common about also just in terms of the online experience when how would people tune in and what does that schedule look like would they be able to ask questions live um things like that so i'm sure bobby can has a lot of a lot to speak about on that yeah i mean it's a great it's a great point um that you know some folks maybe have not heard of the conference in the past um you know it's in its seventh year um so it is an event that is all about um audio development technologies um and it can range pretty much on any topic um so it could be from oh gosh audio dsp processing um game audio embedded systems um there's just a little bit of everything and i hope if you get a moment check out the likes of the schedule that teamer had put together there's just talks that kind of touch every aspect of audio tech audio technologies so um getting into how the schedule was put together this year because we wanted to go back in person but we wanted to create a schedule that also made sense for other territories like the americas and asia pacific where you know these um london-based kind of conference times don't really work out for everyone because they kind of start kicking off around say 2 a.m in the california time zone so what we did this year was the conference does run on a london time type conference so like you're eight to six o'clock type style but there is a number of rebroadcasts that occur with the morning sessions that occur into the evening and that sort of helps our america's attendees feel like they're more part of it but also get to attend and ask questions but also get to view them and sort of watch party style with other attendees from that same time zone um or in other parts of the world in those same virtual track rooms that ralph was just showing you so that that's there there's also the ability to essentially see a a vault of all the recordings of the talks that have happened so far so you can essentially watch talks on demand and i believe the way the technology set up with um the conference this year pretty much within an hour um a live talk that just happened would get uploaded into that vault and so that just provides yet another way um to have attendees all around the world feel like they can access the materials while the conference is going on the gather environment that you just saw is live the entire time so that gather virtual experience opens up the evening before the day before on sunday of the conference it kind of shuts down after that second day of the conference but then opens back up again for the workshops um so that same interactive environment is also there during the workshops and then the discord server will be up the entirety of the conference so that also starts up i believe thursday of this week and provides yet another way to interact um so i guess the thinking this year as we designed the conference was how do we make it as inclusive as possible for attendees that just can't make it in person in london um or let's say you are in london and you're still not feeling a little too uh sure about the whole covid situation and maybe online made more sense this is yet another way to interact that's a great question a lot of a lot of stuff i said so yeah i should actually add that um i think the vast majority of talks are actually going to be rebroadcast so if you live in a very different time zone like you don't have to worry about missing out on anything um yeah so yeah it's i think it's really a great idea that you can either basically if you purchase the ticket you can either view the talks live or you can view the re replays together with other people or you can just view them in your own time by accessing this wall so it's really just kind of a very flexible way to be part of it so i think that's really exciting that again we haven't quite done it like this before so i'm really excited how it's going to how it's going to be in the end i think it's going to be great yeah it is pretty exciting and yeah we haven't done this before so it'll be interesting and i really hope that people participate and interact and that social connectivity is something that's unique to these conferences that people should really take advantage of yeah and and just a reminder that the that one of the tracks of the conference will be broadcast live via the juice youtube page so make sure you subscribe to that if you're not already subscribed and the rest of the conference uh talks will be rolled out over time for people who haven't purchased a conference ticket but if you want access to all those talks uh all at once or as they happen be sure to get yourself a virtual ticket it's not that expensive and it provides great value opportunities for jobs if you're looking for those opportunities to meet other audio developers so it really is a great return on investment for for people that are looking to possibly come out that's a really good point josh yeah the um you know it's not it's it's of course the talks are such a big part of it but the networking um you know if you're looking for um just for meeting more people in this space i mean this is such a great community it provides such a wonderful opportunity to interact with others attending whether it be online in person on discord you name it you mentioned the jobs the jobs are a big part of it you know all of the sponsors have openings that they want to fill um so they are all there actively recruiting and we will help them out by posting a number of those job adverts in different places throughout the conference um even keep an eye on audio.dev website there'll be a new tab that opens up with the jobs when the conference opens as well um so yeah there's just a lot of excitement in that space you mentioned the stream to youtube that's right like i keep forgetting that that's a good a good part of it if you can't you know um attend the conference anyway shape or form um just know that if you subscribe to the channel and go over to the juice youtube site you'll see that uh not only our previous talks from the last six audio dev um conferences posted on that channel but that's also where we'll host the live stream of one of the main tracks for november 15th and november 16th yeah great and i'll uh did was there anything else you want to mention if not i'll uh i'll talk a little bit about the workshops that we're doing as well yeah no i would say um i would i would really encourage anyone listening if you have questions we'd love to answer them and if you have any questions even about um virtual conference spaces and kind of what's been built out we've have a lot of experience now in this space last year we used the remo conference plat virtual conference platform uh this year we moved over to gather and still you know learning as we go and really excited by the amount of interactivity we can offer there yeah absolutely and um if you're looking to purchase a ticket you can do that on eventbrite.com and i'll put the link to that in the uh in the chat and just search for audio developer conference and you can purchase the tickets other discounted tickets as well for uh indie developers so if you have a smaller company or if you're studying whether you're studying in high school or at university uh there's discounted tickets that are appropriately priced for those as well i should also mention probably that if you actually do want to attend in person because you either are in london or you can get to london uh there is still also the opportunity to purchase in-person tickets and you can be part of the in-person experience and you will have a very good crowd there as well so just want to mention that too yeah absolutely you know um i all of the yeah actually um yeah ralph josh teamer myself will all be there um and and and there is also some fantastic pricing on those in-person tickets for academics so if you're a student or academic it makes a lot of sense so the in person venue is going to be codenote which is the same as adc17 and adc18 so some of you maybe have been there you will recognize it they're back in business and we're going to be back there so that's going to be really exciting yeah do you want to mention about um there there's also another reason to go to the in person the perks of there are two events there are actually a few that are very specific to the in person um there is a women in audio reception um that's very important to us and that's coming back this year for the in person so very excited by that um and if you've been following us on social you'll see some of those schedules but it's also on the audio.dev schedule tab there's also the um open mic night and quiz night um teamwork do you want to plug any of those yeah so i can plug the open mic night because i'll be hosting it as i have done in previous years uh on multiple occasions uh it's basically five-minute lightning talks except they don't have to be actual talks they can also be musical performances or stand-up comedy gigs or anything fun and informal that you wanna share with everyone you can you can get like basically five minutes on stage do whatever you want um you can sign up for that if you go to audio dot dev slash schedule and you find the open mic night there's going to be a link there to a google form that you need when to go to sign up and there's going to be prices for the best uh performances there so i think that's going to be really really exciting so if you are there in person um you can sign up for that team avid did ask us if we would plug their top fries for us um so would you want to do that um or mention that uh sure so um if you actually uh win the open mic night which means you're going to have the best contribution as voted by the audience by a method that i have not yet determined then you can win an avid carbon hdx dsp accelerated audio interface which is worth quite a lot of money it's a really cool piece of hardware so yeah they're including the software and their plug-in packs and everything i think it's multi-thousands dollars of worth of hardware software there so that someone's going to walk away really happy and then we have a lot of other prizes too that's a that's a generous gift um and prize from avid great um cool shall i talk about the workshops a little bit that'd be great josh yeah cool i'll share my screen so we'll do this there we go and here we are so uh so we're currently on the audio.dev site so that's a great place to go if you want to find out more information on where to purchase tickets find out the schedule and just find out more about the sponsors and what's happening in general and here we're proud to be doing the workshops in collaboration with adc and we have some really great people who are going to actually be producing these workshops and i'm very proud of them and i'll go through them a little bit uh individually so uh getting max out of gen is by isabel caprysky who is actually an engineer for cycling 74 and so she'll be speaking about that and uh that'll be a great workshop for people that maybe have a lot of experience with developing in max msp but are looking for ways to get that out into a juice project or onto raspberry pi or other ways so the second workshop is introduction to ci which stands for continuous integration set up in the cloud and that is by akash murthy who actually works here at the audio programmer as one of our developers and he's fantastic developer and he's going to be talking a little bit about continuous integration and that's going to be another great talk for people who have independent uh their own independent plug-in companies that are looking to streamline their work process and so he'll be speaking about that next workshop is uh building an analog screamer pedal and that's given by eric tarr so uh you heard in the talk by landon uh about eric tarr he is a legend in the dsp and plug-in game and he has been nice enough to join us to talk about how to make an analog screamer pedal so if you're curious about analog modeling come to this workshop then the next workshop is given by the focusrite team and they're going to be talking about testing so this workshop is called put it to the test it's a workshop that is talking about how to get started with testing your audio plugins and audio apps so testing is a way that people are able to build their apps in a more robust type of way and especially if you're going to be building an audio application that is going to need to stand the test of time and be distributed to a wide array of people so that's given by the focusrite team so you know that's going to be an awesome workshop then the next one is a journey to screener screen reader accessibility and that's given by uh the good people at ableton so there are uh these four people here but we also have some others that are going to be joining for this workshop and that's going to be an awesome one so if you're curious about accessibility in audio that is a great workshop to to learn how to get started using the native apis uh for windows and mac and uh getting into that then uh we're proud to have the juice team uh back to talk to you about building your first audio plug-in with juice so uh i think there are a few people that would have more expertise about how to actually build an audio plug-in with juice than the actual people that created the framework so we're proud to have the juice team to give their time to talk about that and the final workshop is how to turn your love code into a decent living so many people ask me all the time how do you make money doing this thing uh well there are a few people that would be able to talk about better than uh somebody like russ hughes who has been able to build several online businesses successfully and he will be talking more about marketing your plugin marketing your uh marketing your product and how to actually make a living and make some money out of building uh audio uh audio plugins and apps so yeah it's uh it's great to be partnering with adc for this and uh and i'm very proud of this strong program that we've been able to put together and thank you to the people that have also generously offered their time to uh to share with us so um thank you and we we hope that you're able to attend um if you haven't got a ticket please please get one hey josh that was a great overview um i appreciate that um there were a couple questions that came in maybe we can see if anyone has questions online and i saw that a question came up could could you share could can attendees share their screen in the gather interface for portfolio sharing purposes and then ralph i'll let you answer that one yes yes there is a share um ability within gather and yes you can share and the people around you will just like when you see the video they will see what's on your screen awesome any other any other questions so there was one asking about finding the answers to some questions from a talk from adc 2020 i might have to link up with jazz offline to talk about that uh and see so i know andy and i can uh i can see if we can get the answers to those for for everybody um cool anything else we want anything else that we've missed so talk about workshops general overview gather purchasing a ticket i think we covered all the main the main points i mean we just wanted to share today a sneak peek of that gather interface because so much time went into creating it ralph has really led the charge there along with other team members jim roper and linda brzezinskis and i just think that it's just an exciting space and i hope that a lot of our attendees really take the time to meet other attendees because i think that's a great way to you know just informally meet but like someone just asked a way to share your portfolio and your information i do believe with the sched we're using the sked scheduler program to show our our program this year the schedule of the event but it also that becomes another area where um attendees can upload a bio of themselves and information um if they wish to share with other attendees i think that's another way to also network yeah audio dot dev right the website that's the website absolutely yeah i always uh in my talks with uh andrew who's the person who actually is what's his official role vp is he the vp of uh pace uh i think he's the vp sorry if i've messed that up but uh he's the big guy he's yes head honcho uh and um we've had discussions about adc and where it is in the audio community's audio development community space and uh i've compared it to like the super bowls it's almost like the super bowl uh or the world cup of um of audio development uh community activities so it's the place where everybody just gathers to exchange information meet each other and uh help um expand their career so hope you can join us next week whether it's in person or virtually cool i think we've so really appreciate yeah i really appreciate this opportunity thank you josh thank you teamer this is a lot of fun uh landon really appreciated your talk i am a huge nut with vintage analog guitar pedals and i've been working on modeling some stuff i worked on a product called uh digidesign 11. i was the head product manager and working on all the algorithms on the 11 box and those pedals and whatnot and i just it's a topic dear to my heart when anyone talks about distortion i'm always all yours and want to learn more so yeah and i model in max as well so awesome stuff amazing awesome good stuff cool i think i think it's a good time for us to wrap up yeah yeah that sounds good yeah yeah before we sign off just want to give a shout out again to the people supporting the uh audio programmer meetup so focusrite sonnax and the juice team uh for thank you for supporting and sponsoring the audio programmer meetup once again uh we are looking for people to present the audio programmer meetup is held every second tuesday of the month and you can submit your talk on the audioprogrammer.com forward slash submit once again you don't have to be a uh an expert or a guru to submit it could be your first university project or if you are a guru we also might invite you to come along and uh and share with us it's all about uh sharing and just um networking with other people and um and also be sure to join our discord on the audioprogrammer.com forward slash community great place to meet other people and uh and connect with that exactly so we see you in five weeks time on the 14th of december which is the second tuesday of december and uh with that yeah thank you very much for listening and see you next month and hopefully see many of you at adc either virtually or on site depending on what you prefer yeah cool all right i will end the stream now and we will see you soon thank you so much bye cheers cool we are
Info
Channel: The Audio Programmer
Views: 3,710
Rating: undefined out of 5
Keywords: juce, juce framework, audio developer conference, adc, vst, audio coding, audio programming, dsp, digital signal processing, audiodevcon, adc'21, creative coding, creative programming, plugins, software development, ableton, max msp, c++, sample rate, bit depth, nyquist theorem, tutorial, beginner, easy, games development, games programming, basics, openFrameworks, open Frameworks, ofx, Maxim, Maximilian
Id: oXFM7s73LFk
Channel Id: undefined
Length: 81min 30sec (4890 seconds)
Published: Tue Nov 09 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.