[分享] [NVDA addon] WorldVoice 3.5 語音附加元件 - 討論區

[分享] [NVDA addon] WorldVoice 3.5 語音附加元件

文章瀏覽次數 11198 文章回覆數 181

tsengwoody

tsengwoody圖像(預設)

2020-06-14 21:32:14

From:220.135.204.66

WorldVoice 3.5 發佈,新增自訂啟用語音引擎、相容 NVDA 2023.1、一些細部優化
可參考 Eureka 撰寫之教學文,感謝 Eureka 用心的整理
WorldVoice 3.5
VE 核心包
Aisound 核心包
voice(asian-2.2)(zip)
voice(full-2.2)(zip)
voice(同星光語音包)

WorldVoice

在高度網路化及國際化的年代,語言的學習更顯其重要性,在語言學習教材中通常是以母語輔助解釋外國語言的辭彙、句意,二種語言以上的夾雜撰寫的情形非常普遍。日常生活中,我們也經常在交流討論時夾雜多種語言文字。在書報、網絡文章中也時常能看多種語言穿插撰寫傳達資訊,更有甚者在同一語句以中英文、中日文等文字拼湊形式呈現。

不同數位內容(語言學習、數理學門、文學作品)的文字組成、上下文語意、跨語系頻率等等特性皆會有差異,相對語音報讀的方式亦可能需依不同數位內容而有所微調以更符合該類文件的需求。

WorldVoice 提供豐富的客製化設定選項讓使用者在不同情境下可有不同的設定能力,最大化滿足不同族群使用者的需求。

WorldVoice 是一款多國語音朗讀 NVDA 附加元件,可使用在高於 2020.1 版以上的 NVDA 中。

主要包括功能:

多國語系語音自動切換
各別語音參數(速度、音調、音量)設定
多語音引擎互相搭配選用
數字讀法切換(數字與數值)
朗讀行為客製(角色切換停頓長度、中文空白停頓長度、忽略在數字間的逗號)
自訂文字所屬地區

WorldVoice 支援 Aisound, OneCore, RHVoice, SAPI5, VE 五種語音引擎互相搭配選用

安裝

安裝 WorldVoice 附加元件
Aisound 與 VE 需額外安裝核心包後才可使用
安裝核心包:透過 WorldVoice -> VE 核心安裝、 Aisound 核心安裝,將對應的核心包 zip 檔匯入附加元件工作區。
為了驅動 VE 核心,作業系統內需安裝 VC++ Redistributable Packages 2012的 x86 版本 (VSU_4\vcredist_x86.exe) ,如您已安裝核心包與語音包後仍無法載入 WorldVoice 合成器,請試著安裝此元件。
RHVoice 與 VE 需額外安裝語音包後才可使用
RHVoice 附加元件形式:使用官方提供的語音包附加元件,官方下載點
VE 附加元件形式:使用兼容於 Vocalizer for NVDA 的語音包附加元件,官方下載點
VE 壓縮包形式:可透過各種語音包內直接複製其內的地區資料夾(ex: en, mnc, mnt)等並將其壓成 zip 壓縮包後透過 WorldVoice 介面的檔案匯入功能匯入 addon 內,附加元件形式可能因 NVDA 身版導致不相容,建議可使用此種檔案匯入語音包的方式。

設定

NVDA+ctrl+S 切換為 WorldVoice 語音合成器。

主要語音角色設定

透過 NVDA 設定: 語音(NVDA+ctrl+V) 設定基底語音角色與共通行為

語音速度、音調、音量設定
數字讀法:分為 2 個設定選項「數字語言」與「數字模式」,數字語言設定數字朗讀時使用的語音角色、數字模式分為數值與數字兩種
中文空白停頓長度:設定中文間空白時停頓的長度,數字愈小停頓愈短, 0 為不停頓。
忽略在數字間的逗號:選項勾選時會忽略數字中間的逗號,可讓數字位數的逗號標錯位置仍能正常朗讀數值。
* 啟用 WorldVoice 設定規則來偵測文字語言:當選項勾選時,會使用語音設定內的規則來偵測文字語言並切換語音朗讀。在部份情境此選項會與 NVDA 自動切換語言有相容性問題,建議兩者不要同時勾選。

WorldVoice 語音設定(NVDA 功能表 -> WorldVoice -> 語音設定)

語音角色:可設定不同地區所使用的語音角色、各別語音角色速度、音調、音量、主要語音角色與地區語音角色一致性設定。

選擇地區後語音列表會列出該地區可用的語音角色,選擇後即完成該地區與語音角色的對應紀錄。
選擇語音角色後變聲列表會列出該語音角色可用的變聲,選擇後即完成該語音角色與變聲的對應紀錄。
當語音角色有選擇時,下方速度、音調、音量滑桿會變為該語音角色的設定值。
速度、音調、音量是依不同語音角色區分,每個語音角色有各自不同的速度數值,而非依地區區分。
保持主要語音引擎與地區語音引擎一致:將 NVDA 語音設定中的語音(主要語音)角色與 WorldVoice 語音設定中的地區對應語音(地區語音)引擎一致,當主要語音設定調整時,地區語音同步調整為相同的語音引擎。
保持主要語音角色與地區語音角色一致:將 NVDA 語音設定中的語音(主要語音)角色與 WorldVoice 語音設定中的地區對應語音(地區語音)角色一致,當主要語音或地區語音設定調整時,同步調整雙方的語音角色設定。
* 保持主要語音參數與地區語音參數一致:將 NVDA 語音設定中的語音(主要語音)與 WorldVoice 語音設定中的地區對應語音(地區語音)參數(速度、音調、音量)一致,當主要語音或地區語音設定調整時,同步調整雙方的語音參數設定。

語言設定:

用 unicode 編碼偵測文字語言勾選後,程式會根據讀到的字元偵測文字所屬地區。
偵測語言時忽略數字、偵測語言時忽略常見標點符號勾選後,數字與標點符號會判定為主要語音的地區文字。
* 偵測語言時間點:文字自動偵測語言時間點在 NVDA 的符號處理前或後進行。當選擇「符號處理後」項目時,可防止與其他使用到語音模組附加元件(ex: Instant Translate)的衝突。

語音引擎:可選擇要啟用的語音引擎,預設為 VE, OneCore, aisound

其他:

OneCore 提高語速:勾選後 OneCore 的語音角色速度會更快
VE 停頓參數:設定 VE 語音 session 開始與結束的停頓長度。(遇到句號或語音角色切換時皆會結束當前這條語音 session 並重啟一條新的語音 session)
* 數字點替代文字:設定數字中的小數點朗讀方式

其他設定:

WorldVoice -> Unicode 設定:可定義字元所隸屬的地區並依上下文或強制模式來判斷字元的地區,當「用 unicode 編碼偵測文字語言」勾選後自動偵測的判斷會加入此設定檔的規則,此功能可解決 NVDA 內部的 symbol 轉換規則造成在自動切換語言下不朗讀之問題。例如在某些情形下「.」不讀取時則可試著在規則中加入「.」的符號並選擇語言與模式來使其正確讀出。

WorldVoice -> 檔案匯入:可匯入檔案,可用於匯入語音包。

更新版本日誌

v3.5

修正 aisound 音量回避 bug
修正 VE 遇 utf8 4bit 字元會讓後續文字不朗讀的問題
修正 VE 遇 unicode utf8 編碼錯誤時文字不朗讀的問題
在語音設定新增引擎分類,可選擇要啟用的語音引擎,預設為 VE, OneCore, aisound
* 相容於 NVDA 版本 2023.1

v3.4
  • 新增數字間停頓,提身數字內容聽讀判斷
  • 新增項目間停頓功能,提身物件資訊聽讀判斷
  • 修正 VE 數字模式為數值時會合併相鄰數字成為單一數值報讀
  • 修正 OneCore 語速調整問題
  • 修正 VE 開啟「游標移動時延遲讀出字元的字詞解釋」後遊標移動卡頓問題
  • 修正 OneCore 與 RHVoice 「游標移動時延遲讀出字元的字詞解釋」無效的問題
v3.3
  • 支援 OneCore engine
  • 地區與語音角色對應為 No Select 時使用主語音朗讀
  • 修正符號轉中文報讀時會套用到中文空白停頓參數的問題
  • 語音設定使用類別設定對話框,分為語音角色、語言切換、其他
  • 在語音設定中的其他分類下加入 OneCore 加快語速開關
  • 支援 RHVoice engine
v3.2

修正在語音合成器非選擇 WorldVoice 時,語音設定問題,改以顯示提示文字
修正 aisound 音量調整問題
修正語音設定中偵測語言時間點的重啟條件
修正長按按鍵後語音無法中斷問題
修正多項語意問題(flake8)
相容於 NVDA 版本 2022.1

v3.1

在網頁瀏覽中中斷無聲報讀
shift 可暫停/繼續語音報讀
按加減音量鍵不會中斷報讀
保持主要語音引擎與地區語音引擎一致功能
* 修正 VE 停頓的方式

v3.0

支援 SAPI5 語音引擎
支援 Aisound 語音引擎
語音設定內新增語音角色切換時停頓長度
語音設定內新增 unicode 正規化方式選項
* 語音角色排序方式調整依語音引擎、語音角色名稱排序

v2.2

語音設定內新增變聲選項,需依序設定地區、語音、變聲選項
修政偵測語言時間點選「符號處理前」後無法再變更之問題
* 新增阿拉伯語系翻譯

v2.1

相容於 NVDA 版本 2019.3~ 2021.1
可套用 NVDA 不同組態設定
移除輸入手勢的多餘項目
速度內部數值換算百分比改非線性計算
設定選單調整將「在符號處理後偵測文字語言」更改為「偵測語言時間點」
偵測語言時間點:字元自動偵測語言時間點在 NVDA 的符號處理前或後進行。當選擇「符號處理後」項目時,可防止與其他使用到語音模組附加元件(ex: Instant Translate)的衝突
保持主要語音參數與地區語音參數一致:將 NVDA 語音設定中的語音(主要語音)與 WorldVoice 語音設定中的地區對應語音(地區語音)參數(速度、音調、音量)一致,當主要語音或地區語音設定調整時,同步調整雙方的語音參數設定
保持主要語音角色與地區語音角色一致:將 NVDA 語音設定中的語音(主要語音)角色與 WorldVoice 語音設定中的地區對應語音(地區語音)角色一致,當主要語音或地區語音設定調整時,同步調整雙方的語音角色設定

v2.0

* 相容 NVDA 2021.1

v1.7

小數點不讀修正(三數字間皆有小數點情形)
相容 NVDA 2021.1 以前的最後一版

v1.6

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

v1.5

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

v1.4

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

v1.3

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

v1.2

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

v1.1

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

留言

#1

小羔羊

小羔羊圖像(預設)

2020-06-15 20:48:42

From:114.34.88.168

讚讚讚啊,好務

#2

此篇留言已被刪除。

#3

小羔羊

小羔羊圖像(預設)

2020-06-15 21:59:06

From:114.34.88.168

請問第四步和第五步為什麼我在nvda設定的語音裡沒看到?還是要從其他地方打開面板?感謝

#4

光明之子

光明之子圖像(預設)

2020-06-16 06:38:44

From:101.12.172.146

重新啟動nvda,在nvda功能表鐘就能發現multiple world-voice選單了,不過它的功能跟nvda本身的自動語言偵測一曲同工,可惜了。

#5

tsengwoody

tsengwoody圖像(預設)

2020-06-18 16:01:29

From:220.135.204.66

更新功能與說明內容

#6

阿慶

阿慶圖像

2020-06-18 17:21:26

From:211.23.21.202

剛剛發現如果把數字模式設定成中文數字,他只會單純把數字讀出來。
是否可以讓她讀「數值」呢?12345讀「一萬兩千三百四十五」。
不然包括時間他也唸成「下午 零五 二零」了。

#7

阿慶

阿慶圖像

2020-06-18 17:22:27

From:211.23.21.202

會不會改著改著,功能越來越多,最後就跟星光雙語一樣了XD

#8

tsengwoody

tsengwoody圖像(預設)

2020-06-19 18:33:07

From:220.135.204.66

我測數字模式選項調「預設」的就是讀數值了,只是以前的星光雙語是強制用第一或第二語音朗讀,這個是用預設的語音。

#9

特種兵

特種兵圖像(預設)

2020-06-20 13:10:29

From:211.23.21.202

是否能將設定選項都整合在一起會比較方便

#10

此篇留言已被刪除。

#11

cello

cello圖像(預設)

2020-06-20 18:16:39

From:219.85.178.184

好極了

#12

此篇留言已被刪除。

#13

tsengwoody

tsengwoody圖像(預設)

2020-06-21 16:08:56

From:220.135.204.66

Hello,

關於整合設定的部份
主要是 NVDA 語音設定介面比較不好客製,所以有些較複雜的功能(自動語言切換設定、語音速度設定)才會獨立出來做視窗
而沒將切換設定與速度整合是不希望動太多原先 VE driver 的內容,獨立性較高,如此如果未來 VE driver 有更新時要同步合併會比較好處理,而且其實 2 個視窗行為不太一羕,語速那個是拉滑桿就生效,但切換是要按確定才會生效

Woody

#14

江餅人jph

江餅人jph圖像(預設)

2020-06-22 10:34:14

From:1.34.216.251

我這邊測試後發現,若將數字朗讀模式選擇為預設,一般情況下,語音會以中文數值朗讀,但若是在 word 打上一串數字,就又會變為英文語音朗讀了

#15

tsengwoody

tsengwoody圖像(預設)

2020-06-26 22:09:56

From:220.135.204.66

研究了一下在 word 數字會用英文朗讀的原因,目前看來主要是 word 會自帶文字的語言地區標記, NVDA 會讀取這些資訊並傳給語音合成器。
而 VE 實做上就是會根據這些標記去切換朗讀語音,會試著開發當遇到數字強制使用特定語音朗讀的功能。
也有看了一下星光雙語的做法,不過它只需處理雙語音,所以用的方式比較不用考慮擴充性,寫法彈性較低,做法比較不適合用於需考量多語音切換的情境。