1 kaldi認(rèn)知之路-stage 0-下載語言模型文件
這個系列以kaldi中的mini_librispeech為例逐行閱讀kaldi的代碼

1.???? if [ $# -ne "3" ]; then:這個判斷語句用于檢查參數(shù)的數(shù)量,如果參數(shù)數(shù)量不是3,那么將打印用法信息并退出腳本。
2.???? base_url=$1,dst_dir=$2,local_dir=$3:這三行命令是定義了三個變量,它們分別代表基礎(chǔ)URL,下載目錄和本地目錄,它們的值來自于腳本的輸入?yún)?shù)。
3.???? function filesize() {...}:這個函數(shù)根據(jù)輸入的文件名返回對應(yīng)的文件大小,用于后續(xù)的文件完整性檢查。
4.???? function check_and_download () {...}:這個函數(shù)負(fù)責(zé)檢查文件是否已經(jīng)存在并且完整,如果不完整或者不存在則進(jìn)行下載。它使用wget命令進(jìn)行文件下載,并且在下載完成后再次檢查文件的完整性。
5.???? mkdir -p $dst_dir $local_dir:這個命令創(chuàng)建了下載目錄和本地目錄,如果這些目錄已經(jīng)存在則忽略這個命令。
6.???? for f in 3-gram.arpa.gz ... librispeech-lexicon.txt; do ... done:這個循環(huán)對每個需要下載的文件調(diào)用check_and_download函數(shù)進(jìn)行下載。
7.???? dst_dir=$(readlink -f $dst_dir):這個命令獲取下載目錄的絕對路徑。
8.???? ln -sf $dst_dir/3-gram.pruned.1e-7.arpa.gz $local_dir/lm_tgmed.arpa.gz:這個命令創(chuàng)建了從本地目錄到下載目錄的軟鏈接,以便在其他腳本中可以直接通過本地路徑訪問到這些下載的文件。
9.???? exit 0:這個命令表示腳本正常結(jié)束。

這個腳本沒啥意思,主要是下載現(xiàn)成的文件,不看也罷