Audiate

Audiate project reader for .audiate files (same JSON schema as .tscproj).

class camtasia.audiate.project.AudiateProject(file_path)[source]

Bases: object

Loads and exposes data from a TechSmith Audiate .audiate file.

The .audiate format uses the same JSON schema as Camtasia .tscproj files. The transcript lives at tracks[0].parameters.transcription.keyframes.

Parameters:

file_path (str | Path) – Path to the .audiate file or its containing directory.

property transcript: Transcript

Word-level transcript parsed from the first track’s transcription keyframes.

property language: str

Project language code (e.g. ‘en’).

property session_id: str

Camtasia linking UUID (caiCamtasiaSessionId).

property audio_duration: float

Total audio duration in seconds, from the first track’s first media clip.

property source_audio_path: Path

Path to the source audio file (resolved relative to the .audiate file).

Word-level transcript with timestamps, parsed from Audiate keyframes or WhisperX.

class camtasia.audiate.transcript.Word(text, start, end, word_id)[source]

Bases: object

A single transcribed word with timing information.

Variables:
  • text – The word text.

  • start – Start time in seconds.

  • end – End time in seconds, or None if unavailable.

  • word_id – Unique identifier for this word.

text: str
start: float
end: float | None
word_id: str
class camtasia.audiate.transcript.Transcript(words)[source]

Bases: object

Word-level transcript with search and range queries.

Parameters:

words (list[Word]) – List of Word objects comprising the transcript.

property words: list[Word]

All words in the transcript.

property full_text: str

All words joined by spaces.

property duration: float

Time of the last word’s end (or start if end is None).

find_phrase(phrase)[source]

Find the first word matching the start of a phrase.

Parameters:

phrase (str) – Phrase to search for (case-insensitive).

Return type:

Word | None

Returns:

The first Word where the phrase begins, or None.

words_in_range(start_seconds, end_seconds)[source]

Return words whose start time falls within [start, end].

Parameters:
  • start_seconds (float) – Range start in seconds.

  • end_seconds (float) – Range end in seconds.

Return type:

list[Word]

Returns:

List of words in the time range.

classmethod from_audiate_keyframes(keyframes)[source]

Parse Audiate transcription keyframes into a Transcript.

Each keyframe has a time in editRate ticks and a JSON-encoded value containing id and text fields.

Parameters:

keyframes (list[dict]) – Raw keyframe dicts from tracks[0].parameters.transcription.keyframes.

Return type:

Transcript

Returns:

A Transcript instance.

classmethod from_whisperx_result(result)[source]

Parse a WhisperX alignment result into a Transcript.

Expected format:

result['segments'][*]['words'][*] = {
    'word': str, 'start': float, 'end': float
}
Parameters:

result (dict) – WhisperX result dict with segments.

Return type:

Transcript

Returns:

A Transcript instance.