Azure TTS Importer 把 Azure 語音金鑰變成閱讀器聽書設定

Azure TTS Importer 是原始碼公開的聽書設定產生器,把手機閱讀器接上微軟 Azure 神經語音,閱讀器直接向微軟端點合成語音。金鑰可以複製設定、一鍵匯入或掃 QR 匯入,三條路線的曝露面各不相同。

用 AI 摘要這篇文章:

把手機閱讀器接上微軟的神經語音,最多人猶豫的其實只有一句話:我的 Azure 金鑰要交到別人伺服器上嗎?Azure TTS Importer 對這件事給的答案比同類工具清楚。這個放在 tts.yfi.moe 的網頁工具只做一件事,把你填入的 Azure 區域與金鑰換成閱讀器看得懂的朗讀引擎設定。日常聽書時,閱讀器拿著這份設定直接向微軟的語音端點請求合成,音訊與書籍文字都不經過這個網站。真正需要停下來看的地方只有匯入那一步:它提供的三條匯入路線裡,有兩條會把含金鑰的設定以網址形式經過站方伺服器。

先交代基本盤。這是 GitHub 帳號 yy4382 的個人專案,用 TypeScript 與 Next.js 寫成,2024 年 1 月開張,截至 2026 年 8 月 29 日累積 423 顆星與 42 次 fork,提交數 175 次,最近一次合併落在 2026 年 5 月 31 日,issue 清單上的討論全數結案。官方站點跑在 Vercel 上,README 明說站點就是由這份倉庫程式碼直接生成。要留意的一點是倉庫裡沒有授權條款檔案,GitHub 的授權欄位是空的,原始碼看得到與能不能任意修改再散布是兩回事,這點後面會再回到。

它只產生設定檔,不碰你的音訊

從原始碼看它的分工很乾淨。產生 Legado 設定的 legado.ts 裡,最終輸出的引擎設定會把請求指向 https://{region}.tts.speech.microsoft.com/cognitiveservices/v1,金鑰放在 Ocp-Apim-Subscription-Key 標頭,內容是一段包好的 SSML。也就是說,等你聽書的時候,發話的是閱讀器本人,收話的是微軟,這個網站從頭到尾不在傳輸路徑上。你在網頁上取聲音清單、按試聽,這兩個動作同樣是瀏覽器帶著金鑰直接打微軟端點,沒有經過任何中繼。

這個架構決定了它與雲端語音代理服務的差別。市面上不少聽書方案要嘛把整段文字送到自家伺服器再回傳音檔,要嘛要求你部署轉發服務;這裡的站方伺服器只在你匯入設定那一刻短暫出現,之後就退到幕後。對書籍內容隱私在意的人,這是最值得放進決策的一條:你讀到哪一頁、聽了哪些字,只有閱讀器與微軟知道。

金鑰在哪一步離開你的手:三條匯入路線

匯出區把每個閱讀器的選項攤得很開,照金鑰的流向可以分成三種。

Azure TTS Importer 匯出區畫面,包含閱讀、愛閱記、源閱讀三個分頁與一鍵匯入、掃 QR、複製連結等按鈕Pin
匯出區把每個閱讀器的匯入選項攤在同一畫面,圖為 Edge TTS 面板,Azure 面板結構相同
  • 複製設定文字:設定 JSON 在瀏覽器裡生成,你手動複製後貼進閱讀器的朗讀引擎設定。金鑰全程不出瀏覽器,是曝露面最小的一條路。
  • 一鍵匯入:按下按鈕會開啟閱讀器自己的連結協定,例如 Legado 的 legado://import/httpTTS 與愛閱記的 iReadNote://import。連結裡夾著一條指向站方伺服器的設定網址,閱讀器向它請求,伺服器解析後把設定回傳。方便的代價是:你的金鑰以明文查詢參數的形式,隨這次請求經過了站方伺服器。
  • 掃 QR:QR 圖的內容就是同一條設定網址,掃碼等於把含金鑰的網址帶著走,性質與一鍵匯入相同。

README 對隱私的說法是伺服器不會儲存你的金鑰等資訊。對照程式碼,這句話屬實:兩個後端路由只做解析與回傳,整個專案沒有資料庫,也沒有把請求寫進任何儲存的路徑。不過「不儲存」與「不曾出現」是兩件事,網址型請求本來就有機會落在伺服器與中間設備的存取紀錄裡,這是查詢字串帶敏感參數的通則,不是這個站特有的問題。另外兩個路由都裝了 PostHog 遙測,每當閱讀器來取設定,就記一筆事件,識別碼用的是閱讀器當下的 IP,附帶使用者代理字串;網頁端同樣有分析腳本,記錄你匯出到哪個 App、用了複製還是一鍵,內容不含金鑰。金鑰與區域也會存在瀏覽器的 localStorage,刷新頁面會自動讀回,這點 README 有誠實寫明。

把這幾件事疊起來,這個工具的隱私樣貌其實比首頁一句話宣稱來得立體:設定產生與試聽在瀏覽器,日常合成在閱讀器與微軟之間,站方伺服器只在匯入那一次接手,不留資料,只留一筆統計事件。它不是零足跡,但每一條足跡去了哪裡,都查得到出處。真正在意的人還有一個更強的選項:Azure 後端本來就提供重新產生金鑰的功能,匯入完成後把金鑰換掉,舊網址裡的字串就跟著失效,等於把那一筆曝露設定保存期限。

實際挑路線的原則很簡單:重視金鑰的人用複製設定文字,一次貼好就不用再碰;要圖方便用手機直接一鍵匯入的人,心裡知道那一筆請求經過站方就好。想要更省心的折衷是為聽書專門建一把金鑰,真有疑慮時到 Azure 後端重新產生,幾分鐘就能換掉。對金鑰流向有潔癖、又不想依賴別人部署的人,這份原始碼可以自己架,後面會講。

你的閱讀器在支援清單上嗎

這裡有一個說明與介面對不上的地方,要先講清楚。README 列了六個支援對象:閱讀(Legado)、愛閱記、伺服器版閱讀(hectorqin/reader)、愛閱書香、源閱讀與源閱。實際打開匯出區,分頁只有三個:閱讀、愛閱記、源閱讀。對照原始碼,匯出元件也真的只有三份,原始碼裡沒有伺服器版閱讀與源閱的專屬處理。前者是 Legado 的伺服器形態,套用的設定與 Legado 同一份,列在說明裡合理;後者怎麼匯入沒有單獨交代,用源閱的人建議先以說明頁現況為準。

三個分頁裡,閱讀(Legado)是 Android 上的開源閱讀器,接受度最廣,一鍵匯入、掃 QR、網路匯入、貼上設定四種方式都開;網路匯入的做法是複製設定網址,到閱讀器的語音管理選單貼上,性質與一鍵匯入相同,都是讓 App 去站方伺服器把設定拉回來。愛閱記是 iOS 上的聽書 App,台灣 App Store 查得到,免費,不用切到其他區的商店帳號;它走一鍵匯入或掃 QR,也可以複製設定文字後,到 App 內聽書設定的線上語音庫管理,用 JSON 輸入的方式貼上。源閱讀用的設定端點與 Legado 同一條,屬於相容形態。愛閱書香是另一回事:介面沒有給它直接匯入,說明頁提供的是一份手動對照教學,要你先把語音匯進愛閱記,再逐欄抄到愛閱書香,而且因為它的限制,一次只能帶一種語音風格,多選時每個聲音只會匯入不含風格的版本。愛閱書香使用者要有心理準備,這段手動工省不掉。

從辦 Azure 帳號到匯入聽書設定

走 Azure 官方 API 這條路,門檻在帳號不在工具。你要有一個 Azure 帳號,並且在建立語音服務資源時綁一張信用卡;站方教學的提醒是這張卡要走 Visa 或 Mastercard 等國際卡組織,台灣一般發的卡多半符合,這是微軟申請流程的門檻,跟工具無關。費用的部分,站方說明頁寫語音服務每月提供 50 萬字元的免費額度,聽書量在一般水準的人不太容易碰到底,但重度聽書或拿去跑其他用途的人,記得先到微軟端確認自己的額度與計費方式,這個數字以微軟官方文件為準。

操作流程從介面與程式碼還原起來很短:建好資源後,到概觀頁抄下區域代碼與金鑰,區域代碼長得像 southeastasia 這種小寫字串,金鑰是一長串十六進位;把這兩個值填進匯入面板的欄位,按取得聲音清單,瀏覽器會帶著金鑰直接向微軟拉回整份可用語音,這份清單也會存在瀏覽器裡,之後刷新不必重抓。接著選聲音,可以只挑一個,也可以選全部中文或全部一次匯入;部分聲音附帶風格清單,像開心、朗讀這類語氣變化,匯出時每個風格會各自生成一條引擎,全部中文模式一次會生出上百條,好處是之後在閱讀器裡隨選隨換。選好可以先按試聽,同一個介面直接合成一段樣本,滿意再匯出。進階欄位有音調、輸出格式與自訂 User-Agent,一般情況保持預設即可。

Azure TTS Importer 官方站點的 Azure 匯入面板,左側導覽列,右側為 API 設定卡片與區域、金鑰欄位Pin
Azure 匯入面板:填入區域與金鑰、取得聲音清單後,即可選語音與匯出設定

語速模板是 Azure 面板在 2026 年 3 月開放自訂的功能,預設是 speakSpeed 除以 10 的寫法,讓閱讀器內建的語速滑桿能直接對到 Azure 的語速參數,想讓預設速度偏快或偏慢的人在這裡調,一般使用保持預設就好。

沒有信用卡的人,有另一條免費路線

同一個網站還掛了第二個面板,走的是微軟大聲朗讀 API,也就是大家慣稱的 Edge TTS。這條路不需要 Azure 帳號、完全免費,代價依照站方對比頁的說法,是聲音選擇少、請求頻率限制較嚴,也缺少語音風格這類進階功能。技術上它還多一道工序:Edge TTS 走 WebSocket 協定,多數閱讀器不支援,所以要先自架一個把 WebSocket 轉成 HTTP 的轉發服務,作者是同一人的 read-aloud 專案,可以部署到 Cloudflare Workers、Vercel 或 Docker 容器。Edge TTS 面板還有一個 2026 年 5 月底才加入的相容模式,匯入後朗讀出錯或沒有聲音時切過去再試一次,它處理的是文字編碼層的差異;這個開關掛在 Edge TTS 面板上,Azure 匯出區沒有它,走 Azure 路線遇到問題時別在那一頁找。只想偶爾把文字轉成語音檔、不想處理任何自架的人,站上先前介紹過的 Text2Voice 就是 Edge TTS 的網頁入口,填文字按鈕就下載,那條路更省事。

授權、自架與專案狀態

這些邊界都看過之後,最後一組事實是歸屬面的。這份原始碼現在沒有附授權條款,最早版本其實掛過 MIT,2025 年 2 月改版重寫時連授權檔一併移掉了,所以嚴格說它是原始碼公開,而非授權明確的開源專案,個人拿來自架聽書沒有人會管,商業利用或二次散布前,這個缺口要自己評估。自架本身不難,倉庫就是一個 Next.js 專案,官方站點也是這樣部署出來的,自己架一套之後,前面講的兩件事都收回到你手上:遙測要不要開你自己決定,含金鑰的設定網址經過的也是你自己的伺服器。

專案的維護節奏看起來是低頻但活著:2024 年開張至今 175 次提交,2.0 版換過一次介面,2026 年 3 月加語速模板、5 月底合併文字編碼相容,issue 全部結案,作者同時維護 read-aloud 轉發器,並且持續把其他聽書設定產生器收進這個專案。以 423 顆星的個人工具來說,這個狀態屬於可以安心投入設定成本的那一檔。

什麼時候選它,什麼時候走別條路

走完這些條件,誰適合用 Azure TTS Importer 也就清楚了:已經在用閱讀或愛閱記這類閱讀器、想把聽書聲音從機器感明顯的免費音源換成 Azure 神經語音的人;願意辦 Azure 帳號綁卡、換每月免費字元額度的人;以及在意金鑰流向、願意多花一分鐘走複製設定路線的人。第三種人在這個工具裡得到的對待比多數同類服務好,因為它把低曝露路線做成正式功能,不必你自己去改設定檔。

繞道的名單也明確。不想為了聽書辦卡綁卡的人,走 Edge TTS 免費路線,代價是自架轉發器與較少的聲音;要的是把文章或字幕直接變成音檔的一次性轉換,Text2Voice 這類網頁工具更對題;需要長時間、可離線的在地合成,站上介紹過的 VoiceCraft 與把語音處理整條流程放在本機的 Voice-Pro,形態上更接近你的需求。

收尾前留一個判斷方式:面對任何要你填第三方金鑰的工具,先問金鑰在哪一步離開你的手、離開之後去了哪裡。Azure TTS Importer 在這兩題上的答案都寫在程式碼裡,音訊永遠直連微軟,金鑰只在匯入那刻有機會經過站方,而且要不要走那一步,它讓你自己挑。這種把資料流向攤開給使用者選的做派,在小工具裡不算常見,也是願意推薦它的主要原因。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1036

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...