The Kaldi archive format

Kaldi的存档文件(archive)格式很简单。再次明确 token定义为不含空格的非空字符串。archive格式描述如下:

token1 [something]token2 [something]token3 [something] ....

我们可以把这看成零个或多个重复(token;空格;调用Holder的Write函数的结果)。回想 Holder是讲述代码如何读写数据的一个对象。

当写 Kaldi对象时,Holder写的[something]会包括二进制模式的文件头(如果是二进制模式),然后是调用该对象Write函数返回的结果。当写的非Kaldi对象是简单的(像int32, float或vector),Holder类一般会确保文本模式下[something]是以换行符结尾的字符串。这样一来,archive是每行一个条目,很像 script file,比如:

utt_id_1 5 utt_id_2 7 ...

是我们用于存储整数的文本存档格式。

archive 可以合并起来,仍是有效的(假定它们包含同样类型的对象)。这种格式被设计为管道友好的,i.e.你可以把 archive放入管道而读它的程序不用等到管道末尾就可以处理这些数据。为了有效的访问 archive,可以同时写 archive和 script file,script file存放的是地址的偏移。为此,请参阅下一节。

results matching ""

    No results matching ""