Skip to content
Rémi Georgiou edited this page Jun 20, 2017 · 16 revisions

Audio Signal Processing Toolbox for Android

Abstract

This app is developed at Zurich University of Applied Sciences for the Centre for Signal Processing / Communications Engineering by two computer science students as part of their bachelor thesis.

The wide distribution and ease of use of the Android operating system provides an exciting platform to demonstrate the possibilities of digital signal processing in real time on mobile terminals. Signal processing can be computationally demanding (e.g. long FIR filters) and therefore requires powerful CPUs.

The application provides possibilities to analyse the processed audio signals. The audio source can be either a WAV or MP3 file or a web stream, such as Spotify.

The decoded audio samples are processed in real time by sound effects or filters and then directed to the sound output. In addition, the audio signal can be visualised simultaneously in the time and frequency domain.

Various effects are available to process the audio signals. In addition to the linear-phase FIR filters, the app also includes modulation effects, bitcrusher and nonlinear distortion units.

A central feature of this app is the capability to visualise the audio signals. The user can view the temporal progression of an audio signal (waveform) as well as the frequency spectrum in a spectrogram at the same time.

Another interesting functionality of the app is the concatenation of frequency-selective filters and (nonlinear) audio effects. Up to four such audio effects can be connected in series.

Filter and audio effects chain Fig. 1: Filter and audio effects chain Audio effects settings Fig. 2: Audio effects settings Visualisation configuration Fig. 3: Visualisation configuration
Waveform view Fig. 4: Waveform view Waveform and spectrogram view Fig. 5: Time and frequency domain visualisation Spectrogram view 1 Fig. 6: Spectrogram

Spectrogram ringmod + bitcrusher

Fig. 7: Ring modulator + bitcrusher = fun

Credits

Audio Signal Processing Toolbox for Android uses different libraries and algorithms:

  • JTransforms: first open source, multithreaded FFT library written in pure Java by Piotr Wendykier
  • JavaZOOM JLayer: MP3 decoder/player/converter library for Java
  • The spectrogram code is developed for Spectrogram app by Guillaume Adam and adapted for Audio Signal Processing Toolbox
  • Modulation and delay effects are implemented in MATLAB by Professor A D Marshall (University of Cardiff, UK) and translated into Java
  • The code for the tube distortion algorithm is written by Bendiksen, Dutilleux and Zölzer and can be found in DAFX Digital Audio Effects, second edition, pages 122-123
  • Bit crusher algorithm is written by David Lowenfels and shared on MusicDSP source code archive
  • Soft clipper algorithm is based on the original idea from Laurent de Soras (Ohm Force)