Jogamp and Jazz(periments)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Jogamp and Jazz(periments)

Xerxes Rånby
This post was updated on .
Teun de Lange wrote
Hi Sven, Xerxes and Julien

Last week I attended your talk at Fosdem and I found it fascinating what you have created.

My Java-projects concern art and music and in both case better performance on 'modest' hardware would be of great value.

The projects are:
1 Jazzperiments - interactive music  - http://www.jazzperiments.com - click Jam to start applet.
I did a lightning talk about this: http://video.fosdem.org/2013/lightningtalks/Jazzperiments.webm.

2 AZART - 3D alphabet of the Belgian artist Guy Rombouts - http://www.azart.be - type word and [enter] to start applet.

Both applications are using AWT graphics, because this allows me to control things much better than with Swing or something. And in the years I started the projects AWT was still quite new.

I have two questions which I hope you can answer:

1 Is it possible to use Jogamp to port these project to Android and/or iOS (which don't support AWT).

2 Is it possible to improve performance on tablets etc. Specially the music software requires fast computers now to do the Fourrier analysis.

Thanks for your reaction. Lots of success with your projects.

Teun
Answer to 1 and 2, yes JogAmp NEWT and JogAmp JOCL can full-fill your needs.
http://jogamp.org/doc/fosdem2013 - video recodrings from the Fosdem 2013 JogAmp talk.

http://www.jazzperiments.com/jazzperiments.html - Teun de Lange's Jazz project that is using real time FFT to process music.

http://vimeo.com/36728751 excellent recording by Karls brother from fosdem 2012. Karl is a good speaker, his talk actually describe spot on why it is a bad idea to let oracle bundle your projects inside their JDK offerings, Karl now have a maintenance hell that started and now have escalated after Oracle started to bundle his open-source Gervill synthesizer inside their proprietary JDK builds. The solution is of-course to not allow this in the first place and keep the synthesizer outside the main JRE/JDK and use it like a module just like we do with the JogAmp JOGL project. All effort to modularize the JDK is all welcome!
This talk also includes an amazing demo session starting at 17min into the talk.
First Karl demo byteman rewriting of java applications on the fly to play midi for memory allocations, then later you, Teun, plays the clarinette with computer accompany using jazzperiments, its an amazing show.

Teun de Lange wrote
Hi Xerxes and Julien,

Thanks for your valueable advice about NEWT. It appears to be a great alternative for AWT and I will certainly try to implement it.

Some musicians/friends want a smooth touch interface first and after that I really have to implement some improvements Karl Helgason suggested. NEWT will be on the agenda after that.

I will keep you inform about the progress.

Lots of success with your project(s)!

Cheers,

Teun
gouessej wrote
Hi

Maybe have a look at scene2d-ui, it should work with NEWT.
scene2d-ui is part of libgdx and work fine on mobile devices using JOGL.
http://code.google.com/p/libgdx/wiki/scene2dui
http://forum.jogamp.org/JOGL-2-0-OpenGL-OpenGL-ES-backend-for-LibGDX-td4027689.html

JogAmp GPU solution to graph UI

If you want a GPU solution to draw fonts and UI super-fast then take a look at the JogAmp graph UI API that is designed to work with NEWT from the ground up.
http://forum.jogamp.org/GPU-based-Resolution-Independent-Curve-Rendering-td2764277.html

You can deploy the JogAmp graph curve and font UI on android, meego, desktop etc.. and it will leave the CPU untouched for your own needs.
This is one of the *gems* inside the JogAmp source-code that we can offer a patent free curve rendering solution to do hardware accelerated UI on the GPU.

Example a platform neutral GPU hardware accelerated button like this one:
https://twitter.com/xranby/status/302434693666705408/photo/1
can easily be created using NEWT and the JogAmp graph UI source:
https://github.com/JogAmp/jogl/blob/master/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UINewtDemo01.java <-- window initialization
https://github.com/JogAmp/jogl/blob/master/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java <-- the GLEventListener that create the button

JogAmp GPU solution to hardware accelerated FFT

The JogAmp JOCL is spot on, it can hardware accelerate FFT on both mobile and desktop using OpenCL.
The new breed of ARM Mali 604-t GPU processors all ship with OpenCL drivers.
http://codedivine.org/2013/02/01/renderscript-from-the-perspective-of-an-openclcudac-amp-programmer/
JogAmp got some JOGL FFT examples inside the JogAmp JOCL demo repository
https://github.com/JogAmp/jocl-demos/tree/master/src/com/jogamp/opencl/demos/fft

Cheers
Xerxes
Reply | Threaded
Open this post in threaded view
|

Re: Jogamp and Jazz(periments)

Xerxes Rånby
The list of OpenCL enabled mobile devices, to testing hardware accelerated FFT, increase:

http://www.anandtech.com/show/6804/opencl-drivers-discovered-on-nexus-4-and-nexus-10-devices
"On Nexus 4, drivers appear to be present for both the quad-core Krait CPU and Adreno 320 GPU"