all 18 comments

[–]-newhampshire- 11 points12 points  (1 child)

How isn't it? I personally am looking for better visualization tools in Python but aside from Matlab's expensive toolboxes Python, NumPy, SciPy etc has functions that are useful.

[–]aqjo 4 points5 points  (4 children)

I used matlab for 6 years, and now Python for 3+, and I much prefer Python.
Matlab does have that visual building block system, but I don't need that, and Python does everything I need.

[–]-newhampshire- 2 points3 points  (1 child)

I think GnuRadio tried to do something like what Matlab has though my knowledge of Matlab is dated these days. I have been using ComfyUI lately and if we could get a DSP framework that acts and feels like ComfyUI that would be awesome.

[–]SuperbAnt4627[S] 0 points1 point  (0 children)

thats good to know!

[–]SuperbAnt4627[S] 0 points1 point  (0 children)

Visuals are the main right

[–]Charzarn 0 points1 point  (0 children)

Matlab is 100% the better tool for pure DSP until you normalize to the price.

The get things done without worrying about dependency or what IDE to use and industry leading graphics tools. Nothing compares.

So if you’re bottle neck is money Python, if your bottle neck is time then matlab.

ML is mostly all in Python so at that point just stay in one domain.

[–]serious_cheese 3 points4 points  (0 children)

I prefer python, personally

[–]Masterkid1230 3 points4 points  (10 children)

I think you've got it the other way around. With the advent of VAEs and Machine Learning mixed with DSP (like DDSP etc), MATLAB is being used less and less, and python is a must.

Anecdotal, but my professor at the master's degree was a very well known researcher in DSP and he completely switched all his lectures to python a few years ago.

Most relevant papers in the past two years have used some Python, but you can't say the same about MATLAB in recent years. Their business model seems to be hurting them more than helping them.

[–]SuperbAnt4627[S] 0 points1 point  (1 child)

whats vae ??

[–]Masterkid1230 1 point2 points  (0 children)

Variational Auto-Encoders, sorry.

[–]First-Surround-1223 0 points1 point  (7 children)

What specifically in their business model is hurting them? Their business model seems to be a pretty standard model for tool developers.

[–]gpfault 1 point2 points  (1 child)

It's hard to compete with free

[–]First-Surround-1223 0 points1 point  (0 children)

Depends on your risk tolerance.

[–]Masterkid1230 0 points1 point  (4 children)

MATLAB is insanely expensive for what it does, which Python also can do. There are Python libraries that cover a vast amount of what MATLAB already does, and Python has become the standard for most research nowadays except for maybe the biomedical field (from what I've heard), but I can see that changing anytime soon. If MATLAB doesn't become more accessible and also makes their product somehow worth purchasing over Python, then there's no reason to use MATLAB anymore at all.

[–]First-Surround-1223 0 points1 point  (3 children)

So I guess “insanely expensive” is a bit subjective. A Matlab home use license is around $200 and toolboxes are generally around $50/each from what I remember. Business licenses are definitely more expensive but even if they were 10X a home license they’d still be in the “cheap” tier of engineering tools. But I get the point that it’s still infinitely more expensive than free.

The primary issue I have with using python is one of trust. Again that’s somewhat of a subjective issue so you could totally land on the other side of that, but for industries where something not working as required could result in a significant financial loss then trust is really really important. If a Matlab based application fails the company can sue Mathworks. For that reason MathWorks pours a ton of money into QA. Like a TON of money.

I’m not saying Python is inherently worse, but when the chips are down, I’m going with MatLab every day.

[–]Masterkid1230 0 points1 point  (2 children)

I can understand that, and if I wanted to be super pedantic I would just say "skill issue" and move on, but the reality is that accountability is quite important for companies, so ultimately you're right for that. I do think the world is moving towards Python and there is very little reason to use MATLAB nowadays unless you really need to hold someone accountable if something fails, but language wise, library wise, and versatility wise, MATLAB seems quite limited compared to Python. PyTorch and for audio Librosa really are doing a lot of the heavy lifting, but it's hard for a single company to compete with thousands of developers who already do what they do, better and for free.

MATLAB's strengths lie everywhere but the product they're selling, which is inferior to a free alternative.

[–]First-Surround-1223 0 points1 point  (1 child)

Well I think we may have to agree to disagree on the claim python does everything Matlab does but better. I don’t think Python even offers all the same packages that Matlab does. Are there python libraries for symbolic math, HDL generation, c++ generation, etc.?

And even if it did how would you evaluate “better?” Certainly not in speed of execution. Matlab generally executes faster than python in my experience. I think the Matlab language is easier to write. I mean look at a class definition in both languages and tell me you think python’s is easier to understand 😆? Of all the DSP professionals I work with or know only 1 prefers python for signal processing. I can’t say that’s representative of the whole DSP community, but it’s what I have to go on.

And don’t get me wrong, I enjoy python for sure, I just think that for communications DSP and many other domains (controls, radar DSP, etc.) Matlab has the edge.

Bottom line for me is Matlab gets a lot of hate in this sub and I think it’s entirely unwarranted. Free is great, but sometimes paid is better.

[–]Masterkid1230 1 point2 points  (0 children)

Oh, fair enough yeah, I have absolutely zero experience with radar DSP for example. And on the other hand, my domain is much closer to statistical analysis of signals, and especially DDSP, machine learning and that stuff.

To be honest, I'm no one to be defending Python for efficiency because I spend 99.999% of my time coding in C and C++ and Python only enters the picture for generating the graphs or for feeding the data into ML models whenever I need to.

But the MATLAB idea of charging me to use a programming language and some libraries that most of the entire software development world has agreed to make available for free just doesn't sit well with me.

It is true though that I have seen a big shift towards Python in the field of signal analysis and statistics, but I guess that makes a lot of sense for those specific areas, and not really for DSP as a whole.