Programming the
Dynamical Systems
Equation
LING 285
Spring 2021
Mary Byram Washburn
Increase k?
Change c?
Change the starting position?
x= a position of the system
Speed of a spring:
Dynamical
Systems Speed.
Δx
position c= helps determine goal
Equation changes as a = kx +c Not the Goal itself!
functionΔt
of
time
k= stiffness
acceleration of the system
Current position depends on the previous position.
current position = previous position + Δx
current position = previous position + (k*previous position + c)
x= a position of the system
Using the Speed of a spring:
Dynamical Speed.
Systems Δx
position c= helps determine goal
changes as a = kx +c Not the Goal itself!
Equation functionΔt
of
time
k= stiffness
acceleration of the system
Batman is standing on the 10th floor of a skyscraper. He shoots
his grappling hook into a gargoyle on the roof. He counts off
Using the three seconds, then he begins to move. His movement can be
described by the equation:
Dynamical Δx/Δt = -1/2x + 25
Systems
Equation • What floor is Batman at at 3 seconds?
• What floor is Batman at at 6 seconds?
• What floor does Batman ultimately end up on?
Formant Transition in /bɑi/
Speed of Transition:
Δx/Δt = kx + c
Using the
/ɑ/ /i/
Dynamical F1: 900 F1: 300
Systems F2: 1100 F2: 2800
Equation 5000 F1: 600 Hz F1: 450 Hz
4000 F2: 1950 Hz F2: 2375 Hz
[i] doesn’t make its full goal…
Ends at: 3000 /e/ /ɪ/
F1 = 375 Hz 2000
F2 = 2587.5 Hz 1000
0
Give [i] more time??? 1 2 3 4
Formant Transition in /bɑi/
Speed of Transition:
Δx/Δt = kx + c
Using the
/ɑ/ /i/
Dynamical F1: 900 F1: 300
Systems 5000
F2: 1100 F2: 2800
Equation 4500
4000
3500
3000
2500
2000
1500
1000
500
0
1 2 3 4 5 5 7 8 8 10 11 12 13
Coarticulation
/ɑ/ has more time in
Pa than Pop!
Pa /pɑ/ Pop /pɑp/
Formant Transition in /toi/
Speed of Transition:
Δx/Δt = kx + c
Using the
/o/ /i/
Dynamical F1: 700 F1: 300
Systems F2: 1100 F2: 2800
Equation
Diphthong of toy?
/oi/
/o/
F1: 700 Hz
F2: 1100 Hz
/i/
F1: 300 Hz
Dynamical F2: 2800 Hz
Systems for
Dynamical System Equation for F1
Speech Starting Point?
Synthesis
Goal?
k = -1/2
Equation?
Δx/Δt =
Spectrogram for /oi/
5000
4000
3000
2000
Dynamical 1000
Systems for 0
1 2 2 4
Speech
Synthesis
Wouldn’t it be nice to
have a program that did
this automatically?
To do math equations:
print(the equation) ex: print(2+3)
press the “run” button output is “5”
“run” button (arrow) always plays every command I’ve programmed
to make ‘invisible,’ put # in front: #comment won’t run
to multiple: *
Python not parenthesis
Tips to make a listof numbers:
a = [1, 20, 5, 6]
Square brackets and commas
We’ll be using Google Colab To call up a member of the list use square brackets:
https://colab.research.google.com/ a[0] is the initial entry in the list so a[0]=1, a[1]=20
Python is case sensitive: a≠A
p = [6 7 8 9] p = range(6,3)
range( first value, # of values starting with 0)
print(1+1) y = [3, 14, 6]
print(7*8) print(y[0])
print(7 * 8) print(y[1])
y.append(20)
y=6
y=5 print(y[0] * 6)
Python print(y*2)
Examples n=1
z=3 print(y[n])
print(y+z) print(y[n-1])
y.append(y[n+2] + 1)
print(y)
Creates a list called “x” with 100 as the value in 0 spot
x=[100] Initial state = 100
Δx/Δt = (-.25)x
n=1 Goal: 0
Python: x.append(x[n-1] + (-.25 * x[n-1]))
“x.append()” adds a new value to the list
Dynamical n=2
Systems x.append(x[n-1] + (-.25 * x[n-1]))
Equation
n=3
x.append(x[n-1] + (-.25 * x[n-1]))
print(x)
“print” lets you see the list you’ve created
z=[ ]
y=2
z=[ ] Creates a list z
z.append(y+3) Range for variable
for y in [2,3,4]:
y=3 Don’t forget colon
for loops z.append(y+3)
z.append(y+3)
y=4
z.append(y+3)
h=[]
h.append(1 + 2)
h.append(2 + 2)
for loops h.append(3 + 2)
h.append(4 + 2)
h.append(5 + 2)
h.append(6 + 2)
m=[]
m.append((3 * 1) + 1)
m.append((3 * 2) + 2)
for loops m.append((3 * 3) + 3)
m.append((3 * 4) + 4)
m.append((3 * 5) + 5)
m.append((3 * 6) + 6)
m=[]
for j in range(1,5):
for loops m.append((2*j) + j)
Initial state = 100
Δx/Δt = (-.25)x
x=[100]
n=1
Python: x.append(x[n-1] + (-.25 * x[n-1]))
Dynamical
Systems n=2
Equation x.append(x[n-1] + (-.25 * x[n-1]))
n=3
x.append(x[n-1] + (-.25 * x[n-1]))
Initial state = 2
Δx/Δt = (-.5)x + 25
3 movements
for loops
Starting Position: 10th floor
Starting Time: 3 seconds
Δx/Δt = -1/2x + 25
Where at 6 seconds?
3-6 seconds
Positions in a list: [3 sec, 4 sec, 5 sec, 6 sec]
x=[ ] position [ 0 1 2 3 ]
for loops for n in range( ):
x.append(x[n-1] + ((-.5 * x[n-1]) + 25))
Formant Transition in /bɑi/
Dynamical /ɑ/ /i/
F1: 900 F1: 300
Systems for F2: 1100 F2: 2800
Speech
Speed of Transition for Jaw Movement:
Δx/Δt = kx + c
/ɑ/
F1: 900 Hz
F2: 1100 Hz
/i/
F1: 300 Hz
Dynamical F2: 2800 Hz
Systems for
Dynamical System Equation for F1
Speech Starting Point?
Synthesis 900 Hz
Goal?
300 Hz
k = -1/2
Equation?
Δx/Δt = -.5x + 150
Speaker: Khalil Iskarous
Title: Sound Structure and Deep Learning: A Hope for Endangered
Prof. Iskarous Language Documentation
When: Wed 3/3/21 9am Pacific, but it will be online on YouTube for
talks about later viewing
stuff in Ling
285! https://www.youtube.com/watch?v=E1kqcUYrV4U