Mixi - Audio Editor, Recorder APP
See the skeleton implementation for this app, https://github.com/ashfaq1701/fast-mixer
Mixi is an audio recorder and mixer application for Android devices. The primary features of this app are,
* Currently supported file formats: MP3, WAV
* Currently supported sample rate: 48kHz
* This app can read audio files from device storage.
* This app can show the waveform of the loaded audio on the UI.
* Waveforms can be zoomed in, zoomed out and scrolled.
* It can perform various audio edit operations such as gain adjustment, shifting, mute segment, cut, copy and paste.
* This app can cut or copy a segment from the audio and allow paste in another audio or as a new source.
* This app can record audio from user's microphone.
* There is a feature called live playback which is only enabled when wired headphones are connected. When this is selected, then the recording from the audio will be relayed to the user's headphone in realtime. This is to provide studio recording effect.
* There is a feature called mixing play which enables user to hear the audios loaded into the mixing screen while they are recording. This is to provide a karaoke singing experience with convenience.
* While recording audio users can see the recording wave in a visualizer.
* Recorded audios can be played and seeked from the recording screen.
* From recorded screen users can play the recorded track mixed with all other loaded tracks in the mixing screen.
* Users can play the mixed audio of all the loaded and recorded files in the mixing screen. The progress can be seeked using a seekbar. Also segments can be selected from the mixed audio.
* Users can group zoom in, group zoom out and reset the zoom levels.
* Finally users can export the mixed audio as a media file in device storage. The name of the output file is configurable. The final output can be found in the Audio folder of the device file manager.
This app is still a Proof of concept, not at the efficiency level it was intended for. There are several limitations in the app.
* Recording quality is not very good. It is the raw audio recording from Android OS. In different devices audio qualities can vary and some of them might be bad.
* Live playback feature is not really instant. It contains some delay than the recorded audio.
* There can be several layout problems, specially with popups.
* The app only supports one sample rate, that is 48kHz.
* Not all of the audio editing options are available currently.
* The app is not very memory optimised. As example if you load an audio and then edit it to contain a lot of silence in the beginning/middle, it will consume the whole memory needed by the duration.
* Design is not very good.
* Crashes might not occur, because I hunted them down carefully, but in some cases crashes can occur.
Given those, I will improve the app pretty soon and in in quick successions.
* Recording quality will be improved. FFT, noise cancellation and audio sharpening features will be applied.
* Live playback's latency will be removed.
* Design will be improved by a lot and layout issues will be fixed.
* Multiple supported sample rates will be added as configuration setting.
* More audio editing features will be added.
* Many filters are planned to be added. DSP algorithms will be applied to add many effects.
* Presets will be added.
* Memory efficiency will be increased. Some in-memory compression technique will be added if possible.
* Crash sources will be hunted down more carefully.
* Premium and paid features will be added.
The app is the development effort of just one developer, me. It was started as my learning step of NDK, low-level programming and DSP. As my knowledges are getting matured day by day, I will be able to release more interesting and even exciting features in the app.
Please report issues whenever you trace. I can be contacted about any Android development job / contract or if someone wants to buy this app.