/// <summary>
 /// Takes a specified amount of time from the source stream
 /// </summary>
 /// <param name="sampleProvider">Source sample provider</param>
 /// <param name="take">Duration to take</param>
 /// <returns>A sample provider that reads up to the specified amount of time</returns>
 public static ISampleProvider TakeWithFade(this ISampleProvider sampleProvider, TimeSpan take, TimeSpan fadeIn, TimeSpan fadeOut)
 {
     return(sampleProvider.TakeWithFade(take, fadeIn, fadeOut, TimeSpan.Zero));
 }