H-Liu1997 commited on
Commit
b03a8f2
·
1 Parent(s): aeef558
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -4
  2. .ipynb_checkpoints/README-checkpoint.md +0 -13
  3. .ipynb_checkpoints/app-checkpoint.py +0 -664
  4. .ipynb_checkpoints/packages-checkpoint.txt +0 -4
  5. .ipynb_checkpoints/requirements-checkpoint.txt +0 -39
  6. .ipynb_checkpoints/test_demo-checkpoint.py +0 -581
  7. EMAGE/emage_audio_175.bin +0 -3
  8. EMAGE/pretrained_vq/.DS_Store +0 -0
  9. EMAGE/pretrained_vq/hands_vertex_1layer_710.bin +0 -3
  10. EMAGE/pretrained_vq/last_1700_foot.bin +0 -3
  11. EMAGE/pretrained_vq/last_790_face_v2.bin +0 -3
  12. EMAGE/pretrained_vq/lower_foot_600.bin +0 -3
  13. EMAGE/smplx_models/.DS_Store +0 -0
  14. EMAGE/smplx_models/smplx/SMPLX_NEUTRAL_2020.npz +0 -3
  15. EMAGE/test_sequences/smplxflame_30/2_scott_0_1_1.npz +0 -3
  16. EMAGE/test_sequences/smplxflame_30/2_scott_0_2_2.npz +0 -3
  17. EMAGE/test_sequences/smplxflame_30/2_scott_0_3_3.npz +0 -3
  18. EMAGE/test_sequences/smplxflame_30/2_scott_0_4_4.npz +0 -3
  19. EMAGE/test_sequences/test.csv +0 -5
  20. EMAGE/test_sequences/textgrid/2_scott_0_1_1.TextGrid +0 -3636
  21. EMAGE/test_sequences/textgrid/2_scott_0_2_2.TextGrid +0 -3716
  22. EMAGE/test_sequences/textgrid/2_scott_0_3_3.TextGrid +0 -3676
  23. EMAGE/test_sequences/textgrid/2_scott_0_4_4.TextGrid +0 -3844
  24. EMAGE/test_sequences/wave16k/2_scott_0_1_1.wav +0 -3
  25. EMAGE/test_sequences/wave16k/2_scott_0_2_2.wav +0 -3
  26. EMAGE/test_sequences/wave16k/2_scott_0_3_3.wav +0 -3
  27. EMAGE/test_sequences/wave16k/2_scott_0_4_4.wav +0 -3
  28. EMAGE/test_sequences/weights/AESKConv_240_100.bin +0 -3
  29. EMAGE/test_sequences/weights/mean_vel_smplxflame_30.npy +0 -3
  30. EMAGE/test_sequences/weights/vocab.pkl +0 -3
  31. README.md +7 -18
  32. ae_trainer.py +0 -375
  33. aeface_trainer.py +0 -388
  34. aelower_trainer.py +0 -494
  35. aelowerfoot_trainer.py +0 -491
  36. app.py +209 -653
  37. camn_trainer.py +0 -361
  38. configs/.ipynb_checkpoints/emage_test_hf-checkpoint.yaml +0 -101
  39. configs/camn.yaml +0 -101
  40. configs/camn_audio.yaml +71 -0
  41. configs/cnn_vqvae_face_30.yaml +0 -82
  42. configs/cnn_vqvae_hands_30.yaml +0 -81
  43. configs/cnn_vqvae_lower_30.yaml +0 -81
  44. configs/cnn_vqvae_lower_foot_30.yaml +0 -81
  45. configs/cnn_vqvae_upper_30.yaml +0 -82
  46. configs/disco_audio.yaml +70 -0
  47. configs/emage.yaml +0 -101
  48. configs/emage_audio.yaml +78 -0
  49. configs/emage_test.yaml +0 -101
  50. configs/emage_test_colab.yaml +0 -101
.gitattributes CHANGED
@@ -33,7 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
- EMAGE/test_sequences/wave16k/2_scott_0_1_1.wav filter=lfs diff=lfs merge=lfs -text
37
- EMAGE/test_sequences/wave16k/2_scott_0_2_2.wav filter=lfs diff=lfs merge=lfs -text
38
- EMAGE/test_sequences/wave16k/2_scott_0_3_3.wav filter=lfs diff=lfs merge=lfs -text
39
- EMAGE/test_sequences/wave16k/2_scott_0_4_4.wav filter=lfs diff=lfs merge=lfs -text
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.wav filter=lfs diff=lfs merge=lfs -text
 
 
 
.ipynb_checkpoints/README-checkpoint.md DELETED
@@ -1,13 +0,0 @@
1
- ---
2
- title: EMAGE
3
- emoji: ⚡
4
- colorFrom: yellow
5
- colorTo: green
6
- sdk: gradio
7
- sdk_version: 4.24.0
8
- app_file: app.py
9
- pinned: false
10
- license: apache-2.0
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.ipynb_checkpoints/app-checkpoint.py DELETED
@@ -1,664 +0,0 @@
1
- import spaces
2
- import os
3
- # os.system("Xvfb :99 -ac &")
4
- # os.environ["DISPLAY"] = ":99"
5
- import OpenGL.GL as gl
6
- os.environ["PYOPENGL_PLATFORM"] = "egl"
7
- os.environ["MESA_GL_VERSION_OVERRIDE"] = "4.1"
8
- import signal
9
- import time
10
- import csv
11
- import sys
12
- import warnings
13
- import random
14
- import gradio as gr
15
- import torch
16
- import torch.nn as nn
17
- import torch.nn.functional as F
18
- import torch.distributed as dist
19
- from torch.nn.parallel import DistributedDataParallel as DDP
20
- import torch.multiprocessing as mp
21
- import numpy as np
22
- import time
23
- import pprint
24
- from loguru import logger
25
- import smplx
26
- from torch.utils.tensorboard import SummaryWriter
27
- import wandb
28
- import matplotlib.pyplot as plt
29
- from utils import config, logger_tools, other_tools_hf, metric, data_transfer
30
- from dataloaders import data_tools
31
- from dataloaders.build_vocab import Vocab
32
- from optimizers.optim_factory import create_optimizer
33
- from optimizers.scheduler_factory import create_scheduler
34
- from optimizers.loss_factory import get_loss_func
35
- from dataloaders.data_tools import joints_list
36
- from utils import rotation_conversions as rc
37
- import soundfile as sf
38
- import librosa
39
-
40
- def inverse_selection_tensor(filtered_t, selection_array, n):
41
- selection_array = torch.from_numpy(selection_array).cuda()
42
- original_shape_t = torch.zeros((n, 165)).cuda()
43
- selected_indices = torch.where(selection_array == 1)[0]
44
- for i in range(n):
45
- original_shape_t[i, selected_indices] = filtered_t[i]
46
- return original_shape_t
47
-
48
- @spaces.GPU(duration=120)
49
- def test_demo_gpu(
50
- model, vq_model_face, vq_model_upper, vq_model_hands, vq_model_lower, global_motion, smplx_model,
51
- dict_data,
52
- args,
53
- joints, joint_mask_upper, joint_mask_lower, joint_mask_hands,
54
- log_softmax,
55
- ):
56
- rank = 0
57
- other_tools_hf.load_checkpoints(vq_model_face, args.data_path_1 + "pretrained_vq/last_790_face_v2.bin", args.e_name)
58
- other_tools_hf.load_checkpoints(vq_model_upper, args.data_path_1 + "pretrained_vq/upper_vertex_1layer_710.bin", args.e_name)
59
- other_tools_hf.load_checkpoints(vq_model_hands, args.data_path_1 + "pretrained_vq/hands_vertex_1layer_710.bin", args.e_name)
60
- other_tools_hf.load_checkpoints(vq_model_lower, args.data_path_1 + "pretrained_vq/lower_foot_600.bin", args.e_name)
61
- other_tools_hf.load_checkpoints(global_motion, args.data_path_1 + "pretrained_vq/last_1700_foot.bin", args.e_name)
62
- other_tools_hf.load_checkpoints(model, args.test_ckpt, args.g_name)
63
- model.to(rank).eval()
64
- smplx_model.to(rank).eval()
65
- vq_model_face.to(rank).eval()
66
- vq_model_upper.to(rank).eval()
67
- vq_model_hands.to(rank).eval()
68
- vq_model_lower.to(rank).eval()
69
- global_motion.to(rank).eval()
70
-
71
- with torch.no_grad():
72
- tar_pose_raw = dict_data["pose"]
73
- tar_pose = tar_pose_raw[:, :, :165].to(rank)
74
- tar_contact = tar_pose_raw[:, :, 165:169].to(rank)
75
- tar_trans = dict_data["trans"].to(rank)
76
- tar_exps = dict_data["facial"].to(rank)
77
- in_audio = dict_data["audio"].to(rank)
78
- in_word = None# dict_data["word"].to(rank)
79
- tar_beta = dict_data["beta"].to(rank)
80
- tar_id = dict_data["id"].to(rank).long()
81
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], joints
82
-
83
- tar_pose_jaw = tar_pose[:, :, 66:69]
84
- tar_pose_jaw = rc.axis_angle_to_matrix(tar_pose_jaw.reshape(bs, n, 1, 3))
85
- tar_pose_jaw = rc.matrix_to_rotation_6d(tar_pose_jaw).reshape(bs, n, 1*6)
86
- tar_pose_face = torch.cat([tar_pose_jaw, tar_exps], dim=2)
87
-
88
- tar_pose_hands = tar_pose[:, :, 25*3:55*3]
89
- tar_pose_hands = rc.axis_angle_to_matrix(tar_pose_hands.reshape(bs, n, 30, 3))
90
- tar_pose_hands = rc.matrix_to_rotation_6d(tar_pose_hands).reshape(bs, n, 30*6)
91
-
92
- tar_pose_upper = tar_pose[:, :, joint_mask_upper.astype(bool)]
93
- tar_pose_upper = rc.axis_angle_to_matrix(tar_pose_upper.reshape(bs, n, 13, 3))
94
- tar_pose_upper = rc.matrix_to_rotation_6d(tar_pose_upper).reshape(bs, n, 13*6)
95
-
96
- tar_pose_leg = tar_pose[:, :, joint_mask_lower.astype(bool)]
97
- tar_pose_leg = rc.axis_angle_to_matrix(tar_pose_leg.reshape(bs, n, 9, 3))
98
- tar_pose_leg = rc.matrix_to_rotation_6d(tar_pose_leg).reshape(bs, n, 9*6)
99
- tar_pose_lower = torch.cat([tar_pose_leg, tar_trans, tar_contact], dim=2)
100
-
101
- # tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
102
- # tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
103
- tar4dis = torch.cat([tar_pose_jaw, tar_pose_upper, tar_pose_hands, tar_pose_leg], dim=2)
104
-
105
- tar_index_value_face_top = vq_model_face.map2index(tar_pose_face) # bs*n/4
106
- tar_index_value_upper_top = vq_model_upper.map2index(tar_pose_upper) # bs*n/4
107
- tar_index_value_hands_top = vq_model_hands.map2index(tar_pose_hands) # bs*n/4
108
- tar_index_value_lower_top = vq_model_lower.map2index(tar_pose_lower) # bs*n/4
109
-
110
- latent_face_top = vq_model_face.map2latent(tar_pose_face) # bs*n/4
111
- latent_upper_top = vq_model_upper.map2latent(tar_pose_upper) # bs*n/4
112
- latent_hands_top = vq_model_hands.map2latent(tar_pose_hands) # bs*n/4
113
- latent_lower_top = vq_model_lower.map2latent(tar_pose_lower) # bs*n/4
114
-
115
- latent_in = torch.cat([latent_upper_top, latent_hands_top, latent_lower_top], dim=2)
116
-
117
- index_in = torch.stack([tar_index_value_upper_top, tar_index_value_hands_top, tar_index_value_lower_top], dim=-1).long()
118
-
119
- tar_pose_6d = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
120
- tar_pose_6d = rc.matrix_to_rotation_6d(tar_pose_6d).reshape(bs, n, 55*6)
121
- latent_all = torch.cat([tar_pose_6d, tar_trans, tar_contact], dim=-1)
122
-
123
- loaded_data = {
124
- "tar_pose_jaw": tar_pose_jaw,
125
- "tar_pose_face": tar_pose_face,
126
- "tar_pose_upper": tar_pose_upper,
127
- "tar_pose_lower": tar_pose_lower,
128
- "tar_pose_hands": tar_pose_hands,
129
- 'tar_pose_leg': tar_pose_leg,
130
- "in_audio": in_audio,
131
- "in_word": in_word,
132
- "tar_trans": tar_trans,
133
- "tar_exps": tar_exps,
134
- "tar_beta": tar_beta,
135
- "tar_pose": tar_pose,
136
- "tar4dis": tar4dis,
137
- "tar_index_value_face_top": tar_index_value_face_top,
138
- "tar_index_value_upper_top": tar_index_value_upper_top,
139
- "tar_index_value_hands_top": tar_index_value_hands_top,
140
- "tar_index_value_lower_top": tar_index_value_lower_top,
141
- "latent_face_top": latent_face_top,
142
- "latent_upper_top": latent_upper_top,
143
- "latent_hands_top": latent_hands_top,
144
- "latent_lower_top": latent_lower_top,
145
- "latent_in": latent_in,
146
- "index_in": index_in,
147
- "tar_id": tar_id,
148
- "latent_all": latent_all,
149
- "tar_pose_6d": tar_pose_6d,
150
- "tar_contact": tar_contact,
151
- }
152
-
153
- mode = 'test'
154
- bs, n, j = loaded_data["tar_pose"].shape[0], loaded_data["tar_pose"].shape[1], joints
155
- tar_pose = loaded_data["tar_pose"]
156
- tar_beta = loaded_data["tar_beta"]
157
- in_word =None# loaded_data["in_word"]
158
- tar_exps = loaded_data["tar_exps"]
159
- tar_contact = loaded_data["tar_contact"]
160
- in_audio = loaded_data["in_audio"]
161
- tar_trans = loaded_data["tar_trans"]
162
-
163
- remain = n%8
164
- if remain != 0:
165
- tar_pose = tar_pose[:, :-remain, :]
166
- tar_beta = tar_beta[:, :-remain, :]
167
- tar_trans = tar_trans[:, :-remain, :]
168
- # in_word = in_word[:, :-remain]
169
- tar_exps = tar_exps[:, :-remain, :]
170
- tar_contact = tar_contact[:, :-remain, :]
171
- n = n - remain
172
-
173
- tar_pose_jaw = tar_pose[:, :, 66:69]
174
- tar_pose_jaw = rc.axis_angle_to_matrix(tar_pose_jaw.reshape(bs, n, 1, 3))
175
- tar_pose_jaw = rc.matrix_to_rotation_6d(tar_pose_jaw).reshape(bs, n, 1*6)
176
- tar_pose_face = torch.cat([tar_pose_jaw, tar_exps], dim=2)
177
-
178
- tar_pose_hands = tar_pose[:, :, 25*3:55*3]
179
- tar_pose_hands = rc.axis_angle_to_matrix(tar_pose_hands.reshape(bs, n, 30, 3))
180
- tar_pose_hands = rc.matrix_to_rotation_6d(tar_pose_hands).reshape(bs, n, 30*6)
181
-
182
- tar_pose_upper = tar_pose[:, :, joint_mask_upper.astype(bool)]
183
- tar_pose_upper = rc.axis_angle_to_matrix(tar_pose_upper.reshape(bs, n, 13, 3))
184
- tar_pose_upper = rc.matrix_to_rotation_6d(tar_pose_upper).reshape(bs, n, 13*6)
185
-
186
- tar_pose_leg = tar_pose[:, :, joint_mask_lower.astype(bool)]
187
- tar_pose_leg = rc.axis_angle_to_matrix(tar_pose_leg.reshape(bs, n, 9, 3))
188
- tar_pose_leg = rc.matrix_to_rotation_6d(tar_pose_leg).reshape(bs, n, 9*6)
189
- tar_pose_lower = torch.cat([tar_pose_leg, tar_trans, tar_contact], dim=2)
190
-
191
- tar_pose_6d = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
192
- tar_pose_6d = rc.matrix_to_rotation_6d(tar_pose_6d).reshape(bs, n, 55*6)
193
- latent_all = torch.cat([tar_pose_6d, tar_trans, tar_contact], dim=-1)
194
-
195
- rec_index_all_face = []
196
- rec_index_all_upper = []
197
- rec_index_all_lower = []
198
- rec_index_all_hands = []
199
-
200
- roundt = (n - args.pre_frames) // (args.pose_length - args.pre_frames)
201
- remain = (n - args.pre_frames) % (args.pose_length - args.pre_frames)
202
- round_l = args.pose_length - args.pre_frames
203
-
204
- for i in range(0, roundt):
205
- # in_word_tmp = in_word[:, i*(round_l):(i+1)*(round_l)+args.pre_frames]
206
- # audio fps is 16000 and pose fps is 30
207
- in_audio_tmp = in_audio[:, i*(16000//30*round_l):(i+1)*(16000//30*round_l)+16000//30*args.pre_frames]
208
- in_id_tmp = loaded_data['tar_id'][:, i*(round_l):(i+1)*(round_l)+args.pre_frames]
209
- mask_val = torch.ones(bs, args.pose_length, args.pose_dims+3+4).float().cuda()
210
- mask_val[:, :args.pre_frames, :] = 0.0
211
- if i == 0:
212
- latent_all_tmp = latent_all[:, i*(round_l):(i+1)*(round_l)+args.pre_frames, :]
213
- else:
214
- latent_all_tmp = latent_all[:, i*(round_l):(i+1)*(round_l)+args.pre_frames, :]
215
- # print(latent_all_tmp.shape, latent_last.shape)
216
- latent_all_tmp[:, :args.pre_frames, :] = latent_last[:, -args.pre_frames:, :]
217
-
218
- net_out_val = model(
219
- in_audio = in_audio_tmp,
220
- in_word=None, #in_word_tmp,
221
- mask=mask_val,
222
- in_motion = latent_all_tmp,
223
- in_id = in_id_tmp,
224
- use_attentions=True,)
225
-
226
- if args.cu != 0:
227
- rec_index_upper = log_softmax(net_out_val["cls_upper"]).reshape(-1, args.vae_codebook_size)
228
- _, rec_index_upper = torch.max(rec_index_upper.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
229
- #rec_upper = vq_model_upper.decode(rec_index_upper)
230
- else:
231
- _, rec_index_upper, _, _ = vq_model_upper.quantizer(net_out_val["rec_upper"])
232
- #rec_upper = vq_model_upper.decoder(rec_index_upper)
233
- if args.cl != 0:
234
- rec_index_lower = log_softmax(net_out_val["cls_lower"]).reshape(-1, args.vae_codebook_size)
235
- _, rec_index_lower = torch.max(rec_index_lower.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
236
- #rec_lower = vq_model_lower.decode(rec_index_lower)
237
- else:
238
- _, rec_index_lower, _, _ = vq_model_lower.quantizer(net_out_val["rec_lower"])
239
- #rec_lower = vq_model_lower.decoder(rec_index_lower)
240
- if args.ch != 0:
241
- rec_index_hands = log_softmax(net_out_val["cls_hands"]).reshape(-1, args.vae_codebook_size)
242
- _, rec_index_hands = torch.max(rec_index_hands.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
243
- #rec_hands = vq_model_hands.decode(rec_index_hands)
244
- else:
245
- _, rec_index_hands, _, _ = vq_model_hands.quantizer(net_out_val["rec_hands"])
246
- #rec_hands = vq_model_hands.decoder(rec_index_hands)
247
- if args.cf != 0:
248
- rec_index_face = log_softmax(net_out_val["cls_face"]).reshape(-1, args.vae_codebook_size)
249
- _, rec_index_face = torch.max(rec_index_face.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
250
- #rec_face = vq_model_face.decoder(rec_index_face)
251
- else:
252
- _, rec_index_face, _, _ = vq_model_face.quantizer(net_out_val["rec_face"])
253
- #rec_face = vq_model_face.decoder(rec_index_face)
254
-
255
- if i == 0:
256
- rec_index_all_face.append(rec_index_face)
257
- rec_index_all_upper.append(rec_index_upper)
258
- rec_index_all_lower.append(rec_index_lower)
259
- rec_index_all_hands.append(rec_index_hands)
260
- else:
261
- rec_index_all_face.append(rec_index_face[:, args.pre_frames:])
262
- rec_index_all_upper.append(rec_index_upper[:, args.pre_frames:])
263
- rec_index_all_lower.append(rec_index_lower[:, args.pre_frames:])
264
- rec_index_all_hands.append(rec_index_hands[:, args.pre_frames:])
265
-
266
- if args.cu != 0:
267
- rec_upper_last = vq_model_upper.decode(rec_index_upper)
268
- else:
269
- rec_upper_last = vq_model_upper.decoder(rec_index_upper)
270
- if args.cl != 0:
271
- rec_lower_last = vq_model_lower.decode(rec_index_lower)
272
- else:
273
- rec_lower_last = vq_model_lower.decoder(rec_index_lower)
274
- if args.ch != 0:
275
- rec_hands_last = vq_model_hands.decode(rec_index_hands)
276
- else:
277
- rec_hands_last = vq_model_hands.decoder(rec_index_hands)
278
- # if args.cf != 0:
279
- # rec_face_last = vq_model_face.decode(rec_index_face)
280
- # else:
281
- # rec_face_last = vq_model_face.decoder(rec_index_face)
282
-
283
- rec_pose_legs = rec_lower_last[:, :, :54]
284
- bs, n = rec_pose_legs.shape[0], rec_pose_legs.shape[1]
285
- rec_pose_upper = rec_upper_last.reshape(bs, n, 13, 6)
286
- rec_pose_upper = rc.rotation_6d_to_matrix(rec_pose_upper)#
287
- rec_pose_upper = rc.matrix_to_axis_angle(rec_pose_upper).reshape(bs*n, 13*3)
288
- rec_pose_upper_recover = inverse_selection_tensor(rec_pose_upper, joint_mask_upper, bs*n)
289
- rec_pose_lower = rec_pose_legs.reshape(bs, n, 9, 6)
290
- rec_pose_lower = rc.rotation_6d_to_matrix(rec_pose_lower)
291
- rec_pose_lower = rc.matrix_to_axis_angle(rec_pose_lower).reshape(bs*n, 9*3)
292
- rec_pose_lower_recover = inverse_selection_tensor(rec_pose_lower, joint_mask_lower, bs*n)
293
- rec_pose_hands = rec_hands_last.reshape(bs, n, 30, 6)
294
- rec_pose_hands = rc.rotation_6d_to_matrix(rec_pose_hands)
295
- rec_pose_hands = rc.matrix_to_axis_angle(rec_pose_hands).reshape(bs*n, 30*3)
296
- rec_pose_hands_recover = inverse_selection_tensor(rec_pose_hands, joint_mask_hands, bs*n)
297
- rec_pose = rec_pose_upper_recover + rec_pose_lower_recover + rec_pose_hands_recover
298
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs, n, j, 3))
299
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
300
- rec_trans_v_s = rec_lower_last[:, :, 54:57]
301
- rec_x_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 0:1], 1/args.pose_fps, tar_trans[:, 0, 0:1])
302
- rec_z_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 2:3], 1/args.pose_fps, tar_trans[:, 0, 2:3])
303
- rec_y_trans = rec_trans_v_s[:,:,1:2]
304
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
305
- latent_last = torch.cat([rec_pose, rec_trans, rec_lower_last[:, :, 57:61]], dim=-1)
306
-
307
- rec_index_face = torch.cat(rec_index_all_face, dim=1)
308
- rec_index_upper = torch.cat(rec_index_all_upper, dim=1)
309
- rec_index_lower = torch.cat(rec_index_all_lower, dim=1)
310
- rec_index_hands = torch.cat(rec_index_all_hands, dim=1)
311
- if args.cu != 0:
312
- rec_upper = vq_model_upper.decode(rec_index_upper)
313
- else:
314
- rec_upper = vq_model_upper.decoder(rec_index_upper)
315
- if args.cl != 0:
316
- rec_lower = vq_model_lower.decode(rec_index_lower)
317
- else:
318
- rec_lower = vq_model_lower.decoder(rec_index_lower)
319
- if args.ch != 0:
320
- rec_hands = vq_model_hands.decode(rec_index_hands)
321
- else:
322
- rec_hands = vq_model_hands.decoder(rec_index_hands)
323
- if args.cf != 0:
324
- rec_face = vq_model_face.decode(rec_index_face)
325
- else:
326
- rec_face = vq_model_face.decoder(rec_index_face)
327
-
328
- rec_exps = rec_face[:, :, 6:]
329
- rec_pose_jaw = rec_face[:, :, :6]
330
- rec_pose_legs = rec_lower[:, :, :54]
331
- bs, n = rec_pose_jaw.shape[0], rec_pose_jaw.shape[1]
332
- rec_pose_upper = rec_upper.reshape(bs, n, 13, 6)
333
- rec_pose_upper = rc.rotation_6d_to_matrix(rec_pose_upper)#
334
- rec_pose_upper = rc.matrix_to_axis_angle(rec_pose_upper).reshape(bs*n, 13*3)
335
- rec_pose_upper_recover = inverse_selection_tensor(rec_pose_upper, joint_mask_upper, bs*n)
336
- rec_pose_lower = rec_pose_legs.reshape(bs, n, 9, 6)
337
- rec_pose_lower = rc.rotation_6d_to_matrix(rec_pose_lower)
338
- rec_lower2global = rc.matrix_to_rotation_6d(rec_pose_lower.clone()).reshape(bs, n, 9*6)
339
- rec_pose_lower = rc.matrix_to_axis_angle(rec_pose_lower).reshape(bs*n, 9*3)
340
- rec_pose_lower_recover = inverse_selection_tensor(rec_pose_lower, joint_mask_lower, bs*n)
341
- rec_pose_hands = rec_hands.reshape(bs, n, 30, 6)
342
- rec_pose_hands = rc.rotation_6d_to_matrix(rec_pose_hands)
343
- rec_pose_hands = rc.matrix_to_axis_angle(rec_pose_hands).reshape(bs*n, 30*3)
344
- rec_pose_hands_recover = inverse_selection_tensor(rec_pose_hands, joint_mask_hands, bs*n)
345
- rec_pose_jaw = rec_pose_jaw.reshape(bs*n, 6)
346
- rec_pose_jaw = rc.rotation_6d_to_matrix(rec_pose_jaw)
347
- rec_pose_jaw = rc.matrix_to_axis_angle(rec_pose_jaw).reshape(bs*n, 1*3)
348
- rec_pose = rec_pose_upper_recover + rec_pose_lower_recover + rec_pose_hands_recover
349
- rec_pose[:, 66:69] = rec_pose_jaw
350
-
351
- to_global = rec_lower
352
- to_global[:, :, 54:57] = 0.0
353
- to_global[:, :, :54] = rec_lower2global
354
- rec_global = global_motion(to_global)
355
-
356
- rec_trans_v_s = rec_global["rec_pose"][:, :, 54:57]
357
- rec_x_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 0:1], 1/args.pose_fps, tar_trans[:, 0, 0:1])
358
- rec_z_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 2:3], 1/args.pose_fps, tar_trans[:, 0, 2:3])
359
- rec_y_trans = rec_trans_v_s[:,:,1:2]
360
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
361
- tar_pose = tar_pose[:, :n, :]
362
- tar_exps = tar_exps[:, :n, :]
363
- tar_trans = tar_trans[:, :n, :]
364
- tar_beta = tar_beta[:, :n, :]
365
-
366
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs*n, j, 3))
367
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
368
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs*n, j, 3))
369
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
370
-
371
- net_out = {
372
- 'rec_pose': rec_pose,
373
- 'rec_trans': rec_trans,
374
- 'tar_pose': tar_pose,
375
- 'tar_exps': tar_exps,
376
- 'tar_beta': tar_beta,
377
- 'tar_trans': tar_trans,
378
- 'rec_exps': rec_exps,
379
- }
380
-
381
-
382
- tar_pose = net_out['tar_pose']
383
- rec_pose = net_out['rec_pose']
384
- tar_exps = net_out['tar_exps']
385
- tar_beta = net_out['tar_beta']
386
- rec_trans = net_out['rec_trans']
387
- tar_trans = net_out['tar_trans']
388
- rec_exps = net_out['rec_exps']
389
- # print(rec_pose.shape, tar_pose.shape)
390
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], joints
391
- # interpolate to 30fps
392
- if (30/args.pose_fps) != 1:
393
- assert 30%args.pose_fps == 0
394
- n *= int(30/args.pose_fps)
395
- tar_pose = torch.nn.functional.interpolate(tar_pose.permute(0, 2, 1), scale_factor=30/args.pose_fps, mode='linear').permute(0,2,1)
396
- rec_pose = torch.nn.functional.interpolate(rec_pose.permute(0, 2, 1), scale_factor=30/args.pose_fps, mode='linear').permute(0,2,1)
397
-
398
- # print(rec_pose.shape, tar_pose.shape)
399
- rec_pose = rc.rotation_6d_to_matrix(rec_pose.reshape(bs*n, j, 6))
400
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
401
-
402
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs*n, j, 6))
403
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
404
-
405
- return tar_pose, rec_pose, tar_exps, tar_beta, rec_trans, tar_trans, rec_exps, bs, n, j
406
-
407
-
408
- class BaseTrainer(object):
409
- def __init__(self, args, sp, ap, tp):
410
- hf_dir = "hf"
411
- if not os.path.exists(args.out_path + "custom/" + hf_dir + "/"):
412
- os.makedirs(args.out_path + "custom/" + hf_dir + "/")
413
- sf.write(args.out_path + "custom/" + hf_dir + "/tmp.wav", ap[1][:ap[0]*8], ap[0])
414
- self.audio_path = args.out_path + "custom/" + hf_dir + "/tmp.wav"
415
- audio, ssr = librosa.load(self.audio_path)
416
- ap = (ssr, audio)
417
- self.args = args
418
- self.rank = 0 # dist.get_rank()
419
-
420
- #self.checkpoint_path = args.out_path + "custom/" + args.name + args.notes + "/" #wandb.run.dir #args.cache_path+args.out_path+"/"+args.name
421
- self.checkpoint_path = args.out_path + "custom/" + hf_dir + "/"
422
- if self.rank == 0:
423
- self.test_data = __import__(f"dataloaders.{args.dataset}", fromlist=["something"]).CustomDataset(args, "test", smplx_path=sp, audio_path=ap, text_path=tp)
424
- self.test_loader = torch.utils.data.DataLoader(
425
- self.test_data,
426
- batch_size=1,
427
- shuffle=False,
428
- num_workers=args.loader_workers,
429
- drop_last=False,
430
- )
431
- logger.info(f"Init test dataloader success")
432
- model_module = __import__(f"models.{args.model}", fromlist=["something"])
433
-
434
- if args.ddp:
435
- self.model = getattr(model_module, args.g_name)(args).to(self.rank)
436
- process_group = torch.distributed.new_group()
437
- self.model = torch.nn.SyncBatchNorm.convert_sync_batchnorm(self.model, process_group)
438
- self.model = DDP(self.model, device_ids=[self.rank], output_device=self.rank,
439
- broadcast_buffers=False, find_unused_parameters=False)
440
- else:
441
- self.model = torch.nn.DataParallel(getattr(model_module, args.g_name)(args), args.gpus).cpu()
442
-
443
- if self.rank == 0:
444
- logger.info(self.model)
445
- logger.info(f"init {args.g_name} success")
446
-
447
- self.smplx = smplx.create(
448
- self.args.data_path_1+"smplx_models/",
449
- model_type='smplx',
450
- gender='NEUTRAL_2020',
451
- use_face_contour=False,
452
- num_betas=300,
453
- num_expression_coeffs=100,
454
- ext='npz',
455
- use_pca=False,
456
- )
457
-
458
- self.args = args
459
- self.joints = self.test_data.joints
460
- self.ori_joint_list = joints_list[self.args.ori_joints]
461
- self.tar_joint_list_face = joints_list["beat_smplx_face"]
462
- self.tar_joint_list_upper = joints_list["beat_smplx_upper"]
463
- self.tar_joint_list_hands = joints_list["beat_smplx_hands"]
464
- self.tar_joint_list_lower = joints_list["beat_smplx_lower"]
465
-
466
- self.joint_mask_face = np.zeros(len(list(self.ori_joint_list.keys()))*3)
467
- self.joints = 55
468
- for joint_name in self.tar_joint_list_face:
469
- self.joint_mask_face[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
470
- self.joint_mask_upper = np.zeros(len(list(self.ori_joint_list.keys()))*3)
471
- for joint_name in self.tar_joint_list_upper:
472
- self.joint_mask_upper[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
473
- self.joint_mask_hands = np.zeros(len(list(self.ori_joint_list.keys()))*3)
474
- for joint_name in self.tar_joint_list_hands:
475
- self.joint_mask_hands[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
476
- self.joint_mask_lower = np.zeros(len(list(self.ori_joint_list.keys()))*3)
477
- for joint_name in self.tar_joint_list_lower:
478
- self.joint_mask_lower[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
479
-
480
- self.tracker = other_tools_hf.EpochTracker(["fid", "l1div", "bc", "rec", "trans", "vel", "transv", 'dis', 'gen', 'acc', 'transa', 'exp', 'lvd', 'mse', "cls", "rec_face", "latent", "cls_full", "cls_self", "cls_word", "latent_word","latent_self"], [False,True,True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False,False,False,False])
481
-
482
- vq_model_module = __import__(f"models.motion_representation", fromlist=["something"])
483
- self.args.vae_layer = 2
484
- self.args.vae_length = 256
485
- self.args.vae_test_dim = 106
486
- self.vq_model_face = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
487
- # print(self.vq_model_face)
488
- # other_tools_hf.load_checkpoints(self.vq_model_face, self.args.data_path_1 + "pretrained_vq/last_790_face_v2.bin", args.e_name)
489
- self.args.vae_test_dim = 78
490
- self.vq_model_upper = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
491
- # other_tools_hf.load_checkpoints(self.vq_model_upper, self.args.data_path_1 + "pretrained_vq/upper_vertex_1layer_710.bin", args.e_name)
492
- self.args.vae_test_dim = 180
493
- self.vq_model_hands = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
494
- # other_tools_hf.load_checkpoints(self.vq_model_hands, self.args.data_path_1 + "pretrained_vq/hands_vertex_1layer_710.bin", args.e_name)
495
- self.args.vae_test_dim = 61
496
- self.args.vae_layer = 4
497
- self.vq_model_lower = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
498
- # other_tools_hf.load_checkpoints(self.vq_model_lower, self.args.data_path_1 + "pretrained_vq/lower_foot_600.bin", args.e_name)
499
- self.args.vae_test_dim = 61
500
- self.args.vae_layer = 4
501
- self.global_motion = getattr(vq_model_module, "VAEConvZero")(self.args).cpu()
502
- # other_tools_hf.load_checkpoints(self.global_motion, self.args.data_path_1 + "pretrained_vq/last_1700_foot.bin", args.e_name)
503
- self.args.vae_test_dim = 330
504
- self.args.vae_layer = 4
505
- self.args.vae_length = 240
506
-
507
- # self.cls_loss = nn.NLLLoss().to(self.rank)
508
- # self.reclatent_loss = nn.MSELoss().to(self.rank)
509
- # self.vel_loss = torch.nn.L1Loss(reduction='mean').to(self.rank)
510
- # self.rec_loss = get_loss_func("GeodesicLoss").to(self.rank)
511
- self.log_softmax = nn.LogSoftmax(dim=2)
512
-
513
-
514
- def inverse_selection(self, filtered_t, selection_array, n):
515
- original_shape_t = np.zeros((n, selection_array.size))
516
- selected_indices = np.where(selection_array == 1)[0]
517
- for i in range(n):
518
- original_shape_t[i, selected_indices] = filtered_t[i]
519
- return original_shape_t
520
-
521
- def inverse_selection_tensor(self, filtered_t, selection_array, n):
522
- selection_array = torch.from_numpy(selection_array).cuda()
523
- original_shape_t = torch.zeros((n, 165)).cuda()
524
- selected_indices = torch.where(selection_array == 1)[0]
525
- for i in range(n):
526
- original_shape_t[i, selected_indices] = filtered_t[i]
527
- return original_shape_t
528
-
529
-
530
- def test_demo(self, epoch):
531
- '''
532
- input audio and text, output motion
533
- do not calculate loss and metric
534
- save video
535
- '''
536
- results_save_path = self.checkpoint_path + f"/{epoch}/"
537
- if os.path.exists(results_save_path):
538
- import shutil
539
- shutil.rmtree(results_save_path)
540
- os.makedirs(results_save_path)
541
- start_time = time.time()
542
- total_length = 0
543
- test_seq_list = self.test_data.selected_file
544
- align = 0
545
- latent_out = []
546
- latent_ori = []
547
- l2_all = 0
548
- lvel = 0
549
- for its, batch_data in enumerate(self.test_loader):
550
- tar_pose, rec_pose, tar_exps, tar_beta, rec_trans, tar_trans, rec_exps, bs, n, j = test_demo_gpu(
551
- self.model, self.vq_model_face, self.vq_model_upper, self.vq_model_hands, self.vq_model_lower, self.global_motion, self.smplx,
552
- batch_data,
553
- self.args,
554
- self.joints, self.joint_mask_upper, self.joint_mask_lower, self.joint_mask_hands,
555
- self.log_softmax,
556
- )
557
-
558
- tar_pose_np = tar_pose.detach().cpu().numpy()
559
- rec_pose_np = rec_pose.detach().cpu().numpy()
560
- rec_trans_np = rec_trans.detach().cpu().numpy().reshape(bs*n, 3)
561
- rec_exp_np = rec_exps.detach().cpu().numpy().reshape(bs*n, 100)
562
- tar_exp_np = tar_exps.detach().cpu().numpy().reshape(bs*n, 100)
563
- tar_trans_np = tar_trans.detach().cpu().numpy().reshape(bs*n, 3)
564
- #'''
565
- # its = 0
566
- gt_npz = np.load(self.args.data_path+self.args.pose_rep +"/"+test_seq_list.iloc[its]['id']+".npz", allow_pickle=True)
567
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
568
- betas=gt_npz["betas"],
569
- poses=tar_pose_np,
570
- expressions=tar_exp_np,
571
- trans=tar_trans_np,
572
- model='smplx2020',
573
- gender='neutral',
574
- mocap_frame_rate = 30,
575
- )
576
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
577
- betas=gt_npz["betas"],
578
- poses=rec_pose_np,
579
- expressions=rec_exp_np,
580
- trans=rec_trans_np,
581
- model='smplx2020',
582
- gender='neutral',
583
- mocap_frame_rate = 30,
584
- )
585
-
586
- total_length += n
587
- render_vid_path = other_tools_hf.render_one_sequence_no_gt(
588
- results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
589
- # results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
590
- results_save_path,
591
- self.audio_path,
592
- self.args.data_path_1+"smplx_models/",
593
- use_matplotlib = False,
594
- args = self.args,
595
- )
596
- result = gr.Video(value=render_vid_path, visible=True)
597
- end_time = time.time() - start_time
598
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
599
- return result
600
-
601
-
602
- @logger.catch
603
- def emage(audio_path):
604
- smplx_path = None
605
- text_path = None
606
- rank = 0
607
- world_size = 1
608
- args = config.parse_args()
609
- #os.environ['TRANSFORMERS_CACHE'] = args.data_path_1 + "hub/"
610
- if not sys.warnoptions:
611
- warnings.simplefilter("ignore")
612
- # dist.init_process_group(backend="gloo", rank=rank, world_size=world_size)
613
-
614
- #logger_tools.set_args_and_logger(args, rank)
615
- other_tools_hf.set_random_seed(args)
616
- other_tools_hf.print_exp_info(args)
617
-
618
- # return one intance of trainer
619
- trainer = BaseTrainer(args, sp = smplx_path, ap = audio_path, tp = text_path)
620
- result = trainer.test_demo(999)
621
- return result
622
-
623
- examples = [
624
- ["./EMAGE/test_sequences/wave16k/2_scott_0_1_1.wav"],
625
- ["./EMAGE/test_sequences/wave16k/2_scott_0_2_2.wav"],
626
- ["./EMAGE/test_sequences/wave16k/2_scott_0_3_3.wav"],
627
- ]
628
-
629
- demo = gr.Interface(
630
- emage, # function
631
- inputs=[
632
- # gr.File(label="Please upload SMPL-X file with npz format here.", file_types=["npz", "NPZ"]),
633
- gr.Audio(),
634
- # gr.File(label="Please upload textgrid format file here.", file_types=["TextGrid", "Textgrid", "textgrid"])
635
- ], # input type
636
- outputs=gr.Video(format="mp4", visible=True),
637
- title='\
638
- <div align="center">\
639
- EMAGE: Towards Unified Holistic Co-Speech Gesture Generation via Expressive Masked Audio Gesture Modeling <br/>\
640
- CVPR 2024 <br/>\
641
- </div>',
642
- description='\
643
- <div align="center">\
644
- Haiyang Liu1*, Zihao Zhu2*, Giorgio Becherini3, Yichen Peng4, Mingyang Su5,<br/>\
645
- You Zhou, Xuefei Zhe, Naoya Iwamoto, Bo Zheng, Michael J. Black3 <br/>\
646
- (*Equal Contribution) <br/>\
647
- 1The University of Tokyo, 2Keio University, 4Japan Advanced Institute of Science and Technology, <br/>\
648
- 3Max Planck Institute for Intelligent Systems, 5Tsinghua University <br/>\
649
- </div>\
650
- ',
651
- article="\
652
- Due to the limited resources in this space, we process the first 8s of your uploaded audio. <br/>\
653
- Try to develop this space locally for longer motion generation, e.g., 60s. <br/>\
654
- Relevant links: [Project Page (https://pantomatrix.github.io/EMAGE/)\
655
- ",
656
- examples=examples,
657
- )
658
-
659
-
660
- if __name__ == "__main__":
661
- os.environ["MASTER_ADDR"]='127.0.0.1'
662
- os.environ["MASTER_PORT"]='8675'
663
- #os.environ["TORCH_DISTRIBUTED_DEBUG"] = "DETAIL"
664
- demo.launch(share=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.ipynb_checkpoints/packages-checkpoint.txt DELETED
@@ -1,4 +0,0 @@
1
- libgl1-mesa-dev
2
- libglu1-mesa-dev
3
- freeglut3-dev
4
- mesa-common-dev
 
 
 
 
 
.ipynb_checkpoints/requirements-checkpoint.txt DELETED
@@ -1,39 +0,0 @@
1
- ffmpeg
2
- ConfigArgParse==1.7
3
- fasttext==0.9.2
4
- h5py==3.10.0
5
- imageio==2.31.4
6
- ipython==8.12.3
7
- joblib==1.3.2
8
- librosa==0.10.1
9
- lmdb==1.4.1
10
- loguru==0.7.2
11
- matplotlib==3.7.3
12
- moviepy==1.0.3
13
- gradio
14
- fasttext-wheel
15
- opencv_contrib_python==4.8.1.78
16
- opencv_python==4.8.1.78
17
- pandas==1.5.3
18
- peakutils==1.3.4
19
- ptflops==0.7.1.2
20
- python_igraph==0.11.3
21
- pyvirtualdisplay==3.0
22
- PyYAML==6.0.1
23
- replicate==0.15.4
24
- scikit_learn==1.3.2
25
- scipy
26
- soundfile==0.12.1
27
- termcolor==2.4.0
28
- textgrid==1.5
29
- torch==2.1.0
30
- torchvision
31
- tqdm==4.66.1
32
- transformers==4.35.2
33
- trimesh==3.23.5
34
- wandb==0.16.0
35
- pyglet<2
36
- smplx
37
- tensorboard
38
- pyrender
39
- pyarrow
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.ipynb_checkpoints/test_demo-checkpoint.py DELETED
@@ -1,581 +0,0 @@
1
- import os
2
- import signal
3
- import time
4
- import csv
5
- import sys
6
- import warnings
7
- import random
8
- import torch
9
- import torch.nn as nn
10
- import torch.nn.functional as F
11
- import torch.distributed as dist
12
- from torch.nn.parallel import DistributedDataParallel as DDP
13
- import torch.multiprocessing as mp
14
- import numpy as np
15
- import time
16
- import pprint
17
- from loguru import logger
18
- import smplx
19
- from torch.utils.tensorboard import SummaryWriter
20
- import wandb
21
- import matplotlib.pyplot as plt
22
- from utils import config, logger_tools, other_tools, metric, data_transfer
23
- from dataloaders import data_tools
24
- from dataloaders.build_vocab import Vocab
25
- from optimizers.optim_factory import create_optimizer
26
- from optimizers.scheduler_factory import create_scheduler
27
- from optimizers.loss_factory import get_loss_func
28
- from dataloaders.data_tools import joints_list
29
- from utils import rotation_conversions as rc
30
-
31
- class BaseTrainer(object):
32
- def __init__(self, args):
33
- self.args = args
34
- self.rank = dist.get_rank()
35
- self.checkpoint_path = args.out_path + "custom/" + args.name + args.notes + "/" #wandb.run.dir #args.cache_path+args.out_path+"/"+args.name
36
- if self.rank == 0:
37
- self.test_data = __import__(f"dataloaders.{args.dataset}", fromlist=["something"]).CustomDataset(args, "test")
38
- self.test_loader = torch.utils.data.DataLoader(
39
- self.test_data,
40
- batch_size=1,
41
- shuffle=False,
42
- num_workers=args.loader_workers,
43
- drop_last=False,
44
- )
45
- logger.info(f"Init test dataloader success")
46
- model_module = __import__(f"models.{args.model}", fromlist=["something"])
47
-
48
- if args.ddp:
49
- self.model = getattr(model_module, args.g_name)(args).to(self.rank)
50
- process_group = torch.distributed.new_group()
51
- self.model = torch.nn.SyncBatchNorm.convert_sync_batchnorm(self.model, process_group)
52
- self.model = DDP(self.model, device_ids=[self.rank], output_device=self.rank,
53
- broadcast_buffers=False, find_unused_parameters=False)
54
- else:
55
- self.model = torch.nn.DataParallel(getattr(model_module, args.g_name)(args), args.gpus).cuda()
56
-
57
- if self.rank == 0:
58
- logger.info(self.model)
59
- logger.info(f"init {args.g_name} success")
60
-
61
- self.smplx = smplx.create(
62
- self.args.data_path_1+"smplx_models/",
63
- model_type='smplx',
64
- gender='NEUTRAL_2020',
65
- use_face_contour=False,
66
- num_betas=300,
67
- num_expression_coeffs=100,
68
- ext='npz',
69
- use_pca=False,
70
- ).to(self.rank).eval()
71
-
72
- self.args = args
73
- self.joints = self.test_data.joints
74
- self.ori_joint_list = joints_list[self.args.ori_joints]
75
- self.tar_joint_list_face = joints_list["beat_smplx_face"]
76
- self.tar_joint_list_upper = joints_list["beat_smplx_upper"]
77
- self.tar_joint_list_hands = joints_list["beat_smplx_hands"]
78
- self.tar_joint_list_lower = joints_list["beat_smplx_lower"]
79
-
80
- self.joint_mask_face = np.zeros(len(list(self.ori_joint_list.keys()))*3)
81
- self.joints = 55
82
- for joint_name in self.tar_joint_list_face:
83
- self.joint_mask_face[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
84
- self.joint_mask_upper = np.zeros(len(list(self.ori_joint_list.keys()))*3)
85
- for joint_name in self.tar_joint_list_upper:
86
- self.joint_mask_upper[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
87
- self.joint_mask_hands = np.zeros(len(list(self.ori_joint_list.keys()))*3)
88
- for joint_name in self.tar_joint_list_hands:
89
- self.joint_mask_hands[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
90
- self.joint_mask_lower = np.zeros(len(list(self.ori_joint_list.keys()))*3)
91
- for joint_name in self.tar_joint_list_lower:
92
- self.joint_mask_lower[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
93
-
94
- self.tracker = other_tools.EpochTracker(["fid", "l1div", "bc", "rec", "trans", "vel", "transv", 'dis', 'gen', 'acc', 'transa', 'exp', 'lvd', 'mse', "cls", "rec_face", "latent", "cls_full", "cls_self", "cls_word", "latent_word","latent_self"], [False,True,True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False,False,False,False])
95
-
96
- vq_model_module = __import__(f"models.motion_representation", fromlist=["something"])
97
- self.args.vae_layer = 2
98
- self.args.vae_length = 256
99
- self.args.vae_test_dim = 106
100
- self.vq_model_face = getattr(vq_model_module, "VQVAEConvZero")(self.args).to(self.rank)
101
- # print(self.vq_model_face)
102
- other_tools.load_checkpoints(self.vq_model_face, self.args.data_path_1 + "pretrained_vq/last_790_face_v2.bin", args.e_name)
103
- self.args.vae_test_dim = 78
104
- self.vq_model_upper = getattr(vq_model_module, "VQVAEConvZero")(self.args).to(self.rank)
105
- other_tools.load_checkpoints(self.vq_model_upper, self.args.data_path_1 + "pretrained_vq/upper_vertex_1layer_710.bin", args.e_name)
106
- self.args.vae_test_dim = 180
107
- self.vq_model_hands = getattr(vq_model_module, "VQVAEConvZero")(self.args).to(self.rank)
108
- other_tools.load_checkpoints(self.vq_model_hands, self.args.data_path_1 + "pretrained_vq/hands_vertex_1layer_710.bin", args.e_name)
109
- self.args.vae_test_dim = 61
110
- self.args.vae_layer = 4
111
- self.vq_model_lower = getattr(vq_model_module, "VQVAEConvZero")(self.args).to(self.rank)
112
- other_tools.load_checkpoints(self.vq_model_lower, self.args.data_path_1 + "pretrained_vq/lower_foot_600.bin", args.e_name)
113
- self.args.vae_test_dim = 61
114
- self.args.vae_layer = 4
115
- self.global_motion = getattr(vq_model_module, "VAEConvZero")(self.args).to(self.rank)
116
- other_tools.load_checkpoints(self.global_motion, self.args.data_path_1 + "pretrained_vq/last_1700_foot.bin", args.e_name)
117
- self.args.vae_test_dim = 330
118
- self.args.vae_layer = 4
119
- self.args.vae_length = 240
120
-
121
- self.vq_model_face.eval()
122
- self.vq_model_upper.eval()
123
- self.vq_model_hands.eval()
124
- self.vq_model_lower.eval()
125
- self.global_motion.eval()
126
-
127
- self.cls_loss = nn.NLLLoss().to(self.rank)
128
- self.reclatent_loss = nn.MSELoss().to(self.rank)
129
- self.vel_loss = torch.nn.L1Loss(reduction='mean').to(self.rank)
130
- self.rec_loss = get_loss_func("GeodesicLoss").to(self.rank)
131
- self.log_softmax = nn.LogSoftmax(dim=2).to(self.rank)
132
-
133
-
134
- def inverse_selection(self, filtered_t, selection_array, n):
135
- original_shape_t = np.zeros((n, selection_array.size))
136
- selected_indices = np.where(selection_array == 1)[0]
137
- for i in range(n):
138
- original_shape_t[i, selected_indices] = filtered_t[i]
139
- return original_shape_t
140
-
141
- def inverse_selection_tensor(self, filtered_t, selection_array, n):
142
- selection_array = torch.from_numpy(selection_array).cuda()
143
- original_shape_t = torch.zeros((n, 165)).cuda()
144
- selected_indices = torch.where(selection_array == 1)[0]
145
- for i in range(n):
146
- original_shape_t[i, selected_indices] = filtered_t[i]
147
- return original_shape_t
148
-
149
- def _load_data(self, dict_data):
150
- tar_pose_raw = dict_data["pose"]
151
- tar_pose = tar_pose_raw[:, :, :165].to(self.rank)
152
- tar_contact = tar_pose_raw[:, :, 165:169].to(self.rank)
153
- tar_trans = dict_data["trans"].to(self.rank)
154
- tar_exps = dict_data["facial"].to(self.rank)
155
- in_audio = dict_data["audio"].to(self.rank)
156
- in_word = dict_data["word"].to(self.rank)
157
- tar_beta = dict_data["beta"].to(self.rank)
158
- tar_id = dict_data["id"].to(self.rank).long()
159
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
160
-
161
- tar_pose_jaw = tar_pose[:, :, 66:69]
162
- tar_pose_jaw = rc.axis_angle_to_matrix(tar_pose_jaw.reshape(bs, n, 1, 3))
163
- tar_pose_jaw = rc.matrix_to_rotation_6d(tar_pose_jaw).reshape(bs, n, 1*6)
164
- tar_pose_face = torch.cat([tar_pose_jaw, tar_exps], dim=2)
165
-
166
- tar_pose_hands = tar_pose[:, :, 25*3:55*3]
167
- tar_pose_hands = rc.axis_angle_to_matrix(tar_pose_hands.reshape(bs, n, 30, 3))
168
- tar_pose_hands = rc.matrix_to_rotation_6d(tar_pose_hands).reshape(bs, n, 30*6)
169
-
170
- tar_pose_upper = tar_pose[:, :, self.joint_mask_upper.astype(bool)]
171
- tar_pose_upper = rc.axis_angle_to_matrix(tar_pose_upper.reshape(bs, n, 13, 3))
172
- tar_pose_upper = rc.matrix_to_rotation_6d(tar_pose_upper).reshape(bs, n, 13*6)
173
-
174
- tar_pose_leg = tar_pose[:, :, self.joint_mask_lower.astype(bool)]
175
- tar_pose_leg = rc.axis_angle_to_matrix(tar_pose_leg.reshape(bs, n, 9, 3))
176
- tar_pose_leg = rc.matrix_to_rotation_6d(tar_pose_leg).reshape(bs, n, 9*6)
177
- tar_pose_lower = torch.cat([tar_pose_leg, tar_trans, tar_contact], dim=2)
178
-
179
- # tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
180
- # tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
181
- tar4dis = torch.cat([tar_pose_jaw, tar_pose_upper, tar_pose_hands, tar_pose_leg], dim=2)
182
-
183
- tar_index_value_face_top = self.vq_model_face.map2index(tar_pose_face) # bs*n/4
184
- tar_index_value_upper_top = self.vq_model_upper.map2index(tar_pose_upper) # bs*n/4
185
- tar_index_value_hands_top = self.vq_model_hands.map2index(tar_pose_hands) # bs*n/4
186
- tar_index_value_lower_top = self.vq_model_lower.map2index(tar_pose_lower) # bs*n/4
187
-
188
- latent_face_top = self.vq_model_face.map2latent(tar_pose_face) # bs*n/4
189
- latent_upper_top = self.vq_model_upper.map2latent(tar_pose_upper) # bs*n/4
190
- latent_hands_top = self.vq_model_hands.map2latent(tar_pose_hands) # bs*n/4
191
- latent_lower_top = self.vq_model_lower.map2latent(tar_pose_lower) # bs*n/4
192
-
193
- latent_in = torch.cat([latent_upper_top, latent_hands_top, latent_lower_top], dim=2)
194
-
195
- index_in = torch.stack([tar_index_value_upper_top, tar_index_value_hands_top, tar_index_value_lower_top], dim=-1).long()
196
-
197
- tar_pose_6d = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
198
- tar_pose_6d = rc.matrix_to_rotation_6d(tar_pose_6d).reshape(bs, n, 55*6)
199
- latent_all = torch.cat([tar_pose_6d, tar_trans, tar_contact], dim=-1)
200
- # print(tar_index_value_upper_top.shape, index_in.shape)
201
- return {
202
- "tar_pose_jaw": tar_pose_jaw,
203
- "tar_pose_face": tar_pose_face,
204
- "tar_pose_upper": tar_pose_upper,
205
- "tar_pose_lower": tar_pose_lower,
206
- "tar_pose_hands": tar_pose_hands,
207
- 'tar_pose_leg': tar_pose_leg,
208
- "in_audio": in_audio,
209
- "in_word": in_word,
210
- "tar_trans": tar_trans,
211
- "tar_exps": tar_exps,
212
- "tar_beta": tar_beta,
213
- "tar_pose": tar_pose,
214
- "tar4dis": tar4dis,
215
- "tar_index_value_face_top": tar_index_value_face_top,
216
- "tar_index_value_upper_top": tar_index_value_upper_top,
217
- "tar_index_value_hands_top": tar_index_value_hands_top,
218
- "tar_index_value_lower_top": tar_index_value_lower_top,
219
- "latent_face_top": latent_face_top,
220
- "latent_upper_top": latent_upper_top,
221
- "latent_hands_top": latent_hands_top,
222
- "latent_lower_top": latent_lower_top,
223
- "latent_in": latent_in,
224
- "index_in": index_in,
225
- "tar_id": tar_id,
226
- "latent_all": latent_all,
227
- "tar_pose_6d": tar_pose_6d,
228
- "tar_contact": tar_contact,
229
- }
230
-
231
- def _g_test(self, loaded_data):
232
- mode = 'test'
233
- bs, n, j = loaded_data["tar_pose"].shape[0], loaded_data["tar_pose"].shape[1], self.joints
234
- tar_pose = loaded_data["tar_pose"]
235
- tar_beta = loaded_data["tar_beta"]
236
- in_word = loaded_data["in_word"]
237
- tar_exps = loaded_data["tar_exps"]
238
- tar_contact = loaded_data["tar_contact"]
239
- in_audio = loaded_data["in_audio"]
240
- tar_trans = loaded_data["tar_trans"]
241
-
242
- remain = n%8
243
- if remain != 0:
244
- tar_pose = tar_pose[:, :-remain, :]
245
- tar_beta = tar_beta[:, :-remain, :]
246
- tar_trans = tar_trans[:, :-remain, :]
247
- in_word = in_word[:, :-remain]
248
- tar_exps = tar_exps[:, :-remain, :]
249
- tar_contact = tar_contact[:, :-remain, :]
250
- n = n - remain
251
-
252
- tar_pose_jaw = tar_pose[:, :, 66:69]
253
- tar_pose_jaw = rc.axis_angle_to_matrix(tar_pose_jaw.reshape(bs, n, 1, 3))
254
- tar_pose_jaw = rc.matrix_to_rotation_6d(tar_pose_jaw).reshape(bs, n, 1*6)
255
- tar_pose_face = torch.cat([tar_pose_jaw, tar_exps], dim=2)
256
-
257
- tar_pose_hands = tar_pose[:, :, 25*3:55*3]
258
- tar_pose_hands = rc.axis_angle_to_matrix(tar_pose_hands.reshape(bs, n, 30, 3))
259
- tar_pose_hands = rc.matrix_to_rotation_6d(tar_pose_hands).reshape(bs, n, 30*6)
260
-
261
- tar_pose_upper = tar_pose[:, :, self.joint_mask_upper.astype(bool)]
262
- tar_pose_upper = rc.axis_angle_to_matrix(tar_pose_upper.reshape(bs, n, 13, 3))
263
- tar_pose_upper = rc.matrix_to_rotation_6d(tar_pose_upper).reshape(bs, n, 13*6)
264
-
265
- tar_pose_leg = tar_pose[:, :, self.joint_mask_lower.astype(bool)]
266
- tar_pose_leg = rc.axis_angle_to_matrix(tar_pose_leg.reshape(bs, n, 9, 3))
267
- tar_pose_leg = rc.matrix_to_rotation_6d(tar_pose_leg).reshape(bs, n, 9*6)
268
- tar_pose_lower = torch.cat([tar_pose_leg, tar_trans, tar_contact], dim=2)
269
-
270
- tar_pose_6d = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
271
- tar_pose_6d = rc.matrix_to_rotation_6d(tar_pose_6d).reshape(bs, n, 55*6)
272
- latent_all = torch.cat([tar_pose_6d, tar_trans, tar_contact], dim=-1)
273
-
274
- rec_index_all_face = []
275
- rec_index_all_upper = []
276
- rec_index_all_lower = []
277
- rec_index_all_hands = []
278
-
279
- roundt = (n - self.args.pre_frames) // (self.args.pose_length - self.args.pre_frames)
280
- remain = (n - self.args.pre_frames) % (self.args.pose_length - self.args.pre_frames)
281
- round_l = self.args.pose_length - self.args.pre_frames
282
-
283
- for i in range(0, roundt):
284
- in_word_tmp = in_word[:, i*(round_l):(i+1)*(round_l)+self.args.pre_frames]
285
- # audio fps is 16000 and pose fps is 30
286
- in_audio_tmp = in_audio[:, i*(16000//30*round_l):(i+1)*(16000//30*round_l)+16000//30*self.args.pre_frames]
287
- in_id_tmp = loaded_data['tar_id'][:, i*(round_l):(i+1)*(round_l)+self.args.pre_frames]
288
- mask_val = torch.ones(bs, self.args.pose_length, self.args.pose_dims+3+4).float().cuda()
289
- mask_val[:, :self.args.pre_frames, :] = 0.0
290
- if i == 0:
291
- latent_all_tmp = latent_all[:, i*(round_l):(i+1)*(round_l)+self.args.pre_frames, :]
292
- else:
293
- latent_all_tmp = latent_all[:, i*(round_l):(i+1)*(round_l)+self.args.pre_frames, :]
294
- # print(latent_all_tmp.shape, latent_last.shape)
295
- latent_all_tmp[:, :self.args.pre_frames, :] = latent_last[:, -self.args.pre_frames:, :]
296
-
297
- net_out_val = self.model(
298
- in_audio = in_audio_tmp,
299
- in_word=in_word_tmp,
300
- mask=mask_val,
301
- in_motion = latent_all_tmp,
302
- in_id = in_id_tmp,
303
- use_attentions=True,)
304
-
305
- if self.args.cu != 0:
306
- rec_index_upper = self.log_softmax(net_out_val["cls_upper"]).reshape(-1, self.args.vae_codebook_size)
307
- _, rec_index_upper = torch.max(rec_index_upper.reshape(-1, self.args.pose_length, self.args.vae_codebook_size), dim=2)
308
- #rec_upper = self.vq_model_upper.decode(rec_index_upper)
309
- else:
310
- _, rec_index_upper, _, _ = self.vq_model_upper.quantizer(net_out_val["rec_upper"])
311
- #rec_upper = self.vq_model_upper.decoder(rec_index_upper)
312
- if self.args.cl != 0:
313
- rec_index_lower = self.log_softmax(net_out_val["cls_lower"]).reshape(-1, self.args.vae_codebook_size)
314
- _, rec_index_lower = torch.max(rec_index_lower.reshape(-1, self.args.pose_length, self.args.vae_codebook_size), dim=2)
315
- #rec_lower = self.vq_model_lower.decode(rec_index_lower)
316
- else:
317
- _, rec_index_lower, _, _ = self.vq_model_lower.quantizer(net_out_val["rec_lower"])
318
- #rec_lower = self.vq_model_lower.decoder(rec_index_lower)
319
- if self.args.ch != 0:
320
- rec_index_hands = self.log_softmax(net_out_val["cls_hands"]).reshape(-1, self.args.vae_codebook_size)
321
- _, rec_index_hands = torch.max(rec_index_hands.reshape(-1, self.args.pose_length, self.args.vae_codebook_size), dim=2)
322
- #rec_hands = self.vq_model_hands.decode(rec_index_hands)
323
- else:
324
- _, rec_index_hands, _, _ = self.vq_model_hands.quantizer(net_out_val["rec_hands"])
325
- #rec_hands = self.vq_model_hands.decoder(rec_index_hands)
326
- if self.args.cf != 0:
327
- rec_index_face = self.log_softmax(net_out_val["cls_face"]).reshape(-1, self.args.vae_codebook_size)
328
- _, rec_index_face = torch.max(rec_index_face.reshape(-1, self.args.pose_length, self.args.vae_codebook_size), dim=2)
329
- #rec_face = self.vq_model_face.decoder(rec_index_face)
330
- else:
331
- _, rec_index_face, _, _ = self.vq_model_face.quantizer(net_out_val["rec_face"])
332
- #rec_face = self.vq_model_face.decoder(rec_index_face)
333
-
334
- if i == 0:
335
- rec_index_all_face.append(rec_index_face)
336
- rec_index_all_upper.append(rec_index_upper)
337
- rec_index_all_lower.append(rec_index_lower)
338
- rec_index_all_hands.append(rec_index_hands)
339
- else:
340
- rec_index_all_face.append(rec_index_face[:, self.args.pre_frames:])
341
- rec_index_all_upper.append(rec_index_upper[:, self.args.pre_frames:])
342
- rec_index_all_lower.append(rec_index_lower[:, self.args.pre_frames:])
343
- rec_index_all_hands.append(rec_index_hands[:, self.args.pre_frames:])
344
-
345
- if self.args.cu != 0:
346
- rec_upper_last = self.vq_model_upper.decode(rec_index_upper)
347
- else:
348
- rec_upper_last = self.vq_model_upper.decoder(rec_index_upper)
349
- if self.args.cl != 0:
350
- rec_lower_last = self.vq_model_lower.decode(rec_index_lower)
351
- else:
352
- rec_lower_last = self.vq_model_lower.decoder(rec_index_lower)
353
- if self.args.ch != 0:
354
- rec_hands_last = self.vq_model_hands.decode(rec_index_hands)
355
- else:
356
- rec_hands_last = self.vq_model_hands.decoder(rec_index_hands)
357
- # if self.args.cf != 0:
358
- # rec_face_last = self.vq_model_face.decode(rec_index_face)
359
- # else:
360
- # rec_face_last = self.vq_model_face.decoder(rec_index_face)
361
-
362
- rec_pose_legs = rec_lower_last[:, :, :54]
363
- bs, n = rec_pose_legs.shape[0], rec_pose_legs.shape[1]
364
- rec_pose_upper = rec_upper_last.reshape(bs, n, 13, 6)
365
- rec_pose_upper = rc.rotation_6d_to_matrix(rec_pose_upper)#
366
- rec_pose_upper = rc.matrix_to_axis_angle(rec_pose_upper).reshape(bs*n, 13*3)
367
- rec_pose_upper_recover = self.inverse_selection_tensor(rec_pose_upper, self.joint_mask_upper, bs*n)
368
- rec_pose_lower = rec_pose_legs.reshape(bs, n, 9, 6)
369
- rec_pose_lower = rc.rotation_6d_to_matrix(rec_pose_lower)
370
- rec_pose_lower = rc.matrix_to_axis_angle(rec_pose_lower).reshape(bs*n, 9*3)
371
- rec_pose_lower_recover = self.inverse_selection_tensor(rec_pose_lower, self.joint_mask_lower, bs*n)
372
- rec_pose_hands = rec_hands_last.reshape(bs, n, 30, 6)
373
- rec_pose_hands = rc.rotation_6d_to_matrix(rec_pose_hands)
374
- rec_pose_hands = rc.matrix_to_axis_angle(rec_pose_hands).reshape(bs*n, 30*3)
375
- rec_pose_hands_recover = self.inverse_selection_tensor(rec_pose_hands, self.joint_mask_hands, bs*n)
376
- rec_pose = rec_pose_upper_recover + rec_pose_lower_recover + rec_pose_hands_recover
377
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs, n, j, 3))
378
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
379
- rec_trans_v_s = rec_lower_last[:, :, 54:57]
380
- rec_x_trans = other_tools.velocity2position(rec_trans_v_s[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
381
- rec_z_trans = other_tools.velocity2position(rec_trans_v_s[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
382
- rec_y_trans = rec_trans_v_s[:,:,1:2]
383
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
384
- latent_last = torch.cat([rec_pose, rec_trans, rec_lower_last[:, :, 57:61]], dim=-1)
385
-
386
- rec_index_face = torch.cat(rec_index_all_face, dim=1)
387
- rec_index_upper = torch.cat(rec_index_all_upper, dim=1)
388
- rec_index_lower = torch.cat(rec_index_all_lower, dim=1)
389
- rec_index_hands = torch.cat(rec_index_all_hands, dim=1)
390
- if self.args.cu != 0:
391
- rec_upper = self.vq_model_upper.decode(rec_index_upper)
392
- else:
393
- rec_upper = self.vq_model_upper.decoder(rec_index_upper)
394
- if self.args.cl != 0:
395
- rec_lower = self.vq_model_lower.decode(rec_index_lower)
396
- else:
397
- rec_lower = self.vq_model_lower.decoder(rec_index_lower)
398
- if self.args.ch != 0:
399
- rec_hands = self.vq_model_hands.decode(rec_index_hands)
400
- else:
401
- rec_hands = self.vq_model_hands.decoder(rec_index_hands)
402
- if self.args.cf != 0:
403
- rec_face = self.vq_model_face.decode(rec_index_face)
404
- else:
405
- rec_face = self.vq_model_face.decoder(rec_index_face)
406
-
407
- rec_exps = rec_face[:, :, 6:]
408
- rec_pose_jaw = rec_face[:, :, :6]
409
- rec_pose_legs = rec_lower[:, :, :54]
410
- bs, n = rec_pose_jaw.shape[0], rec_pose_jaw.shape[1]
411
- rec_pose_upper = rec_upper.reshape(bs, n, 13, 6)
412
- rec_pose_upper = rc.rotation_6d_to_matrix(rec_pose_upper)#
413
- rec_pose_upper = rc.matrix_to_axis_angle(rec_pose_upper).reshape(bs*n, 13*3)
414
- rec_pose_upper_recover = self.inverse_selection_tensor(rec_pose_upper, self.joint_mask_upper, bs*n)
415
- rec_pose_lower = rec_pose_legs.reshape(bs, n, 9, 6)
416
- rec_pose_lower = rc.rotation_6d_to_matrix(rec_pose_lower)
417
- rec_lower2global = rc.matrix_to_rotation_6d(rec_pose_lower.clone()).reshape(bs, n, 9*6)
418
- rec_pose_lower = rc.matrix_to_axis_angle(rec_pose_lower).reshape(bs*n, 9*3)
419
- rec_pose_lower_recover = self.inverse_selection_tensor(rec_pose_lower, self.joint_mask_lower, bs*n)
420
- rec_pose_hands = rec_hands.reshape(bs, n, 30, 6)
421
- rec_pose_hands = rc.rotation_6d_to_matrix(rec_pose_hands)
422
- rec_pose_hands = rc.matrix_to_axis_angle(rec_pose_hands).reshape(bs*n, 30*3)
423
- rec_pose_hands_recover = self.inverse_selection_tensor(rec_pose_hands, self.joint_mask_hands, bs*n)
424
- rec_pose_jaw = rec_pose_jaw.reshape(bs*n, 6)
425
- rec_pose_jaw = rc.rotation_6d_to_matrix(rec_pose_jaw)
426
- rec_pose_jaw = rc.matrix_to_axis_angle(rec_pose_jaw).reshape(bs*n, 1*3)
427
- rec_pose = rec_pose_upper_recover + rec_pose_lower_recover + rec_pose_hands_recover
428
- rec_pose[:, 66:69] = rec_pose_jaw
429
-
430
- to_global = rec_lower
431
- to_global[:, :, 54:57] = 0.0
432
- to_global[:, :, :54] = rec_lower2global
433
- rec_global = self.global_motion(to_global)
434
-
435
- rec_trans_v_s = rec_global["rec_pose"][:, :, 54:57]
436
- rec_x_trans = other_tools.velocity2position(rec_trans_v_s[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
437
- rec_z_trans = other_tools.velocity2position(rec_trans_v_s[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
438
- rec_y_trans = rec_trans_v_s[:,:,1:2]
439
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
440
- tar_pose = tar_pose[:, :n, :]
441
- tar_exps = tar_exps[:, :n, :]
442
- tar_trans = tar_trans[:, :n, :]
443
- tar_beta = tar_beta[:, :n, :]
444
-
445
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs*n, j, 3))
446
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
447
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs*n, j, 3))
448
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
449
-
450
- return {
451
- 'rec_pose': rec_pose,
452
- 'rec_trans': rec_trans,
453
- 'tar_pose': tar_pose,
454
- 'tar_exps': tar_exps,
455
- 'tar_beta': tar_beta,
456
- 'tar_trans': tar_trans,
457
- 'rec_exps': rec_exps,
458
- }
459
-
460
-
461
- def test_demo(self, epoch):
462
- '''
463
- input audio and text, output motion
464
- do not calculate loss and metric
465
- save video
466
- '''
467
- results_save_path = self.checkpoint_path + f"/{epoch}/"
468
- if os.path.exists(results_save_path):
469
- return 0
470
- os.makedirs(results_save_path)
471
- start_time = time.time()
472
- total_length = 0
473
- test_seq_list = self.test_data.selected_file
474
- align = 0
475
- latent_out = []
476
- latent_ori = []
477
- l2_all = 0
478
- lvel = 0
479
- self.model.eval()
480
- self.smplx.eval()
481
- # self.eval_copy.eval()
482
- with torch.no_grad():
483
- for its, batch_data in enumerate(self.test_loader):
484
- loaded_data = self._load_data(batch_data)
485
- net_out = self._g_test(loaded_data)
486
- tar_pose = net_out['tar_pose']
487
- rec_pose = net_out['rec_pose']
488
- tar_exps = net_out['tar_exps']
489
- tar_beta = net_out['tar_beta']
490
- rec_trans = net_out['rec_trans']
491
- tar_trans = net_out['tar_trans']
492
- rec_exps = net_out['rec_exps']
493
- # print(rec_pose.shape, tar_pose.shape)
494
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
495
-
496
- # interpolate to 30fps
497
- if (30/self.args.pose_fps) != 1:
498
- assert 30%self.args.pose_fps == 0
499
- n *= int(30/self.args.pose_fps)
500
- tar_pose = torch.nn.functional.interpolate(tar_pose.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
501
- rec_pose = torch.nn.functional.interpolate(rec_pose.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
502
-
503
- # print(rec_pose.shape, tar_pose.shape)
504
- rec_pose = rc.rotation_6d_to_matrix(rec_pose.reshape(bs*n, j, 6))
505
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
506
-
507
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs*n, j, 6))
508
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
509
-
510
- tar_pose_np = tar_pose.detach().cpu().numpy()
511
- rec_pose_np = rec_pose.detach().cpu().numpy()
512
- rec_trans_np = rec_trans.detach().cpu().numpy().reshape(bs*n, 3)
513
- rec_exp_np = rec_exps.detach().cpu().numpy().reshape(bs*n, 100)
514
- tar_exp_np = tar_exps.detach().cpu().numpy().reshape(bs*n, 100)
515
- tar_trans_np = tar_trans.detach().cpu().numpy().reshape(bs*n, 3)
516
-
517
- gt_npz = np.load(self.args.data_path+self.args.pose_rep +"/"+test_seq_list.iloc[its]['id']+".npz", allow_pickle=True)
518
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
519
- betas=gt_npz["betas"],
520
- poses=tar_pose_np,
521
- expressions=tar_exp_np,
522
- trans=tar_trans_np,
523
- model='smplx2020',
524
- gender='neutral',
525
- mocap_frame_rate = 30 ,
526
- )
527
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
528
- betas=gt_npz["betas"],
529
- poses=rec_pose_np,
530
- expressions=rec_exp_np,
531
- trans=rec_trans_np,
532
- model='smplx2020',
533
- gender='neutral',
534
- mocap_frame_rate = 30,
535
- )
536
- total_length += n
537
- # other_tools.render_one_sequence(
538
- # results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
539
- # results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
540
- # results_save_path,
541
- # self.args.data_path+"wave16k/"+test_seq_list.iloc[its]['id']+".wav",
542
- # self.args.data_path_1+"smplx_models/",
543
- # use_matplotlib = False,
544
- # args = self.args,
545
- # )
546
- end_time = time.time() - start_time
547
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
548
-
549
- @logger.catch
550
- def main_worker(rank, world_size, args):
551
- #os.environ['TRANSFORMERS_CACHE'] = args.data_path_1 + "hub/"
552
- if not sys.warnoptions:
553
- warnings.simplefilter("ignore")
554
- dist.init_process_group(backend="nccl", rank=rank, world_size=world_size)
555
-
556
- logger_tools.set_args_and_logger(args, rank)
557
- other_tools.set_random_seed(args)
558
- other_tools.print_exp_info(args)
559
-
560
- # return one intance of trainer
561
- other_tools.write_wav_names_to_csv(args.data_path, args.data_path+"test.csv")
562
- trainer = BaseTrainer(args)
563
- other_tools.load_checkpoints(trainer.model, args.test_ckpt, args.g_name)
564
- trainer.test_demo(999)
565
-
566
-
567
-
568
- if __name__ == "__main__":
569
- os.environ["MASTER_ADDR"]='127.0.0.1'
570
- os.environ["MASTER_PORT"]='8675'
571
- #os.environ["TORCH_DISTRIBUTED_DEBUG"] = "DETAIL"
572
- args = config.parse_args()
573
- if args.ddp:
574
- mp.set_start_method("spawn", force=True)
575
- mp.spawn(
576
- main_worker,
577
- args=(len(args.gpus), args,),
578
- nprocs=len(args.gpus),
579
- )
580
- else:
581
- main_worker(0, 1, args)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EMAGE/emage_audio_175.bin DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b19f845300e7f52c77eddfb6307f48c8fd2766edada3efa8ad1973a87990c1ea
3
- size 556333206
 
 
 
 
EMAGE/pretrained_vq/.DS_Store DELETED
Binary file (6.15 kB)
 
EMAGE/pretrained_vq/hands_vertex_1layer_710.bin DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:1595a13fbdf38b95da2baf6a4ba9f0c62cd6af8b8f537da12c1c90321affa3b3
3
- size 9644516
 
 
 
 
EMAGE/pretrained_vq/last_1700_foot.bin DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:f293265b828c6b45e12068c9b7956283c92b40cfdc9dd56ae960bbeb7bba1ad6
3
- size 14611444
 
 
 
 
EMAGE/pretrained_vq/last_790_face_v2.bin DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:13ff79afef2c3209804c0cae2b9a7c467c1a39268efa87a637e860b8e6b1b4c0
3
- size 8935204
 
 
 
 
EMAGE/pretrained_vq/lower_foot_600.bin DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:0e323ed5f7014957433b59249497188656811b76952d666eae5f4affdc341786
3
- size 14873924
 
 
 
 
EMAGE/smplx_models/.DS_Store DELETED
Binary file (6.15 kB)
 
EMAGE/smplx_models/smplx/SMPLX_NEUTRAL_2020.npz DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:bdf06146e27d92022fe5dadad3b9203373f6879eca8e4d8235359ee3ec6a5a74
3
- size 167264530
 
 
 
 
EMAGE/test_sequences/smplxflame_30/2_scott_0_1_1.npz DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:37b112fd59fcabb09270d6ca3c74e7459cc5b9729564bcacf1f75609f3999592
3
- size 2831524
 
 
 
 
EMAGE/test_sequences/smplxflame_30/2_scott_0_2_2.npz DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5875f768aa4600af7d767625e0d87941b1cca9555855d8c6b509004116790f7d
3
- size 2754356
 
 
 
 
EMAGE/test_sequences/smplxflame_30/2_scott_0_3_3.npz DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:23ace88c7ff0288af83cc30d2428e0cb70c3d92bce981a67a5811cd53ab96db4
3
- size 3021476
 
 
 
 
EMAGE/test_sequences/smplxflame_30/2_scott_0_4_4.npz DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:ede3993db9565b7b3a945532def69d617d6b2338f488a746a7be998f3b0685d8
3
- size 2976956
 
 
 
 
EMAGE/test_sequences/test.csv DELETED
@@ -1,5 +0,0 @@
1
- id,type
2
- 2_scott_0_3_3,test
3
- 2_scott_0_2_2,test
4
- 2_scott_0_1_1,test
5
- 2_scott_0_4_4,test
 
 
 
 
 
 
EMAGE/test_sequences/textgrid/2_scott_0_1_1.TextGrid DELETED
@@ -1,3636 +0,0 @@
1
- File type = "ooTextFile"
2
- Object class = "TextGrid"
3
-
4
- xmin = 0
5
- xmax = 64.097375
6
- tiers? <exists>
7
- size = 2
8
- item []:
9
- item [1]:
10
- class = "IntervalTier"
11
- name = "words"
12
- xmin = 0
13
- xmax = 64.097375
14
- intervals: size = 220
15
- intervals [1]:
16
- xmin = 0
17
- xmax = 1.42
18
- text = ""
19
- intervals [2]:
20
- xmin = 1.42
21
- xmax = 1.52
22
- text = "the"
23
- intervals [3]:
24
- xmin = 1.52
25
- xmax = 1.78
26
- text = "first"
27
- intervals [4]:
28
- xmin = 1.78
29
- xmax = 1.97
30
- text = "thing"
31
- intervals [5]:
32
- xmin = 1.97
33
- xmax = 2.04
34
- text = "i"
35
- intervals [6]:
36
- xmin = 2.04
37
- xmax = 2.21
38
- text = "like"
39
- intervals [7]:
40
- xmin = 2.21
41
- xmax = 2.28
42
- text = "to"
43
- intervals [8]:
44
- xmin = 2.28
45
- xmax = 2.47
46
- text = "do"
47
- intervals [9]:
48
- xmin = 2.47
49
- xmax = 2.63
50
- text = "on"
51
- intervals [10]:
52
- xmin = 2.63
53
- xmax = 3.32
54
- text = "weekends"
55
- intervals [11]:
56
- xmin = 3.32
57
- xmax = 3.58
58
- text = "is"
59
- intervals [12]:
60
- xmin = 3.58
61
- xmax = 4.41
62
- text = "relaxing"
63
- intervals [13]:
64
- xmin = 4.41
65
- xmax = 4.52
66
- text = ""
67
- intervals [14]:
68
- xmin = 4.52
69
- xmax = 5.05
70
- text = "and"
71
- intervals [15]:
72
- xmin = 5.05
73
- xmax = 5.14
74
- text = "i"
75
- intervals [16]:
76
- xmin = 5.14
77
- xmax = 5.33
78
- text = "think"
79
- intervals [17]:
80
- xmin = 5.33
81
- xmax = 5.41
82
- text = "i'll"
83
- intervals [18]:
84
- xmin = 5.41
85
- xmax = 5.5
86
- text = "go"
87
- intervals [19]:
88
- xmin = 5.5
89
- xmax = 6
90
- text = "shopping"
91
- intervals [20]:
92
- xmin = 6
93
- xmax = 6.11
94
- text = "if"
95
- intervals [21]:
96
- xmin = 6.11
97
- xmax = 6.29
98
- text = "i'm"
99
- intervals [22]:
100
- xmin = 6.29
101
- xmax = 6.54
102
- text = "not"
103
- intervals [23]:
104
- xmin = 6.54
105
- xmax = 6.7
106
- text = "that"
107
- intervals [24]:
108
- xmin = 6.7
109
- xmax = 7.19
110
- text = "tired"
111
- intervals [25]:
112
- xmin = 7.19
113
- xmax = 7.45
114
- text = ""
115
- intervals [26]:
116
- xmin = 7.45
117
- xmax = 7.62
118
- text = "so"
119
- intervals [27]:
120
- xmin = 7.62
121
- xmax = 7.74
122
- text = "that"
123
- intervals [28]:
124
- xmin = 7.74
125
- xmax = 7.85
126
- text = "you"
127
- intervals [29]:
128
- xmin = 7.85
129
- xmax = 8.14
130
- text = "started"
131
- intervals [30]:
132
- xmin = 8.14
133
- xmax = 8.24
134
- text = "by"
135
- intervals [31]:
136
- xmin = 8.24
137
- xmax = 8.52
138
- text = "job"
139
- intervals [32]:
140
- xmin = 8.52
141
- xmax = 8.59
142
- text = "i"
143
- intervals [33]:
144
- xmin = 8.59
145
- xmax = 8.75
146
- text = "think"
147
- intervals [34]:
148
- xmin = 8.75
149
- xmax = 8.88
150
- text = "it's"
151
- intervals [35]:
152
- xmin = 8.88
153
- xmax = 9.35
154
- text = "very"
155
- intervals [36]:
156
- xmin = 9.35
157
- xmax = 9.8
158
- text = "important"
159
- intervals [37]:
160
- xmin = 9.8
161
- xmax = 9.87
162
- text = "to"
163
- intervals [38]:
164
- xmin = 9.87
165
- xmax = 9.99
166
- text = "get"
167
- intervals [39]:
168
- xmin = 9.99
169
- xmax = 10.03
170
- text = "a"
171
- intervals [40]:
172
- xmin = 10.03
173
- xmax = 10.17
174
- text = "good"
175
- intervals [41]:
176
- xmin = 10.17
177
- xmax = 10.56
178
- text = "sleep"
179
- intervals [42]:
180
- xmin = 10.56
181
- xmax = 11.14
182
- text = "during"
183
- intervals [43]:
184
- xmin = 11.14
185
- xmax = 11.32
186
- text = "your"
187
- intervals [44]:
188
- xmin = 11.32
189
- xmax = 11.77
190
- text = "weekend"
191
- intervals [45]:
192
- xmin = 11.77
193
- xmax = 12.4
194
- text = "because"
195
- intervals [46]:
196
- xmin = 12.4
197
- xmax = 12.95
198
- text = "when"
199
- intervals [47]:
200
- xmin = 12.95
201
- xmax = 13.04
202
- text = "you"
203
- intervals [48]:
204
- xmin = 13.04
205
- xmax = 13.19
206
- text = "have"
207
- intervals [49]:
208
- xmin = 13.19
209
- xmax = 13.27
210
- text = "to"
211
- intervals [50]:
212
- xmin = 13.27
213
- xmax = 13.44
214
- text = "work"
215
- intervals [51]:
216
- xmin = 13.44
217
- xmax = 13.58
218
- text = "on"
219
- intervals [52]:
220
- xmin = 13.58
221
- xmax = 13.96
222
- text = "monday"
223
- intervals [53]:
224
- xmin = 13.96
225
- xmax = 14.1
226
- text = "through"
227
- intervals [54]:
228
- xmin = 14.1
229
- xmax = 14.75
230
- text = "friday"
231
- intervals [55]:
232
- xmin = 14.75
233
- xmax = 15.41
234
- text = ""
235
- intervals [56]:
236
- xmin = 15.41
237
- xmax = 15.53
238
- text = "the"
239
- intervals [57]:
240
- xmin = 15.53
241
- xmax = 15.75
242
- text = "whole"
243
- intervals [58]:
244
- xmin = 15.75
245
- xmax = 16.09
246
- text = "week"
247
- intervals [59]:
248
- xmin = 16.09
249
- xmax = 16.28
250
- text = ""
251
- intervals [60]:
252
- xmin = 16.28
253
- xmax = 16.42
254
- text = "you"
255
- intervals [61]:
256
- xmin = 16.42
257
- xmax = 16.49
258
- text = "are"
259
- intervals [62]:
260
- xmin = 16.49
261
- xmax = 16.73
262
- text = "very"
263
- intervals [63]:
264
- xmin = 16.73
265
- xmax = 17.59
266
- text = "tired"
267
- intervals [64]:
268
- xmin = 17.59
269
- xmax = 17.83
270
- text = ""
271
- intervals [65]:
272
- xmin = 17.83
273
- xmax = 18.29
274
- text = "so"
275
- intervals [66]:
276
- xmin = 18.29
277
- xmax = 18.55
278
- text = "getting"
279
- intervals [67]:
280
- xmin = 18.55
281
- xmax = 18.61
282
- text = "a"
283
- intervals [68]:
284
- xmin = 18.61
285
- xmax = 18.78
286
- text = "good"
287
- intervals [69]:
288
- xmin = 18.78
289
- xmax = 19.08
290
- text = "rest"
291
- intervals [70]:
292
- xmin = 19.08
293
- xmax = 19.21
294
- text = "is"
295
- intervals [71]:
296
- xmin = 19.21
297
- xmax = 19.3
298
- text = "as"
299
- intervals [72]:
300
- xmin = 19.3
301
- xmax = 19.77
302
- text = "important"
303
- intervals [73]:
304
- xmin = 19.77
305
- xmax = 20.16
306
- text = "as"
307
- intervals [74]:
308
- xmin = 20.16
309
- xmax = 20.3
310
- text = ""
311
- intervals [75]:
312
- xmin = 20.3
313
- xmax = 20.66
314
- text = "complain"
315
- intervals [76]:
316
- xmin = 20.66
317
- xmax = 20.75
318
- text = "to"
319
- intervals [77]:
320
- xmin = 20.75
321
- xmax = 21.09
322
- text = "jaw"
323
- intervals [78]:
324
- xmin = 21.09
325
- xmax = 21.3
326
- text = "or"
327
- intervals [79]:
328
- xmin = 21.3
329
- xmax = 21.79
330
- text = "completing"
331
- intervals [80]:
332
- xmin = 21.79
333
- xmax = 21.9
334
- text = "an"
335
- intervals [81]:
336
- xmin = 21.9
337
- xmax = 22.23
338
- text = "excellent"
339
- intervals [82]:
340
- xmin = 22.23
341
- xmax = 22.64
342
- text = "job"
343
- intervals [83]:
344
- xmin = 22.64
345
- xmax = 23.04
346
- text = ""
347
- intervals [84]:
348
- xmin = 23.04
349
- xmax = 23.17
350
- text = "in"
351
- intervals [85]:
352
- xmin = 23.17
353
- xmax = 23.29
354
- text = "my"
355
- intervals [86]:
356
- xmin = 23.29
357
- xmax = 23.56
358
- text = "spare"
359
- intervals [87]:
360
- xmin = 23.56
361
- xmax = 23.8
362
- text = "time"
363
- intervals [88]:
364
- xmin = 23.8
365
- xmax = 23.88
366
- text = "if"
367
- intervals [89]:
368
- xmin = 23.88
369
- xmax = 23.98
370
- text = "i"
371
- intervals [90]:
372
- xmin = 23.98
373
- xmax = 24.18
374
- text = "feel"
375
- intervals [91]:
376
- xmin = 24.18
377
- xmax = 24.84
378
- text = "okay"
379
- intervals [92]:
380
- xmin = 24.84
381
- xmax = 25.07
382
- text = "i"
383
- intervals [93]:
384
- xmin = 25.07
385
- xmax = 25.1
386
- text = ""
387
- intervals [94]:
388
- xmin = 25.1
389
- xmax = 25.38
390
- text = "like"
391
- intervals [95]:
392
- xmin = 25.38
393
- xmax = 25.44
394
- text = "to"
395
- intervals [96]:
396
- xmin = 25.44
397
- xmax = 25.55
398
- text = "go"
399
- intervals [97]:
400
- xmin = 25.55
401
- xmax = 25.79
402
- text = "for"
403
- intervals [98]:
404
- xmin = 25.79
405
- xmax = 25.83
406
- text = "a"
407
- intervals [99]:
408
- xmin = 25.83
409
- xmax = 26.12
410
- text = "hike"
411
- intervals [100]:
412
- xmin = 26.12
413
- xmax = 26.21
414
- text = "in"
415
- intervals [101]:
416
- xmin = 26.21
417
- xmax = 26.81
418
- text = "nature"
419
- intervals [102]:
420
- xmin = 26.81
421
- xmax = 27.11
422
- text = ""
423
- intervals [103]:
424
- xmin = 27.11
425
- xmax = 27.45
426
- text = "sometimes"
427
- intervals [104]:
428
- xmin = 27.45
429
- xmax = 27.51
430
- text = "i"
431
- intervals [105]:
432
- xmin = 27.51
433
- xmax = 27.74
434
- text = "try"
435
- intervals [106]:
436
- xmin = 27.74
437
- xmax = 27.88
438
- text = "to"
439
- intervals [107]:
440
- xmin = 27.88
441
- xmax = 28.37
442
- text = "organize"
443
- intervals [108]:
444
- xmin = 28.37
445
- xmax = 28.94
446
- text = "something"
447
- intervals [109]:
448
- xmin = 28.94
449
- xmax = 28.98
450
- text = ""
451
- intervals [110]:
452
- xmin = 28.98
453
- xmax = 29.19
454
- text = "for"
455
- intervals [111]:
456
- xmin = 29.19
457
- xmax = 29.32
458
- text = "my"
459
- intervals [112]:
460
- xmin = 29.32
461
- xmax = 29.89
462
- text = "friends"
463
- intervals [113]:
464
- xmin = 29.89
465
- xmax = 29.92
466
- text = ""
467
- intervals [114]:
468
- xmin = 29.92
469
- xmax = 29.95
470
- text = "i"
471
- intervals [115]:
472
- xmin = 29.95
473
- xmax = 30.2
474
- text = ""
475
- intervals [116]:
476
- xmin = 30.2
477
- xmax = 30.73
478
- text = "volunteer"
479
- intervals [117]:
480
- xmin = 30.73
481
- xmax = 30.86
482
- text = "at"
483
- intervals [118]:
484
- xmin = 30.86
485
- xmax = 30.97
486
- text = "the"
487
- intervals [119]:
488
- xmin = 30.97
489
- xmax = 31.38
490
- text = "buddhist"
491
- intervals [120]:
492
- xmin = 31.38
493
- xmax = 31.83
494
- text = "temple"
495
- intervals [121]:
496
- xmin = 31.83
497
- xmax = 31.94
498
- text = "on"
499
- intervals [122]:
500
- xmin = 31.94
501
- xmax = 32.01
502
- text = "the"
503
- intervals [123]:
504
- xmin = 32.01
505
- xmax = 32.6
506
- text = "weekend"
507
- intervals [124]:
508
- xmin = 32.6
509
- xmax = 33.01
510
- text = "or"
511
- intervals [125]:
512
- xmin = 33.01
513
- xmax = 33.24
514
- text = "i"
515
- intervals [126]:
516
- xmin = 33.24
517
- xmax = 33.62
518
- text = "can"
519
- intervals [127]:
520
- xmin = 33.62
521
- xmax = 33.91
522
- text = "just"
523
- intervals [128]:
524
- xmin = 33.91
525
- xmax = 34.3
526
- text = "walk"
527
- intervals [129]:
528
- xmin = 34.3
529
- xmax = 34.69
530
- text = "around"
531
- intervals [130]:
532
- xmin = 34.69
533
- xmax = 35.08
534
- text = "enjoying"
535
- intervals [131]:
536
- xmin = 35.08
537
- xmax = 35.17
538
- text = "the"
539
- intervals [132]:
540
- xmin = 35.17
541
- xmax = 35.87
542
- text = "sunshine"
543
- intervals [133]:
544
- xmin = 35.87
545
- xmax = 36.15
546
- text = ""
547
- intervals [134]:
548
- xmin = 36.15
549
- xmax = 36.34
550
- text = "i'd"
551
- intervals [135]:
552
- xmin = 36.34
553
- xmax = 36.52
554
- text = "like"
555
- intervals [136]:
556
- xmin = 36.52
557
- xmax = 36.59
558
- text = "to"
559
- intervals [137]:
560
- xmin = 36.59
561
- xmax = 36.74
562
- text = "have"
563
- intervals [138]:
564
- xmin = 36.74
565
- xmax = 36.79
566
- text = "a"
567
- intervals [139]:
568
- xmin = 36.79
569
- xmax = 37.06
570
- text = "healthy"
571
- intervals [140]:
572
- xmin = 37.06
573
- xmax = 37.66
574
- text = "lifestyle"
575
- intervals [141]:
576
- xmin = 37.66
577
- xmax = 38.06
578
- text = "considering"
579
- intervals [142]:
580
- xmin = 38.06
581
- xmax = 38.17
582
- text = "how"
583
- intervals [143]:
584
- xmin = 38.17
585
- xmax = 38.38
586
- text = "much"
587
- intervals [144]:
588
- xmin = 38.38
589
- xmax = 38.74
590
- text = "time"
591
- intervals [145]:
592
- xmin = 38.74
593
- xmax = 38.81
594
- text = "i"
595
- intervals [146]:
596
- xmin = 38.81
597
- xmax = 39.18
598
- text = "spend"
599
- intervals [147]:
600
- xmin = 39.18
601
- xmax = 39.29
602
- text = "at"
603
- intervals [148]:
604
- xmin = 39.29
605
- xmax = 39.84
606
- text = "work"
607
- intervals [149]:
608
- xmin = 39.84
609
- xmax = 40.29
610
- text = ""
611
- intervals [150]:
612
- xmin = 40.29
613
- xmax = 40.52
614
- text = "i"
615
- intervals [151]:
616
- xmin = 40.52
617
- xmax = 40.79
618
- text = "always"
619
- intervals [152]:
620
- xmin = 40.79
621
- xmax = 41.28
622
- text = "try"
623
- intervals [153]:
624
- xmin = 41.28
625
- xmax = 41.47
626
- text = "to"
627
- intervals [154]:
628
- xmin = 41.47
629
- xmax = 41.85
630
- text = "move"
631
- intervals [155]:
632
- xmin = 41.85
633
- xmax = 42
634
- text = "as"
635
- intervals [156]:
636
- xmin = 42
637
- xmax = 42.22
638
- text = "much"
639
- intervals [157]:
640
- xmin = 42.22
641
- xmax = 42.31
642
- text = "as"
643
- intervals [158]:
644
- xmin = 42.31
645
- xmax = 42.4
646
- text = "i"
647
- intervals [159]:
648
- xmin = 42.4
649
- xmax = 42.76
650
- text = "can"
651
- intervals [160]:
652
- xmin = 42.76
653
- xmax = 42.89
654
- text = "when"
655
- intervals [161]:
656
- xmin = 42.89
657
- xmax = 42.98
658
- text = "i'm"
659
- intervals [162]:
660
- xmin = 42.98
661
- xmax = 43.18
662
- text = "not"
663
- intervals [163]:
664
- xmin = 43.18
665
- xmax = 43.76
666
- text = "working"
667
- intervals [164]:
668
- xmin = 43.76
669
- xmax = 44.5
670
- text = ""
671
- intervals [165]:
672
- xmin = 44.5
673
- xmax = 45.19
674
- text = "and"
675
- intervals [166]:
676
- xmin = 45.19
677
- xmax = 45.32
678
- text = "on"
679
- intervals [167]:
680
- xmin = 45.32
681
- xmax = 45.49
682
- text = "other"
683
- intervals [168]:
684
- xmin = 45.49
685
- xmax = 45.82
686
- text = "days"
687
- intervals [169]:
688
- xmin = 45.82
689
- xmax = 45.96
690
- text = "when"
691
- intervals [170]:
692
- xmin = 45.96
693
- xmax = 46.16
694
- text = "i'm"
695
- intervals [171]:
696
- xmin = 46.16
697
- xmax = 46.65
698
- text = "free"
699
- intervals [172]:
700
- xmin = 46.65
701
- xmax = 46.86
702
- text = "i"
703
- intervals [173]:
704
- xmin = 46.86
705
- xmax = 47.16
706
- text = "like"
707
- intervals [174]:
708
- xmin = 47.16
709
- xmax = 47.39
710
- text = "to"
711
- intervals [175]:
712
- xmin = 47.39
713
- xmax = 47.86
714
- text = "listen"
715
- intervals [176]:
716
- xmin = 47.86
717
- xmax = 48.03
718
- text = "to"
719
- intervals [177]:
720
- xmin = 48.03
721
- xmax = 48.41
722
- text = "music"
723
- intervals [178]:
724
- xmin = 48.41
725
- xmax = 48.73
726
- text = "and"
727
- intervals [179]:
728
- xmin = 48.73
729
- xmax = 48.76
730
- text = ""
731
- intervals [180]:
732
- xmin = 48.76
733
- xmax = 49.01
734
- text = "we're"
735
- intervals [181]:
736
- xmin = 49.01
737
- xmax = 49.3
738
- text = "watch"
739
- intervals [182]:
740
- xmin = 49.3
741
- xmax = 49.38
742
- text = "a"
743
- intervals [183]:
744
- xmin = 49.38
745
- xmax = 50.05
746
- text = "documentary"
747
- intervals [184]:
748
- xmin = 50.05
749
- xmax = 50.51
750
- text = "movies"
751
- intervals [185]:
752
- xmin = 50.51
753
- xmax = 50.82
754
- text = "on"
755
- intervals [186]:
756
- xmin = 50.82
757
- xmax = 51.11
758
- text = "my"
759
- intervals [187]:
760
- xmin = 51.11
761
- xmax = 51.81
762
- text = "laptop"
763
- intervals [188]:
764
- xmin = 51.81
765
- xmax = 52.14
766
- text = ""
767
- intervals [189]:
768
- xmin = 52.14
769
- xmax = 52.44
770
- text = "but"
771
- intervals [190]:
772
- xmin = 52.44
773
- xmax = 52.86
774
- text = "sometimes"
775
- intervals [191]:
776
- xmin = 52.86
777
- xmax = 52.93
778
- text = "it"
779
- intervals [192]:
780
- xmin = 52.93
781
- xmax = 53.13
782
- text = "just"
783
- intervals [193]:
784
- xmin = 53.13
785
- xmax = 53.61
786
- text = "sleep"
787
- intervals [194]:
788
- xmin = 53.61
789
- xmax = 53.65
790
- text = ""
791
- intervals [195]:
792
- xmin = 53.65
793
- xmax = 53.83
794
- text = "i"
795
- intervals [196]:
796
- xmin = 53.83
797
- xmax = 54.27
798
- text = "especially"
799
- intervals [197]:
800
- xmin = 54.27
801
- xmax = 54.61
802
- text = "liked"
803
- intervals [198]:
804
- xmin = 54.61
805
- xmax = 55.01
806
- text = "watching"
807
- intervals [199]:
808
- xmin = 55.01
809
- xmax = 55.62
810
- text = "japanese"
811
- intervals [200]:
812
- xmin = 55.62
813
- xmax = 55.91
814
- text = "anime"
815
- intervals [201]:
816
- xmin = 55.91
817
- xmax = 56.33
818
- text = "i"
819
- intervals [202]:
820
- xmin = 56.33
821
- xmax = 56.85
822
- text = ""
823
- intervals [203]:
824
- xmin = 56.85
825
- xmax = 57.12
826
- text = "think"
827
- intervals [204]:
828
- xmin = 57.12
829
- xmax = 57.43
830
- text = "watching"
831
- intervals [205]:
832
- xmin = 57.43
833
- xmax = 57.62
834
- text = "a"
835
- intervals [206]:
836
- xmin = 57.62
837
- xmax = 57.79
838
- text = "me"
839
- intervals [207]:
840
- xmin = 57.79
841
- xmax = 58.09
842
- text = "is"
843
- intervals [208]:
844
- xmin = 58.09
845
- xmax = 58.39
846
- text = "anime"
847
- intervals [209]:
848
- xmin = 58.39
849
- xmax = 59.06
850
- text = "is"
851
- intervals [210]:
852
- xmin = 59.06
853
- xmax = 59.31
854
- text = "very"
855
- intervals [211]:
856
- xmin = 59.31
857
- xmax = 59.67
858
- text = "helpful"
859
- intervals [212]:
860
- xmin = 59.67
861
- xmax = 59.81
862
- text = "for"
863
- intervals [213]:
864
- xmin = 59.81
865
- xmax = 59.98
866
- text = "me"
867
- intervals [214]:
868
- xmin = 59.98
869
- xmax = 60.28
870
- text = "to"
871
- intervals [215]:
872
- xmin = 60.28
873
- xmax = 60.69
874
- text = "learn"
875
- intervals [216]:
876
- xmin = 60.69
877
- xmax = 60.78
878
- text = "and"
879
- intervals [217]:
880
- xmin = 60.78
881
- xmax = 61.21
882
- text = "express"
883
- intervals [218]:
884
- xmin = 61.21
885
- xmax = 61.89
886
- text = "japanese"
887
- intervals [219]:
888
- xmin = 61.89
889
- xmax = 62.42
890
- text = "better"
891
- intervals [220]:
892
- xmin = 62.42
893
- xmax = 64.097375
894
- text = ""
895
- item [2]:
896
- class = "IntervalTier"
897
- name = "phones"
898
- xmin = 0
899
- xmax = 64.097375
900
- intervals: size = 684
901
- intervals [1]:
902
- xmin = 0
903
- xmax = 1.42
904
- text = ""
905
- intervals [2]:
906
- xmin = 1.42
907
- xmax = 1.48
908
- text = "DH"
909
- intervals [3]:
910
- xmin = 1.48
911
- xmax = 1.52
912
- text = "AH0"
913
- intervals [4]:
914
- xmin = 1.52
915
- xmax = 1.62
916
- text = "F"
917
- intervals [5]:
918
- xmin = 1.62
919
- xmax = 1.72
920
- text = "ER1"
921
- intervals [6]:
922
- xmin = 1.72
923
- xmax = 1.75
924
- text = "S"
925
- intervals [7]:
926
- xmin = 1.75
927
- xmax = 1.78
928
- text = "T"
929
- intervals [8]:
930
- xmin = 1.78
931
- xmax = 1.81
932
- text = "TH"
933
- intervals [9]:
934
- xmin = 1.81
935
- xmax = 1.88
936
- text = "IH1"
937
- intervals [10]:
938
- xmin = 1.88
939
- xmax = 1.97
940
- text = "NG"
941
- intervals [11]:
942
- xmin = 1.97
943
- xmax = 2.04
944
- text = "AY1"
945
- intervals [12]:
946
- xmin = 2.04
947
- xmax = 2.08
948
- text = "L"
949
- intervals [13]:
950
- xmin = 2.08
951
- xmax = 2.17
952
- text = "AY1"
953
- intervals [14]:
954
- xmin = 2.17
955
- xmax = 2.21
956
- text = "K"
957
- intervals [15]:
958
- xmin = 2.21
959
- xmax = 2.24
960
- text = "T"
961
- intervals [16]:
962
- xmin = 2.24
963
- xmax = 2.28
964
- text = "IH0"
965
- intervals [17]:
966
- xmin = 2.28
967
- xmax = 2.34
968
- text = "D"
969
- intervals [18]:
970
- xmin = 2.34
971
- xmax = 2.47
972
- text = "UW1"
973
- intervals [19]:
974
- xmin = 2.47
975
- xmax = 2.58
976
- text = "AA1"
977
- intervals [20]:
978
- xmin = 2.58
979
- xmax = 2.63
980
- text = "N"
981
- intervals [21]:
982
- xmin = 2.63
983
- xmax = 2.68
984
- text = "W"
985
- intervals [22]:
986
- xmin = 2.68
987
- xmax = 2.78
988
- text = "IY1"
989
- intervals [23]:
990
- xmin = 2.78
991
- xmax = 2.88
992
- text = "K"
993
- intervals [24]:
994
- xmin = 2.88
995
- xmax = 3.01
996
- text = "EH2"
997
- intervals [25]:
998
- xmin = 3.01
999
- xmax = 3.14
1000
- text = "N"
1001
- intervals [26]:
1002
- xmin = 3.14
1003
- xmax = 3.2
1004
- text = "D"
1005
- intervals [27]:
1006
- xmin = 3.2
1007
- xmax = 3.32
1008
- text = "Z"
1009
- intervals [28]:
1010
- xmin = 3.32
1011
- xmax = 3.47
1012
- text = "IH1"
1013
- intervals [29]:
1014
- xmin = 3.47
1015
- xmax = 3.58
1016
- text = "Z"
1017
- intervals [30]:
1018
- xmin = 3.58
1019
- xmax = 3.64
1020
- text = "R"
1021
- intervals [31]:
1022
- xmin = 3.64
1023
- xmax = 3.7
1024
- text = "IY0"
1025
- intervals [32]:
1026
- xmin = 3.7
1027
- xmax = 3.8
1028
- text = "L"
1029
- intervals [33]:
1030
- xmin = 3.8
1031
- xmax = 3.96
1032
- text = "AE1"
1033
- intervals [34]:
1034
- xmin = 3.96
1035
- xmax = 4.02
1036
- text = "K"
1037
- intervals [35]:
1038
- xmin = 4.02
1039
- xmax = 4.11
1040
- text = "S"
1041
- intervals [36]:
1042
- xmin = 4.11
1043
- xmax = 4.2
1044
- text = "IH0"
1045
- intervals [37]:
1046
- xmin = 4.2
1047
- xmax = 4.41
1048
- text = "NG"
1049
- intervals [38]:
1050
- xmin = 4.41
1051
- xmax = 4.52
1052
- text = ""
1053
- intervals [39]:
1054
- xmin = 4.52
1055
- xmax = 4.97
1056
- text = "AH0"
1057
- intervals [40]:
1058
- xmin = 4.97
1059
- xmax = 5.01
1060
- text = "N"
1061
- intervals [41]:
1062
- xmin = 5.01
1063
- xmax = 5.05
1064
- text = "D"
1065
- intervals [42]:
1066
- xmin = 5.05
1067
- xmax = 5.14
1068
- text = "AY1"
1069
- intervals [43]:
1070
- xmin = 5.14
1071
- xmax = 5.19
1072
- text = "TH"
1073
- intervals [44]:
1074
- xmin = 5.19
1075
- xmax = 5.25
1076
- text = "IH1"
1077
- intervals [45]:
1078
- xmin = 5.25
1079
- xmax = 5.29
1080
- text = "NG"
1081
- intervals [46]:
1082
- xmin = 5.29
1083
- xmax = 5.33
1084
- text = "K"
1085
- intervals [47]:
1086
- xmin = 5.33
1087
- xmax = 5.36
1088
- text = "AY1"
1089
- intervals [48]:
1090
- xmin = 5.36
1091
- xmax = 5.41
1092
- text = "L"
1093
- intervals [49]:
1094
- xmin = 5.41
1095
- xmax = 5.44
1096
- text = "G"
1097
- intervals [50]:
1098
- xmin = 5.44
1099
- xmax = 5.5
1100
- text = "OW1"
1101
- intervals [51]:
1102
- xmin = 5.5
1103
- xmax = 5.68
1104
- text = "SH"
1105
- intervals [52]:
1106
- xmin = 5.68
1107
- xmax = 5.87
1108
- text = "AA1"
1109
- intervals [53]:
1110
- xmin = 5.87
1111
- xmax = 5.92
1112
- text = "P"
1113
- intervals [54]:
1114
- xmin = 5.92
1115
- xmax = 5.96
1116
- text = "IH0"
1117
- intervals [55]:
1118
- xmin = 5.96
1119
- xmax = 6
1120
- text = "NG"
1121
- intervals [56]:
1122
- xmin = 6
1123
- xmax = 6.06
1124
- text = "IH0"
1125
- intervals [57]:
1126
- xmin = 6.06
1127
- xmax = 6.11
1128
- text = "F"
1129
- intervals [58]:
1130
- xmin = 6.11
1131
- xmax = 6.16
1132
- text = "AY1"
1133
- intervals [59]:
1134
- xmin = 6.16
1135
- xmax = 6.29
1136
- text = "M"
1137
- intervals [60]:
1138
- xmin = 6.29
1139
- xmax = 6.35
1140
- text = "N"
1141
- intervals [61]:
1142
- xmin = 6.35
1143
- xmax = 6.48
1144
- text = "AA1"
1145
- intervals [62]:
1146
- xmin = 6.48
1147
- xmax = 6.54
1148
- text = "T"
1149
- intervals [63]:
1150
- xmin = 6.54
1151
- xmax = 6.58
1152
- text = "DH"
1153
- intervals [64]:
1154
- xmin = 6.58
1155
- xmax = 6.64
1156
- text = "AE1"
1157
- intervals [65]:
1158
- xmin = 6.64
1159
- xmax = 6.7
1160
- text = "T"
1161
- intervals [66]:
1162
- xmin = 6.7
1163
- xmax = 6.78
1164
- text = "T"
1165
- intervals [67]:
1166
- xmin = 6.78
1167
- xmax = 6.93
1168
- text = "AY1"
1169
- intervals [68]:
1170
- xmin = 6.93
1171
- xmax = 7.08
1172
- text = "ER0"
1173
- intervals [69]:
1174
- xmin = 7.08
1175
- xmax = 7.19
1176
- text = "D"
1177
- intervals [70]:
1178
- xmin = 7.19
1179
- xmax = 7.45
1180
- text = ""
1181
- intervals [71]:
1182
- xmin = 7.45
1183
- xmax = 7.59
1184
- text = "S"
1185
- intervals [72]:
1186
- xmin = 7.59
1187
- xmax = 7.62
1188
- text = "OW1"
1189
- intervals [73]:
1190
- xmin = 7.62
1191
- xmax = 7.66
1192
- text = "DH"
1193
- intervals [74]:
1194
- xmin = 7.66
1195
- xmax = 7.71
1196
- text = "AE1"
1197
- intervals [75]:
1198
- xmin = 7.71
1199
- xmax = 7.74
1200
- text = "T"
1201
- intervals [76]:
1202
- xmin = 7.74
1203
- xmax = 7.77
1204
- text = "Y"
1205
- intervals [77]:
1206
- xmin = 7.77
1207
- xmax = 7.85
1208
- text = "UW1"
1209
- intervals [78]:
1210
- xmin = 7.85
1211
- xmax = 7.92
1212
- text = "S"
1213
- intervals [79]:
1214
- xmin = 7.92
1215
- xmax = 7.97
1216
- text = "T"
1217
- intervals [80]:
1218
- xmin = 7.97
1219
- xmax = 8.02
1220
- text = "AA1"
1221
- intervals [81]:
1222
- xmin = 8.02
1223
- xmax = 8.05
1224
- text = "R"
1225
- intervals [82]:
1226
- xmin = 8.05
1227
- xmax = 8.08
1228
- text = "T"
1229
- intervals [83]:
1230
- xmin = 8.08
1231
- xmax = 8.11
1232
- text = "AH0"
1233
- intervals [84]:
1234
- xmin = 8.11
1235
- xmax = 8.14
1236
- text = "D"
1237
- intervals [85]:
1238
- xmin = 8.14
1239
- xmax = 8.17
1240
- text = "B"
1241
- intervals [86]:
1242
- xmin = 8.17
1243
- xmax = 8.24
1244
- text = "AY1"
1245
- intervals [87]:
1246
- xmin = 8.24
1247
- xmax = 8.35
1248
- text = "JH"
1249
- intervals [88]:
1250
- xmin = 8.35
1251
- xmax = 8.48
1252
- text = "AA1"
1253
- intervals [89]:
1254
- xmin = 8.48
1255
- xmax = 8.52
1256
- text = "B"
1257
- intervals [90]:
1258
- xmin = 8.52
1259
- xmax = 8.59
1260
- text = "AY1"
1261
- intervals [91]:
1262
- xmin = 8.59
1263
- xmax = 8.64
1264
- text = "TH"
1265
- intervals [92]:
1266
- xmin = 8.64
1267
- xmax = 8.69
1268
- text = "IH1"
1269
- intervals [93]:
1270
- xmin = 8.69
1271
- xmax = 8.72
1272
- text = "NG"
1273
- intervals [94]:
1274
- xmin = 8.72
1275
- xmax = 8.75
1276
- text = "K"
1277
- intervals [95]:
1278
- xmin = 8.75
1279
- xmax = 8.79
1280
- text = "IH1"
1281
- intervals [96]:
1282
- xmin = 8.79
1283
- xmax = 8.84
1284
- text = "T"
1285
- intervals [97]:
1286
- xmin = 8.84
1287
- xmax = 8.88
1288
- text = "S"
1289
- intervals [98]:
1290
- xmin = 8.88
1291
- xmax = 9.08
1292
- text = "V"
1293
- intervals [99]:
1294
- xmin = 9.08
1295
- xmax = 9.2
1296
- text = "EH1"
1297
- intervals [100]:
1298
- xmin = 9.2
1299
- xmax = 9.28
1300
- text = "R"
1301
- intervals [101]:
1302
- xmin = 9.28
1303
- xmax = 9.35
1304
- text = "IY0"
1305
- intervals [102]:
1306
- xmin = 9.35
1307
- xmax = 9.4
1308
- text = "IH0"
1309
- intervals [103]:
1310
- xmin = 9.4
1311
- xmax = 9.46
1312
- text = "M"
1313
- intervals [104]:
1314
- xmin = 9.46
1315
- xmax = 9.55
1316
- text = "P"
1317
- intervals [105]:
1318
- xmin = 9.55
1319
- xmax = 9.63
1320
- text = "AO1"
1321
- intervals [106]:
1322
- xmin = 9.63
1323
- xmax = 9.68
1324
- text = "R"
1325
- intervals [107]:
1326
- xmin = 9.68
1327
- xmax = 9.71
1328
- text = "T"
1329
- intervals [108]:
1330
- xmin = 9.71
1331
- xmax = 9.74
1332
- text = "AH0"
1333
- intervals [109]:
1334
- xmin = 9.74
1335
- xmax = 9.77
1336
- text = "N"
1337
- intervals [110]:
1338
- xmin = 9.77
1339
- xmax = 9.8
1340
- text = "T"
1341
- intervals [111]:
1342
- xmin = 9.8
1343
- xmax = 9.83
1344
- text = "T"
1345
- intervals [112]:
1346
- xmin = 9.83
1347
- xmax = 9.87
1348
- text = "IH0"
1349
- intervals [113]:
1350
- xmin = 9.87
1351
- xmax = 9.93
1352
- text = "G"
1353
- intervals [114]:
1354
- xmin = 9.93
1355
- xmax = 9.96
1356
- text = "EH1"
1357
- intervals [115]:
1358
- xmin = 9.96
1359
- xmax = 9.99
1360
- text = "T"
1361
- intervals [116]:
1362
- xmin = 9.99
1363
- xmax = 10.03
1364
- text = "AH0"
1365
- intervals [117]:
1366
- xmin = 10.03
1367
- xmax = 10.07
1368
- text = "G"
1369
- intervals [118]:
1370
- xmin = 10.07
1371
- xmax = 10.1
1372
- text = "IH0"
1373
- intervals [119]:
1374
- xmin = 10.1
1375
- xmax = 10.17
1376
- text = "D"
1377
- intervals [120]:
1378
- xmin = 10.17
1379
- xmax = 10.35
1380
- text = "S"
1381
- intervals [121]:
1382
- xmin = 10.35
1383
- xmax = 10.43
1384
- text = "L"
1385
- intervals [122]:
1386
- xmin = 10.43
1387
- xmax = 10.53
1388
- text = "IY1"
1389
- intervals [123]:
1390
- xmin = 10.53
1391
- xmax = 10.56
1392
- text = "P"
1393
- intervals [124]:
1394
- xmin = 10.56
1395
- xmax = 10.8
1396
- text = "D"
1397
- intervals [125]:
1398
- xmin = 10.8
1399
- xmax = 10.92
1400
- text = "ER1"
1401
- intervals [126]:
1402
- xmin = 10.92
1403
- xmax = 10.99
1404
- text = "IH0"
1405
- intervals [127]:
1406
- xmin = 10.99
1407
- xmax = 11.14
1408
- text = "NG"
1409
- intervals [128]:
1410
- xmin = 11.14
1411
- xmax = 11.2
1412
- text = "Y"
1413
- intervals [129]:
1414
- xmin = 11.2
1415
- xmax = 11.23
1416
- text = "UH1"
1417
- intervals [130]:
1418
- xmin = 11.23
1419
- xmax = 11.32
1420
- text = "R"
1421
- intervals [131]:
1422
- xmin = 11.32
1423
- xmax = 11.4
1424
- text = "W"
1425
- intervals [132]:
1426
- xmin = 11.4
1427
- xmax = 11.51
1428
- text = "IY1"
1429
- intervals [133]:
1430
- xmin = 11.51
1431
- xmax = 11.6
1432
- text = "K"
1433
- intervals [134]:
1434
- xmin = 11.6
1435
- xmax = 11.68
1436
- text = "EH2"
1437
- intervals [135]:
1438
- xmin = 11.68
1439
- xmax = 11.74
1440
- text = "N"
1441
- intervals [136]:
1442
- xmin = 11.74
1443
- xmax = 11.77
1444
- text = "D"
1445
- intervals [137]:
1446
- xmin = 11.77
1447
- xmax = 11.8
1448
- text = "B"
1449
- intervals [138]:
1450
- xmin = 11.8
1451
- xmax = 11.88
1452
- text = "IH0"
1453
- intervals [139]:
1454
- xmin = 11.88
1455
- xmax = 12
1456
- text = "K"
1457
- intervals [140]:
1458
- xmin = 12
1459
- xmax = 12.26
1460
- text = "AH1"
1461
- intervals [141]:
1462
- xmin = 12.26
1463
- xmax = 12.4
1464
- text = "Z"
1465
- intervals [142]:
1466
- xmin = 12.4
1467
- xmax = 12.6
1468
- text = "W"
1469
- intervals [143]:
1470
- xmin = 12.6
1471
- xmax = 12.88
1472
- text = "EH1"
1473
- intervals [144]:
1474
- xmin = 12.88
1475
- xmax = 12.95
1476
- text = "N"
1477
- intervals [145]:
1478
- xmin = 12.95
1479
- xmax = 12.99
1480
- text = "Y"
1481
- intervals [146]:
1482
- xmin = 12.99
1483
- xmax = 13.04
1484
- text = "UW1"
1485
- intervals [147]:
1486
- xmin = 13.04
1487
- xmax = 13.07
1488
- text = "HH"
1489
- intervals [148]:
1490
- xmin = 13.07
1491
- xmax = 13.16
1492
- text = "AE1"
1493
- intervals [149]:
1494
- xmin = 13.16
1495
- xmax = 13.19
1496
- text = "V"
1497
- intervals [150]:
1498
- xmin = 13.19
1499
- xmax = 13.22
1500
- text = "T"
1501
- intervals [151]:
1502
- xmin = 13.22
1503
- xmax = 13.27
1504
- text = "UW1"
1505
- intervals [152]:
1506
- xmin = 13.27
1507
- xmax = 13.32
1508
- text = "W"
1509
- intervals [153]:
1510
- xmin = 13.32
1511
- xmax = 13.4
1512
- text = "ER1"
1513
- intervals [154]:
1514
- xmin = 13.4
1515
- xmax = 13.44
1516
- text = "K"
1517
- intervals [155]:
1518
- xmin = 13.44
1519
- xmax = 13.51
1520
- text = "AA1"
1521
- intervals [156]:
1522
- xmin = 13.51
1523
- xmax = 13.58
1524
- text = "N"
1525
- intervals [157]:
1526
- xmin = 13.58
1527
- xmax = 13.66
1528
- text = "M"
1529
- intervals [158]:
1530
- xmin = 13.66
1531
- xmax = 13.76
1532
- text = "AH1"
1533
- intervals [159]:
1534
- xmin = 13.76
1535
- xmax = 13.81
1536
- text = "N"
1537
- intervals [160]:
1538
- xmin = 13.81
1539
- xmax = 13.85
1540
- text = "D"
1541
- intervals [161]:
1542
- xmin = 13.85
1543
- xmax = 13.96
1544
- text = "EY2"
1545
- intervals [162]:
1546
- xmin = 13.96
1547
- xmax = 14.01
1548
- text = "TH"
1549
- intervals [163]:
1550
- xmin = 14.01
1551
- xmax = 14.04
1552
- text = "R"
1553
- intervals [164]:
1554
- xmin = 14.04
1555
- xmax = 14.1
1556
- text = "UW1"
1557
- intervals [165]:
1558
- xmin = 14.1
1559
- xmax = 14.17
1560
- text = "F"
1561
- intervals [166]:
1562
- xmin = 14.17
1563
- xmax = 14.26
1564
- text = "R"
1565
- intervals [167]:
1566
- xmin = 14.26
1567
- xmax = 14.4
1568
- text = "AY1"
1569
- intervals [168]:
1570
- xmin = 14.4
1571
- xmax = 14.45
1572
- text = "D"
1573
- intervals [169]:
1574
- xmin = 14.45
1575
- xmax = 14.75
1576
- text = "EY2"
1577
- intervals [170]:
1578
- xmin = 14.75
1579
- xmax = 15.41
1580
- text = ""
1581
- intervals [171]:
1582
- xmin = 15.41
1583
- xmax = 15.49
1584
- text = "DH"
1585
- intervals [172]:
1586
- xmin = 15.49
1587
- xmax = 15.53
1588
- text = "AH1"
1589
- intervals [173]:
1590
- xmin = 15.53
1591
- xmax = 15.62
1592
- text = "HH"
1593
- intervals [174]:
1594
- xmin = 15.62
1595
- xmax = 15.67
1596
- text = "OW1"
1597
- intervals [175]:
1598
- xmin = 15.67
1599
- xmax = 15.75
1600
- text = "L"
1601
- intervals [176]:
1602
- xmin = 15.75
1603
- xmax = 15.8
1604
- text = "W"
1605
- intervals [177]:
1606
- xmin = 15.8
1607
- xmax = 15.94
1608
- text = "IY1"
1609
- intervals [178]:
1610
- xmin = 15.94
1611
- xmax = 16.09
1612
- text = "K"
1613
- intervals [179]:
1614
- xmin = 16.09
1615
- xmax = 16.28
1616
- text = ""
1617
- intervals [180]:
1618
- xmin = 16.28
1619
- xmax = 16.38
1620
- text = "Y"
1621
- intervals [181]:
1622
- xmin = 16.38
1623
- xmax = 16.42
1624
- text = "UW1"
1625
- intervals [182]:
1626
- xmin = 16.42
1627
- xmax = 16.49
1628
- text = "ER0"
1629
- intervals [183]:
1630
- xmin = 16.49
1631
- xmax = 16.55
1632
- text = "V"
1633
- intervals [184]:
1634
- xmin = 16.55
1635
- xmax = 16.58
1636
- text = "EH1"
1637
- intervals [185]:
1638
- xmin = 16.58
1639
- xmax = 16.65
1640
- text = "R"
1641
- intervals [186]:
1642
- xmin = 16.65
1643
- xmax = 16.73
1644
- text = "IY0"
1645
- intervals [187]:
1646
- xmin = 16.73
1647
- xmax = 16.92
1648
- text = "T"
1649
- intervals [188]:
1650
- xmin = 16.92
1651
- xmax = 17.08
1652
- text = "AY1"
1653
- intervals [189]:
1654
- xmin = 17.08
1655
- xmax = 17.22
1656
- text = "ER0"
1657
- intervals [190]:
1658
- xmin = 17.22
1659
- xmax = 17.59
1660
- text = "D"
1661
- intervals [191]:
1662
- xmin = 17.59
1663
- xmax = 17.83
1664
- text = ""
1665
- intervals [192]:
1666
- xmin = 17.83
1667
- xmax = 18.02
1668
- text = "S"
1669
- intervals [193]:
1670
- xmin = 18.02
1671
- xmax = 18.29
1672
- text = "OW1"
1673
- intervals [194]:
1674
- xmin = 18.29
1675
- xmax = 18.37
1676
- text = "G"
1677
- intervals [195]:
1678
- xmin = 18.37
1679
- xmax = 18.42
1680
- text = "IH1"
1681
- intervals [196]:
1682
- xmin = 18.42
1683
- xmax = 18.46
1684
- text = "T"
1685
- intervals [197]:
1686
- xmin = 18.46
1687
- xmax = 18.5
1688
- text = "IH0"
1689
- intervals [198]:
1690
- xmin = 18.5
1691
- xmax = 18.55
1692
- text = "NG"
1693
- intervals [199]:
1694
- xmin = 18.55
1695
- xmax = 18.61
1696
- text = "EY1"
1697
- intervals [200]:
1698
- xmin = 18.61
1699
- xmax = 18.67
1700
- text = "G"
1701
- intervals [201]:
1702
- xmin = 18.67
1703
- xmax = 18.73
1704
- text = "UH1"
1705
- intervals [202]:
1706
- xmin = 18.73
1707
- xmax = 18.78
1708
- text = "D"
1709
- intervals [203]:
1710
- xmin = 18.78
1711
- xmax = 18.86
1712
- text = "R"
1713
- intervals [204]:
1714
- xmin = 18.86
1715
- xmax = 18.97
1716
- text = "EH1"
1717
- intervals [205]:
1718
- xmin = 18.97
1719
- xmax = 19.05
1720
- text = "S"
1721
- intervals [206]:
1722
- xmin = 19.05
1723
- xmax = 19.08
1724
- text = "T"
1725
- intervals [207]:
1726
- xmin = 19.08
1727
- xmax = 19.13
1728
- text = "IH0"
1729
- intervals [208]:
1730
- xmin = 19.13
1731
- xmax = 19.21
1732
- text = "Z"
1733
- intervals [209]:
1734
- xmin = 19.21
1735
- xmax = 19.24
1736
- text = "EH1"
1737
- intervals [210]:
1738
- xmin = 19.24
1739
- xmax = 19.3
1740
- text = "Z"
1741
- intervals [211]:
1742
- xmin = 19.3
1743
- xmax = 19.34
1744
- text = "IH0"
1745
- intervals [212]:
1746
- xmin = 19.34
1747
- xmax = 19.38
1748
- text = "M"
1749
- intervals [213]:
1750
- xmin = 19.38
1751
- xmax = 19.48
1752
- text = "P"
1753
- intervals [214]:
1754
- xmin = 19.48
1755
- xmax = 19.55
1756
- text = "AO1"
1757
- intervals [215]:
1758
- xmin = 19.55
1759
- xmax = 19.59
1760
- text = "R"
1761
- intervals [216]:
1762
- xmin = 19.59
1763
- xmax = 19.62
1764
- text = "T"
1765
- intervals [217]:
1766
- xmin = 19.62
1767
- xmax = 19.65
1768
- text = "AH0"
1769
- intervals [218]:
1770
- xmin = 19.65
1771
- xmax = 19.68
1772
- text = "N"
1773
- intervals [219]:
1774
- xmin = 19.68
1775
- xmax = 19.77
1776
- text = "T"
1777
- intervals [220]:
1778
- xmin = 19.77
1779
- xmax = 19.94
1780
- text = "AE1"
1781
- intervals [221]:
1782
- xmin = 19.94
1783
- xmax = 20.16
1784
- text = "Z"
1785
- intervals [222]:
1786
- xmin = 20.16
1787
- xmax = 20.3
1788
- text = ""
1789
- intervals [223]:
1790
- xmin = 20.3
1791
- xmax = 20.39
1792
- text = "K"
1793
- intervals [224]:
1794
- xmin = 20.39
1795
- xmax = 20.43
1796
- text = "AH0"
1797
- intervals [225]:
1798
- xmin = 20.43
1799
- xmax = 20.46
1800
- text = "M"
1801
- intervals [226]:
1802
- xmin = 20.46
1803
- xmax = 20.53
1804
- text = "P"
1805
- intervals [227]:
1806
- xmin = 20.53
1807
- xmax = 20.59
1808
- text = "L"
1809
- intervals [228]:
1810
- xmin = 20.59
1811
- xmax = 20.63
1812
- text = "EY1"
1813
- intervals [229]:
1814
- xmin = 20.63
1815
- xmax = 20.66
1816
- text = "N"
1817
- intervals [230]:
1818
- xmin = 20.66
1819
- xmax = 20.69
1820
- text = "T"
1821
- intervals [231]:
1822
- xmin = 20.69
1823
- xmax = 20.75
1824
- text = "AH0"
1825
- intervals [232]:
1826
- xmin = 20.75
1827
- xmax = 20.87
1828
- text = "JH"
1829
- intervals [233]:
1830
- xmin = 20.87
1831
- xmax = 21.09
1832
- text = "AO1"
1833
- intervals [234]:
1834
- xmin = 21.09
1835
- xmax = 21.3
1836
- text = "ER0"
1837
- intervals [235]:
1838
- xmin = 21.3
1839
- xmax = 21.44
1840
- text = "K"
1841
- intervals [236]:
1842
- xmin = 21.44
1843
- xmax = 21.47
1844
- text = "AH0"
1845
- intervals [237]:
1846
- xmin = 21.47
1847
- xmax = 21.5
1848
- text = "M"
1849
- intervals [238]:
1850
- xmin = 21.5
1851
- xmax = 21.53
1852
- text = "P"
1853
- intervals [239]:
1854
- xmin = 21.53
1855
- xmax = 21.6
1856
- text = "L"
1857
- intervals [240]:
1858
- xmin = 21.6
1859
- xmax = 21.63
1860
- text = "IY1"
1861
- intervals [241]:
1862
- xmin = 21.63
1863
- xmax = 21.66
1864
- text = "T"
1865
- intervals [242]:
1866
- xmin = 21.66
1867
- xmax = 21.72
1868
- text = "IH0"
1869
- intervals [243]:
1870
- xmin = 21.72
1871
- xmax = 21.79
1872
- text = "NG"
1873
- intervals [244]:
1874
- xmin = 21.79
1875
- xmax = 21.83
1876
- text = "AH0"
1877
- intervals [245]:
1878
- xmin = 21.83
1879
- xmax = 21.9
1880
- text = "N"
1881
- intervals [246]:
1882
- xmin = 21.9
1883
- xmax = 21.98
1884
- text = "EH1"
1885
- intervals [247]:
1886
- xmin = 21.98
1887
- xmax = 22.03
1888
- text = "K"
1889
- intervals [248]:
1890
- xmin = 22.03
1891
- xmax = 22.07
1892
- text = "S"
1893
- intervals [249]:
1894
- xmin = 22.07
1895
- xmax = 22.11
1896
- text = "AH0"
1897
- intervals [250]:
1898
- xmin = 22.11
1899
- xmax = 22.14
1900
- text = "L"
1901
- intervals [251]:
1902
- xmin = 22.14
1903
- xmax = 22.17
1904
- text = "AH0"
1905
- intervals [252]:
1906
- xmin = 22.17
1907
- xmax = 22.2
1908
- text = "N"
1909
- intervals [253]:
1910
- xmin = 22.2
1911
- xmax = 22.23
1912
- text = "T"
1913
- intervals [254]:
1914
- xmin = 22.23
1915
- xmax = 22.34
1916
- text = "JH"
1917
- intervals [255]:
1918
- xmin = 22.34
1919
- xmax = 22.5
1920
- text = "AA1"
1921
- intervals [256]:
1922
- xmin = 22.5
1923
- xmax = 22.64
1924
- text = "B"
1925
- intervals [257]:
1926
- xmin = 22.64
1927
- xmax = 23.04
1928
- text = ""
1929
- intervals [258]:
1930
- xmin = 23.04
1931
- xmax = 23.14
1932
- text = "IH0"
1933
- intervals [259]:
1934
- xmin = 23.14
1935
- xmax = 23.17
1936
- text = "N"
1937
- intervals [260]:
1938
- xmin = 23.17
1939
- xmax = 23.2
1940
- text = "M"
1941
- intervals [261]:
1942
- xmin = 23.2
1943
- xmax = 23.29
1944
- text = "AY1"
1945
- intervals [262]:
1946
- xmin = 23.29
1947
- xmax = 23.36
1948
- text = "S"
1949
- intervals [263]:
1950
- xmin = 23.36
1951
- xmax = 23.41
1952
- text = "P"
1953
- intervals [264]:
1954
- xmin = 23.41
1955
- xmax = 23.52
1956
- text = "EH1"
1957
- intervals [265]:
1958
- xmin = 23.52
1959
- xmax = 23.56
1960
- text = "R"
1961
- intervals [266]:
1962
- xmin = 23.56
1963
- xmax = 23.65
1964
- text = "T"
1965
- intervals [267]:
1966
- xmin = 23.65
1967
- xmax = 23.76
1968
- text = "AY1"
1969
- intervals [268]:
1970
- xmin = 23.76
1971
- xmax = 23.8
1972
- text = "M"
1973
- intervals [269]:
1974
- xmin = 23.8
1975
- xmax = 23.85
1976
- text = "IH0"
1977
- intervals [270]:
1978
- xmin = 23.85
1979
- xmax = 23.88
1980
- text = "F"
1981
- intervals [271]:
1982
- xmin = 23.88
1983
- xmax = 23.98
1984
- text = "AY1"
1985
- intervals [272]:
1986
- xmin = 23.98
1987
- xmax = 24.04
1988
- text = "F"
1989
- intervals [273]:
1990
- xmin = 24.04
1991
- xmax = 24.13
1992
- text = "IY1"
1993
- intervals [274]:
1994
- xmin = 24.13
1995
- xmax = 24.18
1996
- text = "L"
1997
- intervals [275]:
1998
- xmin = 24.18
1999
- xmax = 24.26
2000
- text = "OW2"
2001
- intervals [276]:
2002
- xmin = 24.26
2003
- xmax = 24.39
2004
- text = "K"
2005
- intervals [277]:
2006
- xmin = 24.39
2007
- xmax = 24.84
2008
- text = "EY1"
2009
- intervals [278]:
2010
- xmin = 24.84
2011
- xmax = 25.07
2012
- text = "AY1"
2013
- intervals [279]:
2014
- xmin = 25.07
2015
- xmax = 25.1
2016
- text = ""
2017
- intervals [280]:
2018
- xmin = 25.1
2019
- xmax = 25.29
2020
- text = "L"
2021
- intervals [281]:
2022
- xmin = 25.29
2023
- xmax = 25.35
2024
- text = "AY1"
2025
- intervals [282]:
2026
- xmin = 25.35
2027
- xmax = 25.38
2028
- text = "K"
2029
- intervals [283]:
2030
- xmin = 25.38
2031
- xmax = 25.41
2032
- text = "T"
2033
- intervals [284]:
2034
- xmin = 25.41
2035
- xmax = 25.44
2036
- text = "IH0"
2037
- intervals [285]:
2038
- xmin = 25.44
2039
- xmax = 25.5
2040
- text = "G"
2041
- intervals [286]:
2042
- xmin = 25.5
2043
- xmax = 25.55
2044
- text = "OW1"
2045
- intervals [287]:
2046
- xmin = 25.55
2047
- xmax = 25.59
2048
- text = "F"
2049
- intervals [288]:
2050
- xmin = 25.59
2051
- xmax = 25.79
2052
- text = "ER0"
2053
- intervals [289]:
2054
- xmin = 25.79
2055
- xmax = 25.83
2056
- text = "AH0"
2057
- intervals [290]:
2058
- xmin = 25.83
2059
- xmax = 25.94
2060
- text = "HH"
2061
- intervals [291]:
2062
- xmin = 25.94
2063
- xmax = 26.06
2064
- text = "AY1"
2065
- intervals [292]:
2066
- xmin = 26.06
2067
- xmax = 26.12
2068
- text = "K"
2069
- intervals [293]:
2070
- xmin = 26.12
2071
- xmax = 26.17
2072
- text = "IH1"
2073
- intervals [294]:
2074
- xmin = 26.17
2075
- xmax = 26.21
2076
- text = "N"
2077
- intervals [295]:
2078
- xmin = 26.21
2079
- xmax = 26.27
2080
- text = "N"
2081
- intervals [296]:
2082
- xmin = 26.27
2083
- xmax = 26.4
2084
- text = "EY1"
2085
- intervals [297]:
2086
- xmin = 26.4
2087
- xmax = 26.53
2088
- text = "CH"
2089
- intervals [298]:
2090
- xmin = 26.53
2091
- xmax = 26.81
2092
- text = "ER0"
2093
- intervals [299]:
2094
- xmin = 26.81
2095
- xmax = 27.11
2096
- text = ""
2097
- intervals [300]:
2098
- xmin = 27.11
2099
- xmax = 27.21
2100
- text = "S"
2101
- intervals [301]:
2102
- xmin = 27.21
2103
- xmax = 27.25
2104
- text = "AH1"
2105
- intervals [302]:
2106
- xmin = 27.25
2107
- xmax = 27.28
2108
- text = "M"
2109
- intervals [303]:
2110
- xmin = 27.28
2111
- xmax = 27.31
2112
- text = "T"
2113
- intervals [304]:
2114
- xmin = 27.31
2115
- xmax = 27.38
2116
- text = "AY2"
2117
- intervals [305]:
2118
- xmin = 27.38
2119
- xmax = 27.41
2120
- text = "M"
2121
- intervals [306]:
2122
- xmin = 27.41
2123
- xmax = 27.45
2124
- text = "Z"
2125
- intervals [307]:
2126
- xmin = 27.45
2127
- xmax = 27.51
2128
- text = "AY1"
2129
- intervals [308]:
2130
- xmin = 27.51
2131
- xmax = 27.6
2132
- text = "T"
2133
- intervals [309]:
2134
- xmin = 27.6
2135
- xmax = 27.67
2136
- text = "R"
2137
- intervals [310]:
2138
- xmin = 27.67
2139
- xmax = 27.74
2140
- text = "AY1"
2141
- intervals [311]:
2142
- xmin = 27.74
2143
- xmax = 27.77
2144
- text = "T"
2145
- intervals [312]:
2146
- xmin = 27.77
2147
- xmax = 27.88
2148
- text = "AH0"
2149
- intervals [313]:
2150
- xmin = 27.88
2151
- xmax = 28.02
2152
- text = "AO1"
2153
- intervals [314]:
2154
- xmin = 28.02
2155
- xmax = 28.07
2156
- text = "R"
2157
- intervals [315]:
2158
- xmin = 28.07
2159
- xmax = 28.12
2160
- text = "G"
2161
- intervals [316]:
2162
- xmin = 28.12
2163
- xmax = 28.15
2164
- text = "AH0"
2165
- intervals [317]:
2166
- xmin = 28.15
2167
- xmax = 28.18
2168
- text = "N"
2169
- intervals [318]:
2170
- xmin = 28.18
2171
- xmax = 28.3
2172
- text = "AY2"
2173
- intervals [319]:
2174
- xmin = 28.3
2175
- xmax = 28.37
2176
- text = "Z"
2177
- intervals [320]:
2178
- xmin = 28.37
2179
- xmax = 28.42
2180
- text = "S"
2181
- intervals [321]:
2182
- xmin = 28.42
2183
- xmax = 28.47
2184
- text = "AH1"
2185
- intervals [322]:
2186
- xmin = 28.47
2187
- xmax = 28.5
2188
- text = "M"
2189
- intervals [323]:
2190
- xmin = 28.5
2191
- xmax = 28.53
2192
- text = "TH"
2193
- intervals [324]:
2194
- xmin = 28.53
2195
- xmax = 28.61
2196
- text = "IH0"
2197
- intervals [325]:
2198
- xmin = 28.61
2199
- xmax = 28.94
2200
- text = "NG"
2201
- intervals [326]:
2202
- xmin = 28.94
2203
- xmax = 28.98
2204
- text = ""
2205
- intervals [327]:
2206
- xmin = 28.98
2207
- xmax = 29.08
2208
- text = "F"
2209
- intervals [328]:
2210
- xmin = 29.08
2211
- xmax = 29.13
2212
- text = "AO1"
2213
- intervals [329]:
2214
- xmin = 29.13
2215
- xmax = 29.19
2216
- text = "R"
2217
- intervals [330]:
2218
- xmin = 29.19
2219
- xmax = 29.23
2220
- text = "M"
2221
- intervals [331]:
2222
- xmin = 29.23
2223
- xmax = 29.32
2224
- text = "AY1"
2225
- intervals [332]:
2226
- xmin = 29.32
2227
- xmax = 29.41
2228
- text = "F"
2229
- intervals [333]:
2230
- xmin = 29.41
2231
- xmax = 29.49
2232
- text = "R"
2233
- intervals [334]:
2234
- xmin = 29.49
2235
- xmax = 29.6
2236
- text = "EH1"
2237
- intervals [335]:
2238
- xmin = 29.6
2239
- xmax = 29.65
2240
- text = "N"
2241
- intervals [336]:
2242
- xmin = 29.65
2243
- xmax = 29.7
2244
- text = "D"
2245
- intervals [337]:
2246
- xmin = 29.7
2247
- xmax = 29.89
2248
- text = "Z"
2249
- intervals [338]:
2250
- xmin = 29.89
2251
- xmax = 29.92
2252
- text = ""
2253
- intervals [339]:
2254
- xmin = 29.92
2255
- xmax = 29.95
2256
- text = "AY1"
2257
- intervals [340]:
2258
- xmin = 29.95
2259
- xmax = 30.2
2260
- text = ""
2261
- intervals [341]:
2262
- xmin = 30.2
2263
- xmax = 30.26
2264
- text = "V"
2265
- intervals [342]:
2266
- xmin = 30.26
2267
- xmax = 30.39
2268
- text = "AA2"
2269
- intervals [343]:
2270
- xmin = 30.39
2271
- xmax = 30.45
2272
- text = "L"
2273
- intervals [344]:
2274
- xmin = 30.45
2275
- xmax = 30.48
2276
- text = "AH0"
2277
- intervals [345]:
2278
- xmin = 30.48
2279
- xmax = 30.51
2280
- text = "N"
2281
- intervals [346]:
2282
- xmin = 30.51
2283
- xmax = 30.6
2284
- text = "T"
2285
- intervals [347]:
2286
- xmin = 30.6
2287
- xmax = 30.67
2288
- text = "IH1"
2289
- intervals [348]:
2290
- xmin = 30.67
2291
- xmax = 30.73
2292
- text = "R"
2293
- intervals [349]:
2294
- xmin = 30.73
2295
- xmax = 30.77
2296
- text = "AE1"
2297
- intervals [350]:
2298
- xmin = 30.77
2299
- xmax = 30.86
2300
- text = "T"
2301
- intervals [351]:
2302
- xmin = 30.86
2303
- xmax = 30.91
2304
- text = "DH"
2305
- intervals [352]:
2306
- xmin = 30.91
2307
- xmax = 30.97
2308
- text = "AH1"
2309
- intervals [353]:
2310
- xmin = 30.97
2311
- xmax = 31.13
2312
- text = "B"
2313
- intervals [354]:
2314
- xmin = 31.13
2315
- xmax = 31.19
2316
- text = "UW1"
2317
- intervals [355]:
2318
- xmin = 31.19
2319
- xmax = 31.24
2320
- text = "D"
2321
- intervals [356]:
2322
- xmin = 31.24
2323
- xmax = 31.3
2324
- text = "AH0"
2325
- intervals [357]:
2326
- xmin = 31.3
2327
- xmax = 31.35
2328
- text = "S"
2329
- intervals [358]:
2330
- xmin = 31.35
2331
- xmax = 31.38
2332
- text = "T"
2333
- intervals [359]:
2334
- xmin = 31.38
2335
- xmax = 31.41
2336
- text = "T"
2337
- intervals [360]:
2338
- xmin = 31.41
2339
- xmax = 31.47
2340
- text = "EH1"
2341
- intervals [361]:
2342
- xmin = 31.47
2343
- xmax = 31.52
2344
- text = "M"
2345
- intervals [362]:
2346
- xmin = 31.52
2347
- xmax = 31.56
2348
- text = "P"
2349
- intervals [363]:
2350
- xmin = 31.56
2351
- xmax = 31.61
2352
- text = "AH0"
2353
- intervals [364]:
2354
- xmin = 31.61
2355
- xmax = 31.83
2356
- text = "L"
2357
- intervals [365]:
2358
- xmin = 31.83
2359
- xmax = 31.9
2360
- text = "AO1"
2361
- intervals [366]:
2362
- xmin = 31.9
2363
- xmax = 31.94
2364
- text = "N"
2365
- intervals [367]:
2366
- xmin = 31.94
2367
- xmax = 31.97
2368
- text = "DH"
2369
- intervals [368]:
2370
- xmin = 31.97
2371
- xmax = 32.01
2372
- text = "AH1"
2373
- intervals [369]:
2374
- xmin = 32.01
2375
- xmax = 32.08
2376
- text = "W"
2377
- intervals [370]:
2378
- xmin = 32.08
2379
- xmax = 32.17
2380
- text = "IY1"
2381
- intervals [371]:
2382
- xmin = 32.17
2383
- xmax = 32.26
2384
- text = "K"
2385
- intervals [372]:
2386
- xmin = 32.26
2387
- xmax = 32.45
2388
- text = "EH2"
2389
- intervals [373]:
2390
- xmin = 32.45
2391
- xmax = 32.51
2392
- text = "N"
2393
- intervals [374]:
2394
- xmin = 32.51
2395
- xmax = 32.6
2396
- text = "D"
2397
- intervals [375]:
2398
- xmin = 32.6
2399
- xmax = 32.88
2400
- text = "AO1"
2401
- intervals [376]:
2402
- xmin = 32.88
2403
- xmax = 33.01
2404
- text = "R"
2405
- intervals [377]:
2406
- xmin = 33.01
2407
- xmax = 33.24
2408
- text = "AY1"
2409
- intervals [378]:
2410
- xmin = 33.24
2411
- xmax = 33.36
2412
- text = "K"
2413
- intervals [379]:
2414
- xmin = 33.36
2415
- xmax = 33.51
2416
- text = "AE1"
2417
- intervals [380]:
2418
- xmin = 33.51
2419
- xmax = 33.62
2420
- text = "N"
2421
- intervals [381]:
2422
- xmin = 33.62
2423
- xmax = 33.7
2424
- text = "JH"
2425
- intervals [382]:
2426
- xmin = 33.7
2427
- xmax = 33.77
2428
- text = "IH0"
2429
- intervals [383]:
2430
- xmin = 33.77
2431
- xmax = 33.8
2432
- text = "S"
2433
- intervals [384]:
2434
- xmin = 33.8
2435
- xmax = 33.91
2436
- text = "T"
2437
- intervals [385]:
2438
- xmin = 33.91
2439
- xmax = 33.96
2440
- text = "W"
2441
- intervals [386]:
2442
- xmin = 33.96
2443
- xmax = 34.2
2444
- text = "AO1"
2445
- intervals [387]:
2446
- xmin = 34.2
2447
- xmax = 34.3
2448
- text = "K"
2449
- intervals [388]:
2450
- xmin = 34.3
2451
- xmax = 34.42
2452
- text = "ER0"
2453
- intervals [389]:
2454
- xmin = 34.42
2455
- xmax = 34.63
2456
- text = "AW1"
2457
- intervals [390]:
2458
- xmin = 34.63
2459
- xmax = 34.69
2460
- text = "N"
2461
- intervals [391]:
2462
- xmin = 34.69
2463
- xmax = 34.76
2464
- text = "IH0"
2465
- intervals [392]:
2466
- xmin = 34.76
2467
- xmax = 34.8
2468
- text = "N"
2469
- intervals [393]:
2470
- xmin = 34.8
2471
- xmax = 34.9
2472
- text = "JH"
2473
- intervals [394]:
2474
- xmin = 34.9
2475
- xmax = 34.99
2476
- text = "OY1"
2477
- intervals [395]:
2478
- xmin = 34.99
2479
- xmax = 35.03
2480
- text = "IH0"
2481
- intervals [396]:
2482
- xmin = 35.03
2483
- xmax = 35.08
2484
- text = "NG"
2485
- intervals [397]:
2486
- xmin = 35.08
2487
- xmax = 35.12
2488
- text = "DH"
2489
- intervals [398]:
2490
- xmin = 35.12
2491
- xmax = 35.17
2492
- text = "AH0"
2493
- intervals [399]:
2494
- xmin = 35.17
2495
- xmax = 35.26
2496
- text = "S"
2497
- intervals [400]:
2498
- xmin = 35.26
2499
- xmax = 35.33
2500
- text = "AH1"
2501
- intervals [401]:
2502
- xmin = 35.33
2503
- xmax = 35.4
2504
- text = "N"
2505
- intervals [402]:
2506
- xmin = 35.4
2507
- xmax = 35.53
2508
- text = "SH"
2509
- intervals [403]:
2510
- xmin = 35.53
2511
- xmax = 35.69
2512
- text = "AY2"
2513
- intervals [404]:
2514
- xmin = 35.69
2515
- xmax = 35.87
2516
- text = "N"
2517
- intervals [405]:
2518
- xmin = 35.87
2519
- xmax = 36.15
2520
- text = ""
2521
- intervals [406]:
2522
- xmin = 36.15
2523
- xmax = 36.3
2524
- text = "AY1"
2525
- intervals [407]:
2526
- xmin = 36.3
2527
- xmax = 36.34
2528
- text = "D"
2529
- intervals [408]:
2530
- xmin = 36.34
2531
- xmax = 36.38
2532
- text = "L"
2533
- intervals [409]:
2534
- xmin = 36.38
2535
- xmax = 36.49
2536
- text = "AY1"
2537
- intervals [410]:
2538
- xmin = 36.49
2539
- xmax = 36.52
2540
- text = "K"
2541
- intervals [411]:
2542
- xmin = 36.52
2543
- xmax = 36.56
2544
- text = "T"
2545
- intervals [412]:
2546
- xmin = 36.56
2547
- xmax = 36.59
2548
- text = "AH0"
2549
- intervals [413]:
2550
- xmin = 36.59
2551
- xmax = 36.62
2552
- text = "HH"
2553
- intervals [414]:
2554
- xmin = 36.62
2555
- xmax = 36.7
2556
- text = "AE1"
2557
- intervals [415]:
2558
- xmin = 36.7
2559
- xmax = 36.74
2560
- text = "V"
2561
- intervals [416]:
2562
- xmin = 36.74
2563
- xmax = 36.79
2564
- text = "AH0"
2565
- intervals [417]:
2566
- xmin = 36.79
2567
- xmax = 36.83
2568
- text = "HH"
2569
- intervals [418]:
2570
- xmin = 36.83
2571
- xmax = 36.88
2572
- text = "EH1"
2573
- intervals [419]:
2574
- xmin = 36.88
2575
- xmax = 36.93
2576
- text = "L"
2577
- intervals [420]:
2578
- xmin = 36.93
2579
- xmax = 37.01
2580
- text = "TH"
2581
- intervals [421]:
2582
- xmin = 37.01
2583
- xmax = 37.06
2584
- text = "IY0"
2585
- intervals [422]:
2586
- xmin = 37.06
2587
- xmax = 37.12
2588
- text = "L"
2589
- intervals [423]:
2590
- xmin = 37.12
2591
- xmax = 37.23
2592
- text = "AY1"
2593
- intervals [424]:
2594
- xmin = 37.23
2595
- xmax = 37.27
2596
- text = "F"
2597
- intervals [425]:
2598
- xmin = 37.27
2599
- xmax = 37.34
2600
- text = "S"
2601
- intervals [426]:
2602
- xmin = 37.34
2603
- xmax = 37.39
2604
- text = "T"
2605
- intervals [427]:
2606
- xmin = 37.39
2607
- xmax = 37.56
2608
- text = "AY2"
2609
- intervals [428]:
2610
- xmin = 37.56
2611
- xmax = 37.66
2612
- text = "L"
2613
- intervals [429]:
2614
- xmin = 37.66
2615
- xmax = 37.73
2616
- text = "K"
2617
- intervals [430]:
2618
- xmin = 37.73
2619
- xmax = 37.77
2620
- text = "AH0"
2621
- intervals [431]:
2622
- xmin = 37.77
2623
- xmax = 37.82
2624
- text = "N"
2625
- intervals [432]:
2626
- xmin = 37.82
2627
- xmax = 37.87
2628
- text = "S"
2629
- intervals [433]:
2630
- xmin = 37.87
2631
- xmax = 37.91
2632
- text = "IH1"
2633
- intervals [434]:
2634
- xmin = 37.91
2635
- xmax = 37.94
2636
- text = "D"
2637
- intervals [435]:
2638
- xmin = 37.94
2639
- xmax = 37.98
2640
- text = "ER0"
2641
- intervals [436]:
2642
- xmin = 37.98
2643
- xmax = 38.02
2644
- text = "IH0"
2645
- intervals [437]:
2646
- xmin = 38.02
2647
- xmax = 38.06
2648
- text = "NG"
2649
- intervals [438]:
2650
- xmin = 38.06
2651
- xmax = 38.13
2652
- text = "HH"
2653
- intervals [439]:
2654
- xmin = 38.13
2655
- xmax = 38.17
2656
- text = "AW1"
2657
- intervals [440]:
2658
- xmin = 38.17
2659
- xmax = 38.23
2660
- text = "M"
2661
- intervals [441]:
2662
- xmin = 38.23
2663
- xmax = 38.27
2664
- text = "AH1"
2665
- intervals [442]:
2666
- xmin = 38.27
2667
- xmax = 38.38
2668
- text = "CH"
2669
- intervals [443]:
2670
- xmin = 38.38
2671
- xmax = 38.5
2672
- text = "T"
2673
- intervals [444]:
2674
- xmin = 38.5
2675
- xmax = 38.67
2676
- text = "AY1"
2677
- intervals [445]:
2678
- xmin = 38.67
2679
- xmax = 38.74
2680
- text = "M"
2681
- intervals [446]:
2682
- xmin = 38.74
2683
- xmax = 38.81
2684
- text = "AY1"
2685
- intervals [447]:
2686
- xmin = 38.81
2687
- xmax = 38.95
2688
- text = "S"
2689
- intervals [448]:
2690
- xmin = 38.95
2691
- xmax = 39.02
2692
- text = "P"
2693
- intervals [449]:
2694
- xmin = 39.02
2695
- xmax = 39.09
2696
- text = "EH1"
2697
- intervals [450]:
2698
- xmin = 39.09
2699
- xmax = 39.12
2700
- text = "N"
2701
- intervals [451]:
2702
- xmin = 39.12
2703
- xmax = 39.18
2704
- text = "D"
2705
- intervals [452]:
2706
- xmin = 39.18
2707
- xmax = 39.21
2708
- text = "AE1"
2709
- intervals [453]:
2710
- xmin = 39.21
2711
- xmax = 39.29
2712
- text = "T"
2713
- intervals [454]:
2714
- xmin = 39.29
2715
- xmax = 39.47
2716
- text = "W"
2717
- intervals [455]:
2718
- xmin = 39.47
2719
- xmax = 39.69
2720
- text = "ER1"
2721
- intervals [456]:
2722
- xmin = 39.69
2723
- xmax = 39.84
2724
- text = "K"
2725
- intervals [457]:
2726
- xmin = 39.84
2727
- xmax = 40.29
2728
- text = ""
2729
- intervals [458]:
2730
- xmin = 40.29
2731
- xmax = 40.52
2732
- text = "AY1"
2733
- intervals [459]:
2734
- xmin = 40.52
2735
- xmax = 40.56
2736
- text = "AO1"
2737
- intervals [460]:
2738
- xmin = 40.56
2739
- xmax = 40.59
2740
- text = "L"
2741
- intervals [461]:
2742
- xmin = 40.59
2743
- xmax = 40.66
2744
- text = "W"
2745
- intervals [462]:
2746
- xmin = 40.66
2747
- xmax = 40.7
2748
- text = "IY0"
2749
- intervals [463]:
2750
- xmin = 40.7
2751
- xmax = 40.79
2752
- text = "Z"
2753
- intervals [464]:
2754
- xmin = 40.79
2755
- xmax = 40.94
2756
- text = "T"
2757
- intervals [465]:
2758
- xmin = 40.94
2759
- xmax = 41.05
2760
- text = "R"
2761
- intervals [466]:
2762
- xmin = 41.05
2763
- xmax = 41.28
2764
- text = "AY1"
2765
- intervals [467]:
2766
- xmin = 41.28
2767
- xmax = 41.38
2768
- text = "T"
2769
- intervals [468]:
2770
- xmin = 41.38
2771
- xmax = 41.47
2772
- text = "IH0"
2773
- intervals [469]:
2774
- xmin = 41.47
2775
- xmax = 41.7
2776
- text = "M"
2777
- intervals [470]:
2778
- xmin = 41.7
2779
- xmax = 41.77
2780
- text = "UW1"
2781
- intervals [471]:
2782
- xmin = 41.77
2783
- xmax = 41.85
2784
- text = "V"
2785
- intervals [472]:
2786
- xmin = 41.85
2787
- xmax = 41.9
2788
- text = "EH1"
2789
- intervals [473]:
2790
- xmin = 41.9
2791
- xmax = 42
2792
- text = "Z"
2793
- intervals [474]:
2794
- xmin = 42
2795
- xmax = 42.08
2796
- text = "M"
2797
- intervals [475]:
2798
- xmin = 42.08
2799
- xmax = 42.13
2800
- text = "AH1"
2801
- intervals [476]:
2802
- xmin = 42.13
2803
- xmax = 42.22
2804
- text = "CH"
2805
- intervals [477]:
2806
- xmin = 42.22
2807
- xmax = 42.26
2808
- text = "EH1"
2809
- intervals [478]:
2810
- xmin = 42.26
2811
- xmax = 42.31
2812
- text = "Z"
2813
- intervals [479]:
2814
- xmin = 42.31
2815
- xmax = 42.4
2816
- text = "AY1"
2817
- intervals [480]:
2818
- xmin = 42.4
2819
- xmax = 42.51
2820
- text = "K"
2821
- intervals [481]:
2822
- xmin = 42.51
2823
- xmax = 42.64
2824
- text = "AE1"
2825
- intervals [482]:
2826
- xmin = 42.64
2827
- xmax = 42.76
2828
- text = "N"
2829
- intervals [483]:
2830
- xmin = 42.76
2831
- xmax = 42.81
2832
- text = "W"
2833
- intervals [484]:
2834
- xmin = 42.81
2835
- xmax = 42.84
2836
- text = "EH1"
2837
- intervals [485]:
2838
- xmin = 42.84
2839
- xmax = 42.89
2840
- text = "N"
2841
- intervals [486]:
2842
- xmin = 42.89
2843
- xmax = 42.95
2844
- text = "AH0"
2845
- intervals [487]:
2846
- xmin = 42.95
2847
- xmax = 42.98
2848
- text = "M"
2849
- intervals [488]:
2850
- xmin = 42.98
2851
- xmax = 43.03
2852
- text = "N"
2853
- intervals [489]:
2854
- xmin = 43.03
2855
- xmax = 43.12
2856
- text = "AA1"
2857
- intervals [490]:
2858
- xmin = 43.12
2859
- xmax = 43.18
2860
- text = "T"
2861
- intervals [491]:
2862
- xmin = 43.18
2863
- xmax = 43.28
2864
- text = "W"
2865
- intervals [492]:
2866
- xmin = 43.28
2867
- xmax = 43.42
2868
- text = "ER1"
2869
- intervals [493]:
2870
- xmin = 43.42
2871
- xmax = 43.49
2872
- text = "K"
2873
- intervals [494]:
2874
- xmin = 43.49
2875
- xmax = 43.53
2876
- text = "IH0"
2877
- intervals [495]:
2878
- xmin = 43.53
2879
- xmax = 43.76
2880
- text = "NG"
2881
- intervals [496]:
2882
- xmin = 43.76
2883
- xmax = 44.5
2884
- text = ""
2885
- intervals [497]:
2886
- xmin = 44.5
2887
- xmax = 44.86
2888
- text = "AH0"
2889
- intervals [498]:
2890
- xmin = 44.86
2891
- xmax = 45.15
2892
- text = "N"
2893
- intervals [499]:
2894
- xmin = 45.15
2895
- xmax = 45.19
2896
- text = "D"
2897
- intervals [500]:
2898
- xmin = 45.19
2899
- xmax = 45.27
2900
- text = "AA1"
2901
- intervals [501]:
2902
- xmin = 45.27
2903
- xmax = 45.32
2904
- text = "N"
2905
- intervals [502]:
2906
- xmin = 45.32
2907
- xmax = 45.4
2908
- text = "AH1"
2909
- intervals [503]:
2910
- xmin = 45.4
2911
- xmax = 45.46
2912
- text = "DH"
2913
- intervals [504]:
2914
- xmin = 45.46
2915
- xmax = 45.49
2916
- text = "ER0"
2917
- intervals [505]:
2918
- xmin = 45.49
2919
- xmax = 45.55
2920
- text = "D"
2921
- intervals [506]:
2922
- xmin = 45.55
2923
- xmax = 45.74
2924
- text = "EY1"
2925
- intervals [507]:
2926
- xmin = 45.74
2927
- xmax = 45.82
2928
- text = "Z"
2929
- intervals [508]:
2930
- xmin = 45.82
2931
- xmax = 45.89
2932
- text = "W"
2933
- intervals [509]:
2934
- xmin = 45.89
2935
- xmax = 45.92
2936
- text = "EH1"
2937
- intervals [510]:
2938
- xmin = 45.92
2939
- xmax = 45.96
2940
- text = "N"
2941
- intervals [511]:
2942
- xmin = 45.96
2943
- xmax = 46.09
2944
- text = "AY1"
2945
- intervals [512]:
2946
- xmin = 46.09
2947
- xmax = 46.16
2948
- text = "M"
2949
- intervals [513]:
2950
- xmin = 46.16
2951
- xmax = 46.29
2952
- text = "F"
2953
- intervals [514]:
2954
- xmin = 46.29
2955
- xmax = 46.39
2956
- text = "R"
2957
- intervals [515]:
2958
- xmin = 46.39
2959
- xmax = 46.65
2960
- text = "IY1"
2961
- intervals [516]:
2962
- xmin = 46.65
2963
- xmax = 46.86
2964
- text = "AY1"
2965
- intervals [517]:
2966
- xmin = 46.86
2967
- xmax = 46.94
2968
- text = "L"
2969
- intervals [518]:
2970
- xmin = 46.94
2971
- xmax = 47.08
2972
- text = "AY1"
2973
- intervals [519]:
2974
- xmin = 47.08
2975
- xmax = 47.16
2976
- text = "K"
2977
- intervals [520]:
2978
- xmin = 47.16
2979
- xmax = 47.25
2980
- text = "T"
2981
- intervals [521]:
2982
- xmin = 47.25
2983
- xmax = 47.39
2984
- text = "UW1"
2985
- intervals [522]:
2986
- xmin = 47.39
2987
- xmax = 47.48
2988
- text = "L"
2989
- intervals [523]:
2990
- xmin = 47.48
2991
- xmax = 47.53
2992
- text = "IH1"
2993
- intervals [524]:
2994
- xmin = 47.53
2995
- xmax = 47.6
2996
- text = "S"
2997
- intervals [525]:
2998
- xmin = 47.6
2999
- xmax = 47.64
3000
- text = "AH0"
3001
- intervals [526]:
3002
- xmin = 47.64
3003
- xmax = 47.86
3004
- text = "N"
3005
- intervals [527]:
3006
- xmin = 47.86
3007
- xmax = 47.93
3008
- text = "T"
3009
- intervals [528]:
3010
- xmin = 47.93
3011
- xmax = 48.03
3012
- text = "IH0"
3013
- intervals [529]:
3014
- xmin = 48.03
3015
- xmax = 48.07
3016
- text = "M"
3017
- intervals [530]:
3018
- xmin = 48.07
3019
- xmax = 48.15
3020
- text = "Y"
3021
- intervals [531]:
3022
- xmin = 48.15
3023
- xmax = 48.2
3024
- text = "UW1"
3025
- intervals [532]:
3026
- xmin = 48.2
3027
- xmax = 48.27
3028
- text = "Z"
3029
- intervals [533]:
3030
- xmin = 48.27
3031
- xmax = 48.35
3032
- text = "IH0"
3033
- intervals [534]:
3034
- xmin = 48.35
3035
- xmax = 48.41
3036
- text = "K"
3037
- intervals [535]:
3038
- xmin = 48.41
3039
- xmax = 48.48
3040
- text = "AH0"
3041
- intervals [536]:
3042
- xmin = 48.48
3043
- xmax = 48.56
3044
- text = "N"
3045
- intervals [537]:
3046
- xmin = 48.56
3047
- xmax = 48.73
3048
- text = "D"
3049
- intervals [538]:
3050
- xmin = 48.73
3051
- xmax = 48.76
3052
- text = ""
3053
- intervals [539]:
3054
- xmin = 48.76
3055
- xmax = 48.91
3056
- text = "W"
3057
- intervals [540]:
3058
- xmin = 48.91
3059
- xmax = 49.01
3060
- text = "ER1"
3061
- intervals [541]:
3062
- xmin = 49.01
3063
- xmax = 49.13
3064
- text = "W"
3065
- intervals [542]:
3066
- xmin = 49.13
3067
- xmax = 49.23
3068
- text = "AA1"
3069
- intervals [543]:
3070
- xmin = 49.23
3071
- xmax = 49.3
3072
- text = "CH"
3073
- intervals [544]:
3074
- xmin = 49.3
3075
- xmax = 49.38
3076
- text = "AH0"
3077
- intervals [545]:
3078
- xmin = 49.38
3079
- xmax = 49.46
3080
- text = "D"
3081
- intervals [546]:
3082
- xmin = 49.46
3083
- xmax = 49.56
3084
- text = "AA2"
3085
- intervals [547]:
3086
- xmin = 49.56
3087
- xmax = 49.62
3088
- text = "K"
3089
- intervals [548]:
3090
- xmin = 49.62
3091
- xmax = 49.66
3092
- text = "Y"
3093
- intervals [549]:
3094
- xmin = 49.66
3095
- xmax = 49.7
3096
- text = "AH0"
3097
- intervals [550]:
3098
- xmin = 49.7
3099
- xmax = 49.76
3100
- text = "M"
3101
- intervals [551]:
3102
- xmin = 49.76
3103
- xmax = 49.81
3104
- text = "EH1"
3105
- intervals [552]:
3106
- xmin = 49.81
3107
- xmax = 49.85
3108
- text = "N"
3109
- intervals [553]:
3110
- xmin = 49.85
3111
- xmax = 49.98
3112
- text = "ER0"
3113
- intervals [554]:
3114
- xmin = 49.98
3115
- xmax = 50.05
3116
- text = "IY0"
3117
- intervals [555]:
3118
- xmin = 50.05
3119
- xmax = 50.17
3120
- text = "M"
3121
- intervals [556]:
3122
- xmin = 50.17
3123
- xmax = 50.2
3124
- text = "UW1"
3125
- intervals [557]:
3126
- xmin = 50.2
3127
- xmax = 50.28
3128
- text = "V"
3129
- intervals [558]:
3130
- xmin = 50.28
3131
- xmax = 50.38
3132
- text = "IY0"
3133
- intervals [559]:
3134
- xmin = 50.38
3135
- xmax = 50.51
3136
- text = "Z"
3137
- intervals [560]:
3138
- xmin = 50.51
3139
- xmax = 50.75
3140
- text = "AA1"
3141
- intervals [561]:
3142
- xmin = 50.75
3143
- xmax = 50.82
3144
- text = "N"
3145
- intervals [562]:
3146
- xmin = 50.82
3147
- xmax = 50.9
3148
- text = "M"
3149
- intervals [563]:
3150
- xmin = 50.9
3151
- xmax = 51.11
3152
- text = "AY1"
3153
- intervals [564]:
3154
- xmin = 51.11
3155
- xmax = 51.22
3156
- text = "L"
3157
- intervals [565]:
3158
- xmin = 51.22
3159
- xmax = 51.39
3160
- text = "AE1"
3161
- intervals [566]:
3162
- xmin = 51.39
3163
- xmax = 51.44
3164
- text = "P"
3165
- intervals [567]:
3166
- xmin = 51.44
3167
- xmax = 51.49
3168
- text = "T"
3169
- intervals [568]:
3170
- xmin = 51.49
3171
- xmax = 51.66
3172
- text = "AA2"
3173
- intervals [569]:
3174
- xmin = 51.66
3175
- xmax = 51.81
3176
- text = "P"
3177
- intervals [570]:
3178
- xmin = 51.81
3179
- xmax = 52.14
3180
- text = ""
3181
- intervals [571]:
3182
- xmin = 52.14
3183
- xmax = 52.2
3184
- text = "B"
3185
- intervals [572]:
3186
- xmin = 52.2
3187
- xmax = 52.33
3188
- text = "AH1"
3189
- intervals [573]:
3190
- xmin = 52.33
3191
- xmax = 52.44
3192
- text = "T"
3193
- intervals [574]:
3194
- xmin = 52.44
3195
- xmax = 52.51
3196
- text = "S"
3197
- intervals [575]:
3198
- xmin = 52.51
3199
- xmax = 52.59
3200
- text = "AH1"
3201
- intervals [576]:
3202
- xmin = 52.59
3203
- xmax = 52.64
3204
- text = "M"
3205
- intervals [577]:
3206
- xmin = 52.64
3207
- xmax = 52.67
3208
- text = "T"
3209
- intervals [578]:
3210
- xmin = 52.67
3211
- xmax = 52.77
3212
- text = "AY2"
3213
- intervals [579]:
3214
- xmin = 52.77
3215
- xmax = 52.82
3216
- text = "M"
3217
- intervals [580]:
3218
- xmin = 52.82
3219
- xmax = 52.86
3220
- text = "Z"
3221
- intervals [581]:
3222
- xmin = 52.86
3223
- xmax = 52.9
3224
- text = "IH1"
3225
- intervals [582]:
3226
- xmin = 52.9
3227
- xmax = 52.93
3228
- text = "T"
3229
- intervals [583]:
3230
- xmin = 52.93
3231
- xmax = 52.98
3232
- text = "JH"
3233
- intervals [584]:
3234
- xmin = 52.98
3235
- xmax = 53.07
3236
- text = "IH0"
3237
- intervals [585]:
3238
- xmin = 53.07
3239
- xmax = 53.1
3240
- text = "S"
3241
- intervals [586]:
3242
- xmin = 53.1
3243
- xmax = 53.13
3244
- text = "T"
3245
- intervals [587]:
3246
- xmin = 53.13
3247
- xmax = 53.18
3248
- text = "S"
3249
- intervals [588]:
3250
- xmin = 53.18
3251
- xmax = 53.26
3252
- text = "L"
3253
- intervals [589]:
3254
- xmin = 53.26
3255
- xmax = 53.35
3256
- text = "IY1"
3257
- intervals [590]:
3258
- xmin = 53.35
3259
- xmax = 53.61
3260
- text = "P"
3261
- intervals [591]:
3262
- xmin = 53.61
3263
- xmax = 53.65
3264
- text = ""
3265
- intervals [592]:
3266
- xmin = 53.65
3267
- xmax = 53.83
3268
- text = "AY1"
3269
- intervals [593]:
3270
- xmin = 53.83
3271
- xmax = 53.88
3272
- text = "AH0"
3273
- intervals [594]:
3274
- xmin = 53.88
3275
- xmax = 53.95
3276
- text = "S"
3277
- intervals [595]:
3278
- xmin = 53.95
3279
- xmax = 54
3280
- text = "P"
3281
- intervals [596]:
3282
- xmin = 54
3283
- xmax = 54.09
3284
- text = "EH1"
3285
- intervals [597]:
3286
- xmin = 54.09
3287
- xmax = 54.19
3288
- text = "SH"
3289
- intervals [598]:
3290
- xmin = 54.19
3291
- xmax = 54.22
3292
- text = "L"
3293
- intervals [599]:
3294
- xmin = 54.22
3295
- xmax = 54.27
3296
- text = "IY0"
3297
- intervals [600]:
3298
- xmin = 54.27
3299
- xmax = 54.33
3300
- text = "L"
3301
- intervals [601]:
3302
- xmin = 54.33
3303
- xmax = 54.43
3304
- text = "AY1"
3305
- intervals [602]:
3306
- xmin = 54.43
3307
- xmax = 54.57
3308
- text = "K"
3309
- intervals [603]:
3310
- xmin = 54.57
3311
- xmax = 54.61
3312
- text = "T"
3313
- intervals [604]:
3314
- xmin = 54.61
3315
- xmax = 54.69
3316
- text = "W"
3317
- intervals [605]:
3318
- xmin = 54.69
3319
- xmax = 54.79
3320
- text = "AA1"
3321
- intervals [606]:
3322
- xmin = 54.79
3323
- xmax = 54.85
3324
- text = "CH"
3325
- intervals [607]:
3326
- xmin = 54.85
3327
- xmax = 54.89
3328
- text = "IH0"
3329
- intervals [608]:
3330
- xmin = 54.89
3331
- xmax = 55.01
3332
- text = "NG"
3333
- intervals [609]:
3334
- xmin = 55.01
3335
- xmax = 55.12
3336
- text = "JH"
3337
- intervals [610]:
3338
- xmin = 55.12
3339
- xmax = 55.25
3340
- text = "AE2"
3341
- intervals [611]:
3342
- xmin = 55.25
3343
- xmax = 55.3
3344
- text = "P"
3345
- intervals [612]:
3346
- xmin = 55.3
3347
- xmax = 55.35
3348
- text = "AH0"
3349
- intervals [613]:
3350
- xmin = 55.35
3351
- xmax = 55.4
3352
- text = "N"
3353
- intervals [614]:
3354
- xmin = 55.4
3355
- xmax = 55.59
3356
- text = "IY1"
3357
- intervals [615]:
3358
- xmin = 55.59
3359
- xmax = 55.62
3360
- text = "Z"
3361
- intervals [616]:
3362
- xmin = 55.62
3363
- xmax = 55.77
3364
- text = "AE1"
3365
- intervals [617]:
3366
- xmin = 55.77
3367
- xmax = 55.83
3368
- text = "N"
3369
- intervals [618]:
3370
- xmin = 55.83
3371
- xmax = 55.87
3372
- text = "AH0"
3373
- intervals [619]:
3374
- xmin = 55.87
3375
- xmax = 55.91
3376
- text = "M"
3377
- intervals [620]:
3378
- xmin = 55.91
3379
- xmax = 56.33
3380
- text = "AY1"
3381
- intervals [621]:
3382
- xmin = 56.33
3383
- xmax = 56.85
3384
- text = ""
3385
- intervals [622]:
3386
- xmin = 56.85
3387
- xmax = 56.99
3388
- text = "TH"
3389
- intervals [623]:
3390
- xmin = 56.99
3391
- xmax = 57.05
3392
- text = "IH1"
3393
- intervals [624]:
3394
- xmin = 57.05
3395
- xmax = 57.09
3396
- text = "NG"
3397
- intervals [625]:
3398
- xmin = 57.09
3399
- xmax = 57.12
3400
- text = "K"
3401
- intervals [626]:
3402
- xmin = 57.12
3403
- xmax = 57.2
3404
- text = "W"
3405
- intervals [627]:
3406
- xmin = 57.2
3407
- xmax = 57.27
3408
- text = "AA1"
3409
- intervals [628]:
3410
- xmin = 57.27
3411
- xmax = 57.35
3412
- text = "CH"
3413
- intervals [629]:
3414
- xmin = 57.35
3415
- xmax = 57.4
3416
- text = "IH0"
3417
- intervals [630]:
3418
- xmin = 57.4
3419
- xmax = 57.43
3420
- text = "NG"
3421
- intervals [631]:
3422
- xmin = 57.43
3423
- xmax = 57.62
3424
- text = "EY1"
3425
- intervals [632]:
3426
- xmin = 57.62
3427
- xmax = 57.69
3428
- text = "M"
3429
- intervals [633]:
3430
- xmin = 57.69
3431
- xmax = 57.79
3432
- text = "IY1"
3433
- intervals [634]:
3434
- xmin = 57.79
3435
- xmax = 57.92
3436
- text = "IH0"
3437
- intervals [635]:
3438
- xmin = 57.92
3439
- xmax = 58.09
3440
- text = "Z"
3441
- intervals [636]:
3442
- xmin = 58.09
3443
- xmax = 58.12
3444
- text = "AE1"
3445
- intervals [637]:
3446
- xmin = 58.12
3447
- xmax = 58.19
3448
- text = "N"
3449
- intervals [638]:
3450
- xmin = 58.19
3451
- xmax = 58.23
3452
- text = "AH0"
3453
- intervals [639]:
3454
- xmin = 58.23
3455
- xmax = 58.39
3456
- text = "M"
3457
- intervals [640]:
3458
- xmin = 58.39
3459
- xmax = 58.97
3460
- text = "IH1"
3461
- intervals [641]:
3462
- xmin = 58.97
3463
- xmax = 59.06
3464
- text = "Z"
3465
- intervals [642]:
3466
- xmin = 59.06
3467
- xmax = 59.11
3468
- text = "V"
3469
- intervals [643]:
3470
- xmin = 59.11
3471
- xmax = 59.15
3472
- text = "EH1"
3473
- intervals [644]:
3474
- xmin = 59.15
3475
- xmax = 59.24
3476
- text = "R"
3477
- intervals [645]:
3478
- xmin = 59.24
3479
- xmax = 59.31
3480
- text = "IY0"
3481
- intervals [646]:
3482
- xmin = 59.31
3483
- xmax = 59.38
3484
- text = "HH"
3485
- intervals [647]:
3486
- xmin = 59.38
3487
- xmax = 59.43
3488
- text = "EH1"
3489
- intervals [648]:
3490
- xmin = 59.43
3491
- xmax = 59.52
3492
- text = "L"
3493
- intervals [649]:
3494
- xmin = 59.52
3495
- xmax = 59.55
3496
- text = "P"
3497
- intervals [650]:
3498
- xmin = 59.55
3499
- xmax = 59.58
3500
- text = "F"
3501
- intervals [651]:
3502
- xmin = 59.58
3503
- xmax = 59.61
3504
- text = "AH0"
3505
- intervals [652]:
3506
- xmin = 59.61
3507
- xmax = 59.67
3508
- text = "L"
3509
- intervals [653]:
3510
- xmin = 59.67
3511
- xmax = 59.72
3512
- text = "F"
3513
- intervals [654]:
3514
- xmin = 59.72
3515
- xmax = 59.75
3516
- text = "R"
3517
- intervals [655]:
3518
- xmin = 59.75
3519
- xmax = 59.81
3520
- text = "ER0"
3521
- intervals [656]:
3522
- xmin = 59.81
3523
- xmax = 59.88
3524
- text = "M"
3525
- intervals [657]:
3526
- xmin = 59.88
3527
- xmax = 59.98
3528
- text = "IY1"
3529
- intervals [658]:
3530
- xmin = 59.98
3531
- xmax = 60.08
3532
- text = "T"
3533
- intervals [659]:
3534
- xmin = 60.08
3535
- xmax = 60.28
3536
- text = "UW1"
3537
- intervals [660]:
3538
- xmin = 60.28
3539
- xmax = 60.42
3540
- text = "L"
3541
- intervals [661]:
3542
- xmin = 60.42
3543
- xmax = 60.63
3544
- text = "ER1"
3545
- intervals [662]:
3546
- xmin = 60.63
3547
- xmax = 60.69
3548
- text = "N"
3549
- intervals [663]:
3550
- xmin = 60.69
3551
- xmax = 60.72
3552
- text = "AE1"
3553
- intervals [664]:
3554
- xmin = 60.72
3555
- xmax = 60.75
3556
- text = "N"
3557
- intervals [665]:
3558
- xmin = 60.75
3559
- xmax = 60.78
3560
- text = "D"
3561
- intervals [666]:
3562
- xmin = 60.78
3563
- xmax = 60.84
3564
- text = "IH0"
3565
- intervals [667]:
3566
- xmin = 60.84
3567
- xmax = 60.88
3568
- text = "K"
3569
- intervals [668]:
3570
- xmin = 60.88
3571
- xmax = 60.95
3572
- text = "S"
3573
- intervals [669]:
3574
- xmin = 60.95
3575
- xmax = 61.01
3576
- text = "P"
3577
- intervals [670]:
3578
- xmin = 61.01
3579
- xmax = 61.09
3580
- text = "R"
3581
- intervals [671]:
3582
- xmin = 61.09
3583
- xmax = 61.14
3584
- text = "EH1"
3585
- intervals [672]:
3586
- xmin = 61.14
3587
- xmax = 61.21
3588
- text = "S"
3589
- intervals [673]:
3590
- xmin = 61.21
3591
- xmax = 61.33
3592
- text = "JH"
3593
- intervals [674]:
3594
- xmin = 61.33
3595
- xmax = 61.45
3596
- text = "AE2"
3597
- intervals [675]:
3598
- xmin = 61.45
3599
- xmax = 61.51
3600
- text = "P"
3601
- intervals [676]:
3602
- xmin = 61.51
3603
- xmax = 61.55
3604
- text = "AH0"
3605
- intervals [677]:
3606
- xmin = 61.55
3607
- xmax = 61.59
3608
- text = "N"
3609
- intervals [678]:
3610
- xmin = 61.59
3611
- xmax = 61.75
3612
- text = "IY1"
3613
- intervals [679]:
3614
- xmin = 61.75
3615
- xmax = 61.89
3616
- text = "Z"
3617
- intervals [680]:
3618
- xmin = 61.89
3619
- xmax = 62.02
3620
- text = "B"
3621
- intervals [681]:
3622
- xmin = 62.02
3623
- xmax = 62.11
3624
- text = "EH1"
3625
- intervals [682]:
3626
- xmin = 62.11
3627
- xmax = 62.19
3628
- text = "T"
3629
- intervals [683]:
3630
- xmin = 62.19
3631
- xmax = 62.42
3632
- text = "ER0"
3633
- intervals [684]:
3634
- xmin = 62.42
3635
- xmax = 64.097375
3636
- text = ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EMAGE/test_sequences/textgrid/2_scott_0_2_2.TextGrid DELETED
@@ -1,3716 +0,0 @@
1
- File type = "ooTextFile"
2
- Object class = "TextGrid"
3
-
4
- xmin = 0.0
5
- xmax = 62
6
- tiers? <exists>
7
- size = 2
8
- item []:
9
- item [1]:
10
- class = "IntervalTier"
11
- name = "words"
12
- xmin = 0.0
13
- xmax = 62
14
- intervals: size = 223
15
- intervals [1]:
16
- xmin = 0.0
17
- xmax = 1.45
18
- text = ""
19
- intervals [2]:
20
- xmin = 1.45
21
- xmax = 1.87
22
- text = "so"
23
- intervals [3]:
24
- xmin = 1.87
25
- xmax = 2.02
26
- text = "when"
27
- intervals [4]:
28
- xmin = 2.02
29
- xmax = 2.13
30
- text = "i"
31
- intervals [5]:
32
- xmin = 2.13
33
- xmax = 2.35
34
- text = "have"
35
- intervals [6]:
36
- xmin = 2.35
37
- xmax = 2.57
38
- text = "time"
39
- intervals [7]:
40
- xmin = 2.57
41
- xmax = 2.65
42
- text = "to"
43
- intervals [8]:
44
- xmin = 2.65
45
- xmax = 3.18
46
- text = "kill"
47
- intervals [9]:
48
- xmin = 3.18
49
- xmax = 3.22
50
- text = ""
51
- intervals [10]:
52
- xmin = 3.22
53
- xmax = 3.41
54
- text = "i"
55
- intervals [11]:
56
- xmin = 3.41
57
- xmax = 3.6
58
- text = "like"
59
- intervals [12]:
60
- xmin = 3.6
61
- xmax = 3.68
62
- text = "to"
63
- intervals [13]:
64
- xmin = 3.68
65
- xmax = 3.88
66
- text = "play"
67
- intervals [14]:
68
- xmin = 3.88
69
- xmax = 3.96
70
- text = "on"
71
- intervals [15]:
72
- xmin = 3.96
73
- xmax = 4.08
74
- text = "the"
75
- intervals [16]:
76
- xmin = 4.08
77
- xmax = 4.5
78
- text = "internet"
79
- intervals [17]:
80
- xmin = 4.5
81
- xmax = 4.66
82
- text = "and"
83
- intervals [18]:
84
- xmin = 4.66
85
- xmax = 4.87
86
- text = "play"
87
- intervals [19]:
88
- xmin = 4.87
89
- xmax = 5.19
90
- text = "close"
91
- intervals [20]:
92
- xmin = 5.19
93
- xmax = 5.67
94
- text = "attention"
95
- intervals [21]:
96
- xmin = 5.67
97
- xmax = 6.0
98
- text = "to"
99
- intervals [22]:
100
- xmin = 6.0
101
- xmax = 6.26
102
- text = "new"
103
- intervals [23]:
104
- xmin = 6.26
105
- xmax = 6.71
106
- text = "fashion"
107
- intervals [24]:
108
- xmin = 6.71
109
- xmax = 7.17
110
- text = "events"
111
- intervals [25]:
112
- xmin = 7.17
113
- xmax = 7.43
114
- text = ""
115
- intervals [26]:
116
- xmin = 7.43
117
- xmax = 7.76
118
- text = "such"
119
- intervals [27]:
120
- xmin = 7.76
121
- xmax = 8.14
122
- text = "as"
123
- intervals [28]:
124
- xmin = 8.14
125
- xmax = 8.19
126
- text = ""
127
- intervals [29]:
128
- xmin = 8.19
129
- xmax = 8.34
130
- text = "the"
131
- intervals [30]:
132
- xmin = 8.34
133
- xmax = 8.47
134
- text = "new"
135
- intervals [31]:
136
- xmin = 8.47
137
- xmax = 8.68
138
- text = "york"
139
- intervals [32]:
140
- xmin = 8.68
141
- xmax = 9.12
142
- text = "fashion"
143
- intervals [33]:
144
- xmin = 9.12
145
- xmax = 9.42
146
- text = "week"
147
- intervals [34]:
148
- xmin = 9.42
149
- xmax = 9.49
150
- text = "the"
151
- intervals [35]:
152
- xmin = 9.49
153
- xmax = 9.87
154
- text = "paris"
155
- intervals [36]:
156
- xmin = 9.87
157
- xmax = 10.25
158
- text = "fashion"
159
- intervals [37]:
160
- xmin = 10.25
161
- xmax = 10.56
162
- text = "week"
163
- intervals [38]:
164
- xmin = 10.56
165
- xmax = 10.66
166
- text = "the"
167
- intervals [39]:
168
- xmin = 10.66
169
- xmax = 11.07
170
- text = "london"
171
- intervals [40]:
172
- xmin = 11.07
173
- xmax = 11.51
174
- text = "fashion"
175
- intervals [41]:
176
- xmin = 11.51
177
- xmax = 11.78
178
- text = "week"
179
- intervals [42]:
180
- xmin = 11.78
181
- xmax = 12.17
182
- text = "and"
183
- intervals [43]:
184
- xmin = 12.17
185
- xmax = 12.21
186
- text = ""
187
- intervals [44]:
188
- xmin = 12.21
189
- xmax = 12.83
190
- text = "milan"
191
- intervals [45]:
192
- xmin = 12.83
193
- xmax = 13.24
194
- text = "fashion"
195
- intervals [46]:
196
- xmin = 13.24
197
- xmax = 13.62
198
- text = "week"
199
- intervals [47]:
200
- xmin = 13.62
201
- xmax = 14.03
202
- text = ""
203
- intervals [48]:
204
- xmin = 14.03
205
- xmax = 14.15
206
- text = "the"
207
- intervals [49]:
208
- xmin = 14.15
209
- xmax = 14.35
210
- text = "rest"
211
- intervals [50]:
212
- xmin = 14.35
213
- xmax = 14.43
214
- text = "of"
215
- intervals [51]:
216
- xmin = 14.43
217
- xmax = 14.49
218
- text = "the"
219
- intervals [52]:
220
- xmin = 14.49
221
- xmax = 14.8
222
- text = "time"
223
- intervals [53]:
224
- xmin = 14.8
225
- xmax = 14.87
226
- text = "i"
227
- intervals [54]:
228
- xmin = 14.87
229
- xmax = 15.2
230
- text = "usually"
231
- intervals [55]:
232
- xmin = 15.2
233
- xmax = 15.3
234
- text = "go"
235
- intervals [56]:
236
- xmin = 15.3
237
- xmax = 15.36
238
- text = "to"
239
- intervals [57]:
240
- xmin = 15.36
241
- xmax = 15.44
242
- text = "the"
243
- intervals [58]:
244
- xmin = 15.44
245
- xmax = 15.93
246
- text = "library"
247
- intervals [59]:
248
- xmin = 15.93
249
- xmax = 16.04
250
- text = "and"
251
- intervals [60]:
252
- xmin = 16.04
253
- xmax = 16.25
254
- text = "find"
255
- intervals [61]:
256
- xmin = 16.25
257
- xmax = 16.35
258
- text = "some"
259
- intervals [62]:
260
- xmin = 16.35
261
- xmax = 16.71
262
- text = "interesting"
263
- intervals [63]:
264
- xmin = 16.71
265
- xmax = 17.19
266
- text = "books"
267
- intervals [64]:
268
- xmin = 17.19
269
- xmax = 17.31
270
- text = "and"
271
- intervals [65]:
272
- xmin = 17.31
273
- xmax = 17.51
274
- text = "then"
275
- intervals [66]:
276
- xmin = 17.51
277
- xmax = 17.63
278
- text = "go"
279
- intervals [67]:
280
- xmin = 17.63
281
- xmax = 17.7
282
- text = "to"
283
- intervals [68]:
284
- xmin = 17.7
285
- xmax = 17.78
286
- text = "a"
287
- intervals [69]:
288
- xmin = 17.78
289
- xmax = 18.08
290
- text = "park"
291
- intervals [70]:
292
- xmin = 18.08
293
- xmax = 18.17
294
- text = "and"
295
- intervals [71]:
296
- xmin = 18.17
297
- xmax = 18.75
298
- text = "relax"
299
- intervals [72]:
300
- xmin = 18.75
301
- xmax = 19.04
302
- text = ""
303
- intervals [73]:
304
- xmin = 19.04
305
- xmax = 19.22
306
- text = "there"
307
- intervals [74]:
308
- xmin = 19.22
309
- xmax = 19.27
310
- text = "are"
311
- intervals [75]:
312
- xmin = 19.27
313
- xmax = 19.5
314
- text = "many"
315
- intervals [76]:
316
- xmin = 19.5
317
- xmax = 19.78
318
- text = "books"
319
- intervals [77]:
320
- xmin = 19.78
321
- xmax = 19.93
322
- text = "that"
323
- intervals [78]:
324
- xmin = 19.93
325
- xmax = 20.11
326
- text = "i"
327
- intervals [79]:
328
- xmin = 20.11
329
- xmax = 20.4
330
- text = "find"
331
- intervals [80]:
332
- xmin = 20.4
333
- xmax = 20.92
334
- text = "interesting"
335
- intervals [81]:
336
- xmin = 20.92
337
- xmax = 21.15
338
- text = "such"
339
- intervals [82]:
340
- xmin = 21.15
341
- xmax = 21.3
342
- text = "as"
343
- intervals [83]:
344
- xmin = 21.3
345
- xmax = 21.62
346
- text = "fashion"
347
- intervals [84]:
348
- xmin = 21.62
349
- xmax = 22.19
350
- text = "magazines"
351
- intervals [85]:
352
- xmin = 22.19
353
- xmax = 22.8
354
- text = "inspirational"
355
- intervals [86]:
356
- xmin = 22.8
357
- xmax = 23.15
358
- text = "books"
359
- intervals [87]:
360
- xmin = 23.15
361
- xmax = 23.44
362
- text = "and"
363
- intervals [88]:
364
- xmin = 23.44
365
- xmax = 24.04
366
- text = "professional"
367
- intervals [89]:
368
- xmin = 24.04
369
- xmax = 24.46
370
- text = "books"
371
- intervals [90]:
372
- xmin = 24.46
373
- xmax = 24.83
374
- text = ""
375
- intervals [91]:
376
- xmin = 24.83
377
- xmax = 25.06
378
- text = "these"
379
- intervals [92]:
380
- xmin = 25.06
381
- xmax = 25.37
382
- text = "books"
383
- intervals [93]:
384
- xmin = 25.37
385
- xmax = 25.54
386
- text = "can"
387
- intervals [94]:
388
- xmin = 25.54
389
- xmax = 25.66
390
- text = "give"
391
- intervals [95]:
392
- xmin = 25.66
393
- xmax = 25.76
394
- text = "me"
395
- intervals [96]:
396
- xmin = 25.76
397
- xmax = 25.86
398
- text = "the"
399
- intervals [97]:
400
- xmin = 25.86
401
- xmax = 26.85
402
- text = "motivation"
403
- intervals [98]:
404
- xmin = 26.85
405
- xmax = 26.88
406
- text = ""
407
- intervals [99]:
408
- xmin = 26.88
409
- xmax = 27.07
410
- text = "to"
411
- intervals [100]:
412
- xmin = 27.07
413
- xmax = 27.37
414
- text = "be"
415
- intervals [101]:
416
- xmin = 27.37
417
- xmax = 28.01
418
- text = "healthier"
419
- intervals [102]:
420
- xmin = 28.01
421
- xmax = 28.18
422
- text = "and"
423
- intervals [103]:
424
- xmin = 28.18
425
- xmax = 28.9
426
- text = "energetic"
427
- intervals [104]:
428
- xmin = 28.9
429
- xmax = 29.1
430
- text = ""
431
- intervals [105]:
432
- xmin = 29.1
433
- xmax = 29.3
434
- text = "and"
435
- intervals [106]:
436
- xmin = 29.3
437
- xmax = 29.37
438
- text = "the"
439
- intervals [107]:
440
- xmin = 29.37
441
- xmax = 29.74
442
- text = "last"
443
- intervals [108]:
444
- xmin = 29.74
445
- xmax = 29.94
446
- text = "thing"
447
- intervals [109]:
448
- xmin = 29.94
449
- xmax = 30.14
450
- text = "i"
451
- intervals [110]:
452
- xmin = 30.14
453
- xmax = 30.42
454
- text = "like"
455
- intervals [111]:
456
- xmin = 30.42
457
- xmax = 30.53
458
- text = "to"
459
- intervals [112]:
460
- xmin = 30.53
461
- xmax = 30.84
462
- text = "do"
463
- intervals [113]:
464
- xmin = 30.84
465
- xmax = 31.22
466
- text = "when"
467
- intervals [114]:
468
- xmin = 31.22
469
- xmax = 31.43
470
- text = "i'm"
471
- intervals [115]:
472
- xmin = 31.43
473
- xmax = 31.87
474
- text = "free"
475
- intervals [116]:
476
- xmin = 31.87
477
- xmax = 31.99
478
- text = "is"
479
- intervals [117]:
480
- xmin = 31.99
481
- xmax = 32.11
482
- text = "it"
483
- intervals [118]:
484
- xmin = 32.11
485
- xmax = 32.23
486
- text = "out"
487
- intervals [119]:
488
- xmin = 32.23
489
- xmax = 32.35
490
- text = "with"
491
- intervals [120]:
492
- xmin = 32.35
493
- xmax = 32.48
494
- text = "my"
495
- intervals [121]:
496
- xmin = 32.48
497
- xmax = 32.86
498
- text = "family"
499
- intervals [122]:
500
- xmin = 32.86
501
- xmax = 33.33
502
- text = "members"
503
- intervals [123]:
504
- xmin = 33.33
505
- xmax = 33.51
506
- text = ""
507
- intervals [124]:
508
- xmin = 33.51
509
- xmax = 33.89
510
- text = "you"
511
- intervals [125]:
512
- xmin = 33.89
513
- xmax = 34.11
514
- text = "would"
515
- intervals [126]:
516
- xmin = 34.11
517
- xmax = 34.29
518
- text = "be"
519
- intervals [127]:
520
- xmin = 34.29
521
- xmax = 35.07
522
- text = "surprised"
523
- intervals [128]:
524
- xmin = 35.07
525
- xmax = 35.16
526
- text = "to"
527
- intervals [129]:
528
- xmin = 35.16
529
- xmax = 35.36
530
- text = "know"
531
- intervals [130]:
532
- xmin = 35.36
533
- xmax = 35.5
534
- text = "that"
535
- intervals [131]:
536
- xmin = 35.5
537
- xmax = 35.64
538
- text = "i"
539
- intervals [132]:
540
- xmin = 35.64
541
- xmax = 35.84
542
- text = "have"
543
- intervals [133]:
544
- xmin = 35.84
545
- xmax = 36.3
546
- text = "tried"
547
- intervals [134]:
548
- xmin = 36.3
549
- xmax = 36.57
550
- text = ""
551
- intervals [135]:
552
- xmin = 36.57
553
- xmax = 36.99
554
- text = "all"
555
- intervals [136]:
556
- xmin = 36.99
557
- xmax = 37.08
558
- text = "the"
559
- intervals [137]:
560
- xmin = 37.08
561
- xmax = 37.68
562
- text = "restaurants"
563
- intervals [138]:
564
- xmin = 37.68
565
- xmax = 37.71
566
- text = ""
567
- intervals [139]:
568
- xmin = 37.71
569
- xmax = 37.83
570
- text = "in"
571
- intervals [140]:
572
- xmin = 37.83
573
- xmax = 37.95
574
- text = "our"
575
- intervals [141]:
576
- xmin = 37.95
577
- xmax = 38.5
578
- text = "huge"
579
- intervals [142]:
580
- xmin = 38.5
581
- xmax = 39.07
582
- text = "community"
583
- intervals [143]:
584
- xmin = 39.07
585
- xmax = 39.23
586
- text = ""
587
- intervals [144]:
588
- xmin = 39.23
589
- xmax = 39.6
590
- text = "i"
591
- intervals [145]:
592
- xmin = 39.6
593
- xmax = 40.09
594
- text = "actually"
595
- intervals [146]:
596
- xmin = 40.09
597
- xmax = 40.32
598
- text = "give"
599
- intervals [147]:
600
- xmin = 40.32
601
- xmax = 40.61
602
- text = "each"
603
- intervals [148]:
604
- xmin = 40.61
605
- xmax = 41.08
606
- text = "restaurant"
607
- intervals [149]:
608
- xmin = 41.08
609
- xmax = 41.15
610
- text = "a"
611
- intervals [150]:
612
- xmin = 41.15
613
- xmax = 41.55
614
- text = "score"
615
- intervals [151]:
616
- xmin = 41.55
617
- xmax = 41.82
618
- text = "based"
619
- intervals [152]:
620
- xmin = 41.82
621
- xmax = 41.89
622
- text = "on"
623
- intervals [153]:
624
- xmin = 41.89
625
- xmax = 42.05
626
- text = "how"
627
- intervals [154]:
628
- xmin = 42.05
629
- xmax = 42.17
630
- text = "good"
631
- intervals [155]:
632
- xmin = 42.17
633
- xmax = 42.23
634
- text = "the"
635
- intervals [156]:
636
- xmin = 42.23
637
- xmax = 42.51
638
- text = "food"
639
- intervals [157]:
640
- xmin = 42.51
641
- xmax = 42.85
642
- text = "is"
643
- intervals [158]:
644
- xmin = 42.85
645
- xmax = 43.13
646
- text = ""
647
- intervals [159]:
648
- xmin = 43.13
649
- xmax = 43.36
650
- text = "how"
651
- intervals [160]:
652
- xmin = 43.36
653
- xmax = 43.51
654
- text = "good"
655
- intervals [161]:
656
- xmin = 43.51
657
- xmax = 43.62
658
- text = "the"
659
- intervals [162]:
660
- xmin = 43.62
661
- xmax = 44.1
662
- text = "environment"
663
- intervals [163]:
664
- xmin = 44.1
665
- xmax = 44.4
666
- text = "is"
667
- intervals [164]:
668
- xmin = 44.4
669
- xmax = 44.49
670
- text = ""
671
- intervals [165]:
672
- xmin = 44.49
673
- xmax = 44.98
674
- text = "and"
675
- intervals [166]:
676
- xmin = 44.98
677
- xmax = 45.34
678
- text = "at"
679
- intervals [167]:
680
- xmin = 45.34
681
- xmax = 45.62
682
- text = "the"
683
- intervals [168]:
684
- xmin = 45.62
685
- xmax = 45.91
686
- text = "same"
687
- intervals [169]:
688
- xmin = 45.91
689
- xmax = 46.29
690
- text = "time"
691
- intervals [170]:
692
- xmin = 46.29
693
- xmax = 46.42
694
- text = "i"
695
- intervals [171]:
696
- xmin = 46.42
697
- xmax = 46.54
698
- text = "will"
699
- intervals [172]:
700
- xmin = 46.54
701
- xmax = 46.74
702
- text = "write"
703
- intervals [173]:
704
- xmin = 46.74
705
- xmax = 46.94
706
- text = "down"
707
- intervals [174]:
708
- xmin = 46.94
709
- xmax = 47.02
710
- text = "the"
711
- intervals [175]:
712
- xmin = 47.02
713
- xmax = 47.24
714
- text = "type"
715
- intervals [176]:
716
- xmin = 47.24
717
- xmax = 47.39
718
- text = "of"
719
- intervals [177]:
720
- xmin = 47.39
721
- xmax = 47.8
722
- text = "food"
723
- intervals [178]:
724
- xmin = 47.8
725
- xmax = 48.03
726
- text = ""
727
- intervals [179]:
728
- xmin = 48.03
729
- xmax = 48.24
730
- text = "they"
731
- intervals [180]:
732
- xmin = 48.24
733
- xmax = 48.76
734
- text = "serve"
735
- intervals [181]:
736
- xmin = 48.76
737
- xmax = 49.42
738
- text = ""
739
- intervals [182]:
740
- xmin = 49.42
741
- xmax = 49.9
742
- text = "so"
743
- intervals [183]:
744
- xmin = 49.9
745
- xmax = 50.46
746
- text = "when"
747
- intervals [184]:
748
- xmin = 50.46
749
- xmax = 50.49
750
- text = ""
751
- intervals [185]:
752
- xmin = 50.49
753
- xmax = 50.85
754
- text = "you're"
755
- intervals [186]:
756
- xmin = 50.85
757
- xmax = 50.98
758
- text = "so"
759
- intervals [187]:
760
- xmin = 50.98
761
- xmax = 51.13
762
- text = "when"
763
- intervals [188]:
764
- xmin = 51.13
765
- xmax = 51.35
766
- text = "each"
767
- intervals [189]:
768
- xmin = 51.35
769
- xmax = 51.55
770
- text = "time"
771
- intervals [190]:
772
- xmin = 51.55
773
- xmax = 51.62
774
- text = "a"
775
- intervals [191]:
776
- xmin = 51.62
777
- xmax = 51.91
778
- text = "friend"
779
- intervals [192]:
780
- xmin = 51.91
781
- xmax = 52.32
782
- text = "comes"
783
- intervals [193]:
784
- xmin = 52.32
785
- xmax = 52.46
786
- text = "to"
787
- intervals [194]:
788
- xmin = 52.46
789
- xmax = 52.59
790
- text = "the"
791
- intervals [195]:
792
- xmin = 52.59
793
- xmax = 52.9
794
- text = "city"
795
- intervals [196]:
796
- xmin = 52.9
797
- xmax = 53.07
798
- text = "to"
799
- intervals [197]:
800
- xmin = 53.07
801
- xmax = 53.35
802
- text = "enjoy"
803
- intervals [198]:
804
- xmin = 53.35
805
- xmax = 53.62
806
- text = "time"
807
- intervals [199]:
808
- xmin = 53.62
809
- xmax = 53.74
810
- text = "with"
811
- intervals [200]:
812
- xmin = 53.74
813
- xmax = 54.02
814
- text = "me"
815
- intervals [201]:
816
- xmin = 54.02
817
- xmax = 54.31
818
- text = ""
819
- intervals [202]:
820
- xmin = 54.31
821
- xmax = 54.54
822
- text = "i"
823
- intervals [203]:
824
- xmin = 54.54
825
- xmax = 54.69
826
- text = "will"
827
- intervals [204]:
828
- xmin = 54.69
829
- xmax = 54.84
830
- text = "give"
831
- intervals [205]:
832
- xmin = 54.84
833
- xmax = 54.97
834
- text = "them"
835
- intervals [206]:
836
- xmin = 54.97
837
- xmax = 55.07
838
- text = "the"
839
- intervals [207]:
840
- xmin = 55.07
841
- xmax = 55.38
842
- text = "top"
843
- intervals [208]:
844
- xmin = 55.38
845
- xmax = 55.53
846
- text = "5"
847
- intervals [209]:
848
- xmin = 55.53
849
- xmax = 56.1
850
- text = "restaurants"
851
- intervals [210]:
852
- xmin = 56.1
853
- xmax = 56.44
854
- text = "based"
855
- intervals [211]:
856
- xmin = 56.44
857
- xmax = 56.68
858
- text = "on"
859
- intervals [212]:
860
- xmin = 56.68
861
- xmax = 56.99
862
- text = "this"
863
- intervals [213]:
864
- xmin = 56.99
865
- xmax = 57.35
866
- text = "ranking"
867
- intervals [214]:
868
- xmin = 57.35
869
- xmax = 57.53
870
- text = "and"
871
- intervals [215]:
872
- xmin = 57.53
873
- xmax = 57.86
874
- text = "every"
875
- intervals [216]:
876
- xmin = 57.86
877
- xmax = 58.44
878
- text = "time"
879
- intervals [217]:
880
- xmin = 58.44
881
- xmax = 59.02
882
- text = ""
883
- intervals [218]:
884
- xmin = 59.02
885
- xmax = 59.2
886
- text = "you're"
887
- intervals [219]:
888
- xmin = 59.2
889
- xmax = 59.72
890
- text = "satisfied"
891
- intervals [220]:
892
- xmin = 59.72
893
- xmax = 59.85
894
- text = "with"
895
- intervals [221]:
896
- xmin = 59.85
897
- xmax = 60.1
898
- text = "these"
899
- intervals [222]:
900
- xmin = 60.1
901
- xmax = 60.81
902
- text = "restaurants"
903
- intervals [223]:
904
- xmin = 60.81
905
- xmax = 62
906
- text = ""
907
- item [2]:
908
- class = "IntervalTier"
909
- name = "phones"
910
- xmin = 0.0
911
- xmax = 62
912
- intervals: size = 701
913
- intervals [1]:
914
- xmin = 0.0
915
- xmax = 1.45
916
- text = ""
917
- intervals [2]:
918
- xmin = 1.45
919
- xmax = 1.64
920
- text = "S"
921
- intervals [3]:
922
- xmin = 1.64
923
- xmax = 1.87
924
- text = "OW1"
925
- intervals [4]:
926
- xmin = 1.87
927
- xmax = 1.94
928
- text = "W"
929
- intervals [5]:
930
- xmin = 1.94
931
- xmax = 1.97
932
- text = "EH1"
933
- intervals [6]:
934
- xmin = 1.97
935
- xmax = 2.02
936
- text = "N"
937
- intervals [7]:
938
- xmin = 2.02
939
- xmax = 2.13
940
- text = "AY1"
941
- intervals [8]:
942
- xmin = 2.13
943
- xmax = 2.21
944
- text = "HH"
945
- intervals [9]:
946
- xmin = 2.21
947
- xmax = 2.29
948
- text = "AE1"
949
- intervals [10]:
950
- xmin = 2.29
951
- xmax = 2.35
952
- text = "V"
953
- intervals [11]:
954
- xmin = 2.35
955
- xmax = 2.43
956
- text = "T"
957
- intervals [12]:
958
- xmin = 2.43
959
- xmax = 2.52
960
- text = "AY1"
961
- intervals [13]:
962
- xmin = 2.52
963
- xmax = 2.57
964
- text = "M"
965
- intervals [14]:
966
- xmin = 2.57
967
- xmax = 2.6
968
- text = "T"
969
- intervals [15]:
970
- xmin = 2.6
971
- xmax = 2.65
972
- text = "AH0"
973
- intervals [16]:
974
- xmin = 2.65
975
- xmax = 2.75
976
- text = "K"
977
- intervals [17]:
978
- xmin = 2.75
979
- xmax = 2.81
980
- text = "IH1"
981
- intervals [18]:
982
- xmin = 2.81
983
- xmax = 3.18
984
- text = "L"
985
- intervals [19]:
986
- xmin = 3.18
987
- xmax = 3.22
988
- text = ""
989
- intervals [20]:
990
- xmin = 3.22
991
- xmax = 3.41
992
- text = "AY1"
993
- intervals [21]:
994
- xmin = 3.41
995
- xmax = 3.46
996
- text = "L"
997
- intervals [22]:
998
- xmin = 3.46
999
- xmax = 3.57
1000
- text = "AY1"
1001
- intervals [23]:
1002
- xmin = 3.57
1003
- xmax = 3.6
1004
- text = "K"
1005
- intervals [24]:
1006
- xmin = 3.6
1007
- xmax = 3.63
1008
- text = "T"
1009
- intervals [25]:
1010
- xmin = 3.63
1011
- xmax = 3.68
1012
- text = "IH0"
1013
- intervals [26]:
1014
- xmin = 3.68
1015
- xmax = 3.75
1016
- text = "P"
1017
- intervals [27]:
1018
- xmin = 3.75
1019
- xmax = 3.83
1020
- text = "L"
1021
- intervals [28]:
1022
- xmin = 3.83
1023
- xmax = 3.88
1024
- text = "EY1"
1025
- intervals [29]:
1026
- xmin = 3.88
1027
- xmax = 3.93
1028
- text = "AA1"
1029
- intervals [30]:
1030
- xmin = 3.93
1031
- xmax = 3.96
1032
- text = "N"
1033
- intervals [31]:
1034
- xmin = 3.96
1035
- xmax = 4.01
1036
- text = "DH"
1037
- intervals [32]:
1038
- xmin = 4.01
1039
- xmax = 4.08
1040
- text = "IY0"
1041
- intervals [33]:
1042
- xmin = 4.08
1043
- xmax = 4.13
1044
- text = "IH1"
1045
- intervals [34]:
1046
- xmin = 4.13
1047
- xmax = 4.16
1048
- text = "N"
1049
- intervals [35]:
1050
- xmin = 4.16
1051
- xmax = 4.19
1052
- text = "T"
1053
- intervals [36]:
1054
- xmin = 4.19
1055
- xmax = 4.25
1056
- text = "ER0"
1057
- intervals [37]:
1058
- xmin = 4.25
1059
- xmax = 4.29
1060
- text = "N"
1061
- intervals [38]:
1062
- xmin = 4.29
1063
- xmax = 4.42
1064
- text = "EH2"
1065
- intervals [39]:
1066
- xmin = 4.42
1067
- xmax = 4.5
1068
- text = "T"
1069
- intervals [40]:
1070
- xmin = 4.5
1071
- xmax = 4.58
1072
- text = "AE1"
1073
- intervals [41]:
1074
- xmin = 4.58
1075
- xmax = 4.62
1076
- text = "N"
1077
- intervals [42]:
1078
- xmin = 4.62
1079
- xmax = 4.66
1080
- text = "D"
1081
- intervals [43]:
1082
- xmin = 4.66
1083
- xmax = 4.71
1084
- text = "P"
1085
- intervals [44]:
1086
- xmin = 4.71
1087
- xmax = 4.8
1088
- text = "L"
1089
- intervals [45]:
1090
- xmin = 4.8
1091
- xmax = 4.87
1092
- text = "EY1"
1093
- intervals [46]:
1094
- xmin = 4.87
1095
- xmax = 4.97
1096
- text = "K"
1097
- intervals [47]:
1098
- xmin = 4.97
1099
- xmax = 5.02
1100
- text = "L"
1101
- intervals [48]:
1102
- xmin = 5.02
1103
- xmax = 5.09
1104
- text = "OW1"
1105
- intervals [49]:
1106
- xmin = 5.09
1107
- xmax = 5.19
1108
- text = "S"
1109
- intervals [50]:
1110
- xmin = 5.19
1111
- xmax = 5.23
1112
- text = "AH0"
1113
- intervals [51]:
1114
- xmin = 5.23
1115
- xmax = 5.32
1116
- text = "T"
1117
- intervals [52]:
1118
- xmin = 5.32
1119
- xmax = 5.36
1120
- text = "EH1"
1121
- intervals [53]:
1122
- xmin = 5.36
1123
- xmax = 5.42
1124
- text = "N"
1125
- intervals [54]:
1126
- xmin = 5.42
1127
- xmax = 5.49
1128
- text = "SH"
1129
- intervals [55]:
1130
- xmin = 5.49
1131
- xmax = 5.55
1132
- text = "AH0"
1133
- intervals [56]:
1134
- xmin = 5.55
1135
- xmax = 5.67
1136
- text = "N"
1137
- intervals [57]:
1138
- xmin = 5.67
1139
- xmax = 5.8
1140
- text = "T"
1141
- intervals [58]:
1142
- xmin = 5.8
1143
- xmax = 6.0
1144
- text = "UW1"
1145
- intervals [59]:
1146
- xmin = 6.0
1147
- xmax = 6.03
1148
- text = "N"
1149
- intervals [60]:
1150
- xmin = 6.03
1151
- xmax = 6.15
1152
- text = "Y"
1153
- intervals [61]:
1154
- xmin = 6.15
1155
- xmax = 6.26
1156
- text = "UW1"
1157
- intervals [62]:
1158
- xmin = 6.26
1159
- xmax = 6.41
1160
- text = "F"
1161
- intervals [63]:
1162
- xmin = 6.41
1163
- xmax = 6.54
1164
- text = "AE1"
1165
- intervals [64]:
1166
- xmin = 6.54
1167
- xmax = 6.63
1168
- text = "SH"
1169
- intervals [65]:
1170
- xmin = 6.63
1171
- xmax = 6.66
1172
- text = "AH0"
1173
- intervals [66]:
1174
- xmin = 6.66
1175
- xmax = 6.71
1176
- text = "N"
1177
- intervals [67]:
1178
- xmin = 6.71
1179
- xmax = 6.75
1180
- text = "IH0"
1181
- intervals [68]:
1182
- xmin = 6.75
1183
- xmax = 6.81
1184
- text = "V"
1185
- intervals [69]:
1186
- xmin = 6.81
1187
- xmax = 6.93
1188
- text = "EH1"
1189
- intervals [70]:
1190
- xmin = 6.93
1191
- xmax = 6.97
1192
- text = "N"
1193
- intervals [71]:
1194
- xmin = 6.97
1195
- xmax = 7.02
1196
- text = "T"
1197
- intervals [72]:
1198
- xmin = 7.02
1199
- xmax = 7.17
1200
- text = "S"
1201
- intervals [73]:
1202
- xmin = 7.17
1203
- xmax = 7.43
1204
- text = ""
1205
- intervals [74]:
1206
- xmin = 7.43
1207
- xmax = 7.55
1208
- text = "S"
1209
- intervals [75]:
1210
- xmin = 7.55
1211
- xmax = 7.63
1212
- text = "AH1"
1213
- intervals [76]:
1214
- xmin = 7.63
1215
- xmax = 7.76
1216
- text = "CH"
1217
- intervals [77]:
1218
- xmin = 7.76
1219
- xmax = 7.94
1220
- text = "EH1"
1221
- intervals [78]:
1222
- xmin = 7.94
1223
- xmax = 8.14
1224
- text = "Z"
1225
- intervals [79]:
1226
- xmin = 8.14
1227
- xmax = 8.19
1228
- text = ""
1229
- intervals [80]:
1230
- xmin = 8.19
1231
- xmax = 8.28
1232
- text = "DH"
1233
- intervals [81]:
1234
- xmin = 8.28
1235
- xmax = 8.34
1236
- text = "AH0"
1237
- intervals [82]:
1238
- xmin = 8.34
1239
- xmax = 8.44
1240
- text = "N"
1241
- intervals [83]:
1242
- xmin = 8.44
1243
- xmax = 8.47
1244
- text = "UW1"
1245
- intervals [84]:
1246
- xmin = 8.47
1247
- xmax = 8.52
1248
- text = "Y"
1249
- intervals [85]:
1250
- xmin = 8.52
1251
- xmax = 8.56
1252
- text = "AO1"
1253
- intervals [86]:
1254
- xmin = 8.56
1255
- xmax = 8.62
1256
- text = "R"
1257
- intervals [87]:
1258
- xmin = 8.62
1259
- xmax = 8.68
1260
- text = "K"
1261
- intervals [88]:
1262
- xmin = 8.68
1263
- xmax = 8.79
1264
- text = "F"
1265
- intervals [89]:
1266
- xmin = 8.79
1267
- xmax = 8.93
1268
- text = "AE1"
1269
- intervals [90]:
1270
- xmin = 8.93
1271
- xmax = 9.03
1272
- text = "SH"
1273
- intervals [91]:
1274
- xmin = 9.03
1275
- xmax = 9.07
1276
- text = "AH0"
1277
- intervals [92]:
1278
- xmin = 9.07
1279
- xmax = 9.12
1280
- text = "N"
1281
- intervals [93]:
1282
- xmin = 9.12
1283
- xmax = 9.19
1284
- text = "W"
1285
- intervals [94]:
1286
- xmin = 9.19
1287
- xmax = 9.33
1288
- text = "IY1"
1289
- intervals [95]:
1290
- xmin = 9.33
1291
- xmax = 9.42
1292
- text = "K"
1293
- intervals [96]:
1294
- xmin = 9.42
1295
- xmax = 9.46
1296
- text = "DH"
1297
- intervals [97]:
1298
- xmin = 9.46
1299
- xmax = 9.49
1300
- text = "AH0"
1301
- intervals [98]:
1302
- xmin = 9.49
1303
- xmax = 9.57
1304
- text = "P"
1305
- intervals [99]:
1306
- xmin = 9.57
1307
- xmax = 9.64
1308
- text = "EH1"
1309
- intervals [100]:
1310
- xmin = 9.64
1311
- xmax = 9.75
1312
- text = "R"
1313
- intervals [101]:
1314
- xmin = 9.75
1315
- xmax = 9.8
1316
- text = "IH0"
1317
- intervals [102]:
1318
- xmin = 9.8
1319
- xmax = 9.87
1320
- text = "S"
1321
- intervals [103]:
1322
- xmin = 9.87
1323
- xmax = 9.93
1324
- text = "F"
1325
- intervals [104]:
1326
- xmin = 9.93
1327
- xmax = 10.09
1328
- text = "AE1"
1329
- intervals [105]:
1330
- xmin = 10.09
1331
- xmax = 10.19
1332
- text = "SH"
1333
- intervals [106]:
1334
- xmin = 10.19
1335
- xmax = 10.22
1336
- text = "AH0"
1337
- intervals [107]:
1338
- xmin = 10.22
1339
- xmax = 10.25
1340
- text = "N"
1341
- intervals [108]:
1342
- xmin = 10.25
1343
- xmax = 10.32
1344
- text = "W"
1345
- intervals [109]:
1346
- xmin = 10.32
1347
- xmax = 10.49
1348
- text = "IY1"
1349
- intervals [110]:
1350
- xmin = 10.49
1351
- xmax = 10.56
1352
- text = "K"
1353
- intervals [111]:
1354
- xmin = 10.56
1355
- xmax = 10.6
1356
- text = "DH"
1357
- intervals [112]:
1358
- xmin = 10.6
1359
- xmax = 10.66
1360
- text = "AH0"
1361
- intervals [113]:
1362
- xmin = 10.66
1363
- xmax = 10.76
1364
- text = "L"
1365
- intervals [114]:
1366
- xmin = 10.76
1367
- xmax = 10.81
1368
- text = "AH1"
1369
- intervals [115]:
1370
- xmin = 10.81
1371
- xmax = 10.87
1372
- text = "N"
1373
- intervals [116]:
1374
- xmin = 10.87
1375
- xmax = 10.92
1376
- text = "D"
1377
- intervals [117]:
1378
- xmin = 10.92
1379
- xmax = 10.97
1380
- text = "AH0"
1381
- intervals [118]:
1382
- xmin = 10.97
1383
- xmax = 11.07
1384
- text = "N"
1385
- intervals [119]:
1386
- xmin = 11.07
1387
- xmax = 11.18
1388
- text = "F"
1389
- intervals [120]:
1390
- xmin = 11.18
1391
- xmax = 11.31
1392
- text = "AE1"
1393
- intervals [121]:
1394
- xmin = 11.31
1395
- xmax = 11.42
1396
- text = "SH"
1397
- intervals [122]:
1398
- xmin = 11.42
1399
- xmax = 11.46
1400
- text = "AH0"
1401
- intervals [123]:
1402
- xmin = 11.46
1403
- xmax = 11.51
1404
- text = "N"
1405
- intervals [124]:
1406
- xmin = 11.51
1407
- xmax = 11.56
1408
- text = "W"
1409
- intervals [125]:
1410
- xmin = 11.56
1411
- xmax = 11.69
1412
- text = "IY1"
1413
- intervals [126]:
1414
- xmin = 11.69
1415
- xmax = 11.78
1416
- text = "K"
1417
- intervals [127]:
1418
- xmin = 11.78
1419
- xmax = 11.84
1420
- text = "AE1"
1421
- intervals [128]:
1422
- xmin = 11.84
1423
- xmax = 11.99
1424
- text = "N"
1425
- intervals [129]:
1426
- xmin = 11.99
1427
- xmax = 12.17
1428
- text = "D"
1429
- intervals [130]:
1430
- xmin = 12.17
1431
- xmax = 12.21
1432
- text = ""
1433
- intervals [131]:
1434
- xmin = 12.21
1435
- xmax = 12.36
1436
- text = "M"
1437
- intervals [132]:
1438
- xmin = 12.36
1439
- xmax = 12.48
1440
- text = "IH0"
1441
- intervals [133]:
1442
- xmin = 12.48
1443
- xmax = 12.55
1444
- text = "L"
1445
- intervals [134]:
1446
- xmin = 12.55
1447
- xmax = 12.73
1448
- text = "AA1"
1449
- intervals [135]:
1450
- xmin = 12.73
1451
- xmax = 12.83
1452
- text = "N"
1453
- intervals [136]:
1454
- xmin = 12.83
1455
- xmax = 12.92
1456
- text = "F"
1457
- intervals [137]:
1458
- xmin = 12.92
1459
- xmax = 13.06
1460
- text = "AE1"
1461
- intervals [138]:
1462
- xmin = 13.06
1463
- xmax = 13.16
1464
- text = "SH"
1465
- intervals [139]:
1466
- xmin = 13.16
1467
- xmax = 13.21
1468
- text = "AH0"
1469
- intervals [140]:
1470
- xmin = 13.21
1471
- xmax = 13.24
1472
- text = "N"
1473
- intervals [141]:
1474
- xmin = 13.24
1475
- xmax = 13.29
1476
- text = "W"
1477
- intervals [142]:
1478
- xmin = 13.29
1479
- xmax = 13.41
1480
- text = "IY1"
1481
- intervals [143]:
1482
- xmin = 13.41
1483
- xmax = 13.62
1484
- text = "K"
1485
- intervals [144]:
1486
- xmin = 13.62
1487
- xmax = 14.03
1488
- text = ""
1489
- intervals [145]:
1490
- xmin = 14.03
1491
- xmax = 14.11
1492
- text = "DH"
1493
- intervals [146]:
1494
- xmin = 14.11
1495
- xmax = 14.15
1496
- text = "AH1"
1497
- intervals [147]:
1498
- xmin = 14.15
1499
- xmax = 14.22
1500
- text = "R"
1501
- intervals [148]:
1502
- xmin = 14.22
1503
- xmax = 14.26
1504
- text = "EH1"
1505
- intervals [149]:
1506
- xmin = 14.26
1507
- xmax = 14.31
1508
- text = "S"
1509
- intervals [150]:
1510
- xmin = 14.31
1511
- xmax = 14.35
1512
- text = "T"
1513
- intervals [151]:
1514
- xmin = 14.35
1515
- xmax = 14.4
1516
- text = "AH0"
1517
- intervals [152]:
1518
- xmin = 14.4
1519
- xmax = 14.43
1520
- text = "V"
1521
- intervals [153]:
1522
- xmin = 14.43
1523
- xmax = 14.46
1524
- text = "DH"
1525
- intervals [154]:
1526
- xmin = 14.46
1527
- xmax = 14.49
1528
- text = "AH0"
1529
- intervals [155]:
1530
- xmin = 14.49
1531
- xmax = 14.55
1532
- text = "T"
1533
- intervals [156]:
1534
- xmin = 14.55
1535
- xmax = 14.73
1536
- text = "AY1"
1537
- intervals [157]:
1538
- xmin = 14.73
1539
- xmax = 14.8
1540
- text = "M"
1541
- intervals [158]:
1542
- xmin = 14.8
1543
- xmax = 14.87
1544
- text = "AY1"
1545
- intervals [159]:
1546
- xmin = 14.87
1547
- xmax = 14.96
1548
- text = "Y"
1549
- intervals [160]:
1550
- xmin = 14.96
1551
- xmax = 14.99
1552
- text = "UW1"
1553
- intervals [161]:
1554
- xmin = 14.99
1555
- xmax = 15.08
1556
- text = "ZH"
1557
- intervals [162]:
1558
- xmin = 15.08
1559
- xmax = 15.11
1560
- text = "AH0"
1561
- intervals [163]:
1562
- xmin = 15.11
1563
- xmax = 15.14
1564
- text = "L"
1565
- intervals [164]:
1566
- xmin = 15.14
1567
- xmax = 15.2
1568
- text = "IY0"
1569
- intervals [165]:
1570
- xmin = 15.2
1571
- xmax = 15.23
1572
- text = "G"
1573
- intervals [166]:
1574
- xmin = 15.23
1575
- xmax = 15.3
1576
- text = "OW1"
1577
- intervals [167]:
1578
- xmin = 15.3
1579
- xmax = 15.33
1580
- text = "T"
1581
- intervals [168]:
1582
- xmin = 15.33
1583
- xmax = 15.36
1584
- text = "AH0"
1585
- intervals [169]:
1586
- xmin = 15.36
1587
- xmax = 15.39
1588
- text = "DH"
1589
- intervals [170]:
1590
- xmin = 15.39
1591
- xmax = 15.44
1592
- text = "AH1"
1593
- intervals [171]:
1594
- xmin = 15.44
1595
- xmax = 15.51
1596
- text = "L"
1597
- intervals [172]:
1598
- xmin = 15.51
1599
- xmax = 15.67
1600
- text = "AY1"
1601
- intervals [173]:
1602
- xmin = 15.67
1603
- xmax = 15.71
1604
- text = "B"
1605
- intervals [174]:
1606
- xmin = 15.71
1607
- xmax = 15.74
1608
- text = "R"
1609
- intervals [175]:
1610
- xmin = 15.74
1611
- xmax = 15.83
1612
- text = "EH2"
1613
- intervals [176]:
1614
- xmin = 15.83
1615
- xmax = 15.9
1616
- text = "R"
1617
- intervals [177]:
1618
- xmin = 15.9
1619
- xmax = 15.93
1620
- text = "IY0"
1621
- intervals [178]:
1622
- xmin = 15.93
1623
- xmax = 15.96
1624
- text = "AH0"
1625
- intervals [179]:
1626
- xmin = 15.96
1627
- xmax = 15.99
1628
- text = "N"
1629
- intervals [180]:
1630
- xmin = 15.99
1631
- xmax = 16.04
1632
- text = "D"
1633
- intervals [181]:
1634
- xmin = 16.04
1635
- xmax = 16.11
1636
- text = "F"
1637
- intervals [182]:
1638
- xmin = 16.11
1639
- xmax = 16.18
1640
- text = "AY1"
1641
- intervals [183]:
1642
- xmin = 16.18
1643
- xmax = 16.21
1644
- text = "N"
1645
- intervals [184]:
1646
- xmin = 16.21
1647
- xmax = 16.25
1648
- text = "D"
1649
- intervals [185]:
1650
- xmin = 16.25
1651
- xmax = 16.29
1652
- text = "S"
1653
- intervals [186]:
1654
- xmin = 16.29
1655
- xmax = 16.32
1656
- text = "AH1"
1657
- intervals [187]:
1658
- xmin = 16.32
1659
- xmax = 16.35
1660
- text = "M"
1661
- intervals [188]:
1662
- xmin = 16.35
1663
- xmax = 16.38
1664
- text = "IH1"
1665
- intervals [189]:
1666
- xmin = 16.38
1667
- xmax = 16.41
1668
- text = "N"
1669
- intervals [190]:
1670
- xmin = 16.41
1671
- xmax = 16.46
1672
- text = "T"
1673
- intervals [191]:
1674
- xmin = 16.46
1675
- xmax = 16.49
1676
- text = "R"
1677
- intervals [192]:
1678
- xmin = 16.49
1679
- xmax = 16.53
1680
- text = "IH0"
1681
- intervals [193]:
1682
- xmin = 16.53
1683
- xmax = 16.57
1684
- text = "S"
1685
- intervals [194]:
1686
- xmin = 16.57
1687
- xmax = 16.6
1688
- text = "T"
1689
- intervals [195]:
1690
- xmin = 16.6
1691
- xmax = 16.64
1692
- text = "IH0"
1693
- intervals [196]:
1694
- xmin = 16.64
1695
- xmax = 16.71
1696
- text = "NG"
1697
- intervals [197]:
1698
- xmin = 16.71
1699
- xmax = 16.78
1700
- text = "B"
1701
- intervals [198]:
1702
- xmin = 16.78
1703
- xmax = 17.0
1704
- text = "UH1"
1705
- intervals [199]:
1706
- xmin = 17.0
1707
- xmax = 17.09
1708
- text = "K"
1709
- intervals [200]:
1710
- xmin = 17.09
1711
- xmax = 17.19
1712
- text = "S"
1713
- intervals [201]:
1714
- xmin = 17.19
1715
- xmax = 17.25
1716
- text = "AH0"
1717
- intervals [202]:
1718
- xmin = 17.25
1719
- xmax = 17.28
1720
- text = "N"
1721
- intervals [203]:
1722
- xmin = 17.28
1723
- xmax = 17.31
1724
- text = "D"
1725
- intervals [204]:
1726
- xmin = 17.31
1727
- xmax = 17.34
1728
- text = "DH"
1729
- intervals [205]:
1730
- xmin = 17.34
1731
- xmax = 17.42
1732
- text = "EH1"
1733
- intervals [206]:
1734
- xmin = 17.42
1735
- xmax = 17.51
1736
- text = "N"
1737
- intervals [207]:
1738
- xmin = 17.51
1739
- xmax = 17.58
1740
- text = "G"
1741
- intervals [208]:
1742
- xmin = 17.58
1743
- xmax = 17.63
1744
- text = "OW1"
1745
- intervals [209]:
1746
- xmin = 17.63
1747
- xmax = 17.67
1748
- text = "T"
1749
- intervals [210]:
1750
- xmin = 17.67
1751
- xmax = 17.7
1752
- text = "AH0"
1753
- intervals [211]:
1754
- xmin = 17.7
1755
- xmax = 17.78
1756
- text = "AH0"
1757
- intervals [212]:
1758
- xmin = 17.78
1759
- xmax = 17.89
1760
- text = "P"
1761
- intervals [213]:
1762
- xmin = 17.89
1763
- xmax = 17.95
1764
- text = "AA1"
1765
- intervals [214]:
1766
- xmin = 17.95
1767
- xmax = 18.04
1768
- text = "R"
1769
- intervals [215]:
1770
- xmin = 18.04
1771
- xmax = 18.08
1772
- text = "K"
1773
- intervals [216]:
1774
- xmin = 18.08
1775
- xmax = 18.11
1776
- text = "AH0"
1777
- intervals [217]:
1778
- xmin = 18.11
1779
- xmax = 18.14
1780
- text = "N"
1781
- intervals [218]:
1782
- xmin = 18.14
1783
- xmax = 18.17
1784
- text = "D"
1785
- intervals [219]:
1786
- xmin = 18.17
1787
- xmax = 18.2
1788
- text = "R"
1789
- intervals [220]:
1790
- xmin = 18.2
1791
- xmax = 18.25
1792
- text = "IH0"
1793
- intervals [221]:
1794
- xmin = 18.25
1795
- xmax = 18.33
1796
- text = "L"
1797
- intervals [222]:
1798
- xmin = 18.33
1799
- xmax = 18.53
1800
- text = "AE1"
1801
- intervals [223]:
1802
- xmin = 18.53
1803
- xmax = 18.58
1804
- text = "K"
1805
- intervals [224]:
1806
- xmin = 18.58
1807
- xmax = 18.75
1808
- text = "S"
1809
- intervals [225]:
1810
- xmin = 18.75
1811
- xmax = 19.04
1812
- text = ""
1813
- intervals [226]:
1814
- xmin = 19.04
1815
- xmax = 19.14
1816
- text = "DH"
1817
- intervals [227]:
1818
- xmin = 19.14
1819
- xmax = 19.18
1820
- text = "EH1"
1821
- intervals [228]:
1822
- xmin = 19.18
1823
- xmax = 19.22
1824
- text = "R"
1825
- intervals [229]:
1826
- xmin = 19.22
1827
- xmax = 19.27
1828
- text = "ER0"
1829
- intervals [230]:
1830
- xmin = 19.27
1831
- xmax = 19.34
1832
- text = "M"
1833
- intervals [231]:
1834
- xmin = 19.34
1835
- xmax = 19.39
1836
- text = "EH1"
1837
- intervals [232]:
1838
- xmin = 19.39
1839
- xmax = 19.43
1840
- text = "N"
1841
- intervals [233]:
1842
- xmin = 19.43
1843
- xmax = 19.5
1844
- text = "IY0"
1845
- intervals [234]:
1846
- xmin = 19.5
1847
- xmax = 19.56
1848
- text = "B"
1849
- intervals [235]:
1850
- xmin = 19.56
1851
- xmax = 19.66
1852
- text = "UH1"
1853
- intervals [236]:
1854
- xmin = 19.66
1855
- xmax = 19.72
1856
- text = "K"
1857
- intervals [237]:
1858
- xmin = 19.72
1859
- xmax = 19.78
1860
- text = "S"
1861
- intervals [238]:
1862
- xmin = 19.78
1863
- xmax = 19.81
1864
- text = "DH"
1865
- intervals [239]:
1866
- xmin = 19.81
1867
- xmax = 19.84
1868
- text = "AH0"
1869
- intervals [240]:
1870
- xmin = 19.84
1871
- xmax = 19.93
1872
- text = "T"
1873
- intervals [241]:
1874
- xmin = 19.93
1875
- xmax = 20.11
1876
- text = "AY1"
1877
- intervals [242]:
1878
- xmin = 20.11
1879
- xmax = 20.22
1880
- text = "F"
1881
- intervals [243]:
1882
- xmin = 20.22
1883
- xmax = 20.3
1884
- text = "AY1"
1885
- intervals [244]:
1886
- xmin = 20.3
1887
- xmax = 20.37
1888
- text = "N"
1889
- intervals [245]:
1890
- xmin = 20.37
1891
- xmax = 20.4
1892
- text = "D"
1893
- intervals [246]:
1894
- xmin = 20.4
1895
- xmax = 20.52
1896
- text = "IH1"
1897
- intervals [247]:
1898
- xmin = 20.52
1899
- xmax = 20.55
1900
- text = "N"
1901
- intervals [248]:
1902
- xmin = 20.55
1903
- xmax = 20.59
1904
- text = "T"
1905
- intervals [249]:
1906
- xmin = 20.59
1907
- xmax = 20.62
1908
- text = "R"
1909
- intervals [250]:
1910
- xmin = 20.62
1911
- xmax = 20.67
1912
- text = "AH0"
1913
- intervals [251]:
1914
- xmin = 20.67
1915
- xmax = 20.74
1916
- text = "S"
1917
- intervals [252]:
1918
- xmin = 20.74
1919
- xmax = 20.78
1920
- text = "T"
1921
- intervals [253]:
1922
- xmin = 20.78
1923
- xmax = 20.85
1924
- text = "IH0"
1925
- intervals [254]:
1926
- xmin = 20.85
1927
- xmax = 20.92
1928
- text = "NG"
1929
- intervals [255]:
1930
- xmin = 20.92
1931
- xmax = 21.02
1932
- text = "S"
1933
- intervals [256]:
1934
- xmin = 21.02
1935
- xmax = 21.06
1936
- text = "AH1"
1937
- intervals [257]:
1938
- xmin = 21.06
1939
- xmax = 21.15
1940
- text = "CH"
1941
- intervals [258]:
1942
- xmin = 21.15
1943
- xmax = 21.2
1944
- text = "EH1"
1945
- intervals [259]:
1946
- xmin = 21.2
1947
- xmax = 21.3
1948
- text = "Z"
1949
- intervals [260]:
1950
- xmin = 21.3
1951
- xmax = 21.36
1952
- text = "F"
1953
- intervals [261]:
1954
- xmin = 21.36
1955
- xmax = 21.47
1956
- text = "AE1"
1957
- intervals [262]:
1958
- xmin = 21.47
1959
- xmax = 21.56
1960
- text = "SH"
1961
- intervals [263]:
1962
- xmin = 21.56
1963
- xmax = 21.59
1964
- text = "AH0"
1965
- intervals [264]:
1966
- xmin = 21.59
1967
- xmax = 21.62
1968
- text = "N"
1969
- intervals [265]:
1970
- xmin = 21.62
1971
- xmax = 21.68
1972
- text = "M"
1973
- intervals [266]:
1974
- xmin = 21.68
1975
- xmax = 21.76
1976
- text = "AE1"
1977
- intervals [267]:
1978
- xmin = 21.76
1979
- xmax = 21.81
1980
- text = "G"
1981
- intervals [268]:
1982
- xmin = 21.81
1983
- xmax = 21.85
1984
- text = "AH0"
1985
- intervals [269]:
1986
- xmin = 21.85
1987
- xmax = 21.9
1988
- text = "Z"
1989
- intervals [270]:
1990
- xmin = 21.9
1991
- xmax = 22.0
1992
- text = "IY2"
1993
- intervals [271]:
1994
- xmin = 22.0
1995
- xmax = 22.1
1996
- text = "N"
1997
- intervals [272]:
1998
- xmin = 22.1
1999
- xmax = 22.19
2000
- text = "Z"
2001
- intervals [273]:
2002
- xmin = 22.19
2003
- xmax = 22.22
2004
- text = "IH2"
2005
- intervals [274]:
2006
- xmin = 22.22
2007
- xmax = 22.29
2008
- text = "N"
2009
- intervals [275]:
2010
- xmin = 22.29
2011
- xmax = 22.34
2012
- text = "S"
2013
- intervals [276]:
2014
- xmin = 22.34
2015
- xmax = 22.38
2016
- text = "P"
2017
- intervals [277]:
2018
- xmin = 22.38
2019
- xmax = 22.48
2020
- text = "ER0"
2021
- intervals [278]:
2022
- xmin = 22.48
2023
- xmax = 22.55
2024
- text = "EY1"
2025
- intervals [279]:
2026
- xmin = 22.55
2027
- xmax = 22.64
2028
- text = "SH"
2029
- intervals [280]:
2030
- xmin = 22.64
2031
- xmax = 22.67
2032
- text = "AH0"
2033
- intervals [281]:
2034
- xmin = 22.67
2035
- xmax = 22.7
2036
- text = "N"
2037
- intervals [282]:
2038
- xmin = 22.7
2039
- xmax = 22.73
2040
- text = "AH0"
2041
- intervals [283]:
2042
- xmin = 22.73
2043
- xmax = 22.8
2044
- text = "L"
2045
- intervals [284]:
2046
- xmin = 22.8
2047
- xmax = 22.88
2048
- text = "B"
2049
- intervals [285]:
2050
- xmin = 22.88
2051
- xmax = 23.03
2052
- text = "UH1"
2053
- intervals [286]:
2054
- xmin = 23.03
2055
- xmax = 23.09
2056
- text = "K"
2057
- intervals [287]:
2058
- xmin = 23.09
2059
- xmax = 23.15
2060
- text = "S"
2061
- intervals [288]:
2062
- xmin = 23.15
2063
- xmax = 23.24
2064
- text = "AH0"
2065
- intervals [289]:
2066
- xmin = 23.24
2067
- xmax = 23.35
2068
- text = "N"
2069
- intervals [290]:
2070
- xmin = 23.35
2071
- xmax = 23.44
2072
- text = "D"
2073
- intervals [291]:
2074
- xmin = 23.44
2075
- xmax = 23.5
2076
- text = "P"
2077
- intervals [292]:
2078
- xmin = 23.5
2079
- xmax = 23.55
2080
- text = "R"
2081
- intervals [293]:
2082
- xmin = 23.55
2083
- xmax = 23.59
2084
- text = "AH0"
2085
- intervals [294]:
2086
- xmin = 23.59
2087
- xmax = 23.69
2088
- text = "F"
2089
- intervals [295]:
2090
- xmin = 23.69
2091
- xmax = 23.76
2092
- text = "EH1"
2093
- intervals [296]:
2094
- xmin = 23.76
2095
- xmax = 23.87
2096
- text = "SH"
2097
- intervals [297]:
2098
- xmin = 23.87
2099
- xmax = 23.9
2100
- text = "AH0"
2101
- intervals [298]:
2102
- xmin = 23.9
2103
- xmax = 23.94
2104
- text = "N"
2105
- intervals [299]:
2106
- xmin = 23.94
2107
- xmax = 23.98
2108
- text = "AH0"
2109
- intervals [300]:
2110
- xmin = 23.98
2111
- xmax = 24.04
2112
- text = "L"
2113
- intervals [301]:
2114
- xmin = 24.04
2115
- xmax = 24.12
2116
- text = "B"
2117
- intervals [302]:
2118
- xmin = 24.12
2119
- xmax = 24.24
2120
- text = "UH1"
2121
- intervals [303]:
2122
- xmin = 24.24
2123
- xmax = 24.32
2124
- text = "K"
2125
- intervals [304]:
2126
- xmin = 24.32
2127
- xmax = 24.46
2128
- text = "S"
2129
- intervals [305]:
2130
- xmin = 24.46
2131
- xmax = 24.83
2132
- text = ""
2133
- intervals [306]:
2134
- xmin = 24.83
2135
- xmax = 24.91
2136
- text = "DH"
2137
- intervals [307]:
2138
- xmin = 24.91
2139
- xmax = 24.98
2140
- text = "IY1"
2141
- intervals [308]:
2142
- xmin = 24.98
2143
- xmax = 25.06
2144
- text = "Z"
2145
- intervals [309]:
2146
- xmin = 25.06
2147
- xmax = 25.13
2148
- text = "B"
2149
- intervals [310]:
2150
- xmin = 25.13
2151
- xmax = 25.23
2152
- text = "UH1"
2153
- intervals [311]:
2154
- xmin = 25.23
2155
- xmax = 25.3
2156
- text = "K"
2157
- intervals [312]:
2158
- xmin = 25.3
2159
- xmax = 25.37
2160
- text = "S"
2161
- intervals [313]:
2162
- xmin = 25.37
2163
- xmax = 25.44
2164
- text = "K"
2165
- intervals [314]:
2166
- xmin = 25.44
2167
- xmax = 25.51
2168
- text = "AH0"
2169
- intervals [315]:
2170
- xmin = 25.51
2171
- xmax = 25.54
2172
- text = "N"
2173
- intervals [316]:
2174
- xmin = 25.54
2175
- xmax = 25.59
2176
- text = "G"
2177
- intervals [317]:
2178
- xmin = 25.59
2179
- xmax = 25.63
2180
- text = "IH1"
2181
- intervals [318]:
2182
- xmin = 25.63
2183
- xmax = 25.66
2184
- text = "V"
2185
- intervals [319]:
2186
- xmin = 25.66
2187
- xmax = 25.71
2188
- text = "M"
2189
- intervals [320]:
2190
- xmin = 25.71
2191
- xmax = 25.76
2192
- text = "IY1"
2193
- intervals [321]:
2194
- xmin = 25.76
2195
- xmax = 25.82
2196
- text = "DH"
2197
- intervals [322]:
2198
- xmin = 25.82
2199
- xmax = 25.86
2200
- text = "AH0"
2201
- intervals [323]:
2202
- xmin = 25.86
2203
- xmax = 25.95
2204
- text = "M"
2205
- intervals [324]:
2206
- xmin = 25.95
2207
- xmax = 26.01
2208
- text = "OW2"
2209
- intervals [325]:
2210
- xmin = 26.01
2211
- xmax = 26.06
2212
- text = "T"
2213
- intervals [326]:
2214
- xmin = 26.06
2215
- xmax = 26.1
2216
- text = "AH0"
2217
- intervals [327]:
2218
- xmin = 26.1
2219
- xmax = 26.19
2220
- text = "V"
2221
- intervals [328]:
2222
- xmin = 26.19
2223
- xmax = 26.32
2224
- text = "EY1"
2225
- intervals [329]:
2226
- xmin = 26.32
2227
- xmax = 26.42
2228
- text = "SH"
2229
- intervals [330]:
2230
- xmin = 26.42
2231
- xmax = 26.51
2232
- text = "AH0"
2233
- intervals [331]:
2234
- xmin = 26.51
2235
- xmax = 26.85
2236
- text = "N"
2237
- intervals [332]:
2238
- xmin = 26.85
2239
- xmax = 26.88
2240
- text = ""
2241
- intervals [333]:
2242
- xmin = 26.88
2243
- xmax = 27.0
2244
- text = "T"
2245
- intervals [334]:
2246
- xmin = 27.0
2247
- xmax = 27.07
2248
- text = "IH0"
2249
- intervals [335]:
2250
- xmin = 27.07
2251
- xmax = 27.13
2252
- text = "B"
2253
- intervals [336]:
2254
- xmin = 27.13
2255
- xmax = 27.37
2256
- text = "IY1"
2257
- intervals [337]:
2258
- xmin = 27.37
2259
- xmax = 27.5
2260
- text = "HH"
2261
- intervals [338]:
2262
- xmin = 27.5
2263
- xmax = 27.55
2264
- text = "EH1"
2265
- intervals [339]:
2266
- xmin = 27.55
2267
- xmax = 27.68
2268
- text = "L"
2269
- intervals [340]:
2270
- xmin = 27.68
2271
- xmax = 27.72
2272
- text = "TH"
2273
- intervals [341]:
2274
- xmin = 27.72
2275
- xmax = 27.86
2276
- text = "IY0"
2277
- intervals [342]:
2278
- xmin = 27.86
2279
- xmax = 28.01
2280
- text = "ER0"
2281
- intervals [343]:
2282
- xmin = 28.01
2283
- xmax = 28.09
2284
- text = "AE1"
2285
- intervals [344]:
2286
- xmin = 28.09
2287
- xmax = 28.12
2288
- text = "N"
2289
- intervals [345]:
2290
- xmin = 28.12
2291
- xmax = 28.18
2292
- text = "D"
2293
- intervals [346]:
2294
- xmin = 28.18
2295
- xmax = 28.25
2296
- text = "EH2"
2297
- intervals [347]:
2298
- xmin = 28.25
2299
- xmax = 28.32
2300
- text = "N"
2301
- intervals [348]:
2302
- xmin = 28.32
2303
- xmax = 28.41
2304
- text = "ER0"
2305
- intervals [349]:
2306
- xmin = 28.41
2307
- xmax = 28.51
2308
- text = "JH"
2309
- intervals [350]:
2310
- xmin = 28.51
2311
- xmax = 28.59
2312
- text = "EH1"
2313
- intervals [351]:
2314
- xmin = 28.59
2315
- xmax = 28.62
2316
- text = "T"
2317
- intervals [352]:
2318
- xmin = 28.62
2319
- xmax = 28.71
2320
- text = "IH0"
2321
- intervals [353]:
2322
- xmin = 28.71
2323
- xmax = 28.9
2324
- text = "K"
2325
- intervals [354]:
2326
- xmin = 28.9
2327
- xmax = 29.1
2328
- text = ""
2329
- intervals [355]:
2330
- xmin = 29.1
2331
- xmax = 29.24
2332
- text = "AE1"
2333
- intervals [356]:
2334
- xmin = 29.24
2335
- xmax = 29.27
2336
- text = "N"
2337
- intervals [357]:
2338
- xmin = 29.27
2339
- xmax = 29.3
2340
- text = "D"
2341
- intervals [358]:
2342
- xmin = 29.3
2343
- xmax = 29.33
2344
- text = "DH"
2345
- intervals [359]:
2346
- xmin = 29.33
2347
- xmax = 29.37
2348
- text = "AH0"
2349
- intervals [360]:
2350
- xmin = 29.37
2351
- xmax = 29.47
2352
- text = "L"
2353
- intervals [361]:
2354
- xmin = 29.47
2355
- xmax = 29.62
2356
- text = "AE1"
2357
- intervals [362]:
2358
- xmin = 29.62
2359
- xmax = 29.74
2360
- text = "S"
2361
- intervals [363]:
2362
- xmin = 29.74
2363
- xmax = 29.8
2364
- text = "TH"
2365
- intervals [364]:
2366
- xmin = 29.8
2367
- xmax = 29.86
2368
- text = "IH1"
2369
- intervals [365]:
2370
- xmin = 29.86
2371
- xmax = 29.94
2372
- text = "NG"
2373
- intervals [366]:
2374
- xmin = 29.94
2375
- xmax = 30.14
2376
- text = "AY1"
2377
- intervals [367]:
2378
- xmin = 30.14
2379
- xmax = 30.23
2380
- text = "L"
2381
- intervals [368]:
2382
- xmin = 30.23
2383
- xmax = 30.38
2384
- text = "AY1"
2385
- intervals [369]:
2386
- xmin = 30.38
2387
- xmax = 30.42
2388
- text = "K"
2389
- intervals [370]:
2390
- xmin = 30.42
2391
- xmax = 30.48
2392
- text = "T"
2393
- intervals [371]:
2394
- xmin = 30.48
2395
- xmax = 30.53
2396
- text = "IH0"
2397
- intervals [372]:
2398
- xmin = 30.53
2399
- xmax = 30.59
2400
- text = "D"
2401
- intervals [373]:
2402
- xmin = 30.59
2403
- xmax = 30.84
2404
- text = "UW1"
2405
- intervals [374]:
2406
- xmin = 30.84
2407
- xmax = 30.97
2408
- text = "W"
2409
- intervals [375]:
2410
- xmin = 30.97
2411
- xmax = 31.03
2412
- text = "EH1"
2413
- intervals [376]:
2414
- xmin = 31.03
2415
- xmax = 31.22
2416
- text = "N"
2417
- intervals [377]:
2418
- xmin = 31.22
2419
- xmax = 31.35
2420
- text = "AY1"
2421
- intervals [378]:
2422
- xmin = 31.35
2423
- xmax = 31.43
2424
- text = "M"
2425
- intervals [379]:
2426
- xmin = 31.43
2427
- xmax = 31.55
2428
- text = "F"
2429
- intervals [380]:
2430
- xmin = 31.55
2431
- xmax = 31.65
2432
- text = "R"
2433
- intervals [381]:
2434
- xmin = 31.65
2435
- xmax = 31.87
2436
- text = "IY1"
2437
- intervals [382]:
2438
- xmin = 31.87
2439
- xmax = 31.91
2440
- text = "IH1"
2441
- intervals [383]:
2442
- xmin = 31.91
2443
- xmax = 31.99
2444
- text = "Z"
2445
- intervals [384]:
2446
- xmin = 31.99
2447
- xmax = 32.06
2448
- text = "IH1"
2449
- intervals [385]:
2450
- xmin = 32.06
2451
- xmax = 32.11
2452
- text = "T"
2453
- intervals [386]:
2454
- xmin = 32.11
2455
- xmax = 32.2
2456
- text = "AW1"
2457
- intervals [387]:
2458
- xmin = 32.2
2459
- xmax = 32.23
2460
- text = "T"
2461
- intervals [388]:
2462
- xmin = 32.23
2463
- xmax = 32.27
2464
- text = "W"
2465
- intervals [389]:
2466
- xmin = 32.27
2467
- xmax = 32.32
2468
- text = "IH0"
2469
- intervals [390]:
2470
- xmin = 32.32
2471
- xmax = 32.35
2472
- text = "TH"
2473
- intervals [391]:
2474
- xmin = 32.35
2475
- xmax = 32.39
2476
- text = "M"
2477
- intervals [392]:
2478
- xmin = 32.39
2479
- xmax = 32.48
2480
- text = "AY1"
2481
- intervals [393]:
2482
- xmin = 32.48
2483
- xmax = 32.61
2484
- text = "F"
2485
- intervals [394]:
2486
- xmin = 32.61
2487
- xmax = 32.72
2488
- text = "AE1"
2489
- intervals [395]:
2490
- xmin = 32.72
2491
- xmax = 32.76
2492
- text = "M"
2493
- intervals [396]:
2494
- xmin = 32.76
2495
- xmax = 32.81
2496
- text = "L"
2497
- intervals [397]:
2498
- xmin = 32.81
2499
- xmax = 32.86
2500
- text = "IY0"
2501
- intervals [398]:
2502
- xmin = 32.86
2503
- xmax = 32.92
2504
- text = "M"
2505
- intervals [399]:
2506
- xmin = 32.92
2507
- xmax = 32.97
2508
- text = "EH1"
2509
- intervals [400]:
2510
- xmin = 32.97
2511
- xmax = 33.0
2512
- text = "M"
2513
- intervals [401]:
2514
- xmin = 33.0
2515
- xmax = 33.05
2516
- text = "B"
2517
- intervals [402]:
2518
- xmin = 33.05
2519
- xmax = 33.16
2520
- text = "ER0"
2521
- intervals [403]:
2522
- xmin = 33.16
2523
- xmax = 33.33
2524
- text = "Z"
2525
- intervals [404]:
2526
- xmin = 33.33
2527
- xmax = 33.51
2528
- text = ""
2529
- intervals [405]:
2530
- xmin = 33.51
2531
- xmax = 33.75
2532
- text = "Y"
2533
- intervals [406]:
2534
- xmin = 33.75
2535
- xmax = 33.89
2536
- text = "UW1"
2537
- intervals [407]:
2538
- xmin = 33.89
2539
- xmax = 33.97
2540
- text = "W"
2541
- intervals [408]:
2542
- xmin = 33.97
2543
- xmax = 34.02
2544
- text = "UH1"
2545
- intervals [409]:
2546
- xmin = 34.02
2547
- xmax = 34.11
2548
- text = "D"
2549
- intervals [410]:
2550
- xmin = 34.11
2551
- xmax = 34.16
2552
- text = "B"
2553
- intervals [411]:
2554
- xmin = 34.16
2555
- xmax = 34.29
2556
- text = "IY1"
2557
- intervals [412]:
2558
- xmin = 34.29
2559
- xmax = 34.36
2560
- text = "S"
2561
- intervals [413]:
2562
- xmin = 34.36
2563
- xmax = 34.42
2564
- text = "AH0"
2565
- intervals [414]:
2566
- xmin = 34.42
2567
- xmax = 34.53
2568
- text = "P"
2569
- intervals [415]:
2570
- xmin = 34.53
2571
- xmax = 34.63
2572
- text = "R"
2573
- intervals [416]:
2574
- xmin = 34.63
2575
- xmax = 34.91
2576
- text = "AY1"
2577
- intervals [417]:
2578
- xmin = 34.91
2579
- xmax = 35.02
2580
- text = "Z"
2581
- intervals [418]:
2582
- xmin = 35.02
2583
- xmax = 35.07
2584
- text = "D"
2585
- intervals [419]:
2586
- xmin = 35.07
2587
- xmax = 35.1
2588
- text = "T"
2589
- intervals [420]:
2590
- xmin = 35.1
2591
- xmax = 35.16
2592
- text = "IH0"
2593
- intervals [421]:
2594
- xmin = 35.16
2595
- xmax = 35.26
2596
- text = "N"
2597
- intervals [422]:
2598
- xmin = 35.26
2599
- xmax = 35.36
2600
- text = "OW1"
2601
- intervals [423]:
2602
- xmin = 35.36
2603
- xmax = 35.44
2604
- text = "DH"
2605
- intervals [424]:
2606
- xmin = 35.44
2607
- xmax = 35.47
2608
- text = "AE1"
2609
- intervals [425]:
2610
- xmin = 35.47
2611
- xmax = 35.5
2612
- text = "T"
2613
- intervals [426]:
2614
- xmin = 35.5
2615
- xmax = 35.64
2616
- text = "AY1"
2617
- intervals [427]:
2618
- xmin = 35.64
2619
- xmax = 35.7
2620
- text = "HH"
2621
- intervals [428]:
2622
- xmin = 35.7
2623
- xmax = 35.75
2624
- text = "AE1"
2625
- intervals [429]:
2626
- xmin = 35.75
2627
- xmax = 35.84
2628
- text = "V"
2629
- intervals [430]:
2630
- xmin = 35.84
2631
- xmax = 35.9
2632
- text = "T"
2633
- intervals [431]:
2634
- xmin = 35.9
2635
- xmax = 35.98
2636
- text = "R"
2637
- intervals [432]:
2638
- xmin = 35.98
2639
- xmax = 36.15
2640
- text = "AY1"
2641
- intervals [433]:
2642
- xmin = 36.15
2643
- xmax = 36.3
2644
- text = "D"
2645
- intervals [434]:
2646
- xmin = 36.3
2647
- xmax = 36.57
2648
- text = ""
2649
- intervals [435]:
2650
- xmin = 36.57
2651
- xmax = 36.92
2652
- text = "AO1"
2653
- intervals [436]:
2654
- xmin = 36.92
2655
- xmax = 36.99
2656
- text = "L"
2657
- intervals [437]:
2658
- xmin = 36.99
2659
- xmax = 37.03
2660
- text = "DH"
2661
- intervals [438]:
2662
- xmin = 37.03
2663
- xmax = 37.08
2664
- text = "AH1"
2665
- intervals [439]:
2666
- xmin = 37.08
2667
- xmax = 37.17
2668
- text = "R"
2669
- intervals [440]:
2670
- xmin = 37.17
2671
- xmax = 37.28
2672
- text = "EH1"
2673
- intervals [441]:
2674
- xmin = 37.28
2675
- xmax = 37.34
2676
- text = "S"
2677
- intervals [442]:
2678
- xmin = 37.34
2679
- xmax = 37.39
2680
- text = "T"
2681
- intervals [443]:
2682
- xmin = 37.39
2683
- xmax = 37.44
2684
- text = "R"
2685
- intervals [444]:
2686
- xmin = 37.44
2687
- xmax = 37.55
2688
- text = "AA2"
2689
- intervals [445]:
2690
- xmin = 37.55
2691
- xmax = 37.6
2692
- text = "N"
2693
- intervals [446]:
2694
- xmin = 37.6
2695
- xmax = 37.64
2696
- text = "T"
2697
- intervals [447]:
2698
- xmin = 37.64
2699
- xmax = 37.68
2700
- text = "S"
2701
- intervals [448]:
2702
- xmin = 37.68
2703
- xmax = 37.71
2704
- text = ""
2705
- intervals [449]:
2706
- xmin = 37.71
2707
- xmax = 37.77
2708
- text = "IH0"
2709
- intervals [450]:
2710
- xmin = 37.77
2711
- xmax = 37.83
2712
- text = "N"
2713
- intervals [451]:
2714
- xmin = 37.83
2715
- xmax = 37.87
2716
- text = "AA1"
2717
- intervals [452]:
2718
- xmin = 37.87
2719
- xmax = 37.95
2720
- text = "R"
2721
- intervals [453]:
2722
- xmin = 37.95
2723
- xmax = 38.12
2724
- text = "HH"
2725
- intervals [454]:
2726
- xmin = 38.12
2727
- xmax = 38.2
2728
- text = "Y"
2729
- intervals [455]:
2730
- xmin = 38.2
2731
- xmax = 38.33
2732
- text = "UW1"
2733
- intervals [456]:
2734
- xmin = 38.33
2735
- xmax = 38.5
2736
- text = "JH"
2737
- intervals [457]:
2738
- xmin = 38.5
2739
- xmax = 38.53
2740
- text = "K"
2741
- intervals [458]:
2742
- xmin = 38.53
2743
- xmax = 38.59
2744
- text = "AH0"
2745
- intervals [459]:
2746
- xmin = 38.59
2747
- xmax = 38.64
2748
- text = "M"
2749
- intervals [460]:
2750
- xmin = 38.64
2751
- xmax = 38.67
2752
- text = "Y"
2753
- intervals [461]:
2754
- xmin = 38.67
2755
- xmax = 38.7
2756
- text = "UW1"
2757
- intervals [462]:
2758
- xmin = 38.7
2759
- xmax = 38.76
2760
- text = "N"
2761
- intervals [463]:
2762
- xmin = 38.76
2763
- xmax = 38.79
2764
- text = "AH0"
2765
- intervals [464]:
2766
- xmin = 38.79
2767
- xmax = 38.82
2768
- text = "T"
2769
- intervals [465]:
2770
- xmin = 38.82
2771
- xmax = 39.07
2772
- text = "IY0"
2773
- intervals [466]:
2774
- xmin = 39.07
2775
- xmax = 39.23
2776
- text = ""
2777
- intervals [467]:
2778
- xmin = 39.23
2779
- xmax = 39.6
2780
- text = "AY1"
2781
- intervals [468]:
2782
- xmin = 39.6
2783
- xmax = 39.81
2784
- text = "AE1"
2785
- intervals [469]:
2786
- xmin = 39.81
2787
- xmax = 39.86
2788
- text = "K"
2789
- intervals [470]:
2790
- xmin = 39.86
2791
- xmax = 39.93
2792
- text = "SH"
2793
- intervals [471]:
2794
- xmin = 39.93
2795
- xmax = 39.97
2796
- text = "AH0"
2797
- intervals [472]:
2798
- xmin = 39.97
2799
- xmax = 40.0
2800
- text = "L"
2801
- intervals [473]:
2802
- xmin = 40.0
2803
- xmax = 40.09
2804
- text = "IY0"
2805
- intervals [474]:
2806
- xmin = 40.09
2807
- xmax = 40.17
2808
- text = "G"
2809
- intervals [475]:
2810
- xmin = 40.17
2811
- xmax = 40.26
2812
- text = "IH1"
2813
- intervals [476]:
2814
- xmin = 40.26
2815
- xmax = 40.32
2816
- text = "V"
2817
- intervals [477]:
2818
- xmin = 40.32
2819
- xmax = 40.5
2820
- text = "IY1"
2821
- intervals [478]:
2822
- xmin = 40.5
2823
- xmax = 40.61
2824
- text = "CH"
2825
- intervals [479]:
2826
- xmin = 40.61
2827
- xmax = 40.7
2828
- text = "R"
2829
- intervals [480]:
2830
- xmin = 40.7
2831
- xmax = 40.78
2832
- text = "EH1"
2833
- intervals [481]:
2834
- xmin = 40.78
2835
- xmax = 40.83
2836
- text = "S"
2837
- intervals [482]:
2838
- xmin = 40.83
2839
- xmax = 40.9
2840
- text = "T"
2841
- intervals [483]:
2842
- xmin = 40.9
2843
- xmax = 40.94
2844
- text = "R"
2845
- intervals [484]:
2846
- xmin = 40.94
2847
- xmax = 41.02
2848
- text = "AA2"
2849
- intervals [485]:
2850
- xmin = 41.02
2851
- xmax = 41.05
2852
- text = "N"
2853
- intervals [486]:
2854
- xmin = 41.05
2855
- xmax = 41.08
2856
- text = "T"
2857
- intervals [487]:
2858
- xmin = 41.08
2859
- xmax = 41.15
2860
- text = "AH0"
2861
- intervals [488]:
2862
- xmin = 41.15
2863
- xmax = 41.29
2864
- text = "S"
2865
- intervals [489]:
2866
- xmin = 41.29
2867
- xmax = 41.33
2868
- text = "K"
2869
- intervals [490]:
2870
- xmin = 41.33
2871
- xmax = 41.44
2872
- text = "AO1"
2873
- intervals [491]:
2874
- xmin = 41.44
2875
- xmax = 41.55
2876
- text = "R"
2877
- intervals [492]:
2878
- xmin = 41.55
2879
- xmax = 41.61
2880
- text = "B"
2881
- intervals [493]:
2882
- xmin = 41.61
2883
- xmax = 41.73
2884
- text = "EY1"
2885
- intervals [494]:
2886
- xmin = 41.73
2887
- xmax = 41.77
2888
- text = "S"
2889
- intervals [495]:
2890
- xmin = 41.77
2891
- xmax = 41.82
2892
- text = "T"
2893
- intervals [496]:
2894
- xmin = 41.82
2895
- xmax = 41.85
2896
- text = "AA1"
2897
- intervals [497]:
2898
- xmin = 41.85
2899
- xmax = 41.89
2900
- text = "N"
2901
- intervals [498]:
2902
- xmin = 41.89
2903
- xmax = 41.98
2904
- text = "HH"
2905
- intervals [499]:
2906
- xmin = 41.98
2907
- xmax = 42.05
2908
- text = "AW1"
2909
- intervals [500]:
2910
- xmin = 42.05
2911
- xmax = 42.11
2912
- text = "G"
2913
- intervals [501]:
2914
- xmin = 42.11
2915
- xmax = 42.14
2916
- text = "IH0"
2917
- intervals [502]:
2918
- xmin = 42.14
2919
- xmax = 42.17
2920
- text = "D"
2921
- intervals [503]:
2922
- xmin = 42.17
2923
- xmax = 42.2
2924
- text = "DH"
2925
- intervals [504]:
2926
- xmin = 42.2
2927
- xmax = 42.23
2928
- text = "IY0"
2929
- intervals [505]:
2930
- xmin = 42.23
2931
- xmax = 42.35
2932
- text = "F"
2933
- intervals [506]:
2934
- xmin = 42.35
2935
- xmax = 42.48
2936
- text = "UW1"
2937
- intervals [507]:
2938
- xmin = 42.48
2939
- xmax = 42.51
2940
- text = "D"
2941
- intervals [508]:
2942
- xmin = 42.51
2943
- xmax = 42.71
2944
- text = "IH1"
2945
- intervals [509]:
2946
- xmin = 42.71
2947
- xmax = 42.85
2948
- text = "Z"
2949
- intervals [510]:
2950
- xmin = 42.85
2951
- xmax = 43.13
2952
- text = ""
2953
- intervals [511]:
2954
- xmin = 43.13
2955
- xmax = 43.28
2956
- text = "HH"
2957
- intervals [512]:
2958
- xmin = 43.28
2959
- xmax = 43.36
2960
- text = "AW1"
2961
- intervals [513]:
2962
- xmin = 43.36
2963
- xmax = 43.43
2964
- text = "G"
2965
- intervals [514]:
2966
- xmin = 43.43
2967
- xmax = 43.46
2968
- text = "IH0"
2969
- intervals [515]:
2970
- xmin = 43.46
2971
- xmax = 43.51
2972
- text = "D"
2973
- intervals [516]:
2974
- xmin = 43.51
2975
- xmax = 43.56
2976
- text = "DH"
2977
- intervals [517]:
2978
- xmin = 43.56
2979
- xmax = 43.62
2980
- text = "IY0"
2981
- intervals [518]:
2982
- xmin = 43.62
2983
- xmax = 43.65
2984
- text = "IH0"
2985
- intervals [519]:
2986
- xmin = 43.65
2987
- xmax = 43.69
2988
- text = "N"
2989
- intervals [520]:
2990
- xmin = 43.69
2991
- xmax = 43.78
2992
- text = "V"
2993
- intervals [521]:
2994
- xmin = 43.78
2995
- xmax = 43.89
2996
- text = "AY1"
2997
- intervals [522]:
2998
- xmin = 43.89
2999
- xmax = 43.92
3000
- text = "R"
3001
- intervals [523]:
3002
- xmin = 43.92
3003
- xmax = 43.95
3004
- text = "AH0"
3005
- intervals [524]:
3006
- xmin = 43.95
3007
- xmax = 43.98
3008
- text = "N"
3009
- intervals [525]:
3010
- xmin = 43.98
3011
- xmax = 44.01
3012
- text = "M"
3013
- intervals [526]:
3014
- xmin = 44.01
3015
- xmax = 44.04
3016
- text = "AH0"
3017
- intervals [527]:
3018
- xmin = 44.04
3019
- xmax = 44.07
3020
- text = "N"
3021
- intervals [528]:
3022
- xmin = 44.07
3023
- xmax = 44.1
3024
- text = "T"
3025
- intervals [529]:
3026
- xmin = 44.1
3027
- xmax = 44.25
3028
- text = "IH1"
3029
- intervals [530]:
3030
- xmin = 44.25
3031
- xmax = 44.4
3032
- text = "Z"
3033
- intervals [531]:
3034
- xmin = 44.4
3035
- xmax = 44.49
3036
- text = ""
3037
- intervals [532]:
3038
- xmin = 44.49
3039
- xmax = 44.79
3040
- text = "AE1"
3041
- intervals [533]:
3042
- xmin = 44.79
3043
- xmax = 44.9
3044
- text = "N"
3045
- intervals [534]:
3046
- xmin = 44.9
3047
- xmax = 44.98
3048
- text = "D"
3049
- intervals [535]:
3050
- xmin = 44.98
3051
- xmax = 45.26
3052
- text = "AE1"
3053
- intervals [536]:
3054
- xmin = 45.26
3055
- xmax = 45.34
3056
- text = "T"
3057
- intervals [537]:
3058
- xmin = 45.34
3059
- xmax = 45.39
3060
- text = "DH"
3061
- intervals [538]:
3062
- xmin = 45.39
3063
- xmax = 45.62
3064
- text = "AH1"
3065
- intervals [539]:
3066
- xmin = 45.62
3067
- xmax = 45.75
3068
- text = "S"
3069
- intervals [540]:
3070
- xmin = 45.75
3071
- xmax = 45.87
3072
- text = "EY1"
3073
- intervals [541]:
3074
- xmin = 45.87
3075
- xmax = 45.91
3076
- text = "M"
3077
- intervals [542]:
3078
- xmin = 45.91
3079
- xmax = 46.01
3080
- text = "T"
3081
- intervals [543]:
3082
- xmin = 46.01
3083
- xmax = 46.19
3084
- text = "AY1"
3085
- intervals [544]:
3086
- xmin = 46.19
3087
- xmax = 46.29
3088
- text = "M"
3089
- intervals [545]:
3090
- xmin = 46.29
3091
- xmax = 46.42
3092
- text = "AY1"
3093
- intervals [546]:
3094
- xmin = 46.42
3095
- xmax = 46.45
3096
- text = "W"
3097
- intervals [547]:
3098
- xmin = 46.45
3099
- xmax = 46.48
3100
- text = "AH0"
3101
- intervals [548]:
3102
- xmin = 46.48
3103
- xmax = 46.54
3104
- text = "L"
3105
- intervals [549]:
3106
- xmin = 46.54
3107
- xmax = 46.62
3108
- text = "R"
3109
- intervals [550]:
3110
- xmin = 46.62
3111
- xmax = 46.69
3112
- text = "AY1"
3113
- intervals [551]:
3114
- xmin = 46.69
3115
- xmax = 46.74
3116
- text = "T"
3117
- intervals [552]:
3118
- xmin = 46.74
3119
- xmax = 46.82
3120
- text = "D"
3121
- intervals [553]:
3122
- xmin = 46.82
3123
- xmax = 46.91
3124
- text = "AW1"
3125
- intervals [554]:
3126
- xmin = 46.91
3127
- xmax = 46.94
3128
- text = "N"
3129
- intervals [555]:
3130
- xmin = 46.94
3131
- xmax = 46.97
3132
- text = "DH"
3133
- intervals [556]:
3134
- xmin = 46.97
3135
- xmax = 47.02
3136
- text = "AH1"
3137
- intervals [557]:
3138
- xmin = 47.02
3139
- xmax = 47.1
3140
- text = "T"
3141
- intervals [558]:
3142
- xmin = 47.1
3143
- xmax = 47.19
3144
- text = "AY1"
3145
- intervals [559]:
3146
- xmin = 47.19
3147
- xmax = 47.24
3148
- text = "P"
3149
- intervals [560]:
3150
- xmin = 47.24
3151
- xmax = 47.29
3152
- text = "AH0"
3153
- intervals [561]:
3154
- xmin = 47.29
3155
- xmax = 47.39
3156
- text = "V"
3157
- intervals [562]:
3158
- xmin = 47.39
3159
- xmax = 47.45
3160
- text = "F"
3161
- intervals [563]:
3162
- xmin = 47.45
3163
- xmax = 47.64
3164
- text = "UW1"
3165
- intervals [564]:
3166
- xmin = 47.64
3167
- xmax = 47.8
3168
- text = "D"
3169
- intervals [565]:
3170
- xmin = 47.8
3171
- xmax = 48.03
3172
- text = ""
3173
- intervals [566]:
3174
- xmin = 48.03
3175
- xmax = 48.1
3176
- text = "DH"
3177
- intervals [567]:
3178
- xmin = 48.1
3179
- xmax = 48.24
3180
- text = "EY1"
3181
- intervals [568]:
3182
- xmin = 48.24
3183
- xmax = 48.37
3184
- text = "S"
3185
- intervals [569]:
3186
- xmin = 48.37
3187
- xmax = 48.58
3188
- text = "ER1"
3189
- intervals [570]:
3190
- xmin = 48.58
3191
- xmax = 48.76
3192
- text = "V"
3193
- intervals [571]:
3194
- xmin = 48.76
3195
- xmax = 49.42
3196
- text = ""
3197
- intervals [572]:
3198
- xmin = 49.42
3199
- xmax = 49.61
3200
- text = "S"
3201
- intervals [573]:
3202
- xmin = 49.61
3203
- xmax = 49.9
3204
- text = "OW1"
3205
- intervals [574]:
3206
- xmin = 49.9
3207
- xmax = 50.09
3208
- text = "W"
3209
- intervals [575]:
3210
- xmin = 50.09
3211
- xmax = 50.22
3212
- text = "EH1"
3213
- intervals [576]:
3214
- xmin = 50.22
3215
- xmax = 50.46
3216
- text = "N"
3217
- intervals [577]:
3218
- xmin = 50.46
3219
- xmax = 50.49
3220
- text = ""
3221
- intervals [578]:
3222
- xmin = 50.49
3223
- xmax = 50.58
3224
- text = "Y"
3225
- intervals [579]:
3226
- xmin = 50.58
3227
- xmax = 50.67
3228
- text = "UW1"
3229
- intervals [580]:
3230
- xmin = 50.67
3231
- xmax = 50.85
3232
- text = "R"
3233
- intervals [581]:
3234
- xmin = 50.85
3235
- xmax = 50.94
3236
- text = "S"
3237
- intervals [582]:
3238
- xmin = 50.94
3239
- xmax = 50.98
3240
- text = "OW1"
3241
- intervals [583]:
3242
- xmin = 50.98
3243
- xmax = 51.03
3244
- text = "W"
3245
- intervals [584]:
3246
- xmin = 51.03
3247
- xmax = 51.06
3248
- text = "EH1"
3249
- intervals [585]:
3250
- xmin = 51.06
3251
- xmax = 51.13
3252
- text = "N"
3253
- intervals [586]:
3254
- xmin = 51.13
3255
- xmax = 51.24
3256
- text = "IY1"
3257
- intervals [587]:
3258
- xmin = 51.24
3259
- xmax = 51.35
3260
- text = "CH"
3261
- intervals [588]:
3262
- xmin = 51.35
3263
- xmax = 51.41
3264
- text = "T"
3265
- intervals [589]:
3266
- xmin = 51.41
3267
- xmax = 51.49
3268
- text = "AY1"
3269
- intervals [590]:
3270
- xmin = 51.49
3271
- xmax = 51.55
3272
- text = "M"
3273
- intervals [591]:
3274
- xmin = 51.55
3275
- xmax = 51.62
3276
- text = "AH0"
3277
- intervals [592]:
3278
- xmin = 51.62
3279
- xmax = 51.69
3280
- text = "F"
3281
- intervals [593]:
3282
- xmin = 51.69
3283
- xmax = 51.74
3284
- text = "R"
3285
- intervals [594]:
3286
- xmin = 51.74
3287
- xmax = 51.8
3288
- text = "EH1"
3289
- intervals [595]:
3290
- xmin = 51.8
3291
- xmax = 51.85
3292
- text = "N"
3293
- intervals [596]:
3294
- xmin = 51.85
3295
- xmax = 51.91
3296
- text = "D"
3297
- intervals [597]:
3298
- xmin = 51.91
3299
- xmax = 51.98
3300
- text = "K"
3301
- intervals [598]:
3302
- xmin = 51.98
3303
- xmax = 52.03
3304
- text = "AH1"
3305
- intervals [599]:
3306
- xmin = 52.03
3307
- xmax = 52.14
3308
- text = "M"
3309
- intervals [600]:
3310
- xmin = 52.14
3311
- xmax = 52.32
3312
- text = "Z"
3313
- intervals [601]:
3314
- xmin = 52.32
3315
- xmax = 52.37
3316
- text = "T"
3317
- intervals [602]:
3318
- xmin = 52.37
3319
- xmax = 52.46
3320
- text = "UW1"
3321
- intervals [603]:
3322
- xmin = 52.46
3323
- xmax = 52.53
3324
- text = "DH"
3325
- intervals [604]:
3326
- xmin = 52.53
3327
- xmax = 52.59
3328
- text = "AH0"
3329
- intervals [605]:
3330
- xmin = 52.59
3331
- xmax = 52.68
3332
- text = "S"
3333
- intervals [606]:
3334
- xmin = 52.68
3335
- xmax = 52.74
3336
- text = "IH1"
3337
- intervals [607]:
3338
- xmin = 52.74
3339
- xmax = 52.77
3340
- text = "T"
3341
- intervals [608]:
3342
- xmin = 52.77
3343
- xmax = 52.9
3344
- text = "IY0"
3345
- intervals [609]:
3346
- xmin = 52.9
3347
- xmax = 52.97
3348
- text = "T"
3349
- intervals [610]:
3350
- xmin = 52.97
3351
- xmax = 53.07
3352
- text = "UW1"
3353
- intervals [611]:
3354
- xmin = 53.07
3355
- xmax = 53.12
3356
- text = "IH0"
3357
- intervals [612]:
3358
- xmin = 53.12
3359
- xmax = 53.17
3360
- text = "N"
3361
- intervals [613]:
3362
- xmin = 53.17
3363
- xmax = 53.26
3364
- text = "JH"
3365
- intervals [614]:
3366
- xmin = 53.26
3367
- xmax = 53.35
3368
- text = "OY1"
3369
- intervals [615]:
3370
- xmin = 53.35
3371
- xmax = 53.46
3372
- text = "T"
3373
- intervals [616]:
3374
- xmin = 53.46
3375
- xmax = 53.59
3376
- text = "AY1"
3377
- intervals [617]:
3378
- xmin = 53.59
3379
- xmax = 53.62
3380
- text = "M"
3381
- intervals [618]:
3382
- xmin = 53.62
3383
- xmax = 53.65
3384
- text = "W"
3385
- intervals [619]:
3386
- xmin = 53.65
3387
- xmax = 53.7
3388
- text = "IH1"
3389
- intervals [620]:
3390
- xmin = 53.7
3391
- xmax = 53.74
3392
- text = "DH"
3393
- intervals [621]:
3394
- xmin = 53.74
3395
- xmax = 53.81
3396
- text = "M"
3397
- intervals [622]:
3398
- xmin = 53.81
3399
- xmax = 54.02
3400
- text = "IY1"
3401
- intervals [623]:
3402
- xmin = 54.02
3403
- xmax = 54.31
3404
- text = ""
3405
- intervals [624]:
3406
- xmin = 54.31
3407
- xmax = 54.54
3408
- text = "AY1"
3409
- intervals [625]:
3410
- xmin = 54.54
3411
- xmax = 54.6
3412
- text = "W"
3413
- intervals [626]:
3414
- xmin = 54.6
3415
- xmax = 54.66
3416
- text = "AH0"
3417
- intervals [627]:
3418
- xmin = 54.66
3419
- xmax = 54.69
3420
- text = "L"
3421
- intervals [628]:
3422
- xmin = 54.69
3423
- xmax = 54.77
3424
- text = "G"
3425
- intervals [629]:
3426
- xmin = 54.77
3427
- xmax = 54.81
3428
- text = "IH1"
3429
- intervals [630]:
3430
- xmin = 54.81
3431
- xmax = 54.84
3432
- text = "V"
3433
- intervals [631]:
3434
- xmin = 54.84
3435
- xmax = 54.87
3436
- text = "DH"
3437
- intervals [632]:
3438
- xmin = 54.87
3439
- xmax = 54.94
3440
- text = "AH0"
3441
- intervals [633]:
3442
- xmin = 54.94
3443
- xmax = 54.97
3444
- text = "M"
3445
- intervals [634]:
3446
- xmin = 54.97
3447
- xmax = 55.0
3448
- text = "DH"
3449
- intervals [635]:
3450
- xmin = 55.0
3451
- xmax = 55.07
3452
- text = "AH0"
3453
- intervals [636]:
3454
- xmin = 55.07
3455
- xmax = 55.17
3456
- text = "T"
3457
- intervals [637]:
3458
- xmin = 55.17
3459
- xmax = 55.27
3460
- text = "AA1"
3461
- intervals [638]:
3462
- xmin = 55.27
3463
- xmax = 55.38
3464
- text = "P"
3465
- intervals [639]:
3466
- xmin = 55.38
3467
- xmax = 55.53
3468
- text = "spn"
3469
- intervals [640]:
3470
- xmin = 55.53
3471
- xmax = 55.62
3472
- text = "R"
3473
- intervals [641]:
3474
- xmin = 55.62
3475
- xmax = 55.7
3476
- text = "EH1"
3477
- intervals [642]:
3478
- xmin = 55.7
3479
- xmax = 55.76
3480
- text = "S"
3481
- intervals [643]:
3482
- xmin = 55.76
3483
- xmax = 55.83
3484
- text = "T"
3485
- intervals [644]:
3486
- xmin = 55.83
3487
- xmax = 55.86
3488
- text = "R"
3489
- intervals [645]:
3490
- xmin = 55.86
3491
- xmax = 55.97
3492
- text = "AA2"
3493
- intervals [646]:
3494
- xmin = 55.97
3495
- xmax = 56.01
3496
- text = "N"
3497
- intervals [647]:
3498
- xmin = 56.01
3499
- xmax = 56.04
3500
- text = "T"
3501
- intervals [648]:
3502
- xmin = 56.04
3503
- xmax = 56.1
3504
- text = "S"
3505
- intervals [649]:
3506
- xmin = 56.1
3507
- xmax = 56.17
3508
- text = "B"
3509
- intervals [650]:
3510
- xmin = 56.17
3511
- xmax = 56.32
3512
- text = "EY1"
3513
- intervals [651]:
3514
- xmin = 56.32
3515
- xmax = 56.37
3516
- text = "S"
3517
- intervals [652]:
3518
- xmin = 56.37
3519
- xmax = 56.44
3520
- text = "T"
3521
- intervals [653]:
3522
- xmin = 56.44
3523
- xmax = 56.64
3524
- text = "AA1"
3525
- intervals [654]:
3526
- xmin = 56.64
3527
- xmax = 56.68
3528
- text = "N"
3529
- intervals [655]:
3530
- xmin = 56.68
3531
- xmax = 56.72
3532
- text = "DH"
3533
- intervals [656]:
3534
- xmin = 56.72
3535
- xmax = 56.9
3536
- text = "IH0"
3537
- intervals [657]:
3538
- xmin = 56.9
3539
- xmax = 56.99
3540
- text = "S"
3541
- intervals [658]:
3542
- xmin = 56.99
3543
- xmax = 57.05
3544
- text = "R"
3545
- intervals [659]:
3546
- xmin = 57.05
3547
- xmax = 57.11
3548
- text = "AE1"
3549
- intervals [660]:
3550
- xmin = 57.11
3551
- xmax = 57.16
3552
- text = "NG"
3553
- intervals [661]:
3554
- xmin = 57.16
3555
- xmax = 57.22
3556
- text = "K"
3557
- intervals [662]:
3558
- xmin = 57.22
3559
- xmax = 57.29
3560
- text = "IH0"
3561
- intervals [663]:
3562
- xmin = 57.29
3563
- xmax = 57.35
3564
- text = "NG"
3565
- intervals [664]:
3566
- xmin = 57.35
3567
- xmax = 57.4
3568
- text = "AH0"
3569
- intervals [665]:
3570
- xmin = 57.4
3571
- xmax = 57.43
3572
- text = "N"
3573
- intervals [666]:
3574
- xmin = 57.43
3575
- xmax = 57.53
3576
- text = "D"
3577
- intervals [667]:
3578
- xmin = 57.53
3579
- xmax = 57.7
3580
- text = "EH1"
3581
- intervals [668]:
3582
- xmin = 57.7
3583
- xmax = 57.76
3584
- text = "V"
3585
- intervals [669]:
3586
- xmin = 57.76
3587
- xmax = 57.82
3588
- text = "R"
3589
- intervals [670]:
3590
- xmin = 57.82
3591
- xmax = 57.86
3592
- text = "IY0"
3593
- intervals [671]:
3594
- xmin = 57.86
3595
- xmax = 57.95
3596
- text = "T"
3597
- intervals [672]:
3598
- xmin = 57.95
3599
- xmax = 58.19
3600
- text = "AY1"
3601
- intervals [673]:
3602
- xmin = 58.19
3603
- xmax = 58.44
3604
- text = "M"
3605
- intervals [674]:
3606
- xmin = 58.44
3607
- xmax = 59.02
3608
- text = ""
3609
- intervals [675]:
3610
- xmin = 59.02
3611
- xmax = 59.12
3612
- text = "Y"
3613
- intervals [676]:
3614
- xmin = 59.12
3615
- xmax = 59.15
3616
- text = "UH1"
3617
- intervals [677]:
3618
- xmin = 59.15
3619
- xmax = 59.2
3620
- text = "R"
3621
- intervals [678]:
3622
- xmin = 59.2
3623
- xmax = 59.32
3624
- text = "S"
3625
- intervals [679]:
3626
- xmin = 59.32
3627
- xmax = 59.41
3628
- text = "AE1"
3629
- intervals [680]:
3630
- xmin = 59.41
3631
- xmax = 59.44
3632
- text = "T"
3633
- intervals [681]:
3634
- xmin = 59.44
3635
- xmax = 59.49
3636
- text = "AH0"
3637
- intervals [682]:
3638
- xmin = 59.49
3639
- xmax = 59.55
3640
- text = "S"
3641
- intervals [683]:
3642
- xmin = 59.55
3643
- xmax = 59.62
3644
- text = "F"
3645
- intervals [684]:
3646
- xmin = 59.62
3647
- xmax = 59.69
3648
- text = "AY2"
3649
- intervals [685]:
3650
- xmin = 59.69
3651
- xmax = 59.72
3652
- text = "D"
3653
- intervals [686]:
3654
- xmin = 59.72
3655
- xmax = 59.77
3656
- text = "W"
3657
- intervals [687]:
3658
- xmin = 59.77
3659
- xmax = 59.82
3660
- text = "IH0"
3661
- intervals [688]:
3662
- xmin = 59.82
3663
- xmax = 59.85
3664
- text = "DH"
3665
- intervals [689]:
3666
- xmin = 59.85
3667
- xmax = 59.88
3668
- text = "DH"
3669
- intervals [690]:
3670
- xmin = 59.88
3671
- xmax = 60.0
3672
- text = "IY1"
3673
- intervals [691]:
3674
- xmin = 60.0
3675
- xmax = 60.1
3676
- text = "Z"
3677
- intervals [692]:
3678
- xmin = 60.1
3679
- xmax = 60.15
3680
- text = "R"
3681
- intervals [693]:
3682
- xmin = 60.15
3683
- xmax = 60.23
3684
- text = "EH1"
3685
- intervals [694]:
3686
- xmin = 60.23
3687
- xmax = 60.28
3688
- text = "S"
3689
- intervals [695]:
3690
- xmin = 60.28
3691
- xmax = 60.34
3692
- text = "T"
3693
- intervals [696]:
3694
- xmin = 60.34
3695
- xmax = 60.4
3696
- text = "R"
3697
- intervals [697]:
3698
- xmin = 60.4
3699
- xmax = 60.52
3700
- text = "AA2"
3701
- intervals [698]:
3702
- xmin = 60.52
3703
- xmax = 60.57
3704
- text = "N"
3705
- intervals [699]:
3706
- xmin = 60.57
3707
- xmax = 60.62
3708
- text = "T"
3709
- intervals [700]:
3710
- xmin = 60.62
3711
- xmax = 60.81
3712
- text = "S"
3713
- intervals [701]:
3714
- xmin = 60.81
3715
- xmax = 62
3716
- text = ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EMAGE/test_sequences/textgrid/2_scott_0_3_3.TextGrid DELETED
@@ -1,3676 +0,0 @@
1
- File type = "ooTextFile"
2
- Object class = "TextGrid"
3
-
4
- xmin = 0.0
5
- xmax = 68
6
- tiers? <exists>
7
- size = 2
8
- item []:
9
- item [1]:
10
- class = "IntervalTier"
11
- name = "words"
12
- xmin = 0.0
13
- xmax = 68
14
- intervals: size = 213
15
- intervals [1]:
16
- xmin = 0.0
17
- xmax = 1.47
18
- text = ""
19
- intervals [2]:
20
- xmin = 1.47
21
- xmax = 2.36
22
- text = "well"
23
- intervals [3]:
24
- xmin = 2.36
25
- xmax = 2.56
26
- text = ""
27
- intervals [4]:
28
- xmin = 2.56
29
- xmax = 3.05
30
- text = "in"
31
- intervals [5]:
32
- xmin = 3.05
33
- xmax = 3.43
34
- text = "my"
35
- intervals [6]:
36
- xmin = 3.43
37
- xmax = 4.29
38
- text = "opinion"
39
- intervals [7]:
40
- xmin = 4.29
41
- xmax = 4.43
42
- text = "i"
43
- intervals [8]:
44
- xmin = 4.43
45
- xmax = 4.7
46
- text = "think"
47
- intervals [9]:
48
- xmin = 4.7
49
- xmax = 4.77
50
- text = "the"
51
- intervals [10]:
52
- xmin = 4.77
53
- xmax = 5.06
54
- text = "best"
55
- intervals [11]:
56
- xmin = 5.06
57
- xmax = 5.31
58
- text = "job"
59
- intervals [12]:
60
- xmin = 5.31
61
- xmax = 5.41
62
- text = "for"
63
- intervals [13]:
64
- xmin = 5.41
65
- xmax = 5.62
66
- text = "me"
67
- intervals [14]:
68
- xmin = 5.62
69
- xmax = 5.76
70
- text = "is"
71
- intervals [15]:
72
- xmin = 5.76
73
- xmax = 5.84
74
- text = "to"
75
- intervals [16]:
76
- xmin = 5.84
77
- xmax = 6.11
78
- text = "become"
79
- intervals [17]:
80
- xmin = 6.11
81
- xmax = 6.2
82
- text = "a"
83
- intervals [18]:
84
- xmin = 6.2
85
- xmax = 6.93
86
- text = "journalist"
87
- intervals [19]:
88
- xmin = 6.93
89
- xmax = 7.3
90
- text = "cuz"
91
- intervals [20]:
92
- xmin = 7.3
93
- xmax = 7.53
94
- text = "this"
95
- intervals [21]:
96
- xmin = 7.53
97
- xmax = 7.63
98
- text = "is"
99
- intervals [22]:
100
- xmin = 7.63
101
- xmax = 7.79
102
- text = "my"
103
- intervals [23]:
104
- xmin = 7.79
105
- xmax = 8.14
106
- text = "dream"
107
- intervals [24]:
108
- xmin = 8.14
109
- xmax = 8.53
110
- text = "job"
111
- intervals [25]:
112
- xmin = 8.53
113
- xmax = 8.71
114
- text = "i've"
115
- intervals [26]:
116
- xmin = 8.71
117
- xmax = 9.13
118
- text = "always"
119
- intervals [27]:
120
- xmin = 9.13
121
- xmax = 9.53
122
- text = "wanted"
123
- intervals [28]:
124
- xmin = 9.53
125
- xmax = 9.6
126
- text = "to"
127
- intervals [29]:
128
- xmin = 9.6
129
- xmax = 9.77
130
- text = "be"
131
- intervals [30]:
132
- xmin = 9.77
133
- xmax = 9.84
134
- text = "a"
135
- intervals [31]:
136
- xmin = 9.84
137
- xmax = 10.29
138
- text = "journalist"
139
- intervals [32]:
140
- xmin = 10.29
141
- xmax = 10.48
142
- text = "since"
143
- intervals [33]:
144
- xmin = 10.48
145
- xmax = 10.54
146
- text = "i"
147
- intervals [34]:
148
- xmin = 10.54
149
- xmax = 10.71
150
- text = "was"
151
- intervals [35]:
152
- xmin = 10.71
153
- xmax = 10.78
154
- text = "in"
155
- intervals [36]:
156
- xmin = 10.78
157
- xmax = 11.01
158
- text = "middle"
159
- intervals [37]:
160
- xmin = 11.01
161
- xmax = 11.4
162
- text = "school"
163
- intervals [38]:
164
- xmin = 11.4
165
- xmax = 11.96
166
- text = ""
167
- intervals [39]:
168
- xmin = 11.96
169
- xmax = 12.92
170
- text = "journalists"
171
- intervals [40]:
172
- xmin = 12.92
173
- xmax = 13.73
174
- text = "never"
175
- intervals [41]:
176
- xmin = 13.73
177
- xmax = 13.81
178
- text = ""
179
- intervals [42]:
180
- xmin = 13.81
181
- xmax = 14.38
182
- text = "tell"
183
- intervals [43]:
184
- xmin = 14.38
185
- xmax = 15.08
186
- text = "lies"
187
- intervals [44]:
188
- xmin = 15.08
189
- xmax = 15.19
190
- text = "and"
191
- intervals [45]:
192
- xmin = 15.19
193
- xmax = 15.38
194
- text = "are"
195
- intervals [46]:
196
- xmin = 15.38
197
- xmax = 15.75
198
- text = "always"
199
- intervals [47]:
200
- xmin = 15.75
201
- xmax = 16.07
202
- text = "seeking"
203
- intervals [48]:
204
- xmin = 16.07
205
- xmax = 16.17
206
- text = "the"
207
- intervals [49]:
208
- xmin = 16.17
209
- xmax = 16.69
210
- text = "truth"
211
- intervals [50]:
212
- xmin = 16.69
213
- xmax = 16.85
214
- text = ""
215
- intervals [51]:
216
- xmin = 16.85
217
- xmax = 17.09
218
- text = "i"
219
- intervals [52]:
220
- xmin = 17.09
221
- xmax = 17.27
222
- text = "want"
223
- intervals [53]:
224
- xmin = 17.27
225
- xmax = 17.33
226
- text = "to"
227
- intervals [54]:
228
- xmin = 17.33
229
- xmax = 17.45
230
- text = "be"
231
- intervals [55]:
232
- xmin = 17.45
233
- xmax = 17.73
234
- text = "just"
235
- intervals [56]:
236
- xmin = 17.73
237
- xmax = 18.0
238
- text = "like"
239
- intervals [57]:
240
- xmin = 18.0
241
- xmax = 18.36
242
- text = "that"
243
- intervals [58]:
244
- xmin = 18.36
245
- xmax = 18.73
246
- text = ""
247
- intervals [59]:
248
- xmin = 18.73
249
- xmax = 19.54
250
- text = "i"
251
- intervals [60]:
252
- xmin = 19.54
253
- xmax = 19.71
254
- text = ""
255
- intervals [61]:
256
- xmin = 19.71
257
- xmax = 20.27
258
- text = "usually"
259
- intervals [62]:
260
- xmin = 20.27
261
- xmax = 20.52
262
- text = "feel"
263
- intervals [63]:
264
- xmin = 20.52
265
- xmax = 20.96
266
- text = "shy"
267
- intervals [64]:
268
- xmin = 20.96
269
- xmax = 21.14
270
- text = "when"
271
- intervals [65]:
272
- xmin = 21.14
273
- xmax = 21.26
274
- text = "i"
275
- intervals [66]:
276
- xmin = 21.26
277
- xmax = 21.38
278
- text = "am"
279
- intervals [67]:
280
- xmin = 21.38
281
- xmax = 21.75
282
- text = "talking"
283
- intervals [68]:
284
- xmin = 21.75
285
- xmax = 21.86
286
- text = "to"
287
- intervals [69]:
288
- xmin = 21.86
289
- xmax = 22.22
290
- text = "others"
291
- intervals [70]:
292
- xmin = 22.22
293
- xmax = 22.37
294
- text = "and"
295
- intervals [71]:
296
- xmin = 22.37
297
- xmax = 22.46
298
- text = "i"
299
- intervals [72]:
300
- xmin = 22.46
301
- xmax = 22.8
302
- text = "know"
303
- intervals [73]:
304
- xmin = 22.8
305
- xmax = 23.1
306
- text = "that"
307
- intervals [74]:
308
- xmin = 23.1
309
- xmax = 23.79
310
- text = "journalists"
311
- intervals [75]:
312
- xmin = 23.79
313
- xmax = 23.99
314
- text = "are"
315
- intervals [76]:
316
- xmin = 23.99
317
- xmax = 24.73
318
- text = "very"
319
- intervals [77]:
320
- xmin = 24.73
321
- xmax = 25.29
322
- text = "good"
323
- intervals [78]:
324
- xmin = 25.29
325
- xmax = 25.44
326
- text = ""
327
- intervals [79]:
328
- xmin = 25.44
329
- xmax = 25.7
330
- text = "at"
331
- intervals [80]:
332
- xmin = 25.7
333
- xmax = 26.41
334
- text = "communicating"
335
- intervals [81]:
336
- xmin = 26.41
337
- xmax = 26.94
338
- text = "because"
339
- intervals [82]:
340
- xmin = 26.94
341
- xmax = 26.98
342
- text = ""
343
- intervals [83]:
344
- xmin = 26.98
345
- xmax = 27.2
346
- text = "good"
347
- intervals [84]:
348
- xmin = 27.2
349
- xmax = 27.95
350
- text = "communication"
351
- intervals [85]:
352
- xmin = 27.95
353
- xmax = 28.36
354
- text = "skills"
355
- intervals [86]:
356
- xmin = 28.36
357
- xmax = 28.51
358
- text = "are"
359
- intervals [87]:
360
- xmin = 28.51
361
- xmax = 28.75
362
- text = "very"
363
- intervals [88]:
364
- xmin = 28.75
365
- xmax = 29.22
366
- text = "important"
367
- intervals [89]:
368
- xmin = 29.22
369
- xmax = 29.39
370
- text = "when"
371
- intervals [90]:
372
- xmin = 29.39
373
- xmax = 29.51
374
- text = "you're"
375
- intervals [91]:
376
- xmin = 29.51
377
- xmax = 29.85
378
- text = "doing"
379
- intervals [92]:
380
- xmin = 29.85
381
- xmax = 30.43
382
- text = "interviews"
383
- intervals [93]:
384
- xmin = 30.43
385
- xmax = 30.71
386
- text = ""
387
- intervals [94]:
388
- xmin = 30.71
389
- xmax = 30.99
390
- text = "i"
391
- intervals [95]:
392
- xmin = 30.99
393
- xmax = 31.21
394
- text = "want"
395
- intervals [96]:
396
- xmin = 31.21
397
- xmax = 31.3
398
- text = "to"
399
- intervals [97]:
400
- xmin = 31.3
401
- xmax = 31.71
402
- text = "possess"
403
- intervals [98]:
404
- xmin = 31.71
405
- xmax = 31.82
406
- text = "the"
407
- intervals [99]:
408
- xmin = 31.82
409
- xmax = 32.16
410
- text = "skill"
411
- intervals [100]:
412
- xmin = 32.16
413
- xmax = 32.93
414
- text = "myself"
415
- intervals [101]:
416
- xmin = 32.93
417
- xmax = 33.0
418
- text = ""
419
- intervals [102]:
420
- xmin = 33.0
421
- xmax = 33.53
422
- text = "so"
423
- intervals [103]:
424
- xmin = 33.53
425
- xmax = 33.56
426
- text = ""
427
- intervals [104]:
428
- xmin = 33.56
429
- xmax = 33.95
430
- text = "that's"
431
- intervals [105]:
432
- xmin = 33.95
433
- xmax = 34.31
434
- text = "why"
435
- intervals [106]:
436
- xmin = 34.31
437
- xmax = 34.53
438
- text = "i"
439
- intervals [107]:
440
- xmin = 34.53
441
- xmax = 34.83
442
- text = "want"
443
- intervals [108]:
444
- xmin = 34.83
445
- xmax = 34.89
446
- text = "to"
447
- intervals [109]:
448
- xmin = 34.89
449
- xmax = 35.42
450
- text = "become"
451
- intervals [110]:
452
- xmin = 35.42
453
- xmax = 35.46
454
- text = ""
455
- intervals [111]:
456
- xmin = 35.46
457
- xmax = 35.59
458
- text = "a"
459
- intervals [112]:
460
- xmin = 35.59
461
- xmax = 36.37
462
- text = "journalist"
463
- intervals [113]:
464
- xmin = 36.37
465
- xmax = 36.74
466
- text = ""
467
- intervals [114]:
468
- xmin = 36.74
469
- xmax = 37.02
470
- text = "other"
471
- intervals [115]:
472
- xmin = 37.02
473
- xmax = 37.18
474
- text = "than"
475
- intervals [116]:
476
- xmin = 37.18
477
- xmax = 37.73
478
- text = "that"
479
- intervals [117]:
480
- xmin = 37.73
481
- xmax = 37.76
482
- text = ""
483
- intervals [118]:
484
- xmin = 37.76
485
- xmax = 38.72
486
- text = "photography"
487
- intervals [119]:
488
- xmin = 38.72
489
- xmax = 38.96
490
- text = ""
491
- intervals [120]:
492
- xmin = 38.96
493
- xmax = 39.4
494
- text = "often"
495
- intervals [121]:
496
- xmin = 39.4
497
- xmax = 39.66
498
- text = "makes"
499
- intervals [122]:
500
- xmin = 39.66
501
- xmax = 39.8
502
- text = "me"
503
- intervals [123]:
504
- xmin = 39.8
505
- xmax = 40.39
506
- text = "feel"
507
- intervals [124]:
508
- xmin = 40.39
509
- xmax = 40.72
510
- text = "like"
511
- intervals [125]:
512
- xmin = 40.72
513
- xmax = 41.42
514
- text = "i'm"
515
- intervals [126]:
516
- xmin = 41.42
517
- xmax = 41.77
518
- text = ""
519
- intervals [127]:
520
- xmin = 41.77
521
- xmax = 42.06
522
- text = "doing"
523
- intervals [128]:
524
- xmin = 42.06
525
- xmax = 42.13
526
- text = "a"
527
- intervals [129]:
528
- xmin = 42.13
529
- xmax = 42.41
530
- text = "job"
531
- intervals [130]:
532
- xmin = 42.41
533
- xmax = 42.58
534
- text = "full"
535
- intervals [131]:
536
- xmin = 42.58
537
- xmax = 42.64
538
- text = "of"
539
- intervals [132]:
540
- xmin = 42.64
541
- xmax = 42.99
542
- text = "design"
543
- intervals [133]:
544
- xmin = 42.99
545
- xmax = 43.12
546
- text = "and"
547
- intervals [134]:
548
- xmin = 43.12
549
- xmax = 43.25
550
- text = "in"
551
- intervals [135]:
552
- xmin = 43.25
553
- xmax = 43.52
554
- text = "for"
555
- intervals [136]:
556
- xmin = 43.52
557
- xmax = 44.31
558
- text = "innovation"
559
- intervals [137]:
560
- xmin = 44.31
561
- xmax = 45.18
562
- text = ""
563
- intervals [138]:
564
- xmin = 45.18
565
- xmax = 45.73
566
- text = "because"
567
- intervals [139]:
568
- xmin = 45.73
569
- xmax = 45.89
570
- text = "for"
571
- intervals [140]:
572
- xmin = 45.89
573
- xmax = 45.99
574
- text = "the"
575
- intervals [141]:
576
- xmin = 45.99
577
- xmax = 46.35
578
- text = "same"
579
- intervals [142]:
580
- xmin = 46.35
581
- xmax = 46.88
582
- text = "scenery"
583
- intervals [143]:
584
- xmin = 46.88
585
- xmax = 47.01
586
- text = "we"
587
- intervals [144]:
588
- xmin = 47.01
589
- xmax = 47.12
590
- text = "can"
591
- intervals [145]:
592
- xmin = 47.12
593
- xmax = 47.34
594
- text = "use"
595
- intervals [146]:
596
- xmin = 47.34
597
- xmax = 47.61
598
- text = "different"
599
- intervals [147]:
600
- xmin = 47.61
601
- xmax = 48.12
602
- text = "angles"
603
- intervals [148]:
604
- xmin = 48.12
605
- xmax = 48.21
606
- text = "and"
607
- intervals [149]:
608
- xmin = 48.21
609
- xmax = 48.48
610
- text = "different"
611
- intervals [150]:
612
- xmin = 48.48
613
- xmax = 49.32
614
- text = "compositions"
615
- intervals [151]:
616
- xmin = 49.32
617
- xmax = 49.68
618
- text = ""
619
- intervals [152]:
620
- xmin = 49.68
621
- xmax = 49.98
622
- text = "for"
623
- intervals [153]:
624
- xmin = 49.98
625
- xmax = 50.4
626
- text = "example"
627
- intervals [154]:
628
- xmin = 50.4
629
- xmax = 50.91
630
- text = "people"
631
- intervals [155]:
632
- xmin = 50.91
633
- xmax = 51.42
634
- text = "being"
635
- intervals [156]:
636
- xmin = 51.42
637
- xmax = 51.91
638
- text = "shifted"
639
- intervals [157]:
640
- xmin = 51.91
641
- xmax = 52.06
642
- text = "from"
643
- intervals [158]:
644
- xmin = 52.06
645
- xmax = 52.15
646
- text = "the"
647
- intervals [159]:
648
- xmin = 52.15
649
- xmax = 52.47
650
- text = "center"
651
- intervals [160]:
652
- xmin = 52.47
653
- xmax = 52.54
654
- text = "of"
655
- intervals [161]:
656
- xmin = 52.54
657
- xmax = 52.63
658
- text = "the"
659
- intervals [162]:
660
- xmin = 52.63
661
- xmax = 52.95
662
- text = "frame"
663
- intervals [163]:
664
- xmin = 52.95
665
- xmax = 53.1
666
- text = "to"
667
- intervals [164]:
668
- xmin = 53.1
669
- xmax = 53.32
670
- text = "left"
671
- intervals [165]:
672
- xmin = 53.32
673
- xmax = 53.54
674
- text = "side"
675
- intervals [166]:
676
- xmin = 53.54
677
- xmax = 53.6
678
- text = "of"
679
- intervals [167]:
680
- xmin = 53.6
681
- xmax = 53.69
682
- text = "the"
683
- intervals [168]:
684
- xmin = 53.69
685
- xmax = 54.17
686
- text = "frame"
687
- intervals [169]:
688
- xmin = 54.17
689
- xmax = 54.62
690
- text = ""
691
- intervals [170]:
692
- xmin = 54.62
693
- xmax = 54.75
694
- text = "it"
695
- intervals [171]:
696
- xmin = 54.75
697
- xmax = 54.91
698
- text = "can"
699
- intervals [172]:
700
- xmin = 54.91
701
- xmax = 55.13
702
- text = "make"
703
- intervals [173]:
704
- xmin = 55.13
705
- xmax = 55.22
706
- text = "a"
707
- intervals [174]:
708
- xmin = 55.22
709
- xmax = 55.56
710
- text = "different"
711
- intervals [175]:
712
- xmin = 55.56
713
- xmax = 56.05
714
- text = "feeling"
715
- intervals [176]:
716
- xmin = 56.05
717
- xmax = 56.41
718
- text = ""
719
- intervals [177]:
720
- xmin = 56.41
721
- xmax = 56.69
722
- text = "when"
723
- intervals [178]:
724
- xmin = 56.69
725
- xmax = 57.25
726
- text = "we"
727
- intervals [179]:
728
- xmin = 57.25
729
- xmax = 57.5
730
- text = ""
731
- intervals [180]:
732
- xmin = 57.5
733
- xmax = 57.82
734
- text = "when"
735
- intervals [181]:
736
- xmin = 57.82
737
- xmax = 58.07
738
- text = "seen"
739
- intervals [182]:
740
- xmin = 58.07
741
- xmax = 58.17
742
- text = "in"
743
- intervals [183]:
744
- xmin = 58.17
745
- xmax = 58.77
746
- text = "context"
747
- intervals [184]:
748
- xmin = 58.77
749
- xmax = 58.86
750
- text = "with"
751
- intervals [185]:
752
- xmin = 58.86
753
- xmax = 58.93
754
- text = "the"
755
- intervals [186]:
756
- xmin = 58.93
757
- xmax = 59.61
758
- text = "background"
759
- intervals [187]:
760
- xmin = 59.61
761
- xmax = 59.96
762
- text = ""
763
- intervals [188]:
764
- xmin = 59.96
765
- xmax = 60.31
766
- text = "when"
767
- intervals [189]:
768
- xmin = 60.31
769
- xmax = 60.79
770
- text = "everyone's"
771
- intervals [190]:
772
- xmin = 60.79
773
- xmax = 61.08
774
- text = "taking"
775
- intervals [191]:
776
- xmin = 61.08
777
- xmax = 61.14
778
- text = "a"
779
- intervals [192]:
780
- xmin = 61.14
781
- xmax = 61.46
782
- text = "picture"
783
- intervals [193]:
784
- xmin = 61.46
785
- xmax = 61.53
786
- text = "of"
787
- intervals [194]:
788
- xmin = 61.53
789
- xmax = 61.6
790
- text = "the"
791
- intervals [195]:
792
- xmin = 61.6
793
- xmax = 61.98
794
- text = "exact"
795
- intervals [196]:
796
- xmin = 61.98
797
- xmax = 62.19
798
- text = "same"
799
- intervals [197]:
800
- xmin = 62.19
801
- xmax = 62.64
802
- text = "scenery"
803
- intervals [198]:
804
- xmin = 62.64
805
- xmax = 62.67
806
- text = ""
807
- intervals [199]:
808
- xmin = 62.67
809
- xmax = 62.89
810
- text = "i'm"
811
- intervals [200]:
812
- xmin = 62.89
813
- xmax = 63.28
814
- text = "very"
815
- intervals [201]:
816
- xmin = 63.28
817
- xmax = 63.75
818
- text = "happy"
819
- intervals [202]:
820
- xmin = 63.75
821
- xmax = 63.9
822
- text = "when"
823
- intervals [203]:
824
- xmin = 63.9
825
- xmax = 64.35
826
- text = "people"
827
- intervals [204]:
828
- xmin = 64.35
829
- xmax = 64.6
830
- text = "say"
831
- intervals [205]:
832
- xmin = 64.6
833
- xmax = 64.84
834
- text = "my"
835
- intervals [206]:
836
- xmin = 64.84
837
- xmax = 65.29
838
- text = "photos"
839
- intervals [207]:
840
- xmin = 65.29
841
- xmax = 65.47
842
- text = "look"
843
- intervals [208]:
844
- xmin = 65.47
845
- xmax = 66.11
846
- text = "better"
847
- intervals [209]:
848
- xmin = 66.11
849
- xmax = 66.43
850
- text = ""
851
- intervals [210]:
852
- xmin = 66.43
853
- xmax = 66.56
854
- text = "than"
855
- intervals [211]:
856
- xmin = 66.56
857
- xmax = 66.7
858
- text = "the"
859
- intervals [212]:
860
- xmin = 66.7
861
- xmax = 67.19
862
- text = "others"
863
- intervals [213]:
864
- xmin = 67.19
865
- xmax = 68
866
- text = ""
867
- item [2]:
868
- class = "IntervalTier"
869
- name = "phones"
870
- xmin = 0.0
871
- xmax = 68
872
- intervals: size = 701
873
- intervals [1]:
874
- xmin = 0.0
875
- xmax = 1.47
876
- text = ""
877
- intervals [2]:
878
- xmin = 1.47
879
- xmax = 1.59
880
- text = "W"
881
- intervals [3]:
882
- xmin = 1.59
883
- xmax = 1.99
884
- text = "EH1"
885
- intervals [4]:
886
- xmin = 1.99
887
- xmax = 2.36
888
- text = "L"
889
- intervals [5]:
890
- xmin = 2.36
891
- xmax = 2.56
892
- text = ""
893
- intervals [6]:
894
- xmin = 2.56
895
- xmax = 2.88
896
- text = "IH0"
897
- intervals [7]:
898
- xmin = 2.88
899
- xmax = 3.05
900
- text = "N"
901
- intervals [8]:
902
- xmin = 3.05
903
- xmax = 3.18
904
- text = "M"
905
- intervals [9]:
906
- xmin = 3.18
907
- xmax = 3.43
908
- text = "AY1"
909
- intervals [10]:
910
- xmin = 3.43
911
- xmax = 3.53
912
- text = "AH0"
913
- intervals [11]:
914
- xmin = 3.53
915
- xmax = 3.6
916
- text = "P"
917
- intervals [12]:
918
- xmin = 3.6
919
- xmax = 3.7
920
- text = "IH1"
921
- intervals [13]:
922
- xmin = 3.7
923
- xmax = 3.77
924
- text = "N"
925
- intervals [14]:
926
- xmin = 3.77
927
- xmax = 3.85
928
- text = "Y"
929
- intervals [15]:
930
- xmin = 3.85
931
- xmax = 3.92
932
- text = "AH0"
933
- intervals [16]:
934
- xmin = 3.92
935
- xmax = 4.29
936
- text = "N"
937
- intervals [17]:
938
- xmin = 4.29
939
- xmax = 4.43
940
- text = "AY1"
941
- intervals [18]:
942
- xmin = 4.43
943
- xmax = 4.5
944
- text = "TH"
945
- intervals [19]:
946
- xmin = 4.5
947
- xmax = 4.57
948
- text = "IH1"
949
- intervals [20]:
950
- xmin = 4.57
951
- xmax = 4.67
952
- text = "NG"
953
- intervals [21]:
954
- xmin = 4.67
955
- xmax = 4.7
956
- text = "K"
957
- intervals [22]:
958
- xmin = 4.7
959
- xmax = 4.73
960
- text = "DH"
961
- intervals [23]:
962
- xmin = 4.73
963
- xmax = 4.77
964
- text = "AH0"
965
- intervals [24]:
966
- xmin = 4.77
967
- xmax = 4.84
968
- text = "B"
969
- intervals [25]:
970
- xmin = 4.84
971
- xmax = 4.96
972
- text = "EH1"
973
- intervals [26]:
974
- xmin = 4.96
975
- xmax = 5.02
976
- text = "S"
977
- intervals [27]:
978
- xmin = 5.02
979
- xmax = 5.06
980
- text = "T"
981
- intervals [28]:
982
- xmin = 5.06
983
- xmax = 5.17
984
- text = "JH"
985
- intervals [29]:
986
- xmin = 5.17
987
- xmax = 5.25
988
- text = "AA1"
989
- intervals [30]:
990
- xmin = 5.25
991
- xmax = 5.31
992
- text = "B"
993
- intervals [31]:
994
- xmin = 5.31
995
- xmax = 5.35
996
- text = "F"
997
- intervals [32]:
998
- xmin = 5.35
999
- xmax = 5.41
1000
- text = "ER0"
1001
- intervals [33]:
1002
- xmin = 5.41
1003
- xmax = 5.49
1004
- text = "M"
1005
- intervals [34]:
1006
- xmin = 5.49
1007
- xmax = 5.62
1008
- text = "IY1"
1009
- intervals [35]:
1010
- xmin = 5.62
1011
- xmax = 5.69
1012
- text = "IH1"
1013
- intervals [36]:
1014
- xmin = 5.69
1015
- xmax = 5.76
1016
- text = "Z"
1017
- intervals [37]:
1018
- xmin = 5.76
1019
- xmax = 5.8
1020
- text = "T"
1021
- intervals [38]:
1022
- xmin = 5.8
1023
- xmax = 5.84
1024
- text = "IH0"
1025
- intervals [39]:
1026
- xmin = 5.84
1027
- xmax = 5.88
1028
- text = "B"
1029
- intervals [40]:
1030
- xmin = 5.88
1031
- xmax = 5.94
1032
- text = "IH0"
1033
- intervals [41]:
1034
- xmin = 5.94
1035
- xmax = 6.01
1036
- text = "K"
1037
- intervals [42]:
1038
- xmin = 6.01
1039
- xmax = 6.06
1040
- text = "AH1"
1041
- intervals [43]:
1042
- xmin = 6.06
1043
- xmax = 6.11
1044
- text = "M"
1045
- intervals [44]:
1046
- xmin = 6.11
1047
- xmax = 6.2
1048
- text = "AH0"
1049
- intervals [45]:
1050
- xmin = 6.2
1051
- xmax = 6.42
1052
- text = "JH"
1053
- intervals [46]:
1054
- xmin = 6.42
1055
- xmax = 6.52
1056
- text = "ER1"
1057
- intervals [47]:
1058
- xmin = 6.52
1059
- xmax = 6.57
1060
- text = "N"
1061
- intervals [48]:
1062
- xmin = 6.57
1063
- xmax = 6.63
1064
- text = "AH0"
1065
- intervals [49]:
1066
- xmin = 6.63
1067
- xmax = 6.71
1068
- text = "L"
1069
- intervals [50]:
1070
- xmin = 6.71
1071
- xmax = 6.77
1072
- text = "AH0"
1073
- intervals [51]:
1074
- xmin = 6.77
1075
- xmax = 6.87
1076
- text = "S"
1077
- intervals [52]:
1078
- xmin = 6.87
1079
- xmax = 6.93
1080
- text = "T"
1081
- intervals [53]:
1082
- xmin = 6.93
1083
- xmax = 7.04
1084
- text = "K"
1085
- intervals [54]:
1086
- xmin = 7.04
1087
- xmax = 7.18
1088
- text = "UW0"
1089
- intervals [55]:
1090
- xmin = 7.18
1091
- xmax = 7.3
1092
- text = "Z"
1093
- intervals [56]:
1094
- xmin = 7.3
1095
- xmax = 7.37
1096
- text = "DH"
1097
- intervals [57]:
1098
- xmin = 7.37
1099
- xmax = 7.44
1100
- text = "IH1"
1101
- intervals [58]:
1102
- xmin = 7.44
1103
- xmax = 7.53
1104
- text = "S"
1105
- intervals [59]:
1106
- xmin = 7.53
1107
- xmax = 7.58
1108
- text = "IH0"
1109
- intervals [60]:
1110
- xmin = 7.58
1111
- xmax = 7.63
1112
- text = "Z"
1113
- intervals [61]:
1114
- xmin = 7.63
1115
- xmax = 7.71
1116
- text = "M"
1117
- intervals [62]:
1118
- xmin = 7.71
1119
- xmax = 7.79
1120
- text = "AY1"
1121
- intervals [63]:
1122
- xmin = 7.79
1123
- xmax = 7.9
1124
- text = "D"
1125
- intervals [64]:
1126
- xmin = 7.9
1127
- xmax = 7.97
1128
- text = "R"
1129
- intervals [65]:
1130
- xmin = 7.97
1131
- xmax = 8.07
1132
- text = "IY1"
1133
- intervals [66]:
1134
- xmin = 8.07
1135
- xmax = 8.14
1136
- text = "M"
1137
- intervals [67]:
1138
- xmin = 8.14
1139
- xmax = 8.26
1140
- text = "JH"
1141
- intervals [68]:
1142
- xmin = 8.26
1143
- xmax = 8.44
1144
- text = "AA1"
1145
- intervals [69]:
1146
- xmin = 8.44
1147
- xmax = 8.53
1148
- text = "B"
1149
- intervals [70]:
1150
- xmin = 8.53
1151
- xmax = 8.65
1152
- text = "AY1"
1153
- intervals [71]:
1154
- xmin = 8.65
1155
- xmax = 8.71
1156
- text = "V"
1157
- intervals [72]:
1158
- xmin = 8.71
1159
- xmax = 8.82
1160
- text = "AO1"
1161
- intervals [73]:
1162
- xmin = 8.82
1163
- xmax = 8.88
1164
- text = "L"
1165
- intervals [74]:
1166
- xmin = 8.88
1167
- xmax = 8.98
1168
- text = "W"
1169
- intervals [75]:
1170
- xmin = 8.98
1171
- xmax = 9.03
1172
- text = "IY0"
1173
- intervals [76]:
1174
- xmin = 9.03
1175
- xmax = 9.13
1176
- text = "Z"
1177
- intervals [77]:
1178
- xmin = 9.13
1179
- xmax = 9.3
1180
- text = "W"
1181
- intervals [78]:
1182
- xmin = 9.3
1183
- xmax = 9.42
1184
- text = "AO1"
1185
- intervals [79]:
1186
- xmin = 9.42
1187
- xmax = 9.46
1188
- text = "N"
1189
- intervals [80]:
1190
- xmin = 9.46
1191
- xmax = 9.5
1192
- text = "IH0"
1193
- intervals [81]:
1194
- xmin = 9.5
1195
- xmax = 9.53
1196
- text = "D"
1197
- intervals [82]:
1198
- xmin = 9.53
1199
- xmax = 9.56
1200
- text = "T"
1201
- intervals [83]:
1202
- xmin = 9.56
1203
- xmax = 9.6
1204
- text = "AH0"
1205
- intervals [84]:
1206
- xmin = 9.6
1207
- xmax = 9.66
1208
- text = "B"
1209
- intervals [85]:
1210
- xmin = 9.66
1211
- xmax = 9.77
1212
- text = "IY1"
1213
- intervals [86]:
1214
- xmin = 9.77
1215
- xmax = 9.84
1216
- text = "AH0"
1217
- intervals [87]:
1218
- xmin = 9.84
1219
- xmax = 9.95
1220
- text = "JH"
1221
- intervals [88]:
1222
- xmin = 9.95
1223
- xmax = 10.0
1224
- text = "ER1"
1225
- intervals [89]:
1226
- xmin = 10.0
1227
- xmax = 10.03
1228
- text = "N"
1229
- intervals [90]:
1230
- xmin = 10.03
1231
- xmax = 10.1
1232
- text = "AH0"
1233
- intervals [91]:
1234
- xmin = 10.1
1235
- xmax = 10.18
1236
- text = "L"
1237
- intervals [92]:
1238
- xmin = 10.18
1239
- xmax = 10.23
1240
- text = "AH0"
1241
- intervals [93]:
1242
- xmin = 10.23
1243
- xmax = 10.26
1244
- text = "S"
1245
- intervals [94]:
1246
- xmin = 10.26
1247
- xmax = 10.29
1248
- text = "T"
1249
- intervals [95]:
1250
- xmin = 10.29
1251
- xmax = 10.33
1252
- text = "S"
1253
- intervals [96]:
1254
- xmin = 10.33
1255
- xmax = 10.37
1256
- text = "IH1"
1257
- intervals [97]:
1258
- xmin = 10.37
1259
- xmax = 10.42
1260
- text = "N"
1261
- intervals [98]:
1262
- xmin = 10.42
1263
- xmax = 10.48
1264
- text = "S"
1265
- intervals [99]:
1266
- xmin = 10.48
1267
- xmax = 10.54
1268
- text = "AY1"
1269
- intervals [100]:
1270
- xmin = 10.54
1271
- xmax = 10.6
1272
- text = "W"
1273
- intervals [101]:
1274
- xmin = 10.6
1275
- xmax = 10.64
1276
- text = "AH0"
1277
- intervals [102]:
1278
- xmin = 10.64
1279
- xmax = 10.71
1280
- text = "Z"
1281
- intervals [103]:
1282
- xmin = 10.71
1283
- xmax = 10.75
1284
- text = "IH0"
1285
- intervals [104]:
1286
- xmin = 10.75
1287
- xmax = 10.78
1288
- text = "N"
1289
- intervals [105]:
1290
- xmin = 10.78
1291
- xmax = 10.84
1292
- text = "M"
1293
- intervals [106]:
1294
- xmin = 10.84
1295
- xmax = 10.87
1296
- text = "IH1"
1297
- intervals [107]:
1298
- xmin = 10.87
1299
- xmax = 10.9
1300
- text = "D"
1301
- intervals [108]:
1302
- xmin = 10.9
1303
- xmax = 10.95
1304
- text = "AH0"
1305
- intervals [109]:
1306
- xmin = 10.95
1307
- xmax = 11.01
1308
- text = "L"
1309
- intervals [110]:
1310
- xmin = 11.01
1311
- xmax = 11.11
1312
- text = "S"
1313
- intervals [111]:
1314
- xmin = 11.11
1315
- xmax = 11.16
1316
- text = "K"
1317
- intervals [112]:
1318
- xmin = 11.16
1319
- xmax = 11.21
1320
- text = "UW1"
1321
- intervals [113]:
1322
- xmin = 11.21
1323
- xmax = 11.4
1324
- text = "L"
1325
- intervals [114]:
1326
- xmin = 11.4
1327
- xmax = 11.96
1328
- text = ""
1329
- intervals [115]:
1330
- xmin = 11.96
1331
- xmax = 12.2
1332
- text = "JH"
1333
- intervals [116]:
1334
- xmin = 12.2
1335
- xmax = 12.28
1336
- text = "ER1"
1337
- intervals [117]:
1338
- xmin = 12.28
1339
- xmax = 12.34
1340
- text = "N"
1341
- intervals [118]:
1342
- xmin = 12.34
1343
- xmax = 12.38
1344
- text = "AH0"
1345
- intervals [119]:
1346
- xmin = 12.38
1347
- xmax = 12.5
1348
- text = "L"
1349
- intervals [120]:
1350
- xmin = 12.5
1351
- xmax = 12.64
1352
- text = "AH0"
1353
- intervals [121]:
1354
- xmin = 12.64
1355
- xmax = 12.83
1356
- text = "S"
1357
- intervals [122]:
1358
- xmin = 12.83
1359
- xmax = 12.86
1360
- text = "T"
1361
- intervals [123]:
1362
- xmin = 12.86
1363
- xmax = 12.92
1364
- text = "S"
1365
- intervals [124]:
1366
- xmin = 12.92
1367
- xmax = 13.14
1368
- text = "N"
1369
- intervals [125]:
1370
- xmin = 13.14
1371
- xmax = 13.34
1372
- text = "EH1"
1373
- intervals [126]:
1374
- xmin = 13.34
1375
- xmax = 13.46
1376
- text = "V"
1377
- intervals [127]:
1378
- xmin = 13.46
1379
- xmax = 13.73
1380
- text = "ER0"
1381
- intervals [128]:
1382
- xmin = 13.73
1383
- xmax = 13.81
1384
- text = ""
1385
- intervals [129]:
1386
- xmin = 13.81
1387
- xmax = 14.0
1388
- text = "T"
1389
- intervals [130]:
1390
- xmin = 14.0
1391
- xmax = 14.17
1392
- text = "EH1"
1393
- intervals [131]:
1394
- xmin = 14.17
1395
- xmax = 14.38
1396
- text = "L"
1397
- intervals [132]:
1398
- xmin = 14.38
1399
- xmax = 14.43
1400
- text = "L"
1401
- intervals [133]:
1402
- xmin = 14.43
1403
- xmax = 14.95
1404
- text = "AY1"
1405
- intervals [134]:
1406
- xmin = 14.95
1407
- xmax = 15.08
1408
- text = "Z"
1409
- intervals [135]:
1410
- xmin = 15.08
1411
- xmax = 15.13
1412
- text = "AE1"
1413
- intervals [136]:
1414
- xmin = 15.13
1415
- xmax = 15.16
1416
- text = "N"
1417
- intervals [137]:
1418
- xmin = 15.16
1419
- xmax = 15.19
1420
- text = "D"
1421
- intervals [138]:
1422
- xmin = 15.19
1423
- xmax = 15.38
1424
- text = "ER0"
1425
- intervals [139]:
1426
- xmin = 15.38
1427
- xmax = 15.43
1428
- text = "AO1"
1429
- intervals [140]:
1430
- xmin = 15.43
1431
- xmax = 15.48
1432
- text = "L"
1433
- intervals [141]:
1434
- xmin = 15.48
1435
- xmax = 15.57
1436
- text = "W"
1437
- intervals [142]:
1438
- xmin = 15.57
1439
- xmax = 15.61
1440
- text = "IY0"
1441
- intervals [143]:
1442
- xmin = 15.61
1443
- xmax = 15.75
1444
- text = "Z"
1445
- intervals [144]:
1446
- xmin = 15.75
1447
- xmax = 15.8
1448
- text = "S"
1449
- intervals [145]:
1450
- xmin = 15.8
1451
- xmax = 15.89
1452
- text = "IY1"
1453
- intervals [146]:
1454
- xmin = 15.89
1455
- xmax = 15.96
1456
- text = "K"
1457
- intervals [147]:
1458
- xmin = 15.96
1459
- xmax = 16.03
1460
- text = "IH0"
1461
- intervals [148]:
1462
- xmin = 16.03
1463
- xmax = 16.07
1464
- text = "NG"
1465
- intervals [149]:
1466
- xmin = 16.07
1467
- xmax = 16.12
1468
- text = "DH"
1469
- intervals [150]:
1470
- xmin = 16.12
1471
- xmax = 16.17
1472
- text = "AH0"
1473
- intervals [151]:
1474
- xmin = 16.17
1475
- xmax = 16.3
1476
- text = "T"
1477
- intervals [152]:
1478
- xmin = 16.3
1479
- xmax = 16.36
1480
- text = "R"
1481
- intervals [153]:
1482
- xmin = 16.36
1483
- xmax = 16.48
1484
- text = "UW1"
1485
- intervals [154]:
1486
- xmin = 16.48
1487
- xmax = 16.69
1488
- text = "TH"
1489
- intervals [155]:
1490
- xmin = 16.69
1491
- xmax = 16.85
1492
- text = ""
1493
- intervals [156]:
1494
- xmin = 16.85
1495
- xmax = 17.09
1496
- text = "AY1"
1497
- intervals [157]:
1498
- xmin = 17.09
1499
- xmax = 17.18
1500
- text = "W"
1501
- intervals [158]:
1502
- xmin = 17.18
1503
- xmax = 17.21
1504
- text = "AA1"
1505
- intervals [159]:
1506
- xmin = 17.21
1507
- xmax = 17.24
1508
- text = "N"
1509
- intervals [160]:
1510
- xmin = 17.24
1511
- xmax = 17.27
1512
- text = "T"
1513
- intervals [161]:
1514
- xmin = 17.27
1515
- xmax = 17.3
1516
- text = "T"
1517
- intervals [162]:
1518
- xmin = 17.3
1519
- xmax = 17.33
1520
- text = "AH0"
1521
- intervals [163]:
1522
- xmin = 17.33
1523
- xmax = 17.37
1524
- text = "B"
1525
- intervals [164]:
1526
- xmin = 17.37
1527
- xmax = 17.45
1528
- text = "IY0"
1529
- intervals [165]:
1530
- xmin = 17.45
1531
- xmax = 17.57
1532
- text = "JH"
1533
- intervals [166]:
1534
- xmin = 17.57
1535
- xmax = 17.64
1536
- text = "IH0"
1537
- intervals [167]:
1538
- xmin = 17.64
1539
- xmax = 17.7
1540
- text = "S"
1541
- intervals [168]:
1542
- xmin = 17.7
1543
- xmax = 17.73
1544
- text = "T"
1545
- intervals [169]:
1546
- xmin = 17.73
1547
- xmax = 17.81
1548
- text = "L"
1549
- intervals [170]:
1550
- xmin = 17.81
1551
- xmax = 17.91
1552
- text = "AY1"
1553
- intervals [171]:
1554
- xmin = 17.91
1555
- xmax = 18.0
1556
- text = "K"
1557
- intervals [172]:
1558
- xmin = 18.0
1559
- xmax = 18.06
1560
- text = "DH"
1561
- intervals [173]:
1562
- xmin = 18.06
1563
- xmax = 18.23
1564
- text = "AE1"
1565
- intervals [174]:
1566
- xmin = 18.23
1567
- xmax = 18.36
1568
- text = "T"
1569
- intervals [175]:
1570
- xmin = 18.36
1571
- xmax = 18.73
1572
- text = ""
1573
- intervals [176]:
1574
- xmin = 18.73
1575
- xmax = 19.54
1576
- text = "AY1"
1577
- intervals [177]:
1578
- xmin = 19.54
1579
- xmax = 19.71
1580
- text = ""
1581
- intervals [178]:
1582
- xmin = 19.71
1583
- xmax = 19.92
1584
- text = "Y"
1585
- intervals [179]:
1586
- xmin = 19.92
1587
- xmax = 20.03
1588
- text = "UW1"
1589
- intervals [180]:
1590
- xmin = 20.03
1591
- xmax = 20.11
1592
- text = "ZH"
1593
- intervals [181]:
1594
- xmin = 20.11
1595
- xmax = 20.14
1596
- text = "AH0"
1597
- intervals [182]:
1598
- xmin = 20.14
1599
- xmax = 20.17
1600
- text = "L"
1601
- intervals [183]:
1602
- xmin = 20.17
1603
- xmax = 20.27
1604
- text = "IY0"
1605
- intervals [184]:
1606
- xmin = 20.27
1607
- xmax = 20.37
1608
- text = "F"
1609
- intervals [185]:
1610
- xmin = 20.37
1611
- xmax = 20.45
1612
- text = "IY1"
1613
- intervals [186]:
1614
- xmin = 20.45
1615
- xmax = 20.52
1616
- text = "L"
1617
- intervals [187]:
1618
- xmin = 20.52
1619
- xmax = 20.73
1620
- text = "SH"
1621
- intervals [188]:
1622
- xmin = 20.73
1623
- xmax = 20.96
1624
- text = "AY1"
1625
- intervals [189]:
1626
- xmin = 20.96
1627
- xmax = 21.06
1628
- text = "W"
1629
- intervals [190]:
1630
- xmin = 21.06
1631
- xmax = 21.09
1632
- text = "EH1"
1633
- intervals [191]:
1634
- xmin = 21.09
1635
- xmax = 21.14
1636
- text = "N"
1637
- intervals [192]:
1638
- xmin = 21.14
1639
- xmax = 21.26
1640
- text = "AY1"
1641
- intervals [193]:
1642
- xmin = 21.26
1643
- xmax = 21.31
1644
- text = "AE1"
1645
- intervals [194]:
1646
- xmin = 21.31
1647
- xmax = 21.38
1648
- text = "M"
1649
- intervals [195]:
1650
- xmin = 21.38
1651
- xmax = 21.5
1652
- text = "T"
1653
- intervals [196]:
1654
- xmin = 21.5
1655
- xmax = 21.57
1656
- text = "AO1"
1657
- intervals [197]:
1658
- xmin = 21.57
1659
- xmax = 21.64
1660
- text = "K"
1661
- intervals [198]:
1662
- xmin = 21.64
1663
- xmax = 21.69
1664
- text = "IH0"
1665
- intervals [199]:
1666
- xmin = 21.69
1667
- xmax = 21.75
1668
- text = "NG"
1669
- intervals [200]:
1670
- xmin = 21.75
1671
- xmax = 21.8
1672
- text = "T"
1673
- intervals [201]:
1674
- xmin = 21.8
1675
- xmax = 21.86
1676
- text = "AH0"
1677
- intervals [202]:
1678
- xmin = 21.86
1679
- xmax = 21.96
1680
- text = "AH1"
1681
- intervals [203]:
1682
- xmin = 21.96
1683
- xmax = 22.02
1684
- text = "DH"
1685
- intervals [204]:
1686
- xmin = 22.02
1687
- xmax = 22.13
1688
- text = "ER0"
1689
- intervals [205]:
1690
- xmin = 22.13
1691
- xmax = 22.22
1692
- text = "Z"
1693
- intervals [206]:
1694
- xmin = 22.22
1695
- xmax = 22.29
1696
- text = "AE1"
1697
- intervals [207]:
1698
- xmin = 22.29
1699
- xmax = 22.32
1700
- text = "N"
1701
- intervals [208]:
1702
- xmin = 22.32
1703
- xmax = 22.37
1704
- text = "D"
1705
- intervals [209]:
1706
- xmin = 22.37
1707
- xmax = 22.46
1708
- text = "AY1"
1709
- intervals [210]:
1710
- xmin = 22.46
1711
- xmax = 22.6
1712
- text = "N"
1713
- intervals [211]:
1714
- xmin = 22.6
1715
- xmax = 22.8
1716
- text = "OW1"
1717
- intervals [212]:
1718
- xmin = 22.8
1719
- xmax = 22.85
1720
- text = "DH"
1721
- intervals [213]:
1722
- xmin = 22.85
1723
- xmax = 22.98
1724
- text = "AH0"
1725
- intervals [214]:
1726
- xmin = 22.98
1727
- xmax = 23.1
1728
- text = "T"
1729
- intervals [215]:
1730
- xmin = 23.1
1731
- xmax = 23.27
1732
- text = "JH"
1733
- intervals [216]:
1734
- xmin = 23.27
1735
- xmax = 23.35
1736
- text = "ER1"
1737
- intervals [217]:
1738
- xmin = 23.35
1739
- xmax = 23.39
1740
- text = "N"
1741
- intervals [218]:
1742
- xmin = 23.39
1743
- xmax = 23.46
1744
- text = "AH0"
1745
- intervals [219]:
1746
- xmin = 23.46
1747
- xmax = 23.54
1748
- text = "L"
1749
- intervals [220]:
1750
- xmin = 23.54
1751
- xmax = 23.61
1752
- text = "AH0"
1753
- intervals [221]:
1754
- xmin = 23.61
1755
- xmax = 23.69
1756
- text = "S"
1757
- intervals [222]:
1758
- xmin = 23.69
1759
- xmax = 23.72
1760
- text = "T"
1761
- intervals [223]:
1762
- xmin = 23.72
1763
- xmax = 23.79
1764
- text = "S"
1765
- intervals [224]:
1766
- xmin = 23.79
1767
- xmax = 23.89
1768
- text = "AA1"
1769
- intervals [225]:
1770
- xmin = 23.89
1771
- xmax = 23.99
1772
- text = "R"
1773
- intervals [226]:
1774
- xmin = 23.99
1775
- xmax = 24.22
1776
- text = "V"
1777
- intervals [227]:
1778
- xmin = 24.22
1779
- xmax = 24.49
1780
- text = "EH1"
1781
- intervals [228]:
1782
- xmin = 24.49
1783
- xmax = 24.64
1784
- text = "R"
1785
- intervals [229]:
1786
- xmin = 24.64
1787
- xmax = 24.73
1788
- text = "IY0"
1789
- intervals [230]:
1790
- xmin = 24.73
1791
- xmax = 24.9
1792
- text = "G"
1793
- intervals [231]:
1794
- xmin = 24.9
1795
- xmax = 25.12
1796
- text = "UH1"
1797
- intervals [232]:
1798
- xmin = 25.12
1799
- xmax = 25.29
1800
- text = "D"
1801
- intervals [233]:
1802
- xmin = 25.29
1803
- xmax = 25.44
1804
- text = ""
1805
- intervals [234]:
1806
- xmin = 25.44
1807
- xmax = 25.61
1808
- text = "AE1"
1809
- intervals [235]:
1810
- xmin = 25.61
1811
- xmax = 25.7
1812
- text = "T"
1813
- intervals [236]:
1814
- xmin = 25.7
1815
- xmax = 25.73
1816
- text = "K"
1817
- intervals [237]:
1818
- xmin = 25.73
1819
- xmax = 25.77
1820
- text = "AH0"
1821
- intervals [238]:
1822
- xmin = 25.77
1823
- xmax = 25.83
1824
- text = "M"
1825
- intervals [239]:
1826
- xmin = 25.83
1827
- xmax = 25.89
1828
- text = "Y"
1829
- intervals [240]:
1830
- xmin = 25.89
1831
- xmax = 25.93
1832
- text = "UW1"
1833
- intervals [241]:
1834
- xmin = 25.93
1835
- xmax = 25.98
1836
- text = "N"
1837
- intervals [242]:
1838
- xmin = 25.98
1839
- xmax = 26.05
1840
- text = "AH0"
1841
- intervals [243]:
1842
- xmin = 26.05
1843
- xmax = 26.19
1844
- text = "K"
1845
- intervals [244]:
1846
- xmin = 26.19
1847
- xmax = 26.25
1848
- text = "EY2"
1849
- intervals [245]:
1850
- xmin = 26.25
1851
- xmax = 26.28
1852
- text = "T"
1853
- intervals [246]:
1854
- xmin = 26.28
1855
- xmax = 26.35
1856
- text = "IH0"
1857
- intervals [247]:
1858
- xmin = 26.35
1859
- xmax = 26.41
1860
- text = "NG"
1861
- intervals [248]:
1862
- xmin = 26.41
1863
- xmax = 26.46
1864
- text = "B"
1865
- intervals [249]:
1866
- xmin = 26.46
1867
- xmax = 26.54
1868
- text = "IH0"
1869
- intervals [250]:
1870
- xmin = 26.54
1871
- xmax = 26.64
1872
- text = "K"
1873
- intervals [251]:
1874
- xmin = 26.64
1875
- xmax = 26.84
1876
- text = "AH0"
1877
- intervals [252]:
1878
- xmin = 26.84
1879
- xmax = 26.94
1880
- text = "Z"
1881
- intervals [253]:
1882
- xmin = 26.94
1883
- xmax = 26.98
1884
- text = ""
1885
- intervals [254]:
1886
- xmin = 26.98
1887
- xmax = 27.07
1888
- text = "G"
1889
- intervals [255]:
1890
- xmin = 27.07
1891
- xmax = 27.15
1892
- text = "UH1"
1893
- intervals [256]:
1894
- xmin = 27.15
1895
- xmax = 27.2
1896
- text = "D"
1897
- intervals [257]:
1898
- xmin = 27.2
1899
- xmax = 27.27
1900
- text = "K"
1901
- intervals [258]:
1902
- xmin = 27.27
1903
- xmax = 27.32
1904
- text = "AH0"
1905
- intervals [259]:
1906
- xmin = 27.32
1907
- xmax = 27.38
1908
- text = "M"
1909
- intervals [260]:
1910
- xmin = 27.38
1911
- xmax = 27.43
1912
- text = "Y"
1913
- intervals [261]:
1914
- xmin = 27.43
1915
- xmax = 27.46
1916
- text = "UW2"
1917
- intervals [262]:
1918
- xmin = 27.46
1919
- xmax = 27.49
1920
- text = "N"
1921
- intervals [263]:
1922
- xmin = 27.49
1923
- xmax = 27.54
1924
- text = "AH0"
1925
- intervals [264]:
1926
- xmin = 27.54
1927
- xmax = 27.65
1928
- text = "K"
1929
- intervals [265]:
1930
- xmin = 27.65
1931
- xmax = 27.75
1932
- text = "EY1"
1933
- intervals [266]:
1934
- xmin = 27.75
1935
- xmax = 27.84
1936
- text = "SH"
1937
- intervals [267]:
1938
- xmin = 27.84
1939
- xmax = 27.89
1940
- text = "AH0"
1941
- intervals [268]:
1942
- xmin = 27.89
1943
- xmax = 27.95
1944
- text = "N"
1945
- intervals [269]:
1946
- xmin = 27.95
1947
- xmax = 28.03
1948
- text = "S"
1949
- intervals [270]:
1950
- xmin = 28.03
1951
- xmax = 28.08
1952
- text = "K"
1953
- intervals [271]:
1954
- xmin = 28.08
1955
- xmax = 28.15
1956
- text = "IH1"
1957
- intervals [272]:
1958
- xmin = 28.15
1959
- xmax = 28.27
1960
- text = "L"
1961
- intervals [273]:
1962
- xmin = 28.27
1963
- xmax = 28.36
1964
- text = "Z"
1965
- intervals [274]:
1966
- xmin = 28.36
1967
- xmax = 28.42
1968
- text = "AA1"
1969
- intervals [275]:
1970
- xmin = 28.42
1971
- xmax = 28.51
1972
- text = "R"
1973
- intervals [276]:
1974
- xmin = 28.51
1975
- xmax = 28.56
1976
- text = "V"
1977
- intervals [277]:
1978
- xmin = 28.56
1979
- xmax = 28.61
1980
- text = "EH1"
1981
- intervals [278]:
1982
- xmin = 28.61
1983
- xmax = 28.72
1984
- text = "R"
1985
- intervals [279]:
1986
- xmin = 28.72
1987
- xmax = 28.75
1988
- text = "IY0"
1989
- intervals [280]:
1990
- xmin = 28.75
1991
- xmax = 28.8
1992
- text = "IH0"
1993
- intervals [281]:
1994
- xmin = 28.8
1995
- xmax = 28.86
1996
- text = "M"
1997
- intervals [282]:
1998
- xmin = 28.86
1999
- xmax = 28.97
2000
- text = "P"
2001
- intervals [283]:
2002
- xmin = 28.97
2003
- xmax = 29.01
2004
- text = "AO1"
2005
- intervals [284]:
2006
- xmin = 29.01
2007
- xmax = 29.07
2008
- text = "R"
2009
- intervals [285]:
2010
- xmin = 29.07
2011
- xmax = 29.11
2012
- text = "T"
2013
- intervals [286]:
2014
- xmin = 29.11
2015
- xmax = 29.14
2016
- text = "AH0"
2017
- intervals [287]:
2018
- xmin = 29.14
2019
- xmax = 29.18
2020
- text = "N"
2021
- intervals [288]:
2022
- xmin = 29.18
2023
- xmax = 29.22
2024
- text = "T"
2025
- intervals [289]:
2026
- xmin = 29.22
2027
- xmax = 29.29
2028
- text = "W"
2029
- intervals [290]:
2030
- xmin = 29.29
2031
- xmax = 29.32
2032
- text = "EH1"
2033
- intervals [291]:
2034
- xmin = 29.32
2035
- xmax = 29.39
2036
- text = "N"
2037
- intervals [292]:
2038
- xmin = 29.39
2039
- xmax = 29.43
2040
- text = "Y"
2041
- intervals [293]:
2042
- xmin = 29.43
2043
- xmax = 29.46
2044
- text = "UH1"
2045
- intervals [294]:
2046
- xmin = 29.46
2047
- xmax = 29.51
2048
- text = "R"
2049
- intervals [295]:
2050
- xmin = 29.51
2051
- xmax = 29.6
2052
- text = "D"
2053
- intervals [296]:
2054
- xmin = 29.6
2055
- xmax = 29.7
2056
- text = "UW1"
2057
- intervals [297]:
2058
- xmin = 29.7
2059
- xmax = 29.76
2060
- text = "IH0"
2061
- intervals [298]:
2062
- xmin = 29.76
2063
- xmax = 29.85
2064
- text = "NG"
2065
- intervals [299]:
2066
- xmin = 29.85
2067
- xmax = 29.88
2068
- text = "IH1"
2069
- intervals [300]:
2070
- xmin = 29.88
2071
- xmax = 29.99
2072
- text = "N"
2073
- intervals [301]:
2074
- xmin = 29.99
2075
- xmax = 30.06
2076
- text = "ER0"
2077
- intervals [302]:
2078
- xmin = 30.06
2079
- xmax = 30.1
2080
- text = "V"
2081
- intervals [303]:
2082
- xmin = 30.1
2083
- xmax = 30.21
2084
- text = "Y"
2085
- intervals [304]:
2086
- xmin = 30.21
2087
- xmax = 30.28
2088
- text = "UW2"
2089
- intervals [305]:
2090
- xmin = 30.28
2091
- xmax = 30.43
2092
- text = "Z"
2093
- intervals [306]:
2094
- xmin = 30.43
2095
- xmax = 30.71
2096
- text = ""
2097
- intervals [307]:
2098
- xmin = 30.71
2099
- xmax = 30.99
2100
- text = "AY1"
2101
- intervals [308]:
2102
- xmin = 30.99
2103
- xmax = 31.11
2104
- text = "W"
2105
- intervals [309]:
2106
- xmin = 31.11
2107
- xmax = 31.15
2108
- text = "AA1"
2109
- intervals [310]:
2110
- xmin = 31.15
2111
- xmax = 31.18
2112
- text = "N"
2113
- intervals [311]:
2114
- xmin = 31.18
2115
- xmax = 31.21
2116
- text = "T"
2117
- intervals [312]:
2118
- xmin = 31.21
2119
- xmax = 31.24
2120
- text = "T"
2121
- intervals [313]:
2122
- xmin = 31.24
2123
- xmax = 31.3
2124
- text = "AH0"
2125
- intervals [314]:
2126
- xmin = 31.3
2127
- xmax = 31.35
2128
- text = "P"
2129
- intervals [315]:
2130
- xmin = 31.35
2131
- xmax = 31.42
2132
- text = "AH0"
2133
- intervals [316]:
2134
- xmin = 31.42
2135
- xmax = 31.51
2136
- text = "Z"
2137
- intervals [317]:
2138
- xmin = 31.51
2139
- xmax = 31.62
2140
- text = "EH1"
2141
- intervals [318]:
2142
- xmin = 31.62
2143
- xmax = 31.71
2144
- text = "S"
2145
- intervals [319]:
2146
- xmin = 31.71
2147
- xmax = 31.75
2148
- text = "DH"
2149
- intervals [320]:
2150
- xmin = 31.75
2151
- xmax = 31.82
2152
- text = "AH0"
2153
- intervals [321]:
2154
- xmin = 31.82
2155
- xmax = 31.97
2156
- text = "S"
2157
- intervals [322]:
2158
- xmin = 31.97
2159
- xmax = 32.02
2160
- text = "K"
2161
- intervals [323]:
2162
- xmin = 32.02
2163
- xmax = 32.09
2164
- text = "IH1"
2165
- intervals [324]:
2166
- xmin = 32.09
2167
- xmax = 32.16
2168
- text = "L"
2169
- intervals [325]:
2170
- xmin = 32.16
2171
- xmax = 32.23
2172
- text = "M"
2173
- intervals [326]:
2174
- xmin = 32.23
2175
- xmax = 32.31
2176
- text = "AY2"
2177
- intervals [327]:
2178
- xmin = 32.31
2179
- xmax = 32.46
2180
- text = "S"
2181
- intervals [328]:
2182
- xmin = 32.46
2183
- xmax = 32.53
2184
- text = "EH1"
2185
- intervals [329]:
2186
- xmin = 32.53
2187
- xmax = 32.76
2188
- text = "L"
2189
- intervals [330]:
2190
- xmin = 32.76
2191
- xmax = 32.93
2192
- text = "F"
2193
- intervals [331]:
2194
- xmin = 32.93
2195
- xmax = 33.0
2196
- text = ""
2197
- intervals [332]:
2198
- xmin = 33.0
2199
- xmax = 33.22
2200
- text = "S"
2201
- intervals [333]:
2202
- xmin = 33.22
2203
- xmax = 33.53
2204
- text = "OW1"
2205
- intervals [334]:
2206
- xmin = 33.53
2207
- xmax = 33.56
2208
- text = ""
2209
- intervals [335]:
2210
- xmin = 33.56
2211
- xmax = 33.67
2212
- text = "DH"
2213
- intervals [336]:
2214
- xmin = 33.67
2215
- xmax = 33.82
2216
- text = "AE1"
2217
- intervals [337]:
2218
- xmin = 33.82
2219
- xmax = 33.89
2220
- text = "T"
2221
- intervals [338]:
2222
- xmin = 33.89
2223
- xmax = 33.95
2224
- text = "S"
2225
- intervals [339]:
2226
- xmin = 33.95
2227
- xmax = 34.09
2228
- text = "W"
2229
- intervals [340]:
2230
- xmin = 34.09
2231
- xmax = 34.31
2232
- text = "AY1"
2233
- intervals [341]:
2234
- xmin = 34.31
2235
- xmax = 34.53
2236
- text = "AY1"
2237
- intervals [342]:
2238
- xmin = 34.53
2239
- xmax = 34.67
2240
- text = "W"
2241
- intervals [343]:
2242
- xmin = 34.67
2243
- xmax = 34.77
2244
- text = "AO1"
2245
- intervals [344]:
2246
- xmin = 34.77
2247
- xmax = 34.8
2248
- text = "N"
2249
- intervals [345]:
2250
- xmin = 34.8
2251
- xmax = 34.83
2252
- text = "T"
2253
- intervals [346]:
2254
- xmin = 34.83
2255
- xmax = 34.86
2256
- text = "T"
2257
- intervals [347]:
2258
- xmin = 34.86
2259
- xmax = 34.89
2260
- text = "IH0"
2261
- intervals [348]:
2262
- xmin = 34.89
2263
- xmax = 34.93
2264
- text = "B"
2265
- intervals [349]:
2266
- xmin = 34.93
2267
- xmax = 35.0
2268
- text = "IH0"
2269
- intervals [350]:
2270
- xmin = 35.0
2271
- xmax = 35.08
2272
- text = "K"
2273
- intervals [351]:
2274
- xmin = 35.08
2275
- xmax = 35.19
2276
- text = "AH1"
2277
- intervals [352]:
2278
- xmin = 35.19
2279
- xmax = 35.42
2280
- text = "M"
2281
- intervals [353]:
2282
- xmin = 35.42
2283
- xmax = 35.46
2284
- text = ""
2285
- intervals [354]:
2286
- xmin = 35.46
2287
- xmax = 35.59
2288
- text = "AH0"
2289
- intervals [355]:
2290
- xmin = 35.59
2291
- xmax = 35.68
2292
- text = "JH"
2293
- intervals [356]:
2294
- xmin = 35.68
2295
- xmax = 35.79
2296
- text = "ER1"
2297
- intervals [357]:
2298
- xmin = 35.79
2299
- xmax = 35.84
2300
- text = "N"
2301
- intervals [358]:
2302
- xmin = 35.84
2303
- xmax = 35.89
2304
- text = "AH0"
2305
- intervals [359]:
2306
- xmin = 35.89
2307
- xmax = 35.97
2308
- text = "L"
2309
- intervals [360]:
2310
- xmin = 35.97
2311
- xmax = 36.07
2312
- text = "AH0"
2313
- intervals [361]:
2314
- xmin = 36.07
2315
- xmax = 36.27
2316
- text = "S"
2317
- intervals [362]:
2318
- xmin = 36.27
2319
- xmax = 36.37
2320
- text = "T"
2321
- intervals [363]:
2322
- xmin = 36.37
2323
- xmax = 36.74
2324
- text = ""
2325
- intervals [364]:
2326
- xmin = 36.74
2327
- xmax = 36.92
2328
- text = "AH1"
2329
- intervals [365]:
2330
- xmin = 36.92
2331
- xmax = 36.96
2332
- text = "DH"
2333
- intervals [366]:
2334
- xmin = 36.96
2335
- xmax = 37.02
2336
- text = "ER0"
2337
- intervals [367]:
2338
- xmin = 37.02
2339
- xmax = 37.05
2340
- text = "DH"
2341
- intervals [368]:
2342
- xmin = 37.05
2343
- xmax = 37.13
2344
- text = "AE1"
2345
- intervals [369]:
2346
- xmin = 37.13
2347
- xmax = 37.18
2348
- text = "N"
2349
- intervals [370]:
2350
- xmin = 37.18
2351
- xmax = 37.23
2352
- text = "DH"
2353
- intervals [371]:
2354
- xmin = 37.23
2355
- xmax = 37.47
2356
- text = "AE1"
2357
- intervals [372]:
2358
- xmin = 37.47
2359
- xmax = 37.73
2360
- text = "T"
2361
- intervals [373]:
2362
- xmin = 37.73
2363
- xmax = 37.76
2364
- text = ""
2365
- intervals [374]:
2366
- xmin = 37.76
2367
- xmax = 37.8
2368
- text = "F"
2369
- intervals [375]:
2370
- xmin = 37.8
2371
- xmax = 37.85
2372
- text = "AH0"
2373
- intervals [376]:
2374
- xmin = 37.85
2375
- xmax = 37.96
2376
- text = "T"
2377
- intervals [377]:
2378
- xmin = 37.96
2379
- xmax = 38.08
2380
- text = "AA1"
2381
- intervals [378]:
2382
- xmin = 38.08
2383
- xmax = 38.13
2384
- text = "G"
2385
- intervals [379]:
2386
- xmin = 38.13
2387
- xmax = 38.2
2388
- text = "R"
2389
- intervals [380]:
2390
- xmin = 38.2
2391
- xmax = 38.26
2392
- text = "AH0"
2393
- intervals [381]:
2394
- xmin = 38.26
2395
- xmax = 38.35
2396
- text = "F"
2397
- intervals [382]:
2398
- xmin = 38.35
2399
- xmax = 38.72
2400
- text = "IY0"
2401
- intervals [383]:
2402
- xmin = 38.72
2403
- xmax = 38.96
2404
- text = ""
2405
- intervals [384]:
2406
- xmin = 38.96
2407
- xmax = 39.25
2408
- text = "AO1"
2409
- intervals [385]:
2410
- xmin = 39.25
2411
- xmax = 39.3
2412
- text = "F"
2413
- intervals [386]:
2414
- xmin = 39.3
2415
- xmax = 39.36
2416
- text = "AH0"
2417
- intervals [387]:
2418
- xmin = 39.36
2419
- xmax = 39.4
2420
- text = "N"
2421
- intervals [388]:
2422
- xmin = 39.4
2423
- xmax = 39.47
2424
- text = "M"
2425
- intervals [389]:
2426
- xmin = 39.47
2427
- xmax = 39.54
2428
- text = "EY1"
2429
- intervals [390]:
2430
- xmin = 39.54
2431
- xmax = 39.59
2432
- text = "K"
2433
- intervals [391]:
2434
- xmin = 39.59
2435
- xmax = 39.66
2436
- text = "S"
2437
- intervals [392]:
2438
- xmin = 39.66
2439
- xmax = 39.7
2440
- text = "M"
2441
- intervals [393]:
2442
- xmin = 39.7
2443
- xmax = 39.8
2444
- text = "IY1"
2445
- intervals [394]:
2446
- xmin = 39.8
2447
- xmax = 39.94
2448
- text = "F"
2449
- intervals [395]:
2450
- xmin = 39.94
2451
- xmax = 40.09
2452
- text = "IY1"
2453
- intervals [396]:
2454
- xmin = 40.09
2455
- xmax = 40.39
2456
- text = "L"
2457
- intervals [397]:
2458
- xmin = 40.39
2459
- xmax = 40.48
2460
- text = "L"
2461
- intervals [398]:
2462
- xmin = 40.48
2463
- xmax = 40.62
2464
- text = "AY1"
2465
- intervals [399]:
2466
- xmin = 40.62
2467
- xmax = 40.72
2468
- text = "K"
2469
- intervals [400]:
2470
- xmin = 40.72
2471
- xmax = 40.97
2472
- text = "AY1"
2473
- intervals [401]:
2474
- xmin = 40.97
2475
- xmax = 41.42
2476
- text = "M"
2477
- intervals [402]:
2478
- xmin = 41.42
2479
- xmax = 41.77
2480
- text = ""
2481
- intervals [403]:
2482
- xmin = 41.77
2483
- xmax = 41.85
2484
- text = "D"
2485
- intervals [404]:
2486
- xmin = 41.85
2487
- xmax = 41.95
2488
- text = "UW1"
2489
- intervals [405]:
2490
- xmin = 41.95
2491
- xmax = 42.02
2492
- text = "IH0"
2493
- intervals [406]:
2494
- xmin = 42.02
2495
- xmax = 42.06
2496
- text = "NG"
2497
- intervals [407]:
2498
- xmin = 42.06
2499
- xmax = 42.13
2500
- text = "EY1"
2501
- intervals [408]:
2502
- xmin = 42.13
2503
- xmax = 42.25
2504
- text = "JH"
2505
- intervals [409]:
2506
- xmin = 42.25
2507
- xmax = 42.36
2508
- text = "AA1"
2509
- intervals [410]:
2510
- xmin = 42.36
2511
- xmax = 42.41
2512
- text = "B"
2513
- intervals [411]:
2514
- xmin = 42.41
2515
- xmax = 42.47
2516
- text = "F"
2517
- intervals [412]:
2518
- xmin = 42.47
2519
- xmax = 42.51
2520
- text = "UH1"
2521
- intervals [413]:
2522
- xmin = 42.51
2523
- xmax = 42.58
2524
- text = "L"
2525
- intervals [414]:
2526
- xmin = 42.58
2527
- xmax = 42.61
2528
- text = "AH0"
2529
- intervals [415]:
2530
- xmin = 42.61
2531
- xmax = 42.64
2532
- text = "V"
2533
- intervals [416]:
2534
- xmin = 42.64
2535
- xmax = 42.68
2536
- text = "D"
2537
- intervals [417]:
2538
- xmin = 42.68
2539
- xmax = 42.74
2540
- text = "IH0"
2541
- intervals [418]:
2542
- xmin = 42.74
2543
- xmax = 42.83
2544
- text = "Z"
2545
- intervals [419]:
2546
- xmin = 42.83
2547
- xmax = 42.96
2548
- text = "AY1"
2549
- intervals [420]:
2550
- xmin = 42.96
2551
- xmax = 42.99
2552
- text = "N"
2553
- intervals [421]:
2554
- xmin = 42.99
2555
- xmax = 43.03
2556
- text = "AE1"
2557
- intervals [422]:
2558
- xmin = 43.03
2559
- xmax = 43.07
2560
- text = "N"
2561
- intervals [423]:
2562
- xmin = 43.07
2563
- xmax = 43.12
2564
- text = "D"
2565
- intervals [424]:
2566
- xmin = 43.12
2567
- xmax = 43.19
2568
- text = "IH0"
2569
- intervals [425]:
2570
- xmin = 43.19
2571
- xmax = 43.25
2572
- text = "N"
2573
- intervals [426]:
2574
- xmin = 43.25
2575
- xmax = 43.3
2576
- text = "F"
2577
- intervals [427]:
2578
- xmin = 43.3
2579
- xmax = 43.52
2580
- text = "ER0"
2581
- intervals [428]:
2582
- xmin = 43.52
2583
- xmax = 43.68
2584
- text = "IH2"
2585
- intervals [429]:
2586
- xmin = 43.68
2587
- xmax = 43.74
2588
- text = "N"
2589
- intervals [430]:
2590
- xmin = 43.74
2591
- xmax = 43.8
2592
- text = "AH0"
2593
- intervals [431]:
2594
- xmin = 43.8
2595
- xmax = 43.87
2596
- text = "V"
2597
- intervals [432]:
2598
- xmin = 43.87
2599
- xmax = 44.01
2600
- text = "EY1"
2601
- intervals [433]:
2602
- xmin = 44.01
2603
- xmax = 44.09
2604
- text = "SH"
2605
- intervals [434]:
2606
- xmin = 44.09
2607
- xmax = 44.16
2608
- text = "AH0"
2609
- intervals [435]:
2610
- xmin = 44.16
2611
- xmax = 44.31
2612
- text = "N"
2613
- intervals [436]:
2614
- xmin = 44.31
2615
- xmax = 45.18
2616
- text = ""
2617
- intervals [437]:
2618
- xmin = 45.18
2619
- xmax = 45.24
2620
- text = "B"
2621
- intervals [438]:
2622
- xmin = 45.24
2623
- xmax = 45.3
2624
- text = "IH0"
2625
- intervals [439]:
2626
- xmin = 45.3
2627
- xmax = 45.39
2628
- text = "K"
2629
- intervals [440]:
2630
- xmin = 45.39
2631
- xmax = 45.54
2632
- text = "AH1"
2633
- intervals [441]:
2634
- xmin = 45.54
2635
- xmax = 45.73
2636
- text = "Z"
2637
- intervals [442]:
2638
- xmin = 45.73
2639
- xmax = 45.81
2640
- text = "F"
2641
- intervals [443]:
2642
- xmin = 45.81
2643
- xmax = 45.84
2644
- text = "R"
2645
- intervals [444]:
2646
- xmin = 45.84
2647
- xmax = 45.89
2648
- text = "ER0"
2649
- intervals [445]:
2650
- xmin = 45.89
2651
- xmax = 45.93
2652
- text = "DH"
2653
- intervals [446]:
2654
- xmin = 45.93
2655
- xmax = 45.99
2656
- text = "AH0"
2657
- intervals [447]:
2658
- xmin = 45.99
2659
- xmax = 46.12
2660
- text = "S"
2661
- intervals [448]:
2662
- xmin = 46.12
2663
- xmax = 46.25
2664
- text = "EY1"
2665
- intervals [449]:
2666
- xmin = 46.25
2667
- xmax = 46.35
2668
- text = "M"
2669
- intervals [450]:
2670
- xmin = 46.35
2671
- xmax = 46.48
2672
- text = "S"
2673
- intervals [451]:
2674
- xmin = 46.48
2675
- xmax = 46.59
2676
- text = "IY1"
2677
- intervals [452]:
2678
- xmin = 46.59
2679
- xmax = 46.65
2680
- text = "N"
2681
- intervals [453]:
2682
- xmin = 46.65
2683
- xmax = 46.74
2684
- text = "ER0"
2685
- intervals [454]:
2686
- xmin = 46.74
2687
- xmax = 46.88
2688
- text = "IY0"
2689
- intervals [455]:
2690
- xmin = 46.88
2691
- xmax = 46.94
2692
- text = "W"
2693
- intervals [456]:
2694
- xmin = 46.94
2695
- xmax = 47.01
2696
- text = "IY1"
2697
- intervals [457]:
2698
- xmin = 47.01
2699
- xmax = 47.06
2700
- text = "K"
2701
- intervals [458]:
2702
- xmin = 47.06
2703
- xmax = 47.09
2704
- text = "AH0"
2705
- intervals [459]:
2706
- xmin = 47.09
2707
- xmax = 47.12
2708
- text = "N"
2709
- intervals [460]:
2710
- xmin = 47.12
2711
- xmax = 47.22
2712
- text = "Y"
2713
- intervals [461]:
2714
- xmin = 47.22
2715
- xmax = 47.27
2716
- text = "UW1"
2717
- intervals [462]:
2718
- xmin = 47.27
2719
- xmax = 47.34
2720
- text = "Z"
2721
- intervals [463]:
2722
- xmin = 47.34
2723
- xmax = 47.4
2724
- text = "D"
2725
- intervals [464]:
2726
- xmin = 47.4
2727
- xmax = 47.45
2728
- text = "IH1"
2729
- intervals [465]:
2730
- xmin = 47.45
2731
- xmax = 47.49
2732
- text = "F"
2733
- intervals [466]:
2734
- xmin = 47.49
2735
- xmax = 47.52
2736
- text = "R"
2737
- intervals [467]:
2738
- xmin = 47.52
2739
- xmax = 47.55
2740
- text = "AH0"
2741
- intervals [468]:
2742
- xmin = 47.55
2743
- xmax = 47.58
2744
- text = "N"
2745
- intervals [469]:
2746
- xmin = 47.58
2747
- xmax = 47.61
2748
- text = "T"
2749
- intervals [470]:
2750
- xmin = 47.61
2751
- xmax = 47.74
2752
- text = "AE1"
2753
- intervals [471]:
2754
- xmin = 47.74
2755
- xmax = 47.82
2756
- text = "NG"
2757
- intervals [472]:
2758
- xmin = 47.82
2759
- xmax = 47.85
2760
- text = "G"
2761
- intervals [473]:
2762
- xmin = 47.85
2763
- xmax = 47.89
2764
- text = "AH0"
2765
- intervals [474]:
2766
- xmin = 47.89
2767
- xmax = 48.04
2768
- text = "L"
2769
- intervals [475]:
2770
- xmin = 48.04
2771
- xmax = 48.12
2772
- text = "Z"
2773
- intervals [476]:
2774
- xmin = 48.12
2775
- xmax = 48.15
2776
- text = "AH0"
2777
- intervals [477]:
2778
- xmin = 48.15
2779
- xmax = 48.18
2780
- text = "N"
2781
- intervals [478]:
2782
- xmin = 48.18
2783
- xmax = 48.21
2784
- text = "D"
2785
- intervals [479]:
2786
- xmin = 48.21
2787
- xmax = 48.26
2788
- text = "D"
2789
- intervals [480]:
2790
- xmin = 48.26
2791
- xmax = 48.31
2792
- text = "IH1"
2793
- intervals [481]:
2794
- xmin = 48.31
2795
- xmax = 48.36
2796
- text = "F"
2797
- intervals [482]:
2798
- xmin = 48.36
2799
- xmax = 48.39
2800
- text = "R"
2801
- intervals [483]:
2802
- xmin = 48.39
2803
- xmax = 48.42
2804
- text = "AH0"
2805
- intervals [484]:
2806
- xmin = 48.42
2807
- xmax = 48.45
2808
- text = "N"
2809
- intervals [485]:
2810
- xmin = 48.45
2811
- xmax = 48.48
2812
- text = "T"
2813
- intervals [486]:
2814
- xmin = 48.48
2815
- xmax = 48.53
2816
- text = "K"
2817
- intervals [487]:
2818
- xmin = 48.53
2819
- xmax = 48.6
2820
- text = "AA2"
2821
- intervals [488]:
2822
- xmin = 48.6
2823
- xmax = 48.64
2824
- text = "M"
2825
- intervals [489]:
2826
- xmin = 48.64
2827
- xmax = 48.67
2828
- text = "P"
2829
- intervals [490]:
2830
- xmin = 48.67
2831
- xmax = 48.72
2832
- text = "AH0"
2833
- intervals [491]:
2834
- xmin = 48.72
2835
- xmax = 48.8
2836
- text = "Z"
2837
- intervals [492]:
2838
- xmin = 48.8
2839
- xmax = 48.88
2840
- text = "IH1"
2841
- intervals [493]:
2842
- xmin = 48.88
2843
- xmax = 48.95
2844
- text = "SH"
2845
- intervals [494]:
2846
- xmin = 48.95
2847
- xmax = 49.02
2848
- text = "AH0"
2849
- intervals [495]:
2850
- xmin = 49.02
2851
- xmax = 49.12
2852
- text = "N"
2853
- intervals [496]:
2854
- xmin = 49.12
2855
- xmax = 49.32
2856
- text = "Z"
2857
- intervals [497]:
2858
- xmin = 49.32
2859
- xmax = 49.68
2860
- text = ""
2861
- intervals [498]:
2862
- xmin = 49.68
2863
- xmax = 49.91
2864
- text = "F"
2865
- intervals [499]:
2866
- xmin = 49.91
2867
- xmax = 49.98
2868
- text = "ER0"
2869
- intervals [500]:
2870
- xmin = 49.98
2871
- xmax = 50.02
2872
- text = "IH0"
2873
- intervals [501]:
2874
- xmin = 50.02
2875
- xmax = 50.06
2876
- text = "G"
2877
- intervals [502]:
2878
- xmin = 50.06
2879
- xmax = 50.13
2880
- text = "Z"
2881
- intervals [503]:
2882
- xmin = 50.13
2883
- xmax = 50.22
2884
- text = "AE1"
2885
- intervals [504]:
2886
- xmin = 50.22
2887
- xmax = 50.27
2888
- text = "M"
2889
- intervals [505]:
2890
- xmin = 50.27
2891
- xmax = 50.31
2892
- text = "P"
2893
- intervals [506]:
2894
- xmin = 50.31
2895
- xmax = 50.34
2896
- text = "AH0"
2897
- intervals [507]:
2898
- xmin = 50.34
2899
- xmax = 50.4
2900
- text = "L"
2901
- intervals [508]:
2902
- xmin = 50.4
2903
- xmax = 50.48
2904
- text = "P"
2905
- intervals [509]:
2906
- xmin = 50.48
2907
- xmax = 50.58
2908
- text = "IY1"
2909
- intervals [510]:
2910
- xmin = 50.58
2911
- xmax = 50.63
2912
- text = "P"
2913
- intervals [511]:
2914
- xmin = 50.63
2915
- xmax = 50.69
2916
- text = "AH0"
2917
- intervals [512]:
2918
- xmin = 50.69
2919
- xmax = 50.91
2920
- text = "L"
2921
- intervals [513]:
2922
- xmin = 50.91
2923
- xmax = 51.21
2924
- text = "B"
2925
- intervals [514]:
2926
- xmin = 51.21
2927
- xmax = 51.29
2928
- text = "IY1"
2929
- intervals [515]:
2930
- xmin = 51.29
2931
- xmax = 51.34
2932
- text = "IH0"
2933
- intervals [516]:
2934
- xmin = 51.34
2935
- xmax = 51.42
2936
- text = "NG"
2937
- intervals [517]:
2938
- xmin = 51.42
2939
- xmax = 51.57
2940
- text = "SH"
2941
- intervals [518]:
2942
- xmin = 51.57
2943
- xmax = 51.62
2944
- text = "IH1"
2945
- intervals [519]:
2946
- xmin = 51.62
2947
- xmax = 51.68
2948
- text = "F"
2949
- intervals [520]:
2950
- xmin = 51.68
2951
- xmax = 51.74
2952
- text = "T"
2953
- intervals [521]:
2954
- xmin = 51.74
2955
- xmax = 51.79
2956
- text = "IH0"
2957
- intervals [522]:
2958
- xmin = 51.79
2959
- xmax = 51.91
2960
- text = "D"
2961
- intervals [523]:
2962
- xmin = 51.91
2963
- xmax = 51.94
2964
- text = "F"
2965
- intervals [524]:
2966
- xmin = 51.94
2967
- xmax = 52.02
2968
- text = "ER0"
2969
- intervals [525]:
2970
- xmin = 52.02
2971
- xmax = 52.06
2972
- text = "M"
2973
- intervals [526]:
2974
- xmin = 52.06
2975
- xmax = 52.1
2976
- text = "DH"
2977
- intervals [527]:
2978
- xmin = 52.1
2979
- xmax = 52.15
2980
- text = "AH0"
2981
- intervals [528]:
2982
- xmin = 52.15
2983
- xmax = 52.27
2984
- text = "S"
2985
- intervals [529]:
2986
- xmin = 52.27
2987
- xmax = 52.32
2988
- text = "EH1"
2989
- intervals [530]:
2990
- xmin = 52.32
2991
- xmax = 52.38
2992
- text = "N"
2993
- intervals [531]:
2994
- xmin = 52.38
2995
- xmax = 52.47
2996
- text = "ER0"
2997
- intervals [532]:
2998
- xmin = 52.47
2999
- xmax = 52.51
3000
- text = "AH0"
3001
- intervals [533]:
3002
- xmin = 52.51
3003
- xmax = 52.54
3004
- text = "V"
3005
- intervals [534]:
3006
- xmin = 52.54
3007
- xmax = 52.57
3008
- text = "DH"
3009
- intervals [535]:
3010
- xmin = 52.57
3011
- xmax = 52.63
3012
- text = "AH0"
3013
- intervals [536]:
3014
- xmin = 52.63
3015
- xmax = 52.72
3016
- text = "F"
3017
- intervals [537]:
3018
- xmin = 52.72
3019
- xmax = 52.8
3020
- text = "R"
3021
- intervals [538]:
3022
- xmin = 52.8
3023
- xmax = 52.89
3024
- text = "EY1"
3025
- intervals [539]:
3026
- xmin = 52.89
3027
- xmax = 52.95
3028
- text = "M"
3029
- intervals [540]:
3030
- xmin = 52.95
3031
- xmax = 53.01
3032
- text = "T"
3033
- intervals [541]:
3034
- xmin = 53.01
3035
- xmax = 53.1
3036
- text = "AH0"
3037
- intervals [542]:
3038
- xmin = 53.1
3039
- xmax = 53.19
3040
- text = "L"
3041
- intervals [543]:
3042
- xmin = 53.19
3043
- xmax = 53.26
3044
- text = "EH1"
3045
- intervals [544]:
3046
- xmin = 53.26
3047
- xmax = 53.29
3048
- text = "F"
3049
- intervals [545]:
3050
- xmin = 53.29
3051
- xmax = 53.32
3052
- text = "T"
3053
- intervals [546]:
3054
- xmin = 53.32
3055
- xmax = 53.4
3056
- text = "S"
3057
- intervals [547]:
3058
- xmin = 53.4
3059
- xmax = 53.5
3060
- text = "AY1"
3061
- intervals [548]:
3062
- xmin = 53.5
3063
- xmax = 53.54
3064
- text = "D"
3065
- intervals [549]:
3066
- xmin = 53.54
3067
- xmax = 53.57
3068
- text = "AH0"
3069
- intervals [550]:
3070
- xmin = 53.57
3071
- xmax = 53.6
3072
- text = "V"
3073
- intervals [551]:
3074
- xmin = 53.6
3075
- xmax = 53.63
3076
- text = "DH"
3077
- intervals [552]:
3078
- xmin = 53.63
3079
- xmax = 53.69
3080
- text = "AH0"
3081
- intervals [553]:
3082
- xmin = 53.69
3083
- xmax = 53.78
3084
- text = "F"
3085
- intervals [554]:
3086
- xmin = 53.78
3087
- xmax = 53.92
3088
- text = "R"
3089
- intervals [555]:
3090
- xmin = 53.92
3091
- xmax = 54.03
3092
- text = "EY1"
3093
- intervals [556]:
3094
- xmin = 54.03
3095
- xmax = 54.17
3096
- text = "M"
3097
- intervals [557]:
3098
- xmin = 54.17
3099
- xmax = 54.62
3100
- text = ""
3101
- intervals [558]:
3102
- xmin = 54.62
3103
- xmax = 54.72
3104
- text = "IH0"
3105
- intervals [559]:
3106
- xmin = 54.72
3107
- xmax = 54.75
3108
- text = "T"
3109
- intervals [560]:
3110
- xmin = 54.75
3111
- xmax = 54.82
3112
- text = "K"
3113
- intervals [561]:
3114
- xmin = 54.82
3115
- xmax = 54.88
3116
- text = "AH0"
3117
- intervals [562]:
3118
- xmin = 54.88
3119
- xmax = 54.91
3120
- text = "N"
3121
- intervals [563]:
3122
- xmin = 54.91
3123
- xmax = 54.97
3124
- text = "M"
3125
- intervals [564]:
3126
- xmin = 54.97
3127
- xmax = 55.1
3128
- text = "EY1"
3129
- intervals [565]:
3130
- xmin = 55.1
3131
- xmax = 55.13
3132
- text = "K"
3133
- intervals [566]:
3134
- xmin = 55.13
3135
- xmax = 55.22
3136
- text = "EY1"
3137
- intervals [567]:
3138
- xmin = 55.22
3139
- xmax = 55.29
3140
- text = "D"
3141
- intervals [568]:
3142
- xmin = 55.29
3143
- xmax = 55.35
3144
- text = "IH1"
3145
- intervals [569]:
3146
- xmin = 55.35
3147
- xmax = 55.43
3148
- text = "F"
3149
- intervals [570]:
3150
- xmin = 55.43
3151
- xmax = 55.46
3152
- text = "R"
3153
- intervals [571]:
3154
- xmin = 55.46
3155
- xmax = 55.49
3156
- text = "AH0"
3157
- intervals [572]:
3158
- xmin = 55.49
3159
- xmax = 55.52
3160
- text = "N"
3161
- intervals [573]:
3162
- xmin = 55.52
3163
- xmax = 55.56
3164
- text = "T"
3165
- intervals [574]:
3166
- xmin = 55.56
3167
- xmax = 55.64
3168
- text = "F"
3169
- intervals [575]:
3170
- xmin = 55.64
3171
- xmax = 55.77
3172
- text = "IY1"
3173
- intervals [576]:
3174
- xmin = 55.77
3175
- xmax = 55.82
3176
- text = "L"
3177
- intervals [577]:
3178
- xmin = 55.82
3179
- xmax = 55.88
3180
- text = "IH0"
3181
- intervals [578]:
3182
- xmin = 55.88
3183
- xmax = 56.05
3184
- text = "NG"
3185
- intervals [579]:
3186
- xmin = 56.05
3187
- xmax = 56.41
3188
- text = ""
3189
- intervals [580]:
3190
- xmin = 56.41
3191
- xmax = 56.48
3192
- text = "W"
3193
- intervals [581]:
3194
- xmin = 56.48
3195
- xmax = 56.66
3196
- text = "EH1"
3197
- intervals [582]:
3198
- xmin = 56.66
3199
- xmax = 56.69
3200
- text = "N"
3201
- intervals [583]:
3202
- xmin = 56.69
3203
- xmax = 57.1
3204
- text = "W"
3205
- intervals [584]:
3206
- xmin = 57.1
3207
- xmax = 57.25
3208
- text = "IY1"
3209
- intervals [585]:
3210
- xmin = 57.25
3211
- xmax = 57.5
3212
- text = ""
3213
- intervals [586]:
3214
- xmin = 57.5
3215
- xmax = 57.68
3216
- text = "W"
3217
- intervals [587]:
3218
- xmin = 57.68
3219
- xmax = 57.72
3220
- text = "EH1"
3221
- intervals [588]:
3222
- xmin = 57.72
3223
- xmax = 57.82
3224
- text = "N"
3225
- intervals [589]:
3226
- xmin = 57.82
3227
- xmax = 57.96
3228
- text = "S"
3229
- intervals [590]:
3230
- xmin = 57.96
3231
- xmax = 58.02
3232
- text = "IY1"
3233
- intervals [591]:
3234
- xmin = 58.02
3235
- xmax = 58.07
3236
- text = "N"
3237
- intervals [592]:
3238
- xmin = 58.07
3239
- xmax = 58.11
3240
- text = "IH1"
3241
- intervals [593]:
3242
- xmin = 58.11
3243
- xmax = 58.17
3244
- text = "N"
3245
- intervals [594]:
3246
- xmin = 58.17
3247
- xmax = 58.25
3248
- text = "K"
3249
- intervals [595]:
3250
- xmin = 58.25
3251
- xmax = 58.41
3252
- text = "AA1"
3253
- intervals [596]:
3254
- xmin = 58.41
3255
- xmax = 58.47
3256
- text = "N"
3257
- intervals [597]:
3258
- xmin = 58.47
3259
- xmax = 58.53
3260
- text = "T"
3261
- intervals [598]:
3262
- xmin = 58.53
3263
- xmax = 58.65
3264
- text = "EH0"
3265
- intervals [599]:
3266
- xmin = 58.65
3267
- xmax = 58.69
3268
- text = "K"
3269
- intervals [600]:
3270
- xmin = 58.69
3271
- xmax = 58.74
3272
- text = "S"
3273
- intervals [601]:
3274
- xmin = 58.74
3275
- xmax = 58.77
3276
- text = "T"
3277
- intervals [602]:
3278
- xmin = 58.77
3279
- xmax = 58.8
3280
- text = "W"
3281
- intervals [603]:
3282
- xmin = 58.8
3283
- xmax = 58.83
3284
- text = "IH0"
3285
- intervals [604]:
3286
- xmin = 58.83
3287
- xmax = 58.86
3288
- text = "DH"
3289
- intervals [605]:
3290
- xmin = 58.86
3291
- xmax = 58.9
3292
- text = "DH"
3293
- intervals [606]:
3294
- xmin = 58.9
3295
- xmax = 58.93
3296
- text = "AH1"
3297
- intervals [607]:
3298
- xmin = 58.93
3299
- xmax = 59.03
3300
- text = "B"
3301
- intervals [608]:
3302
- xmin = 59.03
3303
- xmax = 59.2
3304
- text = "AE1"
3305
- intervals [609]:
3306
- xmin = 59.2
3307
- xmax = 59.25
3308
- text = "K"
3309
- intervals [610]:
3310
- xmin = 59.25
3311
- xmax = 59.29
3312
- text = "G"
3313
- intervals [611]:
3314
- xmin = 59.29
3315
- xmax = 59.33
3316
- text = "R"
3317
- intervals [612]:
3318
- xmin = 59.33
3319
- xmax = 59.45
3320
- text = "AW2"
3321
- intervals [613]:
3322
- xmin = 59.45
3323
- xmax = 59.52
3324
- text = "N"
3325
- intervals [614]:
3326
- xmin = 59.52
3327
- xmax = 59.61
3328
- text = "D"
3329
- intervals [615]:
3330
- xmin = 59.61
3331
- xmax = 59.96
3332
- text = ""
3333
- intervals [616]:
3334
- xmin = 59.96
3335
- xmax = 60.13
3336
- text = "W"
3337
- intervals [617]:
3338
- xmin = 60.13
3339
- xmax = 60.17
3340
- text = "EH1"
3341
- intervals [618]:
3342
- xmin = 60.17
3343
- xmax = 60.31
3344
- text = "N"
3345
- intervals [619]:
3346
- xmin = 60.31
3347
- xmax = 60.41
3348
- text = "EH1"
3349
- intervals [620]:
3350
- xmin = 60.41
3351
- xmax = 60.45
3352
- text = "V"
3353
- intervals [621]:
3354
- xmin = 60.45
3355
- xmax = 60.48
3356
- text = "R"
3357
- intervals [622]:
3358
- xmin = 60.48
3359
- xmax = 60.51
3360
- text = "IY0"
3361
- intervals [623]:
3362
- xmin = 60.51
3363
- xmax = 60.58
3364
- text = "W"
3365
- intervals [624]:
3366
- xmin = 60.58
3367
- xmax = 60.65
3368
- text = "AH2"
3369
- intervals [625]:
3370
- xmin = 60.65
3371
- xmax = 60.69
3372
- text = "N"
3373
- intervals [626]:
3374
- xmin = 60.69
3375
- xmax = 60.79
3376
- text = "Z"
3377
- intervals [627]:
3378
- xmin = 60.79
3379
- xmax = 60.86
3380
- text = "T"
3381
- intervals [628]:
3382
- xmin = 60.86
3383
- xmax = 60.92
3384
- text = "EY1"
3385
- intervals [629]:
3386
- xmin = 60.92
3387
- xmax = 60.95
3388
- text = "K"
3389
- intervals [630]:
3390
- xmin = 60.95
3391
- xmax = 61.0
3392
- text = "IH0"
3393
- intervals [631]:
3394
- xmin = 61.0
3395
- xmax = 61.08
3396
- text = "NG"
3397
- intervals [632]:
3398
- xmin = 61.08
3399
- xmax = 61.14
3400
- text = "AH0"
3401
- intervals [633]:
3402
- xmin = 61.14
3403
- xmax = 61.2
3404
- text = "P"
3405
- intervals [634]:
3406
- xmin = 61.2
3407
- xmax = 61.28
3408
- text = "IH1"
3409
- intervals [635]:
3410
- xmin = 61.28
3411
- xmax = 61.32
3412
- text = "K"
3413
- intervals [636]:
3414
- xmin = 61.32
3415
- xmax = 61.43
3416
- text = "CH"
3417
- intervals [637]:
3418
- xmin = 61.43
3419
- xmax = 61.46
3420
- text = "ER0"
3421
- intervals [638]:
3422
- xmin = 61.46
3423
- xmax = 61.49
3424
- text = "AH0"
3425
- intervals [639]:
3426
- xmin = 61.49
3427
- xmax = 61.53
3428
- text = "V"
3429
- intervals [640]:
3430
- xmin = 61.53
3431
- xmax = 61.56
3432
- text = "DH"
3433
- intervals [641]:
3434
- xmin = 61.56
3435
- xmax = 61.6
3436
- text = "AH0"
3437
- intervals [642]:
3438
- xmin = 61.6
3439
- xmax = 61.64
3440
- text = "IH0"
3441
- intervals [643]:
3442
- xmin = 61.64
3443
- xmax = 61.69
3444
- text = "G"
3445
- intervals [644]:
3446
- xmin = 61.69
3447
- xmax = 61.76
3448
- text = "Z"
3449
- intervals [645]:
3450
- xmin = 61.76
3451
- xmax = 61.9
3452
- text = "AE1"
3453
- intervals [646]:
3454
- xmin = 61.9
3455
- xmax = 61.94
3456
- text = "K"
3457
- intervals [647]:
3458
- xmin = 61.94
3459
- xmax = 61.98
3460
- text = "T"
3461
- intervals [648]:
3462
- xmin = 61.98
3463
- xmax = 62.05
3464
- text = "S"
3465
- intervals [649]:
3466
- xmin = 62.05
3467
- xmax = 62.13
3468
- text = "EY1"
3469
- intervals [650]:
3470
- xmin = 62.13
3471
- xmax = 62.19
3472
- text = "M"
3473
- intervals [651]:
3474
- xmin = 62.19
3475
- xmax = 62.3
3476
- text = "S"
3477
- intervals [652]:
3478
- xmin = 62.3
3479
- xmax = 62.34
3480
- text = "IY1"
3481
- intervals [653]:
3482
- xmin = 62.34
3483
- xmax = 62.39
3484
- text = "N"
3485
- intervals [654]:
3486
- xmin = 62.39
3487
- xmax = 62.47
3488
- text = "ER0"
3489
- intervals [655]:
3490
- xmin = 62.47
3491
- xmax = 62.64
3492
- text = "IY0"
3493
- intervals [656]:
3494
- xmin = 62.64
3495
- xmax = 62.67
3496
- text = ""
3497
- intervals [657]:
3498
- xmin = 62.67
3499
- xmax = 62.8
3500
- text = "AY1"
3501
- intervals [658]:
3502
- xmin = 62.8
3503
- xmax = 62.89
3504
- text = "M"
3505
- intervals [659]:
3506
- xmin = 62.89
3507
- xmax = 63.03
3508
- text = "V"
3509
- intervals [660]:
3510
- xmin = 63.03
3511
- xmax = 63.12
3512
- text = "EH1"
3513
- intervals [661]:
3514
- xmin = 63.12
3515
- xmax = 63.22
3516
- text = "R"
3517
- intervals [662]:
3518
- xmin = 63.22
3519
- xmax = 63.28
3520
- text = "IY0"
3521
- intervals [663]:
3522
- xmin = 63.28
3523
- xmax = 63.39
3524
- text = "HH"
3525
- intervals [664]:
3526
- xmin = 63.39
3527
- xmax = 63.56
3528
- text = "AE1"
3529
- intervals [665]:
3530
- xmin = 63.56
3531
- xmax = 63.62
3532
- text = "P"
3533
- intervals [666]:
3534
- xmin = 63.62
3535
- xmax = 63.75
3536
- text = "IY0"
3537
- intervals [667]:
3538
- xmin = 63.75
3539
- xmax = 63.81
3540
- text = "W"
3541
- intervals [668]:
3542
- xmin = 63.81
3543
- xmax = 63.85
3544
- text = "IH1"
3545
- intervals [669]:
3546
- xmin = 63.85
3547
- xmax = 63.9
3548
- text = "N"
3549
- intervals [670]:
3550
- xmin = 63.9
3551
- xmax = 64.03
3552
- text = "P"
3553
- intervals [671]:
3554
- xmin = 64.03
3555
- xmax = 64.14
3556
- text = "IY1"
3557
- intervals [672]:
3558
- xmin = 64.14
3559
- xmax = 64.19
3560
- text = "P"
3561
- intervals [673]:
3562
- xmin = 64.19
3563
- xmax = 64.23
3564
- text = "AH0"
3565
- intervals [674]:
3566
- xmin = 64.23
3567
- xmax = 64.35
3568
- text = "L"
3569
- intervals [675]:
3570
- xmin = 64.35
3571
- xmax = 64.48
3572
- text = "S"
3573
- intervals [676]:
3574
- xmin = 64.48
3575
- xmax = 64.6
3576
- text = "EY1"
3577
- intervals [677]:
3578
- xmin = 64.6
3579
- xmax = 64.69
3580
- text = "M"
3581
- intervals [678]:
3582
- xmin = 64.69
3583
- xmax = 64.84
3584
- text = "AY1"
3585
- intervals [679]:
3586
- xmin = 64.84
3587
- xmax = 64.99
3588
- text = "F"
3589
- intervals [680]:
3590
- xmin = 64.99
3591
- xmax = 65.07
3592
- text = "OW1"
3593
- intervals [681]:
3594
- xmin = 65.07
3595
- xmax = 65.1
3596
- text = "T"
3597
- intervals [682]:
3598
- xmin = 65.1
3599
- xmax = 65.18
3600
- text = "OW2"
3601
- intervals [683]:
3602
- xmin = 65.18
3603
- xmax = 65.29
3604
- text = "Z"
3605
- intervals [684]:
3606
- xmin = 65.29
3607
- xmax = 65.37
3608
- text = "L"
3609
- intervals [685]:
3610
- xmin = 65.37
3611
- xmax = 65.42
3612
- text = "UH1"
3613
- intervals [686]:
3614
- xmin = 65.42
3615
- xmax = 65.47
3616
- text = "K"
3617
- intervals [687]:
3618
- xmin = 65.47
3619
- xmax = 65.67
3620
- text = "B"
3621
- intervals [688]:
3622
- xmin = 65.67
3623
- xmax = 65.79
3624
- text = "EH1"
3625
- intervals [689]:
3626
- xmin = 65.79
3627
- xmax = 65.88
3628
- text = "T"
3629
- intervals [690]:
3630
- xmin = 65.88
3631
- xmax = 66.11
3632
- text = "ER0"
3633
- intervals [691]:
3634
- xmin = 66.11
3635
- xmax = 66.43
3636
- text = ""
3637
- intervals [692]:
3638
- xmin = 66.43
3639
- xmax = 66.5
3640
- text = "DH"
3641
- intervals [693]:
3642
- xmin = 66.5
3643
- xmax = 66.53
3644
- text = "AH0"
3645
- intervals [694]:
3646
- xmin = 66.53
3647
- xmax = 66.56
3648
- text = "N"
3649
- intervals [695]:
3650
- xmin = 66.56
3651
- xmax = 66.6
3652
- text = "DH"
3653
- intervals [696]:
3654
- xmin = 66.6
3655
- xmax = 66.7
3656
- text = "IY0"
3657
- intervals [697]:
3658
- xmin = 66.7
3659
- xmax = 66.76
3660
- text = "AH1"
3661
- intervals [698]:
3662
- xmin = 66.76
3663
- xmax = 66.82
3664
- text = "DH"
3665
- intervals [699]:
3666
- xmin = 66.82
3667
- xmax = 66.95
3668
- text = "ER0"
3669
- intervals [700]:
3670
- xmin = 66.95
3671
- xmax = 67.19
3672
- text = "Z"
3673
- intervals [701]:
3674
- xmin = 67.19
3675
- xmax = 68
3676
- text = ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EMAGE/test_sequences/textgrid/2_scott_0_4_4.TextGrid DELETED
@@ -1,3844 +0,0 @@
1
- File type = "ooTextFile"
2
- Object class = "TextGrid"
3
-
4
- xmin = 0.0
5
- xmax = 67
6
- tiers? <exists>
7
- size = 2
8
- item []:
9
- item [1]:
10
- class = "IntervalTier"
11
- name = "words"
12
- xmin = 0.0
13
- xmax = 67
14
- intervals: size = 235
15
- intervals [1]:
16
- xmin = 0.0
17
- xmax = 0.53
18
- text = ""
19
- intervals [2]:
20
- xmin = 0.53
21
- xmax = 0.93
22
- text = "my"
23
- intervals [3]:
24
- xmin = 0.93
25
- xmax = 1.34
26
- text = "favorite"
27
- intervals [4]:
28
- xmin = 1.34
29
- xmax = 1.57
30
- text = "kind"
31
- intervals [5]:
32
- xmin = 1.57
33
- xmax = 1.65
34
- text = "of"
35
- intervals [6]:
36
- xmin = 1.65
37
- xmax = 2.2
38
- text = "movies"
39
- intervals [7]:
40
- xmin = 2.2
41
- xmax = 2.45
42
- text = "are"
43
- intervals [8]:
44
- xmin = 2.45
45
- xmax = 3.2
46
- text = "romantic"
47
- intervals [9]:
48
- xmin = 3.2
49
- xmax = 3.72
50
- text = "movies"
51
- intervals [10]:
52
- xmin = 3.72
53
- xmax = 3.75
54
- text = ""
55
- intervals [11]:
56
- xmin = 3.75
57
- xmax = 4.1
58
- text = "such"
59
- intervals [12]:
60
- xmin = 4.1
61
- xmax = 4.33
62
- text = "as"
63
- intervals [13]:
64
- xmin = 4.33
65
- xmax = 5.23
66
- text = "titanic"
67
- intervals [14]:
68
- xmin = 5.23
69
- xmax = 5.78
70
- text = ""
71
- intervals [15]:
72
- xmin = 5.78
73
- xmax = 6.19
74
- text = "it's"
75
- intervals [16]:
76
- xmin = 6.19
77
- xmax = 6.46
78
- text = "a"
79
- intervals [17]:
80
- xmin = 6.46
81
- xmax = 6.49
82
- text = ""
83
- intervals [18]:
84
- xmin = 6.49
85
- xmax = 7.13
86
- text = "fantastic"
87
- intervals [19]:
88
- xmin = 7.13
89
- xmax = 7.56
90
- text = "film"
91
- intervals [20]:
92
- xmin = 7.56
93
- xmax = 7.77
94
- text = "it"
95
- intervals [21]:
96
- xmin = 7.77
97
- xmax = 8.28
98
- text = "captured"
99
- intervals [22]:
100
- xmin = 8.28
101
- xmax = 8.73
102
- text = "many"
103
- intervals [23]:
104
- xmin = 8.73
105
- xmax = 9.1
106
- text = "young"
107
- intervals [24]:
108
- xmin = 9.1
109
- xmax = 9.44
110
- text = "people's"
111
- intervals [25]:
112
- xmin = 9.44
113
- xmax = 9.79
114
- text = "hearts"
115
- intervals [26]:
116
- xmin = 9.79
117
- xmax = 10.02
118
- text = "with"
119
- intervals [27]:
120
- xmin = 10.02
121
- xmax = 10.17
122
- text = "it's"
123
- intervals [28]:
124
- xmin = 10.17
125
- xmax = 10.65
126
- text = "amazing"
127
- intervals [29]:
128
- xmin = 10.65
129
- xmax = 11.12
130
- text = "music"
131
- intervals [30]:
132
- xmin = 11.12
133
- xmax = 11.36
134
- text = "and"
135
- intervals [31]:
136
- xmin = 11.36
137
- xmax = 11.92
138
- text = "sentimental"
139
- intervals [32]:
140
- xmin = 11.92
141
- xmax = 12.47
142
- text = "plots"
143
- intervals [33]:
144
- xmin = 12.47
145
- xmax = 12.84
146
- text = ""
147
- intervals [34]:
148
- xmin = 12.84
149
- xmax = 12.98
150
- text = "when"
151
- intervals [35]:
152
- xmin = 12.98
153
- xmax = 13.12
154
- text = "i"
155
- intervals [36]:
156
- xmin = 13.12
157
- xmax = 13.28
158
- text = "think"
159
- intervals [37]:
160
- xmin = 13.28
161
- xmax = 13.35
162
- text = "of"
163
- intervals [38]:
164
- xmin = 13.35
165
- xmax = 13.42
166
- text = "the"
167
- intervals [39]:
168
- xmin = 13.42
169
- xmax = 13.62
170
- text = "movie"
171
- intervals [40]:
172
- xmin = 13.62
173
- xmax = 14.2
174
- text = "titanic"
175
- intervals [41]:
176
- xmin = 14.2
177
- xmax = 14.23
178
- text = ""
179
- intervals [42]:
180
- xmin = 14.23
181
- xmax = 14.42
182
- text = "the"
183
- intervals [43]:
184
- xmin = 14.42
185
- xmax = 14.92
186
- text = "word"
187
- intervals [44]:
188
- xmin = 14.92
189
- xmax = 15.06
190
- text = "that"
191
- intervals [45]:
192
- xmin = 15.06
193
- xmax = 15.3
194
- text = "comes"
195
- intervals [46]:
196
- xmin = 15.3
197
- xmax = 15.39
198
- text = "to"
199
- intervals [47]:
200
- xmin = 15.39
201
- xmax = 15.5
202
- text = "my"
203
- intervals [48]:
204
- xmin = 15.5
205
- xmax = 15.91
206
- text = "mind"
207
- intervals [49]:
208
- xmin = 15.91
209
- xmax = 16.06
210
- text = "mind"
211
- intervals [50]:
212
- xmin = 16.06
213
- xmax = 16.41
214
- text = ""
215
- intervals [51]:
216
- xmin = 16.41
217
- xmax = 16.6
218
- text = "to"
219
- intervals [52]:
220
- xmin = 16.6
221
- xmax = 17.07
222
- text = "mises"
223
- intervals [53]:
224
- xmin = 17.07
225
- xmax = 17.15
226
- text = "the"
227
- intervals [54]:
228
- xmin = 17.15
229
- xmax = 17.39
230
- text = "whole"
231
- intervals [55]:
232
- xmin = 17.39
233
- xmax = 17.94
234
- text = "film"
235
- intervals [56]:
236
- xmin = 17.94
237
- xmax = 17.97
238
- text = ""
239
- intervals [57]:
240
- xmin = 17.97
241
- xmax = 18.18
242
- text = "would"
243
- intervals [58]:
244
- xmin = 18.18
245
- xmax = 18.62
246
- text = "be"
247
- intervals [59]:
248
- xmin = 18.62
249
- xmax = 19.09
250
- text = ""
251
- intervals [60]:
252
- xmin = 19.09
253
- xmax = 19.94
254
- text = "love"
255
- intervals [61]:
256
- xmin = 19.94
257
- xmax = 20.07
258
- text = ""
259
- intervals [62]:
260
- xmin = 20.07
261
- xmax = 20.27
262
- text = "it's"
263
- intervals [63]:
264
- xmin = 20.27
265
- xmax = 20.36
266
- text = "a"
267
- intervals [64]:
268
- xmin = 20.36
269
- xmax = 20.83
270
- text = "kind"
271
- intervals [65]:
272
- xmin = 20.83
273
- xmax = 20.98
274
- text = "of"
275
- intervals [66]:
276
- xmin = 20.98
277
- xmax = 21.25
278
- text = "thing"
279
- intervals [67]:
280
- xmin = 21.25
281
- xmax = 21.43
282
- text = "that"
283
- intervals [68]:
284
- xmin = 21.43
285
- xmax = 21.8
286
- text = "makes"
287
- intervals [69]:
288
- xmin = 21.8
289
- xmax = 22.28
290
- text = "you"
291
- intervals [70]:
292
- xmin = 22.28
293
- xmax = 22.31
294
- text = ""
295
- intervals [71]:
296
- xmin = 22.31
297
- xmax = 22.8
298
- text = "makes"
299
- intervals [72]:
300
- xmin = 22.8
301
- xmax = 22.91
302
- text = "the"
303
- intervals [73]:
304
- xmin = 22.91
305
- xmax = 23.21
306
- text = "world"
307
- intervals [74]:
308
- xmin = 23.21
309
- xmax = 23.38
310
- text = "go"
311
- intervals [75]:
312
- xmin = 23.38
313
- xmax = 23.87
314
- text = "round"
315
- intervals [76]:
316
- xmin = 23.87
317
- xmax = 24.08
318
- text = ""
319
- intervals [77]:
320
- xmin = 24.08
321
- xmax = 24.6
322
- text = "watching"
323
- intervals [78]:
324
- xmin = 24.6
325
- xmax = 24.8
326
- text = "these"
327
- intervals [79]:
328
- xmin = 24.8
329
- xmax = 25.18
330
- text = "kinds"
331
- intervals [80]:
332
- xmin = 25.18
333
- xmax = 25.29
334
- text = "of"
335
- intervals [81]:
336
- xmin = 25.29
337
- xmax = 25.83
338
- text = "romantic"
339
- intervals [82]:
340
- xmin = 25.83
341
- xmax = 26.23
342
- text = "movies"
343
- intervals [83]:
344
- xmin = 26.23
345
- xmax = 26.43
346
- text = "is"
347
- intervals [84]:
348
- xmin = 26.43
349
- xmax = 26.86
350
- text = "just"
351
- intervals [85]:
352
- xmin = 26.86
353
- xmax = 27.07
354
- text = "like"
355
- intervals [86]:
356
- xmin = 27.07
357
- xmax = 27.49
358
- text = "reading"
359
- intervals [87]:
360
- xmin = 27.49
361
- xmax = 27.56
362
- text = "a"
363
- intervals [88]:
364
- xmin = 27.56
365
- xmax = 27.98
366
- text = "book"
367
- intervals [89]:
368
- xmin = 27.98
369
- xmax = 28.11
370
- text = ""
371
- intervals [90]:
372
- xmin = 28.11
373
- xmax = 28.29
374
- text = "that"
375
- intervals [91]:
376
- xmin = 28.29
377
- xmax = 28.65
378
- text = "teaches"
379
- intervals [92]:
380
- xmin = 28.65
381
- xmax = 28.78
382
- text = "me"
383
- intervals [93]:
384
- xmin = 28.78
385
- xmax = 28.99
386
- text = "how"
387
- intervals [94]:
388
- xmin = 28.99
389
- xmax = 29.19
390
- text = "to"
391
- intervals [95]:
392
- xmin = 29.19
393
- xmax = 29.61
394
- text = "love"
395
- intervals [96]:
396
- xmin = 29.61
397
- xmax = 29.93
398
- text = "and"
399
- intervals [97]:
400
- xmin = 29.93
401
- xmax = 30.09
402
- text = "be"
403
- intervals [98]:
404
- xmin = 30.09
405
- xmax = 30.53
406
- text = "loved"
407
- intervals [99]:
408
- xmin = 30.53
409
- xmax = 30.96
410
- text = ""
411
- intervals [100]:
412
- xmin = 30.96
413
- xmax = 31.68
414
- text = "moreover"
415
- intervals [101]:
416
- xmin = 31.68
417
- xmax = 31.81
418
- text = "we"
419
- intervals [102]:
420
- xmin = 31.81
421
- xmax = 32.01
422
- text = ""
423
- intervals [103]:
424
- xmin = 32.01
425
- xmax = 32.51
426
- text = "can"
427
- intervals [104]:
428
- xmin = 32.51
429
- xmax = 32.56
430
- text = ""
431
- intervals [105]:
432
- xmin = 32.56
433
- xmax = 32.72
434
- text = "learn"
435
- intervals [106]:
436
- xmin = 32.72
437
- xmax = 33.09
438
- text = "we"
439
- intervals [107]:
440
- xmin = 33.09
441
- xmax = 33.25
442
- text = "can"
443
- intervals [108]:
444
- xmin = 33.25
445
- xmax = 34.05
446
- text = "learn"
447
- intervals [109]:
448
- xmin = 34.05
449
- xmax = 34.2
450
- text = ""
451
- intervals [110]:
452
- xmin = 34.2
453
- xmax = 35.12
454
- text = "more"
455
- intervals [111]:
456
- xmin = 35.12
457
- xmax = 35.44
458
- text = "from"
459
- intervals [112]:
460
- xmin = 35.44
461
- xmax = 35.66
462
- text = "it"
463
- intervals [113]:
464
- xmin = 35.66
465
- xmax = 35.98
466
- text = "such"
467
- intervals [114]:
468
- xmin = 35.98
469
- xmax = 36.35
470
- text = "things"
471
- intervals [115]:
472
- xmin = 36.35
473
- xmax = 36.69
474
- text = "as"
475
- intervals [116]:
476
- xmin = 36.69
477
- xmax = 36.89
478
- text = ""
479
- intervals [117]:
480
- xmin = 36.89
481
- xmax = 37.59
482
- text = "loyalty"
483
- intervals [118]:
484
- xmin = 37.59
485
- xmax = 37.76
486
- text = "and"
487
- intervals [119]:
488
- xmin = 37.76
489
- xmax = 37.88
490
- text = "what"
491
- intervals [120]:
492
- xmin = 37.88
493
- xmax = 37.99
494
- text = "we"
495
- intervals [121]:
496
- xmin = 37.99
497
- xmax = 38.47
498
- text = "treasure"
499
- intervals [122]:
500
- xmin = 38.47
501
- xmax = 38.58
502
- text = "in"
503
- intervals [123]:
504
- xmin = 38.58
505
- xmax = 38.71
506
- text = "our"
507
- intervals [124]:
508
- xmin = 38.71
509
- xmax = 39.11
510
- text = "lives"
511
- intervals [125]:
512
- xmin = 39.11
513
- xmax = 39.4
514
- text = ""
515
- intervals [126]:
516
- xmin = 39.4
517
- xmax = 39.8
518
- text = "another"
519
- intervals [127]:
520
- xmin = 39.8
521
- xmax = 40.13
522
- text = "movie"
523
- intervals [128]:
524
- xmin = 40.13
525
- xmax = 40.51
526
- text = "about"
527
- intervals [129]:
528
- xmin = 40.51
529
- xmax = 40.83
530
- text = "love"
531
- intervals [130]:
532
- xmin = 40.83
533
- xmax = 41.08
534
- text = "is"
535
- intervals [131]:
536
- xmin = 41.08
537
- xmax = 41.24
538
- text = "the"
539
- intervals [132]:
540
- xmin = 41.24
541
- xmax = 41.3
542
- text = ""
543
- intervals [133]:
544
- xmin = 41.3
545
- xmax = 41.9
546
- text = "secret"
547
- intervals [134]:
548
- xmin = 41.9
549
- xmax = 42.13
550
- text = ""
551
- intervals [135]:
552
- xmin = 42.13
553
- xmax = 42.47
554
- text = "the"
555
- intervals [136]:
556
- xmin = 42.47
557
- xmax = 43.01
558
- text = "movie"
559
- intervals [137]:
560
- xmin = 43.01
561
- xmax = 43.58
562
- text = "secret"
563
- intervals [138]:
564
- xmin = 43.58
565
- xmax = 43.71
566
- text = "is"
567
- intervals [139]:
568
- xmin = 43.71
569
- xmax = 44.1
570
- text = "about"
571
- intervals [140]:
572
- xmin = 44.1
573
- xmax = 44.15
574
- text = "a"
575
- intervals [141]:
576
- xmin = 44.15
577
- xmax = 44.88
578
- text = "story"
579
- intervals [142]:
580
- xmin = 44.88
581
- xmax = 44.95
582
- text = ""
583
- intervals [143]:
584
- xmin = 44.95
585
- xmax = 45.14
586
- text = "of"
587
- intervals [144]:
588
- xmin = 45.14
589
- xmax = 45.21
590
- text = "a"
591
- intervals [145]:
592
- xmin = 45.21
593
- xmax = 45.56
594
- text = "musical"
595
- intervals [146]:
596
- xmin = 45.56
597
- xmax = 45.96
598
- text = "prodigy"
599
- intervals [147]:
600
- xmin = 45.96
601
- xmax = 46.04
602
- text = "do"
603
- intervals [148]:
604
- xmin = 46.04
605
- xmax = 46.17
606
- text = "that"
607
- intervals [149]:
608
- xmin = 46.17
609
- xmax = 46.42
610
- text = "falls"
611
- intervals [150]:
612
- xmin = 46.42
613
- xmax = 46.49
614
- text = "in"
615
- intervals [151]:
616
- xmin = 46.49
617
- xmax = 46.62
618
- text = "love"
619
- intervals [152]:
620
- xmin = 46.62
621
- xmax = 46.72
622
- text = "with"
623
- intervals [153]:
624
- xmin = 46.72
625
- xmax = 46.85
626
- text = "a"
627
- intervals [154]:
628
- xmin = 46.85
629
- xmax = 46.91
630
- text = ""
631
- intervals [155]:
632
- xmin = 46.91
633
- xmax = 47.21
634
- text = "girl"
635
- intervals [156]:
636
- xmin = 47.21
637
- xmax = 47.46
638
- text = "who's"
639
- intervals [157]:
640
- xmin = 47.46
641
- xmax = 48.01
642
- text = "dying"
643
- intervals [158]:
644
- xmin = 48.01
645
- xmax = 49.08
646
- text = ""
647
- intervals [159]:
648
- xmin = 49.08
649
- xmax = 49.33
650
- text = "there"
651
- intervals [160]:
652
- xmin = 49.33
653
- xmax = 49.39
654
- text = "are"
655
- intervals [161]:
656
- xmin = 49.39
657
- xmax = 49.46
658
- text = "a"
659
- intervals [162]:
660
- xmin = 49.46
661
- xmax = 49.82
662
- text = "lot"
663
- intervals [163]:
664
- xmin = 49.82
665
- xmax = 50.2
666
- text = "of"
667
- intervals [164]:
668
- xmin = 50.2
669
- xmax = 50.29
670
- text = ""
671
- intervals [165]:
672
- xmin = 50.29
673
- xmax = 50.88
674
- text = "enviable"
675
- intervals [166]:
676
- xmin = 50.88
677
- xmax = 51.3
678
- text = "moments"
679
- intervals [167]:
680
- xmin = 51.3
681
- xmax = 51.37
682
- text = "in"
683
- intervals [168]:
684
- xmin = 51.37
685
- xmax = 51.53
686
- text = "this"
687
- intervals [169]:
688
- xmin = 51.53
689
- xmax = 51.77
690
- text = "film"
691
- intervals [170]:
692
- xmin = 51.77
693
- xmax = 52.01
694
- text = "such"
695
- intervals [171]:
696
- xmin = 52.01
697
- xmax = 52.2
698
- text = "as"
699
- intervals [172]:
700
- xmin = 52.2
701
- xmax = 52.3
702
- text = "the"
703
- intervals [173]:
704
- xmin = 52.3
705
- xmax = 52.57
706
- text = "simple"
707
- intervals [174]:
708
- xmin = 52.57
709
- xmax = 52.74
710
- text = "love"
711
- intervals [175]:
712
- xmin = 52.74
713
- xmax = 53.06
714
- text = "between"
715
- intervals [176]:
716
- xmin = 53.06
717
- xmax = 53.26
718
- text = "high"
719
- intervals [177]:
720
- xmin = 53.26
721
- xmax = 53.52
722
- text = "school"
723
- intervals [178]:
724
- xmin = 53.52
725
- xmax = 54.09
726
- text = "students"
727
- intervals [179]:
728
- xmin = 54.09
729
- xmax = 54.32
730
- text = ""
731
- intervals [180]:
732
- xmin = 54.32
733
- xmax = 54.56
734
- text = "every"
735
- intervals [181]:
736
- xmin = 54.56
737
- xmax = 54.93
738
- text = "time"
739
- intervals [182]:
740
- xmin = 54.93
741
- xmax = 54.96
742
- text = ""
743
- intervals [183]:
744
- xmin = 54.96
745
- xmax = 55.08
746
- text = "i"
747
- intervals [184]:
748
- xmin = 55.08
749
- xmax = 55.45
750
- text = "watch"
751
- intervals [185]:
752
- xmin = 55.45
753
- xmax = 55.68
754
- text = "this"
755
- intervals [186]:
756
- xmin = 55.68
757
- xmax = 55.89
758
- text = "movie"
759
- intervals [187]:
760
- xmin = 55.89
761
- xmax = 55.98
762
- text = "it"
763
- intervals [188]:
764
- xmin = 55.98
765
- xmax = 56.44
766
- text = "reminds"
767
- intervals [189]:
768
- xmin = 56.44
769
- xmax = 56.55
770
- text = "me"
771
- intervals [190]:
772
- xmin = 56.55
773
- xmax = 56.63
774
- text = "of"
775
- intervals [191]:
776
- xmin = 56.63
777
- xmax = 56.7
778
- text = "a"
779
- intervals [192]:
780
- xmin = 56.7
781
- xmax = 56.99
782
- text = "time"
783
- intervals [193]:
784
- xmin = 56.99
785
- xmax = 57.08
786
- text = "that"
787
- intervals [194]:
788
- xmin = 57.08
789
- xmax = 57.13
790
- text = "i"
791
- intervals [195]:
792
- xmin = 57.13
793
- xmax = 57.23
794
- text = "was"
795
- intervals [196]:
796
- xmin = 57.23
797
- xmax = 57.29
798
- text = "in"
799
- intervals [197]:
800
- xmin = 57.29
801
- xmax = 57.53
802
- text = "high"
803
- intervals [198]:
804
- xmin = 57.53
805
- xmax = 57.88
806
- text = "school"
807
- intervals [199]:
808
- xmin = 57.88
809
- xmax = 58.03
810
- text = "and"
811
- intervals [200]:
812
- xmin = 58.03
813
- xmax = 58.25
814
- text = ""
815
- intervals [201]:
816
- xmin = 58.25
817
- xmax = 58.4
818
- text = "you"
819
- intervals [202]:
820
- xmin = 58.4
821
- xmax = 58.55
822
- text = "might"
823
- intervals [203]:
824
- xmin = 58.55
825
- xmax = 59.1
826
- text = "remember"
827
- intervals [204]:
828
- xmin = 59.1
829
- xmax = 59.29
830
- text = ""
831
- intervals [205]:
832
- xmin = 59.29
833
- xmax = 59.44
834
- text = "the"
835
- intervals [206]:
836
- xmin = 59.44
837
- xmax = 59.83
838
- text = "crush"
839
- intervals [207]:
840
- xmin = 59.83
841
- xmax = 59.94
842
- text = "you"
843
- intervals [208]:
844
- xmin = 59.94
845
- xmax = 60.16
846
- text = "had"
847
- intervals [209]:
848
- xmin = 60.16
849
- xmax = 60.27
850
- text = "in"
851
- intervals [210]:
852
- xmin = 60.27
853
- xmax = 60.74
854
- text = "school"
855
- intervals [211]:
856
- xmin = 60.74
857
- xmax = 60.9
858
- text = ""
859
- intervals [212]:
860
- xmin = 60.9
861
- xmax = 61.12
862
- text = "and"
863
- intervals [213]:
864
- xmin = 61.12
865
- xmax = 61.24
866
- text = "how"
867
- intervals [214]:
868
- xmin = 61.24
869
- xmax = 61.36
870
- text = "you"
871
- intervals [215]:
872
- xmin = 61.36
873
- xmax = 61.48
874
- text = "would"
875
- intervals [216]:
876
- xmin = 61.48
877
- xmax = 61.7
878
- text = "look"
879
- intervals [217]:
880
- xmin = 61.7
881
- xmax = 61.77
882
- text = "at"
883
- intervals [218]:
884
- xmin = 61.77
885
- xmax = 62.16
886
- text = "him"
887
- intervals [219]:
888
- xmin = 62.16
889
- xmax = 62.37
890
- text = ""
891
- intervals [220]:
892
- xmin = 62.37
893
- xmax = 62.54
894
- text = "while"
895
- intervals [221]:
896
- xmin = 62.54
897
- xmax = 62.74
898
- text = "he's"
899
- intervals [222]:
900
- xmin = 62.74
901
- xmax = 63.02
902
- text = "at"
903
- intervals [223]:
904
- xmin = 63.02
905
- xmax = 63.61
906
- text = "in"
907
- intervals [224]:
908
- xmin = 63.61
909
- xmax = 64.04
910
- text = "class"
911
- intervals [225]:
912
- xmin = 64.04
913
- xmax = 64.38
914
- text = "without"
915
- intervals [226]:
916
- xmin = 64.38
917
- xmax = 64.83
918
- text = "thinking"
919
- intervals [227]:
920
- xmin = 64.83
921
- xmax = 64.95
922
- text = "or"
923
- intervals [228]:
924
- xmin = 64.95
925
- xmax = 64.98
926
- text = ""
927
- intervals [229]:
928
- xmin = 64.98
929
- xmax = 65.27
930
- text = "wanting"
931
- intervals [230]:
932
- xmin = 65.27
933
- xmax = 65.36
934
- text = "to"
935
- intervals [231]:
936
- xmin = 65.36
937
- xmax = 65.54
938
- text = "go"
939
- intervals [232]:
940
- xmin = 65.54
941
- xmax = 65.95
942
- text = "places"
943
- intervals [233]:
944
- xmin = 65.95
945
- xmax = 66.12
946
- text = "with"
947
- intervals [234]:
948
- xmin = 66.12
949
- xmax = 66.38
950
- text = "him"
951
- intervals [235]:
952
- xmin = 66.38
953
- xmax = 67
954
- text = ""
955
- item [2]:
956
- class = "IntervalTier"
957
- name = "phones"
958
- xmin = 0.0
959
- xmax = 67
960
- intervals: size = 721
961
- intervals [1]:
962
- xmin = 0.0
963
- xmax = 0.53
964
- text = ""
965
- intervals [2]:
966
- xmin = 0.53
967
- xmax = 0.75
968
- text = "M"
969
- intervals [3]:
970
- xmin = 0.75
971
- xmax = 0.93
972
- text = "AY1"
973
- intervals [4]:
974
- xmin = 0.93
975
- xmax = 1.06
976
- text = "F"
977
- intervals [5]:
978
- xmin = 1.06
979
- xmax = 1.16
980
- text = "EY1"
981
- intervals [6]:
982
- xmin = 1.16
983
- xmax = 1.23
984
- text = "V"
985
- intervals [7]:
986
- xmin = 1.23
987
- xmax = 1.26
988
- text = "ER0"
989
- intervals [8]:
990
- xmin = 1.26
991
- xmax = 1.31
992
- text = "IH0"
993
- intervals [9]:
994
- xmin = 1.31
995
- xmax = 1.34
996
- text = "T"
997
- intervals [10]:
998
- xmin = 1.34
999
- xmax = 1.42
1000
- text = "K"
1001
- intervals [11]:
1002
- xmin = 1.42
1003
- xmax = 1.51
1004
- text = "AY1"
1005
- intervals [12]:
1006
- xmin = 1.51
1007
- xmax = 1.54
1008
- text = "N"
1009
- intervals [13]:
1010
- xmin = 1.54
1011
- xmax = 1.57
1012
- text = "D"
1013
- intervals [14]:
1014
- xmin = 1.57
1015
- xmax = 1.61
1016
- text = "AH0"
1017
- intervals [15]:
1018
- xmin = 1.61
1019
- xmax = 1.65
1020
- text = "V"
1021
- intervals [16]:
1022
- xmin = 1.65
1023
- xmax = 1.74
1024
- text = "M"
1025
- intervals [17]:
1026
- xmin = 1.74
1027
- xmax = 1.8
1028
- text = "UW1"
1029
- intervals [18]:
1030
- xmin = 1.8
1031
- xmax = 1.9
1032
- text = "V"
1033
- intervals [19]:
1034
- xmin = 1.9
1035
- xmax = 2.01
1036
- text = "IY0"
1037
- intervals [20]:
1038
- xmin = 2.01
1039
- xmax = 2.2
1040
- text = "Z"
1041
- intervals [21]:
1042
- xmin = 2.2
1043
- xmax = 2.35
1044
- text = "AA1"
1045
- intervals [22]:
1046
- xmin = 2.35
1047
- xmax = 2.45
1048
- text = "R"
1049
- intervals [23]:
1050
- xmin = 2.45
1051
- xmax = 2.55
1052
- text = "R"
1053
- intervals [24]:
1054
- xmin = 2.55
1055
- xmax = 2.6
1056
- text = "OW0"
1057
- intervals [25]:
1058
- xmin = 2.6
1059
- xmax = 2.81
1060
- text = "M"
1061
- intervals [26]:
1062
- xmin = 2.81
1063
- xmax = 2.93
1064
- text = "AE1"
1065
- intervals [27]:
1066
- xmin = 2.93
1067
- xmax = 2.99
1068
- text = "N"
1069
- intervals [28]:
1070
- xmin = 2.99
1071
- xmax = 3.06
1072
- text = "T"
1073
- intervals [29]:
1074
- xmin = 3.06
1075
- xmax = 3.13
1076
- text = "IH0"
1077
- intervals [30]:
1078
- xmin = 3.13
1079
- xmax = 3.2
1080
- text = "K"
1081
- intervals [31]:
1082
- xmin = 3.2
1083
- xmax = 3.28
1084
- text = "M"
1085
- intervals [32]:
1086
- xmin = 3.28
1087
- xmax = 3.38
1088
- text = "UW1"
1089
- intervals [33]:
1090
- xmin = 3.38
1091
- xmax = 3.42
1092
- text = "V"
1093
- intervals [34]:
1094
- xmin = 3.42
1095
- xmax = 3.55
1096
- text = "IY0"
1097
- intervals [35]:
1098
- xmin = 3.55
1099
- xmax = 3.72
1100
- text = "Z"
1101
- intervals [36]:
1102
- xmin = 3.72
1103
- xmax = 3.75
1104
- text = ""
1105
- intervals [37]:
1106
- xmin = 3.75
1107
- xmax = 3.92
1108
- text = "S"
1109
- intervals [38]:
1110
- xmin = 3.92
1111
- xmax = 3.99
1112
- text = "AH1"
1113
- intervals [39]:
1114
- xmin = 3.99
1115
- xmax = 4.1
1116
- text = "CH"
1117
- intervals [40]:
1118
- xmin = 4.1
1119
- xmax = 4.22
1120
- text = "EH1"
1121
- intervals [41]:
1122
- xmin = 4.22
1123
- xmax = 4.33
1124
- text = "Z"
1125
- intervals [42]:
1126
- xmin = 4.33
1127
- xmax = 4.47
1128
- text = "T"
1129
- intervals [43]:
1130
- xmin = 4.47
1131
- xmax = 4.58
1132
- text = "AY0"
1133
- intervals [44]:
1134
- xmin = 4.58
1135
- xmax = 4.77
1136
- text = "T"
1137
- intervals [45]:
1138
- xmin = 4.77
1139
- xmax = 4.88
1140
- text = "AE1"
1141
- intervals [46]:
1142
- xmin = 4.88
1143
- xmax = 4.94
1144
- text = "N"
1145
- intervals [47]:
1146
- xmin = 4.94
1147
- xmax = 5.04
1148
- text = "IH0"
1149
- intervals [48]:
1150
- xmin = 5.04
1151
- xmax = 5.23
1152
- text = "K"
1153
- intervals [49]:
1154
- xmin = 5.23
1155
- xmax = 5.78
1156
- text = ""
1157
- intervals [50]:
1158
- xmin = 5.78
1159
- xmax = 5.95
1160
- text = "IH1"
1161
- intervals [51]:
1162
- xmin = 5.95
1163
- xmax = 6.05
1164
- text = "T"
1165
- intervals [52]:
1166
- xmin = 6.05
1167
- xmax = 6.19
1168
- text = "S"
1169
- intervals [53]:
1170
- xmin = 6.19
1171
- xmax = 6.46
1172
- text = "AH0"
1173
- intervals [54]:
1174
- xmin = 6.46
1175
- xmax = 6.49
1176
- text = ""
1177
- intervals [55]:
1178
- xmin = 6.49
1179
- xmax = 6.55
1180
- text = "F"
1181
- intervals [56]:
1182
- xmin = 6.55
1183
- xmax = 6.6
1184
- text = "AE0"
1185
- intervals [57]:
1186
- xmin = 6.6
1187
- xmax = 6.66
1188
- text = "N"
1189
- intervals [58]:
1190
- xmin = 6.66
1191
- xmax = 6.79
1192
- text = "T"
1193
- intervals [59]:
1194
- xmin = 6.79
1195
- xmax = 6.92
1196
- text = "AE1"
1197
- intervals [60]:
1198
- xmin = 6.92
1199
- xmax = 6.99
1200
- text = "S"
1201
- intervals [61]:
1202
- xmin = 6.99
1203
- xmax = 7.03
1204
- text = "T"
1205
- intervals [62]:
1206
- xmin = 7.03
1207
- xmax = 7.08
1208
- text = "IH0"
1209
- intervals [63]:
1210
- xmin = 7.08
1211
- xmax = 7.13
1212
- text = "K"
1213
- intervals [64]:
1214
- xmin = 7.13
1215
- xmax = 7.21
1216
- text = "F"
1217
- intervals [65]:
1218
- xmin = 7.21
1219
- xmax = 7.31
1220
- text = "IH1"
1221
- intervals [66]:
1222
- xmin = 7.31
1223
- xmax = 7.51
1224
- text = "L"
1225
- intervals [67]:
1226
- xmin = 7.51
1227
- xmax = 7.56
1228
- text = "M"
1229
- intervals [68]:
1230
- xmin = 7.56
1231
- xmax = 7.71
1232
- text = "IH1"
1233
- intervals [69]:
1234
- xmin = 7.71
1235
- xmax = 7.77
1236
- text = "T"
1237
- intervals [70]:
1238
- xmin = 7.77
1239
- xmax = 7.86
1240
- text = "K"
1241
- intervals [71]:
1242
- xmin = 7.86
1243
- xmax = 7.96
1244
- text = "AE1"
1245
- intervals [72]:
1246
- xmin = 7.96
1247
- xmax = 8.02
1248
- text = "P"
1249
- intervals [73]:
1250
- xmin = 8.02
1251
- xmax = 8.1
1252
- text = "CH"
1253
- intervals [74]:
1254
- xmin = 8.1
1255
- xmax = 8.16
1256
- text = "ER0"
1257
- intervals [75]:
1258
- xmin = 8.16
1259
- xmax = 8.28
1260
- text = "D"
1261
- intervals [76]:
1262
- xmin = 8.28
1263
- xmax = 8.4
1264
- text = "M"
1265
- intervals [77]:
1266
- xmin = 8.4
1267
- xmax = 8.46
1268
- text = "EH1"
1269
- intervals [78]:
1270
- xmin = 8.46
1271
- xmax = 8.53
1272
- text = "N"
1273
- intervals [79]:
1274
- xmin = 8.53
1275
- xmax = 8.73
1276
- text = "IY0"
1277
- intervals [80]:
1278
- xmin = 8.73
1279
- xmax = 8.81
1280
- text = "Y"
1281
- intervals [81]:
1282
- xmin = 8.81
1283
- xmax = 8.99
1284
- text = "AH1"
1285
- intervals [82]:
1286
- xmin = 8.99
1287
- xmax = 9.1
1288
- text = "NG"
1289
- intervals [83]:
1290
- xmin = 9.1
1291
- xmax = 9.18
1292
- text = "P"
1293
- intervals [84]:
1294
- xmin = 9.18
1295
- xmax = 9.26
1296
- text = "IY1"
1297
- intervals [85]:
1298
- xmin = 9.26
1299
- xmax = 9.31
1300
- text = "P"
1301
- intervals [86]:
1302
- xmin = 9.31
1303
- xmax = 9.34
1304
- text = "AH0"
1305
- intervals [87]:
1306
- xmin = 9.34
1307
- xmax = 9.39
1308
- text = "L"
1309
- intervals [88]:
1310
- xmin = 9.39
1311
- xmax = 9.44
1312
- text = "Z"
1313
- intervals [89]:
1314
- xmin = 9.44
1315
- xmax = 9.5
1316
- text = "HH"
1317
- intervals [90]:
1318
- xmin = 9.5
1319
- xmax = 9.57
1320
- text = "AA1"
1321
- intervals [91]:
1322
- xmin = 9.57
1323
- xmax = 9.68
1324
- text = "R"
1325
- intervals [92]:
1326
- xmin = 9.68
1327
- xmax = 9.73
1328
- text = "T"
1329
- intervals [93]:
1330
- xmin = 9.73
1331
- xmax = 9.79
1332
- text = "S"
1333
- intervals [94]:
1334
- xmin = 9.79
1335
- xmax = 9.88
1336
- text = "W"
1337
- intervals [95]:
1338
- xmin = 9.88
1339
- xmax = 9.94
1340
- text = "IH1"
1341
- intervals [96]:
1342
- xmin = 9.94
1343
- xmax = 10.02
1344
- text = "DH"
1345
- intervals [97]:
1346
- xmin = 10.02
1347
- xmax = 10.1
1348
- text = "IH0"
1349
- intervals [98]:
1350
- xmin = 10.1
1351
- xmax = 10.13
1352
- text = "T"
1353
- intervals [99]:
1354
- xmin = 10.13
1355
- xmax = 10.17
1356
- text = "S"
1357
- intervals [100]:
1358
- xmin = 10.17
1359
- xmax = 10.28
1360
- text = "AH0"
1361
- intervals [101]:
1362
- xmin = 10.28
1363
- xmax = 10.36
1364
- text = "M"
1365
- intervals [102]:
1366
- xmin = 10.36
1367
- xmax = 10.47
1368
- text = "EY1"
1369
- intervals [103]:
1370
- xmin = 10.47
1371
- xmax = 10.53
1372
- text = "Z"
1373
- intervals [104]:
1374
- xmin = 10.53
1375
- xmax = 10.59
1376
- text = "IH0"
1377
- intervals [105]:
1378
- xmin = 10.59
1379
- xmax = 10.65
1380
- text = "NG"
1381
- intervals [106]:
1382
- xmin = 10.65
1383
- xmax = 10.7
1384
- text = "M"
1385
- intervals [107]:
1386
- xmin = 10.7
1387
- xmax = 10.78
1388
- text = "Y"
1389
- intervals [108]:
1390
- xmin = 10.78
1391
- xmax = 10.81
1392
- text = "UW1"
1393
- intervals [109]:
1394
- xmin = 10.81
1395
- xmax = 10.9
1396
- text = "Z"
1397
- intervals [110]:
1398
- xmin = 10.9
1399
- xmax = 10.98
1400
- text = "IH0"
1401
- intervals [111]:
1402
- xmin = 10.98
1403
- xmax = 11.12
1404
- text = "K"
1405
- intervals [112]:
1406
- xmin = 11.12
1407
- xmax = 11.21
1408
- text = "AE1"
1409
- intervals [113]:
1410
- xmin = 11.21
1411
- xmax = 11.27
1412
- text = "N"
1413
- intervals [114]:
1414
- xmin = 11.27
1415
- xmax = 11.36
1416
- text = "D"
1417
- intervals [115]:
1418
- xmin = 11.36
1419
- xmax = 11.47
1420
- text = "S"
1421
- intervals [116]:
1422
- xmin = 11.47
1423
- xmax = 11.52
1424
- text = "EH2"
1425
- intervals [117]:
1426
- xmin = 11.52
1427
- xmax = 11.59
1428
- text = "N"
1429
- intervals [118]:
1430
- xmin = 11.59
1431
- xmax = 11.64
1432
- text = "T"
1433
- intervals [119]:
1434
- xmin = 11.64
1435
- xmax = 11.69
1436
- text = "AH0"
1437
- intervals [120]:
1438
- xmin = 11.69
1439
- xmax = 11.74
1440
- text = "M"
1441
- intervals [121]:
1442
- xmin = 11.74
1443
- xmax = 11.78
1444
- text = "EH1"
1445
- intervals [122]:
1446
- xmin = 11.78
1447
- xmax = 11.81
1448
- text = "N"
1449
- intervals [123]:
1450
- xmin = 11.81
1451
- xmax = 11.85
1452
- text = "T"
1453
- intervals [124]:
1454
- xmin = 11.85
1455
- xmax = 11.88
1456
- text = "AH0"
1457
- intervals [125]:
1458
- xmin = 11.88
1459
- xmax = 11.92
1460
- text = "L"
1461
- intervals [126]:
1462
- xmin = 11.92
1463
- xmax = 11.99
1464
- text = "P"
1465
- intervals [127]:
1466
- xmin = 11.99
1467
- xmax = 12.04
1468
- text = "L"
1469
- intervals [128]:
1470
- xmin = 12.04
1471
- xmax = 12.23
1472
- text = "AA1"
1473
- intervals [129]:
1474
- xmin = 12.23
1475
- xmax = 12.31
1476
- text = "T"
1477
- intervals [130]:
1478
- xmin = 12.31
1479
- xmax = 12.47
1480
- text = "S"
1481
- intervals [131]:
1482
- xmin = 12.47
1483
- xmax = 12.84
1484
- text = ""
1485
- intervals [132]:
1486
- xmin = 12.84
1487
- xmax = 12.92
1488
- text = "W"
1489
- intervals [133]:
1490
- xmin = 12.92
1491
- xmax = 12.95
1492
- text = "EH1"
1493
- intervals [134]:
1494
- xmin = 12.95
1495
- xmax = 12.98
1496
- text = "N"
1497
- intervals [135]:
1498
- xmin = 12.98
1499
- xmax = 13.12
1500
- text = "AY1"
1501
- intervals [136]:
1502
- xmin = 13.12
1503
- xmax = 13.16
1504
- text = "TH"
1505
- intervals [137]:
1506
- xmin = 13.16
1507
- xmax = 13.22
1508
- text = "IH1"
1509
- intervals [138]:
1510
- xmin = 13.22
1511
- xmax = 13.25
1512
- text = "NG"
1513
- intervals [139]:
1514
- xmin = 13.25
1515
- xmax = 13.28
1516
- text = "K"
1517
- intervals [140]:
1518
- xmin = 13.28
1519
- xmax = 13.32
1520
- text = "AH0"
1521
- intervals [141]:
1522
- xmin = 13.32
1523
- xmax = 13.35
1524
- text = "V"
1525
- intervals [142]:
1526
- xmin = 13.35
1527
- xmax = 13.38
1528
- text = "DH"
1529
- intervals [143]:
1530
- xmin = 13.38
1531
- xmax = 13.42
1532
- text = "AH0"
1533
- intervals [144]:
1534
- xmin = 13.42
1535
- xmax = 13.46
1536
- text = "M"
1537
- intervals [145]:
1538
- xmin = 13.46
1539
- xmax = 13.52
1540
- text = "UW1"
1541
- intervals [146]:
1542
- xmin = 13.52
1543
- xmax = 13.58
1544
- text = "V"
1545
- intervals [147]:
1546
- xmin = 13.58
1547
- xmax = 13.62
1548
- text = "IY0"
1549
- intervals [148]:
1550
- xmin = 13.62
1551
- xmax = 13.69
1552
- text = "T"
1553
- intervals [149]:
1554
- xmin = 13.69
1555
- xmax = 13.79
1556
- text = "AY0"
1557
- intervals [150]:
1558
- xmin = 13.79
1559
- xmax = 13.89
1560
- text = "T"
1561
- intervals [151]:
1562
- xmin = 13.89
1563
- xmax = 13.96
1564
- text = "AE1"
1565
- intervals [152]:
1566
- xmin = 13.96
1567
- xmax = 14.02
1568
- text = "N"
1569
- intervals [153]:
1570
- xmin = 14.02
1571
- xmax = 14.17
1572
- text = "IH0"
1573
- intervals [154]:
1574
- xmin = 14.17
1575
- xmax = 14.2
1576
- text = "K"
1577
- intervals [155]:
1578
- xmin = 14.2
1579
- xmax = 14.23
1580
- text = ""
1581
- intervals [156]:
1582
- xmin = 14.23
1583
- xmax = 14.34
1584
- text = "DH"
1585
- intervals [157]:
1586
- xmin = 14.34
1587
- xmax = 14.42
1588
- text = "AH1"
1589
- intervals [158]:
1590
- xmin = 14.42
1591
- xmax = 14.61
1592
- text = "W"
1593
- intervals [159]:
1594
- xmin = 14.61
1595
- xmax = 14.85
1596
- text = "ER1"
1597
- intervals [160]:
1598
- xmin = 14.85
1599
- xmax = 14.92
1600
- text = "D"
1601
- intervals [161]:
1602
- xmin = 14.92
1603
- xmax = 14.95
1604
- text = "DH"
1605
- intervals [162]:
1606
- xmin = 14.95
1607
- xmax = 15.02
1608
- text = "AH0"
1609
- intervals [163]:
1610
- xmin = 15.02
1611
- xmax = 15.06
1612
- text = "T"
1613
- intervals [164]:
1614
- xmin = 15.06
1615
- xmax = 15.13
1616
- text = "K"
1617
- intervals [165]:
1618
- xmin = 15.13
1619
- xmax = 15.19
1620
- text = "AH1"
1621
- intervals [166]:
1622
- xmin = 15.19
1623
- xmax = 15.24
1624
- text = "M"
1625
- intervals [167]:
1626
- xmin = 15.24
1627
- xmax = 15.3
1628
- text = "Z"
1629
- intervals [168]:
1630
- xmin = 15.3
1631
- xmax = 15.35
1632
- text = "T"
1633
- intervals [169]:
1634
- xmin = 15.35
1635
- xmax = 15.39
1636
- text = "AH0"
1637
- intervals [170]:
1638
- xmin = 15.39
1639
- xmax = 15.44
1640
- text = "M"
1641
- intervals [171]:
1642
- xmin = 15.44
1643
- xmax = 15.5
1644
- text = "AY1"
1645
- intervals [172]:
1646
- xmin = 15.5
1647
- xmax = 15.61
1648
- text = "M"
1649
- intervals [173]:
1650
- xmin = 15.61
1651
- xmax = 15.85
1652
- text = "AY1"
1653
- intervals [174]:
1654
- xmin = 15.85
1655
- xmax = 15.88
1656
- text = "N"
1657
- intervals [175]:
1658
- xmin = 15.88
1659
- xmax = 15.91
1660
- text = "D"
1661
- intervals [176]:
1662
- xmin = 15.91
1663
- xmax = 15.94
1664
- text = "M"
1665
- intervals [177]:
1666
- xmin = 15.94
1667
- xmax = 15.97
1668
- text = "AY1"
1669
- intervals [178]:
1670
- xmin = 15.97
1671
- xmax = 16.0
1672
- text = "N"
1673
- intervals [179]:
1674
- xmin = 16.0
1675
- xmax = 16.06
1676
- text = "D"
1677
- intervals [180]:
1678
- xmin = 16.06
1679
- xmax = 16.41
1680
- text = ""
1681
- intervals [181]:
1682
- xmin = 16.41
1683
- xmax = 16.54
1684
- text = "T"
1685
- intervals [182]:
1686
- xmin = 16.54
1687
- xmax = 16.6
1688
- text = "IH0"
1689
- intervals [183]:
1690
- xmin = 16.6
1691
- xmax = 16.69
1692
- text = "M"
1693
- intervals [184]:
1694
- xmin = 16.69
1695
- xmax = 16.85
1696
- text = "AY1"
1697
- intervals [185]:
1698
- xmin = 16.85
1699
- xmax = 16.95
1700
- text = "Z"
1701
- intervals [186]:
1702
- xmin = 16.95
1703
- xmax = 16.99
1704
- text = "IH0"
1705
- intervals [187]:
1706
- xmin = 16.99
1707
- xmax = 17.07
1708
- text = "Z"
1709
- intervals [188]:
1710
- xmin = 17.07
1711
- xmax = 17.11
1712
- text = "DH"
1713
- intervals [189]:
1714
- xmin = 17.11
1715
- xmax = 17.15
1716
- text = "AH1"
1717
- intervals [190]:
1718
- xmin = 17.15
1719
- xmax = 17.24
1720
- text = "HH"
1721
- intervals [191]:
1722
- xmin = 17.24
1723
- xmax = 17.32
1724
- text = "OW1"
1725
- intervals [192]:
1726
- xmin = 17.32
1727
- xmax = 17.39
1728
- text = "L"
1729
- intervals [193]:
1730
- xmin = 17.39
1731
- xmax = 17.48
1732
- text = "F"
1733
- intervals [194]:
1734
- xmin = 17.48
1735
- xmax = 17.57
1736
- text = "IH1"
1737
- intervals [195]:
1738
- xmin = 17.57
1739
- xmax = 17.68
1740
- text = "L"
1741
- intervals [196]:
1742
- xmin = 17.68
1743
- xmax = 17.94
1744
- text = "M"
1745
- intervals [197]:
1746
- xmin = 17.94
1747
- xmax = 17.97
1748
- text = ""
1749
- intervals [198]:
1750
- xmin = 17.97
1751
- xmax = 18.06
1752
- text = "W"
1753
- intervals [199]:
1754
- xmin = 18.06
1755
- xmax = 18.12
1756
- text = "UH1"
1757
- intervals [200]:
1758
- xmin = 18.12
1759
- xmax = 18.18
1760
- text = "D"
1761
- intervals [201]:
1762
- xmin = 18.18
1763
- xmax = 18.24
1764
- text = "B"
1765
- intervals [202]:
1766
- xmin = 18.24
1767
- xmax = 18.62
1768
- text = "IY1"
1769
- intervals [203]:
1770
- xmin = 18.62
1771
- xmax = 19.09
1772
- text = ""
1773
- intervals [204]:
1774
- xmin = 19.09
1775
- xmax = 19.34
1776
- text = "L"
1777
- intervals [205]:
1778
- xmin = 19.34
1779
- xmax = 19.51
1780
- text = "AH1"
1781
- intervals [206]:
1782
- xmin = 19.51
1783
- xmax = 19.94
1784
- text = "V"
1785
- intervals [207]:
1786
- xmin = 19.94
1787
- xmax = 20.07
1788
- text = ""
1789
- intervals [208]:
1790
- xmin = 20.07
1791
- xmax = 20.18
1792
- text = "IH1"
1793
- intervals [209]:
1794
- xmin = 20.18
1795
- xmax = 20.24
1796
- text = "T"
1797
- intervals [210]:
1798
- xmin = 20.24
1799
- xmax = 20.27
1800
- text = "S"
1801
- intervals [211]:
1802
- xmin = 20.27
1803
- xmax = 20.36
1804
- text = "AH0"
1805
- intervals [212]:
1806
- xmin = 20.36
1807
- xmax = 20.59
1808
- text = "K"
1809
- intervals [213]:
1810
- xmin = 20.59
1811
- xmax = 20.74
1812
- text = "AY1"
1813
- intervals [214]:
1814
- xmin = 20.74
1815
- xmax = 20.79
1816
- text = "N"
1817
- intervals [215]:
1818
- xmin = 20.79
1819
- xmax = 20.83
1820
- text = "D"
1821
- intervals [216]:
1822
- xmin = 20.83
1823
- xmax = 20.87
1824
- text = "AH0"
1825
- intervals [217]:
1826
- xmin = 20.87
1827
- xmax = 20.98
1828
- text = "V"
1829
- intervals [218]:
1830
- xmin = 20.98
1831
- xmax = 21.04
1832
- text = "TH"
1833
- intervals [219]:
1834
- xmin = 21.04
1835
- xmax = 21.13
1836
- text = "IH1"
1837
- intervals [220]:
1838
- xmin = 21.13
1839
- xmax = 21.25
1840
- text = "NG"
1841
- intervals [221]:
1842
- xmin = 21.25
1843
- xmax = 21.31
1844
- text = "DH"
1845
- intervals [222]:
1846
- xmin = 21.31
1847
- xmax = 21.37
1848
- text = "AE1"
1849
- intervals [223]:
1850
- xmin = 21.37
1851
- xmax = 21.43
1852
- text = "T"
1853
- intervals [224]:
1854
- xmin = 21.43
1855
- xmax = 21.54
1856
- text = "M"
1857
- intervals [225]:
1858
- xmin = 21.54
1859
- xmax = 21.64
1860
- text = "EY1"
1861
- intervals [226]:
1862
- xmin = 21.64
1863
- xmax = 21.68
1864
- text = "K"
1865
- intervals [227]:
1866
- xmin = 21.68
1867
- xmax = 21.8
1868
- text = "S"
1869
- intervals [228]:
1870
- xmin = 21.8
1871
- xmax = 21.87
1872
- text = "Y"
1873
- intervals [229]:
1874
- xmin = 21.87
1875
- xmax = 22.28
1876
- text = "UW1"
1877
- intervals [230]:
1878
- xmin = 22.28
1879
- xmax = 22.31
1880
- text = ""
1881
- intervals [231]:
1882
- xmin = 22.31
1883
- xmax = 22.63
1884
- text = "M"
1885
- intervals [232]:
1886
- xmin = 22.63
1887
- xmax = 22.7
1888
- text = "EY1"
1889
- intervals [233]:
1890
- xmin = 22.7
1891
- xmax = 22.75
1892
- text = "K"
1893
- intervals [234]:
1894
- xmin = 22.75
1895
- xmax = 22.8
1896
- text = "S"
1897
- intervals [235]:
1898
- xmin = 22.8
1899
- xmax = 22.84
1900
- text = "DH"
1901
- intervals [236]:
1902
- xmin = 22.84
1903
- xmax = 22.91
1904
- text = "AH0"
1905
- intervals [237]:
1906
- xmin = 22.91
1907
- xmax = 23.0
1908
- text = "W"
1909
- intervals [238]:
1910
- xmin = 23.0
1911
- xmax = 23.08
1912
- text = "ER1"
1913
- intervals [239]:
1914
- xmin = 23.08
1915
- xmax = 23.18
1916
- text = "L"
1917
- intervals [240]:
1918
- xmin = 23.18
1919
- xmax = 23.21
1920
- text = "D"
1921
- intervals [241]:
1922
- xmin = 23.21
1923
- xmax = 23.27
1924
- text = "G"
1925
- intervals [242]:
1926
- xmin = 23.27
1927
- xmax = 23.38
1928
- text = "OW1"
1929
- intervals [243]:
1930
- xmin = 23.38
1931
- xmax = 23.48
1932
- text = "R"
1933
- intervals [244]:
1934
- xmin = 23.48
1935
- xmax = 23.68
1936
- text = "AW1"
1937
- intervals [245]:
1938
- xmin = 23.68
1939
- xmax = 23.75
1940
- text = "N"
1941
- intervals [246]:
1942
- xmin = 23.75
1943
- xmax = 23.87
1944
- text = "D"
1945
- intervals [247]:
1946
- xmin = 23.87
1947
- xmax = 24.08
1948
- text = ""
1949
- intervals [248]:
1950
- xmin = 24.08
1951
- xmax = 24.27
1952
- text = "W"
1953
- intervals [249]:
1954
- xmin = 24.27
1955
- xmax = 24.36
1956
- text = "AA1"
1957
- intervals [250]:
1958
- xmin = 24.36
1959
- xmax = 24.46
1960
- text = "CH"
1961
- intervals [251]:
1962
- xmin = 24.46
1963
- xmax = 24.54
1964
- text = "IH0"
1965
- intervals [252]:
1966
- xmin = 24.54
1967
- xmax = 24.6
1968
- text = "NG"
1969
- intervals [253]:
1970
- xmin = 24.6
1971
- xmax = 24.65
1972
- text = "DH"
1973
- intervals [254]:
1974
- xmin = 24.65
1975
- xmax = 24.72
1976
- text = "IY1"
1977
- intervals [255]:
1978
- xmin = 24.72
1979
- xmax = 24.8
1980
- text = "Z"
1981
- intervals [256]:
1982
- xmin = 24.8
1983
- xmax = 24.9
1984
- text = "K"
1985
- intervals [257]:
1986
- xmin = 24.9
1987
- xmax = 25.05
1988
- text = "AY1"
1989
- intervals [258]:
1990
- xmin = 25.05
1991
- xmax = 25.12
1992
- text = "N"
1993
- intervals [259]:
1994
- xmin = 25.12
1995
- xmax = 25.18
1996
- text = "Z"
1997
- intervals [260]:
1998
- xmin = 25.18
1999
- xmax = 25.21
2000
- text = "AH0"
2001
- intervals [261]:
2002
- xmin = 25.21
2003
- xmax = 25.29
2004
- text = "V"
2005
- intervals [262]:
2006
- xmin = 25.29
2007
- xmax = 25.36
2008
- text = "R"
2009
- intervals [263]:
2010
- xmin = 25.36
2011
- xmax = 25.39
2012
- text = "OW0"
2013
- intervals [264]:
2014
- xmin = 25.39
2015
- xmax = 25.5
2016
- text = "M"
2017
- intervals [265]:
2018
- xmin = 25.5
2019
- xmax = 25.56
2020
- text = "AE1"
2021
- intervals [266]:
2022
- xmin = 25.56
2023
- xmax = 25.6
2024
- text = "N"
2025
- intervals [267]:
2026
- xmin = 25.6
2027
- xmax = 25.65
2028
- text = "T"
2029
- intervals [268]:
2030
- xmin = 25.65
2031
- xmax = 25.75
2032
- text = "IH0"
2033
- intervals [269]:
2034
- xmin = 25.75
2035
- xmax = 25.83
2036
- text = "K"
2037
- intervals [270]:
2038
- xmin = 25.83
2039
- xmax = 25.9
2040
- text = "M"
2041
- intervals [271]:
2042
- xmin = 25.9
2043
- xmax = 25.99
2044
- text = "UW1"
2045
- intervals [272]:
2046
- xmin = 25.99
2047
- xmax = 26.06
2048
- text = "V"
2049
- intervals [273]:
2050
- xmin = 26.06
2051
- xmax = 26.14
2052
- text = "IY0"
2053
- intervals [274]:
2054
- xmin = 26.14
2055
- xmax = 26.23
2056
- text = "Z"
2057
- intervals [275]:
2058
- xmin = 26.23
2059
- xmax = 26.34
2060
- text = "IH1"
2061
- intervals [276]:
2062
- xmin = 26.34
2063
- xmax = 26.43
2064
- text = "Z"
2065
- intervals [277]:
2066
- xmin = 26.43
2067
- xmax = 26.64
2068
- text = "JH"
2069
- intervals [278]:
2070
- xmin = 26.64
2071
- xmax = 26.73
2072
- text = "IH0"
2073
- intervals [279]:
2074
- xmin = 26.73
2075
- xmax = 26.82
2076
- text = "S"
2077
- intervals [280]:
2078
- xmin = 26.82
2079
- xmax = 26.86
2080
- text = "T"
2081
- intervals [281]:
2082
- xmin = 26.86
2083
- xmax = 26.92
2084
- text = "L"
2085
- intervals [282]:
2086
- xmin = 26.92
2087
- xmax = 27.04
2088
- text = "AY1"
2089
- intervals [283]:
2090
- xmin = 27.04
2091
- xmax = 27.07
2092
- text = "K"
2093
- intervals [284]:
2094
- xmin = 27.07
2095
- xmax = 27.26
2096
- text = "R"
2097
- intervals [285]:
2098
- xmin = 27.26
2099
- xmax = 27.33
2100
- text = "IY1"
2101
- intervals [286]:
2102
- xmin = 27.33
2103
- xmax = 27.36
2104
- text = "D"
2105
- intervals [287]:
2106
- xmin = 27.36
2107
- xmax = 27.43
2108
- text = "IH0"
2109
- intervals [288]:
2110
- xmin = 27.43
2111
- xmax = 27.49
2112
- text = "NG"
2113
- intervals [289]:
2114
- xmin = 27.49
2115
- xmax = 27.56
2116
- text = "AH0"
2117
- intervals [290]:
2118
- xmin = 27.56
2119
- xmax = 27.63
2120
- text = "B"
2121
- intervals [291]:
2122
- xmin = 27.63
2123
- xmax = 27.77
2124
- text = "UH1"
2125
- intervals [292]:
2126
- xmin = 27.77
2127
- xmax = 27.98
2128
- text = "K"
2129
- intervals [293]:
2130
- xmin = 27.98
2131
- xmax = 28.11
2132
- text = ""
2133
- intervals [294]:
2134
- xmin = 28.11
2135
- xmax = 28.21
2136
- text = "DH"
2137
- intervals [295]:
2138
- xmin = 28.21
2139
- xmax = 28.25
2140
- text = "AH0"
2141
- intervals [296]:
2142
- xmin = 28.25
2143
- xmax = 28.29
2144
- text = "T"
2145
- intervals [297]:
2146
- xmin = 28.29
2147
- xmax = 28.38
2148
- text = "T"
2149
- intervals [298]:
2150
- xmin = 28.38
2151
- xmax = 28.44
2152
- text = "IY1"
2153
- intervals [299]:
2154
- xmin = 28.44
2155
- xmax = 28.52
2156
- text = "CH"
2157
- intervals [300]:
2158
- xmin = 28.52
2159
- xmax = 28.57
2160
- text = "IH0"
2161
- intervals [301]:
2162
- xmin = 28.57
2163
- xmax = 28.65
2164
- text = "Z"
2165
- intervals [302]:
2166
- xmin = 28.65
2167
- xmax = 28.69
2168
- text = "M"
2169
- intervals [303]:
2170
- xmin = 28.69
2171
- xmax = 28.78
2172
- text = "IY1"
2173
- intervals [304]:
2174
- xmin = 28.78
2175
- xmax = 28.91
2176
- text = "HH"
2177
- intervals [305]:
2178
- xmin = 28.91
2179
- xmax = 28.99
2180
- text = "AW1"
2181
- intervals [306]:
2182
- xmin = 28.99
2183
- xmax = 29.08
2184
- text = "T"
2185
- intervals [307]:
2186
- xmin = 29.08
2187
- xmax = 29.19
2188
- text = "AH0"
2189
- intervals [308]:
2190
- xmin = 29.19
2191
- xmax = 29.27
2192
- text = "L"
2193
- intervals [309]:
2194
- xmin = 29.27
2195
- xmax = 29.52
2196
- text = "AH1"
2197
- intervals [310]:
2198
- xmin = 29.52
2199
- xmax = 29.61
2200
- text = "V"
2201
- intervals [311]:
2202
- xmin = 29.61
2203
- xmax = 29.78
2204
- text = "AE1"
2205
- intervals [312]:
2206
- xmin = 29.78
2207
- xmax = 29.86
2208
- text = "N"
2209
- intervals [313]:
2210
- xmin = 29.86
2211
- xmax = 29.93
2212
- text = "D"
2213
- intervals [314]:
2214
- xmin = 29.93
2215
- xmax = 29.97
2216
- text = "B"
2217
- intervals [315]:
2218
- xmin = 29.97
2219
- xmax = 30.09
2220
- text = "IY1"
2221
- intervals [316]:
2222
- xmin = 30.09
2223
- xmax = 30.21
2224
- text = "L"
2225
- intervals [317]:
2226
- xmin = 30.21
2227
- xmax = 30.33
2228
- text = "AH1"
2229
- intervals [318]:
2230
- xmin = 30.33
2231
- xmax = 30.43
2232
- text = "V"
2233
- intervals [319]:
2234
- xmin = 30.43
2235
- xmax = 30.53
2236
- text = "D"
2237
- intervals [320]:
2238
- xmin = 30.53
2239
- xmax = 30.96
2240
- text = ""
2241
- intervals [321]:
2242
- xmin = 30.96
2243
- xmax = 31.09
2244
- text = "M"
2245
- intervals [322]:
2246
- xmin = 31.09
2247
- xmax = 31.14
2248
- text = "AO0"
2249
- intervals [323]:
2250
- xmin = 31.14
2251
- xmax = 31.22
2252
- text = "R"
2253
- intervals [324]:
2254
- xmin = 31.22
2255
- xmax = 31.5
2256
- text = "OW1"
2257
- intervals [325]:
2258
- xmin = 31.5
2259
- xmax = 31.53
2260
- text = "V"
2261
- intervals [326]:
2262
- xmin = 31.53
2263
- xmax = 31.68
2264
- text = "ER0"
2265
- intervals [327]:
2266
- xmin = 31.68
2267
- xmax = 31.74
2268
- text = "W"
2269
- intervals [328]:
2270
- xmin = 31.74
2271
- xmax = 31.81
2272
- text = "IY1"
2273
- intervals [329]:
2274
- xmin = 31.81
2275
- xmax = 32.01
2276
- text = ""
2277
- intervals [330]:
2278
- xmin = 32.01
2279
- xmax = 32.13
2280
- text = "K"
2281
- intervals [331]:
2282
- xmin = 32.13
2283
- xmax = 32.39
2284
- text = "AE1"
2285
- intervals [332]:
2286
- xmin = 32.39
2287
- xmax = 32.51
2288
- text = "N"
2289
- intervals [333]:
2290
- xmin = 32.51
2291
- xmax = 32.56
2292
- text = ""
2293
- intervals [334]:
2294
- xmin = 32.56
2295
- xmax = 32.65
2296
- text = "L"
2297
- intervals [335]:
2298
- xmin = 32.65
2299
- xmax = 32.68
2300
- text = "ER1"
2301
- intervals [336]:
2302
- xmin = 32.68
2303
- xmax = 32.72
2304
- text = "N"
2305
- intervals [337]:
2306
- xmin = 32.72
2307
- xmax = 33.02
2308
- text = "W"
2309
- intervals [338]:
2310
- xmin = 33.02
2311
- xmax = 33.09
2312
- text = "IY1"
2313
- intervals [339]:
2314
- xmin = 33.09
2315
- xmax = 33.16
2316
- text = "K"
2317
- intervals [340]:
2318
- xmin = 33.16
2319
- xmax = 33.21
2320
- text = "AH0"
2321
- intervals [341]:
2322
- xmin = 33.21
2323
- xmax = 33.25
2324
- text = "N"
2325
- intervals [342]:
2326
- xmin = 33.25
2327
- xmax = 33.4
2328
- text = "L"
2329
- intervals [343]:
2330
- xmin = 33.4
2331
- xmax = 33.58
2332
- text = "ER1"
2333
- intervals [344]:
2334
- xmin = 33.58
2335
- xmax = 34.05
2336
- text = "N"
2337
- intervals [345]:
2338
- xmin = 34.05
2339
- xmax = 34.2
2340
- text = ""
2341
- intervals [346]:
2342
- xmin = 34.2
2343
- xmax = 34.91
2344
- text = "M"
2345
- intervals [347]:
2346
- xmin = 34.91
2347
- xmax = 35.05
2348
- text = "AO1"
2349
- intervals [348]:
2350
- xmin = 35.05
2351
- xmax = 35.12
2352
- text = "R"
2353
- intervals [349]:
2354
- xmin = 35.12
2355
- xmax = 35.23
2356
- text = "F"
2357
- intervals [350]:
2358
- xmin = 35.23
2359
- xmax = 35.32
2360
- text = "R"
2361
- intervals [351]:
2362
- xmin = 35.32
2363
- xmax = 35.36
2364
- text = "AH1"
2365
- intervals [352]:
2366
- xmin = 35.36
2367
- xmax = 35.44
2368
- text = "M"
2369
- intervals [353]:
2370
- xmin = 35.44
2371
- xmax = 35.56
2372
- text = "IH0"
2373
- intervals [354]:
2374
- xmin = 35.56
2375
- xmax = 35.66
2376
- text = "T"
2377
- intervals [355]:
2378
- xmin = 35.66
2379
- xmax = 35.76
2380
- text = "S"
2381
- intervals [356]:
2382
- xmin = 35.76
2383
- xmax = 35.84
2384
- text = "AH1"
2385
- intervals [357]:
2386
- xmin = 35.84
2387
- xmax = 35.98
2388
- text = "CH"
2389
- intervals [358]:
2390
- xmin = 35.98
2391
- xmax = 36.06
2392
- text = "TH"
2393
- intervals [359]:
2394
- xmin = 36.06
2395
- xmax = 36.16
2396
- text = "IH1"
2397
- intervals [360]:
2398
- xmin = 36.16
2399
- xmax = 36.24
2400
- text = "NG"
2401
- intervals [361]:
2402
- xmin = 36.24
2403
- xmax = 36.35
2404
- text = "Z"
2405
- intervals [362]:
2406
- xmin = 36.35
2407
- xmax = 36.56
2408
- text = "AE1"
2409
- intervals [363]:
2410
- xmin = 36.56
2411
- xmax = 36.69
2412
- text = "Z"
2413
- intervals [364]:
2414
- xmin = 36.69
2415
- xmax = 36.89
2416
- text = ""
2417
- intervals [365]:
2418
- xmin = 36.89
2419
- xmax = 37.03
2420
- text = "L"
2421
- intervals [366]:
2422
- xmin = 37.03
2423
- xmax = 37.16
2424
- text = "OY1"
2425
- intervals [367]:
2426
- xmin = 37.16
2427
- xmax = 37.23
2428
- text = "AH0"
2429
- intervals [368]:
2430
- xmin = 37.23
2431
- xmax = 37.32
2432
- text = "L"
2433
- intervals [369]:
2434
- xmin = 37.32
2435
- xmax = 37.4
2436
- text = "T"
2437
- intervals [370]:
2438
- xmin = 37.4
2439
- xmax = 37.59
2440
- text = "IY0"
2441
- intervals [371]:
2442
- xmin = 37.59
2443
- xmax = 37.68
2444
- text = "AE1"
2445
- intervals [372]:
2446
- xmin = 37.68
2447
- xmax = 37.73
2448
- text = "N"
2449
- intervals [373]:
2450
- xmin = 37.73
2451
- xmax = 37.76
2452
- text = "D"
2453
- intervals [374]:
2454
- xmin = 37.76
2455
- xmax = 37.8
2456
- text = "W"
2457
- intervals [375]:
2458
- xmin = 37.8
2459
- xmax = 37.83
2460
- text = "AH1"
2461
- intervals [376]:
2462
- xmin = 37.83
2463
- xmax = 37.88
2464
- text = "T"
2465
- intervals [377]:
2466
- xmin = 37.88
2467
- xmax = 37.94
2468
- text = "W"
2469
- intervals [378]:
2470
- xmin = 37.94
2471
- xmax = 37.99
2472
- text = "IY1"
2473
- intervals [379]:
2474
- xmin = 37.99
2475
- xmax = 38.15
2476
- text = "T"
2477
- intervals [380]:
2478
- xmin = 38.15
2479
- xmax = 38.21
2480
- text = "R"
2481
- intervals [381]:
2482
- xmin = 38.21
2483
- xmax = 38.26
2484
- text = "EH1"
2485
- intervals [382]:
2486
- xmin = 38.26
2487
- xmax = 38.38
2488
- text = "ZH"
2489
- intervals [383]:
2490
- xmin = 38.38
2491
- xmax = 38.47
2492
- text = "ER0"
2493
- intervals [384]:
2494
- xmin = 38.47
2495
- xmax = 38.53
2496
- text = "IH0"
2497
- intervals [385]:
2498
- xmin = 38.53
2499
- xmax = 38.58
2500
- text = "N"
2501
- intervals [386]:
2502
- xmin = 38.58
2503
- xmax = 38.64
2504
- text = "AA1"
2505
- intervals [387]:
2506
- xmin = 38.64
2507
- xmax = 38.71
2508
- text = "R"
2509
- intervals [388]:
2510
- xmin = 38.71
2511
- xmax = 38.77
2512
- text = "L"
2513
- intervals [389]:
2514
- xmin = 38.77
2515
- xmax = 38.96
2516
- text = "AY1"
2517
- intervals [390]:
2518
- xmin = 38.96
2519
- xmax = 39.02
2520
- text = "V"
2521
- intervals [391]:
2522
- xmin = 39.02
2523
- xmax = 39.11
2524
- text = "Z"
2525
- intervals [392]:
2526
- xmin = 39.11
2527
- xmax = 39.4
2528
- text = ""
2529
- intervals [393]:
2530
- xmin = 39.4
2531
- xmax = 39.57
2532
- text = "AH0"
2533
- intervals [394]:
2534
- xmin = 39.57
2535
- xmax = 39.63
2536
- text = "N"
2537
- intervals [395]:
2538
- xmin = 39.63
2539
- xmax = 39.69
2540
- text = "AH1"
2541
- intervals [396]:
2542
- xmin = 39.69
2543
- xmax = 39.73
2544
- text = "DH"
2545
- intervals [397]:
2546
- xmin = 39.73
2547
- xmax = 39.8
2548
- text = "ER0"
2549
- intervals [398]:
2550
- xmin = 39.8
2551
- xmax = 39.85
2552
- text = "M"
2553
- intervals [399]:
2554
- xmin = 39.85
2555
- xmax = 39.98
2556
- text = "UW1"
2557
- intervals [400]:
2558
- xmin = 39.98
2559
- xmax = 40.06
2560
- text = "V"
2561
- intervals [401]:
2562
- xmin = 40.06
2563
- xmax = 40.13
2564
- text = "IY0"
2565
- intervals [402]:
2566
- xmin = 40.13
2567
- xmax = 40.25
2568
- text = "AH0"
2569
- intervals [403]:
2570
- xmin = 40.25
2571
- xmax = 40.31
2572
- text = "B"
2573
- intervals [404]:
2574
- xmin = 40.31
2575
- xmax = 40.46
2576
- text = "AW1"
2577
- intervals [405]:
2578
- xmin = 40.46
2579
- xmax = 40.51
2580
- text = "T"
2581
- intervals [406]:
2582
- xmin = 40.51
2583
- xmax = 40.62
2584
- text = "L"
2585
- intervals [407]:
2586
- xmin = 40.62
2587
- xmax = 40.76
2588
- text = "AH1"
2589
- intervals [408]:
2590
- xmin = 40.76
2591
- xmax = 40.83
2592
- text = "V"
2593
- intervals [409]:
2594
- xmin = 40.83
2595
- xmax = 41.01
2596
- text = "IH1"
2597
- intervals [410]:
2598
- xmin = 41.01
2599
- xmax = 41.08
2600
- text = "Z"
2601
- intervals [411]:
2602
- xmin = 41.08
2603
- xmax = 41.11
2604
- text = "DH"
2605
- intervals [412]:
2606
- xmin = 41.11
2607
- xmax = 41.24
2608
- text = "AH0"
2609
- intervals [413]:
2610
- xmin = 41.24
2611
- xmax = 41.3
2612
- text = ""
2613
- intervals [414]:
2614
- xmin = 41.3
2615
- xmax = 41.47
2616
- text = "S"
2617
- intervals [415]:
2618
- xmin = 41.47
2619
- xmax = 41.53
2620
- text = "IY1"
2621
- intervals [416]:
2622
- xmin = 41.53
2623
- xmax = 41.61
2624
- text = "K"
2625
- intervals [417]:
2626
- xmin = 41.61
2627
- xmax = 41.64
2628
- text = "R"
2629
- intervals [418]:
2630
- xmin = 41.64
2631
- xmax = 41.75
2632
- text = "IH0"
2633
- intervals [419]:
2634
- xmin = 41.75
2635
- xmax = 41.9
2636
- text = "T"
2637
- intervals [420]:
2638
- xmin = 41.9
2639
- xmax = 42.13
2640
- text = ""
2641
- intervals [421]:
2642
- xmin = 42.13
2643
- xmax = 42.35
2644
- text = "DH"
2645
- intervals [422]:
2646
- xmin = 42.35
2647
- xmax = 42.47
2648
- text = "AH1"
2649
- intervals [423]:
2650
- xmin = 42.47
2651
- xmax = 42.56
2652
- text = "M"
2653
- intervals [424]:
2654
- xmin = 42.56
2655
- xmax = 42.62
2656
- text = "UW1"
2657
- intervals [425]:
2658
- xmin = 42.62
2659
- xmax = 42.71
2660
- text = "V"
2661
- intervals [426]:
2662
- xmin = 42.71
2663
- xmax = 43.01
2664
- text = "IY0"
2665
- intervals [427]:
2666
- xmin = 43.01
2667
- xmax = 43.19
2668
- text = "S"
2669
- intervals [428]:
2670
- xmin = 43.19
2671
- xmax = 43.26
2672
- text = "IY1"
2673
- intervals [429]:
2674
- xmin = 43.26
2675
- xmax = 43.31
2676
- text = "K"
2677
- intervals [430]:
2678
- xmin = 43.31
2679
- xmax = 43.37
2680
- text = "R"
2681
- intervals [431]:
2682
- xmin = 43.37
2683
- xmax = 43.53
2684
- text = "IH0"
2685
- intervals [432]:
2686
- xmin = 43.53
2687
- xmax = 43.58
2688
- text = "T"
2689
- intervals [433]:
2690
- xmin = 43.58
2691
- xmax = 43.65
2692
- text = "IH1"
2693
- intervals [434]:
2694
- xmin = 43.65
2695
- xmax = 43.71
2696
- text = "Z"
2697
- intervals [435]:
2698
- xmin = 43.71
2699
- xmax = 43.77
2700
- text = "AH0"
2701
- intervals [436]:
2702
- xmin = 43.77
2703
- xmax = 43.84
2704
- text = "B"
2705
- intervals [437]:
2706
- xmin = 43.84
2707
- xmax = 44.03
2708
- text = "AW1"
2709
- intervals [438]:
2710
- xmin = 44.03
2711
- xmax = 44.1
2712
- text = "T"
2713
- intervals [439]:
2714
- xmin = 44.1
2715
- xmax = 44.15
2716
- text = "AH0"
2717
- intervals [440]:
2718
- xmin = 44.15
2719
- xmax = 44.33
2720
- text = "S"
2721
- intervals [441]:
2722
- xmin = 44.33
2723
- xmax = 44.4
2724
- text = "T"
2725
- intervals [442]:
2726
- xmin = 44.4
2727
- xmax = 44.51
2728
- text = "AO1"
2729
- intervals [443]:
2730
- xmin = 44.51
2731
- xmax = 44.65
2732
- text = "R"
2733
- intervals [444]:
2734
- xmin = 44.65
2735
- xmax = 44.88
2736
- text = "IY0"
2737
- intervals [445]:
2738
- xmin = 44.88
2739
- xmax = 44.95
2740
- text = ""
2741
- intervals [446]:
2742
- xmin = 44.95
2743
- xmax = 45.09
2744
- text = "AH0"
2745
- intervals [447]:
2746
- xmin = 45.09
2747
- xmax = 45.14
2748
- text = "V"
2749
- intervals [448]:
2750
- xmin = 45.14
2751
- xmax = 45.21
2752
- text = "AH0"
2753
- intervals [449]:
2754
- xmin = 45.21
2755
- xmax = 45.27
2756
- text = "M"
2757
- intervals [450]:
2758
- xmin = 45.27
2759
- xmax = 45.31
2760
- text = "Y"
2761
- intervals [451]:
2762
- xmin = 45.31
2763
- xmax = 45.34
2764
- text = "UW1"
2765
- intervals [452]:
2766
- xmin = 45.34
2767
- xmax = 45.41
2768
- text = "Z"
2769
- intervals [453]:
2770
- xmin = 45.41
2771
- xmax = 45.45
2772
- text = "IH0"
2773
- intervals [454]:
2774
- xmin = 45.45
2775
- xmax = 45.48
2776
- text = "K"
2777
- intervals [455]:
2778
- xmin = 45.48
2779
- xmax = 45.51
2780
- text = "AH0"
2781
- intervals [456]:
2782
- xmin = 45.51
2783
- xmax = 45.56
2784
- text = "L"
2785
- intervals [457]:
2786
- xmin = 45.56
2787
- xmax = 45.62
2788
- text = "P"
2789
- intervals [458]:
2790
- xmin = 45.62
2791
- xmax = 45.69
2792
- text = "R"
2793
- intervals [459]:
2794
- xmin = 45.69
2795
- xmax = 45.81
2796
- text = "AA1"
2797
- intervals [460]:
2798
- xmin = 45.81
2799
- xmax = 45.84
2800
- text = "D"
2801
- intervals [461]:
2802
- xmin = 45.84
2803
- xmax = 45.87
2804
- text = "AH0"
2805
- intervals [462]:
2806
- xmin = 45.87
2807
- xmax = 45.91
2808
- text = "JH"
2809
- intervals [463]:
2810
- xmin = 45.91
2811
- xmax = 45.96
2812
- text = "IY0"
2813
- intervals [464]:
2814
- xmin = 45.96
2815
- xmax = 45.99
2816
- text = "D"
2817
- intervals [465]:
2818
- xmin = 45.99
2819
- xmax = 46.04
2820
- text = "UW1"
2821
- intervals [466]:
2822
- xmin = 46.04
2823
- xmax = 46.09
2824
- text = "DH"
2825
- intervals [467]:
2826
- xmin = 46.09
2827
- xmax = 46.12
2828
- text = "AH0"
2829
- intervals [468]:
2830
- xmin = 46.12
2831
- xmax = 46.17
2832
- text = "T"
2833
- intervals [469]:
2834
- xmin = 46.17
2835
- xmax = 46.24
2836
- text = "F"
2837
- intervals [470]:
2838
- xmin = 46.24
2839
- xmax = 46.29
2840
- text = "AO1"
2841
- intervals [471]:
2842
- xmin = 46.29
2843
- xmax = 46.36
2844
- text = "L"
2845
- intervals [472]:
2846
- xmin = 46.36
2847
- xmax = 46.42
2848
- text = "Z"
2849
- intervals [473]:
2850
- xmin = 46.42
2851
- xmax = 46.46
2852
- text = "IH0"
2853
- intervals [474]:
2854
- xmin = 46.46
2855
- xmax = 46.49
2856
- text = "N"
2857
- intervals [475]:
2858
- xmin = 46.49
2859
- xmax = 46.53
2860
- text = "L"
2861
- intervals [476]:
2862
- xmin = 46.53
2863
- xmax = 46.59
2864
- text = "AH1"
2865
- intervals [477]:
2866
- xmin = 46.59
2867
- xmax = 46.62
2868
- text = "V"
2869
- intervals [478]:
2870
- xmin = 46.62
2871
- xmax = 46.65
2872
- text = "W"
2873
- intervals [479]:
2874
- xmin = 46.65
2875
- xmax = 46.68
2876
- text = "IH0"
2877
- intervals [480]:
2878
- xmin = 46.68
2879
- xmax = 46.72
2880
- text = "DH"
2881
- intervals [481]:
2882
- xmin = 46.72
2883
- xmax = 46.85
2884
- text = "AH0"
2885
- intervals [482]:
2886
- xmin = 46.85
2887
- xmax = 46.91
2888
- text = ""
2889
- intervals [483]:
2890
- xmin = 46.91
2891
- xmax = 47.04
2892
- text = "G"
2893
- intervals [484]:
2894
- xmin = 47.04
2895
- xmax = 47.13
2896
- text = "ER1"
2897
- intervals [485]:
2898
- xmin = 47.13
2899
- xmax = 47.21
2900
- text = "L"
2901
- intervals [486]:
2902
- xmin = 47.21
2903
- xmax = 47.27
2904
- text = "HH"
2905
- intervals [487]:
2906
- xmin = 47.27
2907
- xmax = 47.38
2908
- text = "UW1"
2909
- intervals [488]:
2910
- xmin = 47.38
2911
- xmax = 47.46
2912
- text = "Z"
2913
- intervals [489]:
2914
- xmin = 47.46
2915
- xmax = 47.55
2916
- text = "D"
2917
- intervals [490]:
2918
- xmin = 47.55
2919
- xmax = 47.73
2920
- text = "AY1"
2921
- intervals [491]:
2922
- xmin = 47.73
2923
- xmax = 47.84
2924
- text = "IH0"
2925
- intervals [492]:
2926
- xmin = 47.84
2927
- xmax = 48.01
2928
- text = "NG"
2929
- intervals [493]:
2930
- xmin = 48.01
2931
- xmax = 49.08
2932
- text = ""
2933
- intervals [494]:
2934
- xmin = 49.08
2935
- xmax = 49.15
2936
- text = "DH"
2937
- intervals [495]:
2938
- xmin = 49.15
2939
- xmax = 49.18
2940
- text = "EH1"
2941
- intervals [496]:
2942
- xmin = 49.18
2943
- xmax = 49.33
2944
- text = "R"
2945
- intervals [497]:
2946
- xmin = 49.33
2947
- xmax = 49.36
2948
- text = "AA1"
2949
- intervals [498]:
2950
- xmin = 49.36
2951
- xmax = 49.39
2952
- text = "R"
2953
- intervals [499]:
2954
- xmin = 49.39
2955
- xmax = 49.46
2956
- text = "AH0"
2957
- intervals [500]:
2958
- xmin = 49.46
2959
- xmax = 49.52
2960
- text = "L"
2961
- intervals [501]:
2962
- xmin = 49.52
2963
- xmax = 49.69
2964
- text = "AA1"
2965
- intervals [502]:
2966
- xmin = 49.69
2967
- xmax = 49.82
2968
- text = "T"
2969
- intervals [503]:
2970
- xmin = 49.82
2971
- xmax = 49.98
2972
- text = "AH1"
2973
- intervals [504]:
2974
- xmin = 49.98
2975
- xmax = 50.2
2976
- text = "V"
2977
- intervals [505]:
2978
- xmin = 50.2
2979
- xmax = 50.29
2980
- text = ""
2981
- intervals [506]:
2982
- xmin = 50.29
2983
- xmax = 50.43
2984
- text = "EH1"
2985
- intervals [507]:
2986
- xmin = 50.43
2987
- xmax = 50.52
2988
- text = "N"
2989
- intervals [508]:
2990
- xmin = 50.52
2991
- xmax = 50.56
2992
- text = "V"
2993
- intervals [509]:
2994
- xmin = 50.56
2995
- xmax = 50.65
2996
- text = "IY0"
2997
- intervals [510]:
2998
- xmin = 50.65
2999
- xmax = 50.7
3000
- text = "AH0"
3001
- intervals [511]:
3002
- xmin = 50.7
3003
- xmax = 50.75
3004
- text = "B"
3005
- intervals [512]:
3006
- xmin = 50.75
3007
- xmax = 50.78
3008
- text = "AH0"
3009
- intervals [513]:
3010
- xmin = 50.78
3011
- xmax = 50.88
3012
- text = "L"
3013
- intervals [514]:
3014
- xmin = 50.88
3015
- xmax = 50.94
3016
- text = "M"
3017
- intervals [515]:
3018
- xmin = 50.94
3019
- xmax = 51.05
3020
- text = "OW1"
3021
- intervals [516]:
3022
- xmin = 51.05
3023
- xmax = 51.12
3024
- text = "M"
3025
- intervals [517]:
3026
- xmin = 51.12
3027
- xmax = 51.16
3028
- text = "AH0"
3029
- intervals [518]:
3030
- xmin = 51.16
3031
- xmax = 51.19
3032
- text = "N"
3033
- intervals [519]:
3034
- xmin = 51.19
3035
- xmax = 51.23
3036
- text = "T"
3037
- intervals [520]:
3038
- xmin = 51.23
3039
- xmax = 51.3
3040
- text = "S"
3041
- intervals [521]:
3042
- xmin = 51.3
3043
- xmax = 51.34
3044
- text = "IH0"
3045
- intervals [522]:
3046
- xmin = 51.34
3047
- xmax = 51.37
3048
- text = "N"
3049
- intervals [523]:
3050
- xmin = 51.37
3051
- xmax = 51.4
3052
- text = "DH"
3053
- intervals [524]:
3054
- xmin = 51.4
3055
- xmax = 51.46
3056
- text = "IH0"
3057
- intervals [525]:
3058
- xmin = 51.46
3059
- xmax = 51.53
3060
- text = "S"
3061
- intervals [526]:
3062
- xmin = 51.53
3063
- xmax = 51.58
3064
- text = "F"
3065
- intervals [527]:
3066
- xmin = 51.58
3067
- xmax = 51.62
3068
- text = "IH1"
3069
- intervals [528]:
3070
- xmin = 51.62
3071
- xmax = 51.72
3072
- text = "L"
3073
- intervals [529]:
3074
- xmin = 51.72
3075
- xmax = 51.77
3076
- text = "M"
3077
- intervals [530]:
3078
- xmin = 51.77
3079
- xmax = 51.86
3080
- text = "S"
3081
- intervals [531]:
3082
- xmin = 51.86
3083
- xmax = 51.91
3084
- text = "AH1"
3085
- intervals [532]:
3086
- xmin = 51.91
3087
- xmax = 52.01
3088
- text = "CH"
3089
- intervals [533]:
3090
- xmin = 52.01
3091
- xmax = 52.09
3092
- text = "EH1"
3093
- intervals [534]:
3094
- xmin = 52.09
3095
- xmax = 52.2
3096
- text = "Z"
3097
- intervals [535]:
3098
- xmin = 52.2
3099
- xmax = 52.23
3100
- text = "DH"
3101
- intervals [536]:
3102
- xmin = 52.23
3103
- xmax = 52.3
3104
- text = "AH0"
3105
- intervals [537]:
3106
- xmin = 52.3
3107
- xmax = 52.39
3108
- text = "S"
3109
- intervals [538]:
3110
- xmin = 52.39
3111
- xmax = 52.43
3112
- text = "IH1"
3113
- intervals [539]:
3114
- xmin = 52.43
3115
- xmax = 52.46
3116
- text = "M"
3117
- intervals [540]:
3118
- xmin = 52.46
3119
- xmax = 52.5
3120
- text = "P"
3121
- intervals [541]:
3122
- xmin = 52.5
3123
- xmax = 52.53
3124
- text = "AH0"
3125
- intervals [542]:
3126
- xmin = 52.53
3127
- xmax = 52.57
3128
- text = "L"
3129
- intervals [543]:
3130
- xmin = 52.57
3131
- xmax = 52.66
3132
- text = "L"
3133
- intervals [544]:
3134
- xmin = 52.66
3135
- xmax = 52.71
3136
- text = "AH1"
3137
- intervals [545]:
3138
- xmin = 52.71
3139
- xmax = 52.74
3140
- text = "V"
3141
- intervals [546]:
3142
- xmin = 52.74
3143
- xmax = 52.79
3144
- text = "B"
3145
- intervals [547]:
3146
- xmin = 52.79
3147
- xmax = 52.83
3148
- text = "IH0"
3149
- intervals [548]:
3150
- xmin = 52.83
3151
- xmax = 52.91
3152
- text = "T"
3153
- intervals [549]:
3154
- xmin = 52.91
3155
- xmax = 52.99
3156
- text = "W"
3157
- intervals [550]:
3158
- xmin = 52.99
3159
- xmax = 53.03
3160
- text = "IY1"
3161
- intervals [551]:
3162
- xmin = 53.03
3163
- xmax = 53.06
3164
- text = "N"
3165
- intervals [552]:
3166
- xmin = 53.06
3167
- xmax = 53.18
3168
- text = "HH"
3169
- intervals [553]:
3170
- xmin = 53.18
3171
- xmax = 53.26
3172
- text = "AY1"
3173
- intervals [554]:
3174
- xmin = 53.26
3175
- xmax = 53.34
3176
- text = "S"
3177
- intervals [555]:
3178
- xmin = 53.34
3179
- xmax = 53.42
3180
- text = "K"
3181
- intervals [556]:
3182
- xmin = 53.42
3183
- xmax = 53.45
3184
- text = "UW1"
3185
- intervals [557]:
3186
- xmin = 53.45
3187
- xmax = 53.52
3188
- text = "L"
3189
- intervals [558]:
3190
- xmin = 53.52
3191
- xmax = 53.63
3192
- text = "S"
3193
- intervals [559]:
3194
- xmin = 53.63
3195
- xmax = 53.68
3196
- text = "T"
3197
- intervals [560]:
3198
- xmin = 53.68
3199
- xmax = 53.77
3200
- text = "UW1"
3201
- intervals [561]:
3202
- xmin = 53.77
3203
- xmax = 53.8
3204
- text = "D"
3205
- intervals [562]:
3206
- xmin = 53.8
3207
- xmax = 53.84
3208
- text = "AH0"
3209
- intervals [563]:
3210
- xmin = 53.84
3211
- xmax = 53.89
3212
- text = "N"
3213
- intervals [564]:
3214
- xmin = 53.89
3215
- xmax = 53.95
3216
- text = "T"
3217
- intervals [565]:
3218
- xmin = 53.95
3219
- xmax = 54.09
3220
- text = "S"
3221
- intervals [566]:
3222
- xmin = 54.09
3223
- xmax = 54.32
3224
- text = ""
3225
- intervals [567]:
3226
- xmin = 54.32
3227
- xmax = 54.42
3228
- text = "EH1"
3229
- intervals [568]:
3230
- xmin = 54.42
3231
- xmax = 54.45
3232
- text = "V"
3233
- intervals [569]:
3234
- xmin = 54.45
3235
- xmax = 54.51
3236
- text = "R"
3237
- intervals [570]:
3238
- xmin = 54.51
3239
- xmax = 54.56
3240
- text = "IY0"
3241
- intervals [571]:
3242
- xmin = 54.56
3243
- xmax = 54.65
3244
- text = "T"
3245
- intervals [572]:
3246
- xmin = 54.65
3247
- xmax = 54.83
3248
- text = "AY1"
3249
- intervals [573]:
3250
- xmin = 54.83
3251
- xmax = 54.93
3252
- text = "M"
3253
- intervals [574]:
3254
- xmin = 54.93
3255
- xmax = 54.96
3256
- text = ""
3257
- intervals [575]:
3258
- xmin = 54.96
3259
- xmax = 55.08
3260
- text = "AY1"
3261
- intervals [576]:
3262
- xmin = 55.08
3263
- xmax = 55.28
3264
- text = "W"
3265
- intervals [577]:
3266
- xmin = 55.28
3267
- xmax = 55.36
3268
- text = "AA1"
3269
- intervals [578]:
3270
- xmin = 55.36
3271
- xmax = 55.45
3272
- text = "CH"
3273
- intervals [579]:
3274
- xmin = 55.45
3275
- xmax = 55.53
3276
- text = "DH"
3277
- intervals [580]:
3278
- xmin = 55.53
3279
- xmax = 55.59
3280
- text = "IH0"
3281
- intervals [581]:
3282
- xmin = 55.59
3283
- xmax = 55.68
3284
- text = "S"
3285
- intervals [582]:
3286
- xmin = 55.68
3287
- xmax = 55.73
3288
- text = "M"
3289
- intervals [583]:
3290
- xmin = 55.73
3291
- xmax = 55.76
3292
- text = "UW1"
3293
- intervals [584]:
3294
- xmin = 55.76
3295
- xmax = 55.84
3296
- text = "V"
3297
- intervals [585]:
3298
- xmin = 55.84
3299
- xmax = 55.89
3300
- text = "IY0"
3301
- intervals [586]:
3302
- xmin = 55.89
3303
- xmax = 55.92
3304
- text = "IH1"
3305
- intervals [587]:
3306
- xmin = 55.92
3307
- xmax = 55.98
3308
- text = "T"
3309
- intervals [588]:
3310
- xmin = 55.98
3311
- xmax = 56.05
3312
- text = "R"
3313
- intervals [589]:
3314
- xmin = 56.05
3315
- xmax = 56.12
3316
- text = "IY0"
3317
- intervals [590]:
3318
- xmin = 56.12
3319
- xmax = 56.2
3320
- text = "M"
3321
- intervals [591]:
3322
- xmin = 56.2
3323
- xmax = 56.34
3324
- text = "AY1"
3325
- intervals [592]:
3326
- xmin = 56.34
3327
- xmax = 56.38
3328
- text = "N"
3329
- intervals [593]:
3330
- xmin = 56.38
3331
- xmax = 56.41
3332
- text = "D"
3333
- intervals [594]:
3334
- xmin = 56.41
3335
- xmax = 56.44
3336
- text = "Z"
3337
- intervals [595]:
3338
- xmin = 56.44
3339
- xmax = 56.49
3340
- text = "M"
3341
- intervals [596]:
3342
- xmin = 56.49
3343
- xmax = 56.55
3344
- text = "IY1"
3345
- intervals [597]:
3346
- xmin = 56.55
3347
- xmax = 56.6
3348
- text = "AH0"
3349
- intervals [598]:
3350
- xmin = 56.6
3351
- xmax = 56.63
3352
- text = "V"
3353
- intervals [599]:
3354
- xmin = 56.63
3355
- xmax = 56.7
3356
- text = "AH0"
3357
- intervals [600]:
3358
- xmin = 56.7
3359
- xmax = 56.82
3360
- text = "T"
3361
- intervals [601]:
3362
- xmin = 56.82
3363
- xmax = 56.94
3364
- text = "AY1"
3365
- intervals [602]:
3366
- xmin = 56.94
3367
- xmax = 56.99
3368
- text = "M"
3369
- intervals [603]:
3370
- xmin = 56.99
3371
- xmax = 57.02
3372
- text = "DH"
3373
- intervals [604]:
3374
- xmin = 57.02
3375
- xmax = 57.05
3376
- text = "AH0"
3377
- intervals [605]:
3378
- xmin = 57.05
3379
- xmax = 57.08
3380
- text = "T"
3381
- intervals [606]:
3382
- xmin = 57.08
3383
- xmax = 57.13
3384
- text = "AY1"
3385
- intervals [607]:
3386
- xmin = 57.13
3387
- xmax = 57.17
3388
- text = "W"
3389
- intervals [608]:
3390
- xmin = 57.17
3391
- xmax = 57.2
3392
- text = "AH0"
3393
- intervals [609]:
3394
- xmin = 57.2
3395
- xmax = 57.23
3396
- text = "Z"
3397
- intervals [610]:
3398
- xmin = 57.23
3399
- xmax = 57.26
3400
- text = "IH0"
3401
- intervals [611]:
3402
- xmin = 57.26
3403
- xmax = 57.29
3404
- text = "N"
3405
- intervals [612]:
3406
- xmin = 57.29
3407
- xmax = 57.41
3408
- text = "HH"
3409
- intervals [613]:
3410
- xmin = 57.41
3411
- xmax = 57.53
3412
- text = "AY1"
3413
- intervals [614]:
3414
- xmin = 57.53
3415
- xmax = 57.66
3416
- text = "S"
3417
- intervals [615]:
3418
- xmin = 57.66
3419
- xmax = 57.69
3420
- text = "K"
3421
- intervals [616]:
3422
- xmin = 57.69
3423
- xmax = 57.84
3424
- text = "UW1"
3425
- intervals [617]:
3426
- xmin = 57.84
3427
- xmax = 57.88
3428
- text = "L"
3429
- intervals [618]:
3430
- xmin = 57.88
3431
- xmax = 57.91
3432
- text = "AH0"
3433
- intervals [619]:
3434
- xmin = 57.91
3435
- xmax = 57.94
3436
- text = "N"
3437
- intervals [620]:
3438
- xmin = 57.94
3439
- xmax = 58.03
3440
- text = "D"
3441
- intervals [621]:
3442
- xmin = 58.03
3443
- xmax = 58.25
3444
- text = ""
3445
- intervals [622]:
3446
- xmin = 58.25
3447
- xmax = 58.36
3448
- text = "Y"
3449
- intervals [623]:
3450
- xmin = 58.36
3451
- xmax = 58.4
3452
- text = "UW1"
3453
- intervals [624]:
3454
- xmin = 58.4
3455
- xmax = 58.45
3456
- text = "M"
3457
- intervals [625]:
3458
- xmin = 58.45
3459
- xmax = 58.51
3460
- text = "AY1"
3461
- intervals [626]:
3462
- xmin = 58.51
3463
- xmax = 58.55
3464
- text = "T"
3465
- intervals [627]:
3466
- xmin = 58.55
3467
- xmax = 58.59
3468
- text = "R"
3469
- intervals [628]:
3470
- xmin = 58.59
3471
- xmax = 58.66
3472
- text = "IH0"
3473
- intervals [629]:
3474
- xmin = 58.66
3475
- xmax = 58.7
3476
- text = "M"
3477
- intervals [630]:
3478
- xmin = 58.7
3479
- xmax = 58.76
3480
- text = "EH1"
3481
- intervals [631]:
3482
- xmin = 58.76
3483
- xmax = 58.79
3484
- text = "M"
3485
- intervals [632]:
3486
- xmin = 58.79
3487
- xmax = 58.84
3488
- text = "B"
3489
- intervals [633]:
3490
- xmin = 58.84
3491
- xmax = 59.1
3492
- text = "ER0"
3493
- intervals [634]:
3494
- xmin = 59.1
3495
- xmax = 59.29
3496
- text = ""
3497
- intervals [635]:
3498
- xmin = 59.29
3499
- xmax = 59.38
3500
- text = "DH"
3501
- intervals [636]:
3502
- xmin = 59.38
3503
- xmax = 59.44
3504
- text = "AH0"
3505
- intervals [637]:
3506
- xmin = 59.44
3507
- xmax = 59.56
3508
- text = "K"
3509
- intervals [638]:
3510
- xmin = 59.56
3511
- xmax = 59.63
3512
- text = "R"
3513
- intervals [639]:
3514
- xmin = 59.63
3515
- xmax = 59.69
3516
- text = "AH1"
3517
- intervals [640]:
3518
- xmin = 59.69
3519
- xmax = 59.83
3520
- text = "SH"
3521
- intervals [641]:
3522
- xmin = 59.83
3523
- xmax = 59.89
3524
- text = "Y"
3525
- intervals [642]:
3526
- xmin = 59.89
3527
- xmax = 59.94
3528
- text = "UW1"
3529
- intervals [643]:
3530
- xmin = 59.94
3531
- xmax = 60.03
3532
- text = "HH"
3533
- intervals [644]:
3534
- xmin = 60.03
3535
- xmax = 60.12
3536
- text = "AE1"
3537
- intervals [645]:
3538
- xmin = 60.12
3539
- xmax = 60.16
3540
- text = "D"
3541
- intervals [646]:
3542
- xmin = 60.16
3543
- xmax = 60.2
3544
- text = "IH0"
3545
- intervals [647]:
3546
- xmin = 60.2
3547
- xmax = 60.27
3548
- text = "N"
3549
- intervals [648]:
3550
- xmin = 60.27
3551
- xmax = 60.37
3552
- text = "S"
3553
- intervals [649]:
3554
- xmin = 60.37
3555
- xmax = 60.43
3556
- text = "K"
3557
- intervals [650]:
3558
- xmin = 60.43
3559
- xmax = 60.54
3560
- text = "UW1"
3561
- intervals [651]:
3562
- xmin = 60.54
3563
- xmax = 60.74
3564
- text = "L"
3565
- intervals [652]:
3566
- xmin = 60.74
3567
- xmax = 60.9
3568
- text = ""
3569
- intervals [653]:
3570
- xmin = 60.9
3571
- xmax = 61.06
3572
- text = "AE1"
3573
- intervals [654]:
3574
- xmin = 61.06
3575
- xmax = 61.09
3576
- text = "N"
3577
- intervals [655]:
3578
- xmin = 61.09
3579
- xmax = 61.12
3580
- text = "D"
3581
- intervals [656]:
3582
- xmin = 61.12
3583
- xmax = 61.2
3584
- text = "HH"
3585
- intervals [657]:
3586
- xmin = 61.2
3587
- xmax = 61.24
3588
- text = "AW1"
3589
- intervals [658]:
3590
- xmin = 61.24
3591
- xmax = 61.29
3592
- text = "Y"
3593
- intervals [659]:
3594
- xmin = 61.29
3595
- xmax = 61.36
3596
- text = "UW1"
3597
- intervals [660]:
3598
- xmin = 61.36
3599
- xmax = 61.4
3600
- text = "W"
3601
- intervals [661]:
3602
- xmin = 61.4
3603
- xmax = 61.43
3604
- text = "UH1"
3605
- intervals [662]:
3606
- xmin = 61.43
3607
- xmax = 61.48
3608
- text = "D"
3609
- intervals [663]:
3610
- xmin = 61.48
3611
- xmax = 61.57
3612
- text = "L"
3613
- intervals [664]:
3614
- xmin = 61.57
3615
- xmax = 61.63
3616
- text = "UH1"
3617
- intervals [665]:
3618
- xmin = 61.63
3619
- xmax = 61.7
3620
- text = "K"
3621
- intervals [666]:
3622
- xmin = 61.7
3623
- xmax = 61.73
3624
- text = "AE1"
3625
- intervals [667]:
3626
- xmin = 61.73
3627
- xmax = 61.77
3628
- text = "T"
3629
- intervals [668]:
3630
- xmin = 61.77
3631
- xmax = 61.84
3632
- text = "HH"
3633
- intervals [669]:
3634
- xmin = 61.84
3635
- xmax = 61.98
3636
- text = "IH1"
3637
- intervals [670]:
3638
- xmin = 61.98
3639
- xmax = 62.16
3640
- text = "M"
3641
- intervals [671]:
3642
- xmin = 62.16
3643
- xmax = 62.37
3644
- text = ""
3645
- intervals [672]:
3646
- xmin = 62.37
3647
- xmax = 62.42
3648
- text = "HH"
3649
- intervals [673]:
3650
- xmin = 62.42
3651
- xmax = 62.46
3652
- text = "W"
3653
- intervals [674]:
3654
- xmin = 62.46
3655
- xmax = 62.49
3656
- text = "AY1"
3657
- intervals [675]:
3658
- xmin = 62.49
3659
- xmax = 62.54
3660
- text = "L"
3661
- intervals [676]:
3662
- xmin = 62.54
3663
- xmax = 62.59
3664
- text = "HH"
3665
- intervals [677]:
3666
- xmin = 62.59
3667
- xmax = 62.64
3668
- text = "IY1"
3669
- intervals [678]:
3670
- xmin = 62.64
3671
- xmax = 62.74
3672
- text = "Z"
3673
- intervals [679]:
3674
- xmin = 62.74
3675
- xmax = 62.93
3676
- text = "AE1"
3677
- intervals [680]:
3678
- xmin = 62.93
3679
- xmax = 63.02
3680
- text = "T"
3681
- intervals [681]:
3682
- xmin = 63.02
3683
- xmax = 63.5
3684
- text = "IH1"
3685
- intervals [682]:
3686
- xmin = 63.5
3687
- xmax = 63.61
3688
- text = "N"
3689
- intervals [683]:
3690
- xmin = 63.61
3691
- xmax = 63.7
3692
- text = "K"
3693
- intervals [684]:
3694
- xmin = 63.7
3695
- xmax = 63.77
3696
- text = "L"
3697
- intervals [685]:
3698
- xmin = 63.77
3699
- xmax = 63.93
3700
- text = "AE1"
3701
- intervals [686]:
3702
- xmin = 63.93
3703
- xmax = 64.04
3704
- text = "S"
3705
- intervals [687]:
3706
- xmin = 64.04
3707
- xmax = 64.13
3708
- text = "W"
3709
- intervals [688]:
3710
- xmin = 64.13
3711
- xmax = 64.16
3712
- text = "IH0"
3713
- intervals [689]:
3714
- xmin = 64.16
3715
- xmax = 64.2
3716
- text = "DH"
3717
- intervals [690]:
3718
- xmin = 64.2
3719
- xmax = 64.3
3720
- text = "AW1"
3721
- intervals [691]:
3722
- xmin = 64.3
3723
- xmax = 64.38
3724
- text = "T"
3725
- intervals [692]:
3726
- xmin = 64.38
3727
- xmax = 64.45
3728
- text = "TH"
3729
- intervals [693]:
3730
- xmin = 64.45
3731
- xmax = 64.52
3732
- text = "IH1"
3733
- intervals [694]:
3734
- xmin = 64.52
3735
- xmax = 64.58
3736
- text = "NG"
3737
- intervals [695]:
3738
- xmin = 64.58
3739
- xmax = 64.64
3740
- text = "K"
3741
- intervals [696]:
3742
- xmin = 64.64
3743
- xmax = 64.76
3744
- text = "IH0"
3745
- intervals [697]:
3746
- xmin = 64.76
3747
- xmax = 64.83
3748
- text = "NG"
3749
- intervals [698]:
3750
- xmin = 64.83
3751
- xmax = 64.88
3752
- text = "AO1"
3753
- intervals [699]:
3754
- xmin = 64.88
3755
- xmax = 64.95
3756
- text = "R"
3757
- intervals [700]:
3758
- xmin = 64.95
3759
- xmax = 64.98
3760
- text = ""
3761
- intervals [701]:
3762
- xmin = 64.98
3763
- xmax = 65.13
3764
- text = "W"
3765
- intervals [702]:
3766
- xmin = 65.13
3767
- xmax = 65.17
3768
- text = "AA1"
3769
- intervals [703]:
3770
- xmin = 65.17
3771
- xmax = 65.21
3772
- text = "N"
3773
- intervals [704]:
3774
- xmin = 65.21
3775
- xmax = 65.24
3776
- text = "IH0"
3777
- intervals [705]:
3778
- xmin = 65.24
3779
- xmax = 65.27
3780
- text = "NG"
3781
- intervals [706]:
3782
- xmin = 65.27
3783
- xmax = 65.31
3784
- text = "T"
3785
- intervals [707]:
3786
- xmin = 65.31
3787
- xmax = 65.36
3788
- text = "AH0"
3789
- intervals [708]:
3790
- xmin = 65.36
3791
- xmax = 65.42
3792
- text = "G"
3793
- intervals [709]:
3794
- xmin = 65.42
3795
- xmax = 65.54
3796
- text = "OW1"
3797
- intervals [710]:
3798
- xmin = 65.54
3799
- xmax = 65.63
3800
- text = "P"
3801
- intervals [711]:
3802
- xmin = 65.63
3803
- xmax = 65.7
3804
- text = "L"
3805
- intervals [712]:
3806
- xmin = 65.7
3807
- xmax = 65.76
3808
- text = "EY1"
3809
- intervals [713]:
3810
- xmin = 65.76
3811
- xmax = 65.83
3812
- text = "S"
3813
- intervals [714]:
3814
- xmin = 65.83
3815
- xmax = 65.88
3816
- text = "IH0"
3817
- intervals [715]:
3818
- xmin = 65.88
3819
- xmax = 65.95
3820
- text = "Z"
3821
- intervals [716]:
3822
- xmin = 65.95
3823
- xmax = 66.0
3824
- text = "W"
3825
- intervals [717]:
3826
- xmin = 66.0
3827
- xmax = 66.03
3828
- text = "IH1"
3829
- intervals [718]:
3830
- xmin = 66.03
3831
- xmax = 66.12
3832
- text = "DH"
3833
- intervals [719]:
3834
- xmin = 66.12
3835
- xmax = 66.2
3836
- text = "IH0"
3837
- intervals [720]:
3838
- xmin = 66.2
3839
- xmax = 66.38
3840
- text = "M"
3841
- intervals [721]:
3842
- xmin = 66.38
3843
- xmax = 67
3844
- text = ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EMAGE/test_sequences/wave16k/2_scott_0_1_1.wav DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:0c113fe8c698ffd6772a3f9e110024fac486ea5cddc6fada8d7987ff1f32901d
3
- size 481240
 
 
 
 
EMAGE/test_sequences/wave16k/2_scott_0_2_2.wav DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:8c389ae95861164fef0b1c9aab923cc4af6043b25655868db0a1164db236ba0b
3
- size 235254
 
 
 
 
EMAGE/test_sequences/wave16k/2_scott_0_3_3.wav DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:55b4083dc7f5f548eba4b720b2fe2dbadc02dbda8f6d1a2cd2e058b5098a45b9
3
- size 231396
 
 
 
 
EMAGE/test_sequences/wave16k/2_scott_0_4_4.wav DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b4d3052dc05e85222169441f5d487edd7106188cdb340f2f24b1a9197bae8ef7
3
- size 124100
 
 
 
 
EMAGE/test_sequences/weights/AESKConv_240_100.bin DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5cd9566b24264f34d44003b3de62cdfd50aa85b7cdde2d369214599023c40f55
3
- size 17558653
 
 
 
 
EMAGE/test_sequences/weights/mean_vel_smplxflame_30.npy DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:53b5e48f2a7bf78c41a6de6395d6bb4f29018465ca5d0ee2820a2be3eebb7137
3
- size 348
 
 
 
 
EMAGE/test_sequences/weights/vocab.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:54fbcea7b19e0ee9b5c5836c85087a682d3a9513041091ce3e95d83eed0b2acd
3
- size 13821361
 
 
 
 
README.md CHANGED
@@ -1,24 +1,13 @@
1
  ---
2
- title: EMAGE
3
- emoji: 🐑
4
- colorFrom: green
5
- colorTo: gray
6
  sdk: gradio
7
- sdk_version: 4.24.0
 
8
  app_file: app.py
9
  pinned: false
10
- license: cc-by-nc-4.0
11
- short_description: Co-Speech Gesture 3D Motion Generation
12
  ---
13
- This is a demo is a audio-only version of the approach described in the paper, ["EMAGE: Towards Unified Holistic Co-Speech Gesture Generation via Expressive Masked Audio Gesture Modeling"](https://arxiv.org/abs/2401.00374)
14
 
15
- ```
16
- @misc{liu2023emage,
17
- title={EMAGE: Towards Unified Holistic Co-Speech Gesture Generation via Expressive Masked Audio Gesture Modeling},
18
- author={Liu, Haiyang and Zhu, Zihao and Becherini, Giorgio and Peng, Yichen and Su, Mingyang and Zhou, You and Zhe, Xuefei and Iwamoto, Naoya and Zheng, Bo and Black, Michael J},
19
- year={2023},
20
- eprint={2401.00374},
21
- archivePrefix={arXiv},
22
- primaryClass={cs.CV}
23
- }
24
- ```
 
1
  ---
2
+ title: Emagedev
3
+ emoji: 👁
4
+ colorFrom: red
5
+ colorTo: indigo
6
  sdk: gradio
7
+ sdk_version: 4.44.1
8
+ python_version: 3.9.20
9
  app_file: app.py
10
  pinned: false
 
 
11
  ---
 
12
 
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
ae_trainer.py DELETED
@@ -1,375 +0,0 @@
1
- import train
2
- import os
3
- import time
4
- import csv
5
- import sys
6
- import warnings
7
- import random
8
- import numpy as np
9
- import time
10
- import pprint
11
- import pickle
12
-
13
- import torch
14
- import torch.nn as nn
15
- import torch.nn.functional as F
16
- from torch.utils.tensorboard import SummaryWriter
17
- from torch.nn.parallel import DistributedDataParallel as DDP
18
- from loguru import logger
19
- import smplx
20
-
21
- from utils import config, logger_tools, other_tools, metric
22
- from utils import rotation_conversions as rc
23
- from dataloaders import data_tools
24
- from optimizers.optim_factory import create_optimizer
25
- from optimizers.scheduler_factory import create_scheduler
26
- from optimizers.loss_factory import get_loss_func
27
- from scipy.spatial.transform import Rotation
28
-
29
-
30
- class CustomTrainer(train.BaseTrainer):
31
- """
32
- motion representation learning
33
- """
34
- def __init__(self, args):
35
- super().__init__(args)
36
- self.joints = self.train_data.joints
37
- self.smplx = smplx.create(
38
- self.args.data_path_1+"smplx_models/",
39
- model_type='smplx',
40
- gender='NEUTRAL_2020',
41
- use_face_contour=False,
42
- num_betas=300,
43
- num_expression_coeffs=100,
44
- ext='npz',
45
- use_pca=False,
46
- ).cuda().eval()
47
- self.tracker = other_tools.EpochTracker(["rec", "vel", "ver", "com", "kl", "acc"], [False, False, False, False, False, False])
48
- if not self.args.rot6d: #"rot6d" not in args.pose_rep:
49
- logger.error(f"this script is for rot6d, your pose rep. is {args.pose_rep}")
50
- self.rec_loss = get_loss_func("GeodesicLoss")
51
- self.vel_loss = torch.nn.L1Loss(reduction='mean')
52
- self.vectices_loss = torch.nn.MSELoss(reduction='mean')
53
-
54
- def inverse_selection(self, filtered_t, selection_array, n):
55
- # 创建一个全为零的数组,形状为 n*165
56
- original_shape_t = np.zeros((n, selection_array.size))
57
-
58
- # 找到选择数组中为1的索引位置
59
- selected_indices = np.where(selection_array == 1)[0]
60
-
61
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
62
- for i in range(n):
63
- original_shape_t[i, selected_indices] = filtered_t[i]
64
-
65
- return original_shape_t
66
-
67
- def inverse_selection_tensor(self, filtered_t, selection_array, n):
68
- # 创建一个全为零的数组,形状为 n*165
69
- selection_array = torch.from_numpy(selection_array).cuda()
70
- original_shape_t = torch.zeros((n, 165)).cuda()
71
-
72
- # 找到选择数组中为1的索引位置
73
- selected_indices = torch.where(selection_array == 1)[0]
74
-
75
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
76
- for i in range(n):
77
- original_shape_t[i, selected_indices] = filtered_t[i]
78
-
79
- return original_shape_t
80
-
81
- def train(self, epoch):
82
- self.model.train()
83
- t_start = time.time()
84
- self.tracker.reset()
85
- for its, dict_data in enumerate(self.train_loader):
86
- tar_pose = dict_data["pose"]
87
- tar_beta = dict_data["beta"].cuda()
88
- tar_trans = dict_data["trans"].cuda()
89
- tar_pose = tar_pose.cuda()
90
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
91
- tar_exps = torch.zeros((bs, n, 100)).cuda()
92
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
93
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
94
- t_data = time.time() - t_start
95
-
96
- self.opt.zero_grad()
97
- g_loss_final = 0
98
- net_out = self.model(tar_pose)
99
- rec_pose = net_out["rec_pose"]
100
- rec_pose = rec_pose.reshape(bs, n, j, 6)
101
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
102
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
103
- loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
104
- self.tracker.update_meter("rec", "train", loss_rec.item())
105
- g_loss_final += loss_rec
106
-
107
- velocity_loss = self.vel_loss(rec_pose[:, 1:] - rec_pose[:, :-1], tar_pose[:, 1:] - tar_pose[:, :-1]) * self.args.rec_weight
108
- acceleration_loss = self.vel_loss(rec_pose[:, 2:] + rec_pose[:, :-2] - 2 * rec_pose[:, 1:-1], tar_pose[:, 2:] + tar_pose[:, :-2] - 2 * tar_pose[:, 1:-1]) * self.args.rec_weight
109
- self.tracker.update_meter("vel", "train", velocity_loss.item())
110
- self.tracker.update_meter("acc", "train", acceleration_loss.item())
111
- g_loss_final += velocity_loss
112
- g_loss_final += acceleration_loss
113
- # vertices loss
114
- if self.args.rec_ver_weight > 0:
115
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
116
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
117
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
118
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
119
- vertices_rec = self.smplx(
120
- betas=tar_beta.reshape(bs*n, 300),
121
- transl=tar_trans.reshape(bs*n, 3),
122
- expression=tar_exps.reshape(bs*n, 100),
123
- jaw_pose=rec_pose[:, 66:69],
124
- global_orient=rec_pose[:,:3],
125
- body_pose=rec_pose[:,3:21*3+3],
126
- left_hand_pose=rec_pose[:,25*3:40*3],
127
- right_hand_pose=rec_pose[:,40*3:55*3],
128
- return_verts=True,
129
- return_joints=True,
130
- leye_pose=tar_pose[:, 69:72],
131
- reye_pose=tar_pose[:, 72:75],
132
- )
133
- vertices_tar = self.smplx(
134
- betas=tar_beta.reshape(bs*n, 300),
135
- transl=tar_trans.reshape(bs*n, 3),
136
- expression=tar_exps.reshape(bs*n, 100),
137
- jaw_pose=tar_pose[:, 66:69],
138
- global_orient=tar_pose[:,:3],
139
- body_pose=tar_pose[:,3:21*3+3],
140
- left_hand_pose=tar_pose[:,25*3:40*3],
141
- right_hand_pose=tar_pose[:,40*3:55*3],
142
- return_verts=True,
143
- return_joints=True,
144
- leye_pose=tar_pose[:, 69:72],
145
- reye_pose=tar_pose[:, 72:75],
146
- )
147
- vectices_loss = self.vectices_loss(vertices_rec['vertices'], vertices_tar['vertices'])
148
- self.tracker.update_meter("ver", "train", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
149
- g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
150
-
151
- vertices_vel_loss = self.vel_loss(vertices_rec['vertices'][:, 1:] - vertices_rec['vertices'][:, :-1], vertices_tar['vertices'][:, 1:] - vertices_tar['vertices'][:, :-1]) * self.args.rec_weight
152
- vertices_acc_loss = self.vel_loss(vertices_rec['vertices'][:, 2:] + vertices_rec['vertices'][:, :-2] - 2 * vertices_rec['vertices'][:, 1:-1], vertices_tar['vertices'][:, 2:] + vertices_tar['vertices'][:, :-2] - 2 * vertices_tar['vertices'][:, 1:-1]) * self.args.rec_weight
153
- g_loss_final += vertices_vel_loss * self.args.rec_weight * self.args.rec_ver_weight
154
- g_loss_final += vertices_acc_loss * self.args.rec_weight * self.args.rec_ver_weight
155
-
156
- # if self.args.vel_weight > 0:
157
- # pos_rec_vel = other_tools.estimate_linear_velocity(vertices_rec['joints'], 1/self.pose_fps)
158
- # pos_tar_vel = other_tools.estimate_linear_velocity(vertices_tar['joints'], 1/self.pose_fps)
159
- # vel_rec_loss = self.vel_loss(pos_rec_vel, pos_tar_vel)
160
- # tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
161
- # rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs, n, j, 3))
162
- # rot_rec_vel = other_tools.estimate_angular_velocity(rec_pose, 1/self.pose_fps)
163
- # rot_tar_vel = other_tools.estimate_angular_velocity(tar_pose, 1/self.pose_fps)
164
- # vel_rec_loss += self.vel_loss(pos_rec_vel, pos_tar_vel)
165
- # self.tracker.update_meter("vel", "train", vel_rec_loss.item()*self.args.vel_weight)
166
- # loss += (vel_rec_loss*self.args.vel_weight)
167
-
168
- # ---------------------- vae -------------------------- #
169
- if "VQVAE" in self.args.g_name:
170
- loss_embedding = net_out["embedding_loss"]
171
- g_loss_final += loss_embedding
172
- self.tracker.update_meter("com", "train", loss_embedding.item())
173
- # elif "VAE" in self.args.g_name:
174
- # pose_mu, pose_logvar = net_out["pose_mu"], net_out["pose_logvar"]
175
- # KLD = -0.5 * torch.sum(1 + pose_logvar - pose_mu.pow(2) - pose_logvar.exp())
176
- # if epoch < 0:
177
- # KLD_weight = 0
178
- # else:
179
- # KLD_weight = min(1.0, (epoch - 0) * 0.05) * 0.01
180
- # loss += KLD_weight * KLD
181
- # self.tracker.update_meter("kl", "train", KLD_weight * KLD.item())
182
- g_loss_final.backward()
183
- if self.args.grad_norm != 0:
184
- torch.nn.utils.clip_grad_norm_(self.model.parameters(), self.args.grad_norm)
185
- self.opt.step()
186
- t_train = time.time() - t_start - t_data
187
- t_start = time.time()
188
- mem_cost = torch.cuda.memory_cached() / 1E9
189
- lr_g = self.opt.param_groups[0]['lr']
190
- if its % self.args.log_period == 0:
191
- self.train_recording(epoch, its, t_data, t_train, mem_cost, lr_g)
192
- if self.args.debug:
193
- if its == 1: break
194
- self.opt_s.step(epoch)
195
-
196
- def val(self, epoch):
197
- self.model.eval()
198
- t_start = time.time()
199
- with torch.no_grad():
200
- for its, dict_data in enumerate(self.val_loader):
201
- tar_pose = dict_data["pose"]
202
- tar_beta = dict_data["beta"].cuda()
203
- tar_trans = dict_data["trans"].cuda()
204
- tar_pose = tar_pose.cuda()
205
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
206
- tar_exps = torch.zeros((bs, n, 100)).cuda()
207
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
208
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
209
- t_data = time.time() - t_start
210
-
211
- #self.opt.zero_grad()
212
- #g_loss_final = 0
213
- net_out = self.model(tar_pose)
214
- rec_pose = net_out["rec_pose"]
215
- rec_pose = rec_pose.reshape(bs, n, j, 6)
216
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
217
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
218
- loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
219
- self.tracker.update_meter("rec", "val", loss_rec.item())
220
- #g_loss_final += loss_rec
221
-
222
- # vertices loss
223
- if self.args.rec_ver_weight > 0:
224
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
225
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
226
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
227
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
228
- vertices_rec = self.smplx(
229
- betas=tar_beta.reshape(bs*n, 300),
230
- transl=tar_trans.reshape(bs*n, 3),
231
- expression=tar_exps.reshape(bs*n, 100),
232
- jaw_pose=rec_pose[:, 66:69],
233
- global_orient=rec_pose[:,:3],
234
- body_pose=rec_pose[:,3:21*3+3],
235
- left_hand_pose=rec_pose[:,25*3:40*3],
236
- right_hand_pose=rec_pose[:,40*3:55*3],
237
- return_verts=True,
238
- leye_pose=tar_pose[:, 69:72],
239
- reye_pose=tar_pose[:, 72:75],
240
- )
241
- vertices_tar = self.smplx(
242
- betas=tar_beta.reshape(bs*n, 300),
243
- transl=tar_trans.reshape(bs*n, 3),
244
- expression=tar_exps.reshape(bs*n, 100),
245
- jaw_pose=tar_pose[:, 66:69],
246
- global_orient=tar_pose[:,:3],
247
- body_pose=tar_pose[:,3:21*3+3],
248
- left_hand_pose=tar_pose[:,25*3:40*3],
249
- right_hand_pose=tar_pose[:,40*3:55*3],
250
- return_verts=True,
251
- leye_pose=tar_pose[:, 69:72],
252
- reye_pose=tar_pose[:, 72:75],
253
- )
254
- vectices_loss = self.vectices_loss(vertices_rec['vertices'], vertices_tar['vertices'])
255
- self.tracker.update_meter("ver", "val", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
256
- if "VQVAE" in self.args.g_name:
257
- loss_embedding = net_out["embedding_loss"]
258
- self.tracker.update_meter("com", "val", loss_embedding.item())
259
- #g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
260
- self.val_recording(epoch)
261
-
262
- def test(self, epoch):
263
- results_save_path = self.checkpoint_path + f"/{epoch}/"
264
- if os.path.exists(results_save_path):
265
- return 0
266
- os.makedirs(results_save_path)
267
- start_time = time.time()
268
- total_length = 0
269
- test_seq_list = self.test_data.selected_file
270
- self.model.eval()
271
- with torch.no_grad():
272
- for its, dict_data in enumerate(self.test_loader):
273
- tar_pose = dict_data["pose"]
274
- tar_pose = tar_pose.cuda()
275
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
276
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
277
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
278
- remain = n%self.args.pose_length
279
- tar_pose = tar_pose[:, :n-remain, :]
280
- #print(tar_pose.shape)
281
- if True:
282
- net_out = self.model(tar_pose)
283
- rec_pose = net_out["rec_pose"]
284
- n = rec_pose.shape[1]
285
- tar_pose = tar_pose[:, :n, :]
286
- rec_pose = rec_pose.reshape(bs, n, j, 6)
287
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
288
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
289
- rec_pose = rec_pose.cpu().numpy()
290
- else:
291
- pass
292
- # for i in range(tar_pose.shape[1]//(self.args.vae_test_len)):
293
- # tar_pose_new = tar_pose[:,i*(self.args.vae_test_len):i*(self.args.vae_test_len)+self.args.vae_test_len,:]
294
- # net_out = self.model(**dict(inputs=tar_pose_new))
295
- # rec_pose = net_out["rec_pose"]
296
- # rec_pose = (rec_pose.reshape(rec_pose.shape[0], rec_pose.shape[1], -1, 6) * self.joint_level_mask_cuda).reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
297
- # if "rot6d" in self.args.pose_rep:
298
- # rec_pose = data_transfer.rotation_6d_to_matrix(rec_pose.reshape(tar_pose.shape[0], self.args.vae_test_len, -1, 6))
299
- # rec_pose = data_transfer.matrix_to_euler_angles(rec_pose, "XYZ").reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
300
- # if "smplx" not in self.args.pose_rep:
301
- # rec_pose = torch.rad2deg(rec_pose)
302
- # rec_pose = rec_pose * self.joint_mask_cuda
303
-
304
- # out_sub = rec_pose.cpu().numpy().reshape(-1, rec_pose.shape[2])
305
- # if i != 0:
306
- # out_final = np.concatenate((out_final,out_sub), 0)
307
- # else:
308
- # out_final = out_sub
309
-
310
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
311
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
312
- tar_pose = tar_pose.cpu().numpy()
313
-
314
- total_length += n
315
- # --- save --- #
316
- if 'smplx' in self.args.pose_rep:
317
- gt_npz = np.load(self.args.data_path+self.args.pose_rep+"/"+test_seq_list.iloc[its]['id']+'.npz', allow_pickle=True)
318
- stride = int(30 / self.args.pose_fps)
319
- tar_pose = self.inverse_selection(tar_pose, self.test_data.joint_mask, tar_pose.shape[0])
320
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
321
- betas=gt_npz["betas"],
322
- poses=tar_pose[:n],
323
- expressions=gt_npz["expressions"]-gt_npz["expressions"],
324
- trans=gt_npz["trans"][::stride][:n] - gt_npz["trans"][::stride][:n],
325
- model='smplx2020',
326
- gender='neutral',
327
- mocap_frame_rate = 30 ,
328
- )
329
- rec_pose = self.inverse_selection(rec_pose, self.test_data.joint_mask, rec_pose.shape[0])
330
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
331
- betas=gt_npz["betas"],
332
- poses=rec_pose,
333
- expressions=gt_npz["expressions"]-gt_npz["expressions"],
334
- trans=gt_npz["trans"][::stride][:n] - gt_npz["trans"][::stride][:n],
335
- model='smplx2020',
336
- gender='neutral',
337
- mocap_frame_rate = 30 ,
338
- )
339
- else:
340
- rec_pose = rc.axis_angle_to_matrix(torch.from_numpy(rec_pose.reshape(bs*n, j, 3)))
341
- rec_pose = np.rad2deg(rc.matrix_to_euler_angles(rec_pose, "XYZ")).reshape(bs*n, j*3).numpy()
342
- tar_pose = rc.axis_angle_to_matrix(torch.from_numpy(tar_pose.reshape(bs*n, j, 3)))
343
- tar_pose = np.rad2deg(rc.matrix_to_euler_angles(tar_pose, "XYZ")).reshape(bs*n, j*3).numpy()
344
- #trans="0.000000 0.000000 0.000000"
345
-
346
- with open(f"{self.args.data_path}{self.args.pose_rep}/{test_seq_list.iloc[its]['id']}.bvh", "r") as f_demo:
347
- with open(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_gt:
348
- with open(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_real:
349
- for i, line_data in enumerate(f_demo.readlines()):
350
- if i < 431:
351
- f_real.write(line_data)
352
- f_gt.write(line_data)
353
- else: break
354
- for line_id in range(n): #,args.pre_frames, args.pose_length
355
- line_data = np.array2string(rec_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
356
- f_real.write(line_data[1:-2]+'\n')
357
- for line_id in range(n): #,args.pre_frames, args.pose_length
358
- line_data = np.array2string(tar_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
359
- f_gt.write(line_data[1:-2]+'\n')
360
- # with open(results_save_path+"gt_"+test_seq_list[its]+'.pkl', 'wb') as fw:
361
- # pickle.dump(new_dict, fw)
362
- # #new_dict2["fullpose"] = out_final
363
- # with open(results_save_path+"res_"+test_seq_list[its]+'.pkl', 'wb') as fw1:
364
- # pickle.dump(new_dict2, fw1)
365
-
366
- # other_tools.render_one_sequence(
367
- # results_save_path+"res_"+test_seq_list[its]+'.pkl',
368
- # results_save_path+"gt_"+test_seq_list[its]+'.pkl',
369
- # results_save_path,
370
- # self.args.data_path + self.args.test_data_path + 'wave16k/' + test_seq_list[its]+'.npy',
371
- # )
372
-
373
- #if its == 1:break
374
- end_time = time.time() - start_time
375
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aeface_trainer.py DELETED
@@ -1,388 +0,0 @@
1
- import train
2
- import os
3
- import time
4
- import csv
5
- import sys
6
- import warnings
7
- import random
8
- import numpy as np
9
- import time
10
- import pprint
11
- import pickle
12
-
13
- import torch
14
- import torch.nn as nn
15
- import torch.nn.functional as F
16
- from torch.utils.tensorboard import SummaryWriter
17
- from torch.nn.parallel import DistributedDataParallel as DDP
18
- from loguru import logger
19
- import smplx
20
-
21
- from utils import config, logger_tools, other_tools, metric
22
- from utils import rotation_conversions as rc
23
- from dataloaders import data_tools
24
- from optimizers.optim_factory import create_optimizer
25
- from optimizers.scheduler_factory import create_scheduler
26
- from optimizers.loss_factory import get_loss_func
27
- from scipy.spatial.transform import Rotation
28
-
29
-
30
- class CustomTrainer(train.BaseTrainer):
31
- """
32
- motion representation learning
33
- """
34
- def __init__(self, args):
35
- super().__init__(args)
36
- self.joints = self.train_data.joints
37
- self.tracker = other_tools.EpochTracker(["rec", "vel", "acc", "com", "face", "face_vel", "face_acc", "ver", "ver_vel", "ver_acc"], [False, False, False, False, False, False, False, False, False, False])
38
- self.rec_loss = get_loss_func("GeodesicLoss")
39
- self.mse_loss = torch.nn.MSELoss(reduction='mean')
40
- self.vel_loss = torch.nn.MSELoss(reduction='mean') #torch.nn.L1Loss(reduction='mean')
41
- self.vectices_loss = torch.nn.MSELoss(reduction='mean')
42
-
43
- def inverse_selection(self, filtered_t, selection_array, n):
44
- # 创建一个全为零的数组,形状为 n*165
45
- original_shape_t = np.zeros((n, selection_array.size))
46
-
47
- # 找到选择数组中为1的索引位置
48
- selected_indices = np.where(selection_array == 1)[0]
49
-
50
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
51
- for i in range(n):
52
- original_shape_t[i, selected_indices] = filtered_t[i]
53
-
54
- return original_shape_t
55
-
56
- def train(self, epoch):
57
- self.model.train()
58
- t_start = time.time()
59
- self.tracker.reset()
60
- for its, dict_data in enumerate(self.train_loader):
61
- tar_pose = dict_data["pose"]
62
- tar_beta = dict_data["beta"].cuda()
63
- tar_trans = dict_data["trans"].cuda()
64
- tar_pose = tar_pose.cuda()
65
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
66
- tar_exps = dict_data["facial"].to(self.rank)
67
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
68
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
69
- in_tar_pose = torch.cat([tar_pose, tar_exps], -1) # 103
70
- t_data = time.time() - t_start
71
-
72
- self.opt.zero_grad()
73
- g_loss_final = 0
74
- net_out = self.model(in_tar_pose)
75
- # jaw open 6d loss
76
- rec_pose = net_out["rec_pose"][:, :, :j*6]
77
- rec_pose = rec_pose.reshape(bs, n, j, 6)
78
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
79
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
80
- loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
81
- self.tracker.update_meter("rec", "train", loss_rec.item())
82
- g_loss_final += loss_rec
83
- # jaw open 6d vel and acc loss
84
- velocity_loss = self.vel_loss(rec_pose[:, 1:] - rec_pose[:, :-1], tar_pose[:, 1:] - tar_pose[:, :-1]) * self.args.rec_weight
85
- acceleration_loss = self.vel_loss(rec_pose[:, 2:] + rec_pose[:, :-2] - 2 * rec_pose[:, 1:-1], tar_pose[:, 2:] + tar_pose[:, :-2] - 2 * tar_pose[:, 1:-1]) * self.args.rec_weight
86
- self.tracker.update_meter("vel", "train", velocity_loss.item())
87
- self.tracker.update_meter("acc", "train", acceleration_loss.item())
88
- g_loss_final += velocity_loss
89
- g_loss_final += acceleration_loss
90
- # face parameter l1 loss
91
- rec_exps = net_out["rec_pose"][:, :, j*6:]
92
- loss_face = self.mse_loss(rec_exps, tar_exps) * self.args.rec_weight
93
- self.tracker.update_meter("face", "train", loss_face.item())
94
- g_loss_final += loss_face
95
- # face parameter l1 vel and acc loss
96
- face_velocity_loss = self.vel_loss(rec_exps[:, 1:] - rec_exps[:, :-1], tar_exps[:, 1:] - tar_exps[:, :-1]) * self.args.rec_weight
97
- face_acceleration_loss = self.vel_loss(rec_exps[:, 2:] + rec_exps[:, :-2] - 2 * rec_exps[:, 1:-1], tar_exps[:, 2:] + tar_exps[:, :-2] - 2 * tar_exps[:, 1:-1]) * self.args.rec_weight
98
- self.tracker.update_meter("face_vel", "train", face_velocity_loss.item())
99
- self.tracker.update_meter("face_acc", "train", face_acceleration_loss.item())
100
- g_loss_final += face_velocity_loss
101
- g_loss_final += face_acceleration_loss
102
-
103
- # vertices loss
104
- if self.args.rec_ver_weight > 0:
105
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
106
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
107
- vertices_rec = self.smplx(
108
- betas=tar_beta.reshape(bs*n, 300),
109
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
110
- expression=tar_exps.reshape(bs*n, 100),
111
- jaw_pose=rec_pose,
112
- global_orient=torch.zeros(bs*n, 3).cuda(),
113
- body_pose=torch.zeros(bs*n, 21*3).cuda(),
114
- left_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
115
- right_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
116
- return_verts=True,
117
- # return_joints=True,
118
- leye_pose=torch.zeros(bs*n, 3).cuda(),
119
- reye_pose=torch.zeros(bs*n, 3).cuda(),
120
- )
121
- vertices_tar = self.smplx(
122
- betas=tar_beta.reshape(bs*n, 300),
123
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
124
- expression=rec_exps.reshape(bs*n, 100),
125
- jaw_pose=tar_pose,
126
- global_orient=torch.zeros(bs*n, 3).cuda(),
127
- body_pose=torch.zeros(bs*n, 21*3).cuda(),
128
- left_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
129
- right_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
130
- return_verts=True,
131
- # return_joints=True,
132
- leye_pose=torch.zeros(bs*n, 3).cuda(),
133
- reye_pose=torch.zeros(bs*n, 3).cuda(),
134
- )
135
- vectices_loss = self.mse_loss(vertices_rec['vertices'], vertices_tar['vertices'])
136
- self.tracker.update_meter("ver", "train", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
137
- g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
138
- # vertices vel and acc loss
139
- vert_velocity_loss = self.vel_loss(vertices_rec['vertices'][:, 1:] - vertices_rec['vertices'][:, :-1], vertices_tar['vertices'][:, 1:] - vertices_tar['vertices'][:, :-1]) * self.args.rec_weight * self.args.rec_ver_weight
140
- vert_acceleration_loss = self.vel_loss(vertices_rec['vertices'][:, 2:] + vertices_rec['vertices'][:, :-2] - 2 * vertices_rec['vertices'][:, 1:-1], vertices_tar['vertices'][:, 2:] + vertices_tar['vertices'][:, :-2] - 2 * vertices_tar['vertices'][:, 1:-1]) * self.args.rec_weight * self.args.rec_ver_weight
141
- self.tracker.update_meter("ver_vel", "train", vert_velocity_loss.item())
142
- self.tracker.update_meter("ver_acc", "train", vert_acceleration_loss.item())
143
- g_loss_final += vert_velocity_loss
144
- g_loss_final += vert_acceleration_loss
145
-
146
- # ---------------------- vae -------------------------- #
147
- if "VQVAE" in self.args.g_name:
148
- loss_embedding = net_out["embedding_loss"]
149
- g_loss_final += loss_embedding
150
- self.tracker.update_meter("com", "train", loss_embedding.item())
151
- # elif "VAE" in self.args.g_name:
152
- # pose_mu, pose_logvar = net_out["pose_mu"], net_out["pose_logvar"]
153
- # KLD = -0.5 * torch.sum(1 + pose_logvar - pose_mu.pow(2) - pose_logvar.exp())
154
- # if epoch < 0:
155
- # KLD_weight = 0
156
- # else:
157
- # KLD_weight = min(1.0, (epoch - 0) * 0.05) * 0.01
158
- # loss += KLD_weight * KLD
159
- # self.tracker.update_meter("kl", "train", KLD_weight * KLD.item())
160
- g_loss_final.backward()
161
- if self.args.grad_norm != 0:
162
- torch.nn.utils.clip_grad_norm_(self.model.parameters(), self.args.grad_norm)
163
- self.opt.step()
164
- t_train = time.time() - t_start - t_data
165
- t_start = time.time()
166
- mem_cost = torch.cuda.memory_cached() / 1E9
167
- lr_g = self.opt.param_groups[0]['lr']
168
- if its % self.args.log_period == 0:
169
- self.train_recording(epoch, its, t_data, t_train, mem_cost, lr_g)
170
- if self.args.debug:
171
- if its == 1: break
172
- self.opt_s.step(epoch)
173
-
174
- def val(self, epoch):
175
- self.model.eval()
176
- t_start = time.time()
177
- with torch.no_grad():
178
- for its, dict_data in enumerate(self.val_loader):
179
- tar_pose = dict_data["pose"]
180
- tar_beta = dict_data["beta"].cuda()
181
- tar_trans = dict_data["trans"].cuda()
182
- tar_pose = tar_pose.cuda()
183
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
184
- tar_exps = dict_data["facial"].to(self.rank)
185
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
186
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
187
- in_tar_pose = torch.cat([tar_pose, tar_exps], -1) # 103
188
- # print(tar_pose.shape, in_tar_pose.shape, tar_exps.shape)
189
- t_data = time.time() - t_start
190
-
191
- #self.opt.zero_grad()
192
- #g_loss_final = 0
193
- net_out = self.model(in_tar_pose)
194
- # jaw open 6d loss
195
- rec_pose = net_out["rec_pose"][:, :, :j*6]
196
- rec_pose = rec_pose.reshape(bs, n, j, 6)
197
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
198
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
199
- loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
200
- self.tracker.update_meter("rec", "val", loss_rec.item())
201
- # g_loss_final += loss_rec
202
- # jaw open 6d vel and acc loss
203
- velocity_loss = self.vel_loss(rec_pose[:, 1:] - rec_pose[:, :-1], tar_pose[:, 1:] - tar_pose[:, :-1]) * self.args.rec_weight
204
- acceleration_loss = self.vel_loss(rec_pose[:, 2:] + rec_pose[:, :-2] - 2 * rec_pose[:, 1:-1], tar_pose[:, 2:] + tar_pose[:, :-2] - 2 * tar_pose[:, 1:-1]) * self.args.rec_weight
205
- self.tracker.update_meter("vel", "val", velocity_loss.item())
206
- self.tracker.update_meter("acc", "val", acceleration_loss.item())
207
- # g_loss_final += velocity_loss
208
- # g_loss_final += acceleration_loss
209
- # face parameter l1 loss
210
- rec_exps = net_out["rec_pose"][:, :, j*6:]
211
- loss_face = self.vel_loss(rec_exps, tar_exps) * self.args.rec_weight
212
- self.tracker.update_meter("face", "val", loss_face.item())
213
- # g_loss_final += loss_face
214
- # face parameter l1 vel and acc loss
215
- face_velocity_loss = self.vel_loss(rec_exps[:, 1:] - rec_exps[:, :-1], tar_exps[:, 1:] - tar_exps[:, :-1]) * self.args.rec_weight
216
- face_acceleration_loss = self.vel_loss(rec_exps[:, 2:] + rec_exps[:, :-2] - 2 * rec_exps[:, 1:-1], tar_exps[:, 2:] + tar_exps[:, :-2] - 2 * tar_exps[:, 1:-1]) * self.args.rec_weight
217
- self.tracker.update_meter("face_vel", "val", face_velocity_loss.item())
218
- self.tracker.update_meter("face_acc", "val", face_acceleration_loss.item())
219
- # g_loss_final += face_velocity_loss
220
- # g_loss_final += face_acceleration_loss
221
-
222
- # vertices loss
223
- if self.args.rec_ver_weight > 0:
224
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
225
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
226
- vertices_rec = self.smplx(
227
- betas=tar_beta.reshape(bs*n, 300),
228
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
229
- expression=tar_exps.reshape(bs*n, 100),
230
- jaw_pose=rec_pose,
231
- global_orient=torch.zeros(bs*n, 3).cuda(),
232
- body_pose=torch.zeros(bs*n, 21*3).cuda(),
233
- left_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
234
- right_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
235
- return_verts=True,
236
- # return_joints=True,
237
- leye_pose=torch.zeros(bs*n, 3).cuda(),
238
- reye_pose=torch.zeros(bs*n, 3).cuda(),
239
- )
240
- vertices_tar = self.smplx(
241
- betas=tar_beta.reshape(bs*n, 300),
242
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
243
- expression=rec_exps.reshape(bs*n, 100),
244
- jaw_pose=tar_pose,
245
- global_orient=torch.zeros(bs*n, 3).cuda(),
246
- body_pose=torch.zeros(bs*n, 21*3).cuda(),
247
- left_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
248
- right_hand_pose=torch.zeros(bs*n, 15*3).cuda(),
249
- return_verts=True,
250
- # return_joints=True,
251
- leye_pose=torch.zeros(bs*n, 3).cuda(),
252
- reye_pose=torch.zeros(bs*n, 3).cuda(),
253
- )
254
- vectices_loss = self.mse_loss(vertices_rec['vertices'], vertices_tar['vertices'])
255
- self.tracker.update_meter("ver", "val", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
256
- # g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
257
- # vertices vel and acc loss
258
- vert_velocity_loss = self.vel_loss(vertices_rec['vertices'][:, 1:] - vertices_rec['vertices'][:, :-1], vertices_tar['vertices'][:, 1:] - vertices_tar['vertices'][:, :-1]) * self.args.rec_weight * self.args.rec_ver_weight
259
- vert_acceleration_loss = self.vel_loss(vertices_rec['vertices'][:, 2:] + vertices_rec['vertices'][:, :-2] - 2 * vertices_rec['vertices'][:, 1:-1], vertices_tar['vertices'][:, 2:] + vertices_tar['vertices'][:, :-2] - 2 * vertices_tar['vertices'][:, 1:-1]) * self.args.rec_weight * self.args.rec_ver_weight
260
- self.tracker.update_meter("ver_vel", "val", vert_velocity_loss.item())
261
- self.tracker.update_meter("ver_acc", "val", vert_acceleration_loss.item())
262
- # g_loss_final += vert_velocity_loss
263
- # g_loss_final += vert_acceleration_loss
264
- if "VQVAE" in self.args.g_name:
265
- loss_embedding = net_out["embedding_loss"]
266
- self.tracker.update_meter("com", "val", loss_embedding.item())
267
- #g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
268
- self.val_recording(epoch)
269
-
270
- def test(self, epoch):
271
- results_save_path = self.checkpoint_path + f"/{epoch}/"
272
- if os.path.exists(results_save_path):
273
- return 0
274
- os.makedirs(results_save_path)
275
- start_time = time.time()
276
- total_length = 0
277
- test_seq_list = self.test_data.selected_file
278
- self.model.eval()
279
- with torch.no_grad():
280
- for its, dict_data in enumerate(self.test_loader):
281
- tar_pose = dict_data["pose"]
282
- tar_pose = tar_pose.cuda()
283
- tar_exps = dict_data["facial"].to(self.rank)
284
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
285
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
286
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
287
- remain = n%self.args.pose_length
288
- tar_pose = tar_pose[:, :n-remain, :]
289
- # print(tar_exps.shape)
290
- in_tar_pose = torch.cat([tar_pose, tar_exps[:, :n-remain, :]], -1) # 103
291
- #print(tar_pose.shape)
292
- if True:
293
- net_out = self.model(in_tar_pose)
294
- rec_pose = net_out["rec_pose"][:, :, :j*6]
295
- n = rec_pose.shape[1]
296
- tar_pose = tar_pose[:, :n, :]
297
- rec_pose = rec_pose.reshape(bs, n, j, 6)
298
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
299
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
300
- rec_pose = rec_pose.cpu().numpy()
301
- rec_exps = net_out["rec_pose"][:, :, j*6:]
302
- rec_exps = rec_exps.cpu().numpy().reshape(bs*n, 100)
303
- else:
304
- pass
305
- # for i in range(tar_pose.shape[1]//(self.args.vae_test_len)):
306
- # tar_pose_new = tar_pose[:,i*(self.args.vae_test_len):i*(self.args.vae_test_len)+self.args.vae_test_len,:]
307
- # net_out = self.model(**dict(inputs=tar_pose_new))
308
- # rec_pose = net_out["rec_pose"]
309
- # rec_pose = (rec_pose.reshape(rec_pose.shape[0], rec_pose.shape[1], -1, 6) * self.joint_level_mask_cuda).reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
310
- # if "rot6d" in self.args.pose_rep:
311
- # rec_pose = data_transfer.rotation_6d_to_matrix(rec_pose.reshape(tar_pose.shape[0], self.args.vae_test_len, -1, 6))
312
- # rec_pose = data_transfer.matrix_to_euler_angles(rec_pose, "XYZ").reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
313
- # if "smplx" not in self.args.pose_rep:
314
- # rec_pose = torch.rad2deg(rec_pose)
315
- # rec_pose = rec_pose * self.joint_mask_cuda
316
-
317
- # out_sub = rec_pose.cpu().numpy().reshape(-1, rec_pose.shape[2])
318
- # if i != 0:
319
- # out_final = np.concatenate((out_final,out_sub), 0)
320
- # else:
321
- # out_final = out_sub
322
-
323
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
324
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
325
- tar_pose = tar_pose.cpu().numpy()
326
-
327
- total_length += n
328
- # --- save --- #
329
- if 'smplx' in self.args.pose_rep:
330
- gt_npz = np.load(self.args.data_path+self.args.pose_rep+"/"+test_seq_list.iloc[its]['id']+'.npz', allow_pickle=True)
331
- stride = int(30 / self.args.pose_fps)
332
- tar_pose = self.inverse_selection(tar_pose, self.test_data.joint_mask, tar_pose.shape[0])
333
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
334
- betas=gt_npz["betas"],
335
- poses=tar_pose[:n],
336
- expressions=gt_npz["expressions"],
337
- trans=gt_npz["trans"][::stride][:n] - gt_npz["trans"][::stride][:n],
338
- model='smplx2020',
339
- gender='neutral',
340
- mocap_frame_rate = 30 ,
341
- )
342
- rec_pose = self.inverse_selection(rec_pose, self.test_data.joint_mask, rec_pose.shape[0])
343
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
344
- betas=gt_npz["betas"],
345
- poses=rec_pose,
346
- expressions=rec_exps,
347
- trans=gt_npz["trans"][::stride][:n] - gt_npz["trans"][::stride][:n],
348
- model='smplx2020',
349
- gender='neutral',
350
- mocap_frame_rate = 30 ,
351
- )
352
- else:
353
- rec_pose = rc.axis_angle_to_matrix(torch.from_numpy(rec_pose.reshape(bs*n, j, 3)))
354
- rec_pose = np.rad2deg(rc.matrix_to_euler_angles(rec_pose, "XYZ")).reshape(bs*n, j*3).numpy()
355
- tar_pose = rc.axis_angle_to_matrix(torch.from_numpy(tar_pose.reshape(bs*n, j, 3)))
356
- tar_pose = np.rad2deg(rc.matrix_to_euler_angles(tar_pose, "XYZ")).reshape(bs*n, j*3).numpy()
357
- #trans="0.000000 0.000000 0.000000"
358
-
359
- with open(f"{self.args.data_path}{self.args.pose_rep}/{test_seq_list.iloc[its]['id']}.bvh", "r") as f_demo:
360
- with open(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_gt:
361
- with open(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_real:
362
- for i, line_data in enumerate(f_demo.readlines()):
363
- if i < 431:
364
- f_real.write(line_data)
365
- f_gt.write(line_data)
366
- else: break
367
- for line_id in range(n): #,args.pre_frames, args.pose_length
368
- line_data = np.array2string(rec_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
369
- f_real.write(line_data[1:-2]+'\n')
370
- for line_id in range(n): #,args.pre_frames, args.pose_length
371
- line_data = np.array2string(tar_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
372
- f_gt.write(line_data[1:-2]+'\n')
373
- # with open(results_save_path+"gt_"+test_seq_list[its]+'.pkl', 'wb') as fw:
374
- # pickle.dump(new_dict, fw)
375
- # #new_dict2["fullpose"] = out_final
376
- # with open(results_save_path+"res_"+test_seq_list[its]+'.pkl', 'wb') as fw1:
377
- # pickle.dump(new_dict2, fw1)
378
-
379
- # other_tools.render_one_sequence(
380
- # results_save_path+"res_"+test_seq_list[its]+'.pkl',
381
- # results_save_path+"gt_"+test_seq_list[its]+'.pkl',
382
- # results_save_path,
383
- # self.args.data_path + self.args.test_data_path + 'wave16k/' + test_seq_list[its]+'.npy',
384
- # )
385
-
386
- #if its == 1:break
387
- end_time = time.time() - start_time
388
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aelower_trainer.py DELETED
@@ -1,494 +0,0 @@
1
- import train
2
- import os
3
- import time
4
- import csv
5
- import sys
6
- import warnings
7
- import random
8
- import numpy as np
9
- import time
10
- import pprint
11
- import pickle
12
-
13
- import torch
14
- import torch.nn as nn
15
- import torch.nn.functional as F
16
- from torch.utils.tensorboard import SummaryWriter
17
- from torch.nn.parallel import DistributedDataParallel as DDP
18
- from loguru import logger
19
- import smplx
20
-
21
- from utils import config, logger_tools, other_tools, metric
22
- from utils import rotation_conversions as rc
23
- from dataloaders import data_tools
24
- from optimizers.optim_factory import create_optimizer
25
- from optimizers.scheduler_factory import create_scheduler
26
- from optimizers.loss_factory import get_loss_func
27
- from scipy.spatial.transform import Rotation
28
-
29
-
30
- class CustomTrainer(train.BaseTrainer):
31
- """
32
- motion representation learning
33
- """
34
- def __init__(self, args):
35
- super().__init__(args)
36
- self.joints = self.train_data.joints
37
- self.smplx = smplx.create(
38
- self.args.data_path_1+"smplx_models/",
39
- model_type='smplx',
40
- gender='NEUTRAL_2020',
41
- use_face_contour=False,
42
- num_betas=300,
43
- num_expression_coeffs=100,
44
- ext='npz',
45
- use_pca=False,
46
- ).cuda().eval()
47
- self.tracker = other_tools.EpochTracker(["rec", "contact", "vel", "foot", "ver", "com", "kl", "acc", "trans", "transv"], [False,False, False, False, False, False, False, False, False, False])
48
- if not self.args.rot6d: #"rot6d" not in args.pose_rep:
49
- logger.error(f"this script is for rot6d, your pose rep. is {args.pose_rep}")
50
- self.rec_loss = get_loss_func("GeodesicLoss")
51
- self.vel_loss = torch.nn.L1Loss(reduction='mean')
52
- self.vectices_loss = torch.nn.MSELoss(reduction='mean')
53
-
54
- def inverse_selection(self, filtered_t, selection_array, n):
55
- # 创建一个全为零的数组,形状为 n*165
56
- original_shape_t = np.zeros((n, selection_array.size))
57
-
58
- # 找到选择数组中为1的索引位置
59
- selected_indices = np.where(selection_array == 1)[0]
60
-
61
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
62
- for i in range(n):
63
- original_shape_t[i, selected_indices] = filtered_t[i]
64
-
65
- return original_shape_t
66
-
67
- def inverse_selection_tensor(self, filtered_t, selection_array, n):
68
- # 创建一个全为零的数组,形状为 n*165
69
- selection_array = torch.from_numpy(selection_array).cuda()
70
- original_shape_t = torch.zeros((n, 165)).cuda()
71
-
72
- # 找到选择数组中为1的索引位置
73
- selected_indices = torch.where(selection_array == 1)[0]
74
-
75
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
76
- for i in range(n):
77
- original_shape_t[i, selected_indices] = filtered_t[i]
78
-
79
- return original_shape_t
80
-
81
-
82
- def train(self, epoch):
83
- self.model.train()
84
- t_start = time.time()
85
- self.tracker.reset()
86
- for its, dict_data in enumerate(self.train_loader):
87
- tar_pose_raw = dict_data["pose"]
88
- tar_beta = dict_data["beta"].cuda()
89
- tar_trans = dict_data["trans"].cuda()
90
- tar_trans_vel_x = other_tools.estimate_linear_velocity(tar_trans[:, :, 0:1], dt=1/self.args.pose_fps)
91
- tar_trans_vel_z = other_tools.estimate_linear_velocity(tar_trans[:, :, 2:3], dt=1/self.args.pose_fps)
92
- tar_pose = tar_pose_raw[:, :, :27].cuda()
93
- tar_contact = tar_pose_raw[:, :, 27:31].cuda()
94
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
95
- tar_exps = torch.zeros((bs, n, 100)).cuda()
96
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
97
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
98
- tar_trans_copy = tar_trans-tar_trans
99
- tar_contact_copy = tar_contact-tar_contact
100
- in_tar_pose = torch.cat((tar_pose, tar_trans_copy, tar_contact_copy), dim=-1)
101
-
102
- t_data = time.time() - t_start
103
-
104
- self.opt.zero_grad()
105
- g_loss_final = 0
106
- net_out = self.model(in_tar_pose)
107
- rec_pose = tar_pose#net_out["rec_pose"][:, :, :j*6]
108
- rec_pose = rec_pose.reshape(bs, n, j, 6)
109
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
110
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
111
- # loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
112
- # self.tracker.update_meter("rec", "train", loss_rec.item())
113
- # g_loss_final += loss_rec
114
-
115
- rec_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
116
- loss_contact = self.vectices_loss(rec_contact, tar_contact) * self.args.rec_weight * self.args.rec_pos_weight
117
- self.tracker.update_meter("contact", "train", loss_contact.item())
118
- g_loss_final += loss_contact
119
-
120
- # velocity_loss = self.vel_loss(rec_pose[:, 1:] - rec_pose[:, :-1], tar_pose[:, 1:] - tar_pose[:, :-1]) * self.args.rec_weight
121
- # acceleration_loss = self.vel_loss(rec_pose[:, 2:] + rec_pose[:, :-2] - 2 * rec_pose[:, 1:-1], tar_pose[:, 2:] + tar_pose[:, :-2] - 2 * tar_pose[:, 1:-1]) * self.args.rec_weight
122
- # self.tracker.update_meter("vel", "train", velocity_loss.item())
123
- # self.tracker.update_meter("acc", "train", acceleration_loss.item())
124
- # g_loss_final += velocity_loss
125
- # g_loss_final += acceleration_loss
126
-
127
- rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
128
- rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
129
- rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
130
- rec_y_trans = rec_trans[:,:,1:2]
131
- rec_xyz_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
132
- loss_trans_vel = self.vel_loss(rec_trans[:, :, 0:1], tar_trans_vel_x) * self.args.rec_weight \
133
- + self.vel_loss(rec_trans[:, :, 2:3], tar_trans_vel_z) * self.args.rec_weight
134
- v3 = self.vel_loss(rec_trans[:, :, 0:1][:, 1:] - rec_trans[:, :, 0:1][:, :-1], tar_trans_vel_x[:, 1:] - tar_trans_vel_x[:, :-1]) * self.args.rec_weight \
135
- + self.vel_loss(rec_trans[:, :, 2:3][:, 1:] - rec_trans[:, :, 2:3][:, :-1], tar_trans_vel_z[:, 1:] - tar_trans_vel_z[:, :-1]) * self.args.rec_weight
136
- a3 = self.vel_loss(rec_trans[:, :, 0:1][:, 2:] + rec_trans[:, :, 0:1][:, :-2] - 2 * rec_trans[:, :, 0:1][:, 1:-1], tar_trans_vel_x[:, 2:] + tar_trans_vel_x[:, :-2] - 2 * tar_trans_vel_x[:, 1:-1]) * self.args.rec_weight \
137
- + self.vel_loss(rec_trans[:, :, 2:3][:, 2:] + rec_trans[:, :, 2:3][:, :-2] - 2 * rec_trans[:, :, 2:3][:, 1:-1], tar_trans_vel_z[:, 2:] + tar_trans_vel_z[:, :-2] - 2 * tar_trans_vel_z[:, 1:-1]) * self.args.rec_weight
138
- g_loss_final += 5*v3
139
- g_loss_final += 5*a3
140
- v2 = self.vel_loss(rec_xyz_trans[:, 1:] - rec_xyz_trans[:, :-1], tar_trans[:, 1:] - tar_trans[:, :-1]) * self.args.rec_weight
141
- a2 = self.vel_loss(rec_xyz_trans[:, 2:] + rec_xyz_trans[:, :-2] - 2 * rec_xyz_trans[:, 1:-1], tar_trans[:, 2:] + tar_trans[:, :-2] - 2 * tar_trans[:, 1:-1]) * self.args.rec_weight
142
- g_loss_final += 5*v2
143
- g_loss_final += 5*a2
144
- self.tracker.update_meter("transv", "train", loss_trans_vel.item())
145
- g_loss_final += loss_trans_vel
146
- loss_trans = self.vel_loss(rec_xyz_trans, tar_trans) * self.args.rec_weight
147
- self.tracker.update_meter("trans", "train", loss_trans.item())
148
- g_loss_final += loss_trans
149
-
150
- # vertices loss
151
- if self.args.rec_ver_weight > 0:
152
- # print(tar_pose.shape, j)
153
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
154
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
155
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
156
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
157
- vertices_rec = self.smplx(
158
- betas=tar_beta.reshape(bs*n, 300),
159
- transl=rec_xyz_trans.reshape(bs*n, 3),
160
- expression=tar_exps.reshape(bs*n, 100),
161
- jaw_pose=rec_pose[:, 66:69],
162
- global_orient=rec_pose[:,:3],
163
- body_pose=rec_pose[:,3:21*3+3],
164
- left_hand_pose=rec_pose[:,25*3:40*3],
165
- right_hand_pose=rec_pose[:,40*3:55*3],
166
- return_verts=True,
167
- return_joints=True,
168
- leye_pose=tar_pose[:, 69:72],
169
- reye_pose=tar_pose[:, 72:75],
170
- )
171
- vertices_tar = self.smplx(
172
- betas=tar_beta.reshape(bs*n, 300),
173
- transl=tar_trans.reshape(bs*n, 3),
174
- expression=tar_exps.reshape(bs*n, 100),
175
- jaw_pose=tar_pose[:, 66:69],
176
- global_orient=tar_pose[:,:3],
177
- body_pose=tar_pose[:,3:21*3+3],
178
- left_hand_pose=tar_pose[:,25*3:40*3],
179
- right_hand_pose=tar_pose[:,40*3:55*3],
180
- return_verts=True,
181
- return_joints=True,
182
- leye_pose=tar_pose[:, 69:72],
183
- reye_pose=tar_pose[:, 72:75],
184
- )
185
- joints_rec = vertices_rec['joints']
186
- # print(joints_rec.shape)
187
- joints_rec = joints_rec.reshape(bs, n, -1, 3)
188
- vectices_loss = self.vectices_loss(vertices_rec['vertices'], vertices_tar['vertices'])
189
- vertices_vel_loss = self.vectices_loss(
190
- vertices_rec['vertices'][:, 1:] - vertices_rec['vertices'][:, :-1],
191
- vertices_tar['vertices'][:, 1:] - vertices_tar['vertices'][:, :-1])
192
- vertices_acc_loss = self.vectices_loss(
193
- vertices_rec['vertices'][:, 2:] + vertices_rec['vertices'][:, :-2] - 2 * vertices_rec['vertices'][:, 1:-1],
194
- vertices_tar['vertices'][:, 2:] + vertices_tar['vertices'][:, :-2] - 2 * vertices_tar['vertices'][:, 1:-1])
195
- foot_idx = [7, 8, 10, 11]
196
- model_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
197
- # find static indices consistent with model's own predictions
198
- static_idx = model_contact > 0.95 # N x S x 4
199
- # print(model_contact,static_idx)
200
- model_feet = joints_rec[:, :, foot_idx] # foot positions (N, S, 4, 3)
201
- model_foot_v = torch.zeros_like(model_feet)
202
- model_foot_v[:, :-1] = (
203
- model_feet[:, 1:, :, :] - model_feet[:, :-1, :, :]
204
- ) # (N, S-1, 4, 3)
205
- model_foot_v[~static_idx] = 0
206
- foot_loss = self.vel_loss(
207
- model_foot_v, torch.zeros_like(model_foot_v)
208
- )
209
- self.tracker.update_meter("foot", "train", foot_loss.item()*self.args.rec_weight * self.args.rec_ver_weight*1000)
210
- self.tracker.update_meter("ver", "train", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
211
- g_loss_final += (vectices_loss+5*vertices_vel_loss+5*vertices_acc_loss)*self.args.rec_weight*self.args.rec_ver_weight
212
- g_loss_final += foot_loss*self.args.rec_weight*self.args.rec_ver_weight*20
213
-
214
- # ---------------------- vae -------------------------- #
215
- if "VQVAE" in self.args.g_name:
216
- loss_embedding = net_out["embedding_loss"]
217
- g_loss_final += loss_embedding
218
- self.tracker.update_meter("com", "train", loss_embedding.item())
219
- # elif "VAE" in self.args.g_name:
220
- # pose_mu, pose_logvar = net_out["pose_mu"], net_out["pose_logvar"]
221
- # KLD = -0.5 * torch.sum(1 + pose_logvar - pose_mu.pow(2) - pose_logvar.exp())
222
- # if epoch < 0:
223
- # KLD_weight = 0
224
- # else:
225
- # KLD_weight = min(1.0, (epoch - 0) * 0.05) * 0.01
226
- # loss += KLD_weight * KLD
227
- # self.tracker.update_meter("kl", "train", KLD_weight * KLD.item())
228
- g_loss_final.backward()
229
- if self.args.grad_norm != 0:
230
- torch.nn.utils.clip_grad_norm_(self.model.parameters(), self.args.grad_norm)
231
- self.opt.step()
232
- t_train = time.time() - t_start - t_data
233
- t_start = time.time()
234
- mem_cost = torch.cuda.memory_cached() / 1E9
235
- lr_g = self.opt.param_groups[0]['lr']
236
- if its % self.args.log_period == 0:
237
- self.train_recording(epoch, its, t_data, t_train, mem_cost, lr_g)
238
- if self.args.debug:
239
- if its == 1: break
240
- self.opt_s.step(epoch)
241
-
242
- def val(self, epoch):
243
- self.model.eval()
244
- t_start = time.time()
245
- with torch.no_grad():
246
- for its, dict_data in enumerate(self.val_loader):
247
- tar_pose_raw = dict_data["pose"]
248
- tar_beta = dict_data["beta"].cuda()
249
- tar_trans = dict_data["trans"].cuda()
250
- tar_trans_vel_x = other_tools.estimate_linear_velocity(tar_trans[:, :, 0:1], dt=1/self.args.pose_fps)
251
- tar_trans_vel_z = other_tools.estimate_linear_velocity(tar_trans[:, :, 2:3], dt=1/self.args.pose_fps)
252
- #print(tar_pose.shape)
253
- tar_pose = tar_pose_raw[:, :, :27].cuda()
254
-
255
- tar_contact = tar_pose_raw[:, :, 27:31].cuda()
256
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
257
- tar_exps = torch.zeros((bs, n, 100)).cuda()
258
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
259
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
260
- tar_trans_copy = tar_trans-tar_trans
261
- tar_contact_copy = tar_contact-tar_contact
262
- in_tar_pose = torch.cat((tar_pose, tar_trans_copy, tar_contact_copy), dim=-1)
263
- t_data = time.time() - t_start
264
-
265
- #self.opt.zero_grad()
266
- #g_loss_final = 0
267
- net_out = self.model(in_tar_pose)
268
- rec_pose = tar_pose
269
- rec_pose = rec_pose.reshape(bs, n, j, 6)
270
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
271
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
272
- # loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
273
- # self.tracker.update_meter("rec", "val", loss_rec.item())
274
- rec_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
275
- # print(rec_contact.shape, tar_contact.shape)
276
- loss_contact = self.vel_loss(rec_contact, tar_contact) * self.args.rec_weight * self.args.rec_pos_weight
277
- self.tracker.update_meter("contact", "val", loss_contact.item())
278
- #g_loss_final += loss_rec
279
- # rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
280
- # rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
281
- # rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
282
- # rec_y_trans = rec_trans[:,:,1:2]
283
- # rec_xyz_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
284
-
285
- rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
286
- rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
287
- rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
288
- rec_y_trans = rec_trans[:,:,1:2]
289
- rec_xyz_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
290
- loss_trans_vel = self.vel_loss(rec_trans[:, :, 0:1], tar_trans_vel_x) * self.args.rec_weight \
291
- + self.vel_loss(rec_trans[:, :, 2:3], tar_trans_vel_z) * self.args.rec_weight
292
- # v3 = self.vel_loss(rec_trans[:, :, 0:1][:, 1:] - rec_trans[:, :, 0:1][:, :-1], tar_trans_vel_x[:, 1:] - tar_trans_vel_x[:, :-1]) * self.args.rec_weight \
293
- # + self.vel_loss(rec_trans[:, :, 2:3][:, 1:] - rec_trans[:, :, 2:3][:, :-1], tar_trans_vel_z[:, 1:] - tar_trans_vel_z[:, :-1]) * self.args.rec_weight
294
- # a3 = self.vel_loss(rec_trans[:, :, 0:1][:, 2:] + rec_trans[:, :, 0:1][:, :-2] - 2 * rec_trans[:, :, 0:1][:, 1:-1], tar_trans_vel_x[:, 2:] + tar_trans_vel_x[:, :-2] - 2 * tar_trans_vel_x[:, 1:-1]) * self.args.rec_weight \
295
- # + self.vel_loss(rec_trans[:, :, 2:3][:, 2:] + rec_trans[:, :, 2:3][:, :-2] - 2 * rec_trans[:, :, 2:3][:, 1:-1], tar_trans_vel_z[:, 2:] + tar_trans_vel_z[:, :-2] - 2 * tar_trans_vel_z[:, 1:-1]) * self.args.rec_weight
296
- # #g_loss_final += 5*v3
297
- # #g_loss_final += 5*a3
298
- # v2 = self.vel_loss(rec_xyz_trans[:, 1:] - rec_xyz_trans[:, :-1], tar_trans[:, 1:] - tar_trans[:, :-1]) * self.args.rec_weight
299
- # a2 = self.vel_loss(rec_xyz_trans[:, 2:] + rec_xyz_trans[:, :-2] - 2 * rec_xyz_trans[:, 1:-1], tar_trans[:, 2:] + tar_trans[:, :-2] - 2 * tar_trans[:, 1:-1]) * self.args.rec_weight
300
- #g_loss_final += 5*v2
301
- #g_loss_final += 5*a2
302
- self.tracker.update_meter("transv", "val", loss_trans_vel.item())
303
- #g_loss_final += loss_trans_vel
304
- loss_trans = self.vel_loss(rec_xyz_trans, tar_trans) * self.args.rec_weight
305
- self.tracker.update_meter("trans", "val", loss_trans.item())
306
- #g_loss_final += loss_trans
307
-
308
- # vertices loss
309
- if self.args.rec_ver_weight > 0:
310
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
311
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
312
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
313
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
314
- vertices_rec = self.smplx(
315
- betas=tar_beta.reshape(bs*n, 300),
316
- transl=rec_xyz_trans.reshape(bs*n, 3),
317
- expression=tar_exps.reshape(bs*n, 100),
318
- jaw_pose=rec_pose[:, 66:69],
319
- global_orient=rec_pose[:,:3],
320
- body_pose=rec_pose[:,3:21*3+3],
321
- left_hand_pose=rec_pose[:,25*3:40*3],
322
- right_hand_pose=rec_pose[:,40*3:55*3],
323
- return_verts=False,
324
- return_joints=True,
325
- leye_pose=tar_pose[:, 69:72],
326
- reye_pose=tar_pose[:, 72:75],
327
- )
328
- vertices_tar = self.smplx(
329
- betas=tar_beta.reshape(bs*n, 300),
330
- transl=tar_trans.reshape(bs*n, 3),
331
- expression=tar_exps.reshape(bs*n, 100),
332
- jaw_pose=tar_pose[:, 66:69],
333
- global_orient=tar_pose[:,:3],
334
- body_pose=tar_pose[:,3:21*3+3],
335
- left_hand_pose=tar_pose[:,25*3:40*3],
336
- right_hand_pose=tar_pose[:,40*3:55*3],
337
- return_verts=False,
338
- return_joints=True,
339
- leye_pose=tar_pose[:, 69:72],
340
- reye_pose=tar_pose[:, 72:75],
341
- )
342
- joints_rec = vertices_rec['joints']
343
- joints_rec = joints_rec.reshape(bs, n, -1, 3)
344
- vectices_loss = self.vectices_loss(vertices_rec['joints'], vertices_tar['joints'])
345
- foot_idx = [7, 8, 10, 11]
346
- model_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
347
- # find static indices consistent with model's own predictions
348
- static_idx = model_contact > 0.95 # N x S x 4
349
- # print(model_contact)
350
- model_feet = joints_rec[:, :, foot_idx] # foot positions (N, S, 4, 3)
351
- model_foot_v = torch.zeros_like(model_feet)
352
- model_foot_v[:, :-1] = (
353
- model_feet[:, 1:, :, :] - model_feet[:, :-1, :, :]
354
- ) # (N, S-1, 4, 3)
355
- model_foot_v[~static_idx] = 0
356
- foot_loss = self.vectices_loss(
357
- model_foot_v, torch.zeros_like(model_foot_v)
358
- )
359
- self.tracker.update_meter("foot", "val", foot_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
360
- self.tracker.update_meter("ver", "val", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
361
- if "VQVAE" in self.args.g_name:
362
- loss_embedding = net_out["embedding_loss"]
363
- self.tracker.update_meter("com", "val", loss_embedding.item())
364
- #g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
365
- self.val_recording(epoch)
366
-
367
- def test(self, epoch):
368
- results_save_path = self.checkpoint_path + f"/{epoch}/"
369
- if os.path.exists(results_save_path):
370
- return 0
371
- os.makedirs(results_save_path)
372
- start_time = time.time()
373
- total_length = 0
374
- test_seq_list = self.test_data.selected_file
375
- self.model.eval()
376
- with torch.no_grad():
377
- for its, dict_data in enumerate(self.test_loader):
378
- tar_pose_raw = dict_data["pose"]
379
- tar_trans = dict_data["trans"].to(self.rank)
380
- tar_pose = tar_pose_raw[:, :, :27].cuda()
381
- tar_contact = tar_pose_raw[:, :, 27:31].cuda()
382
- # tar_pose = tar_pose.cuda()
383
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
384
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
385
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
386
- remain = n%self.args.pose_length
387
- tar_pose = tar_pose[:, :n-remain, :]
388
- tar_contact = tar_contact[:, :n-remain, :]
389
- tar_trans_copy = tar_trans[:, :n-remain, :]-tar_trans[:, :n-remain, :]
390
- tar_contact_copy = tar_contact-tar_contact
391
- in_tar_pose = torch.cat([tar_pose, tar_trans_copy, tar_contact_copy], dim=-1)
392
- #print(tar_pose.shape)
393
- if True:
394
- net_out = self.model(in_tar_pose)
395
- rec_pose = tar_pose #net_out["rec_pose"][:, :, :j*6]
396
- rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
397
- # print(rec_trans.shape)
398
- rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
399
- rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
400
- rec_y_trans = rec_trans[:,:,1:2]
401
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
402
- n = rec_pose.shape[1]
403
- rec_trans = rec_trans.cpu().numpy().reshape(bs*n, 3)
404
- tar_pose = tar_pose[:, :n, :]
405
- rec_pose = rec_pose.reshape(bs, n, j, 6)
406
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
407
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
408
- rec_pose = rec_pose.cpu().numpy()
409
- else:
410
- pass
411
- # for i in range(tar_pose.shape[1]//(self.args.vae_test_len)):
412
- # tar_pose_new = tar_pose[:,i*(self.args.vae_test_len):i*(self.args.vae_test_len)+self.args.vae_test_len,:]
413
- # net_out = self.model(**dict(inputs=tar_pose_new))
414
- # rec_pose = net_out["rec_pose"]
415
- # rec_pose = (rec_pose.reshape(rec_pose.shape[0], rec_pose.shape[1], -1, 6) * self.joint_level_mask_cuda).reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
416
- # if "rot6d" in self.args.pose_rep:
417
- # rec_pose = data_transfer.rotation_6d_to_matrix(rec_pose.reshape(tar_pose.shape[0], self.args.vae_test_len, -1, 6))
418
- # rec_pose = data_transfer.matrix_to_euler_angles(rec_pose, "XYZ").reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
419
- # if "smplx" not in self.args.pose_rep:
420
- # rec_pose = torch.rad2deg(rec_pose)
421
- # rec_pose = rec_pose * self.joint_mask_cuda
422
-
423
- # out_sub = rec_pose.cpu().numpy().reshape(-1, rec_pose.shape[2])
424
- # if i != 0:
425
- # out_final = np.concatenate((out_final,out_sub), 0)
426
- # else:
427
- # out_final = out_sub
428
-
429
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
430
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
431
- tar_pose = tar_pose.cpu().numpy()
432
-
433
- total_length += n
434
- # --- save --- #
435
- if 'smplx' in self.args.pose_rep:
436
- gt_npz = np.load(self.args.data_path+self.args.pose_rep+"/"+test_seq_list.iloc[its]['id']+'.npz', allow_pickle=True)
437
- stride = int(30 / self.args.pose_fps)
438
- tar_pose = self.inverse_selection(tar_pose, self.test_data.joint_mask, tar_pose.shape[0])
439
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
440
- betas=gt_npz["betas"],
441
- poses=tar_pose[:n],
442
- expressions=gt_npz["expressions"]-gt_npz["expressions"],
443
- trans=gt_npz["trans"][::stride][:n],
444
- model='smplx2020',
445
- gender='neutral',
446
- mocap_frame_rate = 30 ,
447
- )
448
- rec_pose = self.inverse_selection(rec_pose, self.test_data.joint_mask, rec_pose.shape[0])
449
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
450
- betas=gt_npz["betas"],
451
- poses=rec_pose,
452
- expressions=gt_npz["expressions"]-gt_npz["expressions"],
453
- trans=rec_trans,
454
- model='smplx2020',
455
- gender='neutral',
456
- mocap_frame_rate = 30 ,
457
- )
458
- else:
459
- rec_pose = rc.axis_angle_to_matrix(torch.from_numpy(rec_pose.reshape(bs*n, j, 3)))
460
- rec_pose = np.rad2deg(rc.matrix_to_euler_angles(rec_pose, "XYZ")).reshape(bs*n, j*3).numpy()
461
- tar_pose = rc.axis_angle_to_matrix(torch.from_numpy(tar_pose.reshape(bs*n, j, 3)))
462
- tar_pose = np.rad2deg(rc.matrix_to_euler_angles(tar_pose, "XYZ")).reshape(bs*n, j*3).numpy()
463
- #trans="0.000000 0.000000 0.000000"
464
-
465
- with open(f"{self.args.data_path}{self.args.pose_rep}/{test_seq_list.iloc[its]['id']}.bvh", "r") as f_demo:
466
- with open(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_gt:
467
- with open(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_real:
468
- for i, line_data in enumerate(f_demo.readlines()):
469
- if i < 431:
470
- f_real.write(line_data)
471
- f_gt.write(line_data)
472
- else: break
473
- for line_id in range(n): #,args.pre_frames, args.pose_length
474
- line_data = np.array2string(rec_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
475
- f_real.write(line_data[1:-2]+'\n')
476
- for line_id in range(n): #,args.pre_frames, args.pose_length
477
- line_data = np.array2string(tar_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
478
- f_gt.write(line_data[1:-2]+'\n')
479
- # with open(results_save_path+"gt_"+test_seq_list[its]+'.pkl', 'wb') as fw:
480
- # pickle.dump(new_dict, fw)
481
- # #new_dict2["fullpose"] = out_final
482
- # with open(results_save_path+"res_"+test_seq_list[its]+'.pkl', 'wb') as fw1:
483
- # pickle.dump(new_dict2, fw1)
484
-
485
- # other_tools.render_one_sequence(
486
- # results_save_path+"res_"+test_seq_list[its]+'.pkl',
487
- # results_save_path+"gt_"+test_seq_list[its]+'.pkl',
488
- # results_save_path,
489
- # self.args.data_path + self.args.test_data_path + 'wave16k/' + test_seq_list[its]+'.npy',
490
- # )
491
-
492
- #if its == 1:break
493
- end_time = time.time() - start_time
494
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aelowerfoot_trainer.py DELETED
@@ -1,491 +0,0 @@
1
- import train
2
- import os
3
- import time
4
- import csv
5
- import sys
6
- import warnings
7
- import random
8
- import numpy as np
9
- import time
10
- import pprint
11
- import pickle
12
-
13
- import torch
14
- import torch.nn as nn
15
- import torch.nn.functional as F
16
- from torch.utils.tensorboard import SummaryWriter
17
- from torch.nn.parallel import DistributedDataParallel as DDP
18
- from loguru import logger
19
- import smplx
20
-
21
- from utils import config, logger_tools, other_tools, metric
22
- from utils import rotation_conversions as rc
23
- from dataloaders import data_tools
24
- from optimizers.optim_factory import create_optimizer
25
- from optimizers.scheduler_factory import create_scheduler
26
- from optimizers.loss_factory import get_loss_func
27
- from scipy.spatial.transform import Rotation
28
-
29
-
30
- class CustomTrainer(train.BaseTrainer):
31
- """
32
- motion representation learning
33
- """
34
- def __init__(self, args):
35
- super().__init__(args)
36
- self.joints = self.train_data.joints
37
- self.smplx = smplx.create(
38
- self.args.data_path_1+"smplx_models/",
39
- model_type='smplx',
40
- gender='NEUTRAL_2020',
41
- use_face_contour=False,
42
- num_betas=300,
43
- num_expression_coeffs=100,
44
- ext='npz',
45
- use_pca=False,
46
- ).cuda().eval()
47
- self.tracker = other_tools.EpochTracker(["rec", "contact", "vel", "foot", "ver", "com", "kl", "acc", "trans", "transv"], [False,False, False, False, False, False, False, False, False, False])
48
- if not self.args.rot6d: #"rot6d" not in args.pose_rep:
49
- logger.error(f"this script is for rot6d, your pose rep. is {args.pose_rep}")
50
- self.rec_loss = get_loss_func("GeodesicLoss")
51
- self.vel_loss = torch.nn.L1Loss(reduction='mean')
52
- self.vectices_loss = torch.nn.MSELoss(reduction='mean')
53
-
54
- def inverse_selection(self, filtered_t, selection_array, n):
55
- # 创建一个全为零的数组,形状为 n*165
56
- original_shape_t = np.zeros((n, selection_array.size))
57
-
58
- # 找到选择数组中为1的索引位置
59
- selected_indices = np.where(selection_array == 1)[0]
60
-
61
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
62
- for i in range(n):
63
- original_shape_t[i, selected_indices] = filtered_t[i]
64
-
65
- return original_shape_t
66
-
67
- def inverse_selection_tensor(self, filtered_t, selection_array, n):
68
- # 创建一个全为零的数组,形状为 n*165
69
- selection_array = torch.from_numpy(selection_array).cuda()
70
- original_shape_t = torch.zeros((n, 165)).cuda()
71
-
72
- # 找到选择数组中为1的索引位置
73
- selected_indices = torch.where(selection_array == 1)[0]
74
-
75
- # 将 filtered_t 的值填充到 original_shape_t 中相应的位置
76
- for i in range(n):
77
- original_shape_t[i, selected_indices] = filtered_t[i]
78
-
79
- return original_shape_t
80
-
81
-
82
- def train(self, epoch):
83
- self.model.train()
84
- t_start = time.time()
85
- self.tracker.reset()
86
- for its, dict_data in enumerate(self.train_loader):
87
- tar_pose_raw = dict_data["pose"]
88
- tar_beta = dict_data["beta"].cuda()
89
- tar_trans = dict_data["trans"].cuda()
90
- # tar_trans_vel_x = other_tools.estimate_linear_velocity(tar_trans[:, :, 0:1], dt=1/self.args.pose_fps)
91
- # tar_trans_vel_z = other_tools.estimate_linear_velocity(tar_trans[:, :, 2:3], dt=1/self.args.pose_fps)
92
- tar_pose = tar_pose_raw[:, :, :27].cuda()
93
- tar_contact = tar_pose_raw[:, :, 27:31].cuda()
94
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
95
- tar_exps = torch.zeros((bs, n, 100)).cuda()
96
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
97
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
98
- tar_trans_copy = tar_trans
99
- tar_contact_copy = tar_contact
100
- in_tar_pose = torch.cat((tar_pose, tar_trans_copy, tar_contact_copy), dim=-1)
101
-
102
- t_data = time.time() - t_start
103
-
104
- self.opt.zero_grad()
105
- g_loss_final = 0
106
- net_out = self.model(in_tar_pose)
107
- rec_pose = net_out["rec_pose"][:, :, :j*6]
108
- rec_pose = rec_pose.reshape(bs, n, j, 6)
109
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
110
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
111
- loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
112
- self.tracker.update_meter("rec", "train", loss_rec.item())
113
- g_loss_final += loss_rec
114
-
115
- rec_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
116
- loss_contact = self.vectices_loss(rec_contact, tar_contact) * self.args.rec_weight * self.args.rec_pos_weight
117
- self.tracker.update_meter("contact", "train", loss_contact.item())
118
- g_loss_final += loss_contact
119
-
120
- velocity_loss = self.vel_loss(rec_pose[:, 1:] - rec_pose[:, :-1], tar_pose[:, 1:] - tar_pose[:, :-1]) * self.args.rec_weight
121
- acceleration_loss = self.vel_loss(rec_pose[:, 2:] + rec_pose[:, :-2] - 2 * rec_pose[:, 1:-1], tar_pose[:, 2:] + tar_pose[:, :-2] - 2 * tar_pose[:, 1:-1]) * self.args.rec_weight
122
- self.tracker.update_meter("vel", "train", velocity_loss.item())
123
- self.tracker.update_meter("acc", "train", acceleration_loss.item())
124
- g_loss_final += velocity_loss
125
- g_loss_final += acceleration_loss
126
-
127
- # rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
128
- # rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
129
- # rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
130
- # rec_y_trans = rec_trans[:,:,1:2]
131
- # rec_xyz_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
132
- # loss_trans_vel = self.vel_loss(rec_trans[:, :, 0:1], tar_trans_vel_x) * self.args.rec_weight \
133
- # + self.vel_loss(rec_trans[:, :, 2:3], tar_trans_vel_z) * self.args.rec_weight
134
- # v3 = self.vel_loss(rec_trans[:, :, 0:1][:, 1:] - rec_trans[:, :, 0:1][:, :-1], tar_trans_vel_x[:, 1:] - tar_trans_vel_x[:, :-1]) * self.args.rec_weight \
135
- # + self.vel_loss(rec_trans[:, :, 2:3][:, 1:] - rec_trans[:, :, 2:3][:, :-1], tar_trans_vel_z[:, 1:] - tar_trans_vel_z[:, :-1]) * self.args.rec_weight
136
- # a3 = self.vel_loss(rec_trans[:, :, 0:1][:, 2:] + rec_trans[:, :, 0:1][:, :-2] - 2 * rec_trans[:, :, 0:1][:, 1:-1], tar_trans_vel_x[:, 2:] + tar_trans_vel_x[:, :-2] - 2 * tar_trans_vel_x[:, 1:-1]) * self.args.rec_weight \
137
- # + self.vel_loss(rec_trans[:, :, 2:3][:, 2:] + rec_trans[:, :, 2:3][:, :-2] - 2 * rec_trans[:, :, 2:3][:, 1:-1], tar_trans_vel_z[:, 2:] + tar_trans_vel_z[:, :-2] - 2 * tar_trans_vel_z[:, 1:-1]) * self.args.rec_weight
138
- # g_loss_final += 5*v3
139
- # g_loss_final += 5*a3
140
- # v2 = self.vel_loss(rec_xyz_trans[:, 1:] - rec_xyz_trans[:, :-1], tar_trans[:, 1:] - tar_trans[:, :-1]) * self.args.rec_weight
141
- # a2 = self.vel_loss(rec_xyz_trans[:, 2:] + rec_xyz_trans[:, :-2] - 2 * rec_xyz_trans[:, 1:-1], tar_trans[:, 2:] + tar_trans[:, :-2] - 2 * tar_trans[:, 1:-1]) * self.args.rec_weight
142
- # g_loss_final += 5*v2
143
- # g_loss_final += 5*a2
144
- # self.tracker.update_meter("transv", "train", loss_trans_vel.item())
145
- # g_loss_final += loss_trans_vel
146
- # loss_trans = self.vel_loss(rec_xyz_trans, tar_trans) * self.args.rec_weight
147
- # self.tracker.update_meter("trans", "train", loss_trans.item())
148
- # g_loss_final += loss_trans
149
-
150
- # vertices loss
151
- if self.args.rec_ver_weight > 0:
152
- # print(tar_pose.shape, bs, n, j)
153
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
154
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
155
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
156
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
157
- vertices_rec = self.smplx(
158
- betas=tar_beta.reshape(bs*n, 300),
159
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
160
- expression=tar_exps.reshape(bs*n, 100),
161
- jaw_pose=rec_pose[:, 66:69],
162
- global_orient=rec_pose[:,:3],
163
- body_pose=rec_pose[:,3:21*3+3],
164
- left_hand_pose=rec_pose[:,25*3:40*3],
165
- right_hand_pose=rec_pose[:,40*3:55*3],
166
- return_verts=False,
167
- return_joints=True,
168
- leye_pose=tar_pose[:, 69:72],
169
- reye_pose=tar_pose[:, 72:75],
170
- )
171
- vertices_tar = self.smplx(
172
- betas=tar_beta.reshape(bs*n, 300),
173
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
174
- expression=tar_exps.reshape(bs*n, 100),
175
- jaw_pose=tar_pose[:, 66:69],
176
- global_orient=tar_pose[:,:3],
177
- body_pose=tar_pose[:,3:21*3+3],
178
- left_hand_pose=tar_pose[:,25*3:40*3],
179
- right_hand_pose=tar_pose[:,40*3:55*3],
180
- return_verts=False,
181
- return_joints=True,
182
- leye_pose=tar_pose[:, 69:72],
183
- reye_pose=tar_pose[:, 72:75],
184
- )
185
- joints_rec = vertices_rec['joints']
186
- # print(joints_rec.shape)
187
- joints_rec = joints_rec.reshape(bs, n, -1, 3)
188
- vectices_loss = self.vectices_loss(vertices_rec['joints'], vertices_tar['joints'])
189
- foot_idx = [7, 8, 10, 11]
190
- model_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
191
- # find static indices consistent with model's own predictions
192
- static_idx = model_contact > 0.95 # N x S x 4
193
- # print(model_contact,static_idx)
194
- model_feet = joints_rec[:, :, foot_idx] # foot positions (N, S, 4, 3)
195
- model_foot_v = torch.zeros_like(model_feet)
196
- model_foot_v[:, :-1] = (
197
- model_feet[:, 1:, :, :] - model_feet[:, :-1, :, :]
198
- ) # (N, S-1, 4, 3)
199
- model_foot_v[~static_idx] = 0
200
- foot_loss = self.vel_loss(
201
- model_foot_v, torch.zeros_like(model_foot_v)
202
- )
203
- self.tracker.update_meter("foot", "train", foot_loss.item()*self.args.rec_weight * self.args.rec_ver_weight*20)
204
- self.tracker.update_meter("ver", "train", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
205
- g_loss_final += (vectices_loss)*self.args.rec_weight*self.args.rec_ver_weight
206
- g_loss_final += foot_loss*self.args.rec_weight*self.args.rec_ver_weight*20
207
-
208
- # ---------------------- vae -------------------------- #
209
- if "VQVAE" in self.args.g_name:
210
- loss_embedding = net_out["embedding_loss"]
211
- g_loss_final += loss_embedding
212
- self.tracker.update_meter("com", "train", loss_embedding.item())
213
- # elif "VAE" in self.args.g_name:
214
- # pose_mu, pose_logvar = net_out["pose_mu"], net_out["pose_logvar"]
215
- # KLD = -0.5 * torch.sum(1 + pose_logvar - pose_mu.pow(2) - pose_logvar.exp())
216
- # if epoch < 0:
217
- # KLD_weight = 0
218
- # else:
219
- # KLD_weight = min(1.0, (epoch - 0) * 0.05) * 0.01
220
- # loss += KLD_weight * KLD
221
- # self.tracker.update_meter("kl", "train", KLD_weight * KLD.item())
222
- g_loss_final.backward()
223
- if self.args.grad_norm != 0:
224
- torch.nn.utils.clip_grad_norm_(self.model.parameters(), self.args.grad_norm)
225
- self.opt.step()
226
- t_train = time.time() - t_start - t_data
227
- t_start = time.time()
228
- mem_cost = torch.cuda.memory_cached() / 1E9
229
- lr_g = self.opt.param_groups[0]['lr']
230
- if its % self.args.log_period == 0:
231
- self.train_recording(epoch, its, t_data, t_train, mem_cost, lr_g)
232
- if self.args.debug:
233
- if its == 1: break
234
- self.opt_s.step(epoch)
235
-
236
- def val(self, epoch):
237
- self.model.eval()
238
- t_start = time.time()
239
- with torch.no_grad():
240
- for its, dict_data in enumerate(self.val_loader):
241
- tar_pose_raw = dict_data["pose"]
242
- tar_beta = dict_data["beta"].cuda()
243
- tar_trans = dict_data["trans"].cuda()
244
- tar_trans_vel_x = other_tools.estimate_linear_velocity(tar_trans[:, :, 0:1], dt=1/self.args.pose_fps)
245
- tar_trans_vel_z = other_tools.estimate_linear_velocity(tar_trans[:, :, 2:3], dt=1/self.args.pose_fps)
246
- #print(tar_pose.shape)
247
- tar_pose = tar_pose_raw[:, :, :27].cuda()
248
-
249
- tar_contact = tar_pose_raw[:, :, 27:31].cuda()
250
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
251
- tar_exps = torch.zeros((bs, n, 100)).cuda()
252
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
253
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
254
- tar_trans_copy = tar_trans
255
- tar_contact_copy = tar_contact
256
- in_tar_pose = torch.cat((tar_pose, tar_trans_copy, tar_contact_copy), dim=-1)
257
- t_data = time.time() - t_start
258
-
259
- #self.opt.zero_grad()
260
- #g_loss_final = 0
261
- net_out = self.model(in_tar_pose)
262
- rec_pose = net_out["rec_pose"][:, :, :j*6]
263
- rec_pose = rec_pose.reshape(bs, n, j, 6)
264
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
265
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
266
- loss_rec = self.rec_loss(rec_pose, tar_pose) * self.args.rec_weight * self.args.rec_pos_weight
267
- self.tracker.update_meter("rec", "val", loss_rec.item())
268
- rec_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
269
- # print(rec_contact.shape, tar_contact.shape)
270
- loss_contact = self.vel_loss(rec_contact, tar_contact) * self.args.rec_weight * self.args.rec_pos_weight
271
- self.tracker.update_meter("contact", "val", loss_contact.item())
272
- #g_loss_final += loss_rec
273
- rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
274
- rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
275
- rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
276
- rec_y_trans = rec_trans[:,:,1:2]
277
- rec_xyz_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
278
-
279
- # rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
280
- # rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
281
- # rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
282
- # rec_y_trans = rec_trans[:,:,1:2]
283
- # rec_xyz_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
284
- # loss_trans_vel = self.vel_loss(rec_trans[:, :, 0:1], tar_trans_vel_x) * self.args.rec_weight \
285
- # + self.vel_loss(rec_trans[:, :, 2:3], tar_trans_vel_z) * self.args.rec_weight
286
- # v3 = self.vel_loss(rec_trans[:, :, 0:1][:, 1:] - rec_trans[:, :, 0:1][:, :-1], tar_trans_vel_x[:, 1:] - tar_trans_vel_x[:, :-1]) * self.args.rec_weight \
287
- # + self.vel_loss(rec_trans[:, :, 2:3][:, 1:] - rec_trans[:, :, 2:3][:, :-1], tar_trans_vel_z[:, 1:] - tar_trans_vel_z[:, :-1]) * self.args.rec_weight
288
- # a3 = self.vel_loss(rec_trans[:, :, 0:1][:, 2:] + rec_trans[:, :, 0:1][:, :-2] - 2 * rec_trans[:, :, 0:1][:, 1:-1], tar_trans_vel_x[:, 2:] + tar_trans_vel_x[:, :-2] - 2 * tar_trans_vel_x[:, 1:-1]) * self.args.rec_weight \
289
- # + self.vel_loss(rec_trans[:, :, 2:3][:, 2:] + rec_trans[:, :, 2:3][:, :-2] - 2 * rec_trans[:, :, 2:3][:, 1:-1], tar_trans_vel_z[:, 2:] + tar_trans_vel_z[:, :-2] - 2 * tar_trans_vel_z[:, 1:-1]) * self.args.rec_weight
290
- # #g_loss_final += 5*v3
291
- # #g_loss_final += 5*a3
292
- # v2 = self.vel_loss(rec_xyz_trans[:, 1:] - rec_xyz_trans[:, :-1], tar_trans[:, 1:] - tar_trans[:, :-1]) * self.args.rec_weight
293
- # a2 = self.vel_loss(rec_xyz_trans[:, 2:] + rec_xyz_trans[:, :-2] - 2 * rec_xyz_trans[:, 1:-1], tar_trans[:, 2:] + tar_trans[:, :-2] - 2 * tar_trans[:, 1:-1]) * self.args.rec_weight
294
- #g_loss_final += 5*v2
295
- #g_loss_final += 5*a2
296
- # self.tracker.update_meter("transv", "val", loss_trans_vel.item())
297
- # #g_loss_final += loss_trans_vel
298
- # loss_trans = self.vel_loss(rec_xyz_trans, tar_trans) * self.args.rec_weight
299
- # self.tracker.update_meter("trans", "val", loss_trans.item())
300
- #g_loss_final += loss_trans
301
-
302
- # vertices loss
303
- if self.args.rec_ver_weight > 0:
304
- # print(tar_pose.shape, bs, n, j)
305
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
306
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
307
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
308
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
309
- vertices_rec = self.smplx(
310
- betas=tar_beta.reshape(bs*n, 300),
311
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
312
- expression=tar_exps.reshape(bs*n, 100),
313
- jaw_pose=rec_pose[:, 66:69],
314
- global_orient=rec_pose[:,:3],
315
- body_pose=rec_pose[:,3:21*3+3],
316
- left_hand_pose=rec_pose[:,25*3:40*3],
317
- right_hand_pose=rec_pose[:,40*3:55*3],
318
- return_verts=False,
319
- return_joints=True,
320
- leye_pose=tar_pose[:, 69:72],
321
- reye_pose=tar_pose[:, 72:75],
322
- )
323
- vertices_tar = self.smplx(
324
- betas=tar_beta.reshape(bs*n, 300),
325
- transl=tar_trans.reshape(bs*n, 3)-tar_trans.reshape(bs*n, 3),
326
- expression=tar_exps.reshape(bs*n, 100),
327
- jaw_pose=tar_pose[:, 66:69],
328
- global_orient=tar_pose[:,:3],
329
- body_pose=tar_pose[:,3:21*3+3],
330
- left_hand_pose=tar_pose[:,25*3:40*3],
331
- right_hand_pose=tar_pose[:,40*3:55*3],
332
- return_verts=False,
333
- return_joints=True,
334
- leye_pose=tar_pose[:, 69:72],
335
- reye_pose=tar_pose[:, 72:75],
336
- )
337
- joints_rec = vertices_rec['joints']
338
- joints_rec = joints_rec.reshape(bs, n, -1, 3)
339
- vectices_loss = self.vectices_loss(vertices_rec['joints'], vertices_tar['joints'])
340
- foot_idx = [7, 8, 10, 11]
341
- model_contact = net_out["rec_pose"][:, :, j*6+3:j*6+7]
342
- # find static indices consistent with model's own predictions
343
- static_idx = model_contact > 0.95 # N x S x 4
344
- # print(model_contact)
345
- model_feet = joints_rec[:, :, foot_idx] # foot positions (N, S, 4, 3)
346
- model_foot_v = torch.zeros_like(model_feet)
347
- model_foot_v[:, :-1] = (
348
- model_feet[:, 1:, :, :] - model_feet[:, :-1, :, :]
349
- ) # (N, S-1, 4, 3)
350
- model_foot_v[~static_idx] = 0
351
- foot_loss = self.vectices_loss(
352
- model_foot_v, torch.zeros_like(model_foot_v)
353
- )
354
- self.tracker.update_meter("foot", "val", foot_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
355
- self.tracker.update_meter("ver", "val", vectices_loss.item()*self.args.rec_weight * self.args.rec_ver_weight)
356
- if "VQVAE" in self.args.g_name:
357
- loss_embedding = net_out["embedding_loss"]
358
- self.tracker.update_meter("com", "val", loss_embedding.item())
359
- #g_loss_final += vectices_loss*self.args.rec_weight*self.args.rec_ver_weight
360
- if self.args.debug:
361
- if its == 1: break
362
- self.val_recording(epoch)
363
-
364
- def test(self, epoch):
365
- results_save_path = self.checkpoint_path + f"/{epoch}/"
366
- if os.path.exists(results_save_path):
367
- return 0
368
- os.makedirs(results_save_path)
369
- start_time = time.time()
370
- total_length = 0
371
- test_seq_list = self.test_data.selected_file
372
- self.model.eval()
373
- with torch.no_grad():
374
- for its, dict_data in enumerate(self.test_loader):
375
- tar_pose_raw = dict_data["pose"]
376
- tar_trans = dict_data["trans"].to(self.rank)
377
- tar_pose = tar_pose_raw[:, :, :27].cuda()
378
- tar_contact = tar_pose_raw[:, :, 27:31].cuda()
379
- # tar_pose = tar_pose.cuda()
380
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
381
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
382
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
383
- remain = n%self.args.pose_length
384
- tar_pose = tar_pose[:, :n-remain, :]
385
- tar_contact = tar_contact[:, :n-remain, :]
386
- tar_trans_copy = tar_trans[:, :n-remain, :]
387
- tar_contact_copy = tar_contact
388
- in_tar_pose = torch.cat([tar_pose, tar_trans_copy, tar_contact_copy], dim=-1)
389
- #print(tar_pose.shape)
390
- if True:
391
- net_out = self.model(in_tar_pose)
392
- rec_pose = net_out["rec_pose"][:, :, :j*6]
393
- rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3] - net_out["rec_pose"][:, :, j*6:j*6+3]
394
- # print(rec_trans.shape)
395
- rec_x_trans = other_tools.velocity2position(rec_trans[:, :, 0:1], 1/self.args.pose_fps, tar_trans[:, 0, 0:1])
396
- rec_z_trans = other_tools.velocity2position(rec_trans[:, :, 2:3], 1/self.args.pose_fps, tar_trans[:, 0, 2:3])
397
- rec_y_trans = rec_trans[:,:,1:2]
398
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
399
- n = rec_pose.shape[1]
400
- rec_trans = rec_trans.cpu().numpy().reshape(bs*n, 3)
401
- tar_pose = tar_pose[:, :n, :]
402
- rec_pose = rec_pose.reshape(bs, n, j, 6)
403
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)#
404
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
405
- rec_pose = rec_pose.cpu().numpy()
406
- else:
407
- pass
408
- # for i in range(tar_pose.shape[1]//(self.args.vae_test_len)):
409
- # tar_pose_new = tar_pose[:,i*(self.args.vae_test_len):i*(self.args.vae_test_len)+self.args.vae_test_len,:]
410
- # net_out = self.model(**dict(inputs=tar_pose_new))
411
- # rec_pose = net_out["rec_pose"]
412
- # rec_pose = (rec_pose.reshape(rec_pose.shape[0], rec_pose.shape[1], -1, 6) * self.joint_level_mask_cuda).reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
413
- # if "rot6d" in self.args.pose_rep:
414
- # rec_pose = data_transfer.rotation_6d_to_matrix(rec_pose.reshape(tar_pose.shape[0], self.args.vae_test_len, -1, 6))
415
- # rec_pose = data_transfer.matrix_to_euler_angles(rec_pose, "XYZ").reshape(rec_pose.shape[0], rec_pose.shape[1], -1)
416
- # if "smplx" not in self.args.pose_rep:
417
- # rec_pose = torch.rad2deg(rec_pose)
418
- # rec_pose = rec_pose * self.joint_mask_cuda
419
-
420
- # out_sub = rec_pose.cpu().numpy().reshape(-1, rec_pose.shape[2])
421
- # if i != 0:
422
- # out_final = np.concatenate((out_final,out_sub), 0)
423
- # else:
424
- # out_final = out_sub
425
-
426
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
427
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
428
- tar_pose = tar_pose.cpu().numpy()
429
-
430
- total_length += n
431
- # --- save --- #
432
- if 'smplx' in self.args.pose_rep:
433
- gt_npz = np.load(self.args.data_path+self.args.pose_rep+"/"+test_seq_list.iloc[its]['id']+'.npz', allow_pickle=True)
434
- stride = int(30 / self.args.pose_fps)
435
- tar_pose = self.inverse_selection(tar_pose, self.test_data.joint_mask, tar_pose.shape[0])
436
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
437
- betas=gt_npz["betas"],
438
- poses=tar_pose[:n],
439
- expressions=gt_npz["expressions"]-gt_npz["expressions"],
440
- trans=rec_trans-rec_trans,
441
- model='smplx2020',
442
- gender='neutral',
443
- mocap_frame_rate = 30 ,
444
- )
445
- rec_pose = self.inverse_selection(rec_pose, self.test_data.joint_mask, rec_pose.shape[0])
446
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
447
- betas=gt_npz["betas"],
448
- poses=rec_pose,
449
- expressions=gt_npz["expressions"]-gt_npz["expressions"],
450
- trans=rec_trans-rec_trans,
451
- model='smplx2020',
452
- gender='neutral',
453
- mocap_frame_rate = 30 ,
454
- )
455
- else:
456
- rec_pose = rc.axis_angle_to_matrix(torch.from_numpy(rec_pose.reshape(bs*n, j, 3)))
457
- rec_pose = np.rad2deg(rc.matrix_to_euler_angles(rec_pose, "XYZ")).reshape(bs*n, j*3).numpy()
458
- tar_pose = rc.axis_angle_to_matrix(torch.from_numpy(tar_pose.reshape(bs*n, j, 3)))
459
- tar_pose = np.rad2deg(rc.matrix_to_euler_angles(tar_pose, "XYZ")).reshape(bs*n, j*3).numpy()
460
- #trans="0.000000 0.000000 0.000000"
461
-
462
- with open(f"{self.args.data_path}{self.args.pose_rep}/{test_seq_list.iloc[its]['id']}.bvh", "r") as f_demo:
463
- with open(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_gt:
464
- with open(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.bvh', 'w+') as f_real:
465
- for i, line_data in enumerate(f_demo.readlines()):
466
- if i < 431:
467
- f_real.write(line_data)
468
- f_gt.write(line_data)
469
- else: break
470
- for line_id in range(n): #,args.pre_frames, args.pose_length
471
- line_data = np.array2string(rec_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
472
- f_real.write(line_data[1:-2]+'\n')
473
- for line_id in range(n): #,args.pre_frames, args.pose_length
474
- line_data = np.array2string(tar_pose[line_id], max_line_width=np.inf, precision=6, suppress_small=False, separator=' ')
475
- f_gt.write(line_data[1:-2]+'\n')
476
- # with open(results_save_path+"gt_"+test_seq_list[its]+'.pkl', 'wb') as fw:
477
- # pickle.dump(new_dict, fw)
478
- # #new_dict2["fullpose"] = out_final
479
- # with open(results_save_path+"res_"+test_seq_list[its]+'.pkl', 'wb') as fw1:
480
- # pickle.dump(new_dict2, fw1)
481
-
482
- # other_tools.render_one_sequence(
483
- # results_save_path+"res_"+test_seq_list[its]+'.pkl',
484
- # results_save_path+"gt_"+test_seq_list[its]+'.pkl',
485
- # results_save_path,
486
- # self.args.data_path + self.args.test_data_path + 'wave16k/' + test_seq_list[its]+'.npy',
487
- # )
488
-
489
- #if its == 1:break
490
- end_time = time.time() - start_time
491
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app.py CHANGED
@@ -5,675 +5,231 @@ import os
5
  import OpenGL.GL as gl
6
  os.environ["PYOPENGL_PLATFORM"] = "egl"
7
  os.environ["MESA_GL_VERSION_OVERRIDE"] = "4.1"
8
- import signal
9
- import time
10
- import csv
11
- import sys
12
- import warnings
13
- import random
14
  import gradio as gr
15
  import torch
16
- import torch.nn as nn
17
- import torch.nn.functional as F
18
- import torch.distributed as dist
19
- from torch.nn.parallel import DistributedDataParallel as DDP
20
- import torch.multiprocessing as mp
21
  import numpy as np
22
- import time
23
- import pprint
24
- from loguru import logger
25
- import smplx
26
- from torch.utils.tensorboard import SummaryWriter
27
- import wandb
28
- import matplotlib.pyplot as plt
29
- from utils import config, logger_tools, other_tools_hf, metric, data_transfer
30
- from dataloaders import data_tools
31
- from dataloaders.build_vocab import Vocab
32
- from optimizers.optim_factory import create_optimizer
33
- from optimizers.scheduler_factory import create_scheduler
34
- from optimizers.loss_factory import get_loss_func
35
- from dataloaders.data_tools import joints_list
36
- from utils import rotation_conversions as rc
37
  import soundfile as sf
38
- import librosa
39
-
40
- def inverse_selection_tensor(filtered_t, selection_array, n):
41
- selection_array = torch.from_numpy(selection_array).cuda()
42
- original_shape_t = torch.zeros((n, 165)).cuda()
43
- selected_indices = torch.where(selection_array == 1)[0]
44
- for i in range(n):
45
- original_shape_t[i, selected_indices] = filtered_t[i]
46
- return original_shape_t
47
-
48
- @spaces.GPU(duration=120)
49
- def test_demo_gpu(
50
- model, vq_model_face, vq_model_upper, vq_model_hands, vq_model_lower, global_motion, smplx_model,
51
- dict_data,
52
- args,
53
- joints, joint_mask_upper, joint_mask_lower, joint_mask_hands,
54
- log_softmax,
55
- ):
56
- rank = 0
57
- other_tools_hf.load_checkpoints(vq_model_face, args.data_path_1 + "pretrained_vq/last_790_face_v2.bin", args.e_name)
58
- other_tools_hf.load_checkpoints(vq_model_upper, args.data_path_1 + "pretrained_vq/upper_vertex_1layer_710.bin", args.e_name)
59
- other_tools_hf.load_checkpoints(vq_model_hands, args.data_path_1 + "pretrained_vq/hands_vertex_1layer_710.bin", args.e_name)
60
- other_tools_hf.load_checkpoints(vq_model_lower, args.data_path_1 + "pretrained_vq/lower_foot_600.bin", args.e_name)
61
- other_tools_hf.load_checkpoints(global_motion, args.data_path_1 + "pretrained_vq/last_1700_foot.bin", args.e_name)
62
- other_tools_hf.load_checkpoints(model, args.test_ckpt, args.g_name)
63
- model.to(rank).eval()
64
- smplx_model.to(rank).eval()
65
- vq_model_face.to(rank).eval()
66
- vq_model_upper.to(rank).eval()
67
- vq_model_hands.to(rank).eval()
68
- vq_model_lower.to(rank).eval()
69
- global_motion.to(rank).eval()
70
-
71
- with torch.no_grad():
72
- tar_pose_raw = dict_data["pose"]
73
- tar_pose = tar_pose_raw[:, :, :165].to(rank)
74
- tar_contact = tar_pose_raw[:, :, 165:169].to(rank)
75
- tar_trans = dict_data["trans"].to(rank)
76
- tar_exps = dict_data["facial"].to(rank)
77
- in_audio = dict_data["audio"].to(rank)
78
- in_word = None# dict_data["word"].to(rank)
79
- tar_beta = dict_data["beta"].to(rank)
80
- tar_id = dict_data["id"].to(rank).long()
81
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], joints
82
-
83
- tar_pose_jaw = tar_pose[:, :, 66:69]
84
- tar_pose_jaw = rc.axis_angle_to_matrix(tar_pose_jaw.reshape(bs, n, 1, 3))
85
- tar_pose_jaw = rc.matrix_to_rotation_6d(tar_pose_jaw).reshape(bs, n, 1*6)
86
- tar_pose_face = torch.cat([tar_pose_jaw, tar_exps], dim=2)
87
-
88
- tar_pose_hands = tar_pose[:, :, 25*3:55*3]
89
- tar_pose_hands = rc.axis_angle_to_matrix(tar_pose_hands.reshape(bs, n, 30, 3))
90
- tar_pose_hands = rc.matrix_to_rotation_6d(tar_pose_hands).reshape(bs, n, 30*6)
91
-
92
- tar_pose_upper = tar_pose[:, :, joint_mask_upper.astype(bool)]
93
- tar_pose_upper = rc.axis_angle_to_matrix(tar_pose_upper.reshape(bs, n, 13, 3))
94
- tar_pose_upper = rc.matrix_to_rotation_6d(tar_pose_upper).reshape(bs, n, 13*6)
95
-
96
- tar_pose_leg = tar_pose[:, :, joint_mask_lower.astype(bool)]
97
- tar_pose_leg = rc.axis_angle_to_matrix(tar_pose_leg.reshape(bs, n, 9, 3))
98
- tar_pose_leg = rc.matrix_to_rotation_6d(tar_pose_leg).reshape(bs, n, 9*6)
99
- tar_pose_lower = torch.cat([tar_pose_leg, tar_trans, tar_contact], dim=2)
100
-
101
- # tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
102
- # tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
103
- tar4dis = torch.cat([tar_pose_jaw, tar_pose_upper, tar_pose_hands, tar_pose_leg], dim=2)
104
-
105
- tar_index_value_face_top = vq_model_face.map2index(tar_pose_face) # bs*n/4
106
- tar_index_value_upper_top = vq_model_upper.map2index(tar_pose_upper) # bs*n/4
107
- tar_index_value_hands_top = vq_model_hands.map2index(tar_pose_hands) # bs*n/4
108
- tar_index_value_lower_top = vq_model_lower.map2index(tar_pose_lower) # bs*n/4
109
-
110
- latent_face_top = vq_model_face.map2latent(tar_pose_face) # bs*n/4
111
- latent_upper_top = vq_model_upper.map2latent(tar_pose_upper) # bs*n/4
112
- latent_hands_top = vq_model_hands.map2latent(tar_pose_hands) # bs*n/4
113
- latent_lower_top = vq_model_lower.map2latent(tar_pose_lower) # bs*n/4
114
-
115
- latent_in = torch.cat([latent_upper_top, latent_hands_top, latent_lower_top], dim=2)
116
-
117
- index_in = torch.stack([tar_index_value_upper_top, tar_index_value_hands_top, tar_index_value_lower_top], dim=-1).long()
118
-
119
- tar_pose_6d = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
120
- tar_pose_6d = rc.matrix_to_rotation_6d(tar_pose_6d).reshape(bs, n, 55*6)
121
- latent_all = torch.cat([tar_pose_6d, tar_trans, tar_contact], dim=-1)
122
-
123
- loaded_data = {
124
- "tar_pose_jaw": tar_pose_jaw,
125
- "tar_pose_face": tar_pose_face,
126
- "tar_pose_upper": tar_pose_upper,
127
- "tar_pose_lower": tar_pose_lower,
128
- "tar_pose_hands": tar_pose_hands,
129
- 'tar_pose_leg': tar_pose_leg,
130
- "in_audio": in_audio,
131
- "in_word": in_word,
132
- "tar_trans": tar_trans,
133
- "tar_exps": tar_exps,
134
- "tar_beta": tar_beta,
135
- "tar_pose": tar_pose,
136
- "tar4dis": tar4dis,
137
- "tar_index_value_face_top": tar_index_value_face_top,
138
- "tar_index_value_upper_top": tar_index_value_upper_top,
139
- "tar_index_value_hands_top": tar_index_value_hands_top,
140
- "tar_index_value_lower_top": tar_index_value_lower_top,
141
- "latent_face_top": latent_face_top,
142
- "latent_upper_top": latent_upper_top,
143
- "latent_hands_top": latent_hands_top,
144
- "latent_lower_top": latent_lower_top,
145
- "latent_in": latent_in,
146
- "index_in": index_in,
147
- "tar_id": tar_id,
148
- "latent_all": latent_all,
149
- "tar_pose_6d": tar_pose_6d,
150
- "tar_contact": tar_contact,
151
- }
152
-
153
- mode = 'test'
154
- bs, n, j = loaded_data["tar_pose"].shape[0], loaded_data["tar_pose"].shape[1], joints
155
- tar_pose = loaded_data["tar_pose"]
156
- tar_beta = loaded_data["tar_beta"]
157
- in_word =None# loaded_data["in_word"]
158
- tar_exps = loaded_data["tar_exps"]
159
- tar_contact = loaded_data["tar_contact"]
160
- in_audio = loaded_data["in_audio"]
161
- tar_trans = loaded_data["tar_trans"]
162
-
163
- remain = n%8
164
- if remain != 0:
165
- tar_pose = tar_pose[:, :-remain, :]
166
- tar_beta = tar_beta[:, :-remain, :]
167
- tar_trans = tar_trans[:, :-remain, :]
168
- # in_word = in_word[:, :-remain]
169
- tar_exps = tar_exps[:, :-remain, :]
170
- tar_contact = tar_contact[:, :-remain, :]
171
- n = n - remain
172
-
173
- tar_pose_jaw = tar_pose[:, :, 66:69]
174
- tar_pose_jaw = rc.axis_angle_to_matrix(tar_pose_jaw.reshape(bs, n, 1, 3))
175
- tar_pose_jaw = rc.matrix_to_rotation_6d(tar_pose_jaw).reshape(bs, n, 1*6)
176
- tar_pose_face = torch.cat([tar_pose_jaw, tar_exps], dim=2)
177
-
178
- tar_pose_hands = tar_pose[:, :, 25*3:55*3]
179
- tar_pose_hands = rc.axis_angle_to_matrix(tar_pose_hands.reshape(bs, n, 30, 3))
180
- tar_pose_hands = rc.matrix_to_rotation_6d(tar_pose_hands).reshape(bs, n, 30*6)
181
-
182
- tar_pose_upper = tar_pose[:, :, joint_mask_upper.astype(bool)]
183
- tar_pose_upper = rc.axis_angle_to_matrix(tar_pose_upper.reshape(bs, n, 13, 3))
184
- tar_pose_upper = rc.matrix_to_rotation_6d(tar_pose_upper).reshape(bs, n, 13*6)
185
-
186
- tar_pose_leg = tar_pose[:, :, joint_mask_lower.astype(bool)]
187
- tar_pose_leg = rc.axis_angle_to_matrix(tar_pose_leg.reshape(bs, n, 9, 3))
188
- tar_pose_leg = rc.matrix_to_rotation_6d(tar_pose_leg).reshape(bs, n, 9*6)
189
- tar_pose_lower = torch.cat([tar_pose_leg, tar_trans, tar_contact], dim=2)
190
-
191
- tar_pose_6d = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
192
- tar_pose_6d = rc.matrix_to_rotation_6d(tar_pose_6d).reshape(bs, n, 55*6)
193
- latent_all = torch.cat([tar_pose_6d, tar_trans, tar_contact], dim=-1)
194
-
195
- rec_index_all_face = []
196
- rec_index_all_upper = []
197
- rec_index_all_lower = []
198
- rec_index_all_hands = []
199
-
200
- roundt = (n - args.pre_frames) // (args.pose_length - args.pre_frames)
201
- remain = (n - args.pre_frames) % (args.pose_length - args.pre_frames)
202
- round_l = args.pose_length - args.pre_frames
203
-
204
- for i in range(0, roundt):
205
- # in_word_tmp = in_word[:, i*(round_l):(i+1)*(round_l)+args.pre_frames]
206
- # audio fps is 16000 and pose fps is 30
207
- in_audio_tmp = in_audio[:, i*(16000//30*round_l):(i+1)*(16000//30*round_l)+16000//30*args.pre_frames]
208
- in_id_tmp = loaded_data['tar_id'][:, i*(round_l):(i+1)*(round_l)+args.pre_frames]
209
- mask_val = torch.ones(bs, args.pose_length, args.pose_dims+3+4).float().cuda()
210
- mask_val[:, :args.pre_frames, :] = 0.0
211
- if i == 0:
212
- latent_all_tmp = latent_all[:, i*(round_l):(i+1)*(round_l)+args.pre_frames, :]
213
- else:
214
- latent_all_tmp = latent_all[:, i*(round_l):(i+1)*(round_l)+args.pre_frames, :]
215
- # print(latent_all_tmp.shape, latent_last.shape)
216
- latent_all_tmp[:, :args.pre_frames, :] = latent_last[:, -args.pre_frames:, :]
217
-
218
- net_out_val = model(
219
- in_audio = in_audio_tmp,
220
- in_word=None, #in_word_tmp,
221
- mask=mask_val,
222
- in_motion = latent_all_tmp,
223
- in_id = in_id_tmp,
224
- use_attentions=True,)
225
-
226
- if args.cu != 0:
227
- rec_index_upper = log_softmax(net_out_val["cls_upper"]).reshape(-1, args.vae_codebook_size)
228
- _, rec_index_upper = torch.max(rec_index_upper.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
229
- #rec_upper = vq_model_upper.decode(rec_index_upper)
230
- else:
231
- _, rec_index_upper, _, _ = vq_model_upper.quantizer(net_out_val["rec_upper"])
232
- #rec_upper = vq_model_upper.decoder(rec_index_upper)
233
- if args.cl != 0:
234
- rec_index_lower = log_softmax(net_out_val["cls_lower"]).reshape(-1, args.vae_codebook_size)
235
- _, rec_index_lower = torch.max(rec_index_lower.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
236
- #rec_lower = vq_model_lower.decode(rec_index_lower)
237
- else:
238
- _, rec_index_lower, _, _ = vq_model_lower.quantizer(net_out_val["rec_lower"])
239
- #rec_lower = vq_model_lower.decoder(rec_index_lower)
240
- if args.ch != 0:
241
- rec_index_hands = log_softmax(net_out_val["cls_hands"]).reshape(-1, args.vae_codebook_size)
242
- _, rec_index_hands = torch.max(rec_index_hands.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
243
- #rec_hands = vq_model_hands.decode(rec_index_hands)
244
- else:
245
- _, rec_index_hands, _, _ = vq_model_hands.quantizer(net_out_val["rec_hands"])
246
- #rec_hands = vq_model_hands.decoder(rec_index_hands)
247
- if args.cf != 0:
248
- rec_index_face = log_softmax(net_out_val["cls_face"]).reshape(-1, args.vae_codebook_size)
249
- _, rec_index_face = torch.max(rec_index_face.reshape(-1, args.pose_length, args.vae_codebook_size), dim=2)
250
- #rec_face = vq_model_face.decoder(rec_index_face)
251
- else:
252
- _, rec_index_face, _, _ = vq_model_face.quantizer(net_out_val["rec_face"])
253
- #rec_face = vq_model_face.decoder(rec_index_face)
254
-
255
- if i == 0:
256
- rec_index_all_face.append(rec_index_face)
257
- rec_index_all_upper.append(rec_index_upper)
258
- rec_index_all_lower.append(rec_index_lower)
259
- rec_index_all_hands.append(rec_index_hands)
260
- else:
261
- rec_index_all_face.append(rec_index_face[:, args.pre_frames:])
262
- rec_index_all_upper.append(rec_index_upper[:, args.pre_frames:])
263
- rec_index_all_lower.append(rec_index_lower[:, args.pre_frames:])
264
- rec_index_all_hands.append(rec_index_hands[:, args.pre_frames:])
265
-
266
- if args.cu != 0:
267
- rec_upper_last = vq_model_upper.decode(rec_index_upper)
268
- else:
269
- rec_upper_last = vq_model_upper.decoder(rec_index_upper)
270
- if args.cl != 0:
271
- rec_lower_last = vq_model_lower.decode(rec_index_lower)
272
- else:
273
- rec_lower_last = vq_model_lower.decoder(rec_index_lower)
274
- if args.ch != 0:
275
- rec_hands_last = vq_model_hands.decode(rec_index_hands)
276
- else:
277
- rec_hands_last = vq_model_hands.decoder(rec_index_hands)
278
- # if args.cf != 0:
279
- # rec_face_last = vq_model_face.decode(rec_index_face)
280
- # else:
281
- # rec_face_last = vq_model_face.decoder(rec_index_face)
282
-
283
- rec_pose_legs = rec_lower_last[:, :, :54]
284
- bs, n = rec_pose_legs.shape[0], rec_pose_legs.shape[1]
285
- rec_pose_upper = rec_upper_last.reshape(bs, n, 13, 6)
286
- rec_pose_upper = rc.rotation_6d_to_matrix(rec_pose_upper)#
287
- rec_pose_upper = rc.matrix_to_axis_angle(rec_pose_upper).reshape(bs*n, 13*3)
288
- rec_pose_upper_recover = inverse_selection_tensor(rec_pose_upper, joint_mask_upper, bs*n)
289
- rec_pose_lower = rec_pose_legs.reshape(bs, n, 9, 6)
290
- rec_pose_lower = rc.rotation_6d_to_matrix(rec_pose_lower)
291
- rec_pose_lower = rc.matrix_to_axis_angle(rec_pose_lower).reshape(bs*n, 9*3)
292
- rec_pose_lower_recover = inverse_selection_tensor(rec_pose_lower, joint_mask_lower, bs*n)
293
- rec_pose_hands = rec_hands_last.reshape(bs, n, 30, 6)
294
- rec_pose_hands = rc.rotation_6d_to_matrix(rec_pose_hands)
295
- rec_pose_hands = rc.matrix_to_axis_angle(rec_pose_hands).reshape(bs*n, 30*3)
296
- rec_pose_hands_recover = inverse_selection_tensor(rec_pose_hands, joint_mask_hands, bs*n)
297
- rec_pose = rec_pose_upper_recover + rec_pose_lower_recover + rec_pose_hands_recover
298
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs, n, j, 3))
299
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
300
- rec_trans_v_s = rec_lower_last[:, :, 54:57]
301
- rec_x_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 0:1], 1/args.pose_fps, tar_trans[:, 0, 0:1])
302
- rec_z_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 2:3], 1/args.pose_fps, tar_trans[:, 0, 2:3])
303
- rec_y_trans = rec_trans_v_s[:,:,1:2]
304
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
305
- latent_last = torch.cat([rec_pose, rec_trans, rec_lower_last[:, :, 57:61]], dim=-1)
306
-
307
- rec_index_face = torch.cat(rec_index_all_face, dim=1)
308
- rec_index_upper = torch.cat(rec_index_all_upper, dim=1)
309
- rec_index_lower = torch.cat(rec_index_all_lower, dim=1)
310
- rec_index_hands = torch.cat(rec_index_all_hands, dim=1)
311
- if args.cu != 0:
312
- rec_upper = vq_model_upper.decode(rec_index_upper)
313
- else:
314
- rec_upper = vq_model_upper.decoder(rec_index_upper)
315
- if args.cl != 0:
316
- rec_lower = vq_model_lower.decode(rec_index_lower)
317
- else:
318
- rec_lower = vq_model_lower.decoder(rec_index_lower)
319
- if args.ch != 0:
320
- rec_hands = vq_model_hands.decode(rec_index_hands)
321
- else:
322
- rec_hands = vq_model_hands.decoder(rec_index_hands)
323
- if args.cf != 0:
324
- rec_face = vq_model_face.decode(rec_index_face)
325
- else:
326
- rec_face = vq_model_face.decoder(rec_index_face)
327
 
328
- rec_exps = rec_face[:, :, 6:]
329
- rec_pose_jaw = rec_face[:, :, :6]
330
- rec_pose_legs = rec_lower[:, :, :54]
331
- bs, n = rec_pose_jaw.shape[0], rec_pose_jaw.shape[1]
332
- rec_pose_upper = rec_upper.reshape(bs, n, 13, 6)
333
- rec_pose_upper = rc.rotation_6d_to_matrix(rec_pose_upper)#
334
- rec_pose_upper = rc.matrix_to_axis_angle(rec_pose_upper).reshape(bs*n, 13*3)
335
- rec_pose_upper_recover = inverse_selection_tensor(rec_pose_upper, joint_mask_upper, bs*n)
336
- rec_pose_lower = rec_pose_legs.reshape(bs, n, 9, 6)
337
- rec_pose_lower = rc.rotation_6d_to_matrix(rec_pose_lower)
338
- rec_lower2global = rc.matrix_to_rotation_6d(rec_pose_lower.clone()).reshape(bs, n, 9*6)
339
- rec_pose_lower = rc.matrix_to_axis_angle(rec_pose_lower).reshape(bs*n, 9*3)
340
- rec_pose_lower_recover = inverse_selection_tensor(rec_pose_lower, joint_mask_lower, bs*n)
341
- rec_pose_hands = rec_hands.reshape(bs, n, 30, 6)
342
- rec_pose_hands = rc.rotation_6d_to_matrix(rec_pose_hands)
343
- rec_pose_hands = rc.matrix_to_axis_angle(rec_pose_hands).reshape(bs*n, 30*3)
344
- rec_pose_hands_recover = inverse_selection_tensor(rec_pose_hands, joint_mask_hands, bs*n)
345
- rec_pose_jaw = rec_pose_jaw.reshape(bs*n, 6)
346
- rec_pose_jaw = rc.rotation_6d_to_matrix(rec_pose_jaw)
347
- rec_pose_jaw = rc.matrix_to_axis_angle(rec_pose_jaw).reshape(bs*n, 1*3)
348
- rec_pose = rec_pose_upper_recover + rec_pose_lower_recover + rec_pose_hands_recover
349
- rec_pose[:, 66:69] = rec_pose_jaw
350
 
351
- to_global = rec_lower
352
- to_global[:, :, 54:57] = 0.0
353
- to_global[:, :, :54] = rec_lower2global
354
- rec_global = global_motion(to_global)
355
 
356
- rec_trans_v_s = rec_global["rec_pose"][:, :, 54:57]
357
- rec_x_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 0:1], 1/args.pose_fps, tar_trans[:, 0, 0:1])
358
- rec_z_trans = other_tools_hf.velocity2position(rec_trans_v_s[:, :, 2:3], 1/args.pose_fps, tar_trans[:, 0, 2:3])
359
- rec_y_trans = rec_trans_v_s[:,:,1:2]
360
- rec_trans = torch.cat([rec_x_trans, rec_y_trans, rec_z_trans], dim=-1)
361
- tar_pose = tar_pose[:, :n, :]
362
- tar_exps = tar_exps[:, :n, :]
363
- tar_trans = tar_trans[:, :n, :]
364
- tar_beta = tar_beta[:, :n, :]
365
 
366
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs*n, j, 3))
367
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
368
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs*n, j, 3))
369
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
370
-
371
- net_out = {
372
- 'rec_pose': rec_pose,
373
- 'rec_trans': rec_trans,
374
- 'tar_pose': tar_pose,
375
- 'tar_exps': tar_exps,
376
- 'tar_beta': tar_beta,
377
- 'tar_trans': tar_trans,
378
- 'rec_exps': rec_exps,
379
- }
380
-
381
 
382
- tar_pose = net_out['tar_pose']
383
- rec_pose = net_out['rec_pose']
384
- tar_exps = net_out['tar_exps']
385
- tar_beta = net_out['tar_beta']
386
- rec_trans = net_out['rec_trans']
387
- tar_trans = net_out['tar_trans']
388
- rec_exps = net_out['rec_exps']
389
- # print(rec_pose.shape, tar_pose.shape)
390
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], joints
391
- # interpolate to 30fps
392
- if (30/args.pose_fps) != 1:
393
- assert 30%args.pose_fps == 0
394
- n *= int(30/args.pose_fps)
395
- tar_pose = torch.nn.functional.interpolate(tar_pose.permute(0, 2, 1), scale_factor=30/args.pose_fps, mode='linear').permute(0,2,1)
396
- rec_pose = torch.nn.functional.interpolate(rec_pose.permute(0, 2, 1), scale_factor=30/args.pose_fps, mode='linear').permute(0,2,1)
397
-
398
- # print(rec_pose.shape, tar_pose.shape)
399
- rec_pose = rc.rotation_6d_to_matrix(rec_pose.reshape(bs*n, j, 6))
400
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
401
 
402
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs*n, j, 6))
403
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
404
-
405
- return tar_pose, rec_pose, tar_exps, tar_beta, rec_trans, tar_trans, rec_exps, bs, n, j
406
 
407
-
408
- class BaseTrainer(object):
409
- def __init__(self, args, sp, ap, tp):
410
- hf_dir = "hf"
411
- if not os.path.exists(args.out_path + "custom/" + hf_dir + "/"):
412
- os.makedirs(args.out_path + "custom/" + hf_dir + "/")
413
- sf.write(args.out_path + "custom/" + hf_dir + "/tmp.wav", ap[1], ap[0])
414
- self.audio_path = args.out_path + "custom/" + hf_dir + "/tmp.wav"
415
- audio, ssr = librosa.load(self.audio_path)
416
- ap = (ssr, audio)
417
- self.args = args
418
- self.rank = 0 # dist.get_rank()
419
-
420
- #self.checkpoint_path = args.out_path + "custom/" + args.name + args.notes + "/" #wandb.run.dir #args.cache_path+args.out_path+"/"+args.name
421
- self.checkpoint_path = args.out_path + "custom/" + hf_dir + "/"
422
- if self.rank == 0:
423
- self.test_data = __import__(f"dataloaders.{args.dataset}", fromlist=["something"]).CustomDataset(args, "test", smplx_path=sp, audio_path=ap, text_path=tp)
424
- self.test_loader = torch.utils.data.DataLoader(
425
- self.test_data,
426
- batch_size=1,
427
- shuffle=False,
428
- num_workers=args.loader_workers,
429
- drop_last=False,
430
- )
431
- logger.info(f"Init test dataloader success")
432
- model_module = __import__(f"models.{args.model}", fromlist=["something"])
433
-
434
- if args.ddp:
435
- self.model = getattr(model_module, args.g_name)(args).to(self.rank)
436
- process_group = torch.distributed.new_group()
437
- self.model = torch.nn.SyncBatchNorm.convert_sync_batchnorm(self.model, process_group)
438
- self.model = DDP(self.model, device_ids=[self.rank], output_device=self.rank,
439
- broadcast_buffers=False, find_unused_parameters=False)
440
- else:
441
- self.model = torch.nn.DataParallel(getattr(model_module, args.g_name)(args), args.gpus).cpu()
442
-
443
- if self.rank == 0:
444
- logger.info(self.model)
445
- logger.info(f"init {args.g_name} success")
446
 
447
- self.smplx = smplx.create(
448
- self.args.data_path_1+"smplx_models/",
449
- model_type='smplx',
450
- gender='NEUTRAL_2020',
451
- use_face_contour=False,
452
- num_betas=300,
453
- num_expression_coeffs=100,
454
- ext='npz',
455
- use_pca=False,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  )
457
-
458
- self.args = args
459
- self.joints = self.test_data.joints
460
- self.ori_joint_list = joints_list[self.args.ori_joints]
461
- self.tar_joint_list_face = joints_list["beat_smplx_face"]
462
- self.tar_joint_list_upper = joints_list["beat_smplx_upper"]
463
- self.tar_joint_list_hands = joints_list["beat_smplx_hands"]
464
- self.tar_joint_list_lower = joints_list["beat_smplx_lower"]
465
-
466
- self.joint_mask_face = np.zeros(len(list(self.ori_joint_list.keys()))*3)
467
- self.joints = 55
468
- for joint_name in self.tar_joint_list_face:
469
- self.joint_mask_face[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
470
- self.joint_mask_upper = np.zeros(len(list(self.ori_joint_list.keys()))*3)
471
- for joint_name in self.tar_joint_list_upper:
472
- self.joint_mask_upper[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
473
- self.joint_mask_hands = np.zeros(len(list(self.ori_joint_list.keys()))*3)
474
- for joint_name in self.tar_joint_list_hands:
475
- self.joint_mask_hands[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
476
- self.joint_mask_lower = np.zeros(len(list(self.ori_joint_list.keys()))*3)
477
- for joint_name in self.tar_joint_list_lower:
478
- self.joint_mask_lower[self.ori_joint_list[joint_name][1] - self.ori_joint_list[joint_name][0]:self.ori_joint_list[joint_name][1]] = 1
479
-
480
- self.tracker = other_tools_hf.EpochTracker(["fid", "l1div", "bc", "rec", "trans", "vel", "transv", 'dis', 'gen', 'acc', 'transa', 'exp', 'lvd', 'mse', "cls", "rec_face", "latent", "cls_full", "cls_self", "cls_word", "latent_word","latent_self"], [False,True,True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False,False,False,False])
481
-
482
- vq_model_module = __import__(f"models.motion_representation", fromlist=["something"])
483
- self.args.vae_layer = 2
484
- self.args.vae_length = 256
485
- self.args.vae_test_dim = 106
486
- self.vq_model_face = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
487
- # print(self.vq_model_face)
488
- # other_tools_hf.load_checkpoints(self.vq_model_face, self.args.data_path_1 + "pretrained_vq/last_790_face_v2.bin", args.e_name)
489
- self.args.vae_test_dim = 78
490
- self.vq_model_upper = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
491
- # other_tools_hf.load_checkpoints(self.vq_model_upper, self.args.data_path_1 + "pretrained_vq/upper_vertex_1layer_710.bin", args.e_name)
492
- self.args.vae_test_dim = 180
493
- self.vq_model_hands = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
494
- # other_tools_hf.load_checkpoints(self.vq_model_hands, self.args.data_path_1 + "pretrained_vq/hands_vertex_1layer_710.bin", args.e_name)
495
- self.args.vae_test_dim = 61
496
- self.args.vae_layer = 4
497
- self.vq_model_lower = getattr(vq_model_module, "VQVAEConvZero")(self.args).cpu()
498
- # other_tools_hf.load_checkpoints(self.vq_model_lower, self.args.data_path_1 + "pretrained_vq/lower_foot_600.bin", args.e_name)
499
- self.args.vae_test_dim = 61
500
- self.args.vae_layer = 4
501
- self.global_motion = getattr(vq_model_module, "VAEConvZero")(self.args).cpu()
502
- # other_tools_hf.load_checkpoints(self.global_motion, self.args.data_path_1 + "pretrained_vq/last_1700_foot.bin", args.e_name)
503
- self.args.vae_test_dim = 330
504
- self.args.vae_layer = 4
505
- self.args.vae_length = 240
506
-
507
- # self.cls_loss = nn.NLLLoss().to(self.rank)
508
- # self.reclatent_loss = nn.MSELoss().to(self.rank)
509
- # self.vel_loss = torch.nn.L1Loss(reduction='mean').to(self.rank)
510
- # self.rec_loss = get_loss_func("GeodesicLoss").to(self.rank)
511
- self.log_softmax = nn.LogSoftmax(dim=2)
512
-
513
-
514
- def inverse_selection(self, filtered_t, selection_array, n):
515
- original_shape_t = np.zeros((n, selection_array.size))
516
- selected_indices = np.where(selection_array == 1)[0]
517
- for i in range(n):
518
- original_shape_t[i, selected_indices] = filtered_t[i]
519
- return original_shape_t
520
-
521
- def inverse_selection_tensor(self, filtered_t, selection_array, n):
522
- selection_array = torch.from_numpy(selection_array).cuda()
523
- original_shape_t = torch.zeros((n, 165)).cuda()
524
- selected_indices = torch.where(selection_array == 1)[0]
525
- for i in range(n):
526
- original_shape_t[i, selected_indices] = filtered_t[i]
527
- return original_shape_t
528
 
529
-
530
- def test_demo(self, epoch):
531
- '''
532
- input audio and text, output motion
533
- do not calculate loss and metric
534
- save video
535
- '''
536
- results_save_path = self.checkpoint_path + f"/{epoch}/"
537
- if os.path.exists(results_save_path):
538
- import shutil
539
- shutil.rmtree(results_save_path)
540
- os.makedirs(results_save_path)
541
- start_time = time.time()
542
- total_length = 0
543
- test_seq_list = self.test_data.selected_file
544
- align = 0
545
- latent_out = []
546
- latent_ori = []
547
- l2_all = 0
548
- lvel = 0
549
- for its, batch_data in enumerate(self.test_loader):
550
- tar_pose, rec_pose, tar_exps, tar_beta, rec_trans, tar_trans, rec_exps, bs, n, j = test_demo_gpu(
551
- self.model, self.vq_model_face, self.vq_model_upper, self.vq_model_hands, self.vq_model_lower, self.global_motion, self.smplx,
552
- batch_data,
553
- self.args,
554
- self.joints, self.joint_mask_upper, self.joint_mask_lower, self.joint_mask_hands,
555
- self.log_softmax,
556
- )
557
-
558
- tar_pose_np = tar_pose.detach().cpu().numpy()
559
- rec_pose_np = rec_pose.detach().cpu().numpy()
560
- rec_trans_np = rec_trans.detach().cpu().numpy().reshape(bs*n, 3)
561
- rec_exp_np = rec_exps.detach().cpu().numpy().reshape(bs*n, 100)
562
- tar_exp_np = tar_exps.detach().cpu().numpy().reshape(bs*n, 100)
563
- tar_trans_np = tar_trans.detach().cpu().numpy().reshape(bs*n, 3)
564
- #'''
565
- # its = 0
566
- gt_npz = np.load(self.args.data_path+self.args.pose_rep +"/"+test_seq_list.iloc[its]['id']+".npz", allow_pickle=True)
567
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
568
- betas=gt_npz["betas"],
569
- poses=tar_pose_np,
570
- expressions=tar_exp_np,
571
- trans=tar_trans_np,
572
- model='smplx2020',
573
- gender='neutral',
574
- mocap_frame_rate = 30,
575
- )
576
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
577
- betas=gt_npz["betas"],
578
- poses=rec_pose_np,
579
- expressions=rec_exp_np,
580
- trans=rec_trans_np,
581
- model='smplx2020',
582
- gender='neutral',
583
- mocap_frame_rate = 30,
584
- )
585
-
586
- total_length += n
587
- # render_vid_path = other_tools_hf.render_one_sequence_no_gt(
588
- # results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
589
- # # results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
590
- # results_save_path,
591
- # self.audio_path,
592
- # self.args.data_path_1+"smplx_models/",
593
- # use_matplotlib = False,
594
- # args = self.args,
595
- # )
596
- render_vid_path = other_tools_hf.render_one_sequence_with_face(
597
- results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
598
- results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
599
- results_save_path,
600
- self.audio_path,
601
- self.args.data_path_1+"smplx_models/",
602
- use_matplotlib = False,
603
- args = self.args,
604
- )
605
- result = [
606
- gr.Video(value=render_vid_path, visible=True),
607
- gr.File(value=results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz', visible=True),
608
- ]
609
-
610
- end_time = time.time() - start_time
611
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
612
- return result
613
-
614
-
615
- @logger.catch
616
- def emage(audio_path):
617
- smplx_path = None
618
- text_path = None
619
- rank = 0
620
- world_size = 1
621
- args = config.parse_args()
622
- #os.environ['TRANSFORMERS_CACHE'] = args.data_path_1 + "hub/"
623
- if not sys.warnoptions:
624
- warnings.simplefilter("ignore")
625
- # dist.init_process_group(backend="gloo", rank=rank, world_size=world_size)
626
-
627
- #logger_tools.set_args_and_logger(args, rank)
628
- other_tools_hf.set_random_seed(args)
629
- other_tools_hf.print_exp_info(args)
630
-
631
- # return one intance of trainer
632
- trainer = BaseTrainer(args, sp = smplx_path, ap = audio_path, tp = text_path)
633
- result = trainer.test_demo(999)
634
- return result
635
 
636
- examples = [
637
- ["./EMAGE/test_sequences/wave16k/2_scott_0_1_1.wav"],
638
- ["./EMAGE/test_sequences/wave16k/2_scott_0_2_2.wav"],
639
- ["./EMAGE/test_sequences/wave16k/2_scott_0_3_3.wav"],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
640
  ]
641
 
642
- demo = gr.Interface(
643
- emage, # function
644
- inputs=[
645
- # gr.File(label="Please upload SMPL-X file with npz format here.", file_types=["npz", "NPZ"]),
646
- gr.Audio(),
647
- # gr.File(label="Please upload textgrid format file here.", file_types=["TextGrid", "Textgrid", "textgrid"])
648
- ], # input type
649
- outputs=[
650
- gr.Video(format="mp4", visible=True),
651
- gr.File(label="download motion and visualize in blender"),
652
- ],
653
- title='\
654
- <div align="center">\
655
- EMAGE: Towards Unified Holistic Co-Speech Gesture Generation via Expressive Masked Audio Gesture Modeling <br/>\
656
- CVPR 2024 <br/>\
657
- </div>',
658
- description='\
659
- <div align="center">\
660
- Haiyang Liu1*, Zihao Zhu2*, Giorgio Becherini3, Yichen Peng4, Mingyang Su5,<br/>\
661
- You Zhou, Xuefei Zhe, Naoya Iwamoto, Bo Zheng, Michael J. Black3 <br/>\
662
- (*Equal Contribution) <br/>\
663
- 1The University of Tokyo, 2Keio University, 4Japan Advanced Institute of Science and Technology, <br/>\
664
- 3Max Planck Institute for Intelligent Systems, 5Tsinghua University <br/>\
665
- </div>\
666
- ',
667
- article="\
668
- For appling motion on your avatar: download npz file and blender v3.3 add-on on our project page, then retarget the motion. <br/> \
669
- Due to the limited resources in this space, we process the first 60s of your uploaded audio,try to develop this space locally for longer motion generation, \[Project Page](https://pantomatrix.github.io/EMAGE/)\
670
- ",
671
- examples=examples,
672
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
673
 
674
-
675
  if __name__ == "__main__":
676
- os.environ["MASTER_ADDR"]='127.0.0.1'
677
- os.environ["MASTER_PORT"]='8675'
678
- #os.environ["TORCH_DISTRIBUTED_DEBUG"] = "DETAIL"
679
- demo.launch(share=True)
 
5
  import OpenGL.GL as gl
6
  os.environ["PYOPENGL_PLATFORM"] = "egl"
7
  os.environ["MESA_GL_VERSION_OVERRIDE"] = "4.1"
 
 
 
 
 
 
8
  import gradio as gr
9
  import torch
 
 
 
 
 
10
  import numpy as np
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  import soundfile as sf
12
+ import librosa
13
+ from torchvision.io import write_video
14
+ from emage_utils.motion_io import beat_format_save
15
+ from emage_utils import fast_render
16
+ from emage_utils.npz2pose import render2d
17
+ from models.camn_audio import CamnAudioModel
18
+ from models.disco_audio import DiscoAudioModel
19
+ from models.emage_audio import EmageAudioModel, EmageVQVAEConv, EmageVAEConv, EmageVQModel
20
+ import torch.nn.functional as F
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
23
+ save_folder = "./gradio_results"
24
+ os.makedirs(save_folder, exist_ok=True)
25
+ print(device)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
+ if not os.path.exists("./emage_evaltools/smplx_models"):
28
+ import subprocess
29
+ subprocess.run(["git", "clone", "https://huggingface.co/H-Liu1997/emage_evaltools"])
 
30
 
31
+ model_camn = CamnAudioModel.from_pretrained("H-Liu1997/camn_audio").to(device).eval()
32
+ model_disco = DiscoAudioModel.from_pretrained("H-Liu1997/disco_audio").to(device).eval()
 
 
 
 
 
 
 
33
 
34
+ face_motion_vq = EmageVQVAEConv.from_pretrained("H-Liu1997/emage_audio", subfolder="emage_vq/face").to(device).eval()
35
+ upper_motion_vq = EmageVQVAEConv.from_pretrained("H-Liu1997/emage_audio", subfolder="emage_vq/upper").to(device).eval()
36
+ lower_motion_vq = EmageVQVAEConv.from_pretrained("H-Liu1997/emage_audio", subfolder="emage_vq/lower").to(device).eval()
37
+ hands_motion_vq = EmageVQVAEConv.from_pretrained("H-Liu1997/emage_audio", subfolder="emage_vq/hands").to(device).eval()
38
+ global_motion_ae = EmageVAEConv.from_pretrained("H-Liu1997/emage_audio", subfolder="emage_vq/global").to(device).eval()
 
 
 
 
 
 
 
 
 
 
39
 
40
+ emage_vq_model = EmageVQModel(
41
+ face_model=face_motion_vq,
42
+ upper_model=upper_motion_vq,
43
+ lower_model=lower_motion_vq,
44
+ hands_model=hands_motion_vq,
45
+ global_model=global_motion_ae
46
+ ).to(device).eval()
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
+ model_emage = EmageAudioModel.from_pretrained("H-Liu1997/emage_audio").to(device).eval()
 
 
 
49
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
+ def inference_camn(audio_path, sr_model, pose_fps, seed_frames):
52
+ audio_loaded, _ = librosa.load(audio_path, sr=sr_model)
53
+ audio_t = torch.from_numpy(audio_loaded).float().unsqueeze(0).to(device)
54
+ sid = torch.zeros(1, 1).long().to(device)
55
+ with torch.no_grad():
56
+ motion_pred = model_camn(audio_t, sid, seed_frames=seed_frames)["motion_axis_angle"]
57
+ t = motion_pred.shape[1]
58
+ motion_pred = motion_pred.cpu().numpy().reshape(t, -1)
59
+ npz_path = os.path.join(save_folder, "camn_output.npz")
60
+ beat_format_save(npz_path, motion_pred, upsample=30 // pose_fps)
61
+ return npz_path
62
+
63
+ def inference_disco(audio_path, sr_model, pose_fps, seed_frames):
64
+ audio_loaded, _ = librosa.load(audio_path, sr=sr_model)
65
+ audio_t = torch.from_numpy(audio_loaded).float().unsqueeze(0).to(device)
66
+ sid = torch.zeros(1, 1).long().to(device)
67
+ with torch.no_grad():
68
+ motion_pred = model_disco(audio_t, sid, seed_frames=seed_frames, seed_motion=None)["motion_axis_angle"]
69
+ t = motion_pred.shape[1]
70
+ motion_pred = motion_pred.cpu().numpy().reshape(t, -1)
71
+ npz_path = os.path.join(save_folder, "disco_output.npz")
72
+ beat_format_save(npz_path, motion_pred, upsample=30 // pose_fps)
73
+ return npz_path
74
+
75
+ def inference_emage(audio_path, sr_model, pose_fps):
76
+ audio_loaded, _ = librosa.load(audio_path, sr=sr_model)
77
+ audio_t = torch.from_numpy(audio_loaded).float().unsqueeze(0).to(device)
78
+ sid = torch.zeros(1, 1).long().to(device)
79
+ with torch.no_grad():
80
+ latent_dict = model_emage.inference(audio_t, sid, emage_vq_model, masked_motion=None, mask=None)
81
+ face_latent = latent_dict["rec_face"] if model_emage.cfg.lf > 0 and model_emage.cfg.cf == 0 else None
82
+ upper_latent = latent_dict["rec_upper"] if model_emage.cfg.lu > 0 and model_emage.cfg.cu == 0 else None
83
+ hands_latent = latent_dict["rec_hands"] if model_emage.cfg.lh > 0 and model_emage.cfg.ch == 0 else None
84
+ lower_latent = latent_dict["rec_lower"] if model_emage.cfg.ll > 0 and model_emage.cfg.cl == 0 else None
85
+
86
+ face_index = torch.max(F.log_softmax(latent_dict["cls_face"], dim=2), dim=2)[1] if model_emage.cfg.cf > 0 else None
87
+ upper_index = torch.max(F.log_softmax(latent_dict["cls_upper"], dim=2), dim=2)[1] if model_emage.cfg.cu > 0 else None
88
+ hands_index = torch.max(F.log_softmax(latent_dict["cls_hands"], dim=2), dim=2)[1] if model_emage.cfg.ch > 0 else None
89
+ lower_index = torch.max(F.log_softmax(latent_dict["cls_lower"], dim=2), dim=2)[1] if model_emage.cfg.cl > 0 else None
90
+
91
+ ref_trans = torch.zeros(1, 1, 3).to(device)
92
+ all_pred = emage_vq_model.decode(
93
+ face_latent=face_latent,
94
+ upper_latent=upper_latent,
95
+ lower_latent=lower_latent,
96
+ hands_latent=hands_latent,
97
+ face_index=face_index,
98
+ upper_index=upper_index,
99
+ lower_index=lower_index,
100
+ hands_index=hands_index,
101
+ get_global_motion=True,
102
+ ref_trans=ref_trans[:, 0]
103
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
+ motion_pred = all_pred["motion_axis_angle"]
106
+ t = motion_pred.shape[1]
107
+ motion_pred = motion_pred.cpu().numpy().reshape(t, -1)
108
+ face_pred = all_pred["expression"].cpu().numpy().reshape(t, -1)
109
+ trans_pred = all_pred["trans"].cpu().numpy().reshape(t, -1)
110
+ npz_path = os.path.join(save_folder, "emage_output.npz")
111
+ beat_format_save(npz_path, motion_pred, upsample=30 // pose_fps, expressions=face_pred, trans=trans_pred)
112
+ return npz_path
113
+
114
+
115
+ def inference_app(audio, model_type, render_mesh=False, render_face=False, render_mesh_face=False):
116
+ if audio is None:
117
+ return [None, None, None, None, None]
118
+
119
+ sr_in, audio_data = audio
120
+ # --- TRUNCATE to 60 seconds if longer ---
121
+ max_len = int(60 * sr_in)
122
+ if len(audio_data) > max_len:
123
+ audio_data = audio_data[:max_len]
124
+ # ----------------------------------------
125
+
126
+ tmp_audio_path = os.path.join(save_folder, "tmp_input.wav")
127
+ sf.write(tmp_audio_path, audio_data, sr_in)
128
+
129
+ if model_type == "CaMN (Upper only)":
130
+ sr_model, pose_fps, seed_frames = model_camn.cfg.audio_sr, model_camn.cfg.pose_fps, model_camn.cfg.seed_frames
131
+ npz_path = inference_camn(tmp_audio_path, sr_model, pose_fps, seed_frames)
132
+ elif model_type == "DisCo (Upper only)":
133
+ sr_model, pose_fps, seed_frames = model_disco.cfg.audio_sr, model_disco.cfg.pose_fps, model_disco.cfg.seed_frames
134
+ npz_path = inference_disco(tmp_audio_path, sr_model, pose_fps, seed_frames)
135
+ else:
136
+ sr_model, pose_fps = model_emage.cfg.audio_sr, model_emage.cfg.pose_fps
137
+ npz_path = inference_emage(tmp_audio_path, sr_model, pose_fps)
138
+
139
+ motion_dict = np.load(npz_path, allow_pickle=True)
140
+ v2d_body = render2d(motion_dict, (720, 480), face_only=False, remove_global=True)
141
+ out_2d_body = npz_path.replace(".npz", "_2dbody.mp4")
142
+ write_video(out_2d_body, v2d_body.permute(0, 2, 3, 1), fps=30)
143
+ final_2d_body = out_2d_body.replace(".mp4", "_audio.mp4")
144
+ fast_render.add_audio_to_video(out_2d_body, tmp_audio_path, final_2d_body)
145
+
146
+ final_mesh_video = None
147
+ final_meshface_video = None
148
+ if render_mesh:
149
+ mesh_vid = fast_render.render_one_sequence_no_gt(
150
+ npz_path, save_folder, tmp_audio_path, "./emage_evaltools/smplx_models/"
151
+ )
152
+ final_mesh_video = mesh_vid
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
 
154
+ if render_mesh_face and render_mesh:
155
+ meshface_vid = fast_render.render_one_sequence_face_only(
156
+ npz_path, save_folder, tmp_audio_path, "./emage_evaltools/smplx_models/"
157
+ )
158
+ final_meshface_video = meshface_vid
159
+
160
+ final_face_video = None
161
+ if render_face:
162
+ v2d_face = render2d(motion_dict, (720, 480), face_only=True, remove_global=True)
163
+ out_2d_face = npz_path.replace(".npz", "_2dface.mp4")
164
+ write_video(out_2d_face, v2d_face.permute(0, 2, 3, 1), fps=30)
165
+ final_face_video = out_2d_face.replace(".mp4", "_audio.mp4")
166
+ fast_render.add_audio_to_video(out_2d_face, tmp_audio_path, final_face_video)
167
+
168
+ return [final_2d_body, final_mesh_video, final_face_video, final_meshface_video, npz_path]
169
+
170
+ examples_data = [
171
+ ["./examples/audio/2_scott_0_103_103_10s.wav", "DisCo (Upper only)", True, True, True],
172
+ ["./examples/audio/2_scott_0_103_103_10s.wav", "CaMN (Upper only)", True, True, True],
173
+ ["./examples/audio/2_scott_0_103_103_10s.wav", "EMAGE (Full body + Face)", True, True, True],
174
  ]
175
 
176
+ with gr.Blocks() as demo:
177
+ with gr.Column():
178
+ gr.Markdown(
179
+ """
180
+ <div style="display: flex; justify-content: center; align-items: center; text-align: center;">
181
+ <div>
182
+ <h1>EMAGE</h1>
183
+ <span>Generating Face and Body Animation from Speech</span>
184
+ <br>
185
+ <div style="display: flex; justify-content: center; align-items: center; text-align: center;">
186
+ <a href="https://github.com/PantoMatrix/PantoMatrix"><img src="https://img.shields.io/badge/Project_Page-EMAGE-orange" alt="Project Page"></a>
187
+ &nbsp;
188
+ <a href="https://github.com/PantoMatrix/PantoMatrix"><img src="https://img.shields.io/badge/Github-Code-green"></a>
189
+ &nbsp;
190
+ <a href="https://github.com/PantoMatrix/PantoMatrix"><img src="https://img.shields.io/github/stars/PantoMatrix/PantoMatrix" alt="Stars"></a>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ """
195
+ )
196
+ with gr.Row():
197
+ input_audio = gr.Audio(type="numpy", label="Upload Audio")
198
+ with gr.Column():
199
+ model_type = gr.Radio(
200
+ choices=["DisCo (Upper only)", "CaMN (Upper only)", "EMAGE (Full body + Face)"],
201
+ value="CaMN (Upper only)",
202
+ label="Select Model: DisCo/CaMN for Upper, EMAGE for Full Body+Face"
203
+ )
204
+ render_face = gr.Checkbox(value=False, label="Render 2D Face Landmark (Fast ~4s for 7s)")
205
+ render_mesh = gr.Checkbox(value=False, label="Render Mesh Body (Slow ~1min for 7s)")
206
+ render_mesh_face = gr.Checkbox(value=False, label="Render Mesh Face (Extra Slow)")
207
+
208
+ btn = gr.Button("Run Inference")
209
+
210
+ with gr.Row():
211
+ vid_body = gr.Video(label="2D Body Video")
212
+ vid_mesh = gr.Video(label="Mesh Body Video (optional)")
213
+ vid_face = gr.Video(label="2D Face Video (optional)")
214
+ vid_meshface = gr.Video(label="Mesh Face Video (optional)")
215
+
216
+ with gr.Column():
217
+ gr.Markdown("Download Motion NPZ, Use Our [Blender Add-on](https://huggingface.co/datasets/H-Liu1997/BEAT2_Tools/blob/main/smplx_blender_addon_20230921.zip) for Visualization. [Demo](https://github.com/PantoMatrix/PantoMatrix/issues/178) of how to install on blender.")
218
+ file_npz = gr.File(label="Motion NPZ")
219
+
220
+ btn.click(
221
+ fn=inference_app,
222
+ inputs=[input_audio, model_type, render_mesh, render_face, render_mesh_face],
223
+ outputs=[vid_body, vid_mesh, vid_face, vid_meshface, file_npz]
224
+ )
225
+
226
+ gr.Examples(
227
+ examples=examples_data,
228
+ inputs=[input_audio, model_type, render_mesh, render_face, render_mesh_face],
229
+ outputs=[vid_body, vid_mesh, vid_face, vid_meshface, file_npz],
230
+ fn=inference_app,
231
+ cache_examples=True
232
+ )
233
 
 
234
  if __name__ == "__main__":
235
+ demo.launch(share=True)
 
 
 
camn_trainer.py DELETED
@@ -1,361 +0,0 @@
1
- import train
2
- import os
3
- import time
4
- import csv
5
- import sys
6
- import warnings
7
- import random
8
- import numpy as np
9
- import time
10
- import pprint
11
- import pickle
12
-
13
- import torch
14
- import torch.nn as nn
15
- import torch.nn.functional as F
16
- from torch.utils.tensorboard import SummaryWriter
17
- from torch.nn.parallel import DistributedDataParallel as DDP
18
- from loguru import logger
19
- import smplx
20
- import librosa
21
-
22
- from utils import config, logger_tools, other_tools, metric
23
- from utils import rotation_conversions as rc
24
- from dataloaders import data_tools
25
- from optimizers.optim_factory import create_optimizer
26
- from optimizers.scheduler_factory import create_scheduler
27
- from optimizers.loss_factory import get_loss_func
28
- from scipy.spatial.transform import Rotation
29
-
30
-
31
- class CustomTrainer(train.BaseTrainer):
32
- def __init__(self, args):
33
- super().__init__(args)
34
- self.joints = self.train_data.joints
35
- self.tracker = other_tools.EpochTracker(["fid", "l1div", "bc", "rec", "trans", "vel", "transv", 'dis', 'gen', 'acc', 'transa', 'div_reg', "kl"], [False,True,True, False, False, False, False, False, False, False, False, False, False])
36
- if not self.args.rot6d: #"rot6d" not in args.pose_rep:
37
- logger.error(f"this script is for rot6d, your pose rep. is {args.pose_rep}")
38
- self.rec_loss = get_loss_func("GeodesicLoss").to(self.rank)
39
- self.vel_loss = torch.nn.L1Loss(reduction='mean').to(self.rank)
40
-
41
- def _load_data(self, dict_data):
42
- tar_pose = dict_data["pose"].to(self.rank)
43
- tar_trans = dict_data["trans"].to(self.rank)
44
- tar_exps = dict_data["facial"].to(self.rank)
45
- tar_beta = dict_data["beta"].to(self.rank)
46
- tar_id = dict_data["id"].to(self.rank).long()
47
- tar_word = dict_data["word"].to(self.rank)
48
- in_audio = dict_data["audio"].to(self.rank)
49
- in_emo = dict_data["emo"].to(self.rank)
50
- #in_sem = dict_data["sem"].to(self.rank)
51
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], self.joints
52
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, j, 3))
53
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
54
- in_pre_pose_cat = torch.cat([tar_pose[:, 0:self.args.pre_frames], tar_trans[:, :self.args.pre_frames]], dim=2).to(self.rank)
55
-
56
- in_pre_pose = tar_pose.new_zeros((bs, n, j*6+1+3)).to(self.rank)
57
- in_pre_pose[:, 0:self.args.pre_frames, :-1] = in_pre_pose_cat[:, 0:self.args.pre_frames]
58
- in_pre_pose[:, 0:self.args.pre_frames, -1] = 1
59
- return {
60
- "tar_pose": tar_pose,
61
- "in_audio": in_audio,
62
- "in_motion": in_pre_pose,
63
- "tar_trans": tar_trans,
64
- "tar_exps": tar_exps,
65
- "tar_beta": tar_beta,
66
- "tar_word": tar_word,
67
- 'tar_id': tar_id,
68
- 'in_emo': in_emo,
69
- #'in_sem': in_sem,
70
- }
71
-
72
- def _d_training(self, loaded_data):
73
- bs, n, j = loaded_data["tar_pose"].shape[0], loaded_data["tar_pose"].shape[1], self.joints
74
- net_out = self.model(in_audio = loaded_data['in_audio'], pre_seq = loaded_data["in_motion"], in_text=loaded_data["tar_word"], in_id=loaded_data["tar_id"], in_emo=loaded_data["in_emo"], in_facial = loaded_data["tar_exps"])
75
- rec_pose = net_out["rec_pose"][:, :, :j*6]
76
- # rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
77
-
78
- rec_pose = rec_pose.reshape(bs, n, j, 6)
79
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)
80
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
81
- tar_pose = rc.rotation_6d_to_matrix(loaded_data["tar_pose"].reshape(bs, n, j, 6))
82
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
83
- out_d_fake = self.d_model(rec_pose)
84
- out_d_real = self.d_model(tar_pose)
85
-
86
- d_loss_adv = torch.sum(-torch.mean(torch.log(out_d_real + 1e-8) + torch.log(1 - out_d_fake + 1e-8)))
87
- self.tracker.update_meter("dis", "train", d_loss_adv.item())
88
- return d_loss_adv
89
-
90
- def _g_training(self, loaded_data, use_adv, mode="train"):
91
- bs, n, j = loaded_data["tar_pose"].shape[0], loaded_data["tar_pose"].shape[1], self.joints
92
- net_out = self.model(in_audio = loaded_data['in_audio'], pre_seq = loaded_data["in_motion"], in_text=loaded_data["tar_word"], in_id=loaded_data["tar_id"], in_emo=loaded_data["in_emo"], in_facial = loaded_data["tar_exps"])
93
- rec_pose = net_out["rec_pose"][:, :, :j*6]
94
- rec_trans = net_out["rec_pose"][:, :, j*6:j*6+3]
95
- # print(rec_pose.shape, bs, n, j, loaded_data['in_audio'].shape, loaded_data["in_motion"].shape)
96
- rec_pose = rec_pose.reshape(bs, n, j, 6)
97
- rec_pose = rc.rotation_6d_to_matrix(rec_pose)
98
- tar_pose = rc.rotation_6d_to_matrix(loaded_data["tar_pose"].reshape(bs, n, j, 6))
99
-
100
- rec_loss = self.rec_loss(tar_pose, rec_pose)
101
- rec_loss *= self.args.rec_weight
102
- self.tracker.update_meter("rec", mode, rec_loss.item())
103
- # rec_loss_vel = self.vel_loss(rec_pose[:, 1:] - rec_pose[:, :-1], tar_pose[:, 1:] - tar_pose[:, :-1])
104
- # self.tracker.update_meter("vel", mode, rec_loss_vel.item())
105
- # rec_loss_acc = self.vel_loss(rec_pose[:, 2:] - 2*rec_pose[:, 1:-1] + rec_pose[:, :-2], tar_pose[:, 2:] - 2*tar_pose[:, 1:-1] + tar_pose[:, :-2])
106
- # self.tracker.update_meter("acc", mode, rec_loss_acc.item())
107
-
108
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
109
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
110
- if self.args.pose_dims < 330 and mode != "train":
111
- rec_pose = rc.rotation_6d_to_matrix(rec_pose.reshape(bs, n, j, 6))
112
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs, n, j*3)
113
- rec_pose = self.inverse_selection_tensor(rec_pose, self.train_data.joint_mask, rec_pose.shape[0])
114
- rec_pose = rc.axis_angle_to_matrix(rec_pose.reshape(bs, n, 55, 3))
115
- rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, 55*6)
116
-
117
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs, n, j, 6))
118
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs, n, j*3)
119
- tar_pose = self.inverse_selection_tensor(tar_pose, self.train_data.joint_mask, tar_pose.shape[0])
120
- tar_pose = rc.axis_angle_to_matrix(tar_pose.reshape(bs, n, 55, 3))
121
- tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, 55*6)
122
- if use_adv and mode == 'train':
123
- out_d_fake = self.d_model(rec_pose)
124
- d_loss_adv = -torch.mean(torch.log(out_d_fake + 1e-8))
125
- self.tracker.update_meter("gen", mode, d_loss_adv.item())
126
- else:
127
- d_loss_adv = 0
128
-
129
- if self.args.train_trans:
130
- trans_loss = self.vel_loss(rec_trans, loaded_data["tar_trans"])
131
- trans_loss *= self.args.rec_weight
132
- self.tracker.update_meter("trans", mode, trans_loss.item())
133
- else:
134
- trans_loss = 0
135
- # trans_loss_vel = self.vel_loss(rec_trans[:, 1:] - rec_trans[:, :-1], loaded_data["tar_trans"][:, 1:] - loaded_data["tar_trans"][:, :-1])
136
- # self.tracker.update_meter("transv", mode, trans_loss_vel.item())
137
- # trans_loss_acc = self.vel_loss(rec_trans[:, 2:] - 2*rec_trans[:, 1:-1] + rec_trans[:, :-2], loaded_data["tar_trans"][:, 2:] - 2*loaded_data["tar_trans"][:, 1:-1] + loaded_data["tar_trans"][:, :-2])
138
- # self.tracker.update_meter("transa", mode, trans_loss_acc.item())
139
-
140
- if mode == 'train':
141
- return d_loss_adv + rec_loss + trans_loss # + rec_loss_vel + rec_loss_acc + trans_loss_vel + trans_loss_acc
142
- elif mode == 'val':
143
- return {
144
- 'rec_pose': rec_pose,
145
- 'rec_trans': rec_trans,
146
- 'tar_pose': tar_pose,
147
- }
148
- else:
149
- return {
150
- 'rec_pose': rec_pose,
151
- 'rec_trans': rec_trans,
152
- 'tar_pose': tar_pose,
153
- 'tar_exps': loaded_data["tar_exps"],
154
- 'tar_beta': loaded_data["tar_beta"],
155
- 'tar_trans': loaded_data["tar_trans"],
156
- }
157
-
158
- def train(self, epoch):
159
- use_adv = bool(epoch>=self.args.no_adv_epoch)
160
- self.model.train()
161
- self.d_model.train()
162
- self.tracker.reset()
163
- t_start = time.time()
164
- for its, batch_data in enumerate(self.train_loader):
165
- loaded_data = self._load_data(batch_data)
166
- t_data = time.time() - t_start
167
-
168
- if use_adv:
169
- d_loss_final = 0
170
- self.opt_d.zero_grad()
171
- d_loss_adv = self._d_training(loaded_data)
172
- d_loss_final += d_loss_adv
173
- d_loss_final.backward()
174
- self.opt_d.step()
175
-
176
- self.opt.zero_grad()
177
- g_loss_final = 0
178
- g_loss_final += self._g_training(loaded_data, use_adv, 'train')
179
- g_loss_final.backward()
180
- self.opt.step()
181
-
182
- mem_cost = torch.cuda.memory_cached() / 1E9
183
- lr_g = self.opt.param_groups[0]['lr']
184
- lr_d = self.opt_d.param_groups[0]['lr']
185
- t_train = time.time() - t_start - t_data
186
- t_start = time.time()
187
- if its % self.args.log_period == 0:
188
- self.train_recording(epoch, its, t_data, t_train, mem_cost, lr_g, lr_d=lr_d)
189
- if self.args.debug:
190
- if its == 1: break
191
- self.opt_s.step(epoch)
192
- self.opt_d_s.step(epoch)
193
-
194
-
195
- def val(self, epoch):
196
- self.model.eval()
197
- self.d_model.eval()
198
- with torch.no_grad():
199
- for its, batch_data in enumerate(self.train_loader):
200
- loaded_data = self._load_data(batch_data)
201
- net_out = self._g_training(loaded_data, False, 'val')
202
- tar_pose = net_out['tar_pose']
203
- rec_pose = net_out['rec_pose']
204
- n = tar_pose.shape[1]
205
- if (30/self.args.pose_fps) != 1:
206
- assert 30%self.args.pose_fps == 0
207
- n *= int(30/self.args.pose_fps)
208
- tar_pose = torch.nn.functional.interpolate(tar_pose.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
209
- rec_pose = torch.nn.functional.interpolate(rec_pose.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
210
- n = tar_pose.shape[1]
211
- remain = n%self.args.vae_test_len
212
- tar_pose = tar_pose[:, :n-remain, :]
213
- rec_pose = rec_pose[:, :n-remain, :]
214
- latent_out = self.eval_copy.map2latent(rec_pose).reshape(-1, self.args.vae_length).cpu().numpy()
215
- latent_ori = self.eval_copy.map2latent(tar_pose).reshape(-1, self.args.vae_length).cpu().numpy()
216
- if its == 0:
217
- latent_out_motion_all = latent_out
218
- latent_ori_all = latent_ori
219
- else:
220
- latent_out_motion_all = np.concatenate([latent_out_motion_all, latent_out], axis=0)
221
- latent_ori_all = np.concatenate([latent_ori_all, latent_ori], axis=0)
222
- if self.args.debug:
223
- if its == 1: break
224
- fid_motion = data_tools.FIDCalculator.frechet_distance(latent_out_motion_all, latent_ori_all)
225
- self.tracker.update_meter("fid", "val", fid_motion)
226
- self.val_recording(epoch)
227
-
228
- def test(self, epoch):
229
- results_save_path = self.checkpoint_path + f"/{epoch}/"
230
- if os.path.exists(results_save_path):
231
- return 0
232
- os.makedirs(results_save_path)
233
- start_time = time.time()
234
- total_length = 0
235
- test_seq_list = self.test_data.selected_file
236
- align = 0
237
- latent_out = []
238
- latent_ori = []
239
- self.model.eval()
240
- self.smplx.eval()
241
- self.eval_copy.eval()
242
- with torch.no_grad():
243
- for its, batch_data in enumerate(self.test_loader):
244
- loaded_data = self._load_data(batch_data)
245
- net_out = self._g_training(loaded_data, False, 'test')
246
- tar_pose = net_out['tar_pose']
247
- rec_pose = net_out['rec_pose']
248
- tar_exps = net_out['tar_exps']
249
- tar_beta = net_out['tar_beta']
250
- rec_trans = net_out['rec_trans']
251
- tar_trans = net_out['tar_trans']
252
- bs, n, j = tar_pose.shape[0], tar_pose.shape[1], 55
253
- if (30/self.args.pose_fps) != 1:
254
- assert 30%self.args.pose_fps == 0
255
- n *= int(30/self.args.pose_fps)
256
- tar_pose = torch.nn.functional.interpolate(tar_pose.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
257
- rec_pose = torch.nn.functional.interpolate(rec_pose.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
258
- tar_beta = torch.nn.functional.interpolate(tar_beta.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
259
- tar_exps = torch.nn.functional.interpolate(tar_exps.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
260
- tar_trans = torch.nn.functional.interpolate(tar_trans.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
261
- rec_trans = torch.nn.functional.interpolate(rec_trans.permute(0, 2, 1), scale_factor=30/self.args.pose_fps, mode='linear').permute(0,2,1)
262
-
263
- # print(rec_pose.shape, tar_pose.shape)
264
- # rec_pose = rc.rotation_6d_to_matrix(rec_pose.reshape(bs*n, j, 6))
265
- # rec_pose = rc.matrix_to_rotation_6d(rec_pose).reshape(bs, n, j*6)
266
- # tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs*n, j, 6))
267
- # tar_pose = rc.matrix_to_rotation_6d(tar_pose).reshape(bs, n, j*6)
268
- remain = n%self.args.vae_test_len
269
- latent_out.append(self.eval_copy.map2latent(rec_pose[:, :n-remain]).reshape(-1, self.args.vae_length).detach().cpu().numpy()) # bs * n/8 * 240
270
- latent_ori.append(self.eval_copy.map2latent(tar_pose[:, :n-remain]).reshape(-1, self.args.vae_length).detach().cpu().numpy())
271
-
272
- rec_pose = rc.rotation_6d_to_matrix(rec_pose.reshape(bs*n, j, 6))
273
- rec_pose = rc.matrix_to_axis_angle(rec_pose).reshape(bs*n, j*3)
274
- tar_pose = rc.rotation_6d_to_matrix(tar_pose.reshape(bs*n, j, 6))
275
- tar_pose = rc.matrix_to_axis_angle(tar_pose).reshape(bs*n, j*3)
276
-
277
- vertices_rec = self.smplx(
278
- betas=tar_beta.reshape(bs*n, 300),
279
- transl=rec_trans.reshape(bs*n, 3)-rec_trans.reshape(bs*n, 3),
280
- expression=tar_exps.reshape(bs*n, 100)-tar_exps.reshape(bs*n, 100),
281
- jaw_pose=rec_pose[:, 66:69],
282
- global_orient=rec_pose[:,:3],
283
- body_pose=rec_pose[:,3:21*3+3],
284
- left_hand_pose=rec_pose[:,25*3:40*3],
285
- right_hand_pose=rec_pose[:,40*3:55*3],
286
- return_joints=True,
287
- leye_pose=rec_pose[:, 69:72],
288
- reye_pose=rec_pose[:, 72:75],
289
- )
290
- # vertices_tar = self.smplx(
291
- # betas=tar_beta.reshape(bs*n, 300),
292
- # transl=rec_trans.reshape(bs*n, 3)-rec_trans.reshape(bs*n, 3),
293
- # expression=tar_exps.reshape(bs*n, 100)-tar_exps.reshape(bs*n, 100),
294
- # jaw_pose=tar_pose[:, 66:69],
295
- # global_orient=tar_pose[:,:3],
296
- # body_pose=tar_pose[:,3:21*3+3],
297
- # left_hand_pose=tar_pose[:,25*3:40*3],
298
- # right_hand_pose=tar_pose[:,40*3:55*3],
299
- # return_joints=True,
300
- # leye_pose=tar_pose[:, 69:72],
301
- # reye_pose=tar_pose[:, 72:75],
302
- # )
303
- joints_rec = vertices_rec["joints"].detach().cpu().numpy().reshape(1, n, 127*3)[0, :n, :55*3]
304
- # joints_tar = vertices_tar["joints"].detach().cpu().numpy().reshape(1, n, 127*3)[0, :n, :55*3]
305
- _ = self.l1_calculator.run(joints_rec)
306
- if self.alignmenter is not None:
307
- in_audio_eval, sr = librosa.load(self.args.data_path+"wave16k/"+test_seq_list.iloc[its]['id']+".wav")
308
- in_audio_eval = librosa.resample(in_audio_eval, orig_sr=sr, target_sr=self.args.audio_sr)
309
- a_offset = int(self.align_mask * (self.args.audio_sr / self.args.pose_fps))
310
- onset_bt = self.alignmenter.load_audio(in_audio_eval[:int(self.args.audio_sr / self.args.pose_fps*n)], a_offset, len(in_audio_eval)-a_offset, True)
311
- beat_vel = self.alignmenter.load_pose(joints_rec, self.align_mask, n-self.align_mask, 30, True)
312
- # print(beat_vel)
313
- align += (self.alignmenter.calculate_align(onset_bt, beat_vel, 30) * (n-2*self.align_mask))
314
-
315
- tar_pose_axis_np = tar_pose.detach().cpu().numpy()
316
- rec_pose_axis_np = rec_pose.detach().cpu().numpy()
317
- rec_trans_np = rec_trans.detach().cpu().numpy().reshape(bs*n, 3)
318
- rec_exp_np = tar_exps.detach().cpu().numpy().reshape(bs*n, 100) - tar_exps.detach().cpu().numpy().reshape(bs*n, 100)
319
- tar_exp_np = tar_exps.detach().cpu().numpy().reshape(bs*n, 100) - tar_exps.detach().cpu().numpy().reshape(bs*n, 100)
320
- tar_trans_np = tar_trans.detach().cpu().numpy().reshape(bs*n, 3)
321
- gt_npz = np.load(self.args.data_path+self.args.pose_rep +"/"+test_seq_list.iloc[its]['id']+".npz", allow_pickle=True)
322
- if not self.args.train_trans:
323
- tar_trans_np = tar_trans_np - tar_trans_np
324
- rec_trans_np = rec_trans_np - rec_trans_np
325
- np.savez(results_save_path+"gt_"+test_seq_list.iloc[its]['id']+'.npz',
326
- betas=gt_npz["betas"],
327
- poses=tar_pose_axis_np,
328
- expressions=tar_exp_np,
329
- trans=tar_trans_np,
330
- model='smplx2020',
331
- gender='neutral',
332
- mocap_frame_rate = 30 ,
333
- )
334
- np.savez(results_save_path+"res_"+test_seq_list.iloc[its]['id']+'.npz',
335
- betas=gt_npz["betas"],
336
- poses=rec_pose_axis_np,
337
- expressions=rec_exp_np,
338
- trans=rec_trans_np,
339
- model='smplx2020',
340
- gender='neutral',
341
- mocap_frame_rate = 30,
342
- )
343
- total_length += n
344
-
345
- latent_out_all = np.concatenate(latent_out, axis=0)
346
- latent_ori_all = np.concatenate(latent_ori, axis=0)
347
- fid = data_tools.FIDCalculator.frechet_distance(latent_out_all, latent_ori_all)
348
- logger.info(f"fid score: {fid}")
349
- self.test_recording("fid", fid, epoch)
350
-
351
- align_avg = align/(total_length-2*len(self.test_loader)*self.align_mask)
352
- logger.info(f"align score: {align_avg}")
353
- self.test_recording("bc", align_avg, epoch)
354
-
355
- l1div = self.l1_calculator.avg()
356
- logger.info(f"l1div score: {l1div}")
357
- self.test_recording("l1div", l1div, epoch)
358
-
359
- # data_tools.result2target_vis(self.args.pose_version, results_save_path, results_save_path, self.test_demo, False)
360
- end_time = time.time() - start_time
361
- logger.info(f"total inference time: {int(end_time)} s for {int(total_length/self.args.pose_fps)} s motion")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/.ipynb_checkpoints/emage_test_hf-checkpoint.yaml DELETED
@@ -1,101 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- root_path: ./
5
- out_path: ./outputs/audio2pose/
6
- project: s2g
7
- data_path: ./EMAGE/test_sequences/
8
- e_path: weights/AESKConv_240_100.bin
9
- eval_model: motion_representation
10
- e_name: VAESKConv
11
- test_ckpt: ./EMAGE/emage_audio_175.bin
12
- data_path_1: ./EMAGE/
13
- vae_test_len: 32
14
- vae_test_dim: 330
15
- vae_test_stride: 20
16
- vae_length: 240
17
- vae_codebook_size: 256
18
- vae_layer: 4
19
- vae_grow: [1,1,2,1]
20
- variational: False
21
-
22
- # data config
23
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
24
- additional_data: False
25
- cache_path: ./datasets/beat_cache/beat_smplx_en_emage_test/
26
- dataset: beat_testonly_hf
27
- new_cache: True
28
-
29
- # motion config
30
- ori_joints: beat_smplx_joints
31
- tar_joints: beat_smplx_full
32
- pose_rep: smplxflame_30
33
- pose_norm: False
34
- pose_fps: 30
35
- rot6d: True
36
- pre_frames: 4
37
- pose_dims: 330
38
- pose_length: 64
39
- stride: 20
40
- test_length: 64
41
- motion_f: 256
42
- m_pre_encoder: null
43
- m_encoder: null
44
- m_fix_pre: False
45
-
46
- # audio config
47
- audio_rep: wave16k
48
- audio_sr: 16000
49
- audio_fps: 16000
50
- audio_norm: False
51
- audio_f: 256
52
- # a_pre_encoder: tcn_camn
53
- # a_encoder: none
54
- # a_fix_pre: False
55
-
56
- # text config
57
- # word_rep: textgrid
58
- # word_index_num: 11195
59
- # word_dims: 300
60
- # freeze_wordembed: False
61
- # word_f: 256
62
- # t_pre_encoder: fasttext
63
- # t_encoder: null
64
- # t_fix_pre: False
65
-
66
- # facial config
67
- facial_rep: smplxflame_30
68
- facial_dims: 100
69
- facial_norm: False
70
- facial_f: 0
71
- f_pre_encoder: null
72
- f_encoder: null
73
- f_fix_pre: False
74
-
75
- # speaker config
76
- id_rep: onehot
77
- speaker_f: 0
78
-
79
- # model config
80
- batch_size: 64
81
- # warmup_epochs: 1
82
- # warmup_lr: 1e-6
83
- lr_base: 5e-4
84
- model: emage_audio
85
- g_name: MAGE_Transformer
86
- trainer: emage
87
- hidden_size: 768
88
- n_layer: 1
89
-
90
- rec_weight: 1
91
- grad_norm: 0.99
92
- epochs: 400
93
- test_period: 20
94
- ll: 3
95
- lf: 3
96
- lu: 3
97
- lh: 3
98
- cl: 1
99
- cf: 0
100
- cu: 1
101
- ch: 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/camn.yaml DELETED
@@ -1,101 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- root_path: ./
5
- out_path: ./outputs/audio2pose/
6
- project: s2g
7
- data_path: ./BEAT2/beat_english_v2.0.0/
8
- e_path: weights/AESKConv_240_100.bin
9
- eval_model: motion_representation
10
- e_name: VAESKConv
11
- test_ckpt: ./EMAGE/camn.bin
12
- data_path_1: ./EMAGE/
13
- vae_test_len: 64
14
- vae_test_dim: 330
15
- vae_test_stride: 20
16
- vae_length: 240
17
- vae_codebook_size: 256
18
- vae_layer: 4
19
- vae_grow: [1,1,2,1]
20
- variational: False
21
-
22
- # data config
23
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
24
- additional_data: False
25
- cache_path: datasets/beat_cache/beat_smplx_en_camn/
26
- dataset: beat_sep
27
- new_cache: False
28
-
29
- # motion config
30
- ori_joints: beat_smplx_joints
31
- tar_joints: beat_smplx_full
32
- pose_rep: smplxflame_30
33
- pose_norm: False
34
- pose_fps: 15
35
- rot6d: True
36
- pre_frames: 4
37
- pose_dims: 330
38
- pose_length: 32
39
- stride: 10
40
- test_length: 32
41
- motion_f: 256
42
- m_pre_encoder: null
43
- m_encoder: null
44
- m_fix_pre: False
45
-
46
- # audio config
47
- audio_rep: wave16k
48
- audio_sr: 16000
49
- audio_fps: 16000
50
- audio_norm: False
51
- audio_f: 128
52
- # a_pre_encoder: tcn_camn
53
- # a_encoder: none
54
- # a_fix_pre: False
55
-
56
- # text config
57
- word_rep: textgrid
58
- word_index_num: 11195
59
- word_dims: 300
60
- freeze_wordembed: False
61
- word_f: 128
62
- t_pre_encoder: fasttext
63
- t_encoder: null
64
- t_fix_pre: False
65
-
66
- # facial config
67
- facial_rep: smplxflame_30
68
- facial_dims: 100
69
- facial_norm: False
70
- facial_f: 64
71
- f_pre_encoder: null
72
- f_encoder: null
73
- f_fix_pre: False
74
-
75
- # speaker config
76
- id_rep: onehot
77
- speaker_f: 16
78
- emo_rep: emo
79
- emotion_f: 8
80
- # sem_rep: sem
81
-
82
-
83
- # model config
84
- batch_size: 128
85
- # warmup_epochs: 1
86
- # warmup_lr: 1e-6
87
- lr_base: 3e-4
88
- model: camn
89
- g_name: CaMN
90
- d_name: ConvDiscriminator
91
- trainer: camn
92
- hidden_size: 512
93
- n_layer: 4
94
- rec_weight: 500
95
- no_adv_epoch: 999
96
- # rec_pos_weight: 1
97
- # rec_ver_weight: 0
98
- # rec_fac_weight: 1
99
- # grad_norm: 1
100
- epochs: 100
101
- test_period: 20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/camn_audio.yaml ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_project: 'EMAGE++'
2
+ exp_name: 'debug'
3
+ debug: False
4
+ wandb_entity: ''
5
+ wandb_key: ""
6
+ # wandb_log_dir: '/content/outputs/wandb'
7
+ output_dir: "../outputs/"
8
+ log_period: 1
9
+ seed: 42
10
+ resume_from_checkpoint: null
11
+ test: False
12
+
13
+
14
+ data:
15
+ name_pyfile: "datasets.beat2"
16
+ class_name: "BEAT2Dataset"
17
+ train_bs: 64
18
+ meta_paths:
19
+ - "./datasets/data_json/beat2_s20_l128_speaker2.json"
20
+ test_meta_paths:
21
+ - "./datasets/data_json/beat2_s20_l128_speaker2.json"
22
+ pose_norm: False
23
+ pose_length: 128
24
+ stride: 20
25
+ test_length: 128
26
+
27
+ model:
28
+ name_pyfile: "models.camn_audio.modeling_camn_audio"
29
+ class_name: "CamnAudioModel"
30
+ pose_fps: 15
31
+ motion_f: 256
32
+ pose_dims: 258
33
+ pose_rep: "smplx"
34
+ body_dims: 78
35
+ hands_dims: 180
36
+ audio_rep: wave16k
37
+ audio_sr: 16000
38
+ audio_fps: 16000
39
+ audio_norm: False
40
+ audio_f: 128
41
+ speaker_f: 16
42
+ speaker_dims: 1
43
+ hidden_size: 512
44
+ n_layer: 4
45
+ dropout_prob: 0.1
46
+ seed_frames: 4
47
+ joint_mask: "local_upper"
48
+
49
+ validation:
50
+ validation_steps: 500
51
+ test_steps: 500
52
+ visualization: False
53
+ evaluation: False
54
+ wandb: False
55
+
56
+ solver:
57
+ gradient_accumulation_steps: 1
58
+ gradient_checkpointing: False
59
+ max_train_steps: 100000
60
+ max_grad_norm: 0.0
61
+ # lr
62
+ learning_rate: 3e-4
63
+ scale_lr: False
64
+ lr_warmup_steps: 0
65
+ lr_scheduler: 'constant'
66
+ # optimizer
67
+ use_8bit_adam: False
68
+ adam_beta1: 0.9
69
+ adam_beta2: 0.999
70
+ adam_weight_decay: 0.0
71
+ adam_epsilon: 1.0e-8
configs/cnn_vqvae_face_30.yaml DELETED
@@ -1,82 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
5
- root_path: ./
6
- out_path: ./outputs/audio2pose/
7
- cache_path: datasets/beat_cache/beat_smplx_en_face/
8
- project: mage_smplx
9
- data_path: ./BEAT2/beat_english_v2.0.0/
10
- e_path: weights/AESKConv_240_100.bin
11
- test_ckpt: weights/multi.bin
12
- data_path_1: ./EMAGE/
13
- #torch_hub_path: datasets/hub/
14
- additional_data: False
15
- dataset: beat_sep
16
- new_cache: False
17
- ori_joints: beat_smplx_joints
18
- tar_joints: beat_smplx_face
19
- pose_rep: smplxflame_30
20
- facial_rep: smplxflame_30
21
- pose_norm: False
22
- pose_fps: 30
23
-
24
-
25
- vae_test_len: 64
26
- vae_test_dim: 106
27
- vae_test_stride: 20
28
- vae_length: 256
29
- vae_codebook_size: 256
30
- vae_layer: 2
31
- vae_grow: [1,1,2,1]
32
- variational: False
33
-
34
- pose_dims: 106
35
- pose_length: 64
36
- stride: 20
37
- facial_dims: 100
38
- word_index_num: 11195
39
- word_dims: 300
40
- batch_size: 64
41
- lr_base: 3e-4
42
- model: motion_representation
43
- g_name: VQVAEConvZero
44
- #eval_model: motion_autoencoder
45
- #e_name: HalfEmbeddingNet
46
- trainer: aeface
47
- decay_epochs: 780
48
- # audio_f: 256
49
- # a_pre_encoder: tcn_camn
50
- # a_encoder: lp
51
- # a_fix_pre: False
52
-
53
- # freeze_wordembed: False
54
- # word_f: 128
55
- # t_pre_encoder: fasttext
56
- # t_encoder: lp
57
- # t_fix_pre: False
58
-
59
- # motion_f: 256
60
- # m_pre_encoder: lp
61
- # m_encoder: lp
62
- # m_fix_pre: False
63
-
64
- # facial_f: 128
65
- # f_pre_encoder: lp
66
- # f_encoder: lp
67
- # f_fix_pre: False
68
-
69
- #m_decoder: lstm
70
- #decode_fusion: cat
71
- #n_layer: 2
72
- #hidden_size: 512
73
- rec_weight: 1
74
- rec_pos_weight: 1
75
- rec_ver_weight: 1
76
- # rec_fac_weight: 1
77
- #ita_weight: 0
78
- #iwa_weight: 0
79
- #fusion_mode: sum
80
- # grad_norm: 1
81
- epochs: 800
82
- test_period: 100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/cnn_vqvae_hands_30.yaml DELETED
@@ -1,81 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
5
- root_path: ./
6
- out_path: ./outputs/audio2pose/
7
- cache_path: datasets/beat_cache/beat_smplx_en_hands/
8
- project: mage_smplx
9
- data_path: ./BEAT2/beat_english_v2.0.0/
10
- e_path: weights/AESKConv_240_100.bin
11
- test_ckpt: weights/multi.bin
12
- data_path_1: ./EMAGE/
13
- #torch_hub_path: datasets/hub/
14
- additional_data: False
15
- dataset: beat_sep
16
- new_cache: False
17
- ori_joints: beat_smplx_joints
18
- tar_joints: beat_smplx_hands
19
- pose_rep: smplxflame_30
20
- pose_norm: False
21
- pose_fps: 30
22
-
23
-
24
- vae_test_len: 64
25
- vae_test_dim: 180
26
- vae_test_stride: 20
27
- vae_length: 256
28
- vae_codebook_size: 256
29
- vae_layer: 2
30
- vae_grow: [1,1,2,1]
31
- variational: False
32
-
33
- pose_dims: 180
34
- pose_length: 64
35
- stride: 20
36
- facial_dims: 100
37
- word_index_num: 11195
38
- word_dims: 300
39
- batch_size: 64
40
- lr_base: 3e-4
41
- model: motion_representation
42
- g_name: VQVAEConvZero
43
- #eval_model: motion_autoencoder
44
- #e_name: HalfEmbeddingNet
45
- trainer: ae
46
- decay_epochs: 780
47
- # audio_f: 256
48
- # a_pre_encoder: tcn_camn
49
- # a_encoder: lp
50
- # a_fix_pre: False
51
-
52
- # freeze_wordembed: False
53
- # word_f: 128
54
- # t_pre_encoder: fasttext
55
- # t_encoder: lp
56
- # t_fix_pre: False
57
-
58
- # motion_f: 256
59
- # m_pre_encoder: lp
60
- # m_encoder: lp
61
- # m_fix_pre: False
62
-
63
- # facial_f: 128
64
- # f_pre_encoder: lp
65
- # f_encoder: lp
66
- # f_fix_pre: False
67
-
68
- #m_decoder: lstm
69
- #decode_fusion: cat
70
- #n_layer: 2
71
- #hidden_size: 512
72
- rec_weight: 1
73
- rec_pos_weight: 1
74
- rec_ver_weight: 1
75
- # rec_fac_weight: 1
76
- #ita_weight: 0
77
- #iwa_weight: 0
78
- #fusion_mode: sum
79
- # grad_norm: 1
80
- epochs: 800
81
- test_period: 100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/cnn_vqvae_lower_30.yaml DELETED
@@ -1,81 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
5
- root_path: ./
6
- out_path: ./outputs/audio2pose/
7
- cache_path: datasets/beat_cache/beat_smplx_en_lower/
8
- project: mage_smplx
9
- data_path: ./BEAT2/beat_english_v2.0.0/
10
- e_path: weights/AESKConv_240_100.bin
11
- test_ckpt: weights/multi.bin
12
- data_path_1: ./EMAGE/
13
- #torch_hub_path: datasets/hub/
14
- additional_data: False
15
- dataset: beat_sep_lower
16
- new_cache: False
17
- ori_joints: beat_smplx_joints
18
- tar_joints: beat_smplx_lower
19
- pose_rep: smplxflame_30
20
- pose_norm: False
21
- pose_fps: 30
22
-
23
-
24
- vae_test_len: 64
25
- vae_test_dim: 61
26
- vae_test_stride: 20
27
- vae_length: 256
28
- vae_codebook_size: 256
29
- vae_layer: 4
30
- vae_grow: [1,1,2,1]
31
- variational: False
32
-
33
- pose_dims: 61
34
- pose_length: 64
35
- stride: 20
36
- facial_dims: 100
37
- word_index_num: 11195
38
- word_dims: 300
39
- batch_size: 64
40
- lr_base: 3e-4
41
- model: motion_representation
42
- g_name: VAEConvZero
43
- #eval_model: motion_autoencoder
44
- #e_name: HalfEmbeddingNet
45
- trainer: aelower
46
- decay_epochs: 780
47
- # audio_f: 256
48
- # a_pre_encoder: tcn_camn
49
- # a_encoder: lp
50
- # a_fix_pre: False
51
-
52
- # freeze_wordembed: False
53
- # word_f: 128
54
- # t_pre_encoder: fasttext
55
- # t_encoder: lp
56
- # t_fix_pre: False
57
-
58
- # motion_f: 256
59
- # m_pre_encoder: lp
60
- # m_encoder: lp
61
- # m_fix_pre: False
62
-
63
- # facial_f: 128
64
- # f_pre_encoder: lp
65
- # f_encoder: lp
66
- # f_fix_pre: False
67
-
68
- #m_decoder: lstm
69
- #decode_fusion: cat
70
- #n_layer: 2
71
- #hidden_size: 512
72
- rec_weight: 1
73
- rec_pos_weight: 1
74
- rec_ver_weight: 1
75
- # rec_fac_weight: 1
76
- #ita_weight: 0
77
- #iwa_weight: 0
78
- #fusion_mode: sum
79
- # grad_norm: 1
80
- epochs: 800
81
- test_period: 100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/cnn_vqvae_lower_foot_30.yaml DELETED
@@ -1,81 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- training_speakers: [2]
5
- root_path: ./
6
- out_path: ./outputs/audio2pose/
7
- cache_path: datasets/beat_cache/beat_smplx_en_lower/
8
- project: mage_smplx
9
- data_path: ./BEAT2/beat_english_v2.0.0/
10
- e_path: weights/AESKConv_240_100.bin
11
- test_ckpt: weights/multi.bin
12
- data_path_1: ./EMAGE/
13
- #torch_hub_path: datasets/hub/
14
- additional_data: False
15
- dataset: beat_sep_lower
16
- new_cache: False
17
- ori_joints: beat_smplx_joints
18
- tar_joints: beat_smplx_lower
19
- pose_rep: smplxflame_30
20
- pose_norm: False
21
- pose_fps: 30
22
-
23
-
24
- vae_test_len: 64
25
- vae_test_dim: 61
26
- vae_test_stride: 20
27
- vae_length: 256
28
- vae_codebook_size: 256
29
- vae_layer: 4
30
- vae_grow: [1,1,2,1]
31
- variational: False
32
-
33
- pose_dims: 61
34
- pose_length: 64
35
- stride: 20
36
- facial_dims: 100
37
- word_index_num: 11195
38
- word_dims: 300
39
- batch_size: 64
40
- lr_base: 3e-4
41
- model: motion_representation
42
- g_name: VQVAEConvZero
43
- #eval_model: motion_autoencoder
44
- #e_name: HalfEmbeddingNet
45
- trainer: aelowerfoot
46
- decay_epochs: 780
47
- # audio_f: 256
48
- # a_pre_encoder: tcn_camn
49
- # a_encoder: lp
50
- # a_fix_pre: False
51
-
52
- # freeze_wordembed: False
53
- # word_f: 128
54
- # t_pre_encoder: fasttext
55
- # t_encoder: lp
56
- # t_fix_pre: False
57
-
58
- # motion_f: 256
59
- # m_pre_encoder: lp
60
- # m_encoder: lp
61
- # m_fix_pre: False
62
-
63
- # facial_f: 128
64
- # f_pre_encoder: lp
65
- # f_encoder: lp
66
- # f_fix_pre: False
67
-
68
- #m_decoder: lstm
69
- #decode_fusion: cat
70
- #n_layer: 2
71
- #hidden_size: 512
72
- rec_weight: 1
73
- rec_pos_weight: 1
74
- rec_ver_weight: 1
75
- # rec_fac_weight: 1
76
- #ita_weight: 0
77
- #iwa_weight: 0
78
- #fusion_mode: sum
79
- # grad_norm: 1
80
- epochs: 800
81
- test_period: 100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/cnn_vqvae_upper_30.yaml DELETED
@@ -1,82 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- training_speakers: [2]
5
- root_path: ./
6
- out_path: ./outputs/audio2pose/
7
- cache_path: datasets/beat_cache/beat_smplx_en_upper/
8
- project: mage_smplx
9
- data_path: ./BEAT2/beat_english_v2.0.0/
10
- e_path: weights/AESKConv_240_100.bin
11
- test_ckpt: weights/multi.bin
12
- data_path_1: ./EMAGE/
13
- #torch_hub_path: datasets/hub/
14
- additional_data: False
15
- dataset: beat_sep
16
- new_cache: False
17
- ori_joints: beat_smplx_joints
18
- tar_joints: beat_smplx_upper
19
- pose_rep: smplxflame_30
20
- pose_norm: False
21
- pose_fps: 30
22
-
23
-
24
- vae_test_len: 64
25
- vae_test_dim: 78
26
- vae_test_stride: 20
27
- vae_length: 256
28
- vae_codebook_size: 256
29
- vae_layer: 2
30
- vae_grow: [1,1,2,1]
31
- variational: False
32
-
33
- pose_dims: 78
34
- pose_length: 64
35
- stride: 20
36
- facial_dims: 100
37
- word_index_num: 11195
38
- word_dims: 300
39
- batch_size: 64
40
- lr_base: 3e-4
41
- decay_epochs: 9999
42
- model: motion_representation
43
- g_name: VQVAEConvZero
44
- #eval_model: motion_autoencoder
45
- #e_name: HalfEmbeddingNet
46
- trainer: ae
47
-
48
- # audio_f: 256
49
- # a_pre_encoder: tcn_camn
50
- # a_encoder: lp
51
- # a_fix_pre: False
52
-
53
- # freeze_wordembed: False
54
- # word_f: 128
55
- # t_pre_encoder: fasttext
56
- # t_encoder: lp
57
- # t_fix_pre: False
58
-
59
- # motion_f: 256
60
- # m_pre_encoder: lp
61
- # m_encoder: lp
62
- # m_fix_pre: False
63
-
64
- # facial_f: 128
65
- # f_pre_encoder: lp
66
- # f_encoder: lp
67
- # f_fix_pre: False
68
-
69
- #m_decoder: lstm
70
- #decode_fusion: cat
71
- #n_layer: 2
72
- #hidden_size: 512
73
- rec_weight: 1
74
- rec_pos_weight: 1
75
- rec_ver_weight: 1
76
- # rec_fac_weight: 1
77
- #ita_weight: 0
78
- #iwa_weight: 0
79
- #fusion_mode: sum
80
- # grad_norm: 1
81
- epochs: 500
82
- test_period: 100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/disco_audio.yaml ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_project: 'EMAGE++'
2
+ exp_name: 'debug'
3
+ debug: False
4
+ wandb_entity: ''
5
+ wandb_key: ""
6
+ # wandb_log_dir: '/content/outputs/wandb'
7
+ output_dir: "../outputs/"
8
+ log_period: 1
9
+ seed: 42
10
+ resume_from_checkpoint: null
11
+ test: False
12
+
13
+ data:
14
+ name_pyfile: "datasets.beat2_disco"
15
+ class_name: "BEAT2DatasetDisco"
16
+ train_bs: 64
17
+ meta_paths:
18
+ - "./datasets/data_json/beat2_s20_l128_speaker2_disco.json"
19
+ test_meta_paths:
20
+ - "./datasets/data_json/beat2_s20_l128_speaker2.json"
21
+ pose_norm: False
22
+ pose_length: 128
23
+ stride: 20
24
+ test_length: 128
25
+
26
+ model:
27
+ name_pyfile: "models.disco_audio.modeling_disco_audio"
28
+ class_name: "DiscoAudioModel"
29
+ pose_fps: 15
30
+ motion_f: 256
31
+ pose_dims: 258
32
+ pose_rep: "smplx"
33
+ body_dims: 78
34
+ hands_dims: 180
35
+ audio_rep: wave16k
36
+ audio_sr: 16000
37
+ audio_fps: 16000
38
+ audio_norm: False
39
+ audio_f: 128
40
+ speaker_f: 16
41
+ speaker_dims: 1
42
+ hidden_size: 512
43
+ n_layer: 4
44
+ dropout_prob: 0.1
45
+ seed_frames: 4
46
+ joint_mask: "local_upper"
47
+
48
+ validation:
49
+ validation_steps: 500
50
+ test_steps: 500
51
+ visualization: False
52
+ evaluation: False
53
+ wandb: False
54
+
55
+ solver:
56
+ gradient_accumulation_steps: 1
57
+ gradient_checkpointing: False
58
+ max_train_steps: 14500
59
+ max_grad_norm: 0.0
60
+ # lr
61
+ learning_rate: 3e-4
62
+ scale_lr: False
63
+ lr_warmup_steps: 0
64
+ lr_scheduler: 'constant'
65
+ # optimizer
66
+ use_8bit_adam: False
67
+ adam_beta1: 0.9
68
+ adam_beta2: 0.999
69
+ adam_weight_decay: 0.0
70
+ adam_epsilon: 1.0e-8
configs/emage.yaml DELETED
@@ -1,101 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- root_path: ./
5
- out_path: ./outputs/audio2pose/
6
- project: s2g
7
- data_path: ./BEAT2/beat_english_v2.0.0/
8
- e_path: weights/AESKConv_240_100.bin
9
- eval_model: motion_representation
10
- e_name: VAESKConv
11
- test_ckpt: ./EMAGE/emage_240.bin
12
- data_path_1: ./EMAGE/
13
- vae_test_len: 32
14
- vae_test_dim: 330
15
- vae_test_stride: 20
16
- vae_length: 240
17
- vae_codebook_size: 256
18
- vae_layer: 4
19
- vae_grow: [1,1,2,1]
20
- variational: False
21
-
22
- # data config
23
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
24
- additional_data: False
25
- cache_path: datasets/beat_cache/beat_smplx_en_emage/
26
- dataset: beat_sep_lower
27
- new_cache: False
28
-
29
- # motion config
30
- ori_joints: beat_smplx_joints
31
- tar_joints: beat_smplx_full
32
- pose_rep: smplxflame_30
33
- pose_norm: False
34
- pose_fps: 30
35
- rot6d: True
36
- pre_frames: 4
37
- pose_dims: 330
38
- pose_length: 64
39
- stride: 20
40
- test_length: 64
41
- motion_f: 256
42
- m_pre_encoder: null
43
- m_encoder: null
44
- m_fix_pre: False
45
-
46
- # audio config
47
- audio_rep: onset+amplitude
48
- audio_sr: 16000
49
- audio_fps: 16000
50
- audio_norm: False
51
- audio_f: 256
52
- # a_pre_encoder: tcn_camn
53
- # a_encoder: none
54
- # a_fix_pre: False
55
-
56
- # text config
57
- word_rep: textgrid
58
- word_index_num: 11195
59
- word_dims: 300
60
- freeze_wordembed: False
61
- word_f: 256
62
- t_pre_encoder: fasttext
63
- t_encoder: null
64
- t_fix_pre: False
65
-
66
- # facial config
67
- facial_rep: smplxflame_30
68
- facial_dims: 100
69
- facial_norm: False
70
- facial_f: 0
71
- f_pre_encoder: null
72
- f_encoder: null
73
- f_fix_pre: False
74
-
75
- # speaker config
76
- id_rep: onehot
77
- speaker_f: 0
78
-
79
- # model config
80
- batch_size: 64
81
- # warmup_epochs: 1
82
- # warmup_lr: 1e-6
83
- lr_base: 5e-4
84
- model: emage
85
- g_name: MAGE_Transformer
86
- trainer: emage
87
- hidden_size: 768
88
- n_layer: 1
89
-
90
- rec_weight: 1
91
- grad_norm: 0.99
92
- epochs: 400
93
- test_period: 20
94
- ll: 3
95
- lf: 3
96
- lu: 3
97
- lh: 3
98
- cl: 1
99
- cf: 0
100
- cu: 1
101
- ch: 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/emage_audio.yaml ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_project: 'EMAGE++'
2
+ exp_name: 'debug'
3
+ debug: False
4
+ wandb_entity: ''
5
+ wandb_key: ""
6
+ # wandb_log_dir: '/content/outputs/wandb'
7
+ output_dir: /content/outputs/
8
+ log_period: 1
9
+ seed: 222
10
+ resume_from_checkpoint: null
11
+ test: False
12
+
13
+ data:
14
+ name_pyfile: "datasets.beat2"
15
+ class_name: "BEAT2DatasetEamgeFootContact"
16
+ train_bs: 56
17
+ meta_paths:
18
+ - "/content/drive/MyDrive/my-codes/PantoMatrix/datasets/data_json/beat2_s20_l64_speaker2.json"
19
+ test_meta_paths:
20
+ - "/content/drive/MyDrive/my-codes/PantoMatrix/datasets/data_json/beat2_s20_l64_speaker2.json"
21
+ pose_norm: False
22
+
23
+
24
+ model:
25
+ name_pyfile: "models.emage_audio.modeling_emage_audio"
26
+ class_name: "EmageAudioModel"
27
+ pose_fps: 30
28
+ motion_f: 256
29
+ pose_dims: 330
30
+ pose_rep: "smplx"
31
+ audio_rep: wave16k
32
+ audio_sr: 16000
33
+ audio_fps: 16000
34
+ audio_norm: False
35
+ audio_f: 256
36
+ speaker_f: 768
37
+ speaker_dims: 1
38
+ hidden_size: 768
39
+ seed_frames: 4
40
+ pose_length: 64
41
+ stride: 20
42
+ test_length: 64
43
+ joint_mask: null
44
+ vae_codebook_size: 256
45
+ ll: 3
46
+ lf: 3
47
+ lu: 3
48
+ lh: 3
49
+ cl: 1
50
+ cf: 0
51
+ cu: 1
52
+ ch: 1
53
+
54
+
55
+ validation:
56
+ validation_steps: 500
57
+ test_steps: 1000
58
+ visualization: False
59
+ evaluation: False
60
+ wandb: False
61
+
62
+
63
+ solver:
64
+ gradient_accumulation_steps: 1
65
+ gradient_checkpointing: False
66
+ max_train_steps: 100000
67
+ max_grad_norm: 0.99
68
+ # lr
69
+ learning_rate: 1.5e-4
70
+ scale_lr: False
71
+ lr_warmup_steps: 0
72
+ lr_scheduler: 'constant'
73
+ # optimizer
74
+ use_8bit_adam: False
75
+ adam_beta1: 0.9
76
+ adam_beta2: 0.999
77
+ adam_weight_decay: 0.0
78
+ adam_epsilon: 1.0e-8
configs/emage_test.yaml DELETED
@@ -1,101 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- root_path: ./
5
- out_path: ./outputs/audio2pose/
6
- project: s2g
7
- data_path: ./EMAGE/test_sequences/
8
- e_path: weights/AESKConv_240_100.bin
9
- eval_model: motion_representation
10
- e_name: VAESKConv
11
- test_ckpt: ./EMAGE/emage_240.bin
12
- data_path_1: ./EMAGE/
13
- vae_test_len: 32
14
- vae_test_dim: 330
15
- vae_test_stride: 20
16
- vae_length: 240
17
- vae_codebook_size: 256
18
- vae_layer: 4
19
- vae_grow: [1,1,2,1]
20
- variational: False
21
-
22
- # data config
23
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
24
- additional_data: False
25
- cache_path: ./datasets/beat_cache/beat_smplx_en_emage_test/
26
- dataset: beat_testonly
27
- new_cache: True
28
-
29
- # motion config
30
- ori_joints: beat_smplx_joints
31
- tar_joints: beat_smplx_full
32
- pose_rep: smplxflame_30
33
- pose_norm: False
34
- pose_fps: 30
35
- rot6d: True
36
- pre_frames: 4
37
- pose_dims: 330
38
- pose_length: 64
39
- stride: 20
40
- test_length: 64
41
- motion_f: 256
42
- m_pre_encoder: null
43
- m_encoder: null
44
- m_fix_pre: False
45
-
46
- # audio config
47
- audio_rep: onset+amplitude
48
- audio_sr: 16000
49
- audio_fps: 16000
50
- audio_norm: False
51
- audio_f: 256
52
- # a_pre_encoder: tcn_camn
53
- # a_encoder: none
54
- # a_fix_pre: False
55
-
56
- # text config
57
- word_rep: textgrid
58
- word_index_num: 11195
59
- word_dims: 300
60
- freeze_wordembed: False
61
- word_f: 256
62
- t_pre_encoder: fasttext
63
- t_encoder: null
64
- t_fix_pre: False
65
-
66
- # facial config
67
- facial_rep: smplxflame_30
68
- facial_dims: 100
69
- facial_norm: False
70
- facial_f: 0
71
- f_pre_encoder: null
72
- f_encoder: null
73
- f_fix_pre: False
74
-
75
- # speaker config
76
- id_rep: onehot
77
- speaker_f: 0
78
-
79
- # model config
80
- batch_size: 64
81
- # warmup_epochs: 1
82
- # warmup_lr: 1e-6
83
- lr_base: 5e-4
84
- model: emage
85
- g_name: MAGE_Transformer
86
- trainer: emage
87
- hidden_size: 768
88
- n_layer: 1
89
-
90
- rec_weight: 1
91
- grad_norm: 0.99
92
- epochs: 400
93
- test_period: 20
94
- ll: 3
95
- lf: 3
96
- lu: 3
97
- lh: 3
98
- cl: 1
99
- cf: 0
100
- cu: 1
101
- ch: 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
configs/emage_test_colab.yaml DELETED
@@ -1,101 +0,0 @@
1
- is_train: True
2
- ddp: False
3
- stat: ts
4
- root_path: ./
5
- out_path: ./outputs/audio2pose/
6
- project: s2g
7
- data_path: ./EMAGE/test_sequences/
8
- e_path: weights/AESKConv_240_100.bin
9
- eval_model: motion_representation
10
- e_name: VAESKConv
11
- test_ckpt: ./EMAGE/emage_240.bin
12
- data_path_1: ./EMAGE/
13
- vae_test_len: 32
14
- vae_test_dim: 330
15
- vae_test_stride: 20
16
- vae_length: 240
17
- vae_codebook_size: 256
18
- vae_layer: 4
19
- vae_grow: [1,1,2,1]
20
- variational: False
21
-
22
- # data config
23
- training_speakers: [2] #[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
24
- additional_data: False
25
- cache_path: ./datasets/beat_cache/beat_smplx_en_emage_test/
26
- dataset: beat_testonly_colab
27
- new_cache: True
28
-
29
- # motion config
30
- ori_joints: beat_smplx_joints
31
- tar_joints: beat_smplx_full
32
- pose_rep: smplxflame_30
33
- pose_norm: False
34
- pose_fps: 30
35
- rot6d: True
36
- pre_frames: 4
37
- pose_dims: 330
38
- pose_length: 64
39
- stride: 20
40
- test_length: 64
41
- motion_f: 256
42
- m_pre_encoder: null
43
- m_encoder: null
44
- m_fix_pre: False
45
-
46
- # audio config
47
- audio_rep: onset+amplitude
48
- audio_sr: 16000
49
- audio_fps: 16000
50
- audio_norm: False
51
- audio_f: 256
52
- # a_pre_encoder: tcn_camn
53
- # a_encoder: none
54
- # a_fix_pre: False
55
-
56
- # text config
57
- word_rep: textgrid
58
- word_index_num: 11195
59
- word_dims: 300
60
- freeze_wordembed: False
61
- word_f: 256
62
- t_pre_encoder: fasttext
63
- t_encoder: null
64
- t_fix_pre: False
65
-
66
- # facial config
67
- facial_rep: smplxflame_30
68
- facial_dims: 100
69
- facial_norm: False
70
- facial_f: 0
71
- f_pre_encoder: null
72
- f_encoder: null
73
- f_fix_pre: False
74
-
75
- # speaker config
76
- id_rep: onehot
77
- speaker_f: 0
78
-
79
- # model config
80
- batch_size: 64
81
- # warmup_epochs: 1
82
- # warmup_lr: 1e-6
83
- lr_base: 5e-4
84
- model: emage
85
- g_name: MAGE_Transformer
86
- trainer: emage
87
- hidden_size: 768
88
- n_layer: 1
89
-
90
- rec_weight: 1
91
- grad_norm: 0.99
92
- epochs: 400
93
- test_period: 20
94
- ll: 3
95
- lf: 3
96
- lu: 3
97
- lh: 3
98
- cl: 1
99
- cf: 0
100
- cu: 1
101
- ch: 1