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()