from IPython.display import Audio
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.dates as mdates
import datetime as datetime
import sys , os
%matplotlib inline
Ipython is an
First we import Audio from IPython, then NumPy. These will make possible to not only generate sound, but work with numbers and further datasets.
The next two examples we can see the operations using NumPy, after the sound output using Audio
The first code modulates a 440 Hz carrier signal with a 520 Hz modulation signal. The modulation fignal (frequence modulation - fm) is the basis of FM radio and of FM synthesis.
import numpy
fs = 44100 # sampling frequency, Hz
fc = 440 # carrier frequency, Hz
fm = 520 # modulation frequency, Hz
T = 19.5 # seconds
twopi = 2*numpy.pi
t = numpy.linspace(0, T, int(T*fs), endpoint=False) # time variable
# Produce ramp from 0 to 1
beta = numpy.linspace(0, 5, int(T*fs))
output = numpy.sin(twopi*fc*t + beta*numpy.sin(twopi*fm*t))
from IPython.display import Audio
Audio(output, rate=fs)