基本資訊
名稱: Phonetic punctuation 語音標點 附加元件
版本: 1.0
版本要求: NVDA 2019.3 (含)以上
簡介
這個附加元件可以讓我們在標點符號出現時使用聲音的方式來表現標點符號。
例如你想知道標點符號,但又覺得 NVDA 一直朗讀逗號、句號的對於原本閱讀文章的流暢度有影響,甚至整體會覺得有點被打斷的狀況,
那就很適合使用這個附加元件了。
在使用之前可以先聽聽看下面連結的音檔效果,看看跟你想像的感覺一不一樣。
進入連結後點擊 play 按鈕即可播放 10 秒鐘的 demo.
操作
安裝後,需要配合以下操作:
- 將標點符號等級設置為你想要的,如果是全部的話才會對所有的標點符號產生效果,可按 nvda+p 來切換標點符號等級
也可以到 NVDA功能表 -> 偏好設定 -> 設定 -> 語音 -> 標點符號、特殊符號等級 下拉方塊選取 - 需要啟用語音標點設定,按 nvda+alt+p 切換,
Phonetic punctuation on
為開啟,Phonetic punctuation off
為關閉 - 需要在 NVDA功能表 -> 偏好設定 -> Phonetic Punctuation and Audio Rules 設定好語音標點規則或加入自己想要的規則
- 在預設語音標點規則中,並沒有啟用所有的語音標點設定,你可以自由啟用或編輯他們,這部分的設定我後面補充
- 語音標點規則存放在 phoneticPunctuationRules.json 這個檔案中,是以 json 格式撰寫
隨身版位置: NVDA資料夾 -> userConfig
安裝版位置:C:\Users\Administrator\AppData\Roaming\nvda
其中 administrator 是你目前的電腦使用者帳號 - 語音標點聲音檔 wave 格式存放在 addons -> phoneticPunctuation -> sounds 裡面的幾個資料夾,你可以新增資料夾與自己喜愛的聲音,
addons 的絕對路徑同上
注意
因為語音標點需要新的語音合成器框架才能支援,至 2019 年為止,確定可以順利完整支援的語音合成器如下:
- Microsoft Speech API
- eSpeak
- Windows OneCore Voices
已經確定支援度有問題的語音合成器如下:
- IBMTTS
- RHVoice
當然合成器本身在新版 NVDA 就無法使用的也是不能支援的,
我測試了一下 WorldVoice 原則上可以支援的,但沒有完整測試過,合成器這部分提供的是作者說明文件上的資料。
但在 WorldVoice 發現有小數點的數字在搭配語音標點時念完小數點後面的數字才會聽到小數點的聲音。
設定
設定全部都在 NVDA功能表 -> 偏好設定 -> Phonetic Punctuation and Audio Rules 中
主介面
- Rules 規則清單,列出所有語音標點設定規則,使用上或下方向鍵來查看與選擇
每個列的每個欄位用分號隔開,共有四欄:- 符號本身
- status 狀態: Disabled 停用中,Enabled 啟用中
- type 類型: builtInWave 內建聲音,wave 自定聲音,beep 嗶嗶聲
- effect 效果,後面是聲音檔存放的路徑,如果類型選擇 beep 的話就沒有這個欄位
- Disable toggle 停用按鈕或 Enable toggle 啟用按鈕
這個項目跟目前狀態是相反的,概念跟管理附加元件的停用與啟用有點像 - Move up 該語音標點設定往上移動按鈕,不影響優先權
- Move down 該語音標點設定往下移動按鈕,不影響優先權
- Add audio rule 新增語音標點聲音規則按鈕
- Edit 編級該語音標點設定按鈕
- Remove rule 刪除該語音標點聲音規則按鈕
刪除的只是語音標點規則,與原本標點符號的設定沒關係
Edit 編級該語音標點設定
- Pattern 樣式 編輯區
通常是標點符號本身,有些會語 json 格式充突的需要加反斜線\
- Rule enabled 啟用 核取方塊 勾選或不勾選
對應主介面的 status 狀態 - Type 類型 單選鈕 對應主介面的類型,會影響 effect 效果設定
- Built in wave 內建
- Wave file 自定
- Beep 嗶嗶聲
- 選 Built in wave 內建會有兩個設定
- Category 選擇聲音資料夾下拉方塊,就是 sounds 下面的那些資料夾
- Wave 選擇聲音檔下拉方塊,所以 Category 要選對才找得到檔案,選到的聲音會直接播放出來
- Start adjustment 數值編輯區,單位是毫秒,這個我不會翻譯,直接說測試效果
0 是中間值,這個值是控制標點符號後跟隨聲音的速率
數值太大,你的音檔前幾秒的聲音會被吃掉
數值是負的太小,當標點符號出現後過幾秒才聽得到聲音 - end adjustment 數值編輯區,單位是毫秒,這個我不會翻譯,直接說測試效果
0 是中間值,這個值是控制語音標點聲音播完後接著後續文字的速率
數值太大,你的音檔比較長的話,還沒播完,後面的文字就會繼續被 NVDA 朗讀了
數值是負的太小,語音標點聲音播完後幾秒才會繼續朗讀後面的文字
- 選 Wave file 自定會有兩個設定
- Wav file 聲音檔編輯區,可以直接輸入聲音檔絕對路徑與檔名
- browse 瀏覽按鈕,點擊後彈出 windows 選擇檔案的對話框供選擇,這樣就不用自己打路徑了,選好後路徑會顯示在 Wave file
- Start adjustment 同上
- end adjustment 同上
- 選 beep 嗶嗶聲會有兩個設定
- Tone 頻律,數值越高嗶聲閱高,負的則越低
- Duration 單位是毫秒,數值越大嗶聲越長,負的則越短促
- Comment 註解編輯區
如果有撰寫這個欄位,那麼主介面的規則清單第一欄就會變成顯示這個值 - test 測試按鈕,會以 hello world 這兩個字中間夾語音標點做為範例播放
- 按一下可以聽看看語音標點的規則測試結果
- 快按兩下則在測試時會重複選定的語音標點聲音
Add audio rule 新增語音標點聲音規則
其實所有的設定跟 edit 編輯一樣,差別只在於 edit 編輯設定中已經有值可以參考了
設定調整案例
上面很用心的寫出所有設定,在這裡有個案例讓大家練習一下。
假設你的語音標點音檔比較長,發現音檔還沒播完,後面的文字就已經被朗讀了,
那應該調整哪部分的數值呢?
你可以考慮調整 end adjustment 這個值,然後搭配 test 測試按鈕來聽看看結果
補充
這些預設的聲音是來自 T.V. Raman 的 emacspeak 詳情可查看 emacspeak github
實際上,標點符號要在哪個層級被語音展示還是要回歸到 NVDA 本身的標點符號設定,位置是在:
NVDA功能表 -> 偏好設定 -> 標點符號/特殊符號讀音
這也就是為什麼我們要把標點符號的朗讀等級設定成全部才會有所有語音標點的效果
然後我測試的經驗是語音標點的聲音越短越好,不然反而會有點干擾或者整個文章朗讀起來感覺不流暢
最後更新:2020-12-30 10:16:47
From: 211.23.21.202
By: 阿慶