code: def gauss_noise(dur=None, mu=0., sigma=1.):
    
    if dur is None or (isinf(dur) and dur > 0):
      while True:
        yield random.gauss(mu, sigma)
    for x in xrange(rint(dur)):
      yield random.gauss(mu, sigma)
docs: Gaussian (normal) noise stream generator.
  
    Parameters
    ----------
    dur :
      Duration, in number of samples; endless if not given (or None).
    mu :
      Distribution mean. Defaults to zero.
    sigma :
      Distribution standard deviation. Defaults to one.
  
    Returns
    -------
    Stream yielding Gaussian-distributed random numbers.
  
    Warning
    -------
    This function can yield values outside the [-1; 1] range, and you might
    need to clip its results.
  
    See Also
    --------
    clip:
      Clips the signal up to both a lower and a higher limit.