Support of audio interfaces under Linux

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: which usb audio interface?

Post by j_e_f_f_g »

Hardly a week has gone by over the course of the past 2 years when I haven't done a google search for new audio interfaces, and linux support for such. I'm a pro musician (keyboard/singer), and I do at least 5 paying gigs a week. I'm also a software developer. On my gig, I use a computer running custom software I've written. Right now, the software implements a "beat box" program (think "Hydrogen", but with really high quality drum samples and a touchscreen operated interface designed for fast live-gigging use). I have both Windows and Linux versions. I started off using Linux and an M-audio PCI card, in conjunction with this huge, 16-channel mixer. But I'm a solo act, so I got to thinking "What the hell do I need with this monster mixer, and a separate computer? Why not get a small rack-mount mixer that doubles as a high quality computer interface, and get a rackmount server (ie, computer), and put it all together with my power amp in a single rack case?". The idea was to come up with a small (6U) box that I carry into a gig, and literally within 10 minutes I'm playing keys and singing. It worked fantastically well... except that I had to move from the m-audio to a fancier, more feature-filled interface, and that's when I learned how poor linux support is for such. I struggled to put together a linux solution that worked as easily/stably as a windows solution. It was a neverending series of failures. I finally went with Windows, and a MOTU Ultralite Mk3. It has worked splendidly for a few years. (And let me say that Linux's touchscreen support is really horrible compared to windows. Just the calibration alone is a nightmare, let alone trying to hotplug a displaylink touchscreen. Hopefully Wayland will fix this mess. But ALSA and XWindows are fighting it out for the title of "Worst linux software design/implementation ever". Somebody needs to do an "audio wayland" to replace ALSA's userspace lib. And no, neither Jack nor pulse audio are worthy contenders).

Anyway, in the back of my mind has always been the idea "Why am I using this Roland Fantom XR loaded with custom samples, and RD300NX? I'm got a computer here. Why don't I turn my custom software into a full-fledged soft-sampler, and get a light-weight MIDI controller?". I could reduce my rack to a 4U, making it smaller and even faster to setup. And if I could use linux, I could pare down the OS to a minimum, and have as much ram possible for the literally gigs of waveforms my soft-sampler would be loading at boot. So, I've been periodically looking at every single new audio interface that hits the market with a particular eye toward linux support. And to date, I've been disappointed, and deemed Windows still a superior solution.

Yep, I checked out the scarlett models the day a focusrite rep posted a release announcement in the gearslutz forum. And I also read the posts on this forum from the guy who bought one. Here's my 2 cents on it. The scarlett models are hobbyist quality. They appear to be similiar specs to the saffire series. And I know my Ultralite and EMU already beats those to a pulp. Hell, even the m-audio card would be comparable. Plus my ultralite has hardware-based DSP I use (compressor on vocals, EQ and reverb on overall mix). The scarlett's DSP is all in its Windows driver. So you don't get it with Linux. You need to find CPU-hogging linux plugins to replace those CPU-hogging windows effects. So the scarlett is not viable option for someone like me who already has a superior Windows setup (unless I want to "downgrade" to linux).

But what does it mean for other, linux users? Nothing to get excited about. It appears to be on a comparable level to a M-audio Fast Track pro. Maybe the scarlett has a better build quality (I'm told by sources I trust that the FTP is real cheap construction). Maybe slightly cleaner pres that you'd have to strain to notice. But all in all, this is essentially Focusrite's alternative to cheap hobbyist quality stuff like m-audio FTP, Alesis ioJunk, lexicon's "I sure ain't one of our digital reverb units" toys, etc. Nothing to see here. Move along. The only thing it offers is 2.0 compliance, so like the FTP (but not some of the other 1.0 only units like the Alesis), at least you can use its higher resolutions/rates (and 4/8 chans with the 4/8 versions). But note the guy who tried one is getting awful latency and dropouts with his scarlett. If that's due to bugs in ALSA's 2.0 compliant driver... then the ALSA proprietary support for the FTP works better than that at least.

Now there is another new Focusrite interface that is much higher quality than the scarlett. It's meant to compete with the Apogee Duet and RME Babyface. It's called the Forte. To be honest, for the price, I think that the RME is a better unit. The Babyface has hardware DSP EQ and compression. But its reverb is software based, although it is very efficiently implemented in RME's much-praised Windows driver. The Forte's DSP are all software. And focusrite's Windows drivers aren't as good as RME's (ie, worse latency and stability). But hey, this is a linux forum, so who cares about that? The Babyface isn't 2.0 compliant, and it isn't supported by ALSA. If the Forte is 2.0 compliant, here's finally a new, quality interface that Linux supports! Is it? Nope. WTF??? Focusrite simultaneously releases 2 new interfaces, and although it's obvious that both could have supported linux, the more pro one doesn't. This company that purportedly is good to linux just gave a big FU to linux users. It said "You linux people are good for only $80 hobbyist stuff. The nice stuff is too good for you". Seriously. That is exactly what their marketing just said to you.

I don't work for any music companies, and I make not a cent from any recommendation. But you have 2 clear choices here today. You can either continue playing with the $80 toys and dreaming of that perhaps-never-to-come day when some company, or ALSA dev, actually takes linux audio support seriously.

Or, you can go buy an RME Babyface/Ufx/Ucx/latest versions of HDSP cards, or MOTU interface, or Roland octa-capture, or Lynx aurora, or Steinberg MR812, or etc, etc, etc. There's lots of pro choices out there...

... as long as you switch to Microsoft Windows.

Or if you must, get a mac and an Apogee. Feed Apple's vampire patent lawyers.

But not Linux and ALSA. No, the nice stuff is too good for that.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: which usb audio interface?

Post by raboof »

j_e_f_f_g wrote:The EMU ct is not upto RME's standards, but it's way ahead of the m-audio, alesis, lexicon, mackie, and other such hobbyist stuff. Creative Labs even still sells a PCIe version. The 1616M or 1212M (not the 0404 and similiar toys) would also be good to recommend for pro linux use... if only the ALSA emu driver weren't so woefully substandard. Given the awful-and-not-improving emu driver, these interfaces should never be recommended for linux. Forget what the ALSA web page says. Consider them "unsupported".
Which specific problems do you have with this driver/these cards?
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Support of audio interfaces under Linux

Post by autostatic »

I've split the topic, the original topic is here: which usb audio interface?.
wolftune
Established Member
Posts: 1350
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Been thanked: 2 times
Contact:

Re: Support of audio interfaces under Linux

Post by wolftune »

you have 2 clear choices here today. You can either continue playing with the $80 toys and dreaming of that perhaps-never-to-come day when some company, or ALSA dev, actually takes linux audio support seriously.

Or, you can go buy an RME Babyface/Ufx/Ucx/latest versions of HDSP cards, or MOTU interface, or Roland octa-capture, or Lynx aurora, or Steinberg MR812, or etc, etc, etc. There's lots of pro choices out there...

... as long as you switch to Microsoft Windows.

Or if you must, get a mac and an Apogee. Feed Apple's vampire patent lawyers.
I agree about all of this. Although I'm not sure Windows is much better re: patent lawyers and such.

I have been very uncomfortable about this unfortunate status quo, and I'm just going with your first idea: playing with $80 toys and dreaming. It's damned if you do damned if you don't right now. I really don't want to submit to the Microsoft or Apple world of control… But I have to admit that it seems you are largely right about the options. It's not that there aren't some best workarounds or whatever, but it isn't straightforward. It's not what it ought to be. Thankfully the $80 toys are remarkable and effective toys, much better than what that would have been 10-15 years ago. But still this situation is a shame.
Aaron Wolf
Music teacher, scholar
http://wolftune.com
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: which usb audio interface?

Post by j_e_f_f_g »

danboid wrote:OP is asking about "USB and cheap" - your rants are OT and wasted here.
Granted, some of the discussion of particular pro products is not germane to the OP's question. But the larger discussion I'm hammering home that Linux audio support is not at all like windows audio support (and why that's so) is absolutely not common knowledge to "very few people", and absolutely, definitively not "wasted here". In fact, it is actually "very few people" who know about the extent of linux audio support, and the vast majority who are "totally in the dark" about what is and isn't supported on Linux. You may think it's all "old hat" to just about everyone, but that assumption is way off the mark.

Look at what just happened here. Some guy posts that he did "lots of searching and checking" about his audio options. Granted, he cites "availability" as his specific criterion, but I suspect that if he's willing to research his purchase at all, and find a linux audio forum to ask if "there's something (he) missed", then he probably already checked out all the "good" sources about linux audio support concerning his choices. So, like most everyone here, he must be aware of all these issues that you insist "very few people here" don't know about, right? Such a person would never make a fundamental false assumption about linux audio support, right?

And yet there it is. His sole basis for his favored choice (lexicon) is because he clearly assumes it supports 24-bit audio under linux. His research apparently didn't inform him about 1.0 class compliant limitations, nor the fact that alsa supports most usb devices solely via that. He doesn't know that Windows (nor typically MacOS) doesn't do that, and the feature list he researched is obviously not applicable to Linux. He researched his options for linux, and yet he doesn't know what you claim very few people here don't know.

And yet, I spotted his assumption immediately. And I was the first, and only, person who corrected that false assumption. It wasn't a false assumption about linux support for a $1600 RME Ucx (although somewhere, some poor soul may be "researching" that, and getting none of that information that's supposedly known by so many here). It was a false assumption about linux audio support for even a cheesy $100 interface using an off-the-shelf generic chinese usb chip that you find all over the place! Clearly, the practical limits of linux audio support are not unknown to "very few people", and equally obvious is the fact those very few people who do know this stuff (ie, essentially only the guys writing the ALSA/FFADO drivers, and guys who have studied those C sources) aren't documenting that info for endusers to find. Clearly, posting this info is not a "waste". I already told one guy here something he mistakenly believed about linux. Another such guy will probably show up next week. And the week after that. Etc. And if I go through the archives, I'll probably find many such folks have come and gone. These are the real majority -- not the select few who are privy to what's really in the ALSA/FFADO sources.

And it's not unreasonable for people to be getting wrong, outdated, false assumptions about linux audio support. I know because I obviously know a thing or two about audio, and yet I got burned twice myself, once by FFADO, and once by ALSA, even after reading the misleading, incomplete info from the official websites, perusal of pro audio as well as linux forums such as this one, available wikis, and any other sources short of the actual driver source code. And yet despite so "very few people" being unaware of the "problems" of linux pro audio support, no one anywhere mentioned any of the problems I eventually discovered. Weird, huh? Almost seems like the only people who could have known were the guys who wrote the drivers, and they weren't relaying that info to endusers, you think? It wasn't until I looked through the ALSA/FFADO driver sources that I learned the real story on linux audio support. And I emphatically believe that the vast majority of folks coming to this site don't get their info that way.

I believe that it was not a "waste" to have identified/corrected the OP's misassumption. I do not regard any of the followup responses to be a "waste" either, including my conclusions about the really poor state of linux pro audio, and my final conclusion that unless you're willing to wait for something that historically has proven to be unlikely to happen, the best solution for pro audio work under linux is... well, just boot into Windows or MacOS and be done with it. Things may improve, and perhaps enough to someday to change my conclusion. But I stand by it today, and never consider it a waste of time to disavow any misconceptions, such as what the OP clearly had. It is a bigger disservice to do otherwise. Why? Because when someone gets his misconceptions corrected only after truly "wasting" his time and money, then he feels "burned". I was burned twice by linux audio. Yet, I still use linux for things that it's good for. (Pro audio not being one of those things). But you know what would have happened if I was just a typical enduser? Let's say I spent $50 extra dollars for a lexicon instead of that alesis because I thought the former would do 24-bit. Someone told me that ALSA lists the lexicon as supported. And someone in some linux forum who owns one told me that it "works" on linux. But unrevealed is the fact that all he's ever done is record a 16-bit track in Ardour (an ubuntu user no doubt), and he doesn't even know what 24-bit is, let alone actually tested it in linux. So I set it all up on linux. I start Ardour, and I spend hours trying to get it work 24-bit. I try various jack command line settings until my brain explodes. I install and try Qtracktor, and then MUSE, and dozens of other programs hoping one finally works. I log onto this forum asking for help, and I get it... in the form of yet more hours of ALSA and jack settings that don't work. What i don't get is someone who knows the limits of Linux audio support (because he looked at ALSA's usb_audio.c driver source, and deduced this) saying "oh yeah, let me save you time and money and tell you right now linux doesn't support that. If you want lexicon 24-bit audio, then use Windows instead.". So I come to the only sensible conclusion -- "OMG, I got a defective hardware unit!". I boot into Windows to test, and 24-bit audio works immediately and effortlessly, with nary an ugly jack command line in sight. What would this typical enduser do now? I scream "Linux sucks! I got burned by it!". Over the next few years, I tell everyone "Linux is complete crap, and good for absolutely nothing."

All this could have been avoided if only I had my misconceptions quickly and painlessly disavowed by some "OT rant" on LinuxMusicians letting me know why it won't work. Would that really have been a waste of time (or even a disservice)? Was it information that really is already known by the majority of readers, or more likely known to only those people who studied the alsa driver sources? Is this info already readily available elsewhere via some search engine query such that the "OT rant" is really a "waste of time" to the guy who comes here next week to research whether the Focusrite Forte is a good choice for linux, for example. After all, it came out the same time as the scarlett, and people say the scarlett works in linux. So it makes sense to assume this other usb focusrite is supported, right? "Just about everyone here" knows, and says things like "focusrite has the best linux support". I haven't looked at alsa's driver sources to check, but the just about everyone here already has, and you'd give me the real scoop, right?

Maybe even in an OT rant that wastes my time?

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: Support of audio interfaces under Linux

Post by danboid »

Jeff:

Although things are different now that Autostatic has split your epics off into their own thread its obvious that at least one other poster and an admin agreed with me that you were OT enough from answering the OPs question that it was worthwhile splitting the thread. In its original form, the OP was asking about cheap USB cards then you arrive with several essays on how crap Linux support is for pro-audio hardware which basically concluded that ALSA and JACK are a waste of time and that the RME UCX is the only USB audio device that MIGHT work with Linux that could possibly be worth bothering with and that everything less than an RME is about as good as a SB16. Nonsense!

Before I started posting to these forums, I took the time to read Nathan's introductory posts such as:

http://linuxmusicians.com/viewtopic.php?f=12&t=319

If you had read that too you may have noticed it has a link to the short 'newbie section' of the wiki which briefly covers 'What (audio) hardware is supported by Linux?' and it clearly states there is a 'good chance' that your hardware may work and it gives a few references for people to check if their hardware will work. There is no doubt Linux's support for hardware is not as comprehensive as Windows and I also know that the ALSA and FFADO docs are far from perfect, you're right about that but this less than perfect situation is not ALSA or Linux's fault but the OEMs and anyone who goes buying a machine or bit of hardware to use specifically with Linux without doing their homework first is very naive and this is a mistake usually only made once by newbs. Ex Mac/Amiga etc owners are less likely to presume 'everything works with everything' I suppose - they know its a Windows world out there.

If you know enough about computers to be using Linux then you should know what an OS is and what version of OS you are running. With me so far? Great, then if that isn't over your head you should also realise that Linux is not Windows hence you should never expect a bit of hardware to work under Linux 'because it works under Windows'. Only someone who doesn't understand that Linux is fundamentally different to Windows could ever make this mistake - they would have to be very new to Linux and/or not know anyone who has been using it for more than a few weeks to not know this. This doesn't apply just to audio hardware but the same goes for all hardware. I suppose we could ask Nathan to make this a bit more clear in his introductions to the forums but I think doing so could be considered an insult to the intelligence of this forums members personally.

No-one on here is being forced to use Linux - if you don't like ALSA, JACK or the apps available then you're free to use Windows. Despite ALSA and JACK's quirks and learning curve, I know which OS I prefer. Also, you need to realise that not everyone has the money for and hence shouldn't expect pro-studio quality gear. Something like the Scarlett 2i2 is infinitely better than 99% of onboard audio and incomparably better than a SB16. I have no need for DSP, hardware FX and prob wouldn't use them if I did have them either - but thats just me.

Non-constructive criticism is just noise so if you don't like Linux or its hardware support either try to do something to help rather than write epic moans or check back in a few years to see if Linux might serve your needs better then.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: which usb audio interface?

Post by j_e_f_f_g »

raboof wrote:Which specific problems do you have with the EMU 1616m/1212m driver/these cards?
The biggest problem is, although the EMU cards are capable of recording/playing 24-bit audio (and can do so under Windows), the Linux emu driver doesn't support it. Linux operates them only in 16-bit mode. I won't get into a detailed discussion of why the difference in 24-bit versus 16-bit is so very important (unless folks want to get into it). Suffice it to say that if your software (ardour, for example) is mixing (playing) more than 2 mono audio tracks (or 1 stereo track), then you definitely want the increased dynamic range of 24-bit, as you'll typically notice less chance of clipping (distortion) when the audio is loud, and less noise (what you'd likely describe as "background hiss" -- I'm really trying to make this understandable to even non-technical readers here) when the audio is soft. 24-bit resolution is an absolute necessity today for any professional working with multiple audio tracks. So right there, Linux takes a pro card (costing many hundreds of dollars), and forces it to operate at the level of a much, much cheaper hobbyist card. That's a showstopper right there. I mean if you already bought an EMU, then the linux EMU driver is better than... well, absolutely nothing at all. But without 24-bit support, I would never recommend someone go out and buy an EMU 1212m/1616m for linux today. It would be a foolishly wasteful purchase. End of story. Consider the EMU 1616m/1212m as unsupported under Linux (despite what the ALSA page says) because no other conclusion makes any professional or economic sense. Who's gonna buy a $600 interface to use under linux when, because of poor ALSA driver support, he can actually get more "pro" results with an $80 Fast Track Pro? I'll tell you who. The unfortunate victim who goes to ALSA's "support details" page for these EMU cards, where these important limitations are not documented. He instead is told the card is supported and naively assumes this means in a manner that makes a $600 pro item work better than an $80 hobbyist item. Only later does he learn otherwise, after actually testing the card as not functioning to reasonable expections, and then looking through ALSA's emu1010.c driver source code to trip over an offhand comment from the author as paraphrased "this is too much work to support 24-bit, so I'm not gonna do it". Mind you, I'm not saying the guy is lazy or incompetent. What he did do was done for free, and it would be lots of work to do more. I wouldn't do that additional work either unless I was paid good money for that amount of time/effort. But it really makes ALSA something to justifiably be regarded with skepticism and disdain by endusers when the few ALSA folks "in the know" won't even take a minute to provide endusers with important information. They just keep letting endusers have needlessly bad experiences.

The EMU also supports 4 sample rates of 44KHz, 48KHz, 96KHz and 192KHz under Windows. Under Linux, it's just 48KHz. Frankly, I can deal with that. 192KHz is just marketing hype. Unless you're recording the ultrasonic sounds of whales, it has no practical pro use. But 96KHz does have its pro use cases, so I could see someone citing that as a legitimate deficiency of the linux support. (On the other hand, for technical reasons I won't get into, the EMU has notable problems with rates other than 48KHz, even under Windows. So this linux deficiency is not as comparitively unfavorable as it seems). But is this linux deficiency made known anywhere, today, other than in the emu1010.c driver source? Yes it is -- in this reply I'm posting right now. See a problem trend emerging yet?

But the next linux deficency, while not as professionally damning as no 24-bit, is also bad. The EMU has a programmable DSP chip into which can be loaded dozens of VSTs offered up with the EMU... under Windows. There are effects like delays, compressors, flangers, reverbs, distortions, leslies, multi-band EQs, etc. These VSTs/plugins can be assigned to various EMU in/outs, and the VSTs run on the EMU itself so they're practically 0 latency and no CPU overhead. Think of it as a poor man's Apollo UAD. Granted, the reverbs are crap. I'd definitely use a native linux reverb plugin instead. But the dozens of other plugins are useful. Also the DSP also controls 0 latency routing of various EMU ins to outs. All of this is supported in Windows. None of it is supported in linux. And the ALSA EMU support page doesn't tell you this. Shhhh. It's a secret. You find out about this when you're perusing the source to another ALSA driver source and stumble upon a comment from yet another developer - a Creative Labs employee no less, you know the folks who own EMU -- wherein he admits it wasn't worth his time to support this under linux. So what he did instead was "hardwire" the DSP to route certain ins to particular outs -- no user customization like under Windows. And all the plugins are gone. Poof. No wait. He did give you a crummy "Bass" and "Treble" tone sliders like you got on those 1980's-state-of-the-art $20 CL SoundBlaster cards. For your $600 EMU Sharc DSP chip. Oh boy, someone slap me before I go giddy with joy, and faint from "awe" at the quality and completeness of this linux audio support.

And there's more, for example the memory bug in the EMU's hardware softsynth. But I think I've already well-established that only a fool would buy an EMU 1616m or 1212m to use under linux, given the ALSA driver issues, or even believe ALSA's laughable claims that these cards are "supported" (in any economically or professionally sensible way). And I have no doubt this will never change. All the guys who worked on it to date have already admitted they aren't gonna do that much work on it. No one else has come forward. I ain't doing it. (Well ok, I lied. I'm actually running a modified emu linux driver in which I added better support for the hardware softsynth. But I didn't fix the big issues, and I'm not gonna). But despite perhaps depressing someone by what he'll summarily dismiss as an "OT rant and waste of time", I'm going to tell folks all I learned about particular linux audio support just to help someone else avoid getting unwittingly burned. That's never a waste of time, and even if someone thinks it's not doing much (and sure it ain't nearly as much as fixing the emu driver), it's still the absolute minimum amount of effort that endusers should have reasonably expected to be freely done. Nobody should be getting burned just because he can't get an even remotely realistic answer to the question "do any of these interfaces really work, and if I try one, am I going to discover that it doesn't even come close to its windows/mac support, and therefore conclude no trustworthy, practical source of info for linux audio exists?". If we can't, or refuse, to address that minimal need, than quite frankly, this whole linux audio thing will be an outright failure.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: which usb audio interface?

Post by raboof »

j_e_f_f_g wrote:
raboof wrote:Which specific problems do you have with the EMU 1616m/1212m driver/these cards?
The biggest problem is (snip big response)
OK, so your problems with the emu driver can be summarized as:
  • only 16 bit, no 24 bit
  • only the 48KHz sample rate is supported, not 44KHz, 96KHz or 192KHz (though the latter sample rates don't work particularly well on this card anyway)
  • programmable DSP chip not supported (beyond bass/treble control)
  • 0-latency routing not supported
  • some memory bug in the hardware softsynth
Right?
I'm going to tell folks all I learned about particular linux audio support just to help someone else avoid getting unwittingly burned. That's never a waste of time, and even if someone thinks it's not doing much (and sure it ain't nearly as much as fixing the emu driver), it's still the absolute minimum amount of effort that endusers should have reasonably expected to be freely done.
I absolutely agree we should do our bests to document what is and isn't supported, though I do think shorter and more to-the-point posts would get the message across clearer.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: which usb audio interface?

Post by j_e_f_f_g »

raboof wrote:so your problems with the emu driver can be summarized as:
(snip incomplete summary)
Right?
No.
raboof wrote:we should do our bests to document what is and isn't supported
Let me ask you this: Have you studied all the... I don't know how many hundreds of lines of code... in the numerous sources of ALSA's EMU driver?

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: which usb audio interface?

Post by raboof »

j_e_f_f_g wrote:
raboof wrote:so your problems with the emu driver can be summarized as:
(snip incomplete summary)
Right?
No.
Do you have any interest in actually improving the situation, or do you just like to write long rants about it?

If you want to have any impact at all, you need to consolidate your findings in bite-sized summaries like the one I made a first stab at. I'm trying to help here. If you want to cooperate, please help improve that summary instead of just replying with a snarky 'No.'. If you don't care, that's fine of course, but in that case don't expect me to take your rants too seriously anymore in the future.
j_e_f_f_g wrote:
raboof wrote:we should do our bests to document what is and isn't supported
Let me ask you this: Have you studied all the... I don't know how many hundreds of lines of code... in the numerous sources of ALSA's EMU driver?
Obviously not. You're the expert here.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: which usb audio interface?

Post by j_e_f_f_g »

raboof wrote:Do you have any interest in actually improving the situation
Of course. I wanted it improved before I bought a MOTU UL3 based upon misleading info about FFADO... and got burned by the latter. I wanted it improved before I bought an EMU 1616m based upon misleading info about ALSA... and got burned by the latter. And I want it improved before the next guy (maybe even me again cuz I'm still tinkering with linux audio) gets burned by misleading info about ALSA, FFADO, jack, LADSPA, or anything linux audio-related.

But there are some "problems" I see being glossed over or unacknowledged, and patterns of failure being repeated. I've openly/repeatedly stated what. And you appear to have completely missed that.
raboof wrote:consolidate your findings in bite-sized summaries like the one I made a first stab at.
That's exactly what I expected you'd say. Good. Let's take another step.

I answered your question above. Now indulge another of mine so I can help you understand why what I suspect you're going to do with this "summary" is just another repeated pattern of failure, and will not "improve the situation".

The question: Upon what basis have you concluded you have even a remotely complete list of findings (ie, a genuine "summary") of EMU support issues? Or even a 50% list? Or 30%? Etc.
raboof wrote:Obviously not. You're the expert here.
I'll address this bit of snark only after I get a chance to respond to your above answer. My response will be more apropos then.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: which usb audio interface?

Post by raboof »

j_e_f_f_g wrote:
raboof wrote:Do you have any interest in actually improving the situation
Of course.
Great!
there are some "problems" I see being glossed over or unacknowledged, and patterns of failure being repeated. I've openly/repeatedly stated what. And you appear to have completely missed that.
Those are not "problems" with the emu drivers specifically, but rather with the linux audio world as a whole, right? Indeed I mostly ignored those for now, because they deal with problems I can't solve anyway. I can help improve the ALSA EMU documentation based on your experiences and research, that's feasible, so that's something I'm more interested in discussing.
Upon what basis have you concluded you have even a remotely complete list of findings (ie, a genuine "summary") of EMU support issues? Or even a 50% list? Or 30%? Etc.
I was rather hoping you (and other forum members) would help make it complete.
raboof wrote:Obviously not. You're the expert here.
I'll address this bit of snark only after I get a chance to respond to your above answer. My response will be more apropos then.
OK, it was a bit tounge-in-cheek, but i'm also serious here: you're the one who has done extensive research into the state of the emu drivers. I'm just the random guy on the internet who hopes he might be able to help move that information to all the right places.
steevc
Established Member
Posts: 251
Joined: Fri May 23, 2008 7:05 pm
Location: Bedfordshire, UK
Contact:

Re: Support of audio interfaces under Linux

Post by steevc »

Just read about this interface. It's a 'professional' device, i.e. expensive, but they explicitly mention Linux support. Also, configuration is via DIP switches, so it doesn't need special drivers to configure it.

http://wiki.linuxmusicians.com/doku.php ... s_usbpre_2

Okay, so that may only be up to 48kHz/24 bit. Is 24 bit generally supported as part of the class compliant thing? If Linux USB 2.0 audio does work then it may be possible to use up to 192kHz, if you feel the need (yes, I saw what Jeff wrote).

I've hunted around to find out what the 'official' state of ALSA support is, but it's not easy. A lot of their wiki is pretty old and the mailing list is too technical for me. I don't even know how many people are actively working on it. Do they have a spokesperson who can tell us what is going on? We can speculate forever, but it would be good to get something from the source. Perhaps we can even help them out by testing devices if we have them.

I don't even have much self-interest in this as I have an interface that's fully supported and more than capable for my needs, but that may change in the future.

Steve
Sounds - http://soundcloud.com/steevc
Debut Album - https://steevcmusic.bandcamp.com/
Blog - https://peakd.com/@steevc/posts
Recording via M-Audio FastTrack Pro and Zoom H4. Got Korg nanoKONTROL and Zoom G3X plus Roland TD-07 drums

Thad E Ginathom
Established Member
Posts: 369
Joined: Fri Sep 23, 2011 1:03 pm

Re: Support of audio interfaces under Linux

Post by Thad E Ginathom »

that may only be up to 48kHz/24 bit.
According to the manufacturer's site, I think that is the case.

jeff. I find your posts on this subject interesting an informative. The only comment I would offer is to draw attention to the easy way we all say Linux supports, or Windows supports, when the truth is that it is what the manufacturer supports or does not, that is the crux. OK, I'm stating the obvious, and I don't think there is any reader here that doesn't know it, but I wanted to underline it anyway.

Mis-stating the facts as to what is available and what it will do --- well, that is another matter.

All of this stuff is, obviously, of much greater consequence to studios and musicians, but it matters to us people who mostly just listen, too --- which is why I am a member of this forum.
nicola
Established Member
Posts: 6
Joined: Sun Sep 30, 2012 4:18 pm

USB Audio Class 1.0 supports more than 16 bits!

Post by nicola »

A recurring statement in Jeff's posts is about usb audio 1.0 class limitations:
j_e_f_f_g wrote: If support for the Tascam and M-audio is achieved (under Linux) by virtue of usb-audio 1.0 class compliance, then note that this means the device is limited to stereo 16-bit 48KHz capture/playback.
j_e_f_f_g wrote:Because the usb-audio 1.0 standard itself limits operation to 16-bit, 48KHz, 2 channel audio, any USB audio device for which ALSA doesn't have proprietary support is stuck at this limit.
But after doing my own search I actually found that these claims are not true, in particular there is no limitation to 16-bit in the usb audio 1.0 class specification. Here is the proof:
  • Get the actual USB Device Class Definition for Audio Devices, Release 1.0 specs, which define the Audio Interface Class, as well as the AudioStreaming Interface Subclass
  • in section 4.5.2 of that document it says:
    The wFormatTag field holds information about the Audio Data Format that should be used when communicating with this interface. If the interface has a USB isochronous endpoint associated with it, the wFormatTag field describes the Audio Data Format that should be used when exchanging data with this
    endpoint.
    [...]
    This specification defines a number of standard Formats, ranging from Mono 8-bit PCM to MPEG2 7.1 encoded audio streams. A complete list of supported Audio Data Formats is provided in a separate document, USB Audio Data Formats, that is considered part of this specification.
  • so get the USB Audio Data Formats 1.0 document. In Section 2, three types of format are defined; we care about Type I Format, which is PCM, hence we'll consider only this type in the following.
  • Section 2.2.2 and 2.2.3 clarify the notion of Audio Subframe that contains one audio sample for one specific channel. It states this:
    This specification limits the possible audio subframe sizes (bSubframeSize) to 1, 2, 3 or 4 bytes per audio subframe. An audio sample is represented using a number of bits (bBitResolution) less than or equal to the total number of bits available in the audio subframe, i.e. bBitResolution ≤ bSubframeSize*8.
  • Section 2.2.5 describes the Type I Format Type Descriptor, which includes these fields:
    • bSubframeSize: The number of bytes occupied by one audio subframe. Can be 1, 2, 3 or 4.
    • bBitResolution: The number of effectively used bits from the available bits in an audio subframe.
  • in section 2.6.6.1, the PCM format is described:
    The audio data is not compressed and uses a signed two’s-complement fixed point format. It
    is left-justified (the sign bit is the Msb) and data is padded with trailing zeros to fill the remaining unused
    bits of the subframe. The binary point is located to the right of the sign bit so that all values lie within the
    range [-1,+1).
So, according to the above, up to 32 bits are allowed by the usb 1.0 audio class, thus including 24 bits. Q.E.D.

As a real-world example, let's have a look at the descriptor of my brand new alesis io2 express:

Code: Select all

# lsusb -s 5:5 -v

Bus 005 Device 005: ID 13b2:0008 Alesis 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x13b2 Alesis
  idProduct          0x0008 
  bcdDevice            1.01
  iManufacturer           1 Alesis
  iProduct                2 io|2

[snip]

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bDelay                  0 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                14
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           3
        bBitResolution         24
        bSamFreqType            2 Discrete
        tSamFreq[ 0]        44100
        tSamFreq[ 1]        48000
as you can see, it's using usb 1.10 specifications, with 24 bit PCM at 44100 or 48000 Hz.
j_e_f_f_g wrote:Let me ask you this: Have you studied all the... I don't know how many hundreds of lines of code... in the numerous sources of ALSA's EMU driver?
well, Jeff, now we could ask you: have you studied the USB 1.0 Audio Class specs? ;-)
Post Reply