#!/usr/bin/env python # coding: utf-8 # # Exploring Beat Frequencies using the `Audio` Object # This example uses the `Audio` object and Matplotlib to explore the phenomenon of beat frequencies. # In[1]: get_ipython().run_line_magic('matplotlib', 'inline') import matplotlib.pyplot as plt import numpy as np # In[2]: from ipywidgets import interactive from IPython.display import Audio, display import numpy as np # In[3]: def beat_freq(f1=220.0, f2=224.0): max_time = 3 rate = 8000 times = np.linspace(0,max_time,rate*max_time) signal = np.sin(2*np.pi*f1*times) + np.sin(2*np.pi*f2*times) print(f1, f2, abs(f1-f2)) display(Audio(data=signal, rate=rate)) return signal # In[4]: v = interactive(beat_freq, f1=(200.0,300.0), f2=(200.0,300.0)) display(v) # In[5]: v.kwargs # In[6]: f1, f2 = v.children f1.value = 255 f2.value = 260 plt.plot(v.result[0:6000])