---
# System prepended metadata

title: Kaldi 常見錯誤
tags: [Documentation, Templates]

---

---
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`
