[Tizen General] Tizen Audio Stack

Patrick Shirkey pshirkey at boosthardware.com
Mon Sep 2 08:30:48 GMT 2013


On Sun, September 1, 2013 9:42 pm, MSvB wrote:
>
> Hello Patrick,
>
> On Fri., Aug. 30, 2013, Patrick Shirkey wrote:
>>Reading through the porting docs and I come across this
>>enlightening diagram of the Tizen Audio Stack:
>>https://wiki.tizen.org/wiki/Porting_Guide#Audio
>>To me it has a glaring hole when compared to this diagram:
>>http://linux-audio.com/images/linux-audio-stack.png
> Nice catch.
>
>>[...]
> I hope you get traction on this. While I'm not a typical
> professional audio user, the use cases for low latency audio
> as provided by the Jack project is attractive. And since Tizen
> has incorporated many third party projects it would make sense
> to include Jack, maybe not in IVI but mobile seems good.
>

It would be great to see some effort put into running JACK on the sandy
bridge platform before it comes to market. JACK has proven to run very
well on previous generations of the Atom. See
http://www.youtube.com/watch?v=_yR-fZlm_rg  a demo of the award winning
indamixx transmission OS which was running meego at the time.

I'm wondering if some of the hesitation towards acceptance of JACK comes
from confusion around JACK1 and JACK2. While they are both API compatible
JACK1 is written in pure C and JACK2 is written in C++. JACK1 was started
first and JACK2 was built out with funding from the French GRAME institute
and runs on several platforms including Linux, Mac, Win, iOS.  Work is now
being done on JACK3 which will effectively replace JACK1 and JACK2 once it
is released. That will be in C++.

What we have seen from the Android and the ChromeOS people is instead of
working with JACK developers to isolate and fix any specific issues they
found for integrating JACK into a mobile stack they have cherry picked
certain parts from JACK and left out the really useful stuff like inter
app communication, midi, networking, etc... in the process inventing yet
another partially useful layer for the Linux Audio stack but not actually
addressing the needs of Professional Audio.

There is already a Pulse Audio sink for JACK which allows Pulse to connect
to JACK. There is also a gstreamer plugin for JACK which allows gstreamer
to connect to JACK directly. Pulse can be configured to automatically
detect when JACK is running and reconfigure it's outputs to connect to
JACK and act as a proxy for apps like browsers or other consumer apps that
are written to use pulse audio. JACK can route audio to/from pulse audio
and gstreamer apps too. So there is already the ability to magically
reconnect the streams when JACK is active. And vice versa when JACK is
inactive.

In addition JACK provides realtime midi protocol for external controllers
and networking for clustering which is very attractive when combined with
mobile devices. There is also support for video frame sharing which is a
third party fork called jack-video written by salsaman(LiVes) and there is
work being done to integrate 3d modelling data handling.

JACK is supported by all major and nearly all minor open source multimedia
apps. Ardour, Qtraktor, Blender, Renoise, EnegyXT just to name a few. JACK
is the defacto standard for Professional Open Source Multimedia
Production.

There is an opportunity to get the open source multimedia community
onboard with Tizen as a development platform. There is already support for
c, c++ and html5. By far the majority of open source multimedia apps are
built in c and c++. Opening up the platform to professional multimedia
will bring the attention of some very clever and motivated people from
some of the worlds most advanced musical institutions and universities to
build out a large selection of high quality professional multimedia tools
and assorted toys.



--
Patrick Shirkey
Boost Hardware Ltd





More information about the General mailing list