In [ ]:
import os, sys
import numpy as np
import random
from TimeFreqAuditoryScene import *
from Chambers import *
from IPython.display import Audio, display, clear_output
from IPython.html import widgets
from IPython.html.widgets import interactive
%matplotlib inline
In [ ]:
# Generating Sequences of shepard tones in two different ways
# - as sequences of shepard tones
# - as correlated streams of tones
# Both views are equivalent
fs = 44100.
tone_duration = 0.3
n_tones = 5
inter_tone_interval = 0.1
genv = GaussianSpectralEnvelope(mu=960.,sigma_oct=2)
bias = random.choice(['up','down'])
ctx1 = Context(n_tones=n_tones,
inter_tone_interval=inter_tone_interval,
env=genv,
bias=bias,
fb_T1=1.,
type="chords")
ctx2 = Context(n_tones=n_tones,
inter_tone_interval=inter_tone_interval,
env=genv,
bias=bias,
fb_T1=1.,
type="streams")
for ctx in [ctx1,ctx2]:
for i in range(len(ctx.List)):
ctx.List[i].draw_bbox = True
items = [ctx1,ctx2]
for item in items:
print(item.TAG)
sd = SceneDrawer()
scene1 = Scene()
scene1.add(ctx1)
sd.draw(scene1)
plt.show()
scene2 = Scene()
scene2.add(ctx)
sd.draw(scene2)
plt.show()