- 中國語音學報(第11輯)
- 中國社會科學院語言研究所主辦
- 873字
- 2021-01-06 19:11:11
5.字符編碼轉換
如果在發音文本或發音詞典中出現了一些必需在UTF-8編碼格式下才能正常顯示的字符,則需要事先進行字符的編碼格式轉換,將全部文本內容(包含發音文本和發音詞典)轉換成特定的編碼形式。下面對此舉例加以簡要說明。
圖3 蒙古文字符的文件編碼與顯示結果
上圖的第一個文件為UTF-8編碼格式,打開之后,蒙古文字符可以正確顯示;第二個文件為ANSI編碼格式,打開之后就全部變成了亂碼。在此情況下,用戶應將發音文本文件保存為UTF-8字符編碼格式,并采取Tools文件夾中給出的Praat腳本程序“轉換至ANSI字符串編碼.scp”將發音文本文件以及發音詞典文件的所有內容進行重新編碼處理,得到一系列新的發音文本文件,編碼轉換之后的發音文本文件擴展名為*.rec,與原發音文本文件不會沖突。轉換之后的發音文本文件內容如下所示:
圖4 對發音文本進行編碼處理后的結果
這個腳本程序不僅會對原始的發音文本文件進行處理,還會對原始的發音詞典文件(UTF-8編碼格式)進行同樣的編碼轉換處理,并會生成一個擴展名為“*.new”的發音詞典文件,經過編碼轉換之后的發音詞典數據如圖5所示,其上部分為原始的發音詞典內容,下部分為經過轉換之后的發音詞典內容。后期在使用xSegmenter程序時應使用新生成的發音詞典文件來執行音段自動切分與標注操作,以避免出現字符編碼問題。
圖5 對發音詞典文件進行編碼處理后的結果
腳本程序在執行編碼轉換時,還會自動生成一個字符編碼轉換時所用到的對應編碼表,內容如圖6所示,以記錄原字符編碼及其相對應的新編碼形式。原發音文本文件和發音詞典文件中所有以空格分隔的字符或字符串均會得到一個唯一的編碼形式。字符編碼轉換結束之后,用戶可重新配置setting.ini文件中的參數,讓程序針對新生成的發音文本文件和發音詞典文件進行操作。等到程序完成音段切分與標注,并生成TextGrid文件之后,用戶通過調用Tools文件夾中所給出的Praat腳本程序“轉換至UTF8字符串編碼.scp”將TextGrid文件中的字符編碼替換回原來的字符形式,此時還會用到圖6所示的字符轉換編碼表(*.bma)。
圖6 字符轉換編碼表
另外,如果原發音文本文件中用到的標點符號不是中文或英文的標點符號,則需要提前加以替換,以便于程序能夠正確斷句和確定詞語分界。