The Class Compliant Audio complaint rant (coining "OSA-CCA")

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

Moderators: MattKingUSA, khz

Post Reply
Musicmaker
Established Member
Posts: 47
Joined: Sun Oct 19, 2014 2:34 pm
Been thanked: 5 times

The Class Compliant Audio complaint rant (coining "OSA-CCA")

Post by Musicmaker »

How many devices do actually fully work on Linux for the audio and mixing interface ? And if they work, it isn't "plug and play".

We may need an Operating System Agnostic Class Compliant Audio standard, coining it here as "OSA-CCA"

Class compliant hardware, Operating Systems and interfaces (USB) don't don't work seemingly together. if they did, there wouldn't be
millions of posts with problems.

Linux provides probably the most standard audio interface driver-less, few work flawless and fully functional on it,
but all devices work with with Windows and Mac though through vendor provided drivers (that sooner or later are not supported anymore).

This is because products manufacturer's marketing departments hijacked the phrase class compliant and defined them as
"Class compliant WITH WINDOWS (driver)" and "Class compliant wih MAC (driver)"
That should not have been the intent for USB driver-less standard audio class compliant.

Take a look at AKAI, announcing MPC support for audio interface over USB for class compliant devices. Didn't AKAI now there are lot of
product not work with Linux, let not even discuss embedded Linux ? Check the MPC forum and watch the mess unfolding.
https://www.mpc-forums.com/viewtopic.php?f=48&t=211654
https://www.mpc-forums.com/viewtopic.ph ... 9#p1834679
viewtopic.php?p=151895&hilit=class+compliant#p151895

So far for audio streams, what about the control interface ...

Current Audio devices control via lot of methods, USB, Web interface (MOTU) but almost none via MIDI.
To support this, Linux must support the ALSA Mixer interface in the kernel for the specific device.

A standard solution to get rid of such needed could really be old fashioned MIDI.
Even Dante device drivers create an virtual MIDI port and implementing and MIDI is cheap.
The audio interface could just simply create a MIDI endpoint, on the same USB port, and most
Such as the Focusrite interface has a MIDI port over USB, just add control interface support !

An option is to take the Linux ALSA mixer interface definitons and repack it into a MIDI-CI protocol, which is pure old fashion Sysex, either via Legacy MIDI or MIDI 2.0 UMP. MIDI-CI could run over DIN, USB, Network/IP MIDI and Dante as wel over AVB.

Operating systems can then control volume etc.. just by considering such a MIDI endpoint the audio control interface.
You could easily switch between the device you wish to control. Even a simple MIDI tool could do it if there is lack of such bridge.

[Edit #2] Another alternative would be AES70. It can run locally and over the internet
Examples of running AES70 daemons to control (ALSA) audio devices (like an RPI) exist and you can play with it for free today (see below links)

What is needed

A. A standard control interface

  1. Set/Get Configuration such as sampling rate, buffer size, Synchronization (Word/ADAT etc..)
  2. Set/Get Volume
  3. Set/Get Mute/Unmute
  4. Get/Set Mixer Input/output mapping for sources and destination on in an output (optional), similar to ALSA mixer specification.
  5. Get metering: metering of a channel (optional)
  6. Get/Set Phantom power (optional)
  7. Get/Set input type (Mic, Line, Instrument)
  8. Get streams:
    USB audio would have two: In and ouput stream
    Dante/AVB would have one per input/output
  9. Get/Set audio stream type such as AVB, DANTE or AES67 etc..

B. A standard audio stream interface

  1. For USB comply 100% with the USB 2.0 Audio Class compliant standard without any VENDOR supplied device drivers
  2. For Network audio, implement an open standard such as AES67 (most Focusrite Dante device have such option now)

C. Provide an "OSA-CCA" switch

  1. A physical switch to choose between driver (VENDOR) and driver-less ("OSA-CCA") mode
  2. [EDIT #1] if no physical switch is possible, a firmware flash tool to change between those or a simple MIDI-CI sysex command.

D. Use social media

  1. Setup a committee and website
  2. Define the requirements
  3. Bombard vendors reminding them consumers are expecting them to change and work together.

It's 2023 and USB/Network audio is still it in's infancy for consumer / non-large scale audio
We not only need something that "just works", but something that "works for everyone"
Lets hope by 2028 all this nightmare is behind us and we can have plug and play USB and Network Audio

Any suggestions , agreement, disagreement , ideas ?

[AES67 (AoIP) & AES70 Control and monitor for any kind of device, incl. ALSA]

https://www.iseurope.org/news/audio-over-ip-here

AES70 Control and Monitor standard update:
https://audioxpress.com/news/updated-ae ... t-ise-2023

Espressif (esp32) AES70 Evaluation kit.
https://audioxpress.com/news/deuso-anno ... pplication

Genelec Home AoIP speakers:
https://www.systemsintegrationasia.com/ ... er-models/

AES67 USB daemon for embedded devices (Use a network card on for example an RPI as an EAS67 I/O device and creates a USB audio device to PC)
https://github.com/bondagit/aes67-linux ... _GADGET.md

Make a soundcard input (i.e Focusrite USB card) available as endpoint in an AES67 network.
https://github.com/philhartung/aes67-sender

AES70 ALSA Explorer / Control ALSA devices via AES70 over the cloud
https://aes70explorer.com/try/

C++ library for AES70 / Object model
http://docs.deuso.de/libaes70.cpp/
https://www.youtube.com/watch?v=JTZbFScTrGQ

AES70 Standard
https://ocaalliance.github.io/resources.html

Last edited by Musicmaker on Sun Feb 12, 2023 2:56 am, edited 13 times in total.
User avatar
sjzstudio
Established Member
Posts: 163
Joined: Fri Apr 10, 2020 11:24 pm
Has thanked: 19 times
Been thanked: 25 times

Re: The Class Compliant Audio complaint rant (coining "OSA-CCA")

Post by sjzstudio »

All development is valuable in order to get the widest possible and stable audio device support for Linux.

As a user, I can't really do anything but hope and give it a thumbs up. However, I hope for a wider discussion and movement for this issue, which I think is very important for those who work with Linux and music production.

Sometimes I have to wonder how many of us there really are.

Musicmaker
Established Member
Posts: 47
Joined: Sun Oct 19, 2014 2:34 pm
Been thanked: 5 times

Re: The Class Compliant Audio complaint rant (coining "OSA-CCA")

Post by Musicmaker »

Very appreciate the first thumbs up. Would be nice if more folks voice their support for change,
Agree it should be take the higher level, as it should become a standard. Perhaps a topic for ADC23 ?

martibs
Established Member
Posts: 123
Joined: Mon Oct 15, 2018 7:06 pm
Location: Oslo, Norway
Has thanked: 35 times
Been thanked: 15 times

Re: The Class Compliant Audio complaint rant (coining "OSA-CCA")

Post by martibs »

Do you have a list of audio interfaces which claim to be class compliant, but don't work on Linux?

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: The Class Compliant Audio complaint rant (coining "OSA-CCA")

Post by merlyn »

I don't think it's a bad idea, and I don't want to seem negative. But can companies -- business entities -- really be forced to do anything?

I totally agree that what you have proposed is the right thing to do, but companies like Akai unfortunately don't particularly care what the right thing is. They are interested in profit and shifting units.

Did you see the Universal Audio on Linux incident? A Universal Audio representative suggested that if a petition got ten thousand signatures UA would support Linux. As the petition took off, UA quickly backtracked. They needn't have worried, as the petition doesn't have ten thousand signatures. The UA representative explained that this was more of a demonstration that there aren't enough Linux users. The way he put this I thought was telling : "The three big DAWs are Ableton, Pro Tools and Logic. Do they run on Linux?" Shifting mega-units or bust.

I think you should go ahead with the idea, but you may be disappointed/infuriated by corporate culture. You can bear in mind "maximum motivation; minimum expectation"

GuntherT
Established Member
Posts: 168
Joined: Sun Jun 07, 2015 2:15 am
Has thanked: 9 times
Been thanked: 28 times

Re: The Class Compliant Audio complaint rant (coining "OSA-CCA")

Post by GuntherT »

I am curious how far your plans for this have been extended. I assume you will be directing the committee, but what other committee roles will be needed and what will their functions be? What will your website provide? Will it mainly focus on defining the requirements, or will you have other resources available? What manufacturers do you plan to approach first, and how will you get their buy-in to implement hardware changes? Or perhaps my assumption is wrong, and you plan to develop standardized hardware designs that other manufacturers can then freely incorporate into their products? Are you considering putting together a presentation of this at ADC23? It sounds to me to be a huge undertaking that would seemingly be unpaid and possibly full-time work with no guarantees of return on your invested time, so if you decide to go for it, I commend you and wish you the best. Hopefully you get some help along the way.

Post Reply