Csound 6.13 for Haiku

I’m happy to announce that the well established and widely used system for music and audio generation and processing, “Csound”, is now available for Haiku in an up-to-date version.

If you’re not familiar with it, Csound, goes back a long way – to the 1980s, in fact – but it is always being actively developed. It is a comprehensive language for building scripts that generate music (or any other audio), either preprogrammed or live from e.g. MIDI input. For more, see https://csound.com/

The Haiku package is fairly complete, with real-time audio output and Haiku-style MIDI input. It doesn’t yet have live audio in or MIDI out, and a few features like Lua interfacing haven’t been included yet. It’s available at:

http://goodeveca.net/Csound

The hpkg has been heavily hand-crafted to hopefully be self contained, so it may not appear in a repository for a while, but it should just drop in and be runnable.

It’s a command-line only app right now. Giovanni, if you’re around, how’s about re-porting CsoundQT? :grinning:

7 Likes

OK, I’m curious…:face_with_raised_eyebrow:

Is nobody else using Haiku for making music (or other sound effects) besides me? My port of Csound seems to have attracted no attention at all.

Csound is one heck of a system. I have no direct comparison with other audio synthesis apps, but I suspect it has more features than any other. The fact that is has been continuously developed for 30-odd years, and hasn’t fallen into obscurity must say something for it!

I admit it isn’t an easy protocol to get one’s head around, but I’ve found it worth taking the effort. I’ll challenge anyone to, say, build as good an emulation of a Hammond B3 as mine –https://goodeveca.net/RotorOrgan/ – in another app. :smile:

Anyway, I’d love some feedback, so I don’t feel I’m wasting my time.

2 Likes

CSound is something indeed! I’ve seen some of the frontends it’s capable of powering and they are quite advanced! I think the issue right now is that Haiku is in a sort of quiet period, and there’s a shortage of people in the community right now. A big shame to say the least. :confused:

I would do more of that if I had a working soundcard driver on my current machine…

Someone said on IRC that restarting media_server gave them working sound. But if not, you are a programmer, someone needs to take initiative on the HDA bugs; I already stepped up to WiFi, XHCI and NVMe so my plate is full right now :slight_smile:

2 Likes

Not yet :wink: I mainly use Logic Pro X on Mac and sometimes experiment with some music stuff on Linux (Hydrogen, LinuxSampler, SetBFree, etc…).

That said, my M-Audio Keyrig 49 USB Keyboard seems to be supported in Haiku so I definitely want to try some music related stuff on Haiku. Do you have a build of csound for x86_64 Haiku?

There’s a version of csound available from HaikuPorts but I’m not sure if that’s the same as your version

Yep! But you point out a bit of a current deficiency in the Haiku port – no front-ends!, As I mentioned earlier, Giovanni ported CsoundQT for Csound 5 but he doesn’t seem to be around. I never used it much because I strangely seem to prefer the command-line+editor approach. For sliders and such I use MusicWeaver, but actually I find the controls on my Axiom keyboard much more convenient usually.

Maybe we’ll get something eventually.

Haiku should support any ‘standard-compliant’ MIDI, which all the M-Audio stuff is, I think. I have an Axiom-49 which works great for me.

No x86_64, I’m afraid. I only have a standard hybrid installation.

Oh, bloody f… hell! No, that is not mine! The lines of communication around here are pretty terrible sometimes, aren’t they! I would suggest that that version be scrapped.

The big difference is that I took the (gasp!) approach of actually working with the Csound folks, so their source-master on GitHub matches my package. That includes Haiku live MIDI (in) and audio (out). The haikuports version will only work non-real-time, with files.

I also took the trouble to take care of dependencies, so that my package should work just about anywhere. And it’s still a lot smaller than the haikuports one!

This needs to be sorted somehow. I’m afraid that recipes still lose me fairly fast, so I’m not sure what’s needed to put my version in HaikuPorts, but as the code can be grabbed from Csound it should be simpler.

Thanks for the effort.
If your changes are upstream, the recipe will get up to date eventually.

And as there already is a recipe, it should not be too hard to update it, I think.

The core of a recipe isn’t all that hard, you mainly have to fill up 3 parts:

  • BUILD(), with the instructions for configuring and compiling the code
  • INSTALL(), with the instructions for installing the software and putting everything in the right place
  • PROVIDES and REQUIRES, with the list of things the recipe provides (for other recipes to depend on), and requires (at runtime or at build time)

If you don’t want to get into that yourself (which is fine), just create a ticket at haikuports (github.com/haikuports/haikuports) asking them to update the recipe to include your changes.

3 Likes