Audio Programmer Virtual Meetup - Feb 8 at 18:30 GMT

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
okay we are live take it away rachel hello everyone welcome to the february edition of the audio programmer meetup this is a meetup we host on the second tuesday of every month where we discuss all topics related to audio programming thank you for joining us tonight firstly i'd like to thank our sponsors our sponsors are juice sonox and focusrite thank you very much for sponsoring the audio program meetup tonight we have two wonderful guests for you those are stefano d'angelo and giraffe daryl i'm going to pass over to josh and he's going to tell you a little more about the guests we have today yes thank you very much rachel and it's rachel's first month actually hosting this so uh thank you once again rachel for joining for these meetups every month and um yeah we do have some awesome guests with us we have stefano d'angelo who's uh tuning in from a mountain in southern italy tonight he is from orestron uh and we have guerrav dayal who is the ceo of beat skills and he's going to impart some wisdom upon us about uh how to start our own independent audio plug-in company um we're always looking for people to uh submit talks for the audio programmer meetup and um you don't necessarily need to be as experienced as the two people that are with us uh today uh you could also be a university student presenting your first ideas on dsp or an interesting project that you're working on and we would love to hear more about the things that you're working on and rather than give you the link i'm just i've just actually written it in the video description so you can actually click in the video description and it'll be the first line there to submit a talk and you just hit that submit your proposal and we would love to hear more about what you're working on and see if we can get you involved in one of these meetups so uh we hope to hear from you and with that i will pass the mic back over to rachel and she will introduce our first speaker thanks josh so it's my great pleasure to welcome stefano janjo tonight stefano is a music dsp researcher and engineer specializing in virtual analog modeling stefano has been in the field about 10 years and is the engineer behind arturo's virtual analog models of classic analog synthesizers including buckler's music easel and ems cynthia more recently stefano founded his own dsp consultancy called orestron earlier this year orestron released a library of dsp modules in order to assist companies in developing custom audio dsp applications so stefano is going to show us an example of those modules in use and speak to us about the process of developing engines for audio hardware and software over to stefano thanks so yeah thanks for the introduction it was perfect and let's jump right into the presentation if i can manage can you see it yes we can and um just to let people know if you have any questions please feel free to ask them in the chat just please precede them by the word questions so i can see them very clearly and we'd love to hear any questions no matter how beginner or advanced you may be please ask away take it away stephano okay thanks so i've been already introduced and i just want to say that this talk is about developing engines for audio hardware and software which is what i do daily actually so actually this presentation will be split into parts one of which is very boring but necessary for the second part the very boring part is about my history and this will be preliminary to the technical part which is maybe a little bit more into the things that are of interest for us but we will talk about it later so i'll try to be as how to say unembarrassing to myself as possible but let's go so this is my story let's say i started taking a computer engineering degree from the polytechnic of the torino which is in turing northern italy in 2010 in the same period more or less i was participating to some free and open open source software projects and that's something i'm not particularly proud of because of how that things those things turned out but anyway there was some audio stuff that was being done then from 2011 to 2014 i moved to finland to helsinki to get a doctoral degree in acoustic and signal processing under the supervision of professor bessa vallimaki who is a huge name in music dsp then when i left i went working at arturia in grenoble france and i've been the lead esp engineers for three years there then i left because i'm a little bit of a med person i went back home to southern italy where things are much more difficult and started freelancing and i've been very successful with the freelancing staff so last year i also started my own dsp firm he's still here in either in this small town in the south i am the author of 12 international uh scientific papers and i'm also officially recognized by italian and french authorities and experts as an expert in the field also for research tax credit purposes in france so if you have a french company feel free to contact me you'll have some tax credits so um let's start with arturia because i did my studies and those were studies i mean you can find out stuff very easily uh if you're interested uh i've been working i said in grenoble france which is a weird well weird yes but also a very nice place it's a very small town close to the italian alps the italian french helps i don't want to to take ownership of the alps in the name of my country of course and i've been working on some interesting projects like the booklet music easel which was mentioned before in other things back then then i have to say that the people who were working there were exceptional in many ways there were people who are capable of incredible things especially in the hardware department like the people who designed uh poly brute now but it was the magics brewed back then and it's unbelievable people and the organization is very good as well and indeed now the company has grown much bigger than it was at the time but as i said i'm a little bit mad and i wanted to be independent at all costs mostly to do two things to do more uh things that were related to the dsp works i wanted to do more different things and some of them more in depth at least more that than it was possible back at the time so i as i said i went back home and i started freelancing this is this the main square of my hometown now it's 400 people village with 350 people or they're older than 65 years old probably so it's a very small town uh i'm doing virtual analog stuff is we as a the things that i've done with arturia class mostly classical synthesizers and guitar effects i'm also doing some custom dsp algorithms from time to time i've been doing some wave table synthesis stuff some dynamic processors tuners and other stuff i am back into academic research since i left and i've been doing some work on anti-aliasing methods sound extrapolation special math functions and what not and from time to time i go consulting teaching the workshops anything that's connected to the usual stuff my current clients include arturia which everybody knows i guess neural dsp which is a company that's doing great stuff in guitar effects both software and hardware dark glass electronics with the base gear both pedals and amplifiers elk which is a swedish startup that does some extremely low latency remote jamming stuff and this activity actually allowed me to gain some insight on how projects are actually management how the specification process work how the implementation of all the components actually is laid out and then in general management of the projects is implemented usually but this also means having greater responsibilities because of course now i'm on my own i need to respect all deadlines and then there is the state then there is the administration taxes and what not so it's much more work than before um then after three years of doing this i realized that i was a victim of my own success in the sense that the activity was going really well but i had too much work to be done and the methods i've been using are really cutting edge on one hand but on the other because of being cutting edge they are they have to be performed manually and are very overprone and i had also the feeling of doing repetitive tasks the same things over and over so i had to find a solution also because i have very little time to do other things that interest me like going to the seaside or eating the food that is something extremely good around here so my solution to this problem was actually to start this company um this is called orestron and um still based in the same small town so in order to solve the problem of having too much things to do and usually in using using manual methods i started hiring people now we are four and and it's people with heterogeneous skills in the sense that i have a mathematician that works with me and he's a pure mathematician it does only mathematics then i have a computer scientist which can do things that i'm not able to do anymore probably and then there is another person who helps me with the administration then i started doing some [Music] focused research investments on how to improve those methods and how to automatize them and came to the conclusion that i needed some to develop some internal tools which actually we have now like we have tools for um automatic um analysis of circuits and stuff like that uh and it's working to be honest now we can develop things much more faster i mean much faster than before then for the repetitive tasks as raquel is with dracula russia dracula i guess sorry i don't remember the names as she said before we've developed a small library at the moment but it's growing very fast of reusable reusable dsp modules and that's available for licensing but we'll talk about it later so let's get to the technical stuff now uh i have followed some i mean i've watched some of the previous uh meetups and i've noticed that people usually get there get their hands dirty with code very fast which is not my approach so i will rather concentrate on the mathematical and engineering part if it's too complicated i guess not but if it's too complicated don't get scared it's not important that you get all the details it's just to show the process of developing something how the reasoning goes so let's say that we want to make a volume control which is the most basic thing i could come up with what you want to implement is something that respects this formula which means that your output signal will be your input signal scaled by some factor and you control this factor so if you go and code this you'll get something like this in essence this you will have a process function which will create this output it will be passed an input buffer an output buffer this value and a number that says how many samples you have in each buffer and essentially you will just apply the formula in an iterative fashion on all of the input values it seems very easy it's not this has two big issues so the first issue is that you probably have i mean if you do it as we've done before you will have not respected fascinates law or fechner's law again i don't know how to pronounce names i'm reading too much speaking too little lately so um this is a law developed let's say found out by a psychologist which whose name was vechner fechner which essentially says that in our case the perception of loudness is logarithmic with the actual intensity of the physical stimulus which i can suppose it means nothing to some people but in practice it means we need to work on the decibel scale and not on the absolute values for this kind of things like volume uh the decibel scale is defined as with the power law such as that that's shown on the right side of the line here and we'll make an example to make it a little bit more clear perhaps we know from experiments that to get a signal to be twice as loud as before we need to increase it by around 10 decibels which means multiplying this signal by a factor of 3.16 more or less which is the square root of 10 if you wonder but yeah by that factor if you want this signal to be four times louder you should not multiply it by two times three point sixteen but rather by ten which is the square of three point sixteen that's what it the the thing means actually in practice another way to see the same thing is if you have a linearly varying [Music] intensity parameter which is represented on this graph by the blue line you will have loudness you will perceive loudness to change much more rapidly when the value of this parameter is low rather than when it's high if you want instead to have the loudness changing in a consistent fashion perceptually you should rather use a power law such as the blue line on the right side of the on the graph on the right side here so that's not enough still because you if you do that if you apply a power law such as the one that we've been talking before the first problem that you have is that a power law can never reach zero because the argument should be minus infinity and you don't have to hit on a parameter or a knob or something like that another thing that you might notice is that a power load can be converted into and from an exponential load that's useful but if you want to solve this problem in a let's say correct fashion or an approachable fashion you can also notice that you can scale more or less an exponential to force minimum maximum and midpoint values and that solves the problem here and also this law is more or less specified as potentiometer behavior we specified and not respected in reality but that's how things are specified in truth so i i can understand if all of this it looks like black magic but we can translate it into code very easily so the result is now we want to use rather than k a function of k and this function if we want the midpoint to be 10 percent you do all the calculations you come up with this formula so you just want to apply this formula here the code shows how it's it can be applied essentially you can calculate it outside of the audio loop and that's what that corresponds to the numbers that you have above just a little bit of percolation done beforehand and then you apply this thing this solves one of the two problems there is no problem left and the problem is the problem with zipper noise which means that controls in audio systems are usually updated at a lower rate than audio itself so you will have a stepping effect that will sound horrible to most people at least yeah unless you wanted to hit some purpose but that's usually not the case so what you want to do is to smooth out this stair staircase kind of thing and that can be done and if you can do that actually you get the thing on the right which as you can see changes a little bit more smoothly and indeed this is called smoothing and the simplest way to do this smoothing thing is to use something called the wampol filter which is the simplest filter you can program in the sp so instead of using a function as before now we want to use another signal so we are multiplying two signals and this signal is defined in the case of the one pole filter is a time recursive function which means that the value of this signal will depend on the previous value of the same signal and you will do a little bit of math just to to have this thing implemented properly you will have as input the function that we've seen before so we can respect the fetchner's law and the value of these fixed coefficients that we have here okay i got a vocal message whatever the function that will i mean that the constants that you have here can be computed in this way which is one of the possible ways to do this but i guess it's them if you are into these things it's the most correct for this kind of application in my opinion and it's a method course called impulse invariant transfer or method or whatever impulsive variance or something like that you can find it on wikipedia by the way so if you're interested so let's put everything together and now we will have ah by the way sorry i forgot this constant will depend on a couple of values one is the same rate which is well the frequency at which the audio is updated and and that is known from the outside usually and a value that you choose yourself which i call tau here and it's the time constant in some circuit it's also called the time constant and it basically determines how fast the this filter will act how much will it smooth um so we put everything together and what we have here is the full code of the thing we have in this case a global constant definition for the value tau which in this case is 15 milliseconds which means that to reach the final value it will get from one step to another it will take more or less 200 milliseconds but i won't bore you with all these mathematical details at least not more than i did already then you will probably have some functions to compute different things like for example the sample rate is usually given very early when the plugin is instantiated or sent elected and it will be it will not change so probably will have function like this set sample rate here in which you can calculate your coefficient um then you will probably have a function to reset the state of the system essentially here you will set the initial value to some initial volume value to some value that you like i said zero because it's fun and then your process function will just be more or less like before except that here you will have this implementation of this one poll filter this line actually computes the filter with the formula we've seen before and at the end of the function we'll update the state that's all i hope that's clear but if it's not i said it doesn't matter it's just to show the reasoning behind all this so this can be still optimized this is not final and so on but at least you get a glimpse of how the things work and how many little problems you have to solve every time you implement anything in usb and that's a simple example now i want to scale you off a little bit more and we will try to to do the same thing but without the code because otherwise it would get too long for a saline key low pass filter so a silent ero pass filter is the simplest musical filter you can use in a synthesizer or an effect and it's made of five electronic components so now we start from a real circuit that kind of real circuit because it's never this easy actually but anyway so if you go to wikipedia and search sale and kilo pass filter you will get this one fantastic equations the first one is called a transfer function of the filter that is a mathematical description of what this filter does in linear terms and then you will have expressions for the cut off frequency and the q value which is well q is called also quality factor and it's directly linked to the resonance it's a measure of how how much the filter is resonant and as you can see those things depend more or less on all of the component values that you have in the circuit so if you're very lucky you will know the values of these components they will be given to you that's not the case in most cases i would say so you the first thing that you should do even before starting the sp in my opinion is to try to understand how to set these values if you're not given them so in regular circuits you have that capacitors have fixed values well resistors don't which means you will only be free to set resistors depending on controls from the users and not capacitors then what you would probably think is that we need to simplify a little bit the formula we have before and you can try by setting i mean substituting some values like expressing c1 in terms of c2 and expressing both resist resistance values in terms of a common resistance and some specific control values that i call b1 and b2 here if you do that those are the simplified formulas for the cutoff frequency and the quality factor of course i don't know if you will find this formula formulas in textbooks or santa cruz i hope so but i had to compute them on my own for the presentation so you don't have to be scared about these things if you want to really go hard into modeling circuits anyway from this formula you for formulas you can also deduct what are the minimum theoretical and maximum theoretical cutoff frequency and quality factors based on choosing the values of with b1 and b2 and if you want to go completely insane you can compute the values of b1 and b2 given cut off frequency and quality factors of your choice this is horrible i know again don't worry about the details here what is interesting to notice by the way is that the cutoff frequency and the quality factor this the frequency and resonance in this kind of circuit cannot be independently set by changing only the value of one of the two resistors so the things are coupled and if you want to uncouple them either you add more electronic components in the real circuits or you have to control everything like digitally in one way or another of course once you have full digital control then you can also implement other how to say mappings for the parameters as you like because you basically solved the parameter design problem by the way that was the first part then when it goes when you go to implementing these things the one of the issues that you have is that you have to approximate the derivatives that you have in the mathematical model of the of the circuit and there are many possible choices here i show three those are probably the most used ones um and these are not specific to dsp in any way these are basically uh they come from numerical integration and they're common to a lot of mathematics really like numerical analysis and so on um and there are more of course and each of these formula will give you different results in terms of stability accuracy and time varying behavior of your dsp implementation of the let's say digital implementation of the analog filter so essentially in this case we we have for the first three that the backwards euler gives better stability but worse accuracy and the thing goes to the other part of the spectrum when you go downwards in this slide but still i mean you shouldn't probably know some things about the properties of these things before choosing one and if it was not enough you can also choose to have different realizations of the filter that is different implementation styles those two are the most common and probably but i don't want to say the most useful but the most common when it comes to implementing second order digital filters like the salan key filter we have just seen but they can be also used for higher order filters uh as long as they are linear um the one on the left is called direct form one the one on the right is called trans transpose direct form ii um but there are more there is some forms that could lattice filters or normalized ladder filters that has nothing to do with you know commercial ladder filters then there is another one which is perhaps more useful in this case which is called topology preserving transform i guess if i remember correctly i don't use it so i don't remember the name to be honest and there are others and again choosing one over the other gives you different properties in terms of stability time varying behavior and what not uh so again you should know what you're doing basically here um then finally if it's not enough all of the of what we've seen until now there is also no linear behavior now this is also another complicated thing perhaps even more complicated than the previous stuff essentially in some circuits like this one you will have one or two or three components that have non-linear behavior which makes things extremely complicated computation wise but also this means that probably we have distortion added to your circuit which will mean in general more harmonics will probably cause some aliasing noise to be generated and you have to take that into account as well and you can do that by over sampling or by other special techniques but at least the meaning is that you need to know that this can happen as i said before nonlinearity means that you cannot use linear methods that are the most investigated in mathematics as of today so not being able to resource this method means that certain things become complicated to compute that's how things are so all of these apart let's say that we want to make a simple model just for fun or not to feel too ashamed of ourselves so one thing that you we could do is choose some values for the components um i made this arbitrary choice here of choosing c2 to be one micro farad that's one number you would choose another number and if you choose k 2 and r to have these values then you have the theoretical minimum cutoff frequency you can get is 10 hertz the maximum q factor you're going to have is 20. but then you could restrict in practice your range for both values and actually you probably want to have the cut off frequency mapped in a logarithmic fashion because it works like the volume we have the same thing with frequencies in our ears so if you use those magic values let's say the formulae will be a little bit simpler and you can actually define a mapping from input parameters normalized between 0 and 1 and actual cutoff frequency and q values when it comes to discretization and realization i would suggest to start by only implementing linear behavior that's complicated enough to use backwards euler discretization to get maximum possible stability because that's usually a big problem with digital filters to use a realization that's a little bit more complex than the simplest ones like the tpt realization or something based on state space because those help with stability as well and not to forget smoothing for parameters of course so uh let's set all of these aside that's the hardcore part in dsp but you don't necessarily have to do all of that to to create a product you can actually um get something ready made well from us or from anybody else that's not the point so actually we have developed this library that i was talking about before and we have implemented something very well very simple let's say it's very simple after you have implemented it which is an auto filter and that is a filter that sell but modulates its own cutoff frequency um [Music] which is structurally relatively simple in the sense that we use the input signal to to actually we feed the filter that we use in this product with the input signal but we also have a drive section just before it and then we use the same signal to feed an envelope follower which controls the cutoff of the filter then we also have a separated lfo which controls again the cutoff of the feature and then the output of the filter goes into a dry wet mix before the output that's it this is more or less inspired by a few real products that exist one is fantastic things a the actually the the ladder module by mooc uh then there is um a guitar pedal which is called meatball by lofton which is a fantastic auto filter by itself and also the boss auto pedal is a product of this kind we have implemented this thing with our library and it's actually usable directly in the browser you don't need to install anything we just have custom dsp code there running running on in the page and it's compiled to web web sorry web assembly so we're not using any standard wave audio stuff there so i will show you the code of the process function for this little example essentially we have this function takes an input buffer an output buffer and numbers of samples as we've seen before the first thing that we do here is to make a copy of the input signal we've been extremely slopping doing it this way on the stack but whatever it was developed in very very little time then we start with the lfo because it doesn't depend on anything so essentially we have a function that sets the frequency of the lfo and these frequencies this frequency is actually um cubicle mapped in which is a kind of exponential mapping as we've seen before but not exactly um but yeah essentially lfo frequency is a parameter that is in zero one range and the frequency we set for the lfo goes from zero point one earth to twenty hertz so the next thing that we do is to set some output coefficients essentially our electro module allows you to mix different waveforms together so we just set the mixing values for each of these waveforms and we have different cases the first case is the sinusoidal case so essentially we said this seems like that puts factors to one and all all the others to zero then we have the triangular waveform then we have what is it here the rectangular let's say the pulse reverse so so etc then we set the pulse width which is which affects only the rectangular and triangular waveforms then we have our process function for the lfo essentially here all the code is contained inside this function and you don't need to go and code anything specific in this case i mean in the case of this lfo module we have many inputs and many outputs that are related to nti aliasing but we're not using them here so it's all set to null and then we take the last produced our output sample as the actual lfo output we can we could do it in a better way again but we were doing everything in a hurry then [Music] here we use a one pole filter to implement the envelope folder again we have a threshold parameter which on which we use a cubic mapping for its use to generate this the input for the envelope generator and then we essentially do fully rectification of the input then we subtract the threshold and do alpha wave rectification essentially this allows us to have an input that more or less resembles the loudness of i mean to have an input for the envelope generator that more or less is related to the loudness of the input it's a small trick but it works and then we take again the output of the filter the oneplus filter has the output of the envelope generator then we have the drive section here we use a wave shaper class that has no special controls so we need to do some gain staging before and after and we also applied some smoothing that's all about it and then we finally have the filter section so essentially we have two filters one is a ladder filter and another is a one filter for the ladder filter if it's being used the first time we reset it and then we said cutoff and reason and frequencies again here the code is about mapping parameters and applying modulations then we have some gain staging and we call the process function for the ladder filter instead for the wa well instead it's similar it's a similar thing for the one we set the one position here we don't have a special control on the cutoff exactly but rather on the opposite the position of the pedal again we apply modulations we sum with the cutoff parameter then if it's been executed the first time we just add it and we process the the signal finally we have the smooth dry wet mix that's all so i don't know maybe commenting all of this it seems much but essentially we could develop this thing in half an hour to an hour i don't remember exactly it was extremely fast so last two slides i promise to not bore you too much i just want to do a little bit advertisement for library that we're producing uh just to tell you about technical and the business aspects of it so essentially technically we have developed something that we believe is very adaptable because it's developed in standard c and we have also some optional c plus plus wrappers but they're said optional we're not using the standard not even the c standard standard library um there are no abstractions uh we try to keep apis as consistent as possible but i said without any any common abstraction there is even a notion of module inside the library we do not use at the moment any cpu or platform specific code if we will use it at some point it will be optional as well we've done some optimization of course on the code then we will i mean we give full source code access we don't want to keep secrets with our clients the thing is designed to be reusable in the sense that it's modular there are many modules each is based on real-world use cases i mean all of these came into existence because we didn't want to code anymore the same stuff over and over the thing is very self-contained um the metaphor that we use is the usual patching metaphor that you can visually see for example in pure data max and so on the thing is easy to use hopefully easy to integrate in already existing projects or new projects and documented i mean documented at this point it's documented um rather minimally but we want also to produce some stuff that we publish on the website and perhaps videos tutorials and whatnot but i mean we are only for people it will take a little bit of time the thing is robust this i can guarantee because it's each model is well defined we've used scientific methodology from the start so there is no trial and error going on we know exactly what we want to achieve the each module produces no side effects so essentially nothing strange will happen outside of the module in any case the thing is well tested and it's already used in production by our clients so essentially there are musicians probably many of them who are already using this stuff without knowing and i want to say that we are trying to make this thing a good complement to existing ui libraries and frameworks like juice which is expo sponsors today and we do not want to overlap functionality in any way when it comes to business aspects um we are rather liberal perhaps too much with licensing in the sense that we do not license the whole library at once we just license single modules we put no limits on the number of developers that can use it no limits on the number of products that can be developed using it we offer an option for a time limit in the sense that you can either take it with no time limit or if you want to spend less you can have this low cost option with a five years time limit and you'll get free bug fixes in any case we guessed that this is i mean we guess we made it useful as much as possible for hardware application mobile software application like mobile apps desktop applications like plugins and so on and it also works on the web um we want to i mean we think this is a good option for independents newcomer companies in this area but also established companies as a mean to go faster let's say or to have newer and more reliable technology there are many pros in our opinion i won't go over them because you're bored and so am i you can read them on the website and finally we also offer related custom services like ranging from just let's say education of some sort to the development of full dsp engine that's all i hope you're still alive this is our website this is the email to contact us we do not even have a newsletter at the moment everything is being rushed out as as fast as possible but we still live in italy so bureaucracy is trying to stop us every in every possible way that's all thanks that was awesome thank you brilliant josh you're muted oh wow i was talking for about 10 seconds there all the time um yes so uh yeah a lot of people in a lot of activity in the chat with um a couple questions and uh i'm rachel as a dsp person if you have any questions please feel free to interrupt me and uh and um fire away um so in the meantime i have a couple questions uh one question was that in the volume control you talked about some other optimizations that you could make and i was wondering if you could just talk a little bit about that i was very curious to hear what that would uh what that would look like okay so on the top of my head what i remember for the example one thing that could be done is to reduce the update rate in smoothing so essentially you don't need to actually smooth at every sample you can get by by smoothing i don't know each four samples each eight samples actually this number should also depend on temporary to do things properly and that's one thing the second thing is that you don't even need to use [Music] the standard library for computing exponential for example because the standard math library that's used in programming languages like c or c plus plus tends to prefer accuracy over performance and in audio gsp that's not our main concern let's say those are the two things that come to mind i don't know if there are others actually yeah so a few people have have commented on this already and i wanted to get your thoughts um so there was a question just in terms of avoiding uh the standard library and how much of uh how much of an optimization do you feel that is do you feel that that's a significant optimization um do you feel that it's kind of a one percent difference that will just give you a little a little bit more power what are your thoughts on that uh it depends how much you use from it and what you use exactly but i can say that savings can be enormous even especially if you do non-linear stuff like for example if you use standard library to compute a hyperbolic tangent which is very common the thing will probably implement some iterative method to get the correct result and the iterative method will contain looping branching all sorts of stuff that's stole the pipeline of the cpu so no i don't want to get too much in detail here but the thing is that it will be worse than you can realize if you just execute that part of code and test it if you put it inside the project it's worse than that usually so you can really save a lot wow okay and um cemex sam x80 asked in your volume control example how how do you determine the tau is that just an arbitrary number that you pick or how is that actually determined the answer is yes it's arbitrary in the sense that you can use any value technically but in practice what you want to do is to feed this control with the same soil possibly around one kilohertz the reason i mean i know that this is a little bit a pragmatic approach but i know that the sinusoid is the waveform that is more suffering from zipper noise over volume and i don't know exactly what is the theoretical reason behind this but it's more or less known among people who do this okay sounds good uh jacques laplatz asks what is a good value in seconds to use for a sample buffer passed to these real-time filtering methods sorry i didn't quite get the question um what would a good value in seconds be to use for a sample buffer so how big should a sample buffer be for uh for to to to use for uh passing into these real-time filtering methods okay so i mean the methods as i've shown here do not introduce any latency if that's one of the concerns um of course that's not always the case for example if you have resampling to i mean over sampling you will perhaps introduce some of these depends also on the techniques that you use but anyway um there is a sort of golden rule for at least four guitar effects you don't want to get over let's say 10 milliseconds possibly even lower than that but those 10 milliseconds include the whole chain so it's a round trip latency measure so you want to take into account operating system sound card host application whatever is in between so i would say usually you want something that it's in the range of two to five milliseconds maximum and you compute that by you know dividing the number of samples by the same points okay uh toggle aqueous and i'm sorry if i've mispronounced your name asks i've seen ladder filters used a lot since are these are there applications for bi-quads or chebychev or butterworth type filters as well in the audio technology world and i guess the answer to that would be yes they're quite common actually right yeah they certainly are but it depends on the application like i wouldn't never use a bad word a battle worth filtering a synthesizer it makes no sense you want something that's reason and otherwise where is the fun yes and giova asks um if you could suggest uh if if there was somebody that wanted to get into this same path that you're in uh what what would you suggest as a good starting point where would you begin your path well if you want to be crazy like i was at the beginning i would suggest to get an engineering degree and possibly in electronics telecommunications or if you're less lucky like me in computer engineering and go on from there if you don't want to do that buy some good mathematics and especially signal processing books great any other thoughts or questions rachel i think that last questions like sort of answered what i was gonna go for but i just saw a few people in the chat were um maybe a bit taken aback by the maths and thinking okay like where can i where can i find these kind of projects where i'm like a first kind of virtual analog modeling project to get into where they can find somewhere to learn how to obtain the analog transfer function and then apply something like the bilinear transform and take that into the digital domain i was wondering if you have any like specific recommendations for projects or resources that might be helpful so essentially if you want to know how to derive a transfer function again i would suggest to buy a good analog electronic books that's i mean that's not yes dsp specific in any way so analog designers use those things all the time i don't know on the internet you probably will find this information as well perhaps even on wikipedia or somewhere else i don't know because i i did this stuff at university first so i didn't search for myself then when it comes to the actual dsp part there are some [Music] books or sources that i would recommend of course even if i mean as a beginner book for example i would suggest the art of va design by zavali which is freely obtainable on the internet that's a good book for starting out with these things once one gets a little bit more comfortable with this stuff i would strongly suggest to avoid how to say certain types of literature and go straight to publications from not not the latest ones because they are a bit more complicated but scientific publications from early 2000s or something especially from the defects conference or icast i mean any conference that deals with this stuff great um leo leo asks if you've ever used wave digital filters and your thoughts on them yeah that's an excellent question um i started with digital filters actually i've published two or three papers on them if you're curious just go to my website or find me on scholar google scholar or research great i don't know but yeah i've used them extensively even extended the theory a little bit um at the beginning i thought that there were a solution to everything then i realized that was not the case let's put it like this they are good for modularity in the sense that you can build a circuit and then if you change your mind at a certain point you can change the topology very easily the bad part of them is that their time varying behavior is horrible and it's soluble because of how they're built so if you want to actually have a product that needs fast modulations don't use weight digital filters okay great and uh we got another question from togo who asks um he or she are they comments uh what is interesting to me is that there are serious efforts to emulate analog devices that are not well designed uh with some old approaches and the question is is the sound of old devices a habit or was it really that good it depends on what you define how you define good or bad but to my ears at least some things sound really nice that's all i can say other things not that much it's more a matter of fashion and i mean if you ask me personally i'm a kind kind of guy who listens mostly to jazz rock and stuff like that so i will tell you that amplifier amplifiers i like them a lot and maybe certain synthesizers i don't but if you ask another person they have completely different tastes so it's up to you yes maybe maybe it's that our our musical landscape has been so colored by these devices and that they just naturally sound pleasing to us now more than anything i wonder if it would have i wonder what it would be like if it was the reverse where we started out in this tech in this digital domain and then we went back to analog devices if those would sound more pleasing to us or if they would or if they would sound um yeah not very not very interesting i don't know but i can tell you one thing i was just playing before this um this little meet up with you know vice the emulator of the c64 and i was listening to the actual sounds it produces and it's remarkably close to the original thing and i really like the noise of the commodore 64. and i was using it when i was three four five years old i guess that part of what we hear if we like it or not it's related to our infants really but you should ask a psychologist i mean let's say in my experience so perhaps if we were grown with digital technology we wouldn't i wouldn't like analog one possibly i mean it's very likely maybe yeah yeah it's the it's the question sometimes i think that uh like when it comes to a band playing together it's the humanization of when you hear the beatles for example and things going a little bit faster or slower and it's in my opinion sometimes it's the imperfections that really make it that give it uh that sound that's so pleasing to our ears and that when things are too regimented that uh well i think as a music producer myself that uh you know we can hear the result when things are too regimented when the high hats have no difference in velocity everything just comes out very mechanical and and not very pleasing at all so sometimes it feels that we're in even though we're in the digital domain that we're still trying to create that human the humanization uh by taking drums and maybe moving them moving them off a little bit i find that very interesting actually that we we actually put the effort into creating that thing that we sought to eliminate uh at one point in time uh the imperfections yeah to add to that josh i mean i'm sorry i'm interrupting but uh the proof is in the pudding if you go to reverb and you see the prices on old gear you know even from simple digital machines like the sp 1200 and so you'll see it's like they started re-issuing that with the original circuit i mean if one would logically think you know what's the point to doing that i mean when you have such more refined circuits and perfected timings it's all about i think two things probably the simplicity of certain things also is very appealing what is instant because the color is already done same with film like why does quentin tarantino still prefer to shoot on film what you just said the imperfections the impurity there's the kind of certain color which we took for granted and when digital came about that we were stripped of that right so suddenly everything's naked and it's like uh right there and like you said psychologically as stefano was saying psychology psychologists might be able to tell why human beings you know like certain kind of stuff like he's saying there's a there's a noise in the comment of 64 commodore 64 again being a completely digital device but all the aliasing and you know the noise and the a2d converters and the signal-to-noise ratio was not perfect the converters were not designed to be uh perfect but that noise factor or whatever just comes to that even your own point of hip-hop like for example there's you know people place space between the transients like they will actually add us as a silence before that so when you play the drums how that imperfect sampling is what creates back that you know groove as to you know or i mean me being such an analog person i was dying to comment on that so sorry to interrupt but uh i think it has its uh value you know it's people are buying it yeah i think those are very valid points absolutely um yeah it's it's it's so interesting you know you could take it even further and say well why do we have a different type of connection you know for instance when we're meeting in person person versus meeting on zoom it feels almost like that can be applied yeah it's like that can be applied in a way to how we perceive sound as well why we find certain sounds to be um very pleasing and resonant resonating with us and others to be um genre now tell me about it i'm making products you know in different genres like i was doing this you know four five years ago six years ago adding this and i was so badly battered sometimes you know who needs a product like this you know why are you adding and i'm like wait give it four or five years and boom you know uh yeah people realize that uh it's a style now it's stylistic we have uh two more questions and then we'll wrap up uh one question from giova asking if you're a musician do you do you produce do you play yourself let's say no it's the short answer no yeah interesting i was playing bass until i was 20 let's say then yeah less and less i got to the point where i take my bass in my hands like once every month or something like that so no and luckily okay great and michael kaufman asks do you have any guidance in terms of when to avoid the standard library or anything like that or would you would you take an all or none type of approach i try to avoid this as much as possible to be honest yeah i know that there are some cases in which it's not that much of a problem like certain mathematical functions are implemented directly by the cpu that happens but you need to be sure about which cpu your code runs on so if you can avoid it it's better in my opinion and a person in the chat martin mentioned this earlier and i'll mention as well there's actually a pretty good game audio talk about this uh i don't remember i don't remember where it's at but it's actually a game audio top where they discuss avoiding the standard library i think it was from one of the game audio conferences but they discussed that and their reasonings for that and the various optimizations that they've made so uh i'll try to find it and put it in the link in the description afterwards or something but uh yeah pretty interesting talk i thought wow that's pretty deep good it means i'm not crazy yeah no no it's it's actually a common it's a it's actually a pretty common practice within uh game audio when um companies like electronic arts uh have their own version of the standard library and i know music tech companies that do as well where they they have their own their own implementations of standard library functions so um great stefano thank you so much for that for that information i know people found it really insightful and yeah i know that it's been a lot of fun and really educational for me as well thank you for having me yeah awesome cool so uh say yes um i think we could move on to our second talk now and uh gaurav has previewed previewed things to come uh and uh i'll go ahead and just jump straight into it gurav and i have actually been friends for a couple years now since i've been in the industry i've only been in india in the industry a couple years when i think about it but uh garava has been we've worked together a couple times and um and i'm really happy to have him here he's the ceo of beat skills another company called tone empire and a few others that that you may have seen in your travels if you're into uh buying plugins and he's been nice enough to uh to share with us a little bit about his uh his journey lessons learned things like that and and that uh you know there are many people that i know uh that are probably in this chat that are thinking about becoming independent audio developers becoming contractors starting their own plug-in company and uh gurov will have a lot of insights on uh on things to do things not to do things to be aware of and so on uh and so uh welcome guerra thanks for joining us thanks josh i'll continue in the style of stefano's self-deprecating [Laughter] you know humor uh stefano being very brilliant i don't know how many uh people would be you know this is the boring part of the the chat which is running a company developers hate that you know all of the other stuff you have to deal with and as we mentioned before you know you have to get a team to manage the logistics so we are also like not a very large company with a medium small size company and uh we are also like about seven to eight people uh who are there but uh primarily it's uh the same way it's like divided into certain tasks the i think the the biggest challenge that i think people are aspiring to be developers i think that'll be a question probably is like you know what's you know it's not as uh one part is hard enough as you've seen with stefano's presentation is to make a really nice product you know to make a functioning system uh the other thing and this is just the dsp part then comes you know the compatibility where the sponsors you know juice come into play and juice makes it uh you know much easier for us to actually create in one system and then have that deploy over you know multiple types of daws and you know even operating systems and machines and all of that so that definitely is a is like a boon it's it's it's an awesome tool so uh it takes a lot of years to you know even with all this technology and tools to really understand what are the common problems you face in certain digital workstations because when you really take a product to market you know it's you're going to face a lot of trouble you're going to really face tough customers with different configurations with different machines with systems permissions which are not working and then it's not a guarantee that your product even with all the you know work that you've done lands there and works so customer support becomes in that space i think the primary uh thing to focus on i think when we learned your company our company's about five six years old now so in our second year we you know upped our game and started to focus a lot on customer support because you know people need to build a trust with you they need to know that in case it doesn't work you're there to help them and then you know the common problems you know the answers to things and that makes them you know uh very happy and sometimes we just have to you know give refunds because sometimes it just won't work even if you come you know you catch their computer and you you know your remote controlling it and there's some funny stuff going on which you know you can't predict but most of the time of course with juice and all of that uh it should work now you know obviously the dsp what you're trying to achieve you know what's the why do you really make a plug-in becomes also one part which is the non-scientific portion of things i think more i mean i because i come from a music background i've had a 20 year career you know i still like i said i'm actually a musician so i come from that spot i have a background of computer engineering but it just stated that it's not obviously as advanced as uh stefano has gone you know the whole route and that's why he's so brilliant as he is uh i come from that basic understanding of computer science and programming and then of course music so uh whatever we've been developing is uh josh primarily coming from our own needs and our own uh you know feeling of what we think uh could be a very useful product something that we think we can develop which is very exciting to us primarily in the whole process and you know bring it to the world our particular approach and i'm not saying this is not all companies but uh our approach is more stylistic or it's more about maybe not reinventing or or actually just inventing something completely new but taking from what you know you know like filters you know you've heard you uh you know sounds that you're familiar with but maybe combining them in a process which has never been done before or is uniquely uh very interesting together for example like using two technologies in our tone empire line we're using convolution and we're using circuit modeling together because i mean in to my years like i feel like for example that convolution and dynamic convolution can actually capture nuances of gear because it's literally like making a sample library and uh you know but again it has its limitations and combining that real imprint of the real hardware that you're sampling uh with the you know diversity the variation you can build with equations you know which which is just like you can go in between you can do this and actually model debut so when you do both of them that's like a unique thing to us i think that that's some our approach for some of the plug-ins at tone empire and uh favorably favorably so in our you know uh in our line of products because people respond that say hey this actually i can hear the you know those those certain things as to as compared to just a mathematical model you know because there are certain things you miss certainly i'm sure stefano will be able to that's what he does you know models all those the the small small things like you were talking about the noise the the conversion the aliasing now coming to aliens saying like we have a bit crusher plug-in which is got also convolution on top of it so examples the a to d converters like samplex that product it captures the a to d to a converters it also does the bit crushing with that kind of thing so it combines two technologies where people also get like the filters and the stereo width of the sampler not just you know dividing the sample and in this case aliasing is a good thing people are buying those sp 1200s for like eight thousand dollars for you know pitching down the sound for the aliasing so you know you have these purists versus the you know the old school guys so it's it's you know catering to you know two fields of thought or two schools of thought like trying to make a very lovely compressor the expectation is that hey yet over sampling should be provided so you know there's least amount of aliasing and then you have these colored products where it's like hey why don't we have a knob for noise it would be great if you just have like a continuous noise sample or you know a noise generator which adds that you know that kind of light so putting a product together then becomes more than just you know uh a technological advancement or something it it becomes also about you i you know uh like we've been appreciated or like uh for a ui is a lot people say that hey you know what it's so simple it's so immediate um and it looks good so it does that really play a role because you know many people worry or have that hey why couldn't i just have a simple interface and yeah i mean it works in many cases like you know some companies they just have a flat simple interface and its functions got so many functions there's not really any scope for design um but you know being a creative person i think it's a very important aspect what do you do when you look at a plug-in before you even hear it you see it you know you see a small thumbnail of it at a store so why are people going to pick you know your plug-in over somebody else it becomes a very very essential factor it just looks like a gray box with some knobs even before they can you know put a judgment it might be the most fabulous thing you know it might be the most best sounding thing that you were probably looking for but you know something you know small thinking about that is not appealing or is not popping out of that store it's not going to you know it's just going to pass by and you see something which is popping out immediately you see some you know controls which are appealing or large or simple it to a certain customer base it it does appeal not to everyone maybe but to a certain customer base then i think the longer journey josh becomes about uh your audience just like an artist so then it's not really about feeding the market sometimes as to oh let me top that plugin or you know let me create this that has never been done before it becomes you start knowing your audience you know your audience speaks to you you will get tickets you will get uh responses you will get social media interaction social media interaction is something that you know you just can't overlook it is such an essential part of the audience of people really telling you you know which some of it is can be really funny or it can be really uh you know uh hitting you for no reason and uh some of it can be really great criticism or or really things you know you you can think it all but sometimes a customer you know even somebody a newcomer might be able to tell you hey i wish it you know there was a knob for this or i wish you reduced the number of controls and you think and you're like you know this is coming from another point of view and it actually makes sense you know it's uh so why not give the customer in the next update something that they were asking for some very valid points so uh if one is able to do that and you know not close oneself to just you know okay i thought of this and i think i'm ready superb and you know and i i do you think they know more than me it's like if you have to give that up you have to really be like okay i might be the most technologically you know advanced person and i might know this and that but the smallest like user could tell you a small think about it you know about your product which be like wow that's gonna sell a lot more because it makes uh the job or you know the excitement or the usability more interesting or easier or you know whatever so i think that the customer base you build and what they say becomes something you should not ignore because i think that's a pitfall the first year you get really offended you know what the first day you'll be developing like hey i put all this effort and this guy's pointing out that zipper noise on the volume control but you see it's those that's experience right you understand that you know juice has a function for that it's called the gain with ramp uh you know option i don't know if it's implemented the same way as stefano stefano's method obviously is more complicated might be even more way more pleasing pleasing to the ear and more natural like literally like a potentiometer um than that thing but all those things all those little little things they they matter because by the end if they're using a tool day and out and they get really used to a tool there has to be something you know you got to learn what was special about that tool and it's not usually it's not always just the sound or the you know the functionality it's a lot to be a like a connection like if i'm sitting here with a red juno i'm i make a connection with this synth you know i i see it's got just one oscillator it's just a single awesome so why are you know selling like hot cakes like a single oscillator synth it's not even you know it's so dependent on its chorus you switch off the chorus you know it's gone but people just you know just buy this like hotcakes their emulations so it it yeah it's about a lot more things you know than just sometimes the the technology yeah you bring up you bring up a great point which is that it is a lot of things and we're so some people may be thinking so where do i start so i'm a i'm a beginning audio developer i want to make my own plug-in company um sometimes people come into our discord and they ask what what should i make you know where should i start um what what advice would you give to them yeah i would say start with something uh that you know would be useful to you personally first i mean if you are a musician or you come from a background even if you're an engineer um it could be something very simple like a filter okay but you could add something to it which is very unique in its space you know and uh if you have a reason to sell it to someone like if you're selling it now you're going outside your house you're going you know to an audience who already has so many options and so many stuff they already own so the reason of you know putting that out has to be strong even though it's simple never be deterred by the fact that oh this has been done before or oh you know my my plugin slam dog has been copied like a gazillion times people have said the same thing like i feel because i was the first one who did that i was scoffed at because they were like oh how can this be a bus mixing plug-in with just three knobs so from personal experience i can tell you that it was the advertising or the reasoning or stuff behind it of being the most simple plugin on the market but nobody combined something in that way which gave you a mixed bus compressor just a low end knob a high-end knob and a stereo expander that's it simple so if your reasoning the way i put it out there i think the reasoning appealed to edm producers it appealed to a certain audience who was like hey i don't want to go through a 60 band eq okay i want to make a beat and i want to have two controls to fatten it up and thicken it up or i need a filter which could just clean up this stuff and it's appealing enough or it's just got the right bandwidth to the right like you say mapping in a way between the frequencies just could be a simple thing like mapping you know they just might not like the filters and some other plug-in because it has the entire range and it's not fitting out well so just that mapping that you went for was so easy that every time they turned that filter they got to that point a to point b immediately and that's it like you didn't reinvent the wheel but you gave people a very strong reason which you showed them why it's a great product for them to buy so i think it comes from your own you know need and uh story like what's the story so i think that's the key point yeah you bring up a great point and i think that one thing that i think about a lot is about going against the grain of the trend which sounds like something that is what you've done uh if you if you look to the early 2000s a lot of the tools and a lot of the plugins that were being created were kind of all-purpose uh plug-ins things that plug-ins and synthesizers that tried to do a lot in in one plug-in and now recently it feels as though this has gone the other way which is where you have a plug-in such as arcade which has a very distinct identity it's an identity that's not uh for everybody but it's for a certain type of producer that wants to create a certain type of workflow and you you've done that with beat skills as well so for people who may not be familiar with that brand can you talk a little bit just about how you've found that identity for your brand oh thank you for that question it's a lovely question something i'd love to answer so me being like a 80s kid you know growing up in that time i was exposed to all this pop music because synthesizers were new and drum machines and these things were new so although i didn't have access to those things but i grew up on that music and it stays with you and as a child what you listen to stays with you so beats skills is a brand which is basically going to stick with everything you know kind of 70s 80s little bit of the 90s you know that's it like we don't go beyond that it's not a crazy so we are able to cater to that genre you know so like we're making old school samplers we're making uh synthesizers we're making uh we already have very successful drum machines like synth wave drums and all which are pretty much like on plug-in boutique the top seller we've been told that in the synth phase genre we have the top selling products period so uh that kind of proves the point that if you stick with one spot which is what beat skills is about and gets everyone who's in that genre to be interested in the products that you make it kind of works out so even us being limited like purposely being in that space that hey we only make old-school hip-hop or synthwave or retro or you know keyboards and things like that it's a kind of flavor it's very it gives you an identity it immediately gives you that oh they're not making the next you know sound design swish swish plug in whatever great good for people who do uh but that that following that is that the cut following of sorts that man the sounds we need these guys have it the controls we need these guys have it so i think that is kind of a brand identity thing like you said with output they have a certain workflow we have a certain workflow our motto is less controls more sound or more more variation more uh more colors but the model is not it's not going to be a 13 page synth we're never going to do that the maximum done is a new release called techno keys which is a four page synth with lots of things but the reason we have these pages is like the first page is only minimal controls it's like when you hit it you can immediately start playing sounds and with a few tweaks you can really change sounds if you want to go deeper okay go to page two if you want to go even deeper you go to page three and page four but the like i said the concept is always less controls uh the vintage way of working uh fast and quick immediate results so that's something you stick with uh be skits yeah that's really awesome uh there are a couple questions one question is from jacques who asks do you have any advice on how to get customers do you advertise on facebook are there any other better channels how do you connect when you were just starting and you first had this vision how did you first connect with a customer yeah uh well just do the basic routes of the free stuff first which is go to forums like you know kvr uh there's bedroom producers blog this there's a lot of places where um you know you can get news out for free you don't really have to pay anybody and uh that's the first step because they're just published and used for free so if you have something which is interesting it's being exposed to a lot of customers because this is that point where you don't have an email list this is at a point uh where you're starting from zero so that's the first thing because even for facebook you see to use facebook advertising effectively you need to have some audience because then facebook can multiply that audience they have tools like find similar customers or you know find you know similar kind of people although you can tag and write on other you know you know names that you think your product is similar to say your product is similar to arturia for example so you know you can use some keywords which are similar or familiar that your ad can you know reach that kind of people but i think facebook is most effective in my opinion now once you have a certain bit of an audience then you can use the real deep tools in that to you know to expand and and go forth instagram is a great place if you're starting with nothing because the more you demonstrate your product with the right tags uh with a video and it doesn't have to be fancy it doesn't have to be with a expensive camera you don't have to do all that kind of polished marketing i think that even with all the polish marketing we sometimes do uh the traction we get from instagram still is very important it's a very identity oriented place so like i make a lot of videos with my sense and the plugins i use and that really gets us so much engagement like right there that i think that that becomes a great tool and it's a free tool again it's it's just free you know so probably start from there and uh maybe go to youtubers uh you know try to approach some of them like josh and you know see if if you're developing something he like like he opens that fact that if you're developing something call him like you know they might feature you if you've got something you know good going so that's again a great way to uh put forth some advertising go to youtubers who you think might be interested in your product so yeah i mean that's the way that's how you start you build make a free product if you can initially to get a mailing list you know yeah i have a question that leads on kind of from that one because that's okay um so you mentioned the importance of you know listening to your customers feedback and acting upon it right uh i just want to ask about your process of uh gathering customer feedback in the development and release process like whether you've got some [Music] user surveys with incentives that you send out or beta testing or whether you find that you can get enough information from like support um inquiries and you know facebook and instagram feedback like what's your kind of suggestion for the best way of gaining customer insight yeah that's it's uh it's a very tricky thing but this is a great question actually um um i think the initial thing you know when you start out it's like nobody cares right because you don't have a product yet so when you do start out probably the best thing is some people might not agree with me but is to show the stages of the product you're making already on instagram or youtube videos that hey you know what i'm developing this thing and over a period of six months or whatever you've got like 10 videos out of 20 that i've reached here you will find that people will you know who are interested will start engaging hey what if it had this thing and what if it had that and that i think is a great way same with facebook or whatever so if you show the process i mean the whole thing is that if you show the process of what's going on like some people might become very protective about their product and be like hey i don't want to show anybody could copy me and you know do this so it really depends on the attitude of the developer like a person like me i'm totally free i'm like i'm not doing anything that's not been done before let's face it uh my strengths are really uh you know my ideology this my strengths are my sounds the strength is uh using what's around and making combinations so if i go with that notion that oh you know i'm developing something secretly i'm not doing that so for me i'm free of that burden so with the case of samplex which is one of our popular products the version one i did the whole thing for one year on internet so by the time it came out not only did it have certain things that people wanted very strongly repeatedly but it had automatically created a wanting and a longing and a buzz so all i was getting was email when is this coming out i need this tomorrow i so uh compared to a blind product launch or a secretive product launch i've realized that sometimes you know this whole build up of the process of revealing and talking and interacting uh gets your word out there uh you know and gets you the information like you said you need yeah sounds like it's a good idea to build up that traction and excitement about the product that's really good advice thank you but beta testing is also a great system like you proposed i think that's a good thing give out some you know time licensed copies i was just wondering like i think people have said in the past when they've sent out kind of anonymous surveys they've got more honest uh feedback than what people might give on like a social media platform but from from the range of what people have said to you on social media you described it sounds like you have got some quite honest you know yeah you'll get that feedback today people are not as shy as probably they were uh but you never know you know i mean maybe this the survey method is also you know probably very valid in its own space yeah you bring you you say a great thing which is that sometimes you just gotta try it right there there are a lot of people who uh talk about um trying to get it right on the first time and trying to trying to just perfect the process but sometimes the process needs iteration in order to in order to perfect itself even with large companies you know they have road maps like these things don't just instantaneously appear and in their final form right these are these are companies that have a story that they need to tell and it takes time to develop those relationships and it takes time to tell those stories and make the connection uh and you're you're bringing up a great point in that being able to tell your story is quite important you know if you if you uh just approach somebody with a product they don't know you and you don't know them you know you have no connection in order to to be able to get them to purchase uh sometimes you have to develop that relationship before you can um before you can ask them to buy in sometimes it's about giving before yeah and also you have to consider the fact that you know you're in a very competitive market today you have to really i mean digest the fact that uh even when i started out it was competitive enough but now it's even more competitive so uh your reason you know for sticking around a long time i would emphasize that i mean don't do it for a one-off thing and expect that if it doesn't work out um you really have to love wanting to make a product you know that hey you know i want to make this anyway whether this fails or it succeeds had i known the path that i would have to go through to get here and you know seen all the failures in the pitfalls i probably would have never done it i would like who's going to deal with all that kind of you know customer support and like all this backlash you get and blah blah blah um so it really truly has to come from you know the interest and the love of wanting to do you know many things and and hoping that some of it passes through it's just the same 80 20 principle you know a lot of you throw a lot of stuff on the wall something will stick but it will take a lot of stuff you know everything every product you're going to make is not going to succeed uh to that level but there is one very beautiful thing in in this particular software uh company running line of things which is not there actually in the music business this is the only kind of branch of music business which will give you this boon if you choose to be a development stick around is that i mean honestly i don't have a single failure product i mean when i say this what do i mean that i don't have a single failure product it means that even products which didn't pick up say in the first year of release sometimes caught on on the second some on the third so that shelf life is tremendous it's like almost like old music was you know you can still hear it so it has this tremendous shelf life that if you've not reached your customer today don't be in despair the second product or the third product might bring you on the map and then your followers will go and just rediscover what's behind it's like almost like i just discovered stevie wonder in 1984 and 85 and then i'm like i want to hear every record stevie wonder has made then i go back and i hear you know what a great songwriter he is and his stuff from the 70s and so you know it's just like that it's like discovering an artist it's the same with this except like i said music won't sell like once it's been done and it's on the charts and but but the products i mean the one way of hope is that if you want to be a developer and if you can stick it around long enough you might actually make it in a way where none of the things you made eventually were a failure it will catch up you know so absolutely we have a couple comments and questions from our audience um paul davis says ten years ago i heard someone predict that the future consisted of devices with just two buttons uh either one meaning that was worse than the other meaning that was better and we seem to be getting closer and closer to that uh to that time and uh leo asks a similar question about this and asks if uh if you see this many controls versus v field controls uh different in different markets so do you find that people maybe in asian countries or another in certain regions are gravitating towards liking a certain workflow over others have you seen anything like that because i'm yeah it's uh i'll answer this part first so it's not regional it's actually a very discreet distinction it's uh it's like musicians versus engineers so people who are uh music people first like play instruments but are trying to also wear the hat of an engineer and wear the hat of a producer will always gravitate towards less controls because their focus is not really trying to get into that 60th band eq they want to get done with it and their purpose is that i wanted to sound great so for them the tools which get them there quicker in the engineering part or the you know creation part is more appealing to them so those type of people will always appeal you know go go for that the engineer people who are like more into like i want to make the sound as good as possible over five days i've been given music but i want to tweak every aspect of its width and its saturation and this band and all that they obviously like will gravitate towards as much control as you know uh they can get but then again there is a mix because nobody's absolutely only a musician and nobody's absolutely an engineer like they say that an engineer is basically a failed musician you know so there's a saying which which you know is kind of true in the sense that you know they found more business maybe because you know music business is too populated um with people there's a lot of competition so it kind of mixes that the people like me who write in the center so for certain things i need tools which need to give me that detail and for other processes i just wanted to be like a tape processor honestly for me i don't need to control the wow and flutter i want to slap it on so it absorbs the frequencies what really the tape is doing and get it out of the way some there are people who want to design their own tape machine and for them they need a product which controls all of this right uh what's the deviation like what's it over time uh is it chewing the tape so much and i want to control all those aspects and design my own tape machine so then again like it comes from that it's not regional it's more you know who you are who are you yeah yeah uh two girl asks a question i'm not sure if you have a answer for this but uh they ask what is the fine line between donation and commercial products can is there a way that we can commercialize donation products i do have an answer for this in a way if you look at it like a subscription model versus a single paid product i would say that because that's what it kind of plays towards we have not done a donation model so the pure donation system i'm not tested i i honestly like you said i can't answer on on behalf of anyone who has um but uh we are like leaning towards building a parallel uh subscription which is kind of like a donation which is like you know like a patreon in fact so which is like if you like the product you can use it till the time you know you kind of pay for it um when it comes to uh perception you see there is a perception also so in my opinion when you have a paid product and it has a certain price point and it looks a certain way and it has certain quality attached to it in its presentation people tend to pay for it to also feel that they've purchased something of value immediately they start feeling a kind of tangible uh you know exchange of value that i paid this and now i got this and sometimes donation products can tend to be treated as oh that's just like a sketch product for me you know it might really actually blow away some like you've seen some free products blow away uh some of the paid products but you'll still see people just buying the paid product maybe way over then even the free download sometimes so why does that happen that again is a perception of exchange of value that's what i've seen because they feel like paid 49 now i'm going to get support on this plugin and if there are updates on this plugin i'm going to go for it whereas when they look at a donation product they're like i don't know what investment went into manufacturing that product does it even work will it stop working will it mess up my project so i keep it on that you know that rough system of mine out there where i can experiment and see how this goes so i don't know i mean that's what i've come to understand a little bit maybe i might be wrong like totally you know i don't know i think that you make a great point which is that you is is that you really just have to understand your customer um there there are some people who have uh business models that are account that are actually counter-intuitive to what most people would think would work one that comes to mind for me is matt tytel's vital uh synthesizer which is a synthesizer that is fully fledged it could very well be a commercial product and it's open source and it i think your mic went off yeah it went off it went off and it turned back on doing this the whole the whole thing i'm not sure what's going on with it um universal audio send me another sound card that'd be awesome if they did but uh uh but anyways um so matt matt tytell's vital synthesizer is actually just donation you pay whatever you want for it and it's actually open source as well and it's got amazing dsp it's phenomenal it's beautiful opengl graphics very well could have been its own commercial product i don't know how much he's earning out of it but he he's been successful he's been able to live off of that i'm sure i'm sure but it's one of those where he's delivered above and beyond uh you know the call uh a lot of times donation the donation products are just the bare minimum of what makes a product uh so again like you say it was a perspective uh we don't know for sure we might be like super successful and you know we just might be you know putting on but i guess i think probably a product like that will compel people to uh feel the value i suppose and and and pay so it also depends on the product itself uh where this experiment might be working phenomenally you know we won't be aware but it it just might be working phenomenally because it's just such great a product that people just can't ignore it they you know they they have to get their hands on it exactly um great uh yeah i think we've i think we've given a lot of great advice sorry that's my dog taste always making her contribution to the meetup um uh is there anything else that we should add before we wrap up anything else you'd want to discuss me uh no i think it was uh great insight from actually stefano's uh you know contribution to this thing i mean i'm like mine must be very boring and the you know the least of things people want to deal with but uh you know the stuff he was explaining and um all of that was uh i mean i've learned something i'm gonna take away something from uh this interaction and um yeah just to add to that like i said uh you know one thing is developing a great system which works and the other thing is marketing and marketing becomes an entirely uh you know tedious continuous stuff uh that developers don't want to uh deal with but like i said this is a great period for people to get into development because of tools like juice and because of access to third-party libraries like stefano's libraries and um you know build what they want to build and not even have to have a team of 20 people or 30 or whatever just start as a single person and uh probably make a million dollar company in here you know you never know it just depends on the product so it's i would say the best time if you wanted to be a developer this is the best time to probably do it yeah it's not a bad time at all it's it's talks like yours and stefanos that have have really brought out an awareness that i don't think existed a few years ago just hearing people talk about these aspects of software development and plug-in development and also the audio programmer if i familiarize i was saying this earlier was that uh josh and i have been friends like he said for a while and uh it's uh to be honest uh when we i was in the middle game of beats in the third year out and i was you know going to get more serious into order development and his channel i found and i'll be very uh honest to admit there's so much i learned from that to get back on to you know audio programming and juice and then he's personally gone out of his way to help me so i cannot uh you know not mention that uh plus his company of developers and whenever i got stuck i you know i was always confident i could call josh and he would like personally help me or you know get his team to you know help us solve certain problems or develop you know an entire system if we needed to so i think the audio programmer channel itself is like can you imagine we have something like this today which is bringing on people uh to you know showcase their brilliance and uh opening this landscape which was a secret and so hidden and so private and so you know uh you know you know under lock and key uh it just it's finally exposed giving uh you know people with great ideas now an opportunity to quickly learn from the audio programmer channel you know get started with your basic plugins get started with you know your foundation and don't then go on to probably advanced tools uh like from a restaurant and you know get into something which is built out for them and put it together so kudos to the channel i would say unto josh thank you very much thank you for the kind words yeah it's and it wouldn't be anywhere without people like yourselves to spread that brilliance and i really appreciate your um your ability to to share and to just open your knowledge to other people like you said there could be a tendency sometimes when you have the knowledge to sometimes people want to hoard the knowledge and feel that if i spread it that other people will steal it or they'll take it or they'll copy it and um what we don't realize is that people are living their own lives and a lot a lot of people they don't have the time to just divert from what they're doing to look at what you're doing and saying oh i'm in the dude i'm going to do the same thing so um you know this thing of open sourcing and spreading knowledge i think really just puts a great karma into the world and uh and that it's it's there to help document uh these things for future generations of audio developers to come so um great um we're still getting questions in shall i go through uh for both uh for both uh guerrav and stefano shall i just fire these away before we sign off i'm good yet okay uh very quickly gurov uh how important is it to have a segmented market uh targeting just initial plug-in users versus experienced engineers this is a question from joaquin very interesting question i didn't think of it like that but i think automatic automatically i think i just went for the beginner market first so that worked out well for me because i could ease into the business without you know hurting myself too much uh stuff i didn't know about at that time so yeah yeah probably the big market is is like a good way to start yeah it's like sometimes i think one theme that i've taken away from this is that you've got to go with what you know right like you know 70s and 80s sounds you know that style of music you know what that market is like what that audience is like you've had the experience in there as a composer and that's what you've used to fuel your product ideas and that's what i always tell people is if you're a guitar player make a guitar product because you know about what people in that space want more about it than what the average person would know if you're a dj like myself i'm very keen to know what sort of things i like in the djing market and what things i don't like so that would be the market that i would go towards so you have to fall into that trap of hey this is popular i think i can make a plug-in which can be better and you know nothing about it but just going by what you think is the market demand you can really fall into that and hurt yourself so yeah that doesn't work that that doesn't well in my experience when i've tried that that doesn't work because by the time you've caught up to the knowledge base of what it of what it takes to make a product like that the market is passed that the market has passed you by and you know whereas what you've done is you've started on a ground level with with your products and it's taken a little bit of time but that you uh but that the wave has come around and you've been right there where and then once again people say oh beat skills is successful with the products that they're making i'm just going to copy them by the time they figure out how they you know getting through the development cycle getting their products out and everything that's already passed by so it's gotta go gotta go with what you know um stefano wave morpher has a question um is there a benefit from using a filter rather than a linear interpolation for smoothing parameter values that's a good question [Music] in certain cases yes but it's really it depends on the kind of parameter you're controlling usually [Music] i don't know for example [Music] certain filter but i mean in general it works more smoothly with filters especially for filter parameters but there's no general rule that i know of i mean use whatever works best for you yeah and there's another question from wave morpher um how is using the phil oh this is actually the same question uh he was actually just really curious um so we answered that okay great um yeah i think that's i think that's it and i think that's a good place for us to uh to end the meetup actually so um so yeah so thank you very much gaurav for for sharing your insights uh pleasure and i think this is awesome this wasn't intentional but it felt like there were two different aspects here there was one aspect that was like a dsp creation aspect really homing in on the minutia of creating an awesome dsp algorithm and then that being a critical part of making some of making a product or making a plug-in and then there's the larger the 360 aspect which is the marketing the communication with people how do you create a story and a product that's compelling um how do you actually communicate with your and support your uh your users which is the which is another critical aspect so and it feels like there's there's there's some there are some great sides and you can gravitate towards one side or the other side and it's still all uh successful so there's no one road in this field to success you can uh there are multiple roads to that pot of gold so to speak yeah it felt like those two talks sat together really well tonight yeah yeah yeah absolutely thank you very much for for your time and uh and i'd like to give a thanks to the sponsors again uh phocuswright sonix and juice for sponsoring the audio programmer meetup and without them we would uh we would not be here um i wanted to mention the next audio programmer meetup i always forget to do this told me to remind you yes i was just about to jump in were you do you have a date i i think it's the exact same day as this month because of um us not being in a leap year ah so i think it is the 8th of march yes while you did that i was i pulled up my calendar quickly and i can confirm that it is indeed the 8th of march uh so that's the next meet up and as we mentioned before we're always looking for talks looking for people who are curious about sharing their ideas you don't have to have 20 years experience in this field please share your ideas we would love to hear from you the link is in the description in the video and with that i'd like to thank rachel as well for being an awesome host for us thank you i just want to say a quick thank you to everyone that's reached out to me from the community uh following last month's audio programmer meetup it's been great to get chatting to a bunch of you and i'm just proud to be part of such a friendly community yeah super awesome yeah i feel privileged all the time about how welcoming people have been just over the past three or four years that i've been in here i think that sometimes when you're getting when when when people are new to the industry they can feel a little bit um maybe hesitant and feeling like they're they'll uh that more experienced people will say oh that's not the way to do it or oh you're wrong uh or oh you should have known this um in my experience i've always found this community to be very welcoming uh and and very very inclusive in terms of sharing knowledge and um and getting to know other people and hearing their other stories so that's that's awesome to hear rachel um yes so um yes we will be back uh march 8th and with that we will sign off um from all of us to all of you thank you very much and i will end the live stream now so good night okay we are signed off
Info
Channel: The Audio Programmer
Views: 1,337
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: 0CWocz2ynh0
Channel Id: undefined
Length: 111min 40sec (6700 seconds)
Published: Tue Feb 08 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.