I have now admitted defeat that you cannot use/build a good audio tempo function without using the NDK as the SoundPool class is buggy and only allows up to 1MB. Now my question is does anyone know of any good tempo/bpm changing code either in a library or some source code for the NDK?
You could use a Sample Rate Converter. Simple Rabbit Code is pretty damned good.
If you wish to do more complex things such as time stretching i suggest you start here.
Related
I'm trying to make an app and I would liek to try to implement the optimal solution for multiple, simutaneously playing, programmatically selected sound effects.
I really appreciate the help.
Cheers
Well it depends:
Mediaplayer:
Not good for simultaneous playing (you need multiple MP objects), the response time and especially the prepare() methode take a lot of time.
Therefore synchronizing is quite impossible.
SoundPool:
Good for small MP3.files (size limt ~1mb, ~30sec)
Easy to implement
A lot faster than Mediaplayer. Mostly used for "sounds" and not a for complete "piece of music"
Jet Player/JET Creator
Used for MIDI files, quite difficult to install (you need python, wx python in order to use JET creator ...).
Very fast response, good for simultaneous playing of several tracks!
Any further questions? do not hesitate to ask!
best regards
Hey everyone so I'm relatively new to AS3, I had a question. I'm developing a Mobile Application for Android devices and all my objects that are on the stage and that are added to the stage are Movie Clips. After awhile I begin to notice a drop in FPS. I know that this is due to me not using the devices GPU. Also I have read a lot about 3rd party programs that make use of the GPU and enhance the performance immensely such as the Starling framework. I've tried to implement that into my game and create the sprite sheets etc... But I just get error after error and i understand I'm not as advanced in AS3 to truly grasp how to use it. So I was wondering if replacing the movie clips with sprites would enhance the performance? Or is that even possible. I know that Sprites are capable of working like move clips via able to add tweens etc... But will this enhance the performance of the game? Or am i pretty much screwed unless I learn how to use the starling framework?
Any help would be appreciated thanks everyone.
Just how many MovieClips do you think are bogging you down? What are those errors? I would not put your faith in a framework to save you from poor programming. Better to do good programming first. Sprites vs. MovieClips are probably not the answer. Post some code and specifics, please.
My thesis is to create an 3D android game. I have installed the 3D softwares like 3DS Max, ZBrush, Blender. I also downloaded Android SDK for Windows and I have Eclipse Juno. But I don't know how to start. Thank you in advance. :)
If you want to write a game, use a game engine.
I would advice against using OpenGL directly if you want to focus
on game mechanics or story. 3D game engines like
Unity or JMonkeyEngine
give you all the tools you need to turn your 3D assets into a game:
Importers for various file formats, a scene graph,
math libraries, and usually tons of example projects that get you
started quickly.
If you want to write a rendering engine, use OpenGL
With OpenGL you can build everything mentioned above yourself: Write
or find importers for your assets, figure out a lighting model, write
a scene graph. If you want to do all that, cool, use OpenGL. But
doing this technical stuff will keep you busy; you will have less time
to make a really great game.
I prefer OpenGL ES for Android. Good performance and easy enough to learn.
It's better to start from basic with opengl and then understand concept of using 3d and then prefer standard tool to use.
I have listed android game engine tool for 2d and 3d. Hope it might help u.
https://stackoverflow.com/questions/17163446/what-is-the-best-2d-game-engine-for-android/17166794#17166794
Start with unity3d which is a game engine, I am not sure but the names that you have posted are used for making 3d models for the game.
Your Thesis? That's pretty broad scope! :)
What I would be looking for, is something with lots of example code (since you say you don't know where to start) and good community involvement (ditto the start thing).
If you only need a single player setting, then I would suggest libGDX as a place that would be a good jumping off platform, as there are lots and lots of step thru tutorials along with lots of example code (and a very up to date wiki on the API), and a pretty good group at helping out with issues.
Since it is open source, you can dig as deep as you want into the inner workings to understand (or be mystified like me) as to how the code is accomplishing whatever task you are looking at. (which might be handy for your thesis)
While it might not be quite as polished as some other commercial 3d development kits, the BadLogic crew has made some very big progress the past few months on the 3d side of the house, along with breaking my JSON code... thanks! :) )
I am building on an app which has a function which records the sound which comes in the microphone. It would be handy to give a graphical view of the incoming sound, like http://www.filebuzz.com/software_screenshot/full/10920-Audio_Edit.gif for example.
I searched a little bit for a tutorial online, but the only thing I found was Audalyzer, but it is difficult for me to get a grip on it, it also is using the whole interface and not clear how to implement it as a widget...
Maybe somebody knows a good tutorial or example code on this?
You'd probably want to use a Fast Fourier Transform for this.
I'd try jTransforms: https://sites.google.com/site/piotrwendykier/software/jtransforms
The blog here: http://trueharmoniccolours.co.uk/Blog/ gives a good introduction into what the FFT does and how you can turn it into a chart. I fear that by the end of this you'll understand FFTs though...
I want to record a dog bark, save the file and compare with several files containing different types of bark (warning bark, crying bark, etc..).
How could i do that comparison in order to get a match? What is the process to follow in this type of apps?
Thank you for the tips.
There is no simple answer to your problem. However, for starters, you might look into how audio fingerprinting works. This paper is an excellent start written by the creators of shazam:
http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
I'm not sure how well that approach would work for dog barking, but there are some concepts there that might prove useful.
Another thing to look into is how the FFT works. Here's a tutorial with code that I wrote for pitch tracking, which is one way to use the FFT. You are looking more at how the tone and pitch interact with the formant structure of a given dog. So parameters you'll want to derive might include fundamental pitch (which, alone, might be enough to distinguish whining from other kinds of barks), and ratio of fundamental pitch to higher harmonics, which would help identify how agressive the bark is (I'm guessing a bit here):
http://blog.bjornroche.com/2012/07/frequency-detection-using-fft-aka-pitch.html
Finally, you might want to do some research into basic speech recognition and speech processing, as there will be some overlap. Wikipedia will probably be enough to get you started.
EDIT: oh, also, once you've identified some parameters to use for comparison, you'll need a way to compare your multiple parameters to your database of sounds with multiple parameters. I don't think the techniques in the shazam article will work. One thing you could try is Logistic Regression. There are other options, but this is probably the simplest.
I'd check out Google's open source lib musicg API: http://code.google.com/p/musicg/
It's Java so it works in Android and it gives similarity metrics for two audio files.
But it's compatible only with .wav files.