Working of Midi files in android - android

I am trying to understand the working of playing midi files in Android.I know that Android uses Sonivox Eas Libraries and OpenSL ES libraries.But I wanted to get into more details and wanted to know how these libraries are called and what are the functions of these libraries.
Also I wanted to generate my own MIDI notes that could be streamed or read and the output sound could be produced.How can i do that?
I am thinking of making an Android application for playing a MIDI file . How can i start with building the application? What other libraries apart from mentioned above would be needed to play a midi file.
I am planning to use native (C++/C) android development to make this android application.

Related

How to add JUCE to Android app without GUI/Projuce?

I have an already working audio app for Android that uses Oboe. I found some nice plugins https://github.com/juandagilc/Audio-Effects that I'd like to add to my project.
I made JUCE compile successfully on my Android Studio project, but now I'm wondering what I should do next. The mobile tutorial only talks about Projuce, bit what if I want to just produce music, without any of the things from Projuce? I just want to use JUCE as an audio processing library.
All the JUCE tutorials are more linked to using the GUI provided by Juce, but how can I use it for just audio processing, that is, as a true library?

How to use JUCE for generating wav file using MIDI file and soundfonts file?

For last few days I have been trying to generate a wav file using MIDI and soundfont file in an android app. For that I have tried building fluidsynth for this purpose. I have been able to build it successfully but the problem is that fast-rendering does not seem to be supported in this build. Now, I am looking at other alternatives for a similar purpose.
I came across JUCE as an another option for playing with MIDI and soundfonts. Anyone having idea on how to achieve this?
I use FluidLite and JUCE together to play soundfonts. Its very simple & cross platform!
Here is a working demo:
https://github.com/cpenny42/juce-soundfonts
I've used this in a variety of apps, all of which run on Android (as well as iOS, Mac, Windows, Linux).

Integrate a custom decoder to play on android and display fps at the same time

I have developed a custom decoder as part of my final project. My decoder accepts .steve files now I want to integrate my decoder with android framework.
I have researched a lot in this matter and one of the useful links I found is here.
Android: How to integrate a decoder to multimedia framework
The problem I am facing is I don't want compile a whole android source code to integrate a my decoder.
I want to create an app with .apk file which can recognize .steve files and play the video. So that anyone who wants to my test my app can directly install my apk in there phone rather than to compile the source code and then apk can be easily distributed in my grad school to test my decoder.
You cannot integrate custom codec to whole multimedia layer by just installing apk. To do so you have to recompile your own modified firmware. Which is complicated and not applicable for production (you cannot force everybody to install your Android OS version).
But you can develop your own multimedia player which will contain custom codec support (like MXPlayer app or any other). And then in manifest of your app you can mark support of this custom format (.steve), so Android will knew this app can handle this format.

Android Audio API in Python

I am trying to write a metronome application in Python, and I intend to publish the application for Android and iOS. I have found a few cross-platform frameworks like Kivy, but their audio support is lacking. More specifically, I need very precise audio timing and I can't rely on thread timing or events. I want to write audio data directly to the device's audio output, or create a MIDI file that can be played on the fly. The problem is, I cannot find any suitable framework for this task.
I know that many games have been written for Android in Python, and those games have excellent and precise sound timing. I need help finding either:
a way to create and play MIDI files on the fly in Android with Python,
a Python framework for Android with a suitable audio API to write sound directly to an audio device, or at least play audio with very accurate timing.
Thanks!
I'm looking for the same thing. I too am looking at Kivy. The possible solutions I can see to audio is hooking in a 3rd party application as a "recipe" in Kivy.
There is aubio, which apparently can be compiled for iOS/Android (see stackoverflow question regarding this), but I believe you have to get your own audio source for it, which could be potentially handled by the audiostream subproject in kivy.
Kivy/audiostream imports the core libpd project it appears, so you can use libpd python bindings. I think this is the path of least resistance, but I had issues when trying to run the examples.
Both of these approaches, I think could work but both need some effort to be able to start using.

Android 2.x App to play mp4 with H.264

Android 2.x does not play mp4 with H.264 baseband from scratch.
However, some apps are able to manage this when playing the video files in-app.
How to append the encoder/decoder to the videoplayer within the app to make sure, that this format is supported without external dependencies.
Thanks
These apps integrate some media library (as example FFmpeg)
However, explaining how to compile, integrate and use such library is well beyond stack overflow scope.
If you are interested how to do this. Read following questions/articles:
FFmpeg on Android
ffmpeg for a android (using tutorial: "ffmpeg and Android.mk")
http://sourceforge.net/projects/ffmpeg4android/
http://www.roman10.net/how-to-build-ffmpeg-for-android/

Categories

Resources