The Architecture of Digital Audio Workstations (& Other Time-Based Media Software) - Ilias Bergström

  Рет қаралды 2,086

ADC - Audio Developer Conference

ADC - Audio Developer Conference

Күн бұрын

audio.dev/ -- @audiodevcon​
The Architecture of Digital Audio Workstations (and Other Time-Based Media Software) - Ilias Bergström - ADC23
The ADC community has produced a wonderful wealth of material on audio software development!
But there is a relative dearth on the big picture of how all these coding techniques, practices, strategies, and design patterns, can interrelate, giving rise to the complex beast that is a modern Digital Audio Workstation (DAW).
While there are some open-source DAWs to study, there is little material on their architecture, apart from the source code itself - with the main exception being the (GUI-less) Tracktion engine of course.
Although implicit / emergent architecture may be sufficient for small to medium size codebases, a large codebase such as a DAW demands deliberate attention to design.
We present the low-level design patterns for the DAW engine and presentation layers, the UI/UX design patterns these interrelate to, and the architectural design patterns for the complete system. Crucially, the main emphasis of our talk is not the details of the above, but how they all together define a modern DAW.
We then present the challenges faced in defining such an architecture to satisfy the specific Attributes of a DAW - e.g. a non-destructively alterable model, and the real-time constraints that necessitate lock-free communication between threads. We discuss the compromises needed to satisfy such conflicting needs, and some future challenges presented, as the software category evolves into the future, e.g. with MIDI 2.0 around the corner.
While we concentrate on DAWs, much of this discussion also generalises to the broader category of Time-Based Media software.
The presentation is grounded in two DAW-like applications we have developed: one is a desktop application with a GUI, and the other is a "headless" embedded DAW, with a separately executed GUI application. They are both very different, each lacking central features that the other has. But together, and even more so through their differences, they serve as great illustrations of the concepts we present.
This subject area is vast, and a review of every topic and technique is impossible in the scope of a single talk. We give a good introductory overview, hopefully laying a foundation for further learning and knowledge dissemination in the community.
Link to Slides: data.audio.dev/talks/2023/the...
_
Ilias Bergström
Senior Software Engineer, ElkComputer Scientist, Researcher, Interaction Designer, Musician, with a love for all music but specially live performance. I've worked on developing several applications for live music, audiovisual performance, and use by experts, mainly using C++. I get very excited whenever anybody mentions "control data" in my vicinity!
_
Streamed & Edited by Digital Medium Ltd: online.digital-medium.co.uk
_
Organized and produced by JUCE: juce.com/
_
Special thanks to the ADC23 Team:
Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra
#adc #daw #dsp #audio

Пікірлер
NO MORE CODE: New Graphical Programming Language for Audio Research and Developers - ChangHun Sung
28:22
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 655 М.
KINDNESS ALWAYS COME BACK
00:59
dednahype
Рет қаралды 151 МЛН
Who has won ?? 😀 #shortvideo #lizzyisaeva
00:24
Lizzy Isaeva
Рет қаралды 62 МЛН
Survival skills: A great idea with duct tape #survival #lifehacks #camping
00:27
Why I Chose Rust Over Zig
33:18
ThePrimeTime
Рет қаралды 29 М.
Turns out REST APIs weren't the answer (and that's OK!)
10:38
Dylan Beattie
Рет қаралды 84 М.
Why You Shouldn’t Write a DAW - David Rowland - ADC23
46:28
ADC - Audio Developer Conference
Рет қаралды 22 М.
What Software Architects Do That Programmers DON'T
12:51
Thriving Technologist
Рет қаралды 106 М.
Everything You NEED to Know About Client Architecture Patterns
5:51
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 213 М.
UI Libraries Are Dying, Here's Why
13:28
Theo - t3․gg
Рет қаралды 281 М.
The Real Reason Why Music Is Getting Worse
12:42
Rick Beato
Рет қаралды 2,8 МЛН
Здесь упор в процессор
18:02
Рома, Просто Рома
Рет қаралды 344 М.
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 6 МЛН
Samsung laughing on iPhone #techbyakram
0:12
Tech by Akram
Рет қаралды 333 М.
⚡️Супер БЫСТРАЯ Зарядка | Проверка
1:00
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 5 МЛН
😱Хакер взломал зашифрованный ноутбук.
0:54
Последний Оплот Безопасности
Рет қаралды 742 М.