Skip to content

Transcribe Data

Measures dataclass

Defines the structure of Jiwer measures.

Source code in asrbench\transcribe.py
 5
 6
 7
 8
 9
10
11
12
@dataclass
class Measures:
    """Defines the structure of Jiwer measures."""
    wer: float
    cer: float
    mer: float
    wil: float
    wip: float

TranscribePair

Defines the structure of a data pair for transcription.

Parameters:

Name Type Description Default
audio_path str

path to the audio file.

required
reference str

reference transcription.

required
Source code in asrbench\transcribe.py
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class TranscribePair:
    """Defines the structure of a data pair for transcription.

    Arguments:
        audio_path: path to the audio file.
        reference: reference transcription.
    """
    def __init__(self, audio_path: str, reference: str) -> None:
        self.__audio: str = audio_path
        self.__reference: str = reference

    @property
    def audio(self) -> str:
        return self.__audio

    @property
    def reference(self) -> str:
        return self.__reference

    def __repr__(self) -> str:
        return f"<TranscribePair audio={self.audio} reference={self.reference}>"

TranscribeResult dataclass

Defines the result structure of transcriptions.

Source code in asrbench\transcribe.py
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
@dataclass
class TranscribeResult:
    """Defines the result structure of transcriptions."""
    audio: str
    asr: str
    transcriber_name: str
    params: Dict[str, str]
    reference: str
    hypothesis: str
    measures: Measures
    audio_duration: float
    runtime: float
    rtf: float
    accuracy: float
    dataset: str

    def to_dict(self) -> Dict[str, any]:
        """Transforms the class structure into a Dict."""
        return {
            "audio": self.audio,
            "asr": self.asr,
            "transcriber_name": self.transcriber_name,
            "params": self.params,
            "reference": self.reference,
            "hypothesis": self.hypothesis,
            "wer": self.measures.wer,
            "cer": self.measures.cer,
            "mer": self.measures.mer,
            "wil": self.measures.wil,
            "wip": self.measures.wip,
            "audio_duration": self.audio_duration,
            "runtime": self.runtime,
            "rtf": self.rtf,
            "accuracy": self.accuracy,
            "dataset": self.dataset,
        }

to_dict()

Transforms the class structure into a Dict.

Source code in asrbench\transcribe.py
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
def to_dict(self) -> Dict[str, any]:
    """Transforms the class structure into a Dict."""
    return {
        "audio": self.audio,
        "asr": self.asr,
        "transcriber_name": self.transcriber_name,
        "params": self.params,
        "reference": self.reference,
        "hypothesis": self.hypothesis,
        "wer": self.measures.wer,
        "cer": self.measures.cer,
        "mer": self.measures.mer,
        "wil": self.measures.wil,
        "wip": self.measures.wip,
        "audio_duration": self.audio_duration,
        "runtime": self.runtime,
        "rtf": self.rtf,
        "accuracy": self.accuracy,
        "dataset": self.dataset,
    }