Is .NET any good for Audio? - Mark Heath - NDC London 2024

Discover the challenges and solutions for using.NET in audio programming, including the development of Wazapi, a managed wrapper around Windows Audio API, and WaveBuffer, a tool for efficient audio data processing.

Key takeaways
  • The speaker had to port audio code from C/C++ to.NET and encountered various challenges, including garbage collection, P/Invoke, and Windows APIs.
  • Java was not suitable for audio programming due to its limited performance and lack of direct memory access.
  • The speaker developed a library called Wazapi, which provides a managed wrapper around the Windows Audio API.
  • Wazapi is designed to be used with.NET and provides a set of classes and methods for playing and recording audio.
  • The library uses the Windows Audio API to interact with the audio hardware and provides a set of callbacks for handling audio events.
  • The speaker also developed a tool called WaveBuffer, which allows for efficient processing and manipulation of audio data.
  • The talk covers the challenges of developing audio code in.NET, including garbage collection, P/Invoke, and Windows APIs.
  • The speaker shares their experience and insights gained from developing Wazapi and WaveBuffer.
  • The talk concludes with recommendations for developers who want to work with audio in.NET, including using Wazapi and WaveBuffer.