Linux Audio the way to go!?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Member
Joined 2004
Paid Member
Why can't they join forces and produce something really good - I think the potential is there.

Cheers

Most of Linux was built by armatures looking to solve a specific problem. People who love to code but don't have an overriding driver headed to a specific goal. MPD clients are a good example. There are dozens, all different. Many are clearly the "my first software project" level. A few are pretty good considering that no one is doing it for profit. Max, the main dev at MPD even chastised a client developer for starting another client instead of fixing one of the existing clients.

There are a number of Linux based devices that work very well. They even have solid audio subsystems. Most of the Cable boxes sold today have a core Linux OS. They are all single purpose devices with a known dedicated hardware platform and a major commercial push to work.

I spent two years working with a team making a full media/home automation system based on Linux. It was painful and required a number of specialists just to make sure it didn't break with every bug fix. The first rule was to pick a distro and lock it down. Then make sure it works with your hardware. If you think audio is difficult, try video. The drivers are all closed source if they really work, and then they are broken in many of the necessary modes. Even waving real money in front of the chip guys won't get access to the necessary info to fix the drivers.

My Linux audio player project should be going commercial very soon. It should be on demo at the Rocky Mountain Audio Fest. All of the prototypes are working every time. But its another appliance approach: do one task simply and reliably. We don't even have a UI on the box, so no worries about displays etc. And no resampling, no digital (or analog) volume control, just "play" the file. And getting that right has taken the better part of a year.
 
Soundcheck,

I felt like reading a windows support forum. So much whining and complaining.

Who personally is linux? Who is "they" who should do something?

If you do not like it, you have just the same information and tools to do something about it as anyone else. You can code yourself, find, get interested and motivate other coders, even pay them if you want to. This equality in access to the development process is not obvious at all - in the proprietary world this huge advantage is unheard of.

Alsamixer is not a tool for beginners. It is a general tool for displaying all card controls (of MIXER type) in an automated manner. It takes many guesses and does its best to make sense of the controls. Pro cards (e.g. Juli) offer a number of controls which are difficult to understand without a written description or a nice GUI control mixer. You have not seen alsamixer for Quartet yet :)

Juli driver offers just controls for functions the card supports. True, several of the controls (the read-only level meters) could be moved from the MIXER to PCM type, thus disappearing from alsamixer (but staying in amixer etc.). I will send a patch to Takashi. Check output of amixer to see how many more controls the card actually supports. They all can come pretty handy - reading status bits or detected sample rate of the incoming SPDIF, setting status bits of the output SPDIF, etc.

Alsa is a low-level sound hardware abstraction layer. Most of it is in kernel, the user-space layer should stay as lean and general as possible. I do not see what you mean by streamlining - any specific suggestions, or just a shout out of frustration? Removing controls is clearly not an option, e.g. I use mostly all of ice1724 controls, especially those mixers are very handy. Alsa clearly needs sorting out its user-space API but that is nothing a regular user sees.

I am aware of the fact the controls are very incomprehensible for most users. In windows each manufacturers writes its own GUI control window plus provides a printed manual. In linux there are general-purpose GUIs which are basically impossible to make comprehensible for all cards at the same time.

I can imagine alsa could offer a universal user-space tool reading some configuration (hand written for each card specifically by its driver developer) which specifies graphical relations between the various controls, adds labels, defines longer descriptions for each control, supports localization. The result would be a specific GUI window with controls for each card which would make sense even to beginners. Perhaps some widget library supporting X, framebuffer, and ncurses could be used. The reason it should be a part of alsa IMO is that card controls are identified by their string names in drivers and each change (infrequent, though) would have to be reflected in the corresponding config file of this tool.

The guys behind pulseaudio are trying to automatically detect purpose and relation of key card controls (input/output switches, gain controls), with very limited success. Perhaps the config files could provide appropriate information for that too since they would be hand written by those knowing most about that particular hardware.

I have too many projects underway to start this one but I believe something similar will appear eventually.
 
Last edited:
There are a number of Linux based devices that work very well.


You'll get sound, at least on a number of devices -- OK. But that's about it.

Beside that Alsa sucks - period. They do face severe quality issues.

If we talk advanced sound-card features/drivers and support, system integration and management, documentation and tools, Alsa falls short on every aspect in comparison to the other OSs. If it were not the sound quality I can achieve with it, I would be driving OSX since quite a while. That's for sure.

My Linux audio player project should be going commercial very soon. It should be on demo at the Rocky Mountain Audio Fest. All of the prototypes are working every time. But its another appliance approach: do one task simply and reliably. We don't even have a UI on the box, so no worries about displays etc. And no resampling, no digital (or analog) volume control, just "play" the file. And getting that right has taken the better part of a year.

Sounds pretty similar to my approach. Never thought of making money with it - for a good reason though.

Using Linux opensource freeware to make money -- just doesn't feel right to me. If we talk "donations" I think it's fair. It's different of course if you contribute heavily to Linux development.

Anyhow good luck with your product.
 
Soundcheck,

I felt like reading a windows support forum. So much whining and complaining.

Yep. Face it. You are a front row hacker. You start up a debugger and sneak into the
source code all the time to find out what's going on.

This is not to be mixed up with someone who just want to use an application. The normal User. They are not "whining and complaining". They just switch back to a system which works properly.


Soundcheck,


Who personally is linux? Who is "they" who should do something?

Good question. That's the main problem I guess. There are conferences, there is a Linus Torvalds,
there is a Mark Shuttleworth, there is the industry. There is no "Bill Gates" or "Steve Jobs" who glues it all together. A visionare who covers the entire subject "Linux" seems to be missing. Shuttleworth is of course doing a brilliant job here. With Ubuntu Linux took a huge step ahead. Of course there is more to be done. And not everything is a pure Linux
problem. I am well aware of it.

If you do not like it, you have just the same information and tools to do something about it as anyone else. You can code yourself, find, get interested and motivate other coders, even pay them if you want to. This equality in access to the development process is not obvious at all - in the proprietary world this huge advantage is unheard of.

I do what my time and budget allows. At least I do something.

Soundcheck,

Alsamixer is not a tool for beginners.

A mixer is nothing for beginners. Interesting view.

Soundcheck,

Alsa is a low-level sound hardware abstraction layer. Most of it is in kernel, the user-space layer should stay as lean and general as possible.

I don't agree. It is more than that. Alsa goes into all layers. They should take it as much as possible out of the kernel. Alsa needs a continous way ( on a monthly basis) to upgrade at least its drivers. This is a key factor and must be disconnected from kernel or
distribution release schedule.

I do not see what you mean by streamlining - any specific suggestions, or just a shout out of frustration?

Removing controls is clearly not an option, e.g. I use mostly all of ice1724 controls, especially those mixers are very handy. Alsa clearly needs sorting out its user-space API but that is nothing a regular user sees.

Frustration, of course it is. All features should be clearly available and documented ( is there a help function at all?) in userspace. There shouldn't be a need for root access. Proper descriptions of controls. Consistent mapping of alsamixer, amixer and gnome-mixer. Introduce an "advanced" and if you like and "expert config" menu but keep it consistent. Alsamixer lets me control in db steps - where is that feature in Gnome. (Just one example). Please no editing of /etc/modprobe.d/alsa-base.conf ( adding model types - driver options - indexes and other parameters). This can all be done from user space.

I am aware of the fact the controls are very incomprehensible for most users. In windows each manufacturers writes its own GUI control window plus provides a printed manual. In linux there are general-purpose GUIs which are basically impossible to make comprehensible for all cards at the same time.

I don't think that we are miles apart anyhow.

If you read my story: I am talking exactly about the "USER" related GUI issues. The inconsistencies and flaws. Everything seems to be 80% done, if done at all of course.
Running a terminal to run amixer and root to save settings, to run asoundconf to change your default card as root and save your settings. Come On. You won't tell me that all
this is acceptable to a normal user. A "normal" user who wants to use more than the master control of course. All functions IMO must be available at top level, no "hide&seek" games anymore.

What I also want is a status field: I don't want to run aplay -l all the time to see if the system has recognized my cards. Perhaps some other info fields would be useful to find in the userspace (version, currently played stream/samplerate, whatsoever).

In case of problems. I should be able to start alsa-info.sh from the userspace. To get a
good overwiew about what's going on. Perhaps it should be possible to sent the report straight to alsa.

I'll stop here. Running out of time.

BTW what is Quartet?
 
@phofman

One more.

Perhaps you should read the "comprehensive alsa troubleshooting guide" at ubuntuforoms.org. It is a sticky thread in the multimedia section.

A lot of problems of normal users you can find in there. Something like that thread
shouldn't be needed at all. And that thread is not the only one, there are a huge number around in the net.
 
Member
Joined 2004
Paid Member
Soundcheck-
I think it's important to be constructive here. Troubleshooting computer problems can be very challenging (there are so many moving parts) and turn the best of us into caged angry wild animals. Windows and OSX can be every bit as bad and worse.

First- perspective. computer sound systems were created primarily to serve desktop users needing some sound feedback. High fidelity was not a major goal. Many years ago I did an audio project for Apple to demo sound from a computer. Their reference for ultimate sound was a pair of Bose powered partners. The real challenge for PC sound is to get dissimilar sound sources to work together and come out a common port. The need for sample rate conversion becomes clear here. And with limited cpu budget the converter needs to be good enough for a pair of Labtech speakers. A common connection point in software is also important so everything from system sounds to movies can connect to the audio system. The early days of getting sound working were very challenging for users. Do you remember the first Soundblasters?

Today all of the platforms have pretty solid sound systems to meet the requirements above. Linux suffers from lack of hardware vendor support. I don't think there is a single chip vendor that is responsible for drivers for their sound chips in desktop Linux. Its all contributed support. I think the success of it all is pretty remarkable. There are a lot of Linux desktop users and only a small (but loud) proportion of them have problems. Larger perhaps than Windows and certainly larger than Apple.

However even on the Mac when you go outside the mainstream it can be very frustrating. I know of a sound editing project that pushed a loaded Mac to its needs just with high res playback. A lot of services needed to be shut down to get it to work.

When you step outside the primary function profile you get into difficulty. Pavel Hoffman, the dev behind the Juli driver did a remarkable job of reverse engineering the card hardware and making the driver work. However he could only test to the needs he was aware of. Interfacing with pulse audio may not have been at the top of the list or even on the list. Doing some of the things we are doing with high res audio is not mainstream.

I ran into a similar problem with the network interface on an Intel motherboard. It worked on older versions of Linux and on the newest versions but not on 2.6.26. Something just didn't work. Intel actively supports Linux and their fix was to move to a newer kernel. So I did. annoying but possible. I had similar problems with a Via platform and Windows. Only worked on Win XP. Will never work on Vista and they had us spinning for months before admitting it.

I'm not sure why you are so negative on commercial Linux. Its all about support. We can offer a very cost effective high resolution audio player that works, that we can support using Linux. If there are any profits we can push money and resources back to the people who helped create the platform. There is a real chance that it will be close to zero profit. If it were on Windows it would be much more expensive and harder to create, and not work as well. And OSX is not an option. Amarra is really expensive as an add-on to iTunes to do similar and you still need an expensive Mac to get it to work. We hope we can help expand the user user base of high resolution audio source material with an affordable solution. Nothing more.
 
I have been working with an App that is windows based for producing fir filters that then run on a linux system using brutefir. I am creating digital crossovers with room correction. The crossover and filter creation is fairly straight forward but I have literally spent months fiddling with Alsa, RME drivers and various linux based difficulties. I have it running but frankly I've gone back to my old passive crossovers for a break because I just want to listen to music for a while.

Granted I'm a linux newbie and I plan to stick with it to get this thing perfected but still it gets frustrating/ I applaud Soundcheck because his info has been invaluable. it would be nice to have a good solid linux distro focusing on high quality audio play back.

Tom
 
Member
Joined 2004
Paid Member
I really like the idea of a Linux distro focused on high quality audio playback. And I'll start the efforts to figure out what is should be. However this is where the realities hit. Everything from no graphics to window manager, RPM vs. Debian etc. become contentious issues. There are so many ways to go and so many people with very specific ideas of what is correct, many contradictory. For example,we currently don't plan to support brutefir until we really know how to make it work well. We intend to focus on customers who want, like you, to listen to music, not fiddle with software that is very difficult for the lay user to understand. Once we know a way to manage it without making everything unstable we will try to support it.

The RME Linux drivers and support come from Trinnov http://www.trinnov-audio.com/ who have a very successful eq, crossover, image relocation system running on Linux so I know its possible. Their stuff sounds very good as well.

I am not a software dev, I'm much more hardware focused so I'm quickly out of my depth creating a distro. If others want to help, contribute ideas, run the effort etc. I'll make what resources I can muster available for it. If the products are successful I'm sure they will contribute toward support as well.
 
Soundcheck-
I think it's important to be constructive here.

I am constructive. Always been. (at least the way I see it)
I don't criticize Pavels work. He has done a great job.
If you read what's written and discussed you'll realize that something is missing to get
Alsa or better the Linux soundsystem to a better quality. Again it's more than just
the drivers.

What's missing is a leading force taking responsibility for Alsa and getting it structured. Takashi and the other folks for sure are doing a great job. However, I think there is still a good piece of work to be done. 80% (rather less) is not enough, if others running at 98%.

Have you ever seen an official roadmap of Alsa? What drivers and features can we expect at what time? Troubleticketing and patching via mail? Outdated Wikis? I'll stop here. I don't think I am that wrong. All this causes inefficiencies and loss of quality.

I'm not sure why you are so negative on commercial Linux. Its all about support.

Commercial Linux. What's that supposed to be?

Just to get this straight. The way I see it. There is a professional branch and there is a non-professional branch of Linux.
The professional branch mainly focuses on business customers and "firmware" for any kind of little intelligent boxes ( perhaps that's where you belong). These need the support you might refer to. The professional group contributes heavily by contributing code and resources - also to the non-professionals. Which is the "fairplay" we're talking about. It's about give and take. (Pretty naive view isn't it) Without the professional support Linux would have been dead by now.

The non-professional branch are folks like us (probably not you, since you are a commercial guy). My point is that the non-professional branch shouldn't be mixed up with commercial interests. Too many folks spending millions of hours to stay away from exactly these commercial interests. This has always been the basic idea behind the
non-commercial non-profit Linux.

Now tell me -- Am I negative on commercial Linux?

Cheers
 
Soundcheck,

It is very simple. If you do not like it, either try to fix it, or get used to it, or use something else. Useless bashing and complaining on this forum wastes just everyone's time.

Yes, Alsa wiki is very outdated. You are good with wikis - why don't you make it your project? It's not about direct programming knowledge, but willingness to ask corresponding people and keep wiki updated.

There cannot be any roadmap for the drivers since the project admins have no idea who comes up with a new driver for which hardware. Many drivers require NDAs (both Juli and Quartet drivers are a result of incomplete but absolutely essential information provided by the manufacturers) and the admins have no idea who is negotiating another NDA at this moment.

Linux is not aimed at beginners and will not be so for quite a while. I personally have absolutely no problem with that as I understand the dynamics behind linux - NOTHING GETS BETTER BY ITSELF.
 
Whats your huge issue with alsa soundcheck? To me it does what it needs to and does it well. I see it as just the driver... something there so I can put hw:X,X at the end of my signal chain and have the soundcard receive the data.... what exactly do you want it to do that its not? I wouldnt want it mixing or volume controlling, do you?
 
Perhaps this discussion makes normal users feel a bit odd about Linux Audio. Take it as a constructive discussion to get things nailed down instead of talking them down all the time.

Linux Audio with Alsa improved a lot in recent years in terms of stability and device support. And I would always recommend to try it. You won't be able to get a better sound -- under certain conditions - from a PC.

However:

Soundcheck,

It is very simple. If you do not like it, either try to fix it, or get used to it, or use something else. Useless bashing and complaining on this forum wastes just everyone's time.

Especially it wastes my time to figure out all the mess. Once I've written it down it's easy
to follow. I think though you're changing subject. In the end you confirm in earlier answers all the shortcomings.

You might have also realized that I am pushing -- or at least try to - Linux since I started this thread. I do this also at AA.

Not to forget a Linux system consists of more then Alsa - which should actually be transparent to the user. And for sure I don't have time to cover Alsa only.

You are the Alsa guy around here. Consider this discussion as a user feedback.

Yes, Alsa wiki is very outdated. You are good with wikis - why don't you make it your project?

Here we go again - All the time you admit the mess and at the same time you don't want to talk about it. If problems get identified they can be resolved. That's the problem with the Alsa guys. If it comes to "administrative" and "general" issues I get a feeling they are not interested.

One question: You've done a great job with your driver!! No question about it. Did you do
the documentation about it? Updated the Wiki? Explained the controls? How they work together or interact? Any "help" text? To me this would be part of a job. I know it's PITA, though it has to be done. Does Alsa tell you if you're supposed to supply above doc at all?

BTW. I do make my own projects. Perhaps you missed it.

There cannot be any roadmap for the drivers since the project admins have no idea who comes up with a new driver for which hardware. Many drivers require NDAs (both Juli and Quartet drivers are a result of incomplete but absolutely essential information provided by the manufacturers) and the admins have no idea who is negotiating another NDA at this moment.

Don't forget and mix it up - we are not only talking drivers in particular. Go a couple of posts back. Let me know if you find any comments about drivers!

IMO the main problem with Alsa is No roadmap, no (official) planning - is there any strategy - or just troubleshooting and a bit of maintenance.

If you ever seen a computer science class at university or if you've been working in a design department. The whole SW development won't start with hacking.

First comes planning and related documentation (specs). Otherwise it is wild hacking and you end up in a total mess.

Two words about drivers:
I know there is quite some open stuff available e.g. EMU 0404USB OSX driver. It would take a week for an experienced programmer or less to get it converted. Nobody is taking it. Nobody is saying -- you - instead of doing this - you do this. Everything just happens
coincidental. This is my impression at least. Another nice example is Metric Halo. Probably one of the best, if not the best commercial, audio gear on the planet. They make the specs available and nobody is taking it on. No -- this is not good.


Linux is not aimed at beginners and will not be so for quite a while. I personally have absolutely no problem with that as I understand the dynamics behind linux - NOTHING GETS BETTER BY ITSELF.

That's your opinion. And that's exactly the difference between your and my argumentation. You are living still on the "good old times" hacker planet. I'd call myself an advanced user with an engineering and ICT industry background.

Ask Mark Shuttleworth what he thinks about the "new" Linux target group.
Why is putting SUN and other industry members money into it. For sure not because Linux is supposed to stay a hacker paradise.

There is a lot to do. I'm well aware of it.

Cheers
 
I know there is quite some open stuff available e.g. EMU 0404USB OSX driver. It would take a week for an experienced programmer or less to get it converted. Nobody is taking it. Nobody is saying -- you - instead of doing this - you do this. Everything just happens
coincidental. This is my impression at least. Another nice example is Metric Halo. Probably one of the best, if not the best commercial, audio gear on the planet. They make the specs available and nobody is taking it on. No -- this is not good.


Why don't YOU buy the HW, find a developer, and pay him to write the driver, if nobody has done it so far? You can do so many things, instead of just complaining.

AFAIK there are two paid developers for alsa - Jaroslav (RedHat) and Takashi (Novel). All the others are either paid by HW manufacturers (Intel, Nvidia, ATI), or do it as a hobby in the evenings (the vast majority).
 

Why don't YOU buy the HW, find a developer, and pay him to write the driver, if nobody has done it so far? You can do so many things, instead of just complaining.


I don't complain. I am giving feedback to an Alsa guy.

I am doing things - other things than Alsa design of course.

I intend first of all to respond to your arguments and obviously you change subject as soon as you run out of arguments. Just to throw out a "Do it by yourself - don't complain" I don't consider a pretty constructive attitude.

This discussions is obviously useless.
 
Soundcheck,

this is how the quartet driver was conceived:

http://mailman.alsa-project.org/pipermail/alsa-devel/2008-November/012509.html

Perhaps if you contact the manufacturer, find out about their willingness to provide docs under NDA, and share the outcome with the mailing list, someone will go for it.

About the cards documentation - if you want to be constructive, let's make a deal. I do not like writing structured wikis, you are good at that. If you expand the wiki at alsa-project .org so that driver authors (who generally suck at writing) can easily add description of their card's controls (i.e. probably extending the table http://alsa-project.org/main/index.php/Matrix:Vendor-ESI ), I will document Juli, Prodigy 192, and Infrasonic Quartet controls.

Quartet will need a new manufacturer added to http://alsa-project.org/main/index.php/Matrix:Main - I have no idea how to do it. Perhaps changing that special list to a regular editable wiki page would be of help.

Very likely a subsequent message to the mailing list will inspire other coders to complete the documentation.
 
It all depends .... far more commercial gear out there runs Linux that you might imagine.

Some of them really high end audio gear. All running commercial embedded Linux.

Is it unreliable? No.
User friendly? Yes.
Sound good? Yes.
Performance problems? No.
Expensive? Yes.

You cannot expect really good sound from a PC and a sound card. Jitter, opamps, cheap components, noisy PC power supplies ....

Speaking of software, if you take stock open source software and try to build something - of course it will not do everything you would need or like.
Different people have different views and encounter different problems and solve them and thus contribute to projects.
If not happy, join the project and improve it or start a new one.

If you can not or don't want to do it, you'll have to hire people to write it if you are commercial or wait for the community if you are a hobbyist (patience required).

If you don't like to do any of the above, buy Microsoft or Apple and be prepared to live within their limitations.

Linux audio - the way to go? A big YES.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.