# Plotting a Noisy Sine Wave

Learn how to add noise into an audio file and then plot the data.

## Adding noise to a sound wave

In this lesson, we’ll generate a sine wave, add noise to it, and then filter the noise. Let’s start with the code.

Frequency is the number of times a wave repeats a second.

```
frequency = 1000
noisy_freq = 50
num_samples = 48000
```

The sampling rate of the analog to digital conversion is:

```
sampling_rate = 48000.0
```

The primary frequency is 1000Hz, and we’ll add 50Hz of noise to it.

```
#Create the sine wave and noise
sine_wave = [np.sin(2 * np.pi * frequency * x1 / sampling_rate) for x1 in range(num_\
samples)]
sine_noise = [np.sin(2 * np.pi * noisy_freq * x1/ sampling_rate) for x1 in range(nu\
m_samples)]
#Convert them to numpy arrays
sine_wave = np.array(sine_wave)
sine_noise = np.array(sine_noise)
```

We’ll generate two sine waves, one for the signal and one for the noise, and convert them to NumPy arrays.

Now we’ll add these two waves to create a noisy signal.

```
combined_signal = sine_wave + sine_noise
```

We’re adding the noise to the signal. As we mentioned earlier, this is only possible with NumPy. With standard Python, we’d have to use a `for`

loop or use list comprehensions. With NumPy, we can add two arrays like they were regular numbers, and NumPy takes care of the low-level detail for us.

All of the above code has already been added in the code widget below, starting from line 17 onwards.

## Plotting the original and noisy sine wave

Get hands-on with 1400+ tech skills courses.