Talk

Live audio synthesis with Synchrotron

Thursday, May 29

12:25 - 12:55
RoomGnocchi
LanguageEnglish
Audience levelIntermediate
Elevator pitch

How can you make a computer sing?

There can be a lot of complexity involved in handling real-time audio. This talk demystifies DSP and electronic music from first principles, and walks through the process of creating a live audio synthesiser - from scratch - entirely in pure Python code.

Abstract

Over the past years, I had a steadily growing interest in digital signal processing, especially in relation to music and audio. The desire for an interactive playground and apparent lack of suitably hackable pure Python frameworks led to the design and creation of Synchrotron.

Synchrotron is a graph-based live audio processing engine implemented entirely in pure Python. It provides an environment which can replicate a digital signal processing (DSP) engine, a synthesiser, a MIDI instrument, and more. Synchrotron also provides multiple interfaces including an intuitive web UI inspired by the Blender shader node editor, as well as a REST API and Python library.

This talk will assume familiarity with Python, but otherwise assumes no prior knowledge in DSP or working with audio, and everything will be built up layer by layer from first principles.

Topics covered will include:

  • Signals as time-series data
  • Digital representation of analogue signals
  • Creating a sine wave synthesiser
  • Audio routing and DAGs
  • Frequency modulation by chaining nodes
TagsEducation, Applications, Other
Participant

Andrew Stroev

Andrew is an 18-year-old student from Scotland, currently in their first year studying computer science at the University of St Andrews. They’re passionate about programming, music, and anything that overlaps the two. In their spare time you’ll find them performing piano or percussion, hacking away at hobby projects, dabbling in parkour and other acrobatic sports, or (usually accidentally) breaking computer systems.