python io包_Python kaldiio包_程序模块 - PyPI - Python中文网

卡尔迪奥

687474747470733222222222F636F6465636F762e696f67682F6f67682f6f67682f6f67682f6e7463682f6e7463677366e7473666C66262626262626262626262626262626262726f62622F6层2616467652E737667

用于读取和写入kaldi ark文件的纯python模块

简介

什么是ark和scp?

kaldi io是一个用纯python语言实现的io实用程序,用于kaldi中使用的几种文件格式,它们被命名为ark和scp。ark和scp用于存档kaldi中定义的一些对象,通常是kaldi的矩阵对象。

在本节中,我们将介绍ark和scp的基本概念。关于文件io的详细信息,请参见http://kaldi asr.org/doc/io.html" rel="nofollow">http://kaldi asr.org/doc/io.html

kaldi:ark和copy中文件io的基本功能

ark是保存任何kaldi对象的存档格式。这个库主要支持kaldimatrix/kaldivector。

这是kaldimatrix的ark文件的一个例子:ark文件

如果您有kaldi,您可以将其转换为以下文本格式# copy-feats

copy-feats ark:test.ark ark,t:text.ark

复制功能设计为与unix命令行具有高度相关性:ark可以在unix管道之间来回刷新。cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark

-表示标准输入流或输出流。

unix命令可以用作读取说明符和wsspecifiercopy-feats ark:'gunzip -c some.ark.gz |' ark:some.ark< > >

scp文件

scp是一个文本文件,例如,uttid1 /some/where/feats.ark:123

uttid2 /some/where/feats.ark:156

uttid3 /some/where/feats.ark:245

第一列uttid1表示话语id,第二列/some/where/feats.ark:123是kaldi格式的矩阵/向量的文件路径。冒号后面的数字是文件对象的起始地址。

scp格式看起来非常简单,但有几个强大的功能。ark和scp之间的相互转换

copy-feats scp:foo.scp ark:foo.ark # scp -> ark

copy-feats ark:foo.ark ark,scp:bar.ark,bar.scp # ark -> ark,scp

unix命令可用于直接文件的insead路径< /P>

例如,以下文件相当于第一个scp。uttid1 cat /some/where/feats.ark:123 |

uttid2 cat /some/where/feats.ark:156 |

uttid3 cat /some/where/feats.ark:245 |< > >

wav.scp

wav.scp是描述wave文件路径的scp。uttid1 /some/path/a.wav

uttid2 /some/path/b.wav

uttid3 /some/path/c.wav

wav.scp也可以作为普通scp文件嵌入unix命令。这通常用于转换kaldi配方中的文件格式。uttid1 sph2pipe -f wav /some/path/a.wv1 |

uttid2 sph2pipe -f wav /some/path/b.wv1 |

uttid3 sph2pipe -f wav /some/path/c.wv1 |

功能

Kaldio支持:存档格式的读/写:ark、scp

二进制/文本-浮点/双矩阵:dm,fm

二进制/文本-浮点/双矢量:dv,fv

加载用压缩矩阵:cm,cm~2,cm~3

用于写入的压缩矩阵:支持所有压缩方法:1,2,3,4,5,6,7

二进制/文本表示int vector,通常用于ali文件。

通过管道读/写:例如"ark:cat feats.ark"

阅读wav.scp/wav.ark

不支持以下内容写入现有的SCP文件

NNET2/NNET3 EGS

点阵文件

类似项目

安装pip install kaldiio

用法

kaldio没有区分每个kaldi对象的api,即。

kaldi matrix,kaldi vector,不取决于它是二进制的还是文本的,还是压缩的,

可以由同一个api处理。

readhelper

readhelper支持对scp或ark的顺序访问。如果您需要随机访问,请使用kaldio.load\u scp读取矩阵scp# copy-feats

copy-feats ark:test.ark ark,t:text.ark0

阅读gziped ark# copy-feats

copy-feats ark:test.ark ark,t:text.ark1

读取wav.scp# copy-feats

copy-feats ark:test.ark ark,t:text.ark2

-v2.11.0:删除了wav选项。您可以加载wav.scp而无需任何附加参数。读取wav.scp和段# copy-feats

copy-feats ark:test.ark ark,t:text.ark3

从stdin中读取# copy-feats

copy-feats ark:test.ark ark,t:text.ark4

写入帮助使用scp在方舟中写入矩阵# copy-feats

copy-feats ark:test.ark ark,t:text.ark5

写入压缩矩阵# copy-feats

copy-feats ark:test.ark ark,t:text.ark6

以文本形式编写矩阵# copy-feats

copy-feats ark:test.ark ark,t:text.ark7

用gziped ark书写# copy-feats

copy-feats ark:test.ark ark,t:text.ark8

将矩阵写入stdout# copy-feats

copy-feats ark:test.ark ark,t:text.ark9

更多低级API

writehelper和readhelper是以下api的高级包装器,用于支持kaldi样式的参数。

装载柜cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark0

加载ark可以加载ark的矩阵和矢量,也可以是文本和二进制。

加载SCP

加载scp创建"惰性dict",即

访问元素时,数据会加载到内存中。cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark1

由load\u scp创建的对象是类似于dict的对象,因此它具有dict的方法。cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark2

按顺序加载(从v2.13.0开始)

按顺序加载scpATOR"与加载柜相同。

如果不需要对每个元素进行随机访问

用它来迭代整个数据,

那么这个方法的执行速度可能比加载scp快。

cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark3

加载波形scpcat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark4

v2.11.0:加载wav_scp现在不推荐使用。使用加载scp

装载材料cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark5

加载矩阵可以加载kaldi矩阵、kaldi向量和波

保存方舟cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark6

保存材料cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark7

保存矩阵可以同时保存kaldi矩阵和kaldi向量

像kaldi一样打开

kaldio.open_like_kaldi是一个很有用的工具,如果您熟悉kaldi。此功能可以执行如下操作,cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark8

例如,如果有gziped对齐文件,则可以将其加载为:cat test.ark | copy-feats ark:- ark,t:- | less # Show the contents in the ark9

解析说明符copy-feats ark:'gunzip -c some.ark.gz |' ark:some.ark0

欢迎加入QQ群-->: 979659372

group.png

推荐PyPI第三方库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值