UWP Audio Fundamentals

The Universal Windows Platform comes with some powerful audio APIs. This course will teach you how to use the AudioGraph API for playback, recording and processing audio in real-time, as well as how to edit media files with the MediaComposition API.
Course info
Rating
(15)
Level
Intermediate
Updated
Aug 8, 2016
Duration
3h 11m
Table of contents
Description
Course info
Rating
(15)
Level
Intermediate
Updated
Aug 8, 2016
Duration
3h 11m
Description

The Universal Windows Platform is Microsoft's unified development model for a broad range of device families. It also comes with some powerful audio capabilities for all of your audio practicing needs. In this course, UWP Audio Fundamentals, you'll learn how use some pretty powerful audio API's that you can use in your UWP application. First, you'll learn how to construct graphs for audio playback and recording using new audio graphs API's. Next, you'll lean how to modify audio using built-in and custom effects. Finally, you'll learn how to edit media files with a media composition API and you'll even learn how to build a software synthesizer. By the end of this course, you'll be ready to introduce audio processing into your own UWP application.

About the author
About the author

Mark Heath is a software developer based in Southampton, England, working for NICE Systems as a software architect creating cloud based digital evidence management systems for the police. He is the creator of NAudio, an open source audio framework for .NET.

More from the author
Azure Functions Fundamentals
Intermediate
3h 40m
Apr 25, 2019
More courses by Mark Heath
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi. My name is Mark Heath and welcome to my course, UWP Audio Fundamentals. I work as a software developer and architect at NICE and I'm the creator of the open source. NET audio library and audio. The universal Windows platform allows you to create a single application that runs on a wide variety of devices from regular desktop and laptop computers to mobile phones, embedded internet of things devices, games consoles, and even next-generation devices like the HoloLens. Microsoft has created some powerful audio APIs that you can use in your UWP applications for all your audio processing needs, whether that's simply playing back audio or recording it or manipulating it in advanced ways, and in this course I'm going to introduce you to the capabilities of these new audio APIs. Some of the major topics that we'll cover include constructing graphs for audio playback and recording using the new audio graph API, modifying audio using built-in and custom effects, and editing media files with a media composition API, and we're even going to build a software synthesizer. By the end of this course, you'll be ready to introduce audio processing into your own UDP applications. Before beginning this course, you should be familiar with programming in C# and it will help if you've used XAML before a little bit and you know some of the basics of digital audio. So I hope you'll join me on this journey to learn about audio programming with the UWP Audio Fundamentals course at Pluralsight.

Playing Back Audio
Hi. Mark Heath here and welcome to the second module in our UWP Audio Fundamentals course. In this module we'll be learning all about how to play back prerecorded audio files. We'll start off by actually creating our first audio graph and this graph will have two nodes in it. We'll take an AudioFileInputNode, which will be the file we want to play, and connect it to an AudioDeviceOutputNode, which will be the sound card we want to play it out of. Then we'll see how to accomplish some basic playback operations. Obviously, we'll need to be able to start and stop playback and so that's where we'll begin, but we'll also look at how you can change the volume and how you can see how far through the file you are and how you can reposition within the file, and we'll also look at what happens when playback ends, either because we've reached the end of the file or because some kind of audio device error occurred, so let's get started.

Manipulating Audio with Effects
Hi. Mark Heath here and welcome to the third module in this UWP Audio Fundamentals course in which we'll be learning all about how to manipulate audio with effects. Let me give a quick preview of what we'll be covering in this module. We'll start off by looking at how we can mix audio, taking two or more sources of audio and combine them together and we'll see how the AudioSubmixNode helps us to do that. Then I'll be introducing you to the four built-in effects that UWP gives us out of the box, which are an Echo, Equalizer, Limiter, and Reverb effect and we'll be seeing how to connect them into our AudioGraph and control their parameters. Finally, I want to end by showing you how we can create our own custom audio effects and we'll do that by implementing the IBasicAudioEffect interface to create a simple Trance Gate effect, so let's get started.

Recording Audio
Hi. Mark Heath here and welcome to the fourth module in UWP Audio Fundamentals in which we'll be learning all about how to record audio. Now there's two parts to recording audio. First of all, we need to capture audio and in most cases this will be from the microphone or sound card input and so we'll be learning about how the audio device input node allows us to select the input device and capture incoming audio, but AudioGraph also allows you to capture the output of any node in the AudioGraph and so we're actually going to start off by doing just that and recording the audio output of our mixer demo that we created in the last module. The second part to recording, obviously, is actually creating an audio file, so we'll look at the audio file output node and see how we can choose from a variety of different audio encoding formats by specifying a media encoding profile and that will allow us to say, for example, if we wanted to record mp3 or WAV and that's actually what we're going to look at first, so let's see what we can do with AudioFileOutputNode.

Going Further
Hi. Mark Heath here and in this final module of the UWP Audio Fundamentals course, we'll be looking at a few tips and resources that will help you build on what you've learned so far in this course and take it further. We'll start off by looking at one final piece of the AudioGraph API that we haven't yet covered in this course, which is the AudioFrameOutputNode and we'll see how it can be used for audio visualizations. I also want to highlight some excellent sample applications provided by Microsoft that are well worth your time exploring to pick up lots of practical tips for creating UWP applications in general as well as demonstrating how to perform additional audio-related tasks. We'll talk about testing your application on the target devices that you want to run on and I'll give you a quick peek into how you can run a simple audio application on the Raspberry Pi, running Windows IoT core. Then I'll finish off by giving you a few more practical tips to bear in mind when you're creating your own UWP audio applications, so let's get started.