Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
6c4c12c
[src] Bug-fix to conceptual bug in Minimum Bayes Risk/sausage code. …
danpovey Dec 1, 2017
38e6355
[scripts] Support batchnorm after LSTM layers.
danpovey Dec 2, 2017
1a1bc73
model combine by averaging
freewym Dec 9, 2017
f41b0a2
fix
freewym Dec 10, 2017
441c5df
[src] Nnet3 changes: add MemoryNormComponent; move BatchNorm,Normaliz…
danpovey Dec 6, 2017
922fc90
[src] Making MemoryNormComponent behave as BatchNormComponent in Scal…
danpovey Dec 11, 2017
f400999
[src] Bug-fix in MemoryNormComponent
danpovey Dec 11, 2017
5bb3870
[src] Fix bug in MemoryNormComponent
danpovey Dec 11, 2017
7e9cc29
[src] Some reorganizations of MemoryNormComponent code
danpovey Dec 11, 2017
39e6f77
changes according to the review
freewym Dec 11, 2017
88e2914
python-level changes, added more documentations.
freewym Dec 12, 2017
49827d4
fix Makefile
freewym Dec 12, 2017
b296757
[src,scripts] Changing which model stats are accumulated on (will aff…
danpovey Dec 12, 2017
8a839ef
fix
freewym Dec 13, 2017
4e8a53a
docs fixes
freewym Dec 13, 2017
1fa9ae8
fix
freewym Dec 13, 2017
126614b
[src] Changes to how MemoryNormComponent behaves (use more up-to-date…
danpovey Dec 13, 2017
36d8a57
Merge branch 'model_combine' of https://github.com/freewym/kaldi into…
danpovey Dec 13, 2017
81335d0
[src] Simplify NormalizeLayer.
danpovey Dec 14, 2017
aefb72e
[src] Simplify MemoryNormComponent and always store stats during back…
danpovey Dec 15, 2017
443d328
Merge remote-tracking branch 'upstream/master' into memory-norm-with-…
danpovey Dec 15, 2017
8fae6ae
[scripts] Script fix; update batchnorm(/memnorm) stats faster in firs…
danpovey Dec 15, 2017
6148dcc
[src,scripts] Add extra nnet3 diagnostics; add reothonormalize option…
danpovey Dec 15, 2017
0517683
Merge remote-tracking branch 'upstream/master'
danpovey Dec 15, 2017
4988217
Merge remote-tracking branch 'origin/memory-norm-with-combine' into r…
danpovey Dec 15, 2017
f4866af
[scripts] Some changes to lstm.py which I don't want to keep all of, …
danpovey Dec 16, 2017
2fd01ee
[src] Fix bug in LinearComponent whereby use-natural-gradient default…
danpovey Dec 16, 2017
407f239
[src] Some refactoring of lstmb layer: using memnorm.
danpovey Dec 16, 2017
7625098
[scripts] Cosmetic change: add message
danpovey Dec 18, 2017
e652f0e
[src] Fix optimization bug in nnet3, regarding Scale() expressions>
danpovey Dec 18, 2017
ce01f53
Merge remote-tracking branch 'upstream/master' into reorthonormalize-…
danpovey Dec 19, 2017
b6e17dd
[src] Simplify/refactor natural gradient code in nnet3
danpovey Dec 21, 2017
ea7efba
[src] Fix bug in compilation with Scale() expressions.
danpovey Dec 22, 2017
69d0d38
[scripts] Fixing bug in fast-lstm-layer and lstmb-layer whereby c was…
danpovey Dec 22, 2017
823cfe7
[egs] Extend compare_wer_general.sh for tedlium to print num-params
danpovey Dec 23, 2017
6f78114
[scripts] Cosmetic fix to chain training script
danpovey Dec 23, 2017
acda336
[src] Diagonal-natural-gradient
danpovey Dec 23, 2017
6495571
Revert "[scripts] Fixing bug in fast-lstm-layer and lstmb-layer where…
danpovey Dec 23, 2017
f4c5e3d
[scripts] Add bottleneck-dim to xconfig basic layers and output layers.
danpovey Dec 23, 2017
ffdcb1e
Merge remote-tracking branch 'origin/diagonal-natural-gradient' into …
danpovey Dec 23, 2017
421a062
[src] Some bug fixes; change to natural-gradient-online RE last dim
danpovey Dec 27, 2017
e71ddae
[src] Reorganize batch-norm code and add power option.
danpovey Dec 28, 2017
6870287
[src] Fix bug in normalize-component RE target-rms
danpovey Dec 28, 2017
af18175
[scripts] Add batchnorm-power and diagonal-power options to basic_lay…
danpovey Dec 29, 2017
8368ab4
[src,scripts] Remove MemoryNormComponent
danpovey Dec 30, 2017
a556ff4
Merge branch 'master' into reorthonormalize-with-diag
danpovey Dec 30, 2017
f654281
[src,scripts] Removing diagonal extension to natural gradient code (d…
danpovey Dec 30, 2017
49689a6
[scripts] Clarify documentation; remove unused feature.
danpovey Dec 31, 2017
c362b2c
[src] Add more diagnostics for NonlinearComponent
danpovey Jan 1, 2018
b5ad6ec
[src] nnet3 bug fixes RE oderiv-rms stats
danpovey Jan 1, 2018
9f362a0
[src] Finish code for oderiv-rms stats.
danpovey Jan 5, 2018
8e5f520
[src] Work around problem related to ungetc failures on ifstream
danpovey Jan 5, 2018
b76f02a
[scripts] improve messages in chain training.
danpovey Jan 5, 2018
414d33c
[src] Make faster ApplyFloor and ApplyCeiling variants for Matrix and…
galv Dec 31, 2017
47f9cc1
[scripts] Fig bug in validate_data_dir.sh introduced in df7a41978f2. …
danpovey Dec 31, 2017
d884c01
[scripts] Fix lattice_oracle_align.sh bug (Thx: @roman-verbit-ai)
danpovey Dec 31, 2017
3e57faa
[build] Add new search dir for ATLAS (Thx: Sari Sultan)
danpovey Jan 1, 2018
30b623f
[scripts] Fix script issue affecting some xvector training (thanks: d…
danpovey Jan 2, 2018
51abf1c
[egs] Improve comments for fisher_swbd tdnn_lstm_1a (#2122)
GaofengCheng Jan 3, 2018
1a383de
[egs] Add OCR/Handwriting Recognition examples (#1984)
hhadian Jan 4, 2018
8f79b01
[src,scripts] Remove BatchNormComponent 'power' option
danpovey Jan 5, 2018
612e381
Merge remote-tracking branch 'upstream/master'
danpovey Jan 5, 2018
d5660c5
[egs] Add newly tuned mini-librispeech example with factored output l…
danpovey Jan 6, 2018
e764376
Merge remote-tracking branch 'kaldi/reorthonormalize-cleaned' into re…
danpovey Jan 6, 2018
fd1248d
[egs] Improvement to mini-librispeech 1f example
danpovey Jan 6, 2018
3feccea
[doc] Documentation fix (thx: Denis Peskov)
danpovey Jan 8, 2018
6e6e670
[src] Fix to nnet-utils RE orthonormal-constraint
danpovey Jan 9, 2018
73037ba
Merge remote-tracking branch 'origin/reorthonormalize-cleaned' into r…
danpovey Jan 9, 2018
1b9b9e7
[scripts] Add orthonormal-constraint options to layers.
danpovey Jan 12, 2018
7963c45
[src] Bug-fix in nnet3 compilation, RE Scale() expressions
danpovey Jan 13, 2018
4968020
Merge remote-tracking branch 'origin/reorthonormalize-cleaned' into r…
danpovey Jan 13, 2018
cbaf7e6
[scripts] Add factorized layer
danpovey Jan 13, 2018
b4f0585
[src] Small bug-fix affecting info output of LinearComponent
danpovey Jan 14, 2018
096a42b
[scripts] Add options to factorized-layer
danpovey Jan 15, 2018
168a642
[src] Allow to apply orthonormal constraint on affine component
danpovey Jan 15, 2018
e3ea3c8
[scripts] update chain_dir_info.pl to handle no chain l2-regularize
danpovey Jan 15, 2018
d2a1485
[scripts] Remove factorized-layer
danpovey Jan 15, 2018
9913744
[egs] update swbd compare_wer_general.sh to include rt03
danpovey Jan 16, 2018
6935994
[src,egs] Somer nnet3 fixes that shouldn't affect anything; adding so…
danpovey Jan 17, 2018
fd99601
[egs] Fix rt03 numbers to include swbd (thx: Gaofeng)
danpovey Jan 17, 2018
b7691d4
[egs] Add new tuning script (not in its final place)
danpovey Jan 19, 2018
85a2c60
[src] Print informative error if num-ceps >= num-mel-bins in MFCC (#2…
hhadian Jan 20, 2018
35950ea
[egs] add speaker recognition recipe for aishell (#2111)
naxingyu Jan 21, 2018
d6391f8
[scripts,egs] Fix bug in slurm.pl (thx:@kamo-naoyuki), remove outdate…
danpovey Jan 22, 2018
c3dd60f
[egs] Adding some of the more interesting tuning experiments; add xco…
danpovey Jan 22, 2018
96cbdd6
[egs] Update chain results and add new scripts for fisher_swbd (relat…
GaofengCheng Jan 23, 2018
8596bbf
[egs] removing broken link in babel multilang setup (#2177)
jtrmal Jan 23, 2018
476cb3f
[egs] fixes for the IAM example (#2176)
jtrmal Jan 23, 2018
49b1562
[egs] Add slightly fixed example.
danpovey Jan 23, 2018
4bb2c5c
[src] Speed fix to online decoding (thanks: David van Leeuwen)
danpovey Jan 23, 2018
b73bb12
[egs] Make sure scoring opts are passed to score_cer.sh in UW3 (#2181)
hhadian Jan 24, 2018
47de145
[scripts] Fix typos in scripts (#2182)
galv Jan 24, 2018
2e105fc
[scripts] Fix to get_num_frames.sh for large datasets, RE truncation …
GaofengCheng Jan 24, 2018
7cf434c
[scripts] Fix python3 compatibility bug (#2184)
Szu-JuiChen Jan 24, 2018
ed84a51
[scripts] Prevent crash when input_model is None (#2188)
jtrmal Jan 24, 2018
6fed4c7
[src] Remove CuDevice destructor (avoid cuda-memcheck warnings) (#2185)
galv Jan 24, 2018
7ee7893
[src] Fix nnet3 back-compatibility issue (thx: @satmass)
danpovey Jan 24, 2018
f861b00
[src] Speed fix to online decoding (thanks: David van Leeuwen) (#2180)
danpovey Jan 25, 2018
7c8e1a3
[src] Some drafts of the compression code
danpovey Jan 25, 2018
3031e26
[src] Optimization to decoders for speed (#2168)
chenzhehuai Jan 25, 2018
ee518b1
[src] Fixes to compression and matrix-extend code; started work on CU…
danpovey Jan 27, 2018
0269f36
[src] Add cu-compressed-matrix.cc
danpovey Jan 27, 2018
5aa698a
[src] Finish and test CuCompressedMatrix code.
danpovey Jan 28, 2018
5dbfe97
[src] Various bug fixeS
danpovey Jan 28, 2018
0f14373
[src] Work around problem related to ungetc failures on ifstream (#2194)
danpovey Jan 28, 2018
6b62e0a
[src] Small fix to component reading, workaround for ungetc() issue.
danpovey Jan 28, 2018
30e9a90
[src] Small fix to component reading, workaround for ungetc() issue.
danpovey Jan 28, 2018
b9fc151
[src] Some small cosmetic changes
danpovey Jan 29, 2018
46cdd54
[src] Various fixes w.r.t memory compression; cosmetic fixes too.
danpovey Jan 29, 2018
03c828c
Merge remote-tracking branch 'origin/reorthonormalize-cleaned' into r…
danpovey Jan 29, 2018
930414b
Merge remote-tracking branch 'origin/reorthonormalize-cleaned-compres…
danpovey Jan 29, 2018
8638ec9
[src] Change for memory efficiency to chain training; small cosmetic …
danpovey Jan 29, 2018
32b9f7b
[src] Fix to nnet-compute RE compression code.
danpovey Jan 29, 2018
c89812a
[scripts] Add catch-all option 'trainer.add-option'
danpovey Jan 29, 2018
dbcabb8
[scripts] Small fix regarding --trainer.add-option option
danpovey Jan 29, 2018
cf74573
[src] Various bug-fixes relating to recent nnet3/chain changes.
danpovey Jan 30, 2018
fe18a16
[egs] Add new example script
danpovey Jan 30, 2018
e14c4b4
Add phone-set compatibility checks for nnet3 models
hhadian Jan 30, 2018
e4fc87d
[scripts] bugfix for 'steps/cleanup/clean_and_segment_data.sh', (#2196)
KarelVesely84 Jan 30, 2018
7bfafa4
Some changes in the previous commit
hhadian Jan 30, 2018
8aa4e8d
Merge branch 'phones_id' of https://github.com/hhadian/kaldi into reo…
danpovey Jan 31, 2018
1647856
[egs] Small bug-fix in Librispeech recipe (#2190)
akreal Jan 31, 2018
2de3b38
[src] Make arpa2fst robust against ARPA files without <s>. (#2167)
galv Feb 1, 2018
c82560d
[scripts] Fixed small issue get_uniform_subsegments.py (RE rounding) …
mmaciej2 Feb 1, 2018
b4fbe00
[egs] Add assert to check --backstitch-training-interval option (#220…
freewym Feb 3, 2018
9e2d844
[egs,scripts] Fix and simplify speed-perturbation scripts; fix permis…
hhadian Feb 4, 2018
7906590
[doc] remove outdated TODOs. Thx: David Van Leeuwen.
danpovey Feb 6, 2018
027f1d7
[scripts] Add missing import statement in script (#2207)
yzmyyff Feb 7, 2018
8e170e0
[egs] multi_en: Fixed acronym normalization, swbd lexicon preparation…
xiaohui-zhang Feb 7, 2018
f2ab7d4
[src] Fix small bug in Log1p (thanks: Max Lvov)
danpovey Feb 8, 2018
1f1b108
[scripts] make format_lm.sh work when source == target directory (#2…
jtrmal Feb 8, 2018
362a24a
Merge remote-tracking branch 'upstream/master' into reorthonormalize-…
danpovey Feb 8, 2018
c52ee4c
[src] rnnlm-embedding-training bug fix (thanks: @yanglin187) (#2208) …
keli78 Feb 9, 2018
ca73b1f
[scripts] Fix warning from create_data_links.pl (#2212)
jtrmal Feb 10, 2018
b50ec89
[scripts] Some cleanup, removing unnecessary features/changes vs. master
danpovey Feb 11, 2018
611aa61
[scripts,egs] Fix failures in some run_ivector_common.sh script intro…
danpovey Feb 11, 2018
8a38437
[egs,scripts] Recipe for voice activity detection on Switchboard (#2…
vimalmanohar Feb 11, 2018
ca5f128
[doc] Updating contributor list in COPYING to contain the current top…
david-ryan-snyder Feb 12, 2018
6f0b201
[scripts,egs] Add dropout per dim; adding example for TDNNs on Swbd.
danpovey Feb 12, 2018
048aa05
[src] Clean up cu-device.cc
danpovey Feb 12, 2018
301850b
[egs] Add initial TDNN+LSTM number with bottlenecks/factorization
danpovey Feb 13, 2018
5ea9b0d
[egs,scripts] HUB4 English Broadcast News recipe (#2027)
vimalmanohar Feb 13, 2018
6d32a0b
[src] Fix usage message, comment of ali-to-pdf (#2218)
allenx Feb 14, 2018
6a4e5fd
Merge remote-tracking branch 'upstream/master' into reorthonormalize-…
danpovey Feb 16, 2018
bea4838
[egs] Clean up locations of example scripts
danpovey Feb 16, 2018
34a1155
[egs] Remove special queue command
danpovey Feb 16, 2018
f14f1c9
[src,egs] Various cosmetic and minor fixes
danpovey Feb 16, 2018
4cd9217
[src] Some fixes to comments
danpovey Feb 16, 2018
b739f42
[src] Small fix to cu-kernels.cu RE compression kernel
danpovey Feb 17, 2018
c1df2f4
[build] Simplify INSTALL instructions
danpovey Feb 17, 2018
be969d7
[build] Upgrading version of Kaldi to 5.4
danpovey Feb 17, 2018
6016c00
[doc] Add documentation for 5.4 version of Kaldi
danpovey Feb 17, 2018
9b282b5
[scripts] Fix bug in steps/diagnostic/analyze_phone_length_stats.py […
danpovey Feb 18, 2018
09b0176
[build] Update gst-plugin Makefile (#2226)
rjcobain Feb 18, 2018
b61d760
[src] Fix error in how Compress() command is printed for debugging
danpovey Feb 21, 2018
6dd9c3e
[scripts] Fix bug in steps/libs/nnet3/train/frame_level_objf/common.p…
entn-at Feb 21, 2018
e3df6ac
[src] Print curand return codes (#2232)
entn-at Feb 21, 2018
9191f29
[egs] Fix script bug (in error-checking statement) (#2239)
mpuels Feb 23, 2018
e0d8f13
[scripts] Fix typo (#2237)
mpuels Feb 23, 2018
4f27915
[scripts] Fix typo in comment (#2238)
mpuels Feb 23, 2018
f629bf8
[scripts] Bug-fix in analyze_phone_length_stats.py (thanks: @stanleyg…
danpovey Feb 24, 2018
851c5e4
[egs] Fix to swbd chain tdnn_blstm script bug (thanks: sameer khurana)
danpovey Feb 27, 2018
7e902f5
[scripts] Fix for nnet3 model combination on CPU when --use-gpu false…
entn-at Feb 27, 2018
27f6c5e
[src] Fix small bug in cu-math.cc affecting non-GPU LSTM training, th…
danpovey Feb 28, 2018
0ebe5b5
[egs] Simplify Aspire scripts and make it work with LDC release. (#2230)
vimalmanohar Feb 28, 2018
9a4ba5e
[src,scripts,egs] Add form of dropout that shares the mask across fra…
danpovey Mar 1, 2018
8b50076
[scripts] add --max-arcs option to scripts/rnnlm/lmrescore_pruned.sh …
freewym Mar 1, 2018
4e20166
basic directory structure
jtrmal Oct 30, 2017
b949855
basic data setup ready
jtrmal Oct 31, 2017
66c138d
adding scoring script
jtrmal Oct 31, 2017
a557fdd
resolve utf-8 encoding and some other details
jtrmal Nov 6, 2017
a71550e
do fix_data_dir after parametrixation
jtrmal Nov 6, 2017
cc872c6
make 1A language default again
jtrmal Nov 6, 2017
678c0d2
material:add text filter for scoring
jtrmal Nov 21, 2017
a9e4a72
material: fix path.sh
jtrmal Nov 21, 2017
5be4d36
script changes up to triphone training
freewym Nov 6, 2017
cc1f902
tuning of triphone systems
freewym Nov 22, 2017
3a19f0f
added recipe for tagalog
freewym Dec 13, 2017
2ef9a10
added more
freewym Dec 13, 2017
0f2ef80
RNNLM for material
hainan-xv Jan 6, 2018
3da8203
change chain model path
hainan-xv Jan 6, 2018
fbb14a6
minor change
hainan-xv Jan 13, 2018
d3f72df
minor change
hainan-xv Jan 13, 2018
28e815f
reoriganized the scripts structures to allow to specifying language n…
freewym Jan 16, 2018
d098518
create one single rnnlm script for all material languages
freewym Jan 17, 2018
6ed881b
fix stage numbers in the tdnn-lstm recipe
freewym Jan 19, 2018
64ac21e
remove $language subdir in /exp and /data
freewym Jan 20, 2018
b137a69
fix issues related to num of params checks for some scripts
freewym Feb 7, 2018
a8b07e0
added decoding scripts for ANALYSIS1
Jan 25, 2018
c007401
added scripts to compute WER for decoding ANALYSIS1
Jan 31, 2018
133b0ec
removed exit 0
Feb 4, 2018
648df00
remove in exp/ and data/
Feb 7, 2018
4a8d4e4
minor fixes
Feb 9, 2018
73ca8cb
added audio_path to conf
Feb 13, 2018
146162e
added scripts that produce the results for the site visit and cleanup
freewym Feb 9, 2018
fcf5136
added support to decode test dev/eval1
freewym Mar 1, 2018
3fd44ba
Script to package tdnn-lstm decoder models
wintrode Mar 16, 2018
ea927e6
Incorporated cleaning script for decoder so decoder is binary-only
wintrode Mar 16, 2018
4a828b1
Moved script paths in make_mpack
wintrode Mar 16, 2018
4bc1fa4
Added associated decoding script
wintrode Mar 16, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Compiled extensionless executable files in /src/*/
# This stanza must precede wildcard patterns below!
/src/*/*
!/src/lm/test_data/
!/src/*/?*.*
!/src/doc/*
!/src/*/Makefile
Expand Down
56 changes: 49 additions & 7 deletions COPYING
Original file line number Diff line number Diff line change
Expand Up @@ -57,30 +57,72 @@ License v 2.0 are set forth below.

Individual Contributors (in alphabetical order)

Mohit Agarwal
Mohit Agarwal
Tanel Alumae
Gilles Boulianne
Lukas Burget
Dogan Can
Guoguo Chen
Gaofeng Cheng
Cisco Corporation
Ondrej Glembek
Pavel Denisov
Ilya Edrenkin
Ewald Enzinger
Joachim Fainberg
Daniel Galvez
Pegah Ghahremani
Arnab Ghoshal
Ondrej Glembek
Go Vivace Inc.
Allen Guo
Hossein Hadian
Lv Hang
Mirko Hannemann
Hendy Irawan
Navdeep Jaitly
Johns Hopkins University
Shiyin Kang
Kirill Katsnelson
Tom Ko
Danijel Korzinek
Gaurav Kumar
Ke Li
Matthew Maciejewski
Vimal Manohar
Yajie Miao
Microsoft Corporation
Petr Motlicek
Xingyu Na
Vincent Nguyen
Lucas Ondel
Vassil Panayotov
Vijayaditya Peddinti
Phonexia s.r.o.
Ondrej Platek
Daniel Povey
Yanmin Qian
Ariya Rastrow
Saarland University
Petr Schwarz
Georg Stemmer
Omid Sadjadi
Petr Schwarz
Yiwen Shao
Nickolay V. Shmyrev
Jan Silovsky
Phonexia s.r.o.
Yanmin Qian
Lucas Ondel
Eduardo Silva
Peter Smit
David Snyder
Alexander Solovets
Georg Stemmer
Pawel Swietojanski
Jan "Yenda" Trmal
Albert Vernon
Karel Vesely
Yiming Wang
Shinji Watanabe
Minhua Wu
Haihua Xu
Hainan Xu
Xiaohui Zhang

Other Source Material

Expand Down
4 changes: 4 additions & 0 deletions egs/aishell/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,9 @@ Aishell is an open Chinese Mandarin speech database published by Beijing Shell S
The database can be downloaded from openslr:
http://www.openslr.org/33/

This folder contains two subfolders:
s5: a speech recognition recipe
v1: a speaker recognition recipe

For more details, please visit:
http://www.aishelltech.com/kysjcp
8 changes: 8 additions & 0 deletions egs/aishell/v1/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
The database can be downloaded from openslr:
http://www.openslr.org/33/

For more details, please visit:
http://www.aishelltech.com/kysjcp

We use the training set to train model,
and split the test set into enroll and eval.
15 changes: 15 additions & 0 deletions egs/aishell/v1/cmd.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# you can change cmd.sh depending on what type of queue you are using.
# If you have no queueing system and want to run on a local machine, you
# can change all instances 'queue.pl' to run.pl (but be careful and run
# commands one by one: most recipes will exhaust the memory on your
# machine). queue.pl works with GridEngine (qsub). slurm.pl works
# with slurm. Different queues are configured differently, with different
# queue names and different ways of specifying things like memory;
# to account for these differences you can create and edit the file
# conf/queue.conf to match your queue's configuration. Search for
# conf/queue.conf in http://kaldi-asr.org/doc/queue.html for more information,
# or search for the string 'default_config' in utils/queue.pl or utils/slurm.pl.

export train_cmd="queue.pl --mem 4G"


3 changes: 3 additions & 0 deletions egs/aishell/v1/conf/mfcc.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--sample-frequency=16000
--num-mel-bins=40 #higher than the default which is 23
--num-ceps=20 # higher than the default which is 12.
2 changes: 2 additions & 0 deletions egs/aishell/v1/conf/vad.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--vad-energy-threshold=5.5
--vad-energy-mean-scale=0.5
63 changes: 63 additions & 0 deletions egs/aishell/v1/local/aishell_data_prep.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/bin/bash

# Copyright 2017 Xingyu Na
# Apache 2.0

. ./path.sh || exit 1;

if [ $# != 2 ]; then
echo "Usage: $0 <audio-path> <text-path>"
echo " $0 /export/a05/xna/data/data_aishell/wav /export/a05/xna/data/data_aishell/transcript"
exit 1;
fi

aishell_audio_dir=$1
aishell_text_dir=$2

train_dir=data/local/train
dev_dir=data/local/dev
test_dir=data/local/test

mkdir -p $train_dir
mkdir -p $dev_dir
mkdir -p $test_dir

# data directory check
if [ ! -d $aishell_audio_dir ] || [ ! -d $aishell_text_dir ]; then
echo "Error: $0 requires two directory arguments"
exit 1;
fi

# find wav audio file for train, dev and test resp.
find $aishell_audio_dir -iname "*.wav" | grep -i "wav/train" > $train_dir/wav.flist || exit 1;
find $aishell_audio_dir -iname "*.wav" | grep -i "wav/dev" > $dev_dir/wav.flist || exit 1;
find $aishell_audio_dir -iname "*.wav" | grep -i "wav/test" > $test_dir/wav.flist || exit 1;

n=`cat $train_dir/wav.flist $dev_dir/wav.flist $test_dir/wav.flist | wc -l`
[ $n -ne 141925 ] && \
echo Warning: expected 141925 data data files, found $n

# Transcriptions preparation
for dir in $train_dir $test_dir; do
echo Preparing $dir transcriptions
sed -e 's/\.wav//' $dir/wav.flist | awk -F '/' '{print $NF}' |\
sort > $dir/utt.list
sed -e 's/\.wav//' $dir/wav.flist | awk -F '/' '{i=NF-1;printf("%s %s\n",$NF,$i)}' |\
sort > $dir/utt2spk_all
paste -d' ' $dir/utt.list $dir/wav.flist > $dir/wav.scp_all
utils/filter_scp.pl -f 1 $dir/utt.list $aishell_text_dir/*.txt > $dir/transcripts.txt
awk '{print $1}' $dir/transcripts.txt > $dir/utt.list
utils/filter_scp.pl -f 1 $dir/utt.list $dir/utt2spk_all | sort -u > $dir/utt2spk
utils/filter_scp.pl -f 1 $dir/utt.list $dir/wav.scp_all | sort -u > $dir/wav.scp
sort -u $dir/transcripts.txt > $dir/text
utils/utt2spk_to_spk2utt.pl $dir/utt2spk > $dir/spk2utt
done

mkdir -p data/train data/test
for f in spk2utt utt2spk wav.scp text; do
cp $train_dir/$f data/train/$f || exit 1;
cp $test_dir/$f data/test/$f || exit 1;
done

echo "$0: AISHELL data preparation succeeded"
exit 0;
105 changes: 105 additions & 0 deletions egs/aishell/v1/local/download_and_untar.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/bin/bash

# Copyright 2014 Johns Hopkins University (author: Daniel Povey)
# 2017 Xingyu Na
# Apache 2.0

remove_archive=false

if [ "$1" == --remove-archive ]; then
remove_archive=true
shift
fi

if [ $# -ne 3 ]; then
echo "Usage: $0 [--remove-archive] <data-base> <url-base> <corpus-part>"
echo "e.g.: $0 /export/a05/xna/data www.openslr.org/resources/33 data_aishell"
echo "With --remove-archive it will remove the archive after successfully un-tarring it."
echo "<corpus-part> can be one of: data_aishell, resource."
fi

data=$1
url=$2
part=$3

if [ ! -d "$data" ]; then
echo "$0: no such directory $data"
exit 1;
fi

part_ok=false
list="data_aishell resource"
for x in $list; do
if [ "$part" == $x ]; then part_ok=true; fi
done
if ! $part_ok; then
echo "$0: expected <corpus-part> to be one of $list, but got '$part'"
exit 1;
fi

if [ -z "$url" ]; then
echo "$0: empty URL base."
exit 1;
fi

if [ -f $data/$part/.complete ]; then
echo "$0: data part $part was already successfully extracted, nothing to do."
exit 0;
fi

# sizes of the archive files in bytes.
sizes="15582913665 1246920"

if [ -f $data/$part.tgz ]; then
size=$(/bin/ls -l $data/$part.tgz | awk '{print $5}')
size_ok=false
for s in $sizes; do if [ $s == $size ]; then size_ok=true; fi; done
if ! $size_ok; then
echo "$0: removing existing file $data/$part.tgz because its size in bytes $size"
echo "does not equal the size of one of the archives."
rm $data/$part.gz
else
echo "$data/$part.tgz exists and appears to be complete."
fi
fi

if [ ! -f $data/$part.tgz ]; then
if ! which wget >/dev/null; then
echo "$0: wget is not installed."
exit 1;
fi
full_url=$url/$part.tgz
echo "$0: downloading data from $full_url. This may take some time, please be patient."

cd $data
if ! wget --no-check-certificate $full_url; then
echo "$0: error executing wget $full_url"
exit 1;
fi
fi

cd $data

if ! tar -xvzf $part.tgz; then
echo "$0: error un-tarring archive $data/$part.tgz"
exit 1;
fi

touch $data/$part/.complete

if [ $part == "data_aishell" ]; then
cd $data/$part/wav
for wav in ./*.tar.gz; do
echo "Extracting wav from $wav"
tar -zxf $wav && rm $wav
done
fi

echo "$0: Successfully downloaded and un-tarred $data/$part.tgz"

if $remove_archive; then
echo "$0: removing $data/$part.tgz file since --remove-archive option was supplied."
rm $data/$part.tgz
fi

exit 0;
35 changes: 35 additions & 0 deletions egs/aishell/v1/local/produce_trials.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/usr/bin/env python3
# Copyright 2017 Bengu Wu
# Apache 2.0.

# This script generate trials file.
# Trial file is formatted as:
# uttid spkid target|nontarget

# If uttid belong to spkid, it is marked 'target',
# otherwise is 'nontarget'.
# input: eval set uttspk file
# output: trial file

import sys

fnutt = sys.argv[1]
ftrial = open(sys.argv[2], 'w')

dictutt = {}
for line in open(fnutt):
utt2spk = line.rstrip('\r\t\n ')
spk = utt2spk.split(' ')[1]
if spk not in dictutt:
dictutt[spk] = spk

for line in open(fnutt):
utt2spk = line.rstrip('\r\t\n ')
utt, spk = utt2spk.split(' ')
for target in dictutt:
if target == spk:
trial = utt + ' ' + target + ' target'
else:
trial = utt + ' ' + target + ' nontarget'
ftrial.write(trial + '\n')
ftrial.close()
37 changes: 37 additions & 0 deletions egs/aishell/v1/local/split_data_enroll_eval.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env python3

# Copyright 2017 Bengu Wu
# Apache 2.0.

# This script splits the test set utt2spk into enroll set and eval set
# For each speaker, 3 utterances are randomly selected as enroll samples,
# and the others are used as eval samples for evaluation
# input: test utt2spk
# output: enroll utt2spk, eval utt2spk

import sys,random

dictutt = {}

for line in open(sys.argv[1]):
line = line.rstrip('\r\t\n ')
utt, spk = line.split(' ')
if spk not in dictutt:
dictutt[spk] = []
dictutt[spk].append(utt)

fenroll = open(sys.argv[2], 'w')
feval = open(sys.argv[3], 'w')

for key in dictutt:
utts = dictutt[key]
random.shuffle(utts)
for i in range(0, len(utts)):
line = utts[i] + ' ' + key
if(i < 3):
fenroll.write(line + '\n')
else:
feval.write(line + '\n')

fenroll.close()
feval.close()
5 changes: 5 additions & 0 deletions egs/aishell/v1/path.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export KALDI_ROOT=`pwd`/../../..
export PATH=$PWD/utils/:$KALDI_ROOT/tools/openfst/bin:$KALDI_ROOT/tools/sph2pipe_v2.5:$PWD:$PATH
[ ! -f $KALDI_ROOT/tools/config/common_path.sh ] && echo >&2 "The standard file $KALDI_ROOT/tools/config/common_path.sh is not present -> Exit!" && exit 1
. $KALDI_ROOT/tools/config/common_path.sh
export LC_ALL=C
Loading