--- title: Kaldi 常見錯誤 disqus: hackmd --- Kaldi 常見錯誤 === ## Table of Contents [TOC] ## text file 'data/XXX/text' contains disallowed UTF-8 whitespace character(s) 這個錯誤是因為Kaldi不容許一些UTF-8定義的空白字符出現(unbreakable space, half-width space 還有我遇過的NO-BREAK SPACE), 通常你可以用 utils/validate_text.pl data/XXX/text 檢查一遍,然後script也會告訴你那一行出現這種空白(The line for utterance CX_20160106_092 contains disallowed Unicode whitespaces)。 解法: 1. 偵測錯誤 (參照 https://github.com/kaldi-asr/kaldi/issues/3702) 可以找到一些奇怪的空白(我的例子是\N{NO-BREAK SPACE}) 2. vim找出空白位置並替換 (參照https://stackoverflow.com/questions/31564023/vim-hard-line-breaks-and-non-breaking-spaces-with-pandoc) 先在vim裡面搜尋(/)然後再Ctrl-v x a 0來找到U+00A0字串 ``` file=$1 CHARS=$(printf "%b" "\U00A0\U1680\U180E\U2000\U2001\U2002\U2003\U2004\U2005\U2006\U2007\U2008\U2009\U200A\U200B\U202F\U205F\U3000\UFEFF") sed -i.bak 's/['"$CHARS"']/ /g' $file ``` ###### tags: `Templates` `Documentation`