Course curriculum

  • 1

    Course Overview

    • What you will learn in this course

    • Requirements

  • 2

    Android Audio Development Fundamentals - On-demand / Session 1

    • 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

  • 3

    Android Audio Development Fundamentals - On-demand / Session 2

    • 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

  • 4

    Android Audio Development Fundamentals - On-demand / Session 3

    • 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

  • 5

    Android Audio Development Fundamentals - On-demand / Session 4

    • 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