glam/data/entity_annotation/modules/advanced/tei/spoken.yaml
2025-12-05 15:30:23 +01:00

1152 lines
37 KiB
YAML

# =============================================================================
# GLAM-NER: TEI P5 SPOKEN MODULE
# =============================================================================
# Module: modules/advanced/tei/spoken.yaml
# Parent: entity_annotation_rules_v1.7.0_unified.yaml
# Purpose: LinkML schema for TEI P5 Chapter 8 - Transcriptions of Speech
# Source: TEI P5 4.10.2 (September 2025) - spoken module
# =============================================================================
# This module provides LinkML class definitions for transcribing spoken
# language including utterances, pauses, vocal sounds, kinesic events,
# and paralinguistic features. Essential for oral history, sociolinguistics,
# discourse analysis, and heritage institution audio/video collections.
# =============================================================================
id: https://w3id.org/glam/ner/tei/spoken
name: glam-ner-tei-spoken
title: TEI P5 Transcriptions of Speech Module for GLAM-NER
version: "1.0.0"
license: https://creativecommons.org/licenses/by/4.0/
prefixes:
tei: http://www.tei-c.org/ns/1.0/
glam: https://w3id.org/glam/ner/
linkml: https://w3id.org/linkml/
crm: http://www.cidoc-crm.org/cidoc-crm/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
foaf: http://xmlns.com/foaf/0.1/
prov: http://www.w3.org/ns/prov#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: glam
default_range: string
# =============================================================================
# IMPORTS
# =============================================================================
imports:
- linkml:types
# =============================================================================
# ENUMS
# =============================================================================
enums:
# ---------------------------------------------------------------------------
# Transition Type
# ---------------------------------------------------------------------------
TransitionType:
description: |
How an utterance follows the preceding one.
Used on @trans attribute of <u> element.
permissible_values:
smooth:
description: Transition from previous speaker was smooth
pause:
description: Preceded by pause
latching:
description: Latching (no pause, no overlap)
overlap:
description: Overlapping with preceding utterance
# ---------------------------------------------------------------------------
# Paralinguistic Feature Type
# ---------------------------------------------------------------------------
ParalinguisticFeatureType:
description: |
Types of paralinguistic features that can shift during speech.
Used on @feature attribute of <shift> element.
permissible_values:
tempo:
description: Speaking tempo (fast, slow, normal)
loud:
description: Loudness (f=forte, p=piano, ff=fortissimo, pp=pianissimo)
pitch:
description: Pitch level (high, low, normal)
tension:
description: Vocal tension (tense, lax)
rhythm:
description: Speech rhythm (regular, irregular)
voice:
description: Voice quality (breathy, creaky, falsetto, whisper)
# ---------------------------------------------------------------------------
# Loudness Level
# ---------------------------------------------------------------------------
LoudnessLevel:
description: |
Musical notation for loudness levels.
Commonly used values for @new when @feature="loud".
permissible_values:
ppp:
description: Pianississimo (very very soft)
pp:
description: Pianissimo (very soft)
p:
description: Piano (soft)
mp:
description: Mezzo-piano (moderately soft)
normal:
description: Normal speaking level
mf:
description: Mezzo-forte (moderately loud)
f:
description: Forte (loud)
ff:
description: Fortissimo (very loud)
fff:
description: Fortississimo (very very loud)
# ---------------------------------------------------------------------------
# Vocal Sound Type
# ---------------------------------------------------------------------------
VocalSoundType:
description: |
Types of vocalized but not necessarily lexical sounds.
Used on @type attribute of <vocal> element.
permissible_values:
laughter:
description: Laughter
cough:
description: Coughing
sneeze:
description: Sneezing
sigh:
description: Sighing
yawn:
description: Yawning
gasp:
description: Gasping
breath:
description: Audible breathing
groan:
description: Groaning
click:
description: Clicking sound
whistle:
description: Whistling
hum:
description: Humming
sob:
description: Sobbing
throat_clear:
description: Clearing throat
filled_pause:
description: Filled pause (um, uh, er)
backchannel:
description: Non-lexical backchannel (mmhm, uh-huh)
# ---------------------------------------------------------------------------
# Incident Type
# ---------------------------------------------------------------------------
IncidentType:
description: |
Types of non-vocal incidents during speech.
Used on @type attribute of <incident> element.
permissible_values:
noise:
description: Non-human noise (traffic, machinery)
applause:
description: Audience applause
phone:
description: Phone ringing/notification
door:
description: Door opening/closing
footsteps:
description: Footsteps
paper:
description: Paper rustling
typing:
description: Typing sounds
music:
description: Background music
animal:
description: Animal sounds
interruption:
description: External interruption
technical:
description: Technical issue (microphone, recording)
# ---------------------------------------------------------------------------
# Kinesic Type
# ---------------------------------------------------------------------------
KinesicType:
description: |
Types of body language and gestures.
Used on @type attribute of <kinesic> element.
permissible_values:
nod:
description: Nodding
shake:
description: Head shaking
gesture:
description: Hand gesture
shrug:
description: Shoulder shrug
point:
description: Pointing
wave:
description: Waving
frown:
description: Frowning
smile:
description: Smiling
eye_contact:
description: Eye contact/gaze
posture:
description: Posture change
facial:
description: Facial expression
movement:
description: Body movement
# ---------------------------------------------------------------------------
# Pause Duration Category
# ---------------------------------------------------------------------------
PauseDurationCategory:
description: |
Categorical duration of pauses.
Alternative to numeric @dur attribute.
permissible_values:
short:
description: Short pause (< 0.5s)
medium:
description: Medium pause (0.5-2s)
long:
description: Long pause (2-5s)
very_long:
description: Very long pause (> 5s)
# ---------------------------------------------------------------------------
# Recording Type
# ---------------------------------------------------------------------------
RecordingType:
description: |
Types of audio/video recordings.
Used on @type attribute of <recording> element.
permissible_values:
audio:
description: Audio-only recording
video:
description: Video recording with audio
interview:
description: Interview recording
conversation:
description: Conversation recording
monologue:
description: Monologue/speech recording
broadcast:
description: Broadcast recording
field:
description: Field recording
studio:
description: Studio recording
phone:
description: Telephone recording
# ---------------------------------------------------------------------------
# Channel Mode
# ---------------------------------------------------------------------------
ChannelMode:
description: |
Mode of communication channel.
Extends header module's channel types for spoken texts.
permissible_values:
face_to_face:
description: Face-to-face conversation
telephone:
description: Telephone call
radio:
description: Radio broadcast
television:
description: Television broadcast
video_call:
description: Video conference call
podcast:
description: Podcast recording
lecture:
description: Lecture/presentation
# =============================================================================
# SLOTS (Attributes)
# =============================================================================
slots:
# ---------------------------------------------------------------------------
# Global TEI Attributes (shared)
# ---------------------------------------------------------------------------
xml_id:
description: Unique identifier for the element (xml:id)
range: string
slot_uri: tei:id
xml_lang:
description: Language of the element content (xml:lang)
range: string
slot_uri: tei:lang
# ---------------------------------------------------------------------------
# Speaker Identification (@who)
# ---------------------------------------------------------------------------
who:
description: |
Reference to the speaker producing this utterance.
Uses pointer to person/personGrp in the header.
range: uriorcurie
slot_uri: tei:who
# ---------------------------------------------------------------------------
# Temporal Alignment Attributes
# ---------------------------------------------------------------------------
start_ref:
description: |
Reference to starting synchronization point (@start).
Points to an anchor or when element for temporal alignment.
range: uriorcurie
slot_uri: tei:start
end_ref:
description: |
Reference to ending synchronization point (@end).
Points to an anchor or when element for temporal alignment.
range: uriorcurie
slot_uri: tei:end
synch:
description: |
References to synchronized elements (@synch).
Space-separated list of pointers to elements occurring simultaneously.
range: string
slot_uri: tei:synch
# ---------------------------------------------------------------------------
# Transition Attribute
# ---------------------------------------------------------------------------
trans:
description: |
Describes transition from previous utterance (@trans).
Values: smooth, pause, latching, overlap.
range: TransitionType
slot_uri: tei:trans
# ---------------------------------------------------------------------------
# Duration Attributes
# ---------------------------------------------------------------------------
dur:
description: |
Duration of element (@dur).
ISO 8601 duration format (e.g., PT1.5S for 1.5 seconds).
range: string
slot_uri: tei:dur
interval:
description: |
Time interval relative to origin (@interval).
Numeric value representing offset from timeline origin.
range: float
slot_uri: tei:interval
unit:
description: |
Unit of measurement for interval (@unit).
E.g., "s" for seconds, "ms" for milliseconds.
range: string
slot_uri: tei:unit
absolute:
description: |
Absolute timestamp (@absolute).
ISO 8601 dateTime for absolute temporal position.
range: string
slot_uri: tei:absolute
# ---------------------------------------------------------------------------
# Paralinguistic Shift Attributes
# ---------------------------------------------------------------------------
feature:
description: |
Paralinguistic feature being changed (@feature).
Values: tempo, loud, pitch, tension, rhythm, voice.
range: ParalinguisticFeatureType
slot_uri: tei:feature
new_value:
description: |
New state of paralinguistic feature (@new).
Value depends on feature type (e.g., "f" for loud feature).
range: string
slot_uri: tei:new
# ---------------------------------------------------------------------------
# Iterative/Gradual Attributes
# ---------------------------------------------------------------------------
iterated:
description: |
Whether sound/event is repeated (@iterated).
Boolean: true if the phenomenon repeats.
range: boolean
slot_uri: tei:iterated
gradual:
description: |
Whether shift is gradual (@gradual).
Boolean: true if feature changes gradually rather than suddenly.
range: boolean
slot_uri: tei:gradual
# ---------------------------------------------------------------------------
# Addressee Attribute
# ---------------------------------------------------------------------------
to_whom:
description: |
Reference to addressee(s) (@toWhom).
Pointer to person/personGrp being addressed.
range: uriorcurie
slot_uri: tei:toWhom
# =============================================================================
# CLASSES - UTTERANCE AND SPEECH ELEMENTS
# =============================================================================
classes:
# ---------------------------------------------------------------------------
# u (utterance) - Primary Speech Unit
# ---------------------------------------------------------------------------
Utterance:
class_uri: tei:u
description: |
Utterance (u) contains a stretch of speech usually preceded and
followed by silence or by a change of speaker. This is the primary
container for representing spoken contributions in transcription.
Key features:
- @who identifies the speaker (reference to person in header)
- @trans describes transition from previous utterance
- @start/@end provide temporal alignment
- May contain inline markup for pauses, vocals, incidents, etc.
TEI P5 Chapter 8.3.1 (Utterances)
slots:
- xml_id
- xml_lang
- who
- trans
- start_ref
- end_ref
attributes:
utterance_text:
description: The spoken text content
range: string
segments:
description: |
Child segments within the utterance.
Utterances may be subdivided into smaller segments.
range: SpeechSegment
multivalued: true
pauses:
description: Pauses within the utterance
range: Pause
multivalued: true
vocals:
description: Vocal sounds within the utterance
range: Vocal
multivalued: true
incidents:
description: Non-vocal incidents during the utterance
range: Incident
multivalued: true
kinesics:
description: Body language/gestures during the utterance
range: Kinesic
multivalued: true
shifts:
description: Paralinguistic shifts within the utterance
range: Shift
multivalued: true
unclear_spans:
description: Unclear/inaudible passages
range: Unclear
multivalued: true
gap_markers:
description: Gaps in transcription
range: GapSpoken
multivalued: true
exact_mappings:
- crm:E33_Linguistic_Object
- schema:SpeakAction
annotations:
tei_element: u
tei_module: spoken
glam_hypernym: TXT.SPK
# ---------------------------------------------------------------------------
# seg (speech segment)
# ---------------------------------------------------------------------------
SpeechSegment:
class_uri: tei:seg
description: |
Speech segment (seg) represents an arbitrary segmentation of text
below the utterance level. Can be used for intonation units, tone
groups, or other linguistic segments within spoken text.
TEI P5 Chapter 8.4.4 (Blocks, Segments, and Anchors)
slots:
- xml_id
- xml_lang
- start_ref
- end_ref
attributes:
segment_text:
description: The text content of the segment
range: string
segment_type:
description: Type of segment (intonation_unit, tone_group, etc.)
range: string
segment_function:
description: Pragmatic function of the segment
range: string
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: seg
tei_module: linking
glam_hypernym: TXT.SPK
# ---------------------------------------------------------------------------
# pause - Pause in Speech
# ---------------------------------------------------------------------------
Pause:
class_uri: tei:pause
description: |
Pause (pause) marks a pause either between or within utterances.
May specify duration using @dur attribute (ISO 8601 duration) or
categorical duration via type.
TEI P5 Chapter 8.3.4 (Pausing)
slots:
- xml_id
- who
- dur
attributes:
pause_type:
description: Categorical description of pause duration
range: PauseDurationCategory
measured_duration:
description: Measured duration in seconds (if available)
range: float
exact_mappings:
- crm:E52_Time-Span
annotations:
tei_element: pause
tei_module: spoken
glam_hypernym: TMP.DUR
# ---------------------------------------------------------------------------
# vocal - Vocal Sounds
# ---------------------------------------------------------------------------
Vocal:
class_uri: tei:vocal
description: |
Vocal (vocal) marks any vocalized but not necessarily lexical
phenomenon, such as voiced pauses, laughter, coughing, non-lexical
backchannels, and other vocal sounds.
TEI P5 Chapter 8.3.3 (Vocal, Kinesic, Incident)
slots:
- xml_id
- who
- dur
- iterated
attributes:
vocal_type:
description: Type of vocal sound
range: VocalSoundType
vocal_description:
description: Free-text description of the vocal sound
range: string
exact_mappings:
- crm:E7_Activity
annotations:
tei_element: vocal
tei_module: spoken
glam_hypernym: TXT.SPK.VOC
# ---------------------------------------------------------------------------
# incident - Non-vocal Events
# ---------------------------------------------------------------------------
Incident:
class_uri: tei:incident
description: |
Incident (incident) marks any phenomenon or occurrence, not
necessarily vocalized or communicative, such as incidental noises
or other events affecting communication.
TEI P5 Chapter 8.3.3 (Vocal, Kinesic, Incident)
slots:
- xml_id
- who
- dur
attributes:
incident_type:
description: Type of incident
range: IncidentType
incident_description:
description: Free-text description of the incident
range: string
exact_mappings:
- crm:E5_Event
annotations:
tei_element: incident
tei_module: spoken
glam_hypernym: TMP.EVT.INC
# ---------------------------------------------------------------------------
# kinesic - Body Language/Gestures
# ---------------------------------------------------------------------------
Kinesic:
class_uri: tei:kinesic
description: |
Kinesic (kinesic) marks any communicative phenomenon, not
necessarily vocalized, such as gestures, facial expressions,
posture changes, and other body language.
TEI P5 Chapter 8.3.3 (Vocal, Kinesic, Incident)
slots:
- xml_id
- who
- dur
- iterated
attributes:
kinesic_type:
description: Type of body language/gesture
range: KinesicType
kinesic_description:
description: Free-text description of the kinesic event
range: string
exact_mappings:
- crm:E7_Activity
annotations:
tei_element: kinesic
tei_module: spoken
glam_hypernym: TXT.SPK.KIN
# ---------------------------------------------------------------------------
# shift - Paralinguistic Feature Change
# ---------------------------------------------------------------------------
Shift:
class_uri: tei:shift
description: |
Shift (shift) marks the point at which some paralinguistic feature
of a series of utterances by any one speaker changes. This includes
changes in tempo, loudness, pitch, tension, rhythm, or voice quality.
The feature change is understood to apply to all subsequent
utterances by the same speaker until changed by another shift.
TEI P5 Chapter 8.3.5 (Shifts)
slots:
- xml_id
- who
- feature
- new_value
- gradual
attributes:
shift_description:
description: Free-text description of the shift
range: string
exact_mappings:
- crm:E13_Attribute_Assignment
annotations:
tei_element: shift
tei_module: spoken
glam_hypernym: TXT.SPK.PAR
# ---------------------------------------------------------------------------
# writing - Written Text in Spoken Context
# ---------------------------------------------------------------------------
Writing:
class_uri: tei:writing
description: |
Writing (writing) contains a passage of written text revealed to
participants in the course of a spoken text, such as a sign being
read aloud, a written question, or projected slides.
TEI P5 Chapter 8.3.6 (Writing)
slots:
- xml_id
- who
attributes:
writing_text:
description: The written text content
range: string
writing_type:
description: Type of writing (sign, slide, document, etc.)
range: string
writing_source:
description: Source of the written text
range: string
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: writing
tei_module: spoken
glam_hypernym: TXT.WRT
# ---------------------------------------------------------------------------
# unclear - Inaudible/Unclear Speech
# ---------------------------------------------------------------------------
Unclear:
class_uri: tei:unclear
description: |
Unclear (unclear) contains a word, phrase, or passage which cannot
be transcribed with certainty because it is illegible or inaudible
in the source recording.
TEI P5 Chapter 11.3.3.1 (Damage, Illegibility, and Supplied Text)
slots:
- xml_id
- who
attributes:
unclear_text:
description: Best-guess transcription of unclear content
range: string
unclear_reason:
description: Reason for uncertainty (noise, overlap, mumbling)
range: string
certainty:
description: Degree of certainty (high, medium, low)
range: string
agent_resp:
description: Person/agent responsible for transcription
range: uriorcurie
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: unclear
tei_module: core
glam_hypernym: TXT.SPK.UNC
# ---------------------------------------------------------------------------
# gap - Omission in Transcription
# ---------------------------------------------------------------------------
GapSpoken:
class_uri: tei:gap
description: |
Gap (gap) indicates a point where material has been omitted in
a transcription. In spoken texts, this may be due to inaudibility,
equipment failure, or editorial omission.
TEI P5 Chapter 3.5.3 (Additions, Deletions, and Omissions)
slots:
- xml_id
- dur
attributes:
gap_reason:
description: Reason for omission (inaudible, equipment, editorial)
range: string
gap_extent:
description: Estimated extent of omitted material
range: string
gap_agent:
description: Agent responsible for omission
range: uriorcurie
exact_mappings:
- crm:E79_Part_Removal
annotations:
tei_element: gap
tei_module: core
glam_hypernym: TXT.GAP
# =============================================================================
# CLASSES - TEMPORAL ALIGNMENT ELEMENTS
# =============================================================================
# ---------------------------------------------------------------------------
# timeline - Temporal Structure
# ---------------------------------------------------------------------------
Timeline:
class_uri: tei:timeline
description: |
Timeline (timeline) provides a set of ordered points in time which
can be linked to elements of a spoken text to create a temporal
alignment. Essential for synchronizing transcription with audio/video.
TEI P5 Chapter 8.4.5 (Synchronization and Overlap)
slots:
- xml_id
attributes:
origin_ref:
description: Reference to the origin point (@origin)
range: uriorcurie
timeline_unit:
description: Default unit for time intervals
range: string
when_points:
description: Time points in this timeline
range: When
multivalued: true
required: true
exact_mappings:
- crm:E52_Time-Span
annotations:
tei_element: timeline
tei_module: spoken
glam_hypernym: TMP.TLN
# ---------------------------------------------------------------------------
# when - Time Point
# ---------------------------------------------------------------------------
When:
class_uri: tei:when
description: |
When (when) indicates a point in time either relative to other
elements in the same timeline, or absolutely using timestamps.
Used for temporal alignment of utterances and events.
TEI P5 Chapter 8.4.5 (Synchronization and Overlap)
slots:
- xml_id
- synch
- interval
- unit
- absolute
attributes:
since_ref:
description: Reference to preceding when element (@since)
range: uriorcurie
exact_mappings:
- crm:E61_Time_Primitive
- time:Instant
annotations:
tei_element: when
tei_module: spoken
glam_hypernym: TMP.PNT
# =============================================================================
# CLASSES - RECORDING METADATA ELEMENTS
# =============================================================================
# ---------------------------------------------------------------------------
# recordingStmt - Recording Statement
# ---------------------------------------------------------------------------
RecordingStmt:
class_uri: tei:recordingStmt
description: |
Recording statement (recordingStmt) describes a set of recordings
used as the basis for transcription of a spoken text. Container
for one or more recording elements in the header.
TEI P5 Chapter 8.2 (Documenting the Source of Transcribed Speech)
slots:
- xml_id
attributes:
recordings:
description: Recording events documented
range: Recording
multivalued: true
required: true
annotations:
tei_element: recordingStmt
tei_module: spoken
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# recording - Recording Event
# ---------------------------------------------------------------------------
Recording:
class_uri: tei:recording
description: |
Recording (recording) provides details of an audio or video
recording event used as the source of a spoken text, either
directly or from a public broadcast.
TEI P5 Chapter 8.2 (Documenting the Source of Transcribed Speech)
slots:
- xml_id
- dur
attributes:
recording_type:
description: Type of recording (audio, video, etc.)
range: RecordingType
recording_date:
description: Date of recording
range: string
equipment_info:
description: Recording equipment details
range: Equipment
respStmt:
description: Person/org responsible for recording
range: string
broadcast_info:
description: Broadcast source (if from broadcast)
range: Broadcast
exact_mappings:
- crm:E65_Creation
- schema:VideoObject
- schema:AudioObject
annotations:
tei_element: recording
tei_module: spoken
glam_hypernym: THG.REC
# ---------------------------------------------------------------------------
# broadcast - Broadcast Source
# ---------------------------------------------------------------------------
Broadcast:
class_uri: tei:broadcast
description: |
Broadcast (broadcast) describes a broadcast used as the source
of a spoken text. Includes information about the broadcasting
organization, channel, date, and program.
TEI P5 Chapter 8.2 (Documenting the Source of Transcribed Speech)
slots:
- xml_id
attributes:
broadcast_bibl:
description: Bibliographic reference to broadcast
range: string
broadcaster:
description: Broadcasting organization
range: string
channel_name:
description: Broadcast channel name
range: string
broadcast_date:
description: Date and time of broadcast
range: string
program_title:
description: Title of broadcast program
range: string
exact_mappings:
- schema:BroadcastEvent
annotations:
tei_element: broadcast
tei_module: spoken
glam_hypernym: TMP.EVT.BRC
# ---------------------------------------------------------------------------
# equipment - Recording Equipment
# ---------------------------------------------------------------------------
Equipment:
class_uri: tei:equipment
description: |
Equipment (equipment) provides technical details of the equipment
and calculation conditions relevant to the creation of a spoken
text transcription.
TEI P5 Chapter 8.2 (Documenting the Source of Transcribed Speech)
slots:
- xml_id
attributes:
equipment_desc:
description: Description of recording equipment
range: string
microphone_type:
description: Type of microphone used
range: string
recorder_model:
description: Recording device model
range: string
format_info:
description: Audio/video format information
range: string
sample_rate:
description: Audio sample rate (e.g., 44100 Hz)
range: string
annotations:
tei_element: equipment
tei_module: spoken
glam_hypernym: THG.EQP
# ---------------------------------------------------------------------------
# scriptStmt - Script Statement
# ---------------------------------------------------------------------------
ScriptStmt:
class_uri: tei:scriptStmt
description: |
Script statement (scriptStmt) contains a citation giving details
of the script used for a spoken text. Applies when the spoken
text follows a prepared script.
TEI P5 Chapter 8.2 (Documenting the Source of Transcribed Speech)
slots:
- xml_id
attributes:
script_bibl:
description: Bibliographic reference to script
range: string
annotations:
tei_element: scriptStmt
tei_module: spoken
glam_hypernym: WRK
# ---------------------------------------------------------------------------
# transcriptionDesc - Transcription Description
# ---------------------------------------------------------------------------
TranscriptionDesc:
class_uri: tei:transcriptionDesc
description: |
Transcription description (transcriptionDesc) describes the set
of transcription conventions used, particularly useful for
documenting phonetic transcription systems or specialized notation.
TEI P5 Chapter 8.2 (Documenting the Source of Transcribed Speech)
slots:
- xml_id
attributes:
ident:
description: Identifier for transcription system
range: string
transcription_version:
description: Version of transcription system
range: string
transcription_url:
description: URL describing transcription conventions
range: uriorcurie
transcription_desc:
description: Description of transcription conventions
range: string
annotations:
tei_element: transcriptionDesc
tei_module: spoken
glam_hypernym: DOC.MET
# =============================================================================
# GLAM-NER HYPERNYM MAPPINGS SUMMARY
# =============================================================================
#
# This module covers spoken text transcription from TEI Chapter 8.
# Primary GLAM-NER hypernym mappings:
#
# TXT.SPK (Spoken Text):
# - Utterance (u) - Main speech unit
# - SpeechSegment (seg) - Subdivisions
# - Unclear - Unclear/inaudible speech
#
# TXT.SPK.VOC (Vocal Sounds):
# - Vocal - Non-lexical vocalizations
#
# TXT.SPK.KIN (Kinesics):
# - Kinesic - Body language, gestures
#
# TXT.SPK.PAR (Paralinguistic Features):
# - Shift - Changes in tempo, loudness, pitch, etc.
#
# TXT.WRT (Written Text):
# - Writing - Written text in spoken context
#
# TMP.DUR (Duration):
# - Pause - Pauses in speech
#
# TMP.EVT (Events):
# - Incident - Non-vocal events
# - Broadcast - Broadcast events
#
# TMP.TLN (Timeline):
# - Timeline - Temporal alignment structure
#
# TMP.PNT (Time Point):
# - When - Synchronization point
#
# THG.REC (Recording):
# - Recording - Audio/video recording
#
# THG.EQP (Equipment):
# - Equipment - Recording equipment
#
# DOC.MET (Document Metadata):
# - RecordingStmt, TranscriptionDesc
#
# WRK (Work):
# - ScriptStmt - Script reference
#
# =============================================================================
# ONTOLOGY MAPPINGS
# =============================================================================
#
# CIDOC-CRM:
# - Utterance → crm:E33_Linguistic_Object
# - Vocal, Kinesic → crm:E7_Activity
# - Incident → crm:E5_Event
# - Pause, Timeline → crm:E52_Time-Span
# - When → crm:E61_Time_Primitive
# - Shift → crm:E13_Attribute_Assignment
# - Recording → crm:E65_Creation
# - GapSpoken → crm:E79_Part_Removal
#
# Schema.org:
# - Utterance → schema:SpeakAction
# - Recording → schema:VideoObject/AudioObject
# - Broadcast → schema:BroadcastEvent
#
# W3C Time Ontology:
# - When → time:Instant
#
# PROV-O (Provenance):
# - Recording → prov:Activity
#
# =============================================================================
# USAGE NOTES
# =============================================================================
#
# Spoken text transcription is used for:
# 1. Oral history archives (heritage institutions)
# 2. Sociolinguistic research
# 3. Discourse analysis
# 4. Documentary filmmaking transcription
# 5. Legal proceedings transcription
# 6. Podcast/broadcast archiving
# 7. Sign language documentation (kinesic)
#
# Key patterns:
# - <u who="#speaker1"> wraps speech from identified speakers
# - <pause/> marks pauses with optional duration
# - <vocal type="laughter"/> marks non-lexical sounds
# - <incident type="noise"/> marks external events
# - <kinesic type="nod"/> marks body language
# - <shift feature="loud" new="f"/> marks paralinguistic changes
# - <timeline>/<when> provides temporal alignment with audio/video
# - <recording>/<recordingStmt> documents source recordings
#
# Integration with NER:
# - Speaker names in @who → AGT.PER (via header's listPerson)
# - Place names in utterances → GEO
# - Date references → TMP.DAT
# - Organization names → GRP.ORG
# - Broadcast information → TMP.EVT.BRC
#
# Heritage Institution Applications:
# - Oral history collections transcription
# - Museum audio guide scripts
# - Archive interview transcriptions
# - Documentary film annotation
# - Radio/TV broadcast archives
#
# =============================================================================
# VERSION HISTORY
# =============================================================================
#
# Version 1.0.0 (2025-12-03):
# - Initial release covering TEI P5 Chapter 8 (Transcriptions of Speech)
# - 18 class definitions for spoken text elements
# - 10 enum definitions for classification
# - Ontology mappings to CIDOC-CRM, Schema.org, W3C Time
# - GLAM-NER hypernym annotations for all relevant elements
# - Temporal alignment support (timeline, when)
# - Recording metadata support (recordingStmt, recording, equipment)
# - Paralinguistic feature tracking (shift)
#
# =============================================================================