CS-E5690 - Audio Programming Project D, Lectures, 19.8.2024-13.9.2024
Översikt
-
Course Description
The course will cover an introduction to modern real-time audio application development using standard industry tools.
The activities will include the development of VST3 (Windows/MacOS) and AudioUnit (MacOS) plugins using the JUCE framework, implementation of audio DSP algorithms in C++ programming language, and also some graphical user interface embellishments.
During the course, attendees will develop their own audio plugin, which can be either their original ideas or from a list provided by the instructors. At the end of the course, the projects will be demoed to Neural DSP and Aalto Acoustics Lab staff for feedback.
The course will mainly use the C++ programming language, and although some experience is desirable, working knowledge of any programming language should be sufficient to follow up with the course content and activities. Basic digital signal processing background is required.
Attendees should bring headphones and a laptop for working on tutorial projects and ideally some audio hardware for more interesting experimenting, like musical instruments, audio interface, and MIDI controllers.
The course is targeted at audio DSP students and researchers, although digital audio enthusiasts and hobbyists are welcome.
Course is 3 ECTS credits.
Responsible teacher: Lauri Savioja lauri.savioja@aalto.fi
Lecturer: Joao Rossi Filho, has over 10 years of experience in DSP development across embedded and desktop applications, currently working as Plugin DSP Team Lead at Neural DSP.
Course assistant: Jon Fagerström jon.fagerstrom@aalto.fi
Advisors:
Location:- Contact Teaching (Mon, Wed, Fri): E208b Karjalainen, 2nd floor, Otakaari 5E, Espoo, Finland
- Demo Day (Fri 13.9. ): E208b Karjalainen, 2nd floor, Otakaari 5E, Espoo, Finland
Time and Date
Monday August 19th, 2024 to Friday 13th September, 2024
- Contact teaching on Mondays, Wednesdays, and Fridays (August 19th-30th)
9:00 to 12:00 - morning session
13:00 to 16:00 - afternoon session
- Independent project work (September 2nd- 13th)
- Demo day September 13th
Enrollment through SISU
- Opens on 27.5.2024 in
- Closes on 9.8.2024
Maximum attendance of 20 students
Prerequisites
The course will make extensive use of the C++ programming language. Although some experience with C++ is desirable, it is not a hard requirement. Knowledge of any programming language should be sufficient to follow up with the course content and activities. A basic digital signal processing background is required.
We will provide tutorial code and libraries to allow a smooth jump to development during the course. This way students can focus on implementing the main concepts.
Windows/Mac laptop
A reasonably modern laptop (~5 years old) should be more than sufficient
Linux is technically supported but the environment setup can be challenging
Integrated Development Environment, installed before the course starts
Xcode for macOS
Microsoft Visual Studio for Windows
Basic development tools
Git
Shell terminal
Optional: Audio interface, instrument, and headphones
Neural DSP might be able to provide a few depending on attendance
Optional: Digital Audio Workstation installation
Logic Pro X; Ableton Live; Reaper; etc…
Tutorial projects - provided by Neural DSP
Objectives
The main goal of the intensive course is to encourage students and researchers to use real-time programming for audio DSP research and product development.
This will be achieved by pragmatically introducing them to some industry standard tools. Using C++ to write efficient DSP algorithms and leverage the JUCE framework for practical graphical user interface (GUI) audio application development.