[黑客人生] 助聽器選配調整軟體檢查更新

與本文相關的腳本源碼下載、說明、議題回報等,請移駕至 JediLin/Hearing-Aids-Fitting-Software-Update-Checkers 源碼倉儲。

電腦桌面上有 35 個應用程式啟動捷徑圖示,包含 19 個廠牌的助聽器選配軟體及更新檢查軟體,以及 NAL-NL2 與 CAM2 處方公式的官方軟體

因為工作或研究需求,而安裝眾多廠家助聽器選配調整軟體的夥伴,必然遭遇管理這些軟體版本的困擾。主流大廠的助聽器選配調整軟體(以下簡稱選配軟體)多半具備線上檢查更新、下載相關媒體庫等功能,這些功能可能要先執行選配軟體後從功能選單裡執行,或者要另外在電腦背景執行「更新檢查軟體」。一旦檢查確認軟體版本更新,這些選配軟體也能自動下載更新所需的檔案,提供安裝之餘也讓使用者能夠另存這些檔案的副本,以便布署到其他電腦上。

然而對於電腦安裝眾多軟體的情況,逐一執行這些軟體顯得不是很有效率,在背景執行所有更新檢查軟體也顯得太耗費電腦資源;又或者因為安全考量,不想把執行選配軟體的電腦接上網際網路,因而無法使用相關的檢查更新功能。有沒有什麼辦法,可以更容易地檢查選配軟體更新、甚至把更新要用到的檔案直接下載呢?

約莫 2022 年 10 月底,在助聽輔具使用者間知名的 HearingTracker 討論區上,有位 Blue 發起了「Universal Hearing Aid Software Downloader」討論串,在 GitHub 上提供他研究後撰寫的 Python 腳本,用來檢查 Phonak TargetSignia Connexx 等軟體的更新檔案,後續並陸續增加 Oticon Genie, Oticon Genie 2, Philips HearSuite, Sonic ExpressFit, Unitron TrueFit, Widex Compass GPS, Bernafon OasisNXT, Rexton Connexx, ReSound Aventa, ReSound Smart Fit 等軟體的支援。

然而 HearingTracker 的使用者普遍不具程式開發背景,而且助聽輔具領域向來有許多不肖人士虎視眈眈,即使這些腳本的源碼就在那邊供眾人檢視,許多 HearingTracker 使用者仍對 Blue 抱持懷疑。2023 年春季期間,Blue 刪除了他在 HearingTracker 發起的文章(討論串仍然保留著,更名為「[post deleted]」),他在 GitHubBluebotlabz/Hearing-Aid-Software-Downloaders 源碼倉儲也轉為不公開(或刪除),不過有幾個人曾對源碼分支 (fork),例如 Markismus/Hearing-Aid-Software-Downloaders;我自己從 v1.7.4 版起開始在本地端留存備份,最後保留到的版本為 2022 年 12 月 6 日 v1.8.0 的釋出候選,我從 2023 年初起,開始著手擴充支援的軟體項目。

首先我以 Blue (Bluebotlabz) 撰寫的 Unitron 腳本為基礎,改寫出 Hansaton 腳本,再從 Signia 腳本改寫出 Audio ServiceA&M 腳本;後來我獨自對 Starkey Inspire OSStarkey Pro Fit 進行研究,利用 Bluelibhearingdownloader.py 函式庫完成相關腳本。

這些改寫及研究的過程細節暫且擱置不細說,有興趣一起研究的夥伴姑且可以留意幾個細節:

  • 有些軟體更新檢查的 API (Application Programming Interface) 會核對本地端及遠端的時間差異,如果相差太多則視為異常呼叫而不傳回檢查結果。
  • 有些軟體的更新布署採分區進行的機制,因此呼叫 API 代入的國家地區代碼將導致傳回不同的檢查結果。目前為止我還沒有發現哪套軟體會根據 IP 地址來判斷國家地區,但不代表未來也不會有。

除此之外,我覺得原本 Blue 採用的名稱(「下載器」)很容易招來不必要的關注,所以我決定改稱為「更新檢查器」。目前我維護調整過的版本也已經放到 GitHub: JediLin/Hearing-Aids-Fitting-Software-Update-Checkers。對於只是想要「使用」這些腳本的夥伴,相關步驟的簡要說明如下:

  1. 下載並安裝最新版的 Python,記得要把 python.exe 路徑加入 PATH 環境變數,然後要重開機(這個步驟每台電腦只需要做一次)。
  2. 下載最新版Hearing-Aids-Fitting-Software-Update-Checkers.zip 檔案並解壓縮。
  3. 執行(例如用游標雙擊)前一步資料夾中的 start-Windows.bat 批次檔,接下來依照畫面指示進行即可;初次使用可能要花比較多時間,因為程式腳本需要安裝相關的函式庫,之後就會快很多了。

大概是這樣。詳細說明請參考上述腳本的 README 文件;如果對程式腳本有任何修改意見,歡迎直接提出修改建議給我,或者發議題也可以。

jedi.org: