Kaldi語料的兩種切分/組織方式及其處理


  • text 中每一個文本段由一個音頻索引(indexed by utterance

    使用該方式的egs:librispeechtimitthchs30atc_enatc_cn

    語料的組織形式為:

    一個音頻(包含一個語句)對應一個文本(包含一個文本段)

    一個音頻(包含一個語句)對應一個文本(包含多個文本段)中的一個文本段

  • text 中每一個文本段由一個時間片索引(indexed by segment
    • 使用該方式的egs

      tedlium、atc0_comp_LDC94S14A

      時間片由segments文件指定,通常位於data/train, data/test, data/dev中

    • 處理方式:

      tedlium為例,語料的組織形式為一個音頻sph(包含多個語句)對應一個文本stm(包含多個文本段)

      stm,kaldi使用的一種文本組織形式(文本格式),tedlium的例子:

      AaronHuey_2010X 1 AaronHuey_2010X 223.12 232.68 <o,f0,female> we appropriated land for(2) trails and(2) trains to shortcut through the heart of the lakota nation <sil> the treaties were(2) out the window <sil> in response three tribes led by the lakota chief {SMACK} red cloud <sil> (AaronHuey_2010X-223.12-232.68-F0_F-S27)

      stm文件的格式:

      <file-name> <?> <speaker-name> <segment-begin> <segment-end> <LABEL> <TEXT> <segment>

      文本:db/TEDLIUM_release1/$set/stm/*.stm(其中包含了時間片信息)

      音頻:db/TEDLIUM_release1/$set/sph/*.sph

      tedlium/s5/run.sh調用了local/prepare_data.sh,其中對stm文件進行格式化,包括去除顯式的靜音標注和生成segments文件

      segments文件的格式:

      <utterance-id> <recording-id> <segment-begin> <segment-end>

      其中,segment-begin和segment-end以秒為單位。它們指明了一段發音在一段錄音中的時間偏移量。"recording-id" 和在"wav.scp"中使用的是同一個標識字符串。再次聲明一下,這只是一個任意的標識字符串,你可以隨便指定。

      Kaldi中隱含地對靜音SIL進行處理,不需要顯式標注。但是這並不意味着其他噪聲不需要顯式標注,如:

BRH

Breath

呼吸

CGH

Cough

咳嗽

NSN

Noise

噪聲

SMK

Smack

拍擊聲

UM

UM

UHH

UH

在特征提取、在線訓練、解碼時需要判斷語料是哪種組織方式,即尋找segments

../steps/make_*.sh

../steps/nnet2/dump_bottleneck_features.sh

../steps/<online/>nnet*/align.sh

../steps/<online/>nnet*/decode.sh

../steps/online/nnet2/dump_nnet_activations.sh

../steps/online/nnet2/get_egs.sh

../steps/online/nnet2/get_egs*.sh


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM