Author: digitalmedium1

AudioworX: A Framework for Streamlining Development of Audio Post Processing for Car Audio Systems

  • Lobby
  • Author Archives: digitalmedium1

Join Us For ADC24 - Bristol - 11-13 November 2024
More Info: https://audio.dev/
@audiodevcon​

AudioworX: A Single Framework for Streamlining Development of Audio Post Processing for Car Audio Systems - Ravish Sreepada Hegde & Harish Venkatesan - ADCx India 2024

AudioworX is an audio design framework that provides a common, intuitive and flexible audio processing development tool. It includes Framework for audio algorithm development, Tuning tool to tune the algorithms to meet acoustic requirements, Measurement module to measure car acoustics and simulation environment. AudioworX is used by HARMAN internal teams, sub-component suppliers, and OEM customers to overcome inherent development, consistency, and time-to-market inefficiencies of bringing audio software products to market, mainly in the car audio industry. In this talk, we will be highlighting some key features of AudioworX which includes audio framework , post processing flow designer, measurement module & simulation tool and how they are interfaced and used.`

Link to Slides: https://data.audio.dev/talks/ADCxIndia/2024/harman-audioworx.pdf
_

Edited by Digital Medium Ltd - 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
Prashant Mishra

#adc #dsp #audio #audioprocessing #audiotech

Filed under: UncategorizedTagged with: , , ,

A More Intuitive Approach to Optimising Audio DSP Code – Gustav Andersson – ADC23

  • Lobby
  • Author Archives: digitalmedium1

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

A More Intuitive Approach to Optimising Audio DSP Code - Guiding the Compiler Through Optimising Your Code for You - Gustav Andersson - ADC 2023

As audio developers we all want our code to be blazingly fast, DSP code in particular. But when reading up on how to optimise audio DSP code, it is easy to get sucked into a world of counting divisions, vector instructions, compiler intrinsics and inline assembly, and think: this is impossible. These are techniques with a very steep learning curve and that require deep technical knowledge of how CPUs and compilers work. The resulting code is also often difficult to read, maintain, and possibly less flexible, as direct inline assembly or intrinsics are often tied to specific cpu architectures.

This talk will present a completely different approach to optimising, one that is more intuitive and accessible, and doesn’t trade speed for readability and maintainability of the code - Simply let your compiler do the hard work for you!

Compilers today are immensely good at optimising code. The difference between an optimised and un-optimised build of the same code can be an order of magnitude, if not more. Still there are things we as programmers can do when we write our code, that affects the level to which the compiler can optimise it.

In this talk we will talk about techniques compilers use to optimise code, and how to write code in a way that enables the compiler to optimise it as efficiently as possible. We will show useful patterns, and anti-patterns, that facilitate or hinder optimisation respectively. We will discuss how to benchmark and measure code and different kinds of bottlenecks, i.e. cpu/memory/pipeline bound code, and how to get the compiler to tell us when it is not able to optimise efficiently.

We will go through a few case studies comparing the performance and generated assembly code, before and after optimisation techniques have been employed. We will also take a look at how using functions from the c++ standard library compares to writing your own functions.

The main focus will be on optimising small, tight loops of audio DSP code that generally run directly from cache. The focus will not be on optimising higher level architecture, memory layout or cache-friendliness.

The talk will come with a companion repository posted on github.
_

Gustav Andersson

Will code C++ and python for fun and profit. Developer, guitar player and electronic music producer with a deep fascination with everything that makes sounds in one form or another. Currently on my mind: modern C++ methods, DSP algos, vintage digital/analog hybrid synths.
_

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 #audio #cpp

Filed under: UncategorizedTagged with: , , ,

Writing Elegant DSP Code in Rust – Chase Kanipe – ADC23

  • Lobby
  • Author Archives: digitalmedium1

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

Writing Elegant DSP Code in Rust - Chase Kanipe - ADC 2023

Rust has become an exciting alternative to C++ for audio programming. This talk will explain how Rust's unique type system can be leveraged to create elegant DSP code, with an emphasis on conciseness, clarity, and safety.

The talk will show that many features of audio programming DSLs can be achieved using advanced features of the Rust type system, and how Rust's zero-cost abstractions can be used to create DSP elements that are flexible, composable, and don't compromise performance. It will also show how to instantiate and implement audio processing graphs in imperative, functional, and declarative styles.

Link to Slides: https://data.audio.dev/elegant-dsp-with-rust/slides.pdf
_

Chase Kanipe
_

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 #audio

Filed under: UncategorizedTagged with: , , ,

Confluence of Code and Classical Music: Ragas, Bach & Sonic Pi – Nanditi Khilnani – ADCx India 2024

  • Lobby
  • Author Archives: digitalmedium1

Join Us For ADC24 - Bristol - 11-13 November 2024
More Info: https://audio.dev/
@audiodevcon​

Confluence of Code and Classical Music: Ragas, Bach & Sonic Pi - Nanditi Khilnani - ADCx India 2024

In this talk, we delve into the surprising parallels between the worlds of code and classical music, uncovering the shared attributes that connect these seemingly disparate domains. Both code and classical music are driven by structure, precision, and creativity, demanding a similar mental landscape and cognitive approach.

Drawing inspiration from both Western and Indian classical music traditions, we discover the invaluable compositional methodologies and rules hidden within these musical forms. We will explore how these time-tested principles can seamlessly translate into algorithms that could be innovative co-composers in the process of music creation.

Using Sonic Pi, we’ll demo some Baroque compositional methodologies like Canons, Retrograde Inversions & Fugues as well as algorithmic Raga-based improvisations to realise how code inherently lends itself as a fitting medium for classical compositions and how this combination births some effective melody-making processes.
_

Edited by Digital Medium Ltd - 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
Prashant Mishra

#adc #audiodev #audio #audiotechnology

Filed under: UncategorizedTagged with: , , ,

Making It Good (the Principles of Testing Hardware and Software) – Emma Fitzmaurice – ADC23

  • Lobby
  • Author Archives: digitalmedium1

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

Making It Good (the Principles of Testing Hardware and Software) - Emma Fitzmaurice - ADC 2023

You take a great idea, work out the details, make it and everything is lovely. Except no. Be it hardware or software, seeing an idea through to a high-quality product requires constant vigilance. This session offers a look into the principles and techniques of testing and quality assurance.
_

Emma Fitzmaurice

Emma Fitzmaurice is a QA engineer on the Novation team at Focusrite, sticking her fingers into as many parts as the hardware development pie as possible in an effort to make cool gear. She is charming, beautiful, wise and the proud author of her own bio.
_

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 #softwaretesting #audio

Filed under: UncategorizedTagged with: , , , ,

Reactive Embedded Programming – Tom Waldron – ADC 2023

  • Lobby
  • Author Archives: digitalmedium1

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: , , ,

Modular Audio Synthesis on FPGAs With the High Level Synthesis Development Flow – Aman Jagwani

  • Lobby
  • Author Archives: digitalmedium1

Join Us For ADC24 - Bristol - 11-13 November 2024
More Info: https://audio.dev/
@audiodevcon​

Modular Audio Synthesis on FPGAs With the High Level Synthesis Development Flow - Aman Jagwani - ADCx India 2024

This talk will present a modular sound synthesis design approach for FPGAs using high level synthesis(HLS) tools. With their strong potential for high throughput, ultra-low latency and high sampling rates, field programmable gate arrays can be extremely beneficial for audio processing applications. Traditionally, FPGAs are highly complex to program, requiring specialized hardware design knowledge as well as knowledge of low level hardware description languages like VHDL and Verilog. HLS allows FPGAs to be programmed at a higher level of abstraction in languages such as C and C++, enabling greater accessibility and enhanced productivity.

However, despite HLS offering a higher level of abstraction, it still requires specialized approaches, especially when applied to audio applications. The programming flow generally entails the design of a top level function that gets translated into a standalone hardware Intellectual Property(IP) module with its arguments defining inputs and outputs. Within the function, along with processing algorithms, optimization directives or pragmas have to be used for behavior, communication and interface definition. The generated IP module has to then be integrated and deployed in a complete hardware design using a set of downstream FPGA design tools such as Vivado and Vitis in the case of the AMD/Xilinx FPGA environment. Within this context, this talk will introduce a set of inter-connectable sound synthesis HLS IP cores or modules, accompanied by a base audio system to exemplify the feasibility and design considerations of modular synthesis on FPGAs. The modules presented will include different types of oscillators, filters, envelope generators and other components of modular synths. Audio and video examples will also be presented.
_

Edited by Digital Medium Ltd - 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
Prashant Mishra

#adc #dsp #audio #fpga

Filed under: UncategorizedTagged with: , ,

Real-Time Inference of Neural Networks: A Guide for DSP Engineers – Valentin Ackva & Fares Schulz

  • Lobby
  • Author Archives: digitalmedium1

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

Real-time Inference of Neural Networks: A Practical Approach for DSP Engineers - Valentin Ackva & Fares Schulz - ADC 2023

In upcoming audio processing innovations the intersection of neural networks and real-time environments is set to play a decisive role. Our recent experience of implementing neural timbre transfer technology in a real-time setting has presented us with diverse challenges. Overcoming them has provided us with significant insights into the practicalities of inferencing neural networks inside an audio plugin.

This talk presents a pragmatic approach: Starting with a trained model, we guide you through the necessary steps for inferencing the model in a real-time environment. On our way we delve into the critical aspect of maintaining real-time safety, share proven strategies to ensure a seamless and uninterrupted signal flow. Moreover, we address the delicate balance between latency, performance, and stability. For this we utilize three different inference engines: libtorch, tensorflow-lite and onnxruntime. While the in-house solutions for the popular machine learning frameworks PyTorch and TensorFlow, seem obvious choices, sometimes other engines may be better suited for certain use cases. By contrasting the characteristics of the engines, we hope to simplify your decision-making process.
_

Valentin Ackva

I am an audio programmer and electronic musician based in Berlin. With a background in computer science, I'm currently working towards my master's degree in Audio Communication and Technology at the Technische Universität Berlin. My passion lies at the intersection of music, programming, and technology, especially where artistry meets innovation. For the last 3 years, I have been working as an audio software developer at a speech processing startup in Leipzig. At my position there, I am responsible for the development of audio effects for speech enhancement. This role includes research into the real-time implementation of state-of-the-art neural networks for tasks such as denoising, audio super-resolution, and dereverberation. This year, I have co-founded a collective that combines the fields of DSP and AI, bringing together a group of audio programmers, machine learning engineers, and artists based in Berlin. In March, we released our first software, "Scyclone", an audio plugin that utilizes neural timbre transfer technology, introducing a new approach to automatic layering. Scyclone's innovative design and interaction of DSP and AI led to it winning the Audio Plugin Competition organised by the Audio Programmer.
_

Fares Schulz

Hello! I am a student assistant at the Electronic Studio of Technische Universität Berlin, currently pursuing a master's degree in Audio Communication and Technology. My educational background includes two bachelor's degrees in physics and audio engineering. During this time, my passion for audio software gradually led me from theoretical mathematical equations and abstract artistic concepts to their development as DSP algorithms in Python and their implementation as real-time audio applications in C++. Currently, I am particularly interested in exploring novel applications of neural networks for digital signal processing. Together with like-minded people, I recently developed the open source project Scyclone, which won the Neural Audio Plugin Competition organized by Audio Programmer. In addition to my academic and open source endeavors, I am actively involved in the development of noise reduction algorithms in Python and C++ for medical devices at Miethke.
_

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 #audio

Filed under: UncategorizedTagged with: , , ,

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

  • Lobby
  • Author Archives: digitalmedium1

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: , , , , , ,

Procedural Sound Design Applications – From Embedded to Games – Aaron Myles Pereira ADCx India 2024

  • Lobby
  • Author Archives: digitalmedium1

Join Us For ADC24 - Bristol - 11-13 November 2024
More Info: https://audio.dev/
@audiodevcon​

Procedural Sound Design Applications - From Embedded to Games - Aaron Myles Pereira - ADCx India 2024

Procedural Sound Design, defined by its adaptability and real-time generation capabilities, offers newfound possibilities in crafting immersive and dynamic auditory experiences. In this presentation, we will explore its key principles, benefits, and applications across two diverse domains: vehicles and video games.
_

Edited by Digital Medium Ltd - 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
Prashant Mishra

#adc #audio #sounddesign #embedded

Filed under: UncategorizedTagged with: , , , , ,