# Recipe 54: Normalise the sound to a maximum amplitude

def normalise(sound):
  largest = 0
  for s in getSamples(sound):        
    largest = max(largest,getSample(s))
  amplification = 32767.0 / largest

  print "Largest sample in original sound was", largest
  print "Aplification factor is", amplification

  for s in getSamples(sound):      
    louder =  amplification * getSample(s)  
    setSample(s, louder)  

  return sound  