Open source music production with Haiku

Hi Haiku music lovers!

This thread is my follow-on from:

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

First, my disclaimer. Although I have been briefly, periodically tinkering with Haiku on and off for a few years now I’m no Haiku or audio developer although I would like to help how I can in making it a capable platform for open source music production. I have been looking at the currently available options in regards to creating MIDI in Haiku but nothing out there that I’ve found fills my requirements for a MIDI sequencer which are:

  • It should be open source (not too bothered about license personally)

  • It should have a clean and easy to use interface

  • It should run under at least Haiku AND Linux but OSX and Windows ports too would be preferable

The nearest I’ve found to an app filling my requirements so far has been Sequitur

http://www.angryredplanet.com/beos/Sequitur/

I quite liked the look of its interface but it falls down on not being open source (apparently the BeOS code has been lost) and not having a Linux port either. Another promising Haiku sequencer is MeV:

http://www.bebits.com/app/1494

MeV doesn’t look as full-featured as Sequitur and also lacks a Linux port but at least it is open source. Sadly, both these apps are unusable under recent builds of Haiku due this bug:

http://dev.haiku-os.org/ticket/8117

There is also source code for the Titan Media Editor out there which claims to have MIDI editing functionality but the binary isn’t said to work and the source code is in a messy, uncompilable state right now so its uncertain if this is a real contender or not unless someone steps up to the challenge of restoring it and succeeds. Even then, like all the others it is tied to BeOS/Haiku and I demand session portability. I have also read of an open source Haiku app called HyperStudio but I’ve been unable to download or test this app as its web page has been down since I heard about it - has anyone here tried HS who can comment on if it may meet my requirements?

So, what I’d like to see happen (and would like to know if anyone else has already started porting to Haiku) after ticket 8117 is resolved is that we work on getting qtractor:

http://qtractor.sourceforge.net/

qsampler

http://qsampler.sourceforge.net/

and eventually JUCE

http://www.rawmaterialsoftware.com/juce.php

ported to Haiku

If qsampler or Linuxsampler proves difficult to port then qsynth ( http://qsynth.sourceforge.net/ ) would be good enough although I suspect Haiku has its own methods for playing back soundfonts already so maybe qsynth wouldn’t be required? I’ve failed to find any good looking, full-featured synths or samplers that run under Haiku so porting JUCE to Haiku should enable us to use Linux (Haiku) native VSTs such as the excellent TAL Noisemaker:

http://kunz.corrupt.ch/products/tal-noisemaker http://distrho.sourceforge.net/

and the slick Highlife sampler:

http://www.discodsp.com/highlife/ http://code.google.com/p/juced/

(With the above links the first is the original site and the second links host the Linux source)

qtractor handles audio as well as MIDI but I’m suggesting we ignore the audio functionality at first and concentrate on trying to get it working well just as a MIDI sequencer as this should circumvent the need for a JACK port or depending upon similar low latency audio routing functionality being present and working within Haiku as there seems to be some debate on how best to handle this right now. Also note that I have spoken to Rui (qtractor’s author) about the possibility of porting it to other non-Linux platforms but he has no interest in doing so in the forseeable future so we’d effectively be on our own if we do attempt a Haiku port.

Being one of the main testers for Ardour 3, I would of course love to see Ardour get ported to Haiku but that would require we port both at least JACK and GTK too so it would be a significantly bigger undertaking. If anyone has any better ideas or knows of any good free BeOS/Haiku apps that I’ve not mentioned above that may suit my purposes then let me know please!

1 Like

Preamble: I strongly believe this article also applies to Haiku > http://www.tannerhelland.com/3772/support-linux-stop-exclusive-software/

As always I’m really interested too in multimedia production with Haiku.

I’m -still- looking for a (better if native) DAW, so I would love to see Ardour ported, but they’re not interested in.

Qtracktor has the same problem (IMHO): it relies too much on Linux.

The alternatives could be Traverso (http://www.traverso-daw.org/) or Koblo (now adbandoned - but i have the latest trunk source code snapshot - multiplatform DAW for Win, OSX and Linux), but their ports needs experienced developers.

Another alternative could be to join old BeOS music softwares devs’ forces in order to build “something” from scratch: quite difficoult is not impossible.

So the right move could be the JUCE porting while promote its use between open source music producton softwares devs.

…i’ll do my part: http://traverso-daw.org/forum/index.php/topic,307.msg1392.html

Hi forart.it!

Yes, I saw that article and I totally agree with it - open source software does itself a disservice when restricting itself to one platform and this is why the Haiku Qt port is such a Godsend - Haiku is no longer the remote little community it was before that arrived. Of course, I’d love to see a fully native, FOSS DAW for Haiku but lets be realistic- Paul Davis has been working full time on Ardour for over a decade to get it to where it is now as its a Herculean task to write a powerful DAW.

I didn’t bother mentioning Traverso, Rosegarden and Muse/Openoctave MIDI although Traverso is the best of the other (non-qtractor) FOSS DAW options available. It has the advantage of already being cross platform which could make it easier to port to Haiku although its not what I’m after personally as I want a MIDI sequencer primarily and Traverso is audio only. Plus, development on Traverso has been quite slow whilst qtractor is advancing rapidly and qtractor has a strong and loyal user base amongst Linux audio users which is only rivaled or surpassed by Ardour. Although Rui isn’t going to help us port to Haiku, I should very much doubt he’d have any objections to Haiku port and hopefully he’d be willing to give commit access to his repo for anyone working on a Haiku port so we wouldn’t have to setup a new one.

Another FOSS DAW is Darkwave studio but thats Windows only so it would certainly be more work to port than any of these others.

I have found videos of Koblo on Youtube and it does look quite nice but does it handle MIDI too or just audio? If found this page:

http://code.google.com/p/koblo-studio/source/checkout

But when I checked it out there were no files within. Have you got links to the full, latest source or any binaries for Koblo? It sounds like Koblo is basically a dead project and if its audio only then Traverso would prob be a better app to port but as it stands I still think a qtractor port would be our best bet.

BTW note that he’s not interested in porting to any other platform than Linux/OSX:

  • http://ardour.org/node/408

    Paul was clear <a Windows? - Ideas for Ardour - Ardour>here: [quote=paul]Ardour wasn’t written to be “the DAW for everyone”. It was written to be the DAW for people who use Linux[/quote]

    So don’t expect anything from Ardour devs. Of course, “you” can use their sourcecode since it’s GPL…

    I’m mutch more interested in audio instead…

    DarkWave is extremely optimized for Windows (x64 & ASM), so it’s no-way.
    BTW it’s GPL (v3) too, so “you” can “inspire” from it too…

    Yes, Koblo is death (they had licensing problems with plugins, so they decided to transform it into a web-app/community: http://www.koblo.com

    Anyway I’d backed up their latest github’s trunk in 2009: http://www.forart.it/koblo-sources.zip

    EDIT: seems that someone forked it > https://github.com/zuoteng/koblo_software/

  • Hi forart!

    Thanks for the links to the Koblo source - I’ll have a look at it soon although I’m not optimistic about koblo going anywhere.

    Its true- as you say both Paul and Rui have no real interest in supporting any platform other than Linux although Ardour does run on OSX and Windows soon too - Mixbus runs under Windows at least so Ardour will eventually too.

    Others interested in a nice Haiku sequencer/synths etc should be happy to hear that we can expect a Haiku port of the excellent sunvox sooner or later but whilst we’re waiting for qtractor and sunvox ports our best bet is to compile and package milkytracker as I see someone has already had milkytracker running under Haiku but it seems they never uploaded it to Haikuware, Bebits or any other existing software repo.

    I hear you - music sequencing/recording is one of the two big things that keep me tied (at least through WINE) to Windows, and I’d love it if there were quality alternatives.

    Personally, what I’d like is something equivalent to Jeskola Buzz, using the tracker format instead of more standard MIDI sequencer approaches and serving as a combined tracker/VST host. I love that program to death, but it’s Windows-only (as, tragically, the source was lost.)

    Sounds like the program you’ve been looking for is Neil Modular Tracker/ sequencer

    Unfortunately that uses GTK and JACK, both which are missing Haiku ports atm

    Have you already tried Neil?

    I hadn’t, no. I might have to, though it doesn’t seem that it has a VST host yet, and without that it’s pretty limiting. Still, I’ll have to keep an eye on that as it develops.

    Last night I tried the version of OpenOctave MIDI 2011 thats packaged with AVLinux out and I was honestly blown away by how much its changed and improved since I last tried OOM about a year ago! Its totally unrecognisable from its MuSE roots and I suspect it is now likely the most powerful and certainly the best looking open source MIDI sequencer available. However, its current failing is that, unlike qtractor and Ardour 3, it doesn’t have integrated support for LV2 synths yet but it will early next year. So now I’m not sure if it would be best to try porting OOM or qtractor first but the obvious answer to that would be whichever has the least deps that aren’t in Haiku ports.

    I also tried compiling JACK 1 and 2 under Haiku last night and the main problem I came across was that configure doesn’t find any OSS headers and hence sound output isn’t going to work, I tried installing opensound from optional extras but that was just the OSS runtime libs. This could be one to report on the bug tracker (no OSS dev files in opensound package)?

    That experience made me realise just how little I know about the workings of the sound system of Haiku and especially just how its native one works with and relates to OSS. How do you know if your sound chipset is using a native or OSS driver? I couldn’t see a /dev/dsp device so I presume I’m not using OSS although maybe thats not how you check. Another thing I need to find out is how you can force Haiku to use OSS at run, boot or compile time as we may need to do so to run JACK?

    I do have some very good news that resulted from last night and that was when I told falktx (maintainer of the kxstudio distro and the distrho plugin archive amongst many other Linux audio projects) about Haiku and what I was trying to do and he became totally fascinated with the idea of JACK under Haiku and quad-booting Haiku, Linux, OSX and Windows! He’s got a lot on his hands already but now I can very confidently say we can expect to see Haiku-ified versions of JACK, qjackctl and at least OOM in early 2012 because if I can’t pull it off falktx will! A ‘JAICKU’ distro maybe!?

    Well, to me the best GNU/Linux app for making music is audacity. Perhaps it lacks something, but is a clean and easy to use software, with great features and there are MacOSX and Windows port… Having Audacity on Haiku would be really wonderful…

    IIRC: mmu_man’s OSS package doesn’t provide any OSS API in Haiku. It only implements a fallback drivers for some sound devices (when no native driver is available).

    Audiacity is a simple (user-unfriendly) audio editor. Sure would like it to support Haiku, but it is of limited use.

    I’m okay with Audacity for tweaking/mixing use, but as others have noted, it’s not a sequencer/tracker or instrument host.

    I’ve just been speaking to mmu_man on irc and he’s answered a lot of the questions I had about OSS under Haiku.

    To check if you’re running with OSS under Haiku, see if you have any files under /dev/audio/oss/

    I’ve not tried it yet but you can supposedly force the use of OSS if you have it installed by creating a symlink like so:

    ln -s …/bin/oss_loader /boot/home/config/add-ons/kernel/drivers/dev/

    mmu_man strongly advises against any apps depending upon OSS because it is not the Haiku way which I interpreted as OSS being basically unsupported. He also mentioned there is a potential Haiku OSS bug where it stops working after 6h15m which you could work around by restarting media_server.

    I think that we need, in music production, two kind of software: the first should be similar to cubase 3: handling multi track and instrument host (via VST and VSTi) and the second software, should be something similar to BeAE and/or Audacity, for simple audio editing and for post editing.

    Just my two cents.

    @franz1789

    Yes, a Haiku Audacity port would be cool but Audacity is no replacement or rival for qtractor or OOM as it is really just a sound editor rather than a multitrack DAW. The beta versions of Audacity can load MIDI files I think but there is no support for MIDI editing. Audacity uses wxwidgets but I’m unsure what the status is of the haiku wxwidgets port as osdrawer still seems to be down right now. Rather than porting Audacity I’d rather see work go into improving BeAE personally.

    @starsseeds

    Thanks for that! Have you ever had to use opensound under Haiku? Is it controlled by the regular Haiku audio mixer apps or do I need to use a separate OSS mixer? Can I run it even if my soundcard is supported natively by Haiku ie force it to use OSS? I’ve not been able to find much info on Haiku and OSS as you can tell.

    Maybe I’ll just need to compile OSS from scratch myself to get the dev headers etc but getting JACK running with OSS under Haiku should obviously be a lot easier than porting JACK to the native Haiku sound/media api but that is what needs to be done eventually I should imagine.

    There is a multitrack recording and MIDI editing app in the Haiku ports archive called Hyperstudio. I’ve got it to build and install but I’ve not been able to get it to do anything. Its author abandonned it about 6 years ago but that doesn’t matter so much now as this afternoon I got ecasound to build under Haiku.

    Unsurprisingly, ecasound doesn’t have any support for Haiku’s native sound system so I’ve had to build it against OSS, which Haiku can use as a fallback sound system. The main disadvantage with this at the moment is that OSS only supports sound output and not input for USB audio devices so recording with OSS (under Haiku or the BSDs) is pretty much restricted to PCI and onboard devices as it stands.

    I’ll have to try one of the ecasound UIs like Tkeca with it soon.

    Dan, feel free to post your findings on ecasound in an issue report at http://bitbucket.org/haikuports/.
    This way your effort won’t be lost and will be eventually picked up by someone.

    media-sound/ecasound

    Hi Korli

    I mailed the author of ecasound (Kai) yesterday to tell him how I had to modify the configure script to get ecasound to build. I’m not expecting him to add support for Haiku’s sound system to ecasound but hopefully he’ll at least modify the configure script so that vanilla ecasound can build for Haiku/OSS without any patching.

    I didn’t have time to test ecasound yesterday but once I’ve confirmed it works and I’ve had a response from Kai I intend to create a recipe for it. I also want to see if I can get any of the ecasound UIs to run under Haiku and the LADSPA recipe needs to be fixed so hopefully I’ll get that done soon too.

    I have been meaning to file a ticket for porting JACK. The JACK2 recipe is broken (I expect it never worked) but I have got further building JACK1. Being a command line app, ecasound doesn’t have any support for MIDI sequencing but once we have JACK ported then that opens the door to porting the Muse DAW amongst others.

    I’d love to see qtractor ported to Haiku but its heavily reliant on ALSA for its MIDI whereas Muse supports JACK MIDI. qtractor would require a large rewrite to make it work without ALSA and Rui isn’t interested in supporting non-Linux platforms.

    I have got JACK 0.124.1 to build under Haiku although only with the dummy backend currently.

    Haiku (and JACK) can use OSS although it doesn’t look like the Haiku developers want any OSS apps or libs in their repos so JACK would require a new Haiku mediaserver backend. Alternately, there is another project I’ve yet to try called libjackcompat which is written from scratch to use the mediaserver although its currently deemed experimental.

    https://bitbucket.org/haikuports/haikuports/issue/233/jack