This is a guide on how to build an audio player, using Android Studio.

You can refer to all source codes here: https://github.com/leonardltk/AndroidAudioWaveViewer
The end product should look like this.

The contents are as follows:

  1. Playing, pausing, resume, stopping an audio.
  2. Loading the audio into data array.
  3. Plotting the data into a waveplot canvas for visualisation.
  4. Enable scrolling of the canvas.
  5. Having a slider to show the current wave time.

Setting up the interface.


You can refer to all source codes here: https://github.com/leonardltk/AndroidAudioWaveViewer
The end product should look like this.

This is is part 3 of the series.

  1. Playing, pausing, resume, stopping an audio.
  2. Loading the audio into data array.
  3. Plotting the data into a waveplot canvas for visualisation.
  4. Enable scrolling of the canvas.
  5. Having a slider to show the current wave time.

Loading the audio into data array


Create a drop down menu

Create a button first, in this case, i’ll have an onClick to call loadAudioMenu, which will display the menu from my list of audios.


This is is part 7 of the series.

  1. Playing, pausing, resume, stopping an audio.
  2. Loading the audio into data array.
  3. Plotting the data into a waveplot canvas for visualisation.
  4. Enable scrolling of the canvas.
  5. Having a slider to show the current wave time.
  6. Integrating c++ codes in.

Install & Configure NDK

Download the Android Studio NDK

You can refer to all source codes here: https://github.com/leonardltk/AndroidAudioWaveViewer
The end product should look like this.

This is is part 2 of the series.

  1. Playing, pausing, resume, stopping an audio.
  2. Loading the audio into data array.
  3. Plotting the data into a waveplot canvas for visualisation.
  4. Enable scrolling of the canvas.
  5. Having a slider to show the current wave time.

Playing, pausing, resume, stopping an audio


This is a good tutorial guide, but when you are using it for the first time, the instructions are slightly unclear due to lack of pictures. I will elaborate with more pictures.

Open the Layout Editor

To get started, set up your workspace as follows:

In the Project window, open app > res > layout > activity_main.xml.

In this article, we discuss how to perform Speech Enhancement, which is a problem of obtaining the clean speech when in noisy environment.

This is Part 3 of the the series:

  1. Part 2 : Speech Data Augmentation

Contents:

  1. Traditional Methods
  2. Direct Mapping
  3. Masked-based Post-processing
  4. LSTM-based
  5. Time Domain Loss

Traditional Methods

While I will not go into details on some conventional approach here, I will simply list them. These are some notable approaches in speech enhancement before deep neural networks come into play:

  1. Wiener Filtering
  2. MMSE Estimator
  3. OM-LSA & MCRA
  4. IMCRA

Direct mapping

Here, only the classical…


In this article, we discuss how to perform data augmentation, and simulate a scenario where data is degraded, and how we can use this to increase the amount of our data, which will be very useful for machine learning, or to test robustness of algorithms.

This is Part 2 of the the series:

Contents:

  1. Noise
  2. Reverberation (Echoey effect)
  3. SpecAugment (Recent advancement in audio augmentation)

Noise

When we collect audio data in the while, there are bound to be some noise in the background, we largely split…


If you’re interested to work on digital audio processing, in particular, speech processing, this is the article for you. Here I will talk about the common feature used for various tasks such as speech-to-text, text-to-speech, noise-cancellations.

This is Part 1 of the the series:

Contents:

  1. Waveforms
  2. Spectrogram
  3. Mel-spectrograms
  4. Mel Frequency Cepstral Coefficients (MFCC)

All of the following plots can be reproduced here.

Waveforms

Waveform for the word ‘seven’.

This is how the number ‘seven’ look like, in a 1D representation, called a waveform. But what do this actually mean? …

Leonard Loo

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store