NIST SRE 2012的说话人验证协议

xbob.db.nist_sre12的Python项目详细描述


2012 NIST Speaker Recognition Evaluation(sre12)是从1996年开始的一个正在进行的系列的一部分。

在这个软件包中,我们为NIST SRE 2012实现了说话人识别协议(男性和女性)。 开发集的文件列表是i4u财团在参加比赛期间设计的。 特别感谢rahim saeidi(列表的原始链接:http://cls.ru.nl/~saeidi/file_library/I4U.tgz)。 然后按照PRISM definition规范化文件名。

该软件包由spear.nist_sre12自动下载/使用,以复制sre12的idiap研究所的结果。 spear.nist_sre12本身依赖于由idiap开发的开源说话人识别工具箱spear。 列表文件也可以独立使用,如下所述。

如果您使用此软件包和/或其结果,请引用以下出版物:

  1. 2014年icassp上发表的spear论文:

    @inproceedings{spear,
      author = {Khoury, E. and El Shafey, L. and Marcel, S.},
      title = {Spear: An open source toolbox for speaker recognition based on {B}ob},
      booktitle = {IEEE Intl. Conf. on Acoustics, Speech and Signal Processing (ICASSP)},
      year = {2014},
      url = {http://publications.idiap.ch/downloads/papers/2014/Khoury_ICASSP_2014.pdf},
    }
    
  2. 描述i4u联盟使用的开发集的论文:

    @inproceedings{Saedi_INTERSPEECH_2013,
       author = {Saeidi, Rahim and others},
       month = {aug},
       title = {I4U Submission to NIST SRE 2012: a large-scale collaborative effort for noise-robust speaker verification},
       booktitle = {INTERSPEECH},
       year = {2013},
       location = {Lyon, France},
       pdf = {http://publications.idiap.ch/downloads/papers/2013/Saedi_INTERSPEECH_2013.pdf}
    }
    
  3. bob作为运行实验的核心框架:

    @inproceedings{Anjos_ACMMM_2012,
      author = {A. Anjos and L. El Shafey and R. Wallace and M. G\"unther and C. McCool and S. Marcel},
      title = {Bob: a free signal processing and machine learning toolbox for researchers},
      year = {2012},
      month = {oct},
      booktitle = {20th ACM Conference on Multimedia Systems (ACMMM), Nara, Japan},
      publisher = {ACM Press},
      url = {http://publications.idiap.ch/downloads/papers/2012/Anjos_Bob_ACMMM12.pdf},
    }
    

安装

只需下载此软件包并在本地解压缩即可:

$ wget http://pypi.python.org/packages/source/x/xbob.db.nist_sre12/xbob.db.nist_sre12-1.1.1.zip
$ unzip xbob.db.nist_sre12-1.1.1.zip
$ cd xbob.db.nist_sre12-1.1.1

使用BuildOut启动并为实验准备好工作环境:

$ python bootstrap
$ ./bin/buildout

这还要求安装bob(>;=1.2.0)。

要创建SQL数据库,只需运行以下命令行(这可能需要6-7分钟):

$ bin/bob_dbmanage.py nist_sre12 create

获取数据

您需要订购NIST SRE数据库(Fisher、交换机和混音器):

http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2013S03

请遵循NIST给出的说明和评估计划:

http://www.nist.gov/itl/iad/mig/sre12.cfm

根据发布年份的不同,数据可能需要扁平化和重组。 请按照运行时显示的文件结构操作:

$ bin/bob_dbmanage.py nist_sre12 dumplist

为此,您需要nist提供的数据库实用程序,以及sox。

解压缩数据并分割音频通道

NIST提供的数据以非标准格式压缩。 NIST提供一个名为w_decode的二进制文件来执行解压。 因此,您应该使用以下命令解压缩所有文件(其中nist_folder/bin是包含w_decode实用程序的文件:

$ NIST_FOLDER/bin/w_decode -o pcm $compressedfile $decompressedfile

有几个文件是立体声的,因此包含两个音频通道。 需要使用类似于以下脚本的脚本拆分这些文件:

$ decompressedfileStereo=`basename $decompressedfile .sph`
$ num=`soxi $decompressedfile | grep Channels | cut -c 18`
$ echo $num
$ if [ $num -eq 2 ]
$ then # File is stereo
$   echo sox $decompressedfile -c 1 $outputDir/${decompressedfileStereo}-a.sph mixer -l
$   sox $decompressedfile -c 1 $outputDir/${decompressedfileStereo}-a.sph mixer -l
$   sox $decompressedfile -c 1 $outputDir/${decompressedfileStereo}-b.sph mixer -r
$ else # File is mono
$   echo cp $decompressedfile $outputDir/
$   cp $decompressedfile $outputDir/
$ fi

添加噪音

为了更好地表示sre12评估集,在开发集(目标模型和测试语句)中包含了相同段的2个噪声版本(snr=6db和snr=15db)。 可以使用fant:

http://dnt.kr.hsnr.de/download.html

噪声样本主要来自freesound.org,包括暖通空调和人群噪声。可根据要求提供。每个音频文件中添加的噪音的说明可以在以下位置找到:

$ cd xbob/db/nist_sre12/noise_description/

语音增强

音频信号的去噪可以使用qio:

http://www1.icsi.berkeley.edu/Speech/papers/qio/

独立使用文件列表

开发和评估集的文件列表随此包提供。 它们可以单独使用,可以在此处找到:

$ cd xbob/db/nist_sre12/prism/

开发集的文件列表由i4u联盟编制。

如果您需要帮助,请联系我们。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中运行时在两个枚举类之间切换   java如何让PicoContainer启动/停止/处置工厂注入的组件?   带有Recyclerview onClick的java多活动   java如何从TestNG tests和Selenium接口调用默认方法?   java无法在Eclipse3.5.2中折叠注释   RR和SJF CPU调度算法的Java代码   java从属性文件配置记录器   java Notify传输在字符更改后超过20个字节完成   java阵列究竟是如何工作的   java跨类/包维护全局但可变的变量   java向setMessageListener注册侦听器服务   java按钮单击不在片段中工作   java GSSExException:使用spnego在GSSAPI上未指定故障(机制级别:不支持/启用带有HMAC SHA196的加密类型AES256CTS模式)   用java绘制虚线的图形   java从networkdrive启动windows捆绑包使用不包括JRE?   多线程java线程体系结构与应用程序设计