I always had a talent for languages, programming/coding.
Back in middle school I was the best in class, had the most unique solutions, and could always break any foolproof program.
When testing programs, games, Rack Extensions, I likewise managed to find bugs, and break the system.
As a little shit, I used to make smaller games, and understood programming up to using arrays.
Currently, my thinking works pretty well, so that I could make my planned plugins or Rack Extensions by myself.
The only thing I need to learn, are the core elements: processing audio (if I know how to manipulate a single bit of digital audio, then I already could do tons of things even with basic math), how to make a plugin communicate with the software and the soundcard, etc.
The question is, where to start, where to find resources.
I want to focus on Rack Extensions, since Reason has a fairly good copy protection.
What programming language to choose.
I believe I have the skills, the talent, and most importantly the will, the passion and dedication to learn coding as an autodidact.
I also have such thinking, that I see connections in my head, how the audio path would go, what processing needs to happen, to create a plugin. I don't even need planning and testing software like Reaktor, VCV, or even Reason and Combinator 2. I can easily plan most things out on paper.
So, please help me get started? (There's great potential in me, I just get stuck on stupid things, that just need a little push. Kind of like "throw him in the water, and he'll swim ~ alive".)
Where to start with Programming/Coding audio/DSP?
Devs can give you more info but have you been on the reason dev page https://developer.reasonstudios.com/
or other posts in this reddit might help to get you started.
You either must know high level real time DSP programming (C++, same as you would for any plugin format), OR you can use Gorilla Engine which is more limited (and they take 50% instead of 30% IIRC). Still interested?
Selig Audio, LLC
Huh, I didn't know the cuts were that bad. I hope they at least place their RE shop in a prominent position on their website, cause it was pretty hard to find in the past.
For that, the Gorilla Engine seems faster to learn/work with, but then again, programming has its uses, so maybe I'd try both. What's there to lose? I can invest time into learning and practicing.
But I guess those cuts are fair, so long as RS keeps working hard on their copy protection system.
The programming would also be worth it, because I might learn or come up with further new things about synthesis/audio-engineering.
- Carly(Poohbear)
- Competition Winner
- Posts: 2942
- Joined: 25 Jan 2015
- Location: UK
WOW, funny that I just started on this path myself the other day, I'm on Windows, started off with the helloworld walk through, had issues getting hold of VS 2017 as that seams to be the latest version you need to get the right 64bit command prompt to run the compilers (newer versions did not work for me).
It's quite messy in the way things hang together, but that's a framework for you...
I'm going down the C++ route, did not know it, watched a couple of youtube video's and found it to be quite basic language, not sure why I have not looked at it before.
I'm a bit like you as in I sketch out and do high level flow diagrams on paper first however just from doing the helloworld and adding a couple of controls I found that quite a pain so I will prototype designs\ideas elsewhere and in my case I have started playing about with a design in Voltage Modular (I have written over 50 modules in that space) just for a general feel of how things should be.
Also have a look at Pongsoft, there is stuff there (e.g. RE-Edit which is a gui editor) I will be using to help me in getting things going.
https://pongasoft.com/re-quickstart/index.html
Good luck....
It's quite messy in the way things hang together, but that's a framework for you...
I'm going down the C++ route, did not know it, watched a couple of youtube video's and found it to be quite basic language, not sure why I have not looked at it before.
I'm a bit like you as in I sketch out and do high level flow diagrams on paper first however just from doing the helloworld and adding a couple of controls I found that quite a pain so I will prototype designs\ideas elsewhere and in my case I have started playing about with a design in Voltage Modular (I have written over 50 modules in that space) just for a general feel of how things should be.
Also have a look at Pongsoft, there is stuff there (e.g. RE-Edit which is a gui editor) I will be using to help me in getting things going.
https://pongasoft.com/re-quickstart/index.html
Good luck....
Summer end vac time is over ~Carly(Poohbear) wrote: ↑23 Aug 2024WOW, funny that I just started on this path myself the other day, I'm on Windows, started off with the helloworld walk through, had issues getting hold of VS 2017 as that seams to be the latest version you need to get the right 64bit command prompt to run the compilers (newer versions did not work for me).
It's quite messy in the way things hang together, but that's a framework for you...
I'm going down the C++ route, did not know it, watched a couple of youtube video's and found it to be quite basic language, not sure why I have not looked at it before.
I'm a bit like you as in I sketch out and do high level flow diagrams on paper first however just from doing the helloworld and adding a couple of controls I found that quite a pain so I will prototype designs\ideas elsewhere and in my case I have started playing about with a design in Voltage Modular (I have written over 50 modules in that space) just for a general feel of how things should be.
Also have a look at Pongsoft, there is stuff there (e.g. RE-Edit which is a gui editor) I will be using to help me in getting things going.
https://pongasoft.com/re-quickstart/index.html
Good luck....
Whatever the future brings, I definitely want to invest time into learning it; but I was hoping for some Reason-specific tutorial to get us going.
Either way, learning some C++ will be useful to create at least some automated "bot" to save us time, for tasks that are a no-brainer and just repetitive.
For me, there still is some studio renovation to go (and building acoustic panels after all x _ x ), but in the coming cold weather, it will be more than fitting to cozily geek out inside in the warmth, learning DSP (and bot) coding.
That said, thank you for the info, I hope it works out well for you so far, and I hope to join your RE developer journey as a fellow programmer in the near future, too!
C++ is widely used for audio processing because of its high performance and low latency,Stickman Hook which is crucial for real-time audio applications. There are numerous libraries available for audio processing in C++, such as JUCE, which simplifies many tasks involved in plugin development.
That's good to know!lorde wrote: ↑02 Oct 2024C++ is widely used for audio processing because of its high performance and low latency,Stickman Hook which is crucial for real-time audio applications. There are numerous libraries available for audio processing in C++, such as JUCE, which simplifies many tasks involved in plugin development.
I'd like to understand everything that's going on under the hood of a plugin, though. At least in that high level category.
ATM, I'm busy with woodworking. At first, I thought what a waste of time it is, and a skill I'll never use again. But actually, now I already plan a perfectly matching studio desk, fully flexible for my arm length/movement.
IMO, this may be like asking for some Reason specific tutorials for someone totally new to music. Music is like any other language, best to learn it from the ground up if you’re doing it seriously (or others might say if you’re doing it at all).
The first thing my co-dev covered with me wasn’t coding, it was source control - VERY basic stuff. If I was helping someone get into music, I wouldn’t start with some Reason tutorials, I’d start with MUSIC tutorials.
We’re talking pretty high level stuff here, you’ll need more than one language and some experience with frameworks and workflows and source control. I’m no expert at all, even after 10+ years of doing this, because I didn’t do any C++ programming whatsoever. BUT, I built fully working prototypes that defined the product to the last detail, prototypes that were used as the benchmark for how the device should work and sound.
Nothing we did was “prototyped” in C++ any more than an architect would use bricks and mortar to prototype a building design. The product design was basically finished before we started building it.
IMO, the real work in the real time DSP side of things is in building efficient code and knowing how to optimize that code. My DSP guy (David Antliff) had years of experience doing real time DSP for telecommunications, his code going to hardware with little chance of fixing it later. His experience also included knowing how to read an electronic schematic and covert it to real time code, which was also super handy. I can’t imagine doing what we did without someone with that level of understanding and experience - I’m totally spoiled!
But the #1 foundation all that knowledge was built on was mathematics. If you can look at the formulas for basic filter and recognize them, not to mention understand them, you’re off to a good start - it’s all just formulas/maths!
Basically if you’re comfortable in this world you’ll be fine:
https://en.wikipedia.org/wiki/Digital_biquad_filter
Selig Audio, LLC
I'll be short this time, cause I have an inflammed outer ear again. It's swollen up to almost completely closed, and hurts like hell - unless I take a painkiller. Naturally comes with general sickness.selig wrote: ↑05 Oct 2024IMO, this may be like asking for some Reason specific tutorials for someone totally new to music. Music is like any other language, best to learn it from the ground up if you’re doing it seriously (or others might say if you’re doing it at all).
The first thing my co-dev covered with me wasn’t coding, it was source control - VERY basic stuff. If I was helping someone get into music, I wouldn’t start with some Reason tutorials, I’d start with MUSIC tutorials.
We’re talking pretty high level stuff here, you’ll need more than one language and some experience with frameworks and workflows and source control. I’m no expert at all, even after 10+ years of doing this, because I didn’t do any C++ programming whatsoever. BUT, I built fully working prototypes that defined the product to the last detail, prototypes that were used as the benchmark for how the device should work and sound.
Nothing we did was “prototyped” in C++ any more than an architect would use bricks and mortar to prototype a building design. The product design was basically finished before we started building it.
IMO, the real work in the real time DSP side of things is in building efficient code and knowing how to optimize that code. My DSP guy (David Antliff) had years of experience doing real time DSP for telecommunications, his code going to hardware with little chance of fixing it later. His experience also included knowing how to read an electronic schematic and covert it to real time code, which was also super handy. I can’t imagine doing what we did without someone with that level of understanding and experience - I’m totally spoiled!
But the #1 foundation all that knowledge was built on was mathematics. If you can look at the formulas for basic filter and recognize them, not to mention understand them, you’re off to a good start - it’s all just formulas/maths!
Basically if you’re comfortable in this world you’ll be fine:
https://en.wikipedia.org/wiki/Digital_biquad_filter
I'll be the first to admit, that right away, I think I could learn the math, but I don't know much about it.
But hey, university students start somewhere, too, and I don't plan to die anytime soon, so I don't see why I couldn't learn it, too.
That said, here comes a 180⁰ turn. Seeing that REs start failing, Reason doing worse, and AI taking over - I myself start having those "then again" thoughts, that maybe it's better to focus on my own expertise and fields of audio, where AI can't do much yet.
I'm not afraid of AI, because it can copy and recreate, but lacks originality and creativity. And one more thing, people don't become "stars" in their profession because of what they can do, but because they make themselves a Name, and a (cultic) following.
As for tutorials, when I got to Reason, yes, I used a simpler DAW before it. Back then I had no Internet at home. I had no clue how to get started with Reason and was completely lost. Then I checked Reason's documentation, which had a basic tutorial, that gave that first push. From there, I could easily take over, with the occasional help of the Operation manual.
I think, the developer area at RS mentioned some starter manual for RE's, too.
All in all, I didn't ask for anything crazy, just something to get started, if it exists. If it doesn't, no big deal. I do my homework eventually. (Some weeks ago I never thought I'll build 4 wood brackets for floating shelves that will hold speakers - I just checked some youtube videos, I used my knowledge from elementary school's woodworking, and my renovation experience, and figured some things out on my own. They turned out even and strong.)
Oh hey, sick or not, I still got rambly!
Back to the topic: we'll see if I'll get into coding.
-
- Information
-
Who is online
Users browsing this forum: No registered users and 14 guests