Broadcasting arrays
Without knowing it, you might have broadcasted arrays. In a nutshell, NumPy tries to perform an operation even though the operands do not have the same shape. In this recipe, we will multiply an array and a scalar. The scalar is "extended" to the shape of the array operand and then the multiplication is performed. We will download an audio file and make a new version that is quieter.
How to do it...
Let's start by reading a WAV file:
Reading a WAV file.
We will use a standard Python code to download an audio file of Austin Powers called "Smashing, baby". SciPy has a
wavfile
module, which allows you to load sound data or generate WAV files. If SciPy is installed, then we should have this module already. Theread
function returns a data array and sample rate. In this example, we only care about the data:sample_rate, data = scipy.io.wavfile.read(WAV_FILE)
Plot the original WAV data.
Plot the original WAV data with Matplotlib. Give the subplot the title
Original
.matplotlib.pyplot...