Login / Register  0 items | $0.00 New#KVRDeals
Ross21
KVRist
 
49 posts since 25 Jun, 2011

Postby Ross21; Sun Oct 29, 2017 11:08 pm Developing Algorithms - MATLAB / OCTAVE or other ?

Hi,

I'm looking into audio algorithm development. It's for playing around with ideas and better understanding the theory, not for commercial use though porting to VST for DAW test run is important.
I'm leaninng towards MATLAB+AUDIO DSP TOOLBOX+SIMULINK, less into C++/Python since I'm not interested in the code (efficiency, size, etc.) itself - but the idea, plots, audio perfromance, etc.
MATLAB being expensive as hell, so OCTAVE Comes to mind.

Besides the price issue (MATLAB + Audio DSP Toll box + simulink will cost a few thousand USD ;-( ... ) can OCTAVE do these things:

1. connect to ASIO drivers for input and output of multi channels (2 or more) in real time ?
2. The above with sample rates of 44100, 48000, 96000 Hz?
3. connect to MIDI drivers and soundcrads (RME and the like) over Windows 10 OS ?
4. Simulink like (graphical coding ability of connecting 'modules' ) ?
5. VST 32 and 64 bit export as well as *.exe (stand alone) solution export ?

Any other suggestion of this topic would be great.

Rocko
Last edited by Ross21 on Mon Oct 30, 2017 3:36 am, edited 1 time in total.
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Mon Oct 30, 2017 2:26 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

I'd go with Python. Probably most libraries available and user-extensible. And most of the time free (some advanced algos may be proprietary).

SageMath, PyVST, ...
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Oct 30, 2017 2:40 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

I start doing them in Python, then assemble my pipeline in Pythona s well (AudioTK has a Python layer) then I create the actual plugin.
User avatar
Michael L
KVRAF
 
1823 posts since 25 Jan, 2014, from the End of the World as we Knowit

Postby Michael L; Mon Oct 30, 2017 3:12 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Ross21 wrote:Besides the price issue (MATLAB + Audio DSP Toll box + simulink will cost a few thousand USD
No. You can get MatLab Home for $150, and Audio DSP and SimuLink for $49 each:
https://www.mathworks.com/products/matlab-home.html
"As the artist goes deeper into his own thing, he learns what works and then needs fewer tools."
Ross21
KVRist
 
49 posts since 25 Jun, 2011

Postby Ross21; Mon Oct 30, 2017 3:22 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Thanks for the 150+49 USD advice. Sweet ;-)


It seems that Python is the prefered answer here... I would have thought that MATLAB will be better for "R&D only" projects.

Only out of interest, can Python be used for the full cycle of a VST creation, i.e.:

32/64 bit versions
iOS and Windows versions
GUI design

Or are those stages still recommended in (say) C++/Juce etc. ?
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Mon Oct 30, 2017 3:40 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Ross21 wrote:It seems that Python is the prefered answer here... I would have thought that MATLAB will be better for "R&D only" projects.

Only out of interest, can Python be used for the full cycle of a VST creation, i.e.:

32/64 bit versions
iOS and Windows versions
GUI design

Or are those stages still recommended in (say) C++/Juce etc. ?


I think you can make a full VST in Python (using e.g. https://github.com/mbrucher/PyVST) and it will be totally ok, if the CPU use doesn't grow too high (given how much slower Python is to C++). I don't know if PyVST supports iOS though.

Matlab is okay if you can 1) afford it and 2) can live with drawbacks that it has compared to Python (such as closed source and limited user-extensibility). Then again it has advantages such as much more refined user-experience (less tweaking by the user).
Last edited by soundmodel on Mon Oct 30, 2017 4:27 am, edited 2 times in total.
Ross21
KVRist
 
49 posts since 25 Jun, 2011

Postby Ross21; Mon Oct 30, 2017 4:01 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Hi,

So, Python over C++ (detouring from MATLAB Vs. OCTAVE ...) would be:

Python being the higher programming is easier for high level projects (design, R&D, plots, statistics) and able of VST creation.
C++ being 'closer to the hardware' providing the ability of a more professional faster code run.

Assume I have ZERO knowledge of C++ or Python and interested in the ideas, not the product (plug-in), Python being my natural choice?

Is that more or less correct?
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Oct 30, 2017 4:20 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Actually pyVST was created to use VST plugins from Python, not the opposite :p
But in general, prototyping is nice in Python or Matlab, but to create a commercial product, go to C++.
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Mon Oct 30, 2017 4:26 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Miles1981 wrote:Actually pyVST was created to use VST plugins from Python, not the opposite :p
But in general, prototyping is nice in Python or Matlab, but to create a commercial product, go to C++.


What?

Do you mean that it merely compiles an existing VST to something that can be imported into Python, rather than enables using Python for compiling with the VST SDK?
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Mon Oct 30, 2017 4:28 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Seems that JUCE has also some kind of Python bindings:

https://github.com/abhijitnandy2011/PyJuce
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Oct 30, 2017 5:03 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

soundmodel wrote:What?

Do you mean that it merely compiles an existing VST to something that can be imported into Python, rather than enables using Python for compiling with the VST SDK?

It's only a ctypes wrapper allowing you to import VST plugins in Python. And I never tested it with Python 64bits.
stratum
KVRian
 
1360 posts since 29 May, 2012

Postby stratum; Mon Oct 30, 2017 7:02 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Alternatives exist for those who don't want to learn just another programming language with an arbitrarily different syntax https://root.cern.ch/cling (not that I would follow my own advice about that - what's wrong with a c++ compiler for prototyping an algorithm?)
~stratum~
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Oct 30, 2017 8:15 am Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Nothing wrong with C++. I use Python because I can have all the displays of intermediate variables, which is more tedious to get in C++. But doable if you have the right framework.
Ross21
KVRist
 
49 posts since 25 Jun, 2011

Postby Ross21; Sun Dec 03, 2017 11:29 pm Re: Developing Algorithms - MATLAB / OCTAVE or other ?

Hey there...

So, I've started learning Python (basic synthax still) as suggested above. I'm interested now in the steps needed for audio out.

I would like to build an exmaple of a very simple sine wave generator.
What would be a good library needed to install for getting audio out on ASIO/windows/64bit from python?
Would you recommend Pyo http://ajaxsoundstudio.com/software/pyo/ or anyhting else?
I've learned that Pyo for Windows is designed for Python 32bit version only (not 64) ?

Appreciated !
camsr
KVRAF
 
6719 posts since 16 Feb, 2005

Postby camsr; Mon Dec 04, 2017 9:42 pm Re: Developing Algorithms - MATLAB / OCTAVE or other ?

soundfile is about as basic as it gets in python.
Image
Next

Moderator: Moderators (Main)

Return to DSP and Plug-in Development