What are the state of audio hardware handling on Haiku right now (January 2017)?

What are the state of audio hardware handling on Haiku right now (January 2017) ? I know that Dario have been done a lot of work on the Media stack lately but thinking about using Haiku as a Digital Audio Workstation as BeOS did on the past is a huge feature we’ll dont miss for this feature freeze for the comming Beta1, Here some conversations about on the subject:

https://www.haiku-os.org/community/forum/open_source_music_production_haiku

https://linuxmusicians.com/viewtopic.php?t=13745

Sequitur is now open source and runs very well on Haiku. So the MIDI sequencer is there.
Most of the Qt based apps (qtractor, etc) should be possible to port. I think qtractor is however tied to Linux specific audio outputs and will need to be rewired to our media kit.
There are still some issues with audio drivers, but other than that, the media kit is working quite well and should be usable for your needs.
Dario’s work is on introducing a new API to the media kit, making things simpler to connect applications to it. In a first part of his work, the core of the media kit stays unchanged (and compatible with the old API as well), but for R2 he has plans to replace the media kit completely and make it work in a quite different way.

So, there is nothing to worry about with the feature freeze: everything that was in BeOS, is already there, and a few more things already. What is missing, as usual, is drivers and apps, and these are not affected by the feature freeze because they can be 3rd party packages to install later as they become available.

1 Like

On the drivers side, like on the second link refered on my first post, they pointed out about the JACK’alike behavior of the Audio Routing or their relation with the audio hardware drivers and OSS solution provided by Haiku. There are some polish and bugfixes to work to get a profitable and stable framework for DAW production? Maybe some help from TuneTracker Systems and IZcorp on this.

http://www.pcmag.com/article2/0%2C2817%2C1150157%2C00.asp

Talking about DAW, it would be great to start upgrading HyperStudio
(or, why not, Clockwerk too) by “grabbing” features from others open
source DAWs (such as Ardour, Traverso, Qtractor, Rosegarden, DarkWave
Studio, Koblo, etc.)
BTW i believe that the 1st correct step should be let Haiku manage
professional multichannel (8+) soundcards/mixers, in order to record
multiple audio streams (harddisk recording, at least).
forart.it

https://lebuzzin.wordpress.com/2015/03/25/we-need-to-know-jack/

One slightly off-to-the-side update I’d love to see is isochronous USB, so that I could connect my USB audio I/O (See the “Using a USB DAC” thread of a couple of weeks back). Audio output from the phone-jack of my laptop is adequate, but input is hopeless (even in the linux partition – where the USB works, of course).

Any info on how close we are to this?

1 Like

I think the USB1 stack has isochronous support? The other stacks don’t, I’m pretty sure. You could try plugging a USB audio device in and see what happens…

2 Likes

Don’t think so. At least nothing gets activated. I plug in my USB Audio (a Behringer UCA202 --1.1 USB) and it shows up on the bus, but there’s no sign of it in the Media Prefs. (The latest rev I have is from last October.)

D’oh, my bad, the USB Audio driver isn’t in the image. You’ll have to build it yourself and put it in the appropriate non-packaged directory. (I recall doing this and it at least recognized my usb_audio device with that.)

3 Likes

And it isn’t in the image because at least one (and I think only one) of the USB stacks doesn’t support isochronous and it would cause a KDL there last time we tried, IIRC. But, you are welcome to compile, test and report on the current state.
I do have some USB audio hardware (not something I plan to use, but good for testing) so I may take a look into this. Getting it to work with that composite audio+hid device will be interesting on its own, anyway.

1 Like

I have some USB audio gear here too and would be happy to help test…this would be awesome if we can get it working well!

1 Like

I was a bit excited there for a moment, but now I’m a bit depressed again… Ticket #1045 seems to be the relevant one. According to that there is only one USB stack (out of 4?) that supports isochronous: OHCI. I – like the majority, I gather – have EHCI, which, according to the ticket, will have to be rewritten to do that. More discouraging is that the ticket has been reassigned to “Nobody”, which I guess means it’s all in limbo.

I’d haver a crack at it myself except that it’s completely outside my knowledge.:disappointed:

It was added to UHCI back in… 2007, durring GSoC: https://www.haiku-os.org/blog/emitrax/2007-06-26_uhci_isochronous_support_added . This needs some rework but the bases are there.

It was added some time later to OHCI as you saw in the ticket.

Unfortunately this means it is still missing from EHCI, which is the one used for USB2, and xHCI, which is the one used for USB3. However, all we need to do to include the usb audio driver in the image, is making sure that it does not crash the system (KDL or the like). If it fails to produce audio in some cases, it is not really a problem that should prevent including it in the image.

2 Likes