No concise ideas yet about the required cross-platform sound engine, but I think a solution is not difficult.
For what I know, cross-platform API which are used to make audio software is JACK
. It is used also in sound generators, which I suppose is the most suited form of achieving such pulsar impulses, since they could be hard coded instead of to play a waveform (weight!) all the time. here
the list of audio softwares which uses JACK.
I know JACK, the outstanding feature of which is its low latency. The code situation is, however, somewhat complex, since there is both JACK1 and JACK2. Only JACK2 sources are in C++ and support multi processors etc.
I think for various reasons our best option is really to explore the available multimedia features that are already integrated in our cross-platform Qt library! Notably the latest Qt 5.x branch has impressive new sound options.
Have a look at Qt Multimedia Overview
If you want to see more details, go on to the links at the bottom of that page
In Qt, the so-called AudioEngine
acts as a central library for configuring all 3d audio content in an application. One may even set e.g. Doppler shifts, the speed of sound etc...
Notably, on the Qt Multimedia feature list is the possibility of playing 3D positional audio
. So, with a number of spacially separated "singing pulsars", this could lead to quite an amazing 3D "concert"...
Christophe (ElChristou) immediately referred to the gorgeous "Virtual Barber Shop"
at YouTube when we discussed the issue earlier today
. On the QSoundLabs page
there are many more 3D positional audio demo clips. Try e.g. the Jet Taking Off...
Using the Qt framework makes our sound (and video etc) not only automatically cross-platform, but also we don't need to attach a host of further service libraries, which can easily become a mess! Using Qt sound should give us the best possible guarantee of multimedia compatibility with the rest of the .Sci
code. I am also thinking of course of a number of further multimedia features that I want to implement...
Despite this positive first impression of multimedia in Qt 5.x I am convinced that we'll still meet lots of little "devils" on the way until everything works as desired. Moreover, we'll have to try installing now the latest Qt 5.1 library along with the required recent compilers. As it seems the upgrade is all but trivial and will also cost plenty of time...
Anyway, getting into coding such a scenario, sounds like a lot of fun...