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.