# Gold Data Readers¶

Gold object contains a vad, a word alignment and a phone alignmenet

Each alignement can be represented either as an interval tree or a dictionnary, depending on the usage (interval tree is fast for interval retrieval/ overal detection)

class tde.readers.gold_reader.Gold(vad_path=None, wrd_path=None, phn_path=None)[source]

Bases: object

read_gold_dict(gold_path)[source]

Read the gold phoneme file with fields: speaker/file start end annotation

Returns a dict with the file/speaker as a key and the following structure:

gold[‘speaker’] = [{‘start’: list(…)}, {‘end’: list(…), ‘symbol’: list(…)}]

read_gold_intervalTree(gold_path, symbol_type=None)[source]

Read the gold alignment and build an interval tree (O( log(n) )). After that, take each found interval, search for its overlaps (O( log(n) + m), m being the number of results found), and check if we want to keep each interval.

Parameters
• gold (-) –

• symbol_type (-) – if “word”, don’t keep the silences if some are found if “phone”, keep them and raise warning if none are found

Returns

• - gold (a dict {fname: intervaltree} which returns the interval tree) – of the gold phones for each file

• - ix2symbols (a dict that returns the symbols for each index of encoding) – (to compute the ned, we assign numbers to symbols)

Raises
• ValueError

• If the alignement is not well formated

• UserWarning

• If the phone alignement does not contain silences

• AssertionError

• If an interval contains an offset lower than the onset

get_intervals(on, off, gold, transcription)[source]

Given a filename and an interval, retrieve the list of covered intervals, and their transcription. This is done using intervaltree.search, which is supposed to work in O(log(n) + m), n being the number of intervals and m the number of covered intervals.

Parameters
• fname (str, name of the speaker) –

• on (float, onset of the interval) –

• off (float, offset of the interval) –

• gold (dict of intervaltree, contains all gold phones) –

• transcription (dict of tuples, contains the transcription of each interval) –

get_silence_intervals(vad)[source]

Compute interval tree of silences