该文章会详细介绍TIMIT数据集的文件组成、内部文件格式以及如何使用TIMIT数据集。同时还会介绍TIMIT是如何组织数据以及划分训练集与测试集的,可以为今后自己构建数据集提供一种思路。
关键词:TIMIT数据集、语音识别、音素、人工音频标签;
/语料库/用处/方言地区/性别+说话者ID/句子ID.文件类型
详细介绍请看下文。
一级目录 | 二级目录 | 三级目录 |
---|---|---|
/TIMIT | /DOC | @包含文档 |
/TEST | /DR1~/DR8 | |
/TRAIN | /DR1~/DR8 | |
README.DOC |
@包含文档
prompts.txt(10/31/88):包含所有句子的文本内容+句子种类编号。eg.【She had your dark suit in greasy wash water all year. (sa1)】
spkrinfo.txt(10/15/90):包含所有说话者的信息。
spkrsent.txt(10/15/90):包含每个说话人说的句子号。
timitdic.txt(10/12/90):TIMIT句子中每个单词的音素标识符。
phonecode.doc(10/12/90):说明音素标识规则。
timitdic.doc(10/11/90):说明音素规则。
testset.doc(10/11/90):测试集&划分规则。
TIMIT语料库是为声学语音知识的获取(模型训练)以及自动语音识别系统(ASR)的评估(模型测试)而构建的,是由国防部赞助,在研究计划署(DARPA-ISTO)、麻省理工学院(MIT)、斯坦福研究院(SRI)、德州仪器(TI)共同努力下完成。
TIMIT= TI+MIT,德州仪器+麻省理工大学? //猜测
包含:6300个句子。
由来自美国8个主要方言地区的630位说话者讲10个句子构成。
说话人分布如下:
Region(dr) | Male | Female | Total |
---|---|---|---|
1 | 31 (63%) | 18 (27%) | 49 (8%) |
2 | 71 (70%) | 31 (30%) | 102 (16%) |
3 | 79 (67%) | 23 (23%) | 102 (16%) |
4 | 69 (69%) | 31 (31%) | 100 (16%) |
5 | 62 (63%) | 36 (37%) | 98 (16%) |
6 | 30 (65%) | 16 (35%) | 46 (7%) |
7 | 74 (74%) | 26 (26%) | 100 (16%) |
8 | 22 (67%) | 11 (33%) | 33 (5%) |
Total | 438 (70%) | 192 (30%) | 630 (100%) |
区域代号:
- dr1: New England
- dr2: Northern
- dr3: North Midland
- dr4: South Midland
- dr5: Southern
- dr6: New York City
- dr7: Western
- dr8: Army Brat (moved around)
地图:
位置:TIMIT/DOC/spkrinfo.txt
通过统计可发现,TIMIT数据集的说话人大部分为白人男性。
TIMIT设计了三类句子供说话者读:
句子种类 | 句子个数 | 单句/人 | 总读句子数 | 句子数/人 |
---|---|---|---|---|
SA | 2 | 630 | 1260 | 2 |
SX | 450 | 7 | 3150 | 5 |
SI | 1890 | 1 | 1890 | 3 |
是根据语音的自然属性划分出的最小语音单位。
汉语中对应拼音:eg【我:wo-w、o】两个音素。
英语中对应音标:eg【she:sh、iy】两个音素。
TIMIT在设计之初为了充分考虑发音的多样性,以及向下兼容性,所以推出了含有52个音素、6个闭包以及5个标识符的音素表示。
下面按照音素符号、样例词、以及可能的音素标签来展示。
b bee BCL B iy
d day DCL D ey
g gay GCL G ey
p pea PCL P iy
t tea TCL T iy
k key KCL K iy
dx muddy, dirty m ah DX iy, dcl d er DX iy
q bat bcl b ae Q
jh joke DCL JH ow kcl k
ch choke TCL CH ow kcl k
s sea S iy
sh she SH iy
z zone Z ow n
zh azure ae ZH er
f fin F ih n
th thin TH ih n
v van V ae n
dh then DH e n
m mom M aa M
n noon N uw N
ng sing s ih NG
em bottom b aa tcl t EM
en button b ah q EN
eng washington w aa sh ENG tcl t ax n
nx winner w ih NX axr
l lay L ey
r ray R ey
w way W ey
y yacht Y aa tcl t
hh hay HH ey
hv ahead ax HV eh dcl d
el bottle bcl b aa tcl t EL
iy beet bcl b IY tcl t
ih bit bcl b IH tcl t
eh bet bcl b EH tcl t
ey bait bcl b EY tcl t
ae bat bcl b AE tcl t
aa bott bcl b AA tcl t
aw bout bcl b AW tcl t
ay bite bcl b AY tcl t
ah but bcl b AH tcl t
ao bought bcl b AO tcl t
oy boy bcl b OY
ow boat bcl b OW tcl t
uh book bcl b UH kcl k
uw boot bcl b UW tcl t
ux toot tcl t UX tcl t
er bird bcl b ER dcl d
ax about AX bcl b aw tcl t
ix debit dcl d eh bcl b IX tcl t
axr butter bcl b ah dx AXR
ax-h suspect s AX-H s pcl p eh kcl k tcl t
b b clouse
d d clouse
g g clouse
p p clouse
t t clouse
k k clouse
pau pause
epi epenthetic silence
h# begin/end marker (non-speech events)
1 primary stress marker(重音1)
2 secondary stress marker(重音2)
而实际上研究者发现所使用的音素过于复杂,因而会简化一些,因而在训练时有些研究者整合为48个音素,当评估模型时,李开复在他的成名作(Lee & Hon, 1989)所提出的将61个音素合并为39个音素方法被广为使用。
TIMIT里的波形文件虽然是WAV文件后缀,但其实不是真正的wav文件,所以不能够直接打开。
实际文件格式:NIST SPHERE 16bit PCM文件
采样率:16kHz
比特位数:16bits
通道数:mono单通道
SPHERE介绍:该文件设计的意义是能够在各种设备直接传输语音信号数据,尤其是CD-ROM。文件前有1024Byte的文件头
并且NIST提供了C语音函数来对SPHERE文件进行操作。
现在也可以用Audition软件或者Matlab Audioread函数来进行文件读取。
记录了音频文件的开始样本点,结束样本点以及句子文本。
eg【0 63488 She had your dark suit in greasy wash water all year.】
手工标定的音素标签,定位每一个音素开始边界、语结束边界的样本点。
eg【
0 9640 h#
9640 11240 sh
11240 12783 iy
12783 14078 hv
14078 16157 ae
16157 16880 dcl
…
52378 54500 ao
54500 55461 l
55461 57395 y
57395 59179 iy
59179 60600 axr
60600 63440 h#
】
TIMIT开发者也在免责声明(Disclaimer)里说:“Phonetic transcriptions are inherently extremely subjective;” 但由于该标签是他们投入了大量人力、广泛接受各方建议以及经过MIT使用SPIRE system检查后得出的。所以是高度可信的。但他们同样建议可以针对自己需要开发的项目自己做标签。
以音素的标签为输入,使用自动词标签标注程序进行词标签的标注。实验表明使用程序标注的词边界在4000个相同样本下获得了与人工标签96%的默契度。说明该标签是可用的。
eg【
9640 12783 she
12783 17103 had
17103 18760 your
18760 24104 dark
24104 29179 suit
29179 31880 in
31880 38568 greasy
38568 45119 wash
45624 51033 water
52378 55461 all
55461 60600 year
】
可以看出词的边界是由音素的边界合成的,比如she:[9640-12783] = sh:[9640-11240] + iy: [11240-12783]
边界标定细节可看我这篇文章:TIMIT数据集-语音人工标签-波形频谱可视化展示
1、大约20%~30%为测试集、70%~80%为训练集。
2、不能有说话者既出现在训练集又出现在测试集中。
3、在测试集与训练集中至少存在每个方言区的1男1女。
4、测试集与训练集的交集必须最小,最好没有交集。
5、测试集中必须涵盖所有音素,并且最好在不同语境中出现多次。
根据上述原则,TIMIT划分出了核心测试集(Core Test Set),8个地区,每个地区选择2男1女,每个说话者说5个不同的SX句子,3个IS句子。总共3人x8句x8地区=192句子。
地区 男性 女性
1 DAB0, WBT0 ELC0
2 TAS1, WEW0 PAS0
3 JMP0, LNT0 PKT0
4 LLL0, TLS0 JLM0
5 BPM0, KLT0 NLP0
6 CMJ0, JDH0 MGD0
7 GRT0, NJM0 DHC0
8 JLN0, PAM0 MLD0
由于核心测试集的数据量太少,官方不建议是用该测试集对系统进行性能测试。
进一步地,利用核心测试集构建完全测试集(Complete Test Set)。构建原则是:将所有与核心测试集里的人读过相同SX句子的人纳入完全测试集中,这样可避免同一个句子既出现在测试集中,又出现在训练集中。而因为一个SX句子被7个人读,所以其他6人必须被放入完全测试集中。
最终构建的完全测试集的分布为:
地区 | 男性 | 女性 | 总计 |
---|---|---|---|
1 | 7 | 4 | 11 |
2 | 18 | 8 | 26 |
3 | 23 | 3 | 26 |
4 | 16 | 16 | 32 |
5 | 17 | 11 | 28 |
6 | 8 | 3 | 11 |
7 | 15 | 8 | 23 |
8 | 8 | 3 | 11 |
总计 | 112 | 56 | 168 |
该测试集占全体说话人的27%,有120句不同的SX句子,504个不通的SI句子,共1344个句子。官方推荐使用完全测试集进行性能测试。
语音时长分布:
类别 | 说话人个数 | 句子个数 | 总时长 |
---|---|---|---|
训练集 | 462 | 3696 | 3.14 |
核心测试集 | 24 | 192 | 0.16 |
完全测试集 | 168 | 1344 | 0.81 |
TIMIT数据集至今已有30余年的历史了,已然成为语音识别领域的标准,并运用甚广。
原因是:
1、TIMIT的数据库手动标注详细到音素,说话人来自美国各个地方,并且提供了详细的说话人信息比如人种、学历甚至于身高。
2、数据集相对较小,可以短时间完成实验,同时测试系统性能。
TIMIT官方文档
TIMIT官网
DARPA TIMIT文档
CSDN博客:TIMIT数据库