Study abroad in Edinburgh

Course finder

Semester 1

Audio Programming (MUSI10108)







Normal Year Taken


Delivery Session Year



Visiting students' eligibility for this 3rd year Music course (including any required Music background) will be assessed on a case-by-case basis, though. **Spaces on Music courses are limited in 2022/23, and so enrolment cannot be guaranteed for any visiting student**

Course Summary

This course provides an introduction to programming creative audio applications. The focus is on developing competencies in professional level tools and practices. You will learn to code in C++ within the JUCE environment, a helpful framework for producing standalone audio applications for different devices and operating systems, and for producing VST plugins, audio units and related technologies.

Course Description

In this course you will explore professional-level audio software development as a creative process. A founding premise for the course is that creating musical software is a creative musical act. There is a strong technical core to the course as you will be learning to program in C++. This necessitates a focus on some of the fundamental aspects of computer programming. You will then use the JUCE environment, an open source framework for creating audio applications in C++, to bring your creative ideas into practice. The course begins with the basics of coding in C++: creating variables, using arrays, and compiling code. You will progress to making simple sounds in the JUCE framework, looking at the DSP loop for generating sounds sample-by-sample. You will then move on to using the Maximilian library to bring standard audio building blocks such as oscillators, filters, envelopes and sample players, into play. This will allow you to build up more intricate sonic applications. Finally, you will design and build basic interface elements, creating sliders, dials and other controls to provide an interface to your application. Despite the clear and deliberate technical emphasis throughout the course, a central aim is to demystify the act of programming, and to bring sound practitioners behind the curtain, so to speak, showing what is behind the technologies that enable real-time music creation. C++ and JUCE are industry standards, and provide an important technical skill set for artists, composers and acousticians to explore. Class sessions take the form of weekly 2 hour lectures and weekly 1 hour small group tutorials.

Assessment Information

Written Exam 0%, Coursework 100%, Practical Exam 0%

view the timetable and further details for this course


All course information obtained from this visiting student course finder should be regarded as provisional. We cannot guarantee that places will be available for any particular course. For more information, please see the visiting student disclaimer:

Visiting student disclaimer