Loading Events

Android Audio Development Fundamentals - On-demand

Learn to develop high audio performances apps for Android.

Course Instructor: Baptiste Le Goff

Course level

Android is the leading mobile operating system, with billions of active devices worldwide.

What you'll learn

  • Be familiar with the Android development environment
  • Understand the logic behind real time audio processing app on the platform
  • Create GUI controls to interact with the sound
  • Implement a sequencer based application

Requirements

  • A computer and internet connection
  • A webcam and mic
  • A Zoom account
  • A basic familiarity with Java or C++ and audio processing
  • An Android phone or tablet
  • A usb cable to connect the phone/tablet to your computer

Course content

  • ---- Course notes week 1
  • ---- Part 1 - Introduction
  • ---- Part 2 - Creating a new Android Studio project
  • ---- Part 3 - Android Studio quick tour
  • ---- Part 4 - Development environment setup
  • ---- Part 5 - Project structure
  • ---- Part 6 - First application code
  • ---- Part 7 - Android Debugging 101
  • ---- Course notes week 2
  • ---- Session 2 downloads
  • ---- Part 1 - Android NDK and CMake installation
  • ---- Part 2 - Android NDK - JNI
  • ---- Part 3 - Native C++ project creation
  • ---- Part 4 - Native project structure
  • ---- Part 5 - The Oboe library
  • ---- Part 6 - Setting up a project with Oboe
  • ---- Part 7 - First native function
  • ---- Part 8 - Start-stop audio engine calls
  • ---- Part 9 - Audio app architecture
  • ---- Part 10 - Audio stream creation
  • ---- Part 11 - The audio processing callback
  • ---- Part 12 - Sine wave generation
  • ---- Part 13 - Device disconnection event
  • ---- Part 14 - Optimal latency
  • ---- Week 3 download materials
  • ---- Week 3 session handout
  • ---- Part 1 - Android UI architecture
  • ---- Part 2 - Constraint Layout
  • ---- Part 3 - UI creation in Android Studio
  • ---- Part 4 - Controls implementation logic
  • ---- Part 5 - Detecting view change
  • ---- Part 6 - UI to audio engine communication through JNI
  • ---- Part 7 - Audio Engine code
  • ---- Part 8 - Connecting the methods
  • ---- Part 9 - Real time input
  • ---- Part 10 - UI components synchronisation
  • ---- Part 11 - Frequency value range
  • ---- Part 12 - Custom Pad View
  • ---- Part 13 - Pad radius computing
  • ---- Part 14 - Custom drawing implementation
  • ---- Part 15 - Pad touch-event and param update handling
  • ---- Week 4 download materials
  • ---- Week 4 course notes
  • ---- Part 1 - Sequencer app specs
  • ---- Part 2 - Forcing landscape orientation
  • ---- Part 3 - View binding
  • ---- Part 4 - Spinner View for pitch selection
  • ---- Part 5 - Audio engine sequencer code
  • ---- Part 6 - Step on-off logic
  • ---- Part 7 - Step pitch change logic
  • ---- Part 8 - Current step visual feedback
  • ---- Part 9 - Going further ideas
  • ---- Part 10 - Discussion with Marek from Koala sampler

Who is this course for

  • In this workshop you will learn the fundamental principles needed to create high performance audio apps on the platform. From the basic setup to the creation of a sequencer based app, we will cover every aspect you need to build your own version of what a great Android audio application should be.

Useful links

About the workshop leader

After 6 years working for Arturia - moving from software development to product management - Baptiste founded Meteaure Studios to build music making apps for Android and empower the next generation of mobile producers.