Tag: programming

How to Write Bug-Free, Real-Time Audio C++ Code? – Jan Wilczek – ADC23

  • Lobby
  • Tag Archives: programming

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

How to Write Bug-Free, Real-Time Audio C++ Code? - Jan Wilczek - ADC 2023

How many times have we compiled our audio plugin or app and launched it only to find out that "something is glitching"?

How can we be sure that we submit a correctly implemented audio feature in a pull request?

And how can we detect existing problems and precisely locate them in our codebase?

I've been pursuing the answers to these questions from my day 1 in the audio industry and in this talk I am going to share with you my personal favorites. This is not just from my experience; I've actively asked community members for their strategies at every opportunity I got. This is a collected wisdom of more than just a single developer.

In the talk, I will:
1. Outline why shipping bug-free code is vital for your business and your own sanity
2. show you simple yet profound strategies for ensuring software correctness based on digital signal processing (DSP), including:
1. taking advantage of phase cancellation properties
2. leveraging the power of the FFT for frequency-manipulation algorithms,
3. underused DSP tools like total harmonic distortion (THD), Farina sweep, and pole-zero plot,
4. discovering the power of reference audio renders.
3. explain how to safely reuse stable and tested DSP code of other developers,
4. interoperate C++ and Python for accessing powerful numerical libraries and testing complicated scenarios
5. correctly implement even the most advanced DSP algorithms and optimizations,
6. show real-world examples where these principles helped solve hidden audio bugs, including
1. pitch tracking,
2. pitch shifting, and
3. the flanger effect.
With this knowledge you'll be able to:
1. approach developing new features with greater confidence,
2. enjoy more inner peace during development, review, and deployment,
3.write correct audio code every time!
_

Jan Wilczek

Jan Wilczek graduated with honors from Friedrich-Alexander-Universität Erlangen-Nürnberg, having completed a master’s program Advanced Signal Processing and Communications Engineering. He is an Audio Developer of Music Maker JAM at Loudly GmbH in Berlin; an app to make loop-based music that runs on Android, iOS, and Windows.Additionally, he has created TheWolfSound.com to help students and software engineers learn audio programming for getting game audio, audio plugin, or mobile audio developer jobs. He is the author of DSP Pro: an online course on the basics of digital audio signal processing for aspiring audio programmers. He helps others through online courses, one-on-one coaching and publishing tutorials and explainer videos about various aspects of audio programming. Parallel to the educational services, he is a consultant in the field of audio programming. He is also a researcher in the area of Virtual Analog modeling using deep learning; his latest work was presented at the Digital Audio FX 2022 conference in Vienna. His professional goal is to lower the entry barrier for everyone interested in writing audio software. He pursues it by publishing high-quality articles, videos, and podcasts or giving talks.
_

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

Virtual Acoustics: Recreating Natural Phenomena in the Digital Domain – Aidan Baker – ADC23

  • Lobby
  • Tag Archives: programming

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

Virtual Acoustics: Recreating Natural Phenomena in the Digital Domain - Aidan Baker - ADC 2023

Audio in the VR / AR domain may become a dominant section of this industry in the coming years. While methods for processing spatial audio already exist (and formal standards have been created and utilized) another factor of immersive audio remains (mostly) untouched: Virtual acoustic systems that mimic the virtual spaces.

This talk will go over various techniques for handling room acoustics in both real-time and offline settings, and going over both their benefits, as well as their drawbacks. Additionally, we will look over how to go about approximating room acoustics without breaking the proverbial (cpu) bank.
_

Aidan Baker

I am an audio developer who is fascinated by sound's physical phenomena. Presently I run a company called Lese which develops audio plugins + acoustic simulation software.
_

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

Filed under: UncategorizedTagged with: , , , ,

Motion and Music Modeling in Hindustani Classical Music – Tejaswinee Kelkar – ADCx India 2024

  • Lobby
  • Tag Archives: programming

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

Motion and Music Modeling in Hindustani Classical Music - Tejaswinee Kelkar - ADCx India 2024

My talk will summarize of computational generative approaches in North Indian classical music (NICM). NICM presents a unique problem where non-quantization of notes, and the predominant characteristic use of pitch contours to express sonic differentiation means that quantized modeling of, for example, sheet based music goes only so far in being able to shape generative Hindustani music. I will present these approaches of notation based, and character based RNNs for generating Hindustani improvisation.

Generative musical AI in NICM is not really described as a task. However, pre-trained generative music models are modeled after common practise period based western music, and are definitely unsuitable to generate anything in this vocabulary. Sample based generative AI for NICM has, as of this abstract not been a field with separate exploration. Musical AI in NICM is mostly explored form the point of view of modeling raga and raga recognition tasks.

In my previous work, I have addressed how phrase generation models and contour models are perceptually important for tasks such as this. I will present an overview of the state of knowledge in the intersection of these fields and the SOTA of generative techniques in NICM.

Link to Slides: https://data.audio.dev/talks/ADCxIndia/2024/rnns-and-hindustani-music.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 #ai #audio #hindustaniclassicalmusic

Filed under: UncategorizedTagged with: , , , ,

Aliasing and Oversampling for DSP Engineers – Sam Fischmann – ADC23

  • Lobby
  • Tag Archives: programming

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

Aliasing and Oversampling for DSP Engineers - Sam Fischmann - ADC 2023

Aliasing distortion and oversampling have become especially popular discussion topics in the wake of widely-available consumer analysis tools such as Plugin Doctor. In response, audio software users have been more vocal about aliasing, in many cases asking audio developers to provide oversampling.

As it turns out, not all oversampling is the same, we face several trade-offs when implementing it, and we don’t always need it. This talk aims to help you understand aliasing distortion, how oversampling addresses it, and some potential downsides of overuse. It also provides guidelines to help you decide when oversampling is necessary, what kind of oversampling to use, and mentions some open-source libraries that give you flexibility to make the right decision for your software.
_

Sam Fischmann

Sam is a seasoned developer and composer, with experience spanning Web, embedded, and desktop systems. He founded Musik Hack with Stan Greene to release products that are easy to use without sacrificing quality or creative control. In the process, he learned that not only does he love making audio software, he loves teaching it! You can find him talking with White Sea Studios, Bobby Owsinski, Help me Devvon, or pretty much anybody that wants to have an interesting and engaging conversation.
_

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

NO MORE CODE: New Graphical Programming Language for Audio Research and Developers – ChangHun Sung

  • Lobby
  • Tag Archives: programming

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

NO MORE CODE: Introducing a New Graphical Programming Language for Audio Research and Developers - ChangHun Sung - ADC 2023

Audio software development is rapidly moving towards incorporating machine learning-based processing. While research scientists are continuously presenting us with inventive results in the field of AI, there is a lack of software engineering tools to utilize these results.

We are introducing a new development framework to bridge the gap between AI researchers and software engineers, allowing both fields to work together seamlessly.

By borrowing some concepts from functional programming languages, we designed a new node-based graphical programming language for audio software development, which is capable of handling a variety of data types including audio, multi-dimensional tensors and MIDI. Furthermore, the system is designed to support looping and branching logic using only nodes and node connections. This allows the implementation of highly flexible data processing algorithms.

Finally, as an AI voice technology company, we will present a demonstration of the plug-ins developed using our new programming language, showcasing its adaptability and advanced capabilities.

Link to Slides: https://data.audio.dev/talks/2023/no-more-code/slides.pdf
_

ChangHun Sung

Chang Hun is a Software Engineer at Supertone, Inc. He previously worked in the game industry and used to develop game engines. Chang Hun now develops high performance C++ frameworks to accelerate the process of productizing ML models. He is also the principal clarinetist in an amateur orchestra in Seoul.
_

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

Filed under: UncategorizedTagged with: , , , ,

Developing an AI-Powered Karaoke Experience – Thomas Hézard & Clément Tabary – ADC23

  • Lobby
  • Tag Archives: programming

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

Developing an AI-Powered Karaoke Experience - Thomas Hézard & Clément Tabary - ADC23

Karaoke has been of popular interest for many years, from the first karaoke bars in the 1970s to the karaoke video games of today, and the recent progress in deep learning technologies has opened up new horizons. Audio source separation and voice transcription algorithms now give the opportunity to create a complete karaoke song, with instrumental track and synchronised lyrics, from any mixed music track. Real-time stems remixing, pitch and tempo control, and singing quality assessment are other useful audio features to go beyond the traditional karaoke experience. In this talk we will discuss the challenges we had to tackle to provide our users with a fully automatic and integrated karaoke system adapted for both mobile and web platforms.
_

Thomas Hézard

Thomas leads the Audio Research & Development team at MWM, working with his team on innovative signal processing algorithms and their optimised implementation on various platforms. Before joining the MWM adventure, Thomas completed a PhD on voice analysis-synthesis at IRCAM in Paris. Fascinated by every aspect of sound and music, both artistic and scientific, Thomas is also a musician, a sound engineer, a passionate teacher, and an amateur photographer.
_

Clément Tabary

Clément is a deep-learning research engineer at MWM. He applies ML algorithms to a wide range of multimedia fields, from music information retrieval to image generation. He's currently working on audio source separation, music transcription, and automatic DJing.
_

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 #ai #karaoke

Filed under: UncategorizedTagged with: , , ,

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

  • Lobby
  • Tag Archives: programming

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

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

  • Lobby
  • Tag Archives: programming

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
  • Tag Archives: programming

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

Embedded Software Development – A Wild Ride! – Matt Speed & Andy Normington – ADC23

  • Lobby
  • Tag Archives: programming

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

Embedded Software Development - A Wild Ride! - Matt Speed & Andy Normington - ADC 2023

Embedded software development (aka firmware) can be challenging, but it's incredibly rewarding. Sitting at the beating heart of all audio hardware products, it handles the UI, connects the physical and virtual, and transforms signals and sounds to bring the product to life.

Join us to hear about how it connects with the electronics, software development and QA worlds, and the fun you can have bringing hardware products to life!!

Link to Slides: https://data.audio.dev/talks/2023/embedded-wild-ride/slides.pdf
_

Matt Speed

Matt has worked at Novation for 8 years, helping to develop a range of synths and controllers. He loves DSP, mathematics and music, and has an unhealthy(?) passion for the 56k.

Andy Normington

I work with embedded software on new Focusrite and Novation products. Coming from a background in music and audio and having started my career more focused on electronics, I enjoy learning about the way the systems we develop work in the real world - it's always a little different to what I expect! I'm always on the lookout for ways to do things a little better than last time, which at work drives my interest in teams and tooling (and at home drives my ever-increasing stash of DIY tools and gadgets). I'm at ADC for the first time in 2023, and really looking forward to learning lots and meeting people.
_

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

Filed under: UncategorizedTagged with: , , , , ,