In [ ]:
import os, sys
parent_folder = os.path.split(os.path.abspath('.'))[0]
sys.path.append(parent_folder)
from TimeFreqAuditoryScene import *
from IPython.display import Audio, display, clear_output
from IPython.html import widgets
from IPython.html.widgets import interactive
%matplotlib inline

In [ ]:
fs = 44100
duration_shepard = 0.2
delay = 0.1
delay_tritone = 0.1
fb1 = 1.
k = -0.5
dt = np.abs((1./k)*np.log(2.))
duration_context = 8
genv = GaussianSpectralEnvelope(mu_log=5., sigma_log=2.)

scene = Scene()

# Constructing the scene
run_time = 0
# building context
shep_risset = ShepardRisset(fb_end=fb1, env=genv, duration=duration_context, k=k)
run_time += duration_context + delay_tritone

# building tritone
tone1 = ShepardTone(fb=fb1, env=genv, delay=run_time, duration=duration_shepard)
run_time += duration_shepard + delay
tone2 = ShepardTone(fb=fb1*2**(-6./12.), env=genv, delay=run_time, duration=duration_shepard)

scene.add([shep_risset,tone1, tone2])

# generate sound
x = scene.generate(fs=fs)
display(Audio(x, rate=fs, autoplay=True))
# draw spectrogram
sd = SceneDrawer()
sd.draw(scene)
plt.show()