Android Audio Development Fundamentals - On-demand hero

Course template / hosted architecture draft

Android Audio Development Fundamentals - On-demand

Learn to develop high audio performances apps for Android.

Level

Level 3

Duration

Format

Course overview

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

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.

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

Session 1

Android Audio Development Fundamentals - On-demand / Session 1

Course notes week 1 · Part 1 - Introduction · Part 2 - Creating a new Android Studio project

+

Session 2

Android Audio Development Fundamentals - On-demand / Session 2

Course notes week 2 · Session 2 downloads · Part 1 - Android NDK and CMake installation

+

Session 3

Android Audio Development Fundamentals - On-demand / Session 3

Week 3 download materials · Week 3 session handout · Part 1 - Android UI architecture

+

Session 4

Android Audio Development Fundamentals - On-demand / Session 4

Week 4 download materials · Week 4 course notes · Part 1 - Sequencer app specs

+

Session materials

Android Audio Development Fundamentals - On-demand / Session 1

Course notes week 1

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 1 - Introduction

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 2 - Creating a new Android Studio project

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 3 - Android Studio quick tour

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 4 - Development environment setup

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 5 - Project structure

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 6 - First application code

Open resource

Android Audio Development Fundamentals - On-demand / Session 1

Part 7 - Android Debugging 101

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Course notes week 2

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Session 2 downloads

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 1 - Android NDK and CMake installation

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 2 - Android NDK - JNI

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 3 - Native C++ project creation

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 4 - Native project structure

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 5 - The Oboe library

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 6 - Setting up a project with Oboe

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 7 - First native function

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 8 - Start-stop audio engine calls

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 9 - Audio app architecture

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 10 - Audio stream creation

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 11 - The audio processing callback

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 12 - Sine wave generation

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 13 - Device disconnection event

Open resource

Android Audio Development Fundamentals - On-demand / Session 2

Part 14 - Optimal latency

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Week 3 download materials

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Week 3 session handout

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 1 - Android UI architecture

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 2 - Constraint Layout

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 3 - UI creation in Android Studio

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 4 - Controls implementation logic

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 5 - Detecting view change

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 6 - UI to audio engine communication through JNI

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 7 - Audio Engine code

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 8 - Connecting the methods

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 9 - Real time input

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 10 - UI components synchronisation

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 11 - Frequency value range

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 12 - Custom Pad View

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 13 - Pad radius computing

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 14 - Custom drawing implementation

Open resource

Android Audio Development Fundamentals - On-demand / Session 3

Part 15 - Pad touch-event and param update handling

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Week 4 download materials

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Week 4 course notes

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 1 - Sequencer app specs

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 2 - Forcing landscape orientation

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 3 - View binding

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 4 - Spinner View for pitch selection

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 5 - Audio engine sequencer code

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 6 - Step on-off logic

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 7 - Step pitch change logic

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 8 - Current step visual feedback

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 9 - Going further ideas

Open resource

Android Audio Development Fundamentals - On-demand / Session 4

Part 10 - Discussion with Marek from Koala sampler

Open resource

Instructors

Baptiste  Le Goff

Baptiste Le Goff

Instructor

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.

Frequently asked questions