Greets... Wow.. good thread and discussion thus far. Best and most recent audio thread I've seen.
I am an audio/graphics professional and my first project, for kicks, is to port my desktop Java Quake3 class game engine to Android and OpenGL ES as a test of well my ability to get Q3 tech playing with ES and Android and it didn't take long to realize the state of audio in SDK 1.0_r1 is not suitable for lots of audio stuff I'd like to accomplish in general and some novel features for my port (IE voice chat with desktop clients from built in mic on G1, etc; fun!). We'll see how the Q3 port turns out; gonna hack a file based push to talk feature most likely via MediaRecorder; delayed audio w/ this though and only one way to desktop clients to show proof of concept. I specifically did not adopt or even look at Android until a handset device was released and the SDK hit 1.0 simply because I knew the platform probably would not be complete and I don't have the time / desire to work around incomplete APIs / implementation (yes, was correct on that; for audio at least; lots of gold to be had elsewhere; seriously, kudos Android team et al, I haven't been this excited in a while about a new tech!). So, yes, lets continue to discuss how to solve the audio issue that encroaches on all of us who want performance audio on Android and all 'droid devices in general. I will throw in my two cents on how I _am_ (not would be) solving it after dealing with the woes and inadequacies of Java Sound on the desktop _for years_ from an API perspective to simply incomplete implementations on various platforms and JVM versions. (Java Sound - Write once, test everywhe... oh wait you mean it doesn't fully work on <X> platform at all?.?. gah!!!) One solution on the desktop has been to ditch Java Sound and support PortAudio (www.portaudio.com) via JNI. I propose that Android can also provide the best and most _portable_ audio solution not only on the G1 and other devices, but _future_ hardware that supports Android by adopting PortAudio and exposing a lean and mean API to developers that then can be further extended with higher level APIs for purpose built processes (speech detection / Jspeex port / DSP processing, even a javax.sound implementation built _on top_ of PortAudio, etc). What is needed is simple and efficient raw audio I/O functionality at the core; PortAudio provides this and only this! For file I/O it's not a bad idea to support Libsndfile (http://www.mega-nerd.com/libsndfile/). Between PortAudio & Libsndfile raw hardware and file based audio I/O can be solved by time tested open source solutions. Now... I mentioned future hardware supporting Android... I just so happen to be developing an embedded audio hardware product that focuses on advanced spatial processing (think large scale 2D and 3D sound arrays; I have a 32 speaker hemisphere setup at my facility in SF for instance; check here for those interested in an overview I published for the recent AES conference in SF w/ picts & equipment specifications -- http://research.egrsoftware.com/conferences/2008/aes2008/) and after finally dipping into Android (IE G1 & SDK 1.0 finally available and in my hands) I've decided unanimously and almost instantly to ditch my previous path which was Analog Devices Blackfin/ Sharc based processors running uClinux and am switching to the TI OMAP3 3550 and Android as the processor/stack. In doing this I already am adopting PortAudio on my future Android based hardware and this is how I presently plan to expose audio I/O to Android developers on my hardware. So in time this is _going_ to be done already. Seeing as there isn't a published / unified vision on where to take audio I/O for Android as is I do strongly propose supporting PortAudio out of it's shear elegance and wide activity and support in the audio community at large across numerous OSes / desktop to mobile. Not only will it provide a mean and lean audio API at the core, but it will be portable at its core between different hardware configurations on hand sets to say custom built audio hardware like my own efforts which will support high channel count analog, ADAT, audio over HDMI, and even MADI I/O in time. There is absolutely no reason to support Java Sound as the core implementation just because that is the most visible Java API for audio to the layman programmer; that would be archaic and quite honestly just silly which is nice to see folks mentioning in this thread Including David S. Audio professionals and people serious with audio and Java _likely_ concur. Anyway... Since I'm already planning PortAudio support with my own 'droid based hardware and it's _very_ applicable to Android as a whole for the entire developer community across all devices and isn't based on a trade marked open or proprietary company oriented API / implementation (SoniVox, sorry!), but a tried and true open source solution that is known to work for many widely adopted cross platform audio applications to great ASIO and device specific hardware it is a compelling way forward. I'll even go so far as offering to get on that black bus for a few months and simply knock PortAudio support out quickly and efficiently for all as I'm passionate about audio and really like and am adopting Android in a big way... Thoughts anyone? Is there a full time resource at Google dedicated to audio support with Android or is this a Sun like operation where audio is completely ignored / just an after thought and one resource at best is sometimes on the gig? Regards, --Mike --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

