Audio IO backend (fwd)

7 views
Skip to first unread message

Gabriel M. Beddingfield

unread,
Jul 7, 2010, 8:10:46 AM7/7/10
to Composite Development, Philipp Schafft

Fowarding a non-member post.

---------- Forwarded message ----------
Date: Wed, 07 Jul 2010 03:01:56 +0200
From: Philipp Schafft <li...@lion.leolix.org>
To: Composite dev <compos...@googlegroups.com>
Subject: Audio IO backend

flum,

In the specs at 3.2. Goals, Application/GUI Goals it is stated to
exclusivly use JACK as backend.

I'm still searching for some nice software which works fine on top of
RoarAudio. This is why I ask if JACK was selected as exclusive backend
for some reason or if it was because nothing else seemed to be around
which fits.


PS: Hope this mail get it's way to the list, never posted to a
googlegroup before.
PPS: the JPEGs in the specs are very noisy, I would prefer the PNGs.
It's hard for me to read the text.

--
Philipp.
(Rah of PH2)

Gabriel

unread,
Jul 7, 2010, 8:27:31 AM7/7/10
to Composite Development, Philipp Schafft

Hi Philipp!

On Jul 7, 7:10 am, "Gabriel M. Beddingfield" <gabrb...@gmail.com>
wrote:
> I'm still searching for some nice software which works fine on top of
> RoarAudio. This is why I ask if JACK was selected as exclusive backend
> for some reason or if it was because nothing else seemed to be around
> which fits.

This was done to simplify development since this is an ambitious
project. The audio backend still goes through an abastraction later
in case we decide to add another back-end, later.

What is RoarAudio, and what backends does it support?

> PS: Hope this mail get it's way to the list, never posted to a
> googlegroup before.

AFAIK it did not, and you will need to join the group to post.

> PPS: the JPEGs in the specs are very noisy, I would prefer the PNGs.
> It's hard for me to read the text.

Jpegs were used to reduce the size since my web-server has limited
bandwidth. If you check out the sources (http://gitorious.org/
composite/composite-planning), many of them will be available as
SVG's.

-gabriel

Philipp Schafft

unread,
Jul 7, 2010, 8:35:53 PM7/7/10
to Gabriel, Composite Development
reflum,

On Wed, 2010-07-07 at 05:27 -0700, Gabriel wrote:
> Hi Philipp!
>
> On Jul 7, 7:10 am, "Gabriel M. Beddingfield" <gabrb...@gmail.com>
> wrote:
> > I'm still searching for some nice software which works fine on top of
> > RoarAudio. This is why I ask if JACK was selected as exclusive backend
> > for some reason or if it was because nothing else seemed to be around
> > which fits.
>
> This was done to simplify development since this is an ambitious
> project. The audio backend still goes through an abastraction later
> in case we decide to add another back-end, later.

haven't yet looked at the code. maybe I should do this the next days.

> What is RoarAudio, and what backends does it support?

RoarAudio is a sound system, so formaly spoken it *is* the backend.
Which kernel interface is/can be used depends on the operating system,
and the actual daemon used (we devel protocol and daemons separately).

RoarAudio supports both waveform data (PCM,...) and has a MIDI subsystem
(an some more which are mostly not intresting for this project like
light control).

Also we support things like saving to disk or stream to streaming server
which may in some cases be intresing.

see http://roaraudio.keep-cool.org/ for more details or ask me or us on
IRC or our ML (as listed on the HP) in case you need more infos.


> > PS: Hope this mail get it's way to the list, never posted to a
> > googlegroup before.
>
> AFAIK it did not, and you will need to join the group to post.

hm. Hope it works this time.

> > PPS: the JPEGs in the specs are very noisy, I would prefer the PNGs.
> > It's hard for me to read the text.
>
> Jpegs were used to reduce the size since my web-server has limited
> bandwidth.

they reduce the size in this case? strange. anyway, this is if at all a
diffrent thread.

> If you check out the sources (http://gitorious.org/
> composite/composite-planning), many of them will be available as
> SVG's.

Will have a look at it later, I guess the code is there, too?

signature.asc

Gabriel M. Beddingfield

unread,
Jul 9, 2010, 6:01:14 PM7/9/10
to Philipp Schafft, Composite Development

Hello,

On Thu, 8 Jul 2010, Philipp Schafft wrote:

>> What is RoarAudio, and what backends does it support?
>
> RoarAudio is a sound system, so formaly spoken it *is* the backend.
> Which kernel interface is/can be used depends on the operating system,
> and the actual daemon used (we devel protocol and daemons separately).
>
> RoarAudio supports both waveform data (PCM,...) and has a MIDI subsystem
> (an some more which are mostly not intresting for this project like
> light control).
>
> Also we support things like saving to disk or stream to streaming server
> which may in some cases be intresing.
>
> see http://roaraudio.keep-cool.org/ for more details or ask me or us on
> IRC or our ML (as listed on the HP) in case you need more infos.

OK, what follows is very pointed... but is not criticism.
Basically I'm asking you to sell your API to me.

My first impression is, "It looks like JACK and netjack."
It also looks new (i.e. no other apps support it, yet).
So, how is RoarAudio different from JACK... and why would I
want to add it to Composite? Composite's goal is to be a
real-time audio app... which is JACK's core goal.

In addition, there are a couple things about the Roar API
that don't fit well with Composite:

* Audio streams are integers rather than floats.

* The Roar API is I/O-style (read/write functions)
rather than interrupt driven (callbacks).

* Audio streams are interleaved in a strict
interleaving format.

These go against some basic design decisions in Composite.
These decisions could be called "JACK-centric," but it's
because I agree with JACK's decisions and directions in
these matters.

>> AFAIK it did not, and you will need to join the group to post.
>
> hm. Hope it works this time.

It did. It had to go through moderation, first.

>> Jpegs were used to reduce the size since my web-server has limited
>> bandwidth.
>
> they reduce the size in this case? strange. anyway, this is if at all a
> diffrent thread.

JPEG's are lossy, so they can be smaller than a PNG.

>> If you check out the sources (http://gitorious.org/
>> composite/composite-planning), many of them will be available as
>> SVG's.
>
> Will have a look at it later, I guess the code is there, too?

Yep: http://gitorious.org/composite/
http://gitorious.org/composite/composite/

-gabriel

Philipp Schafft

unread,
Aug 8, 2010, 11:01:03 PM8/8/10
to compos...@googlegroups.com
reflum,

sorry for my late answer. A lot things to do at the moment...

On Fri, 2010-07-09 at 17:01 -0500, Gabriel M. Beddingfield wrote:
> Hello,
>
> On Thu, 8 Jul 2010, Philipp Schafft wrote:
>
> >> What is RoarAudio, and what backends does it support?
> >
> > RoarAudio is a sound system, so formaly spoken it *is* the backend.
> > Which kernel interface is/can be used depends on the operating system,
> > and the actual daemon used (we devel protocol and daemons separately).
> >
> > RoarAudio supports both waveform data (PCM,...) and has a MIDI subsystem
> > (an some more which are mostly not intresting for this project like
> > light control).
> >
> > Also we support things like saving to disk or stream to streaming server
> > which may in some cases be intresing.
> >
> > see http://roaraudio.keep-cool.org/ for more details or ask me or us on
> > IRC or our ML (as listed on the HP) in case you need more infos.
>
> OK, what follows is very pointed... but is not criticism.
> Basically I'm asking you to sell your API to me.
>
> My first impression is, "It looks like JACK and netjack."
> It also looks new (i.e. no other apps support it, yet).

See the list of apps on the website.


> So, how is RoarAudio different from JACK... and why would I
> want to add it to Composite?

Because one of our core goals is to be usefull for mixing live. It
started with webTV but we are getting more and more use cases demanding
live mixing in a nice way.

> Composite's goal is to be a
> real-time audio app... which is JACK's core goal.
>
> In addition, there are a couple things about the Roar API
> that don't fit well with Composite:
>
> * Audio streams are integers rather than floats.
>
> * The Roar API is I/O-style (read/write functions)
> rather than interrupt driven (callbacks).

For those two things I added FAQ entrys. Maybe you want to have a look
at it:
http://roaraudio.keep-cool.org/FAQ.html

I added them to FAQ because I got asked a lot about this. Hope you
understand.

Please also not that I'm currently thingking about a threaded helper
lib, as optional part which is ontop of libroar. If you have
suggestions, please tell me! :)


> * Audio streams are interleaved in a strict
> interleaving format.

Yup. Why do you need something diffrent? How do jack handle it better
for your case?

> These go against some basic design decisions in Composite.
> These decisions could be called "JACK-centric," but it's
> because I agree with JACK's decisions and directions in
> these matters.

We do not agree with them or nobody yet asked us about it (please send
feature requests...). As you already noted, of we would agree with all
what jack does we would be jack ;)


> >> AFAIK it did not, and you will need to join the group to post.
> >
> > hm. Hope it works this time.
>
> It did. It had to go through moderation, first.

--
Philipp.
(Rah of PH2)

signature.asc
Reply all
Reply to author
Forward
0 new messages