/WorldVoice

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

WorldVoice

WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2019.3 以上版本。

主要包括有多國語音自動切換、各別語音速度設定、朗讀行為客製(數字讀法、中文空格間隔)、自訂文字地區等功能。

安裝

  • 下載主程式addon WorldVoice、VE 語音包addon、VE 核心包。
  • 安裝主驅動 addon
  • 核心包可透過 WorldVoice -> 檔案匯入將 zip 壓縮包匯入語音元件工作區。
  • 語音包安裝方式
    • 基本:使用兼容於 Vocalizer for NVDA 的語音包addon,官方下載點
    • 進階:可透過各種語音包內直接複製其內的地區資料夾(ex: en, mnc, mnt)等並將其壓成 zip 壓縮包後透過 WorldVoice 介面的檔案匯入功能匯入 addon 內,如無特殊需求建議使用 addon 版本安裝,因當 WorldVoice 升級版本時 addon 版本語音包不會被刪除亦無需重新安裝。

相依性套件

除以上安裝外,為驅動 VE 核心,需安裝 VC++ Redistributable Packages 2012的 x86 版本 (VSU_4\vcredist_x86.exe) 後即可順利驅動。

使用

  • NVDA+ctrl+S 選擇 WorldVoice 語音合成器。
  • NVDA+ctrl+V 有基本語音速度、音調、音量等基本設定,其中數字模式、中文空白間隔為 WorldVoice 多的客製設定。
    • 數字讀法:分為 2 個維度設定選項「數字語言」與「數字模式」,數字語言設定數字朗讀時使用的地區語音、數字模式分為數值與數字兩種
    • 「當遇到中文與中文間的空白時暫停長度」:可設定中文間有空白時,欲停頓長度,數字愈小停頓愈短, 0 為不停頓。
    • 「忽略在數字間的逗號」選項勾選時,可讓數字位數的逗號標錯位置仍能正常朗讀數值。
    • 「啟用 WorldVoice 設定規則來偵測文字語言」勾選時,會使用語音設定內的規則來偵測文字語言並切換語音朗讀。
  • WorldVoice -> 語音設定:可設定不同地區所使用的語音角色、各別語音角色速度、音調、音量、自動語音切換設定。 * 先選擇地區後語音列表會列出該地區可用的語音角色,選擇後即完成該地區與語音角色的對應紀錄。 * 當語音角色有選擇時,下方速度、音調、音量滑桿會變為該語音角色的設定值。 * 速度、音調、音量是依不同語音角色區分,每個語音角色有各自不同的速度數值,而非依地區區分。 * 用 unicode 編碼偵測文字語言勾選後,程式會根據讀到的字元偵測地區。 * 偵測語言時忽略數字、偵測語言時忽略常見標點符號勾選後,數字與標點符號會判定為預設語音的地區文字。
  • Unicode 設定:可定義字元的語言並依上下文或強制模式來判斷字元語言,當「用 unicode 編碼偵測文字語言」勾選後自動偵測的判斷會加入此設定檔的規則,此功能可解決 NVDA 內部的 symbol 轉換規則造成在自動切換語言下不朗讀之問題。例如在某些情形下「.」不讀取時則可試著在規則中加入「.」的符號並選擇語言與模式來使其正確讀出。
  • WorldVoice -> 檔案匯入:可匯入檔案,可用於匯入核心包與語音包。

更新版本日誌

v1.1

  • 新增數字模式的選項,可選擇有安裝的語言朗讀數字並可分為數值與數字兩種。
  • 新增忽略文件中的語言資訊的選項,此主要是避免自動切換語言勾選且原始文件就有提供語言資訊但不正確時(例如中文文字確標示英文語言)可能導致無法正確朗讀;或是在 word 數字會被標示成英文語言導致自動改用英文語音朗讀的狀況。
  • 優化中文空白間隔,使中文物件與中文屬性間亦可停頓
  • 加入其他中文語系的介面翻譯
  • 略過從設定檔載入變聲功能,因目前 VE driver 底層的變聲功能無法正常使用且換語音時容易因設定值不符載入失敗導致要刪整個設定檔才能解決
  • 合併 VE driver 3.1.2 的更新
  • 其他細部優化

v1.2

  • 提供第 2 驅動核心,整體相比第 1 驅動核心順暢,無偶爾速度不一致與小爆音問題
  • 第 2 驅動功能比照第 1 驅動包括數字模式、中文空白間隔、忽略文件中的語言資訊等選項
  • 第 2 驅動提供各語音速度、音調、音量各別調整,但與第 1 驅動對應數值不同,亦即第 1 驅動的速度 50 與 第 2 驅動的速度 50 不會有相同的語音速度
  • 修正數字模式在選擇各數值語音下時間與小數點無正確朗讀的問題
  • 修正無定義字元地區資訊時不朗讀的問題
  • 修正數字模式在選擇各數字語音下無正確使用選擇的語音的問題
  • 調整數字模式與忽略文件中的語言資訊處理順序,更符合預期朗讀邏輯

v1.3

  • 加入 unicode 設定功能
  • 修正單數字不會自動切換的問題
  • 修正數字模式在特定場景下失效問題
  • 移除 v1.2 的第1驅動
  • 調整程式結構並預支援更多 TTS

v1.4

  • 修正檢視報讀內容開啟時無語音
  • 音調內部數值換算百分比改非線性計算,讓預設值為 50
  • 修正 unicode rule 強制模式下後方文字偵測錯誤
  • 修正初始值類型錯誤導致語音設定對話框無法顯示
  • 初始語音改優先使用預設語言之語音

v1.5

  • 數字讀法分為 2 個設定選項「數字語言」與「數字模式」,將選項分為 2 維度以利選擇
  • 忽略數字間逗點選項使數值報讀更正確
  • 自動偵測語言功能當信任語音語言勾選時才使用不同解釋檔
  • 語音設定中的值調整按確認才生效按取消會回到設定前的值
  • 修正語音設定中當語音與預設語音相同時調整設定值後重啟 NVDA 後回到設定前的值
  • 將自動語言切換設定與語音設定視窗合併
  • 地區與語音對應加入 no-select 用來取消對應
  • 支援快速鍵彈出語音設定與 Unicode 設定

v1.6

  • 修正數字模式下小數點不朗讀問題
  • 更新 VE 核心包工作目錄,未來更新時可無需重新匯入
  • 將「使用 WorldVoice 設定規則針測語言」的開關與「自動切換語言」的開關分開,避免部份情境兩者不相容問題。
  • 修正啟用 unicode 自動語言針測時,預設語音與 NVDA 語言地區不相同但同語系時無法切換的問題
  • 修正自動切換語言無勾選時 WorldVoice 變更語音語言命令被濾掉的問題