Ollama 加入本機語音生成:Mac 用 Phonon 把文字轉聲音,API 與中文限制先看懂
Ollama 加入文字轉語音功能,第一個支援的模型是 Gradium 的 Phonon。使用者可以從終端機輸出聲音,也能透過應用程式介面,把語音生成接回原有工具。
在電腦上跑模型,常見的下一個需求是讓回答直接念出來。若每次都要把文字送到另一個語音服務,原本留在本機的流程又多了一個搬資料的步驟。
Ollama 加入文字轉語音功能,第一個支援的模型是 Gradium 的 Phonon。使用者可以從終端機輸出聲音,也能透過應用程式介面,把語音生成接回原有工具。
應用程式介面簡稱 API,可以理解成程式向另一個服務下指令的入口。這次提供 OpenAI 相容的語音入口,讓已經使用相近呼叫方式的程式比較容易銜接。
台灣使用者最先要看的是語言與設備。十月二十四日的發布說明以 Apple Silicon Mac 為起點,列出的語音模型涵蓋英文等五種語言,沒有中文。
因此,這個更新適合想做英語朗讀、離線原型與本機語音工作流的 Mac 使用者。需要中文旁白,或準備直接交付商業成品的人,應該先確認其他模型與授權條件。
把模型裝上電腦只是第一步,能不能接進工作流程,還取決於版本、語音輸出格式,以及你要讓哪個程式開始播放。
Ollama 新增的語音入口能做什麼
這次整合讓文字可以直接交給 Ollama 產生聲音,適合把朗讀接進原本的本機工具。你可以在終端機播放,也可以把結果存成聲音檔,再由其他程式使用。
Ollama 十月二十四日公告 指出,第一個語音模型是 Phonon,並提供終端機與相容 API 的操作方式。
文字轉語音的任務,是把指定文字念出來。它與語音辨識不同,後者把人說的話轉成文字,因此不能把支援朗讀直接寫成已能聽懂麥克風或完成雙向對話。
若你的聊天模型已經在本機產生回答,這個入口可以接著朗讀文字。前提是兩段工作都已設好,語音模型本身不會自動替你建立聊天助手。
串流讓播放不用等整段完成
官方說明,聲音可以一邊生成、一邊傳出。這種做法稱為串流,使用者有機會在整段文字還沒處理完之前,就先聽到前面的內容。
它適合短回覆與持續輸入的場景,但實際開始播放的時間,還會受到文字來源、模型啟動與播放器的影響。支援串流不等於每種整合都立即發聲。
若要製作需要反覆核對的內容,先保存聲音檔通常比較方便。你能重播相同片段、比對文字與發音,也比較容易交給其他人檢查。
正式接進程式之前,先確認設備與語言條件,會比生成失敗後才發現平台不符更省時間。

先確認 Mac、版本與語言,再下載模型
依十月二十四日發布公告,開始使用時先確認你有 Apple Silicon Mac。該公告寫明 Windows 與 Linux 支援將在之後提供。讀者不應把一般文件裡的播放器說明,直接當成所有平台已完整開放。
Apple Silicon 指使用 Apple 自家晶片的 Mac。這裡的設備條件與模型加速方式相關,舊款 Intel Mac 不在該篇公告的起步範圍內。
公告的開始使用段落要求 Ollama 0.40.11 或更新版本。其他官方文件也可看到較早的最低版本說明,依這次發布方式操作時,先採用公告所列版本比較清楚。
五種語言不包含中文
官方列出的模型涵蓋英文、法文、德文、西班牙文與葡萄牙文,也有包含這五種語言的多語版本。繁體中文與其他中文語音不在這份支援清單內。
因此,想做中文課程旁白或台灣在地語音服務的人,不能只看到多語模型就假設中文可用。應先選擇支援目標語言的工具,再比較品質與成本。
對英文文件朗讀、英語介面原型與外語練習,則可以從很短的一句話開始。先確認發音與播放流程,再決定是否要投入更長內容。
先選用途,再選模型標籤
官方模型頁 列出不同語言的標籤,例如法文與多語版本。標籤是下載與呼叫模型時的名稱,選錯標籤,就可能使用到不同模型或授權條件。
對入門測試,可以先依官方說明下載預設英文模型。下載會占用本機空間,也需要先取得模型檔,不能把「本機生成」理解成完全不需下載或連網準備。
ollama pull phonon
以下命令依官方文件整理,本文未實測。完成下載後,可先用一句英文檢查聲音輸出。
從一句文字開始,保存可檢查的聲音檔
第一輪只要確認文字有沒有被正確念出來,不需要立刻接上完整應用程式。短句能讓你更容易判斷漏字、發音與播放是否正常。
官方語音文件 提供以下形式,直接透過電腦喇叭播放文字內容。測試時可先降低音量,避免程式開始播放時沒有準備。
ollama run phonon "Hello from Ollama."
如果希望把結果留下,可以將輸出導向檔案。官方範例會產生 WAV,也就是常見的聲音檔格式,之後可以用播放器重播或交給其他程式處理。
ollama run phonon "Save this to a file." > speech.wav
用相同文字比較結果
想比較聲音時,先固定同一段文字,再更換官方支援的選項。若每次同時換文字、聲音與模型,就很難知道差異來自哪個條件。
聲音名稱可以用 ollama show phonon 查看。不同標籤與版本可能提供不同聲音,應以實際列出的清單為準,而不是把展示頁所有名稱都當成你已下載的功能。
對要朗讀的文件,先去掉不需要念出的標題符號與版面標記。閱讀用的文字與發聲用的文字可以分開保存,讓聲音內容更容易核對。
日期、數字與縮寫也值得單獨測試。官方文件提醒,時間與數字日期可能按原樣念出,若需要自然的說法,可以先把日期寫成完整文字。
品質檢查不只聽第一句
短句成功之後,可以再試包含數字、專有名詞與較長句子的內容。這些條件更接近實際工作,也比較容易看出聲音是否符合用途。
如果是教學素材,檢查重點可以放在關鍵字是否清楚、停頓是否影響理解,以及文字與聲音是否一致。速度快不代表聽者一定容易理解。
若輸出不符合需求,先保留原始文字、模型標籤與聲音名稱,再改一個條件重試。這份小紀錄能讓你比較結果,也方便之後重做相同片段。
完成單句與檔案驗證後,才適合把語音生成接進原本的程式流程。
用相容 API 接回既有工具與串流流程
相容 API 的用途,是讓程式以熟悉的呼叫形式要求生成語音。Ollama 提供 /v1/audio/speech 入口,讓原本使用相近介面的程式比較容易調整。
以下依官方範例,向本機服務送出一段英文,並把聲音存成檔案。localhost 指向這台電腦,預設連接埠為 11434。
curl http://localhost:11434/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model":"phonon","input":"Hello from Ollama."}' \
--output speech.wav
這段範例假設 Ollama 已啟動且模型已準備好。若服務沒有運行,程式無法連線,這和文字本身是否支援,是不同的問題。
相容不代表所有欄位相同
OpenAI 相容性文件 是核對支援欄位的入口。原本程式若傳入其他服務的速度、格式或語氣選項,應逐項確認,不能只換網址就假設完全等效。
官方語音文件列出,無法支援的格式、速度或 instructions 可能回傳 400 錯誤。這是請求內容不符合支援範圍,應先看錯誤訊息與欄位,而不是一律重裝模型。
每次請求的輸入文字也有長度限制。官方文件列為最多四千零九十六個字元,終端機工具則會依段落與句子切分較長文字,兩種入口不能混為一談。
若你的應用程式需要念長文件,可以自己先分段,記錄每段輸入與輸出檔。這樣某一段發音需要重做時,不必讓整份文件全部重新生成。
檔案格式與即時播放各有用途
官方提供 WAV 與原始 PCM,音訊為二十四 kHz 單聲道。WAV 有檔案結構,適合保存與一般播放,PCM 則需要播放器知道樣本格式才能正確處理。
單聲道代表只有一個聲道,適合語音用途,但不等於已完成影片混音。若要交付成片,仍需安排音量、配樂與其他聲音的平衡。
即時播放則還要有能接收串流的播放器。API 持續送出聲音,和使用者的應用程式開始播放,是整合流程裡前後相接的兩步。
本機流程仍要看整條資料路徑
若文字由本機程式送到本機 Ollama,這個語音生成步驟就在本機完成。但前面的聊天服務、儲存位置與後面的分享方式,仍可能涉及其他服務。
因此,整理資料流時,要看文字從哪裡來、語音送到哪裡,以及是否使用遠端主機。只看到一個本機網址,不足以替整個應用程式的資料處理做保證。
延伸閱讀:Ollama 支援本機決策模型:把快速分類留在電腦,部署前要確認什麼?
分類與朗讀是不同任務,可以各自選擇合適模型。將工作拆開後,反而比較容易看清楚每一步的輸入、輸出與執行位置。
延伸閱讀:Phonon 離線語音模型開放權重:31M、40M 怎麼選,台灣開發者能用在哪裡?
這篇補充模型本身的選擇與授權。使用 Ollama 只是換了部署入口,模型原有的授權限制仍然需要一起遵守。
分段檔案也要有清楚的對照
如果要處理多段文字,可以讓輸出檔名稱對應段落編號,並保留原始文字。聽到某一段有問題時,就能直接找到需要修改的輸入,避免重新生成全部內容。
例如,通知開頭、主要內容與結尾分開保存,後續只修改日期時,就只需要處理相關段落。合併成最終檔案前,再完整聽一次,確認接合處沒有重複或漏句。
這種做法也方便比較模型更新後的差異。使用相同文字與設定重做,才能看出聲音變化,而不是把內容不同造成的差異當成模型改善。
對準備交付他人的素材,還應留下語言、模型標籤與授權資訊。拿到聲音檔的人,才知道它可以用在哪個場合,以及需要重做時該回到哪份設定。
能穩定保存文字與聲音的對照,通常比第一天就做即時語音助手更容易完成,也能替後續整合建立一份可重複使用的測試材料。
FAQ:Ollama 語音的授權、格式與使用邊界
所有 Phonon 模型都能商用嗎?
官方說明,三千一百萬參數英文模型採 Apache 2.0,四千萬參數系列採 CC BY-NC 4.0,後者限制為非商業用途。要依實際使用的模型標籤確認,不能用同一個名稱概括全部授權。
可以用它做中文旁白嗎?
十月二十四日公告列出的五種語言沒有中文。若工作需要中文,應另找明確支援的模型,先測試發音與使用授權,再決定整合方式。
官方速度比較能套用到我的 Mac 嗎?
公告的效能數據來自特定 MacBook Pro 與測試條件。你的晶片、模型與文字長度可能不同,應以自己的實際工作測量,不宜直接照搬展示數字。
能把語音模型當成聊天模型呼叫嗎?
官方文件說明,語音模型只生成聲音,聊天、文字補全與向量請求會被拒絕。要做會說話的助手,需要先有產生回覆文字的模型,再接上語音生成。
第一個值得做的原型是什麼?
可以先把一段已核對的英文通知生成 WAV,確認文字、聲音與檔案保存都符合需求。等這個小流程穩定,再加入聊天輸出或即時播放。
想試本機語音,可以從自己的設備、目標語言與模型授權開始檢查,再做一句話到聲音檔的完整流程。能重播、能核對,才容易把這項新入口接進真正會使用的工具。