Tag: cplusplus

Branch-Free Oscillators for Virtual Analog Software Synth in C++ – Angus Hewlett – ADC 2024

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
---

Branch-Free Oscillators for Virtual Analog Software Synthesizer Applications in C++ - Angus Hewlett - ADC 2024
---

A discussion of techniques and approaches for building parallel branch-free oscillators for VA software synthesizer applications in C++ - exploring the stack from low-level machine instructions and CPU architecture up to signal processing concerns and language-level abstractions.

How can a branch-free design help you build more performant oscillators, how does it work underneath, and what are the advantages, disadvantages and potential pitfalls of this type of design approach?

If you're curious about CPU architecture and what's going on underneath your code, this talk will be an interesting window into that sometimes less-than-obvious world.
---

Slides: https://data.audio.dev/talks/2024/branch-free-oscillators/slides.pdf
---

Angus Hewlett

Technologist, Founder, Product Designer, Engineer, Manager and Mentor.

Founded FXpansion at the turn of the millennium and built software drum machines, synthesizers and utilities for 16 years.

Exited to ROLI in 2016 and joined their team as VP Engineering, managing a cross-disciplinary team of dozens of engineers and designers across software, hardware, web applications and R and D.

CTO at Image-Line from 2021-2023.

Now building a new product line to be released in 2024, and helping others to realise their product development dreams.
---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC24 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #oscillators #audiodev #cpp #audio #audioprocessing #audioproduction #audioprogramming #sound #cppprogramming #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Workshop: Klang – Live and Expressive C++ for Audio – Chris Nash – ADC 2024

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
---

Workshop: Klang - Live and Expressive C++ for Audio - Chris Nash - ADC 2024
---

A practical introduction to Klang, a C++ dialect (language extension) for audio, and rapIDE (rapid audio prototyping IDE), a complete C++ development environment in a DAW plugin, supporting live code editing, recompiling, and debugging. Developed to improve the liveness and usability of professional DSP practices, both tools facilitate the expressive design of new interfaces, sounds, and audio processes, while lowering the threshold to C++ for newcomers and learners, without compromising its expressive ceiling or performance.

ABOUT THE WORKSHOP

The workshop will feature discussions, live demonstrations, structured practical exercises, and assisted open exploration of the Klang language and rapIDE development platform, both available free for non-commercial use.

ABOUT THE TECHNOLOGIES

The Klang language (http://github.com/nashaudio/klang) is a single header include, compatible with any C++17 enabled platform, transforming C++ into an audio programming language with rich support for audio types, processes, and DSP primitives - notably also adding support for concise, explicit expressions of signal flow, allowing C++ code to more closely mirror block diagrams

The rapIDE IDE (aka Klang Studio; http://nash.audio/klang/studio) is a suite of cross-platform (Windows/Mac) audio plugins (in VST and AU format) that contain a complete integrated development environment (IDE) based on the LLVM/clang toolchain, supporting live, in-plugin coding, compiling, hot-swapping, analysis, graphing, and debugging without stopping the host (or even playback). Designed for rapid prototyping of C++ audio processes (e.g. synthesisers, effects), rapIDE is designed to integrate with existing workflows, such as desktop, embedded, and web audio development, but also provide a more immediate and immersive way to explore sound with C++.

FURTHER INFORMATION

Both technologies are pre-release and under active development, maintained by nash.audio, a non-profit organisation supporting projects in music and technology. Delegates require a Windows or Mac laptop, and are recommended to download and install rapIDE (aka Klang Studio) from nash.audio/klang in advance of the session.
---

Chris Nash

Chris Nash is a software developer, composer, educator and researcher in things that go beep in the night. Following a PhD on music software design at Cambridge, he has worked on technology and music projects across academia and industry, including for the BBC, Steinberg/Yamaha, and multiple start-ups, and independently develops and maintains several software projects, specialising in computer music and making music programming more accessible, including Manhattan (a hybrid DAW/programming language), Klang (a C++ dialect for audio), rapIDE (a plug-in based C++ IDE) and reViSiT (an award-winning plug-in based sound tracker).

He is currently Senior Lecturer in Software Development for Audio, Sound, and Music at UWE Bristol, and recently founded nash.audio, a non-profit organisation supporting creativity and learning in music technology. Working with London-based Point Blank Music School, Dr Nash is the architect of the forthcoming MuSE (Music Systems Engineering) course, developed in collaboration with industry to be the world's first professional audio developer degree programme.
---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC24 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #daw #audiodev #cppprogramming #cpp #dsp #audio #audioprocessing #audioproduction #audioprogramming #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Introducing ni-midi2 – A Modern C++ Library Implementing MIDI2 UMP 1.1 and MIDI CI 1.2 – Franz Detro

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​
---

Introducing ni-midi2 - A Modern C++ Library Implementing MIDI2 UMP 1.1 and MIDI CI 1.2 - Franz Detro - ADC 2024
---

MIDI 2.0 implementations arrived in recent macOS and Linux versions, and Windows MIDI 2.0 support is expected to arrive end of 2024.

ni-midi2 is a modern C++ library implementing MIDI2 UMP 1.1 and MIDI-CI 1.2. The platform-independent library allows you to easily migrate your code to support MIDI 2, while maintaining compatibility to the traditional MIDI 1 protocol.

The talk will cover basic concepts of the library and real-world examples of how it helps you to achieve protocol-agnostic MIDI 2 support in your codebase.
---

Slides: https://data.audio.dev/talks/2024/introducing-ni-midi2/slides.pdf
---

Franz Detro

C++ developer and Audio/MIDI system architect covering a wide range of technologies, including firmware, USB, MIDI, middleware and Plugin frameworks.

Member of the MIDI Association Technical Standards Board and contributor to MIDI 2.0 and USB Audio/MIDI Device Class specifications.

Co-founder of midi2.dev - a collaboration platform for MIDI 2.0 developer resources.
---

ADC is an annual event celebrating all audio development technologies, from music applications and game audio to audio processing and embedded systems. ADC’s mission is to help attendees acquire and develop new audio development skills, and build a network that will support their audio developer career.
Annual ADC Conference - https://audio.dev/
https://www.linkedin.com/company/audiodevcon

https://facebook.com/audiodevcon
https://instagram.com/audiodevcon
https://www.reddit.com/r/audiodevcon/
https://mastodon.social/@audiodevcon
---

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
---

Organized and produced by JUCE: https://juce.com/
---

Special thanks to the ADC24 Team:

Sophie Carus
Derek Heimlich
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Jonathan Roper
Prashant Mishra

#adc #audiodev #cpp #cppprogramming #dsp #audio #conferenceaudio #audioprocessing #audioproduction #audioprogramming #musictech #soundtech #audiotech #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Reactive Embedded Programming – Tom Waldron – ADC 2023

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​

Reactive Embedded Programming - Tom Waldron - ADC 2023

An alternative approach to embedded programming suited to real-time and audio systems whereby the usual background polling is replaced with an entirely reactive structure.

How can we leverage a microcontroller's hardware for predictable scheduling? What would it look like to turn convention on its head and run our entire application in interrupts?

Link to Slides: https://baremetaldev.github.io/reactive-embedded-programming/
_

Tom Waldron
_

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
_

Organized and produced by JUCE: https://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 #cppprogramming #embedded #audio

Filed under: UncategorizedTagged with: , , ,

Build a High Performance Audio App With a Web GUI & C++ Audio Engine – Colin Sullivan & Kevin Dixon

  • Lobby
  • Tag Archives: cplusplus

https://audio.dev/ -- @audiodevcon​

Building a High Performance Audio Application With a Web GUI and C++ Audio Engine - Colin Sullivan & Kevin Dixon - ADC23

The era of using web UIs for audio applications is just beginning. How might we build a high performance audio application on the foundations of the JUCE web component ? How might we overcome some limitations of the JUCE web component, such as passing chunks of binary data to the GUI? How might we deal with the complexities of this dual-sided system written in two different languages? We have developed a solution for a high-performance application architecture including a C++ audio engine and a web GUI.

Both the C++ audio engine and web UI implement their own unidirectional data flow, and combine to form an application wide unidirectional data flow, allowing the GUI to send actions into the C++ application to initiate state changes. We will discuss tooling developed for sharing data types between the two languages without error-prone manual maintenance, as well as the communication protocol itself and how we overcame limitations by intercepting HTTP requests from the webview in the C++ application.

We will discuss the performance considerations of integrating the unidirectional data flow architecture with a real-time audio engine and the high-performance architecture of the Web GUI itself.

Link to Slides: https://data.audio.dev/building-a-physical-experience-for-virtual-instruments/slides.pdf
_

Colin Sullivan

Colin Sullivan is a software developer building interactive systems with web technologies and C++. Colin has operated as a software engineer across product lifecycles from incubation & product prototyping to product release in multinational companies and startups. Colin has built interactive installations and performed improvisational electronic music using bespoke generative music software.
_

Kevin Dixon

I've been building consumer and professional music applications for both desktop and mobile platforms since 2008. Originally started work on a streaming video platform for public safety, I was immediately exposed to the issues of communicating between a high-performance C++ engine and with a garbage collected language (C#) for the GUI. After cutting my teeth on mobile development with the first Android G1 handset, I moved squarely into the audio industry. At Audyssey Labs, I was a founding member of their mobile team, and was responsible for integrating DSP technology into any OS or Firmware our client demanded, most notably the Android OS itself. I was a lead developer on a consumer hifi listening app for iOS and was awarded a patent (US9860641B2) for delivering audio output device specific audio processing from the cloud. From there, my mobile experience led me to Native Instruments, where I contributed heavily to both of Native Instruments mobile offerings, iMaschine and Traktor DJ, always with a focus on the audio engine and application architecture. Spending time in a product-focused environment taught me to be efficient with what makes it into the codebase, while still balancing overall quality (decisions in codebases always last longer than you think!). After brief, yet productive, stints with Fender and Dolby, I landed at Output and have been focusing on audio engine and application architecture for the past two years.
_

Streamed & Edited by Digital Medium Ltd: https://online.digital-medium.co.uk
_

Organized and produced by JUCE: https://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 #audiodev #dsp #cppprogramming

Filed under: UncategorizedTagged with: , , , , , ,