Realtime audio convolution - Java for Android App Development

Hi all,
I'd like to try some system wide signal processing on Android like, let's say, implementing a realtime high pass / reverb / echo.
I know that they are some equalizers available like kevinboone 's android simple equalizer, but this code does not implement its own sound effect: it is a GUI to run the equalizer of the Android API.
Is this possible on Android? (It is ok for me to write non-Java code)
Is OpenSL the right direction to look at ?

Related

Difference between 2.2 & 2.3???

Can someone tell me difference between 2.2 - 2.3 ?
cuz i see alot of devs trying to get fully working 2.3 ROM for our X8
So ...what 2.3(gingerbread) have, that 2.2(floyo) doesent have?
Tnx
wikipedia says:
2.3.4 latest release. Based on Linux kernel 2.6.35. On 6 December 2010, the 2.3 (Gingerbread) SDK was released. Changes included:
Support for voice or video chat using Google Talk
System: Updated user interface design for simplicity and speed
Display: Support for extra-large screen sizes and resolutions (WXGA and higher)
Internet calling: Native support for SIP VoIP telephony
Virtual Keyboard: Faster, more intuitive text input, improved accuracy, better suggested text. Voice input mode
Copy/Paste: Enhanced. Select a word by press-hold, copy, and paste.
Near Field Communication lets the user read an NFC tag embedded in a poster, sticker, or advertisement.
New audio effects such as reverb, equalization, headphone virtualization, and bass boost
System: Improved power management with a more active role in managing apps that are keeping the device awake for too long.
Download Manager gives the user easy access to any file downloaded from the browser, email, or another application.
Camera: Access multiple cameras on the device, including a front-facing camera, if available.
Media: Support for WebM/VP8 video playback, and AAC audio encoding
System: Enhanced support for native code development
Audio, graphical, and input enhancements for game developers
Concurrent garbage collection for increased performance
Native support for more sensors (such as gyroscopes and barometers)
Switched from YAFFS to the ext4 filesystem
Click to expand...
Click to collapse
I always recode my music from flac to m4a with aac codec, and the phone can easily play them, no matter which ROM I have on. So I'm not sure if only ginger can play aac. :-/
Sent from my X8 using XDA App
For me 2.3 seems to be faster, it looks better and has some small improvements, some of them doixanh is trying to port to 2.2.
like doixanh, i think froyo is faster in terms of menu navigation, but i think gingerbread looks better.. that's why i'm loving doixanh's ROM, because it is froyo with gingerbread's look and special features..

[Library] for audio effects

I need an Android library for audio effects like echo/reverb and backwards effect. I have already implemented a native library for pitch/tempo effects.
The license of the library should also be for commercial use.
But maybe it is possible to implement an echo effect with a simple Android class? In this case i wont need an extra library.
Thundrix Studios said:
I need an Android library for audio effects like echo/reverb and backwards effect. I have already implemented a native library for pitch/tempo effects.
The license of the library should also be for commercial use.
But maybe it is possible to implement an echo effect with a simple Android class? In this case i wont need an extra library.
Click to expand...
Click to collapse
This should be *exactly* what you are looking for: SpectrumWorx "Complete SDK", a set of several sound effects in one library.
Get the free demo trial download from here:
littleendian.com/developers
Cheers!
Thanks for your reply.
I want to use a free library. So I have read about OpenSL ES for Android:
http://mobilepearls.com/labs/native-android-api/opensles/
Do you think I could implement the features with this library?
- Recording
- adding effects like pitch, echo etc. to the record
- save the record as .wav
Greetings
Thundrix Studios said:
I need an Android library for audio effects like echo/reverb and backwards effect. I have already implemented a native library for pitch/tempo effects.
The license of the library should also be for commercial use.
But maybe it is possible to implement an echo effect with a simple Android class? In this case i wont need an extra library.
Click to expand...
Click to collapse
You found anything helpful? I too, need a library for some echo/reverb effects.

kitkat outline

Kit kat outline
-as little as 512MB RAM. targeted recommendations and options to run Android 4.4 efficiently, even on low-memory devices
-NFC-based transactions through Host Card Emulation
-Android apps can now print any type of content over Wi-Fi or cloud-hosted services such as Google Cloud Print.
-A build in a document provider
-support for hardware sensor batching, a new optimization that can dramatically reduce power consumed by ongoing sensor activities.
-new full-screen immersive mode that lets you create full-bleed UIs reaching from edge to edge on phones and tablets, hiding all system UI
-make it easier to create high-quality animations in your app
-Chromium WebView provides broad support for HTML5, CSS3, and JavaScript. It supports most of the HTML5 features available in Chrome for Android 30. It also brings an updated version of the JavaScript Engine (V8) that delivers dramatically improved JavaScript performance.
-provides a screen recording utility
-MPEG-DASH and other formats that enables seamless change in resolution during playback
-Common Encryption for DASH
-HTTP Live Streaming
-Audio Tunneling to DSP platform support for audio tunneling to a digital signal processor (DSP) in the device chipset. With tunneling, audio decoding and output effects
-Audio monitoring
-Loudness enhancer
-Audio timestamps for improved AV sync, audio output HAL to applications
-GPU acceleration , GLES2.0 SurfaceFlinger, New Hardware Composer support for virtual displays
-Bluetooth HID over GATT (HOGP),extension to Bluetooth AVRCP 1.3
-built-in IR blasters
-Wi-Fi Tunneled Direct Link Setup (TDLS).
any many security tweaking
Can not wait !
That mean sony have not excuse to not provide xperia z because it has 2 gb ram
Nice something new after 2 years of the borring Jelly bean
marcoplo said:
Kit kat outline
-as little as 512MB RAM. targeted recommendations and options to run Android 4.4 efficiently, even on low-memory devices
-NFC-based transactions through Host Card Emulation
-Android apps can now print any type of content over Wi-Fi or cloud-hosted services such as Google Cloud Print.
-A build in a document provider
-support for hardware sensor batching, a new optimization that can dramatically reduce power consumed by ongoing sensor activities.
-new full-screen immersive mode that lets you create full-bleed UIs reaching from edge to edge on phones and tablets, hiding all system UI
-make it easier to create high-quality animations in your app
-Chromium WebView provides broad support for HTML5, CSS3, and JavaScript. It supports most of the HTML5 features available in Chrome for Android 30. It also brings an updated version of the JavaScript Engine (V8) that delivers dramatically improved JavaScript performance.
-provides a screen recording utility
-MPEG-DASH and other formats that enables seamless change in resolution during playback
-Common Encryption for DASH
-HTTP Live Streaming
-Audio Tunneling to DSP platform support for audio tunneling to a digital signal processor (DSP) in the device chipset. With tunneling, audio decoding and output effects
-Audio monitoring
-Loudness enhancer
-Audio timestamps for improved AV sync, audio output HAL to applications
-GPU acceleration , GLES2.0 SurfaceFlinger, New Hardware Composer support for virtual displays
-Bluetooth HID over GATT (HOGP),extension to Bluetooth AVRCP 1.3
-built-in IR blasters
-Wi-Fi Tunneled Direct Link Setup (TDLS).
any many security tweaking
Can not wait !
That mean sony have not excuse to not provide xperia z because it has 2 gb ram
Nice something new after 2 years of the borring Jelly bean
Click to expand...
Click to collapse
More like for the Sony Xperia S as it has seen the least support
Sent from my Xperia S using xda app-developers app

Audio resampler quality in new Android builds? (with test files)

I've only recently realized that new versions of Android upsamples all the audio it plays to some high sample rate like 176.4 or 192kHz. Now, how good this sounds obviously depends on how good the resampler algorithm chosen is
Will those of you with Android 5 or above test out the following two audio files for me?
https://www.dropbox.com/s/abnqmqvlj94r5lx/44.1kHz 0.8 sweep linear.flac?dl=0
https://www.dropbox.com/s/wvgmomwrcc6yosh/48kHz 0.8 sweep linear.flac?dl=0
These are simply tone sweeps from 0 to 22 and 24kHz respectively, encoded at 44.1 and 48kHz sample rates respectively.
To test these files I would recommend using Poweramp with Direct Volume Control (in Audio->Advanced Tweaks) turned off. This way we're deferring everything to the Android audio system.
They shouldn't sound any different (apart from the 48kHz version having a few more seconds of inaudible ultrasonics at the end) on a proper system.
What you might hear instead is one of the files having warbling over/undertones going up and down, especially toward the end when the actual tone being played goes up into inaudible supersonic territory.
If you do get this kind of result, can you note down for me:
-Phone model
-Android version
-copy of build.prop file, if available--particularly the number that the key af.resampler.quality is set to, if present
-if you run Viper4Android, you can also go to its Driver Status and directly note the output sample rate being used when playing each file.
Let's push the smartphone developers to make resampling artifacts a matter of the past :cyclops:
Sony Z3TC stock kernel/rom, V4A displays system sample rate locked at 48khz, when playing 44.1khz sine sweep introduces audible warbling resampler artifacts in the 44.1khz sampled file. curiously poweramp alpha with sox resampler option doesn't seem to help at all.
Anyone else? There were reports of setting af.resampler.quality values (should be 4 for highest quality) breaking audio system in Android 5 and above. Am curious.
I think build.prop editor can be installed and run to read the value of af.resampler.quality (if exists) without root. At least that's what I found when I revoked root permissions for build.prop editor on my phone.
Hi @Joe0Bloggs
I'm using player pro as music player. The resampling settings I can find is attached below. Why device resampled is mentioned as variable quality ? Should I stick with SW resampler or change it to device resampler ?
PS: both files are playing the same
ashifashraf5 said:
Hi @Joe0Bloggs
I'm using player pro as music player. The resampling settings I can find is attached below. Why device resampled is mentioned as variable quality ? Should I stick with SW resampler or change it to device resampler ?
PS: both files are playing the same
Click to expand...
Click to collapse
Because device resampling means handing over control of resampling to the device, in which case quality and power consumption are dependent on device and system settings.
If you want to test how the device itself is handling resampling, you should try the device resampling option while playing those two files.
Joe0Bloggs said:
Because device resampling means handing over control of resampling to the device, in which case quality and power consumption are dependent on device and system settings.
If you want to test how the device itself is handling resampling, you should try the device resampling option while playing those two files.
Click to expand...
Click to collapse
Tested as you said and both files are playing the same with device resampler. (Long pause at end)
I'm using Zuk Z1 running official CM13 snapshot

Is it possible to record a live video stream / feed from phone camera w/ animation

I'm new to Android. I'm designing a mobile game that uses the phone camera. One of the key features of my app will be recording a live video feed from the camera with an animated overlay.
Some examples of apps that already do this:
Snapchat
various dash cam apps
like this one: https://play.google.com/store/apps/details?id=com.busywww.dashboardcam
etc
I'm researching which platforms would be best for this task?
OpenGL ES
LibGDX
Unity3D
Android Camera2 API
Android Camera API
CWAC-2 Android Camera API Wrapper
I've read that Android Camera2 API is limited to Lollipop or higher and that Android Camera API is being deprecated. I also asked the author of CWAC-2 and he said that it's not possible with his library.
So, that leaves the top 3 left as candidates. I'm not sure if which of those would be easiest to implement, offer the widest compatibility and have the highest quality results.
What would be the best framework for doing this task?
Thank you!
Anyone?

Categories

Resources