泰語語音合成方法、裝置以及設備

泰語語音合成方法、裝置以及設備

泰語語音合成方法、裝置以及設備是由陳夢楠 高麗 祖漪清 江源 發明開發。

本發明公開了一種泰語語音合成方法、裝置以及設備,本發明的構思在于針對現有技術在文本前端進行韻律劃分時切分的粒度控制不夠精細、準確率低,尤其是粗糙的文本前端處理不能適應端到端合成技術的需求,導致合成的泰語語音不自然表現力低等問題,提出結合待合成文本的上下文信息、預設的單詞匹配規則以及構建的音節切分模型分別對語句、詞語、音節進行切分,一方面使得本發明涉及的韻律層級包含了更為全面的三個層級維度,另一方面使得各韻律層級的劃分結果更為精細、準確??梢?,本發明可以顯著提升合成的泰語語音在諸如停頓、節奏等方面獲得精準表現,從而使其聽感更為自然,同時也有效適配了端到端合成處理的需求。

[0001] 本發明語音合成領域,尤其涉及一種泰語語音合成方法、裝置以及設備。

背景技術

[0002] 近年來,語音合成在數字交流中扮演著越來越重要的角色。雖然世界上主要語種的語音合成系統已經成熟并商業化,但這項技術仍然在不斷發展和進步。

[0003] 泰語又稱傣語,是東亞語系的一種,世界上約6800萬人在使用泰語交流。泰語語音合成自上世紀90年代便已開始,但最初僅僅是一種基于單元挑選的拼接系統,合成的泰語語音機械感強烈。為解決此問題,本領域在現有研究和嘗試中,提出針對泰語獨特的語言特點對泰語文本進行韻律層級的劃分,具體來說,泰語是一種聲調語言,其特點包括但不限于具有4個顯式的聲調標記,但實際包含5個聲調,并且泰語文本通常沒有明確的單詞和語句分割標識。由此可知,針對泰語合成而言,如何切分待合成泰語文本中的句、詞乃至音節,則會對合成的泰語語音產生關鍵的影響,因為句子、單詞、音節的劃分直接作用于韻律層面的合成效果,即其可以體現出泰語合成語音中諸如停頓、節奏感等聽覺感受。

[0004] 現有的泰語韻律建模思想均是圍繞語音合成領域中傳統的聲學模型開展的,具體而言,在進行泰語語音合成時,待合成泰語文本首先在文本前端粗略切分為單詞和韻律短語或句子,然后必須要結合其它的文本預處理方式,比如文本轉音素(Grapheme?to?Phoneme,G2P)、聲學信息預測之后,再通過傳統的聲學模型將處理后的字符序列轉化為聲學特征,最后通過聲碼器生成最終的時域波形。

[0005] 但經由實踐發現,現有的泰語合成技術由于其實現邏輯是依賴于前端文本初步處理、預處理以及后端聲學處理的共同作用,因而在其文本前端進行韻律層級劃分時較為粗糙,導致合成后的泰語語音雖然克服了早期的機械感,但仍缺乏表現力,聽感上依然可以明顯感受到合成語音存在諸多發音不自然之處。尤其是,隨著技術更迭演化,目前語音合成領域對于端到端合成方式的發展也給予其廣闊的應用空間,然而,由于目前泰語合成中對于文本前端的韻律層級處理并未提供細化且精準的韻律切分結果,因而現有技術難以適配當前端到端語音合成模型,進而既影響了泰語語音合成效果本身,也在某種維度上阻礙了語音合成技術的發展。

內容

[0006] 鑒于上述,本發明旨在提供一種泰語語音合成方法、裝置以及設備,以及相應地提供了一種計算機可讀存儲介質和計算機程序產品,以彌補現有泰語語音合成邏輯中相對較為忽視的文本前端的韻律層級劃分效果,并由此解決難以適配端到端的語音合成方式。

[0007] 本發明采用的技術方案如下:

[0008] 第一方面,本發明提供了一種泰語語音合成方法,其中,包括:

[0009] 結合待合成泰語文本的上下文信息,對所述待合成泰語文本進行分句;

[0010] 基于預設的匹配規則,對所述待合成泰語文本進行分詞;

[0011] 利用預設的音節切分策略,對所述待合成泰語文本進行分音節;

[0012] 根據經由分句、分詞、分音節處理后的所述待合成泰語文本以及預先訓練的端到端語音合成模型,得到泰語合成語音。

[0013] 在其中至少一種可能的實現方式中,所述結合待合成泰語文本的上下文信息,對所述待合成泰語文本進行分句包括:

[0014] 以字符為單位,獲得所述待合成泰語文本中各待處理字符的若干上下文字符;

[0015] 基于泰語句式規則,對所述待處理字符和/或所述上下文字符進行預標記;

[0016] 結合所述上下文字符、預標記結果以及預先構建的分句模型,確定所述待處理字符是否為語句結束字符。

[0017] 在其中至少一種可能的實現方式中,所述獲得所述待合成泰語文本中各待處理字符的若干上下文字符包括:

[0018] 利用預設尺寸的滑窗,從所述待合成泰語文本中選定以待處理字符為中心的若干個目標字符;

[0019] 對各所述目標字符進行拓展,得到若干個上下文字符。

[0020] 在其中至少一種可能的實現方式中,所述預標記的方式包括:

[0021] 將所述待處理字符和/或所述上下文字符,與預設的語句首尾字符庫進行匹配;

[0022] 確定并標記出所述待處理字符和/或各所述上下文字符是否為語句首尾字符。

[0023] 在其中至少一種可能的實現方式中,所述基于預設的匹配規則,對所述待合成泰語文本進行分詞包括:

[0024] 利用預設的泰語字典,按序從所述待合成泰語文本中匹配出若干候選詞語;

[0025] 將當前所述候選詞語與預設的泰語單詞模式進行二次匹配,判定當前所述候選詞語是否為泰語單詞;

[0026] 若否,則將當前所述候選詞語與下一個所述候選詞語合并,作為新的候選詞語;

[0027] 若是,則在所述待合成泰語文本中的當前所述候選詞語處標注分詞邊界。

[0028] 在其中至少一種可能的實現方式中,所述利用預設的音節切分策略,對所述待合成泰語文本進行分音節包括:

[0029] 按照深度卷積網絡拼接條件隨機場的架構,預先構建并訓練所述音節切分模型;

[0030] 將所述待合成泰語文本的逐個字符輸入至所述音節切分模型,確定各字符是否為泰語音節的最后一個字符。

[0031] 第二方面,本發明提供了一種泰語語音合成裝置,其中,包括:

[0032] 分句模塊,用于結合待合成泰語文本的上下文信息,對所述待合成泰語文本進行分句;

[0033] 分詞模塊,用于基于預設的匹配規則,對所述待合成泰語文本進行分詞;

[0034] 分音節模塊,用于利用預設的音節切分策略,對所述待合成泰語文本進行分音節;

[0035] 語音合成模塊,用于根據經由分句、分詞、分音節處理后的所述待合成泰語文本以及預先訓練的端到端語音合成模型,得到泰語合成語音。

[0036] 在其中至少一種可能的實現方式中,所述分句模塊包括:

[0037] 上下文獲取單元,用于以字符為單位,獲得所述待合成泰語文本中各待處理字符的若干上下文字符;

[0038] 預標記單元,用于基于泰語句式規則,對所述待處理字符和/或所述上下文字符進行預標記;

[0039] 分句標注單元,用于結合所述上下文字符、預標記結果以及預先構建的分句模型,確定所述待處理字符是否為語句結束字符。

[0040] 在其中至少一種可能的實現方式中,所述上下文獲取單元包括:

[0041] 目標字符獲取組件,用于利用預設尺寸的滑窗,從所述待合成泰語文本中選定以待處理字符為中心的若干個目標字符;

[0042] 字符拓展組件,用于對各所述目標字符進行拓展,得到若干個上下文字符。

[0043] 在其中至少一種可能的實現方式中,所述預標記單元包括:

[0044] 首尾字符匹配組件,用于將所述待處理字符和/或所述上下文字符,與預設的語句首尾字符庫進行匹配;

[0045] 首尾字符標記組件,用于確定并標記出所述待處理字符和/或各所述上下文字符是否為語句首尾字符。

[0046] 在其中至少一種可能的實現方式中,所述分詞模塊包括:

[0047] 第一匹配單元,用于利用預設的泰語字典,按序從所述待合成泰語文本中匹配出若干候選詞語;

[0048] 第二匹配單元,用于將當前所述候選詞語與預設的泰語單詞模式進行二次匹配,判定當前所述候選詞語是否為泰語單詞;

[0049] 候選詞合并單元,用于當第二匹配單元輸出為否時,將當前所述候選詞語與下一個所述候選詞語合并,作為新的候選詞語;

[0050] 分詞標注單元,用于當第二匹配單元輸出為是時,在所述待合成泰語文本中的當前所述候選詞語處標注分詞邊界。

[0051] 在其中至少一種可能的實現方式中,所述分音節模塊包括:

[0052] 模型構建單元,用于按照深度卷積網絡拼接條件隨機場的架構,預先構建并訓練所述音節切分模型;

[0053] 音節切分單元,用于將所述待合成泰語文本的逐個字符輸入至所述音節切分模型,確定各字符是否為泰語音節的最后一個字符。

[0054] 第三方面,本發明提供了一種泰語語音合成設備,其中,包括:

[0055] 一個或多個處理器、存儲器以及一個或多個計算機程序,所述存儲器可以采用非易失性存儲介質,其中所述一個或多個計算機程序被存儲在所述存儲器中,所述一個或多個計算機程序包括指令,當所述指令被所述設備執行時,使得所述設備執行如第一方面或者第一方面的任一可能實現方式中的所述方法。

[0056] 第四方面,本發明提供了一種計算機可讀存儲介質,該計算機可讀存儲介質中存儲有計算機程序,當其在計算機上運行時,使得計算機至少執行如第一方面或者第一方面的任一可能實現方式中的所述方法。

[0057] 第五方面,本發明還提供了一種計算機程序產品,當所述計算機程序產品被計算機執行時,用于至少執行第一方面或者第一方面的任一可能實現方式中的所述方法。

[0058] 在第五方面的至少一種可能的實現方式中,該產品涉及到的相關程序可以全部或者部分存儲在與處理器封裝在一起的存儲器上,也可以部分或者全部存儲在不與處理器封裝在一起的存儲介質上。

[0059] 本發明的構思在于針對現有技術在文本前端進行韻律劃分時切分的粒度控制不夠精細、準確率低,尤其是粗糙的文本前端處理不能適應端到端合成技術的需求,導致合成的泰語語音不自然表現力低等問題,提出結合待合成文本的上下文信息、預設的單詞匹配規則以及構建的音節切分模型分別對語句、詞語、音節進行切分,一方面使得本發明涉及的韻律層級包含了更為全面的三個層級維度,另一方面使得各韻律層級的劃分結果更為精細、準確??梢?,本發明可以顯著提升合成的泰語語音在諸如停頓、節奏等方面獲得精準表現,從而使其聽感更為自然,同時也有效適配了端到端合成處理的需求。

技術要求書

1.一種泰語語音合成方法,其特征在于,包括:結合待合成泰語文本的上下文信息,對所述待合成泰語文本進行分句;基于預設的匹配規則,對所述待合成泰語文本進行分詞;利用預設的音節切分策略,對所述待合成泰語文本進行分音節;根據經由分句、分詞、分音節處理后的所述待合成泰語文本以及預先訓練的端到端語音合成模型,得到泰語合成語音。

2.根據權利要求1所述的泰語語音合成方法,其特征在于,所述結合待合成泰語文本的上下文信息,對所述待合成泰語文本進行分句包括:以字符為單位,獲得所述待合成泰語文本中各待處理字符的若干上下文字符;基于泰語句式規則,對所述待處理字符和/或所述上下文字符進行預標記;結合所述上下文字符、預標記結果以及預先構建的分句模型,確定所述待處理字符是否為語句結束字符。

3.根據權利要求2所述的泰語語音合成方法,其特征在于,所述獲得所述待合成泰語文本中各待處理字符的若干上下文字符包括:利用預設尺寸的滑窗,從所述待合成泰語文本中選定以待處理字符為中心的若干個目標字符;對各所述目標字符進行拓展,得到若干個上下文字符。

4.根據權利要求2所述的泰語語音合成方法,其特征在于,所述預標記的方式包括:將所述待處理字符和/或所述上下文字符,與預設的語句首尾字符庫進行匹配;確定并標記出所述待處理字符和/或各所述上下文字符是否為語句首尾字符。

5.根據權利要求1~4任一項所述的泰語語音合成方法,其特征在于,所述基于預設的匹配規則,對所述待合成泰語文本進行分詞包括:利用預設的泰語字典,按序從所述待合成泰語文本中匹配出若干候選詞語;將當前所述候選詞語與預設的泰語單詞模式進行二次匹配,判定當前所述候選詞語是否為泰語單詞;若否,則將當前所述候選詞語與下一個所述候選詞語合并,作為新的候選詞語;若是,則在所述待合成泰語文本中的當前所述候選詞語處標注分詞邊界。

6.根據權利要求1~4任一項所述的泰語語音合成方法,其特征在于,所述利用預設的音節切分策略,對所述待合成泰語文本進行分音節包括:按照深度卷積網絡拼接條件隨機場的架構,預先構建并訓練所述音節切分模型;將所述待合成泰語文本的逐個字符輸入至所述音節切分模型,確定各字符是否為泰語音節的最后一個字符。

7.一種泰語語音合成裝置,其特征在于,包括:分句模塊,用于結合待合成泰語文本的上下文信息,對所述待合成泰語文本進行分句;分詞模塊,用于基于預設的匹配規則,對所述待合成泰語文本進行分詞;分音節模塊,用于利用預設的音節切分策略,對所述待合成泰語文本進行分音節;語音合成模塊,用于根據經由分句、分詞、分音節處理后的所述待合成泰語文本以及預先訓練的端到端語音合成模型,得到泰語合成語音。

8.一種泰語語音合成設備,其特征在于,包括:一個或多個處理器、存儲器以及一個或多個計算機程序,其中所述一個或多個計算機程序被存儲在所述存儲器中,所述一個或多個計算機程序包括指令,當所述指令被所述設備執行時,使得所述設備執行權利要求1~6任一項所述的泰語語音合成方法。

9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質中存儲有計算機程序,當所述計算機程序在計算機上運行時,使得計算機執行權利要求1~6任一項所述的泰語語音合成方法。

10.一種計算機程序產品,其特征在于,當所述計算機程序產品被計算機執行時,用于執行權利要求1~6任一項所述的泰語語音合成方法。

說明書附圖

圖1

圖2

圖3

圖4

圖5

圖6