##// END OF EJS Templates
Merge pull request #8679 from ndunn219/patch-1...
Merge pull request #8679 from ndunn219/patch-1 Update JavaScript Notebook Extensions.ipynb

File last commit:

r20541:1e566dcc
r21560:db1266a5 merge
Show More
Beat Frequencies.ipynb
120 lines | 2.4 KiB | text/plain | TextLexer

Exploring Beat Frequencies using the Audio Object

This example uses the Audio object and Matplotlib to explore the phenomenon of beat frequencies.

In [ ]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
In [ ]:
from IPython.html.widgets import interactive
from IPython.display import Audio, display
import numpy as np
In [ ]:
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 [ ]:
v = interactive(beat_freq, f1=(200.0,300.0), f2=(200.0,300.0))
display(v)
In [ ]:
v.kwargs
In [ ]:
f1, f2 = v.children
f1.value = 255
f2.value = 260
plt.plot(v.result[0:6000])