mirror of
https://github.com/jupyter/notebook.git
synced 2025-01-06 11:35:24 +08:00
165 KiB
165 KiB
Exploring Beat Frequencies using the Audio
Object¶
This example uses the Audio
object and Matplotlib to explore the phenomenon of beat frequencies.
In [9]:
%matplotlib inline import matplotlib.pyplot as plt import numpy as np
In [10]:
from IPython.html.widgets import interactive from IPython.display import Audio, display import numpy as np
In [11]:
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 [12]:
v = interactive(beat_freq, f1=(200.0,300.0), f2=(200.0,300.0)) display(v)
(220.0, 224.0, 4.0)
Your browser does not support the audio element.
In [13]:
v.kwargs
Out[13]:
{u'f1': 220.0, u'f2': 224.0}
In [14]:
f1, f2 = v.children f1.value = 255 f2.value = 260 plt.plot(v.result[0:6000])
(255.0, 260.0, 5.0)
Your browser does not support the audio element.
Out[14]:
[<matplotlib.lines.Line2D at 0x1087ee990>]