[分享] Phonetic punctuation 語音標點 附加元件 - 討論區

[分享] Phonetic punctuation 語音標點 附加元件

visibility文章瀏覽次數 92 reply_all文章回覆數 10

特種兵

特種兵圖像(預設)

2020-11-14 15:31:10

From:1.161.150.133

基本資訊

名稱: Phonetic punctuation 語音標點 附加元件

載點: Phonetic punctuation

版本: 1.0

版本要求: NVDA 2019.3 (含)以上

簡介

這個附加元件可以讓我們在標點符號出現時使用聲音的方式來表現標點符號。

例如你想知道標點符號,但又覺得 NVDA 一直朗讀逗號、句號的對於原本閱讀文章的流暢度有影響,甚至整體會覺得有點被打斷的狀況,

那就很適合使用這個附加元件了。

在使用之前可以先聽聽看下面連結的音檔效果,看看跟你想像的感覺一不一樣。

進入連結後點擊 play 按鈕即可播放 10 秒鐘的 demo.

Phonetic punctuation demo

操作

安裝後,需要配合以下操作:

  1. 將標點符號等級設置為你想要的,如果是全部的話才會對所有的標點符號產生效果,可按 nvda+p 來切換標點符號等級
    也可以到 NVDA功能表 -> 偏好設定 -> 設定 -> 語音 -> 標點符號、特殊符號等級 下拉方塊選取
  2. 需要啟用語音標點設定,按 nvda+alt+p 切換,Phonetic punctuation on 為開啟,Phonetic punctuation off 為關閉
  3. 需要在 NVDA功能表 -> 偏好設定 -> Phonetic Punctuation and Audio Rules 設定好語音標點規則或加入自己想要的規則
  4. 在預設語音標點規則中,並沒有啟用所有的語音標點設定,你可以自由啟用或編輯他們,這部分的設定我後面補充
  5. 語音標點規則存放在 phoneticPunctuationRules.json 這個檔案中,是以 json 格式撰寫
    隨身版位置: NVDA資料夾 -> userConfig
    安裝版位置: C:\Users\Administrator\AppData\Roaming\nvda 其中 administrator 是你目前的電腦使用者帳號
  6. 語音標點聲音檔 wave 格式存放在 addons -> phoneticPunctuation -> sounds 裡面的幾個資料夾,你可以新增資料夾與自己喜愛的聲音,
    addons 的絕對路徑同上

注意

因為語音標點需要新的語音合成器框架才能支援,至 2019 年為止,確定可以順利完整支援的語音合成器如下:

  • Microsoft Speech API
  • eSpeak
  • Windows OneCore Voices

已經確定支援度有問題的語音合成器如下:

  • IBMTTS
  • RHVoice

當然合成器本身在新版 NVDA 就無法使用的也是不能支援的,

我測試了一下 WorldVoice 原則上可以支援的,但沒有完整測試過,合成器這部分提供的是作者說明文件上的資料。

但在 WorldVoice 發現有小數點的數字在搭配語音標點時念完小數點後面的數字才會聽到小數點的聲音。

設定

設定全部都在 NVDA功能表 -> 偏好設定 -> Phonetic Punctuation and Audio Rules 中

主介面

  1. Rules 規則清單,列出所有語音標點設定規則,使用上或下方向鍵來查看與選擇
    每個列的每個欄位用分號隔開,共有四欄:
    • 符號本身
    • status 狀態: Disabled 停用中,Enabled 啟用中
    • type 類型: builtInWave 內建聲音,wave 自定聲音,beep 嗶嗶聲
    • effect 效果,後面是聲音檔存放的路徑,如果類型選擇 beep 的話就沒有這個欄位
  2. Disable toggle 停用按鈕或 Enable toggle 啟用按鈕
    這個項目跟目前狀態是相反的,概念跟管理附加元件的停用與啟用有點像
  3. Move up 該語音標點設定往上移動按鈕,不影響優先權
  4. Move down 該語音標點設定往下移動按鈕,不影響優先權
  5. Add audio rule 新增語音標點聲音規則按鈕
  6. Edit 編級該語音標點設定按鈕
  7. Remove rule 刪除該語音標點聲音規則按鈕
    刪除的只是語音標點規則,與原本標點符號的設定沒關係

Edit 編級該語音標點設定

  1. Pattern 樣式 編輯區
    通常是標點符號本身,有些會語 json 格式充突的需要加反斜線 \
  2. Rule enabled 啟用 核取方塊 勾選或不勾選
    對應主介面的 status 狀態
  3. Type 類型 單選鈕 對應主介面的類型,會影響 effect 效果設定
    • Built in wave 內建
    • Wave file 自定
    • Beep 嗶嗶聲
  4. 選 Built in wave 內建會有兩個設定
    • Category 選擇聲音資料夾下拉方塊,就是 sounds 下面的那些資料夾
    • Wave 選擇聲音檔下拉方塊,所以 Category 要選對才找得到檔案,選到的聲音會直接播放出來
    • Start adjustment 數值編輯區,單位是毫秒,這個我不會翻譯,直接說測試效果
      0 是中間值,這個值是控制標點符號後跟隨聲音的速率
      數值太大,你的音檔前幾秒的聲音會被吃掉
      數值是負的太小,當標點符號出現後過幾秒才聽得到聲音
    • end adjustment 數值編輯區,單位是毫秒,這個我不會翻譯,直接說測試效果
      0 是中間值,這個值是控制語音標點聲音播完後接著後續文字的速率
      數值太大,你的音檔比較長的話,還沒播完,後面的文字就會繼續被 NVDA 朗讀了
      數值是負的太小,語音標點聲音播完後幾秒才會繼續朗讀後面的文字
  5. 選 Wave file 自定會有兩個設定
    • Wav file 聲音檔編輯區,可以直接輸入聲音檔絕對路徑與檔名
    • browse 瀏覽按鈕,點擊後彈出 windows 選擇檔案的對話框供選擇,這樣就不用自己打路徑了,選好後路徑會顯示在 Wave file
    • Start adjustment 同上
    • end adjustment 同上
  6. 選 beep 嗶嗶聲會有兩個設定
    • Tone 頻律,數值越高嗶聲閱高,負的則越低
    • Duration 單位是毫秒,數值越大嗶聲越長,負的則越短促
  7. Comment 註解編輯區
    如果有撰寫這個欄位,那麼主介面的規則清單第一欄就會變成顯示這個值
  8. test 測試按鈕,會以 hello world 這兩個字中間夾語音標點做為範例播放
    • 按一下可以聽看看語音標點的規則測試結果
    • 快按兩下則在測試時會重複選定的語音標點聲音

Add audio rule 新增語音標點聲音規則

其實所有的設定跟 edit 編輯一樣,差別只在於 edit 編輯設定中已經有值可以參考了

設定調整案例

上面很用心的寫出所有設定,在這裡有個案例讓大家練習一下。

假設你的語音標點音檔比較長,發現音檔還沒播完,後面的文字就已經被朗讀了,

那應該調整哪部分的數值呢?

你可以考慮調整 end adjustment 這個值,然後搭配 test 測試按鈕來聽看看結果

補充

這些預設的聲音是來自 T.V. Raman 的 emacspeak 詳情可查看 emacspeak github

實際上,標點符號要在哪個層級被語音展示還是要回歸到 NVDA 本身的標點符號設定,位置是在:

NVDA功能表 -> 偏好設定 -> 標點符號/特殊符號讀音

這也就是為什麼我們要把標點符號的朗讀等級設定成全部才會有所有語音標點的效果

然後我測試的經驗是語音標點的聲音越短越好,不然反而會有點干擾或者整個文章朗讀起來感覺不流暢

插件原文網址

留言

#1

阿慶

阿慶圖像

2020-11-16 09:10:12

From:211.23.21.202

好酷的附加元件
那寫程式的時候要聽標點,不就一堆聲音XD
看來很可以拿來好好發揮一下

#2

特種兵

特種兵圖像(預設)

2020-11-16 09:39:49

From:211.23.21.202

可惜他是自己獨立的設定
沒辦法搭配組態來使用

#3

小羔羊

小羔羊圖像(預設)

2020-11-28 08:02:00

From:114.34.88.168

想請問如果我要設定的符號是反斜線,我如果打\是無法儲存,但打兩個\之後卻是辨識兩個反斜線,
這樣如何解決

#4

小羔羊

小羔羊圖像(預設)

2020-11-28 10:48:21

From:114.34.88.168

請朋友幫忙做了中文化,
點我下載語音標點 檢體中文化版
非常厲害的中文化,竟然不用像平常的nvda附加元件那樣+語言檔,好像是直接改了整個附加元件

#5

特種兵

特種兵圖像(預設)

2020-11-29 11:47:55

From:1.161.129.104

可是我這邊測試反斜線是正常的,我是在規則使用兩個反斜線
標點符號等級調成全部,並且把這個規則挪到最上面

#6

此篇留言已被刪除,就像變了心的女朋友回不來了。

#7

小羔羊

小羔羊圖像(預設)

2020-11-29 16:05:31

From:114.34.88.168

我這邊在新增符號那寫\,從列表裡看到的也是兩個\,
確定之後在記事本上測試,不管打一個\或兩個\都無法觸發音效,
好奇怪哇

#8

特種兵

特種兵圖像(預設)

2020-11-29 22:25:21

From:1.161.129.104

你用什麼語音合成器,我是用 oneCore 測試的。

#9

小羔羊

小羔羊圖像(預設)

2020-11-30 11:47:43

From:114.34.88.168

我用worldVoice

#10

特種兵

特種兵圖像(預設)

2020-11-30 13:30:45

From:211.23.21.202

那你的 oneCore 可以嗎?