ALSA, JACK and other approaches (e.g. Windows Audio System)

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

falken
Established Member
Posts: 21
Joined: Mon Sep 02, 2013 1:28 am

Re: ALSA, JACK and other approaches (e.g. Windows Audio Syst

Post by falken »

hello all of you guys,
this is perfect discussion, I liked the initial funny moderations and even more also funny interactive "JACK inside", really cool to know how things works. I am from Windows, honestly. And I like how you linuxers can discuss here about internals pros/cons of your OSS. In fact, it will be interesting to me, how win DAWs audioengines differs, because we have also troubles and unexpected performance differences between them, and yes, also ugly personal battles sometimes... But its always better to be nice and to LEARN from others good solutions to not repeat flaws and enhance everthing on all sides. Also, Windows isnt still the same as before, we also ran through kernel/user movements of graphics/video in the past and also JACK issues seems to be similar to kernel-streaming and DirectShow filters graphs etc... (and I am NOT C/C++ guy too, mostly becasue I am alive/paid for something in C# and servers maintenance, although I love DSP and audio/midi development - back in 2001 I did some pure-J2SE patch editor for programmable handheld midi controller + unified midi/sysex transport thing against very fresh and buggy CoreAudio and WireProvider of JavaSound API)
...But we cant look at closed-source of Sonar vs Cubase nor vs Reaper (some are particulary complaining about Sonar to be not so capable to handle many VSTi, perhaps because it preffers live realtime mixing efficiency (single thread/core per audio track chain)... although Reaper is more efficient everywhere .... etc etc
Ya, Windows kernel was wastly modernized too... and developers arent always arrogant :-) look for Mark Russinovich, our Linus-like kernel-guru now, or cool Anders Hejlsberg for example. Be nice. Learn from each other. Please :-)

Great discussion! Sorry I am today so busy here, but recently bought OneStudio2 and my pre-selection web research went also into yours forums and I simply cant get out, so much interresting infos, guys and projects here ......

Cheers,
Petr
User avatar
miuzik
Established Member
Posts: 79
Joined: Sun Aug 25, 2013 1:42 pm
Has thanked: 6 times
Been thanked: 20 times

Re: MIDI View

Post by miuzik »

j_e_f_f_g wrote: Instead of writing a sound server that replaces alsa (the way alsa replaced oss), they just wrote abstraction layers that sit on top of alsa. We get all the same underlying limitations/problems and codebase issues, plus increased complexity in setup, and more points of failure. And now all these make-matters-worse abstraction layers are entrenched. It's a nightmare.
You are unfair here. Linux is NOT the only OS where the desktop environments like Gnome, KDE and other UNIX programs should run on.
Those programms should also run on FreeBSD, Solaris, OpenBSD and many other Unix and Unix like operating systems.
The other unix and unix like operating systems do not have ALSA.

That IS the main reason why abstraction layers like Jack and Pulse Audio are used and it is also the reason why ALSA does not everything a sound server does.

It is about interoperability.
Linux has X Window, but other Unix OS have X Window too.
So if you use thin clients, that display the graphics output on one machine, but the working stuff (performance needing software) on another machine, the OS of both machines can be different.
The one may use Linux, the other HP Unix and you must send besides the graphic X Window also the sound messages over the network.
You can't do that with ALSA, because HP Unix does not have ALSA.

But you can do that with pulse audio, because Pulse audio runs in userspace and can be run on Linux and HP Unix.


The design goals for ALSA and sound servers running on top of it are completely different than you have thought about.
Linux is a unix like os, it must also run on servers and company networks besides many different unix os, it is also multiuserbased and required to allow thin clients to connect to only one machine, so it was never designed for musicians in first place.

Musicians have other needs, they need a single computer OS with their own Desktop and Audio infrastructure.
While Linux is capable to be used as a OS for musicians, it was never designed for them.
Jack tries to fill this gap, but this can only be done in the limits which are set by the way, UNIX OS work.
Jack must also run on FreeBSD and Solaris for example.


If you need a free open source operating system with single user design goals, then take a look at Haiku OS.
It is the follower of BeOS and perfectly designed for Musician's work.

It is still in development, about the audio stuff there is still a lot of work do do, But its design philosophy fits perfectly for music work.
In about 10-20 years it might be finished enough to be capable for musicians working stuff.
In the meantime life with Linux or closed source operating systems like Windows or Mac OS X.

And because of the design goals of ALSA and sound servers running on top of it, i am pretty sure, this won't change. It would be a drawback for other usage scenarios where Linux is used for daily work.


If you want take a look at Haiku OS, you can download the Alpha version here:
https://www.haiku-os.org/

Sorry for my bad English.
Post Reply