## Generating sounds

A sound can be represented mathematically by a sine wave, with a certain amplitude, frequency, and phase. We can randomly select frequencies from a list specified on Wikipedia at http://en.wikipedia.org/wiki/Piano_key_frequencies that complies with the following formula:

The variable **n** in this formula is the number of the piano key. We will number the keys from 1 to 88. We will also select the amplitude, duration, and phase at random.

### How to do it...

We will begin by initializing random values, then generate sine waves, compose a melody, and finally, plot the generated audio data with Matplotlib.

Initialization.

Initialize to random values:

the amplitude between 200 to 2000,

the duration to 0.01 to 0.2,

the frequencies using the formula already mentioned

the phase to values between 0 and 2 pi

`NTONES = int(sys.argv[1])`

amps = 2000. * numpy.random.random((NTONES,)) + 200. durations = 0.19 * numpy.random.random((NTONES,)) + 0.01 keys = numpy.random.random_integers(1, 88, NTONES) freqs...