NumPy attempts to execute a procedure even though the operands do not have the same shape.
In this recipe, we will multiply an array and a scalar. The scalar is broadened to the shape of the array operand and then the multiplication is executed. The process described here is called broadcasting. The following is the entire code for this recipe:
import scipy.io.wavfile as sw import matplotlib.pyplot as plt import urllib import numpy as np request = urllib.request.Request('http://www.thesoundarchive.com/austinpowers/smashingbaby.wav') response = urllib.request.urlopen(request) print(response.info()) WAV_FILE = 'smashingbaby.wav' filehandle = open(WAV_FILE, 'wb') filehandle.write(response.read()) filehandle.close() sample_rate, data = sw.read(WAV_FILE) print("Data type", data.dtype, "Shape", data.shape) plt.subplot(2, 1, 1) plt.title("Original") plt.plot(data) ...