TIMIT Corpus

The TIMIT Dataset

The TIMIT corpus of read speech is designed to provide speech data for acoustic-phonetic studies and for the development and evaluation of automatic speech recognition systems. TIMIT contains broadband recordings of 630 speakers of eight major dialects of American English, each reading ten phonetically rich sentences. The TIMIT corpus includes time-aligned orthographic, phonetic and word transcriptions as well as a 16-bit, 16kHz speech waveform file for each utterance. Corpus design was a joint effort among the Massachusetts Institute of Technology (MIT), SRI International (SRI) and Texas Instruments, Inc. (TI). The speech was recorded at TI, transcribed at MIT and verified and prepared for CD-ROM production by the National Institute of Standards and Technology (NIST).

The TIMIT corpus transcriptions have been hand verified. Test and training subsets, balanced for phonetic and dialectal coverage, are specified. Tabular computer-searchable information is included as well as written documentation.

Unfortunately, this is a proprietary dataset. A licensed can be obtained for $125 to $250 depending on your status (academic or otherwise).

Deprecation Warning: The interface of TimitCorpus will change in the near future to match that of pyroomacoustics.datasets.cmu_arctic.CMUArcticCorpus

URL: https://catalog.ldc.upenn.edu/ldc93s1

class pyroomacoustics.datasets.timit.Sentence(path)

Bases: object

Create the sentence object

Parameters:path ((string)) – the path to the particular sample
speaker

Speaker initials

Type:str
id

a digit to disambiguate identical initials

Type:str
sex

Speaker gender (M or F)

Type:str
dialect

Speaker dialect region number:

  1. New England
  2. Northern
  3. North Midland
  4. South Midland
  5. Southern
  6. New York City
  7. Western
  8. Army Brat (moved around)
Type:str
fs

sampling frequency

Type:int
samples

the audio track

Type:array_like (n_samples,)
text

the text of the sentence

Type:str
words

list of Word objects forming the sentence

Type:list
phonems

List of phonems contained in the sentence. Each element is a dictionnary containing a ‘bnd’ with the limits of the phonem and ‘name’ that is the phonem transcription.

Type:list
play()

Play the sound sample

plot(L=512, hop=128, zpb=0, phonems=False, **kwargs)
class pyroomacoustics.datasets.timit.TimitCorpus(basedir)

Bases: object

TimitCorpus class

Parameters:
  • basedir ((string)) – The location of the TIMIT database
  • directories ((list of strings)) – The subdirectories containing the data ([‘TEST’,’TRAIN’])
  • sentence_corpus ((dict)) – A dictionnary that contains a list of Sentence objects for each sub-directory
  • word_corpus ((dict)) – A dictionnary that contains a list of Words objects for each sub-directory and word available in the corpus
build_corpus(sentences=None, dialect_region=None, speakers=None, sex=None)

Build the corpus

The TIMIT database structure is encoded in the directory sturcture:

basedir
TEST/TRAIN
Regional accent index (1 to 8)
Speakers (one directory per speaker)
Sentences (one file per sentence)
Parameters:
  • sentences ((list)) – A list containing the sentences to which we want to restrict the corpus Example: sentences=[‘SA1’,’SA2’]
  • dialect_region ((list of int)) – A list to which we restrict the dialect regions Example: dialect_region=[1, 4, 5]
  • speakers ((list)) – A list of speakers acronym to which we want to restrict the corpus Example: speakers=[‘AKS0’]
  • sex ((string)) – Restrict to a single sex: ‘F’ for female, ‘M’ for male
get_word(d, w, index=0)

return instance index of word w from group (test or train) d

class pyroomacoustics.datasets.timit.Word(word, boundaries, data, fs, phonems=None)

Bases: object

A class used for words of the TIMIT corpus

word

The spelling of the word

Type:str
boundaries

The limits of the word within the sentence

Type:list
samples

A view on the sentence samples containing the word

Type:array_like
fs

The sampling frequency

Type:int
phonems

A list of phones contained in the word

Type:list
features

A feature array (e.g. MFCC coefficients)

Type:array_like
Parameters:
  • word (str) – The spelling of the word
  • boundaries (list) – The limits of the word within the sentence
  • data (array_like) – The nd-array that contains all the samples of the sentence
  • fs (int) – The sampling frequency
  • phonems (list, optional) – A list of phones contained in the word
mfcc(frame_length=1024, hop=512)

compute the mel-frequency cepstrum coefficients of the word samples

play()

Play the sound sample

plot()