This site is supported by the advertisements on it, please disable your AdBlocker so we can continue to provide you with the quality content you expect.

Welcome to Our Community

Wanting to join the rest of our members? Feel free to sign up today.

A question for the Amp Sim Programmers

Discussion in 'Backline' started by TheWinterSnow, Nov 9, 2009.

  1. TheWinterSnow

    TheWinterSnow Den Mørke Natt

    Joined:
    Oct 22, 2008
    Messages:
    3,090
    Likes Received:
    2
    Trophy Points:
    38
    Location:
    Sacramento, CA
    So I have toyed around with amp sims for some time, actually started with revalver almost 2 years ago but moved on to real amps once I got my 5150. After trying to go back and use amp sims for tone testing for my band' EP and I am currently working on, I find that amp sims extremely lack compared to the real thing. Most of my complaints being, the scratchiness that is so obvious and the lack of obtaining total saturation without getting absolutely muddy, epsecially in the palm mutes, I cannot for the life of me get the saturated sound in the mutes without hicking the gain to a point wherer everything turnes to noise. I have noticed the same thing with all the clips posted here as well.

    So I offically give up on trying to even remotely get a tone that I am satisfied with on any software sim. But I think I want to let my sparking interest to go to college (after discovering revalver) and write my own amp sim with the idea on not worrying so much about the accuracy of the models but rather doing everything that is possible to emulate the real saturation characteristics of real amps. Hell I checked out an sim of a Boss SD-1 that is pretty accurate to the saturation of the real thing, if that can be done, with the right programming amp sims can do the same thing, unless I am missing something with the nature of simulation.

    Anyway, what came to be jsut a statement of giving up on amp sims has me in two scenarios. One being to simply ask the current programmers on this forum resources specifying how to learn and what tools to use to create amp simps, I already have Code::Blocks and the Cockos WDL IPLug library, but there isn't much on exactly how to use the classes and I have already been through hell and back trying to find some type of instruction on it, with no luck. My other scenario would be to start a project with any of the current writters to make something. However my C++ knowledge is very little as I have not gotten to programming in my classes (school messed up my schedule and I am going to demand that I get my programin class come december).

    So either way...halp? :kickass:
     
  2. ballstix

    ballstix Member

    Joined:
    Jul 5, 2009
    Messages:
    292
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Portland, OR
  3. TheWinterSnow

    TheWinterSnow Den Mørke Natt

    Joined:
    Oct 22, 2008
    Messages:
    3,090
    Likes Received:
    2
    Trophy Points:
    38
    Location:
    Sacramento, CA
    cool, its a little intimidating finding large turotials on youtube as they are many spotty sections that vcover small areas of C++.

    I will note, while looking into IPlug, I am quite intrigued to get working on some Mac sims, as I have seen that there are some programming libraries that are desinged for Mac.

    On a side note, it would be totally cool to learn graphics too, and those Tutorials go into them so sweet!
     
  4. ballstix

    ballstix Member

    Joined:
    Jul 5, 2009
    Messages:
    292
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Portland, OR
    Yeah, I can basically guarantee that these tutorials will more or less mirror introductory programming classes at most colleges. I'm about 2 years into my CS degree and I watched these instead of going to class for the first couple of terms >_>.

    As far as libraries and stuff go, I'm pretty much in the dark. I've tried looking into basic VST programming via Steinberg's SDK, but fuck me if I know what I'm doing. I'd probably point you over to the KVR forum, as they have some sections dedicated to virtual effects and instruments. There's also some beginning VST tutorials like this: http://learnvst.wordpress.com/

    I'd be interested in working on something like amp sims as well, so let me know if you find anything useful! Hopefully an experienced programmer can provide some better input. Good luck!
     
  5. TheWinterSnow

    TheWinterSnow Den Mørke Natt

    Joined:
    Oct 22, 2008
    Messages:
    3,090
    Likes Received:
    2
    Trophy Points:
    38
    Location:
    Sacramento, CA
    I am curretnly getting my AS in computer and Electrical Engineering, will be getting my BS electronics and communications shortly after. I am pretty confident that someone who has a chosen skill of actaully circuitry and how they should behave in a programming team, that the end result should turn out better as you have a person that is mediating the relativity of programming to the real thing, I think that is the one thing that I could do really well in the build of a sim, or a few others around here who are dabbing in building their own amps.
     
  6. valdiorn

    valdiorn Member

    Joined:
    Nov 8, 2008
    Messages:
    44
    Likes Received:
    1
    Trophy Points:
    8
    You can be a master programmer, but without the skills to understand the circuitry or knowledge of digital signal processing you're not going to get very far. if you're serious about going to school and making this your future then electrical engineering is what you want (or computer engineering, it's about 80% the same thing).

    by the way: DSP is not something you learn in software engineering or computer science, and it's very hard to pick up by yourself, although www.dspguide.com can get you in the game very fast.

    I'm finishing up my bachelor's degree in computer engineering and I'm finally at the point where I believe I am capable of understanding *everything* (most) I need to start working on my own projects (I mean serious projects). The amount of things you need to learn is staggering, and it is by FAR the most demanding task I have undertaken in my 22 years of living. It really is a brutal amount of material that has been covered in my 3 years as an undergraduate, and I do consider myself a good student. But I think it's totally worth it. Music was the reason I decided to study this (and there's a bunch of other musicians in my department :)), because without electrical engineers, modern music would not exist (the amplifier and the synthesizer have forever changed the way we think of music, as well as recording technology)

    Understand that programming languages and application programming interfaces are just tools to make your ideas reality. If you never learned to build a house then a hammer won't do you any good. You need to know how to read the blueprints and organize and plan your build, otherwise you'll never get far.
     
  7. ahjteam

    ahjteam Anssi Tenhunen

    Joined:
    Jan 3, 2008
    Messages:
    9,394
    Likes Received:
    3
    Trophy Points:
    38
    Location:
    Virrat/Helsinki, Finland
    Thats not entirely true, because it's pretty much just trouble solving and maths. For example I was programming various geotechnical periphiral applications in PHP for this company ~10 years ago and I was given the mathematical formula and example values they should put out, then I just had to make a program out of them.

    When it comes to understanding circuitry, you take for example a schematics of an existing analog circuitry, like the BOSS HM-2. Then what you just need to a schematics-to-components/modules transcription:

    input -> 10k ohm resistor -> *loads of stuff* -> 10k ohm resistor -> output

    And since DSP doesn't need to worry about ground-shielding, a lot of stuff related to it can be just ignored. Then you just have to make the DSP routines for each module, which you can pretty much then just replicate each time you need them

    PS: I personally don't know how to read scematics, thats why my example was pretty weak :erk:
     
  8. onqel

    onqel Member

    Joined:
    Jan 4, 2008
    Messages:
    1,304
    Likes Received:
    22
    Trophy Points:
    38
    Location:
    Norway
    You'll never get the model 100% correct because of the physical differences in the real world, even resistors are not 100% accurate.. they have a tolerance, and changes with temperature.. (How close you'll get depends on your approximation of the real thing...) A real life capacitor compared to an ideal one is also very different with respect to frequencies..Spice model that as a resistor in series with an ideal capacitor and an inductor.. The IPlug framework is just a tool for the communication between the DAW and the plugin, + GUI stuff and there is no documentation other than the commented lines in the example plug..

    regarding DSP.. The only thing I thing that is a "pure dsp filter" in my latest plugin is the anti alias filter.. the rest is circuit simulation

    - John
     
  9. OberstRock

    OberstRock New Metal Member

    Joined:
    Nov 8, 2009
    Messages:
    12
    Likes Received:
    0
    Trophy Points:
    1
    You should know how to read schematics. You should know how to model individual componentens and their interaction (network theory). Or you need someone to do this for you. I think that the guy most fit for the job would be the electrical engineer. Because a software engineer is miles away from being able to do this sort of stuff, whilst most electronics engineers do know their languages (c,c++ and even vhdl/verilog). A mathematician does also not posses the needed knowlegde (but in real life would probably get it faster)

    So ALL HAIL THE ELECTRONICS DUDE !!!! :headbang::headbang::kickass:
     
  10. bpcrshooter15

    bpcrshooter15 Member

    Joined:
    Nov 13, 2008
    Messages:
    93
    Likes Received:
    0
    Trophy Points:
    6
    I'm currently a undergrad computer science major, but I don't really have much background in electronics. To all the amp sim programmers: If my goal was to get my feet wet and make a very simple amp sim, with a decent handle on C++ and computer science concepts and not much in electronics, where should I start? Any good beginner tutorials/books? I'm hoping with some patience and some reading I can handle using some sort of VST sdk or whatever, but coding a schematic just seems way over my head and I'm lost before I get started (The coding, not necessarily understanding schematics themselves b/c I understand a little of what's going on there). any advice would be greatly appreciated!
     
  11. -Loco-

    -Loco- Knives.

    Joined:
    Apr 17, 2009
    Messages:
    1,047
    Likes Received:
    2
    Trophy Points:
    38
    Im gonna bump this thread as i'm studying electronic & electrical engineering and i'm also quite interested in this. Today i actually started programming the simple tremolo audio unit that apple gives a tutorial on for x-code. Might i suggest something like that as a good place to start?

    My programming skills aren't very strong.
     
  12. LePou

    LePou Member

    Joined:
    Apr 29, 2008
    Messages:
    281
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Quebec, Canada
    I have learn to program VST by studying the exemple provided with Steinberg SDK. About amp sim, what you need first is a tube model. Then you'll have to learn how a gain stage work and put it in equations. That part should be easy for electronic & electrical engineers... not that easy for a chemical engineer !!! Once you know what's going on in a gain stage and have a model for it learn how gain stages influence each other and you are done with the "electronic" part. An amp is nothing but gain stage connect together with some filters in between. Now comes the digital issues that you will have to address: aliasing, oversampling, real time processing (CPU consumption), etc.
    In brief, what you need to know is maths, DSP, programming, electronic & electronic and patience... a lot of patience... you can ask onqel.

    LePou
     
  13. Deadstar

    Deadstar Member

    Joined:
    Apr 19, 2004
    Messages:
    903
    Likes Received:
    3
    Trophy Points:
    18
    Location:
    London, UK
    guys ... how long did it take to code x30 or soloc?
     
  14. onqel

    onqel Member

    Joined:
    Jan 4, 2008
    Messages:
    1,304
    Likes Received:
    22
    Trophy Points:
    38
    Location:
    Norway
    If I exclude the periods I gave up, 6 months or something.. I think the timeline depends on how well you did in school (math/c++/electronics):p
    I did have to learn myself C++ among all the other things:loco:
     
  15. Deadstar

    Deadstar Member

    Joined:
    Apr 19, 2004
    Messages:
    903
    Likes Received:
    3
    Trophy Points:
    18
    Location:
    London, UK
    Damn that's a huge amount of time. I'm attending a .net & Java course right now and in the free time i think i will learn some electronics theory.
    How do find the tube model (when u say thx to Lepou) you mention in your site? ¯\(>_<)/¯
    I would appreciate if u can send some starting points
     
  16. LePou

    LePou Member

    Joined:
    Apr 29, 2008
    Messages:
    281
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Quebec, Canada
    It took me about 4 months to build my first version of SoloC, which was not even close to the quality of X30. I have already had a good modelling expertise (~15 years in chemical process modelling) but I was a comlpete nooby in electronics and I unforunately had to learn that part by myself.

    About tube model, there you go :http://www.normankoren.com/Audio/Tubemodspice_article.html

    LePou
     
  17. onqel

    onqel Member

    Joined:
    Jan 4, 2008
    Messages:
    1,304
    Likes Received:
    22
    Trophy Points:
    38
    Location:
    Norway
    Yeah, these two lines have changed my life :p
    E1 = (EP /kP) log(1 + exp(kP(1/µ + EG /sqrt(kVB + (EP*EP))))
    IP = (E1^X/kG1)(1 + sgn(E1))
     
  18. Deadstar

    Deadstar Member

    Joined:
    Apr 19, 2004
    Messages:
    903
    Likes Received:
    3
    Trophy Points:
    18
    Location:
    London, UK
    thz LePou! i'll take a look
    Obviously the huge work u guys made give you the chance to make new stuff in a relative short time.
    It will take aeons for me since the last app i've made is a address book
     
  19. onqel

    onqel Member

    Joined:
    Jan 4, 2008
    Messages:
    1,304
    Likes Received:
    22
    Trophy Points:
    38
    Location:
    Norway
    Yeah, once you find a solution to the equations you can make a tube class/library with different combinations of components etc..
    Read Valve Wizard's triode tutorial, the stuff on AikenAmps.com on common-cathode triode gainstage and so on.. It will help ;)
    Keep in mind that you are working in time-domain when you build a model/plugin :loco:
     
  20. LePou

    LePou Member

    Joined:
    Apr 29, 2008
    Messages:
    281
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Quebec, Canada
    Of course the first one will be the most time consuming. After that it will depend on what you want to do. I mean, so far I've been trying to model real gear based on schematics. I have to admit that I got very frustrated lately by the fact that almost every schematics floating over the net are loaded with mistakes. I have been working on a Bogner XTC amp sim lately and my first version sounded like sh**t. After weeks of searching, I have been finaly able to gather enough info about wrong cap and/or resistor values in order to have, I think, a decent sounding sim. Still have some work to do on it but it's getting better. Anyway, just to say that I'm gonna finish the projects I'm actually working on and after that I think I'm gonna start building my original sims, not based on any real gear.

    LePou
     

Share This Page