SAM TTS 免費文字轉語音實測:一個站三種 Sam,你的文字去了哪

SAM TTS(samtts.com)標榜在瀏覽器免費重現 Windows XP 經典語音。實測發現首頁產生器把全文放進網址交給伺服器合成,與本地處理的宣稱有落差;三十個聲音名實為同一引擎的參數預設;站內真正在瀏覽器本地跑的,是 1982 年 C64 時代的 SAM 引擎。本文整理兩條產生器的差異、隱私邊界與授權現況。

用 AI 摘要這篇文章:

在搜尋引擎打「Microsoft Sam 線上」或「懷舊語音產生器」這類關鍵字,繞幾圈之後多半會落在同一個網站:samtts.com。它打著免費、免註冊、打開即用的招牌,讓你輸入文字就得到一段機器腔的語音,還能下載 WAV 檔。這類需求本身很單純,做影片配音、玩遊戲旁白、做懷舊梗圖,都只需要三十秒的機器音。但我把這個站的前端程式碼、語音介面和它背後的 API 實際拆了一遍之後,發現值得先講的不是它好不好用,而是一個更基本的問題:你在這個站聽到的聲音,到底是誰的聲音。

答案有點出乎意料:一個網站,同時賣著三種 Sam。行銷文案裡的那個 Sam,是 Windows XP 時代微軟的朗讀程式語音;語音選單裡列的那串名字,是九零年代末 SAPI4 時代語音引擎的規格名;而整個站裡唯一會載入那顆本地引擎的頁面,跑的是 1982 年 Commodore 64 電腦上的那套老軟體。三段身分剛好橫跨四十年,行銷上糊在一起沒有人受傷,但只要你想知道自己輸入的文字去了哪、下載的音檔能不能商用,這三個問題就必須拆開回答。以下是我實測後的拆法。

先分清三個 Sam,才不會問錯問題

第一個 Sam 是情懷的主角。Windows 2000 與 XP 內建的朗讀功能,預設語音就叫 Microsoft Sam,很多人對「電腦說話」的第一印象來自它。依照微軟語音平台的版本史,這組語音有 SAPI4 與 SAPI5 兩代,發音與斷句習慣並不相同,Mike 與 Mary 則是當年可另外下載的搭配組合。你記憶裡那個忽高忽低的機器腔,多數時候指的是它。

選單上的名字則是另一個身分。samtts.com 的語音下拉選單列了三十個左右的名字,Adult Male 編號一到八、RoboSoft 一到六、Mike in Hall、Mary in Space 這類寫法,全是 SAPI4 時代語音引擎的規格名稱,紫色猴子 BonziBUDDY 用的也是這個體系的聲音。這些名字對老玩家有辨識度,但它們在本站的意義,後面實測會給出答案。

最老的那個則藏在站內深處。站內有一個「Software Automatic Mouth」工具頁,跑的是 1982 年 Don’t Ask Software 公司替 C64 與 Atari 販售的商業語音軟體,名字縮寫恰好也是 SAM。原始手冊還收藏在移植專案的倉庫裡:整套合成器約 9KB,加上一個約 6KB 的英文轉音節程式,在那個軟體磁片年代就是一個賣錢的產品。它與微軟的 Sam 沒有任何技術親戚關係,純粹是名字撞在一起。

把三段身分攤開,一個實際的困擾就解開了:為什麼站上的聲音聽起來「好像」又「不太像」記憶中的 XP。因為情懷的對象與實際發聲的引擎,本來就是兩個時代的東西。

首頁產生器實測:你的文字放進網址,送去伺服器

這個站最該知道的一件事,藏在輸入框背後。我把首頁的產生器實際操作一輪,再拆解它載入的前端程式碼:按下說話鈕時,網頁會把你輸入的全文放進一個 GET 請求的網址參數裡,向站內的 /api/demo/sapi4-tts 端點要回一份 WAV 音檔,再交給瀏覽器播放。換句話說,合成不是在你的電腦上做的,文字會先離開你的瀏覽器。直接用命令列重現這個請求也成立:不需要登入、不需要任何憑證,貼上文字就回傳一份 22050Hz、16 位元、單聲道的 WAV。

SAM TTS 官網首頁的 SAPI4 語音產生器介面,復古視窗外觀搭配文字輸入與聲音選單Pin
samtts.com 首頁產生器:復古視窗外觀,實際合成在伺服器端完成

這一點之所以重要,是因為首頁文案的白紙黑字寫著:完全在瀏覽器內生成、無伺服器處理、確保隱私。宣稱與行為對不上。站方的關於頁與隱私政策其實有留但書,寫著部分頁面、展示或帳務功能可能使用伺服器端處理,只是這段話不會出現在你按下說話鈕的地方。文字放進網址送出還有一層額外意義:網址會被瀏覽器、代理伺服器與伺服器日誌逐層留痕,比放進請求正文更顯眼。拿它朗讀草稿、未發表的文案或任何不想留紀錄的內容前,這是該先知道的事。

速度與音高的控制倒是真的。同一段「Hello, I am Sam.」,語速 100 時回來 3.09 秒的音檔;語速調到 30,拉長成 13.76 秒;調到 450,壓縮成 0.68 秒,近二十倍的伸縮範圍。音高 50 到 200 之間的變化也反映在波形上。對做音效的人來說,這兩個旋鈕的可用範圍算誠意十足。

順帶一提這個站的另一面:頁面載入的同時,廣告與分析指令碼也一起上工。我在實測的請求紀錄裡看到 Google 廣告聯播、微軟 Clarity 工作階段錄影分析、同意管理與行銷歸因追蹤等多個第三方服務。這在免費工具站是常見的商業模式,不必苛責,但它與「確保隱私」的文案放在一起看,就得自己衡量:文字之外,你的滑鼠移動與停留也在被觀察的範圍裡。

三十個聲音名字,一個引擎的參數表

選單上那三十個名字,實際差異有多大?我對著同一句文字,把每個聲音都呼叫一次,直接比對回傳音檔的位元組內容與時長。先講一個測試中的插曲:起初我照選單項目的內部代號去呼叫,九個聲音回來的音檔竟然位元組完全相同,雜湊值一致、時長一致。回頭細讀前端程式碼才發現,介面送出的是選單上顯示的完整名稱,代號對伺服器來說是無法辨識的輸入,而它對無法辨識的聲音名不報錯,靜默退回預設音。這個設計本身值得一提:選錯格式不會有任何提示。

改用顯示名稱重測,聲音之間確實有差,但差的方式洩了底。Adult Male #2 與 Adult Female #1 回來的音檔時長相同、大小相同、波形不同,這是同一個引擎換一組音高參數的典型長相;Mike in Space 與 Mike 時長相同、波形不同,尾段多出一截逐漸衰減的殘響,等於在原音上疊一層空間效果;RoboSoft One 則連時長都不同,換的是另一組速度參數。換句話說,三十個名字對應的差異都發生在參數層,沒有一個名字代表另一顆合成器。期待「Female Whisper」會有氣音耳語的人會失望,它只是同一個喉音引擎的另一組設定。

站方行銷頁把這份選單稱為經典 SAPI4 聲音庫,這個說法在最嚴格的意義上無法成立:SAPI4 的原版語音是九零年代末隨 Windows 發佈的引擎,而這裡的每一個名字背後都是同一個未揭露身分的合成器加參數表。名字是情懷的引路人,不是規格的保證書。

引擎身分:站方沒說,三個常見嫌疑都排除了

伺服器端跑的到底是什麼引擎?站方沒有揭露。我把 samtts.com 自己載給瀏覽器用的那套本地引擎原始檔抓下來,在本機跑同一句文字、掃過幾十組音高與速度參數,拿輸出與伺服器回傳的音檔做波形相關性比對,再用同樣的流程比對 espeak 與其瀏覽器移植版這兩個常見的復古語音引擎。結果很乾脆:相關係數全部落在 0.03 到 0.07 之間,與隨機噪音無異。也就是說,首頁產生器的輸出,與站內自己採用的 SAM 引擎、與開源界最常用的兩個懷舊語音合成器都對不上。行銷文案裡的「SAPI4 相容」「正宗 Microsoft SAM 語音合成」這類字眼,找不到任何可驗證的技術對應物。我不會推測它實際跑的是什麼,只能給出誠實的結論:當娛樂工具用,它確實能出機器音;當還原工具用,目前沒有證據支持它還原了任何特定的老引擎。

真正本地的只有一頁,而且跑的是 1982 年那顆

有趣的是,這個站裡確實有一條完全兌現「瀏覽器本地生成」承諾的產生器,只是它不在首頁。Software Automatic Mouth 工具頁載入一支名為 sam.js 的程式檔,檔頭原封不動保留著原作者的版權聲明:SamJs 0.3.0 版,版權 2017 到 2024 年 Christian Schiffler,連向 GitHub 上的移植專案。這是把 1982 年 C64 版 SAM 移植到 JavaScript 的重要社群成果,站方等於把人家倉庫裡的成果原檔拿來嵌入自己的廣告頁。

這一頁的介面也對得起原廠血統。四個滑桿對應 1982 年原版的四個控制:音高、速度、嘴形、喉音,比首頁多出嘴形與喉音兩個正統參數。另外有一排語音預設卡:Little Robot、Stuffy Guy、Little Old Lady、Extra-Terrestrial,這組名字取自移植專案文件裡整理的典型語音設定表,站方自行另配了參數值,血緣一路回溯到四十年前的原版手冊。我實測這一頁按下說話鈕的瞬間,瀏覽器沒有發出任何語音相關的外部請求,合成確實全部發生在本機;送出前它還會先把文字裡的標點與特殊符號清成空格,只留句號、逗號、問號、驚嘆號這類停頓記號給引擎,這對應原版手冊裡標點只拿來控制停頓與語調起伏的設計。要懷舊又要本地處理,這一頁才是正確答案,它證明了網頁技術做得到,也襯托出首頁宣稱與行為的落差。

SAM TTS 站內 Software Automatic Mouth 工具頁,提供音高速度嘴形喉音四滑桿與語音預設卡Pin
Software Automatic Mouth 工具頁:四個原版參數滑桿,這一頁的合成全程在瀏覽器本地

授權狀態則要潑一盆冷水。這套移植鏈的兩個上游專案,在 GitHub 上的授權欄位都是空的,原因寫在說明檔裡:這是三十多年前商業軟體的逆向工程版本,一個專案的說明檔寫現持有人 SoftVoice 公司聯繫未果、另一個寫原始公司已不存在,因此作者明言無法為程式碼套用任何開源授權,使用風險自負。對只是玩梗的人無妨,但想把生成的語音或引擎本身放進商業作品,這是一個沒有答案的授權未知數,不是可以安心標記的開源素材。

想要類似效果時,你其實有更乾淨的選擇

理解了這個站的結構,選擇就清楚了。如果你的需求是復古機器音且希望本地處理,SAM 移植專案自己的示範頁就在 GitHub Pages 上,免費、無廣告、無登入,與站內那頁用的是同一顆引擎的官方展示;另一個由 C 版移植作者維護的網頁版也還在持續運作,兩者我查詢時都正常回應。要更現代的自然語音,先前實測過的 微軟 Azure 語音服務 一類工具在音質上完全是另一個世代,同場的 VoiceCraftAudioTextHub 也都是免費文字轉語音的實測案例;要把語音與其他音訊處理銜接,Audiomass 線上錄音編輯器 可以直接接手後製。

samtts.com 的存在價值也不是零。它把三十個懷舊名字、現成介面與 WAV 下載包在一個網址裡,對不在乎文字出門、只想要快速出音檔的人是省事的路;站內三十八個網址裡,二十多個工具頁幾乎是同一條伺服器端產生器對不同搜尋詞開的門,從 tetyys、Speakonia 到 BonziBUDDY 各有一頁,從這些懷舊詞進站,遇見的都是同一個產生器。付費帳號與帳務條款在服務條款裡預留了位置,查詢時尚未看到實際的付費方案上線。至於這個站是誰在經營:網域在 2025 年 4 月註冊,政策頁的生效日期標著 2026 年 6 月,全站只找得到一個域名信箱,沒有公司名稱或團隊頁面。對一個以懷舊為賣點的站來說,這種匿名感不算罕見,但當你要把文字交給它時,知道對象長什麼樣子,本來就是判斷的一部分。

最後把決策收攏成一句話:這個站可以當作一個方便的懷舊音效產生器,但別把行銷文案當規格書。要本地處理,用它站內那頁 1982 年的 SAM 或上游官方示範頁;要隱私,任何文字都先過自己這關再送出;要商用,先記得這顆引擎的授權至今沒有人能給你答案。

Sliven 褚崇名
Sliven 褚崇名

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

文章: 1313

發佈留言

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


Share to...