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

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

visibility文章瀏覽次數 1349 reply_all文章回覆數 45

tsengwoody

tsengwoody圖像(預設)

2020-06-14 21:32:14

From:220.135.204.66

此元件為利用 VE 語音並擴充開發 VE driver 而成的多語音元件

WorldVoiceXVE v1.3
核心包(driver 2)
voice(asian-2.2)(addon)
voice(asian-2.2)(import)
voice(full-2.2)(addon)
voice(full-2.2)(import)
voice(同星光語音包)

核心包與語音包 .zip 可透過 addon 內的匯入檔案功能匯入,可見說明文件內容。

一、安裝 WorldVoiceXVE 並安裝重啟
二、點選 WorldVoiceXVE -> 檔案匯入選擇核心包(core.zip/core(driver2).zip)匯入成功後會要求重啟。
三點選 WorldVoiceXVE -> 檔案匯入選擇語音包(voice(asian-2.2).zip/voice(full-2.2).zip)匯入成功後會要求重啟。

參考說明文件設定選項後就可開始使用囉

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 版本安裝,因 addon 版本可共享同時提供第 1 驅動與第 2 驅動使用。

相依性套件

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

使用

NVDA+ctrl+S 選擇 WorldVoice 語音合成器。
NVDA+ctrl+V 有基本語音速度、音調、音量等基本設定,其中數字模式、中文空白間隔為 WorldVoice 多的客製設定。
數字模式:有預設(VE 預設的讀法)、自動數字(以預設語音並盡可能以數字報讀)、中文數字(強制使用中文數字讀法)、英文數字(強制使用英文數字讀法)
中文空白間隔:可設定中文間有空白時,欲停頓長度,數字愈小停頓愈短, 0 為不停頓。
WorldVoice -> 自動語言切換設定:可設定不同地區所使用的語音角色。
先選擇地區後語音列表會列出該地區可用的語音,選擇後即完成該地區與語音的對應紀錄。
用 unicode 編碼偵測文字語言勾選後,元件會根據讀到的字元偵測地區。
偵測語言時忽略數字和常見標點符號勾選後,數字與標點符號會認為是預設語音的地區文字。
WorldVoice -> 語音速度設定:可設定不同語音角色的朗讀速度。
同樣先選擇地區後語音列表會列出該地區可用的語音,再選擇好語音後,便可於速度滑桿調整數值。
速度是依不同語音區分,每個語音有各自不同的速度數值,而非依地區區分。
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
※最後更新時間:2020-11-19 21:25:32 From:220.135.204.66 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 實做上就是會根據這些標記去切換朗讀語音,會試著開發當遇到數字強制使用特定語音朗讀的功能。
也有看了一下星光雙語的做法,不過它只需處理雙語音,所以用的方式比較不用考慮擴充性,寫法彈性較低,做法比較不適合用於需考量多語音切換的情境。