File: map.html

package info (click to toggle)
transcriber 1.5.1.1-11
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 4,484 kB
  • sloc: tcl: 13,141; ansic: 1,895; sh: 1,193; makefile: 96; xml: 66
file content (518 lines) | stat: -rw-r--r-- 11,502 bytes parent folder | download | duplicates (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.12-32smp i686) [Netscape]">
     <title>File's map</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#FF0000" alink="#000088">

<h1>
Transcriber 1.4 file's map</h1>

<h2>
&nbsp;Transcriber-1.4/</h2>

<ul>
<li>
COPYING</li>

<li>
README</li>


<li>
<a href="#convert">convert/*</a>

<ul style="list-style: none;"><li>
Tcl script modules for format conversion</li></ul></li>

<li>
demo/*

<ul style="list-style: none;"><li>
sound and transcription demo files</li></ul></li>

<li>
doc/*

<ul style="list-style: none;"><li>
help files</li></ul></li>

<li>
etc/*

<ul style="list-style: none;"><li>
default configuration file, DTD, localization file</li></ul></li>

<li>
img/*

<ul style="list-style: none;"><li>
bitmap images</li></ul></li>

<li>
<a href="#src">src/*</a>

<ul style="list-style: none;"><li>
sources for new Tcl commands and Tk widgets</li></ul></li>

<li>
<a href="#tcl">tcl/*</a>

<ul style="list-style: none;"><li>
Tcl scripts</li></ul></li>
</ul>
<hr WIDTH="100%">
<h2>

<a NAME="tcl"></a>tcl/*</h2>

<h3>
tcl/About.tcl</h3>
Display online help. Tries to view it in the default browser on Windows and Mac OS, and on Mozilla or Firefox on Linux.
<h3>
tcl/BgShape.tcl</h3>
Compute the shape of a signal. Script launched as a background sub-process
by Transcriber when background&nbsp; shape calculation mode is on.
<h3>
tcl/ComputeShape.tcl</h3>
Stand-alone script for pre-computing a set of signal shapes (see comments
in the code for the command line options)
<h3>
tcl/Debug.tcl</h3>
Very rough debugger window which can be activated when debug menu in general
options is on.
<h3>
tcl/Dialog.tcl</h3>
Some generic functions for management of the user interface, e.g.:
<ul>
<li>
ListFrame, EntryFrame, ListEntryFrame, MenuEntryFrame, MenuFrame, RadioFrame,
ColorFrame: create a frame with a variable editor of various kinds</li>

<li>
proc ListEditor: generic list editor used for configuration of Glossary,
Bindings, Localization and Event lists.</li>

<li>
proc ChooseFont: generic font chooser (also works for named fonts)</li>
</ul>

<h3>
tcl/Edit.tcl</h3>
Management of the text editor pane.
<ul>
<li>
CreateTextFrame, EmptyTextFrame, DestroyTextFrame: creation/destruction
of text widget with associated scrollbars and bindings. All commands to
the text widget are filtered by TextFilter</li>

<li>
InitEditor, Create*Button, Insert*Button,&nbsp; ChangeSyncButton, InsertData:
creation of text and buttons in the editor.</li>

<li>
CopyAll, PasteAll, tk_text*, :TextCmd,&nbsp; InsertText: cut/copy/paste
with embedded tags</li>

<li>
TextFilter: all actions to the text widget are trapped :

<ul>
<li>
insertion of chars is only allowed in data segments (i.e. after an index
position with a '*data*' text tag); the transcription is updated accordingly.</li>

<li>
suppression of chars with part of the editor with the 'locked' text tag
(i.e. sync, turns, section buttons) is avoided. When deleting one char
of an event, the whole event is suppressed.</li>

<li>
position of the cursor in the text editor is constrained to be in a data
section with various heuristics, and the signal view is synchronized with
the new position</li>
</ul></li>

<li>
GetDataFromPos: get XML text id associated with the cursor position in
the text editor</li>

<li>
ModifyText: update an XML text field from the content of the text editor</li>

<li>
ViewAroundText: tries to show some context around current text cursor</li>

<li>
TextFirstSync, TextLastSync, TextNext*: move in the transcription</li>

<li>
Find, FindNext, Replace, ReplaceAll: Find &amp; Replace</li>
</ul>

<h3>
tcl/Episode.tcl</h3>
Management of global properties of the transcription edited in "File/Edit
Episode attributes..."
<h3>
tcl/Events.tcl</h3>
Management of:
<ul>
<li>
Overlapping speech</li>

<li>
Background conditions</li>

<li>
Speech and non-speech events</li>
</ul>

<h3>
tcl/Interface.tcl</h3>
Management of the user interface.
<ul>
<li>
BuildGUI: creation of fonts, widgets, bindings, menus</li>

<li>
ConfigureGeneral: "Options/General..."</li>

<li>
EncodingChooser: (only for Tcl/Tk >= 8.1) for output file default encoding</li>

<li>
EditGlossary</li>

<li>
ConfigureBindings: implementation of "Options/Bindings..."</li>

<li>
ConfigureColors: implementation of "Options/Colors..."</li>
</ul>

<h3>
tcl/Main.tcl</h3>
The main script part&nbsp; loads all needed libraries and other script
parts, reads configuration, parses the command line.
<ul>
<li>
Main: the procedure called at startup with all command line arguments.</li>

<li>
Quit: !</li>

<li>
InitDefault, LoadOptions, SaveOptions: initialization of the global array
v(*) with default configuration values and user saved values (found in
~/.transcriber for Unix).</li>

<li>
Local, *Local...: management of localization</li>

<li>
LoadModules: load Snack, tcLex and other tcl modules.</li>

<li>
StartWith: parses command line options and open sound and transcription
file.</li>
</ul>

<h3>
tcl/Menu.tcl</h3>

<ul>
<li>
add_menu, ..., bind_menu: generic menu management</li>

<li>
InitMenus: create menu for Transcriber application</li>

<li>
Update*Menu: enable/disable some menu items.</li>
</ul>

<h3>
tcl/Play.tcl</h3>
Management of various playback modes
<ul>
<li>
PlayRange: launches playback of an excerpt of the currrent sound file</li>

<li>
Cursor*: automatic move of signal cursor</li>

<li>
Play: launches playback in current mode (play selection, with pauses or
beeps...)</li>
</ul>

<h3>
tcl/Segmt.tcl</h3>
Within Transcriber, a "segmentation" designs one layer of the transcription
(i.e., sections, turns, synchros, background conditions) and also the associated
segmentation widget displayed under the signal.
<ul>
<li>
CreateSegmentWidget,&nbsp; ..., DestroySegmentWidgets: management of the
4 segmentation widgets and their associated bindings</li>

<li>
InitSegmt, AddSegmt, ... : management of the segmentation (viewed in an
associated segment widget) and stored in memory as a Tcl list:

<ul style="list-style: none;"><li>{ {start_position&nbsp; end_position description color} ...}</li></ul></li>

<li>
GetSegmentFromPos, ..., SegmentSelect: mouse-driven selection of segments</li>

<li>
SegmentMove: move segment boundaries with the mouse</li>

<li>
SetCurrentSegment: highlight given segment in signal and text view. If
necessary, moves text and signal cursor to some compatible, heuristic-driven
places.</li>

<li>
JoinTransTags, SplitTransTags, JoinData, SplitData: split transcription
at given point and update XML data structure (used as intermediate functions
between user level and segmentation list level)</li>

<li>
InsertSegment, DeleteSegment, ChangeSegType: creation/destruction of breakpoints
and creation of turns/sections at a given breakpoint.</li>
</ul>

<h3>
tcl/Signal.tcl</h3>

<ul>
<li>
EmptySignal: reset current sound file</li>

<li>
Signal: open given sound file and optionally get associated shape</li>

<li>
ShapeDone, ShapeAbort: interaction with background shape calculation sub-process</li>

<li>
LookForShape: tries to find a shape file matching the sound file name</li>

<li>
LookForSignal: tries to find a sound file&nbsp; matching the transcription
name in the known sound paths</li>

<li>
SoundFileType: identifies a sound file header, else returns "RAW"</li>

<li>
OpenAudioFile: menu "File/Open audio file..."</li>

<li>
ConfigureAudioFile: menu "Options/Audio File..."</li>

<li>
OpenSound: creates a local sound Snack object&nbsp; or give access to a
remote sound through sockets (using SoundClient)</li>
</ul>

<h3>
tcl/SoundServer.tcl</h3>
Stand-alone script to be used for providing access to sound files on a
server (to be configured for the application, see the code).
<h3>
tcl/Speaker.tcl</h3>
Speakers and turns management
<ul>
<li>
'speaker' namespace:

<ul>
<li>
speaker::create/get_atts/set_atts/... : management of speaker list</li>

<li>
speaker::find : menu "Edit/Speakers/Find speaker"</li>

<li>
speaker::import : menu "Edit/Speakers/Import from file..."</li>
</ul></li>

<li>
'turn' namespace:

<ul>
<li>
turn::choose/choose_* : menu "Segmentation/Edit turn attributes..."</li>
</ul></li>
</ul>

<h3>
tcl/Spelling.tcl</h3>
Spell checking with ispell if available
<h3>
tcl/Synchro.tcl</h3>
Management of the list of breakpoint times
<h3>
tcl/Topic.tcl</h3>
Topic and sections management, very similar to Speaker.tcl
<h3>
tcl/Trans.tcl</h3>
Management of transcription I/O and display
<ul>
<li>
trs::import/export : default I/O for transcription in the native .trs XML
format</li>

<li>
InitConvertors: read convertor plug-ins found in sibling 'convert' directory</li>

<li>
ReadFile: generic file input using default encoding</li>

<li>
OpenSegmt: display a supplementary segmentation layer under the signal
- not user interface yet provided</li>

<li>
SegmtToTrans: convert a simple, single layer, segmentation (as found in
most label formats) to a transcription data structure.</li>

<li>
ReadTrans; WriteTrans: reads/writes a transcription file</li>

<li>
OpenTransFile/OpenTransOrSoundFile/SaveTrans: user interface for transcription
I/O</li>

<li>
NormalizeTrans: Normalize the transcription by "filling the holes" with
sections or turns and creates empty data sections between non-contiguous
breakpoints</li>

<li>
ConvertData: attempt to find event tags in a .typ transcription file (rough
parsing)</li>

<li>
DisplayTrans: creates the display of the transcription in the editor window</li>

<li>
TextFromSync: construct the character string which will be displayed for
the given segment&nbsp; in the segmentation under the signal</li>
</ul>

<h3>
tcl/Undo.tcl</h3>
Managmenent of:
<ul>
<li>
Undo (not reliable)</li>

<li>
Auto-save and rescue</li>

<li>
Logging of transcribers' activity</li>
</ul>

<h3>
tcl/Waveform.tcl</h3>

<ul>
<li>
Create sound frame</li>

<li>
Synchronize waveform, axis and scrollbars</li>

<li>
Resolution setting and selection zooming</li>

<li>
Cursor and selection handling</li>

<li>
Events bindings for cursor position and&nbsp; selection</li>
</ul>

<h3>
tcl/Xml.tcl</h3>
Gereric-purpose XML library. Loads and initialize XmlItem, XmlDtd ans XmlParse
<h3>
tcl/XmlDtd.tcl</h3>
Management of an XML DTD
<h3>
tcl/XmlItem.tcl</h3>
Management of XML tags and data in Tcl in an object-oriented way
<h3>
tcl/XmlParse.tcl</h3>
Parsing of an XML document in Tcl using the tcLex library.
<hr WIDTH="100%">
<h2>

<a NAME="convert"></a>convert/*</h2>
Directory containing transcription I/O filters (see convert/README for
more infos). Provided filters are:
<ul>
<li>
ESPS/xwaves .lab input</li>

<li>
TIMIT .phn/.wrd/.txt input</li>

<li>
OGI .lola input</li>

<li>
LIMSI .lbl input</li>

<li>
LDC .typ input/output</li>

<li>
NIST .stm output</li>
</ul>
<hr WIDTH="100%">
<h2>

<a NAME="src"></a>src/*</h2>

<h3>
src/axis.c</h3>
C code for 'axis' Tk widget
<h3>
src/segmt.c</h3>
C code for 'segmt' Tk widget
<h3>
src/shape.c</h3>
C code for Snack sound sub-commands:
<ul>
<li>
$snd centi</li>

<li>
$snd shape</li>

<li>
$snd get</li>

<li>
$snd order</li>
</ul>

<h3>
src/trans.c</h3>
Main body of 'trans' package
<h3>
src/trans.in</h3>
Source of Transcriber launching script "trans"
<h3>
src/wavfm.c</h3>
C code for 'wavfm' Tk widget
</body>
</html>