怎麼用
- 選好辨識語言(預設中文台灣),按「開始聽寫」。
- 瀏覽器詢問麥克風權限時,選「允許」。
- 開始說話。灰色區塊是還在辨識的暫定文字,說完一小段後會變成確定文字,寫進下方文字框。
- 說完按「停止聽寫」。可以在文字框直接修改,再按「複製」或「下載 .txt」。
隱私:聲音會送到哪裡
- 不是在你的裝置上處理:MDN 寫的是,在 Chrome 這類瀏覽器,語音辨識涉及伺服器端的辨識引擎,聲音會送到網路服務處理,所以無法離線使用。W3C 社群的「在裝置上辨識」說明文件也寫,傳統上這個功能是把聲音資料送到雲端服務辨識。
- 不是送到本站:本頁的程式沒有任何把聲音或文字傳到本站的動作;統計腳本只記錄頁面路徑、按鈕名稱與下拉選項(例如選了哪種語言),不讀文字框內容。
- 是哪一家的服務由瀏覽器決定:本站沒有查到 Chrome 官方文件明寫伺服器營運者。一般認為 Chrome 是用 Google 的服務,這是二手資料,本站未驗證;Edge、Safari 等其他瀏覽器的處理方式,請看各自的隱私說明。
- 有「在裝置上辨識」的選項,但本頁沒有用:依 Chrome 官方的更新說明,Chrome 139 起網站可以要求在裝置上辨識,音訊與辨識文字就不會送到第三方服務;這需要使用者先安裝該語言的資源。本頁沒有啟用這個選項,所以請當作聲音會被送出去。
- 怎麼降低風險:不要用來說密碼、身分證字號、病歷或客戶機密;需要完全離線的辨識,請使用作業系統或軟體內建的離線聽寫。
瀏覽器支援度
下表整理自 MDN 的瀏覽器相容性資料(來源見下方),實際行為依版本與系統而異。
| 瀏覽器 | 支援狀況 |
|---|---|
| 電腦版 Chrome、Edge | 支援(使用 webkit 前綴的 webkitSpeechRecognition);需透過網站伺服器開啟(不能直接開本機檔案)才能辨識,用 https 開啟則不會一再詢問麥克風權限 |
| Android 的 Chrome | 可用,但連續辨識(continuous)設定「可以設定但沒有效果」,辨識容易在停頓後結束(一般使用經驗,依瀏覽器而異),靠本頁自動接續維持聽寫 |
| Safari(Mac、iPhone) | MDN 標示 14.1 起支援(webkit 前綴);本站未實測 |
| Firefox | MDN 標示為 preview(預覽版),一般正式版不能用,頁面會顯示不支援的提示 |
瀏覽器不支援時,本頁會顯示提示並停用按鈕,建議改用電腦版 Chrome 或 Edge。
限制與使用小提醒
- 辨識需要連網,離線無法使用。
- 辨識準確度取決於瀏覽器的辨識服務、麥克風品質與環境雜音;人名、專有名詞與同音字容易出錯。
- 本頁不加標點符號,也不分辨講者;是否自動加標點依瀏覽器而定。
- 辨識可能會在沉默或時間太長時自動中斷(一般使用經驗,依瀏覽器而異),本頁會自動接續,但接續瞬間可能漏字。按下「停止聽寫」後不會再自動開始。
- 手機螢幕鎖定或切換 App 時,辨識可能會中斷(本站未實測);中斷後請回到本頁再按「開始聽寫」。
- 想把文字念出來,可以用文字轉語音;只想錄下聲音,可以用線上錄音;先確認麥克風正常,可以用麥克風測試。
常見問題
我說的話會被送到哪裡?是在我的裝置上處理的嗎?
多數情況不是在你的裝置上處理。MDN 對 SpeechRecognition 的說明是:在 Chrome 這類瀏覽器,語音辨識用的是伺服器端的辨識引擎,你的聲音會被送到網路上的辨識服務處理,所以離線時無法使用。這個服務是由瀏覽器端決定的,不是本站,本頁的程式不會把你的聲音或辨識出來的文字傳給本站,但聲音已經交給瀏覽器的辨識服務了。Chrome 139 起新增了「在裝置上辨識」的選項(需要下載語言包),但本頁沒有使用它。所以請不要用本頁處理機密或敏感內容。
為什麼 Firefox 不能用?
依 MDN 瀏覽器相容性資料,Firefox 對 SpeechRecognition 的支援標示為 preview(預覽版),一般正式版的 Firefox 目前不能使用。請改用桌面版 Chrome 或 Edge;Safari 14.1 起有支援(需要 webkit 前綴,細節與行為差異請看 MDN),但本站沒有在 Safari 上實測。
按了開始沒有反應,或顯示麥克風權限被拒?
第一次使用時,瀏覽器會詢問是否允許使用麥克風,要選「允許」。如果之前按過「封鎖」,請點網址列左側的鎖頭或網站設定,把麥克風改成允許,再重新按「開始聽寫」。還是不行的話,檢查作業系統的隱私權設定有沒有讓瀏覽器使用麥克風,或可以先到麥克風測試確認麥克風是不是正常。本頁需透過網站伺服器開啟(不能直接開本機檔案);用 https 開啟則不會一再詢問麥克風權限。
為什麼說到一半會自己停下來,又自己開始?
瀏覽器的語音辨識可能會在你沉默一陣子或錄音時間太長時自動結束(這是一般使用經驗,依瀏覽器而異,不是官方保證)。本頁偵測到這種中斷後,只要你沒有按「停止聽寫」,就會自動重新開始,所以文字會持續累積。接續的瞬間有短暫空檔,剛好那時說的話可能漏掉。你按下「停止聽寫」之後,頁面不會再自己重新開始。
手機上可以用嗎?
要看手機的瀏覽器。依 MDN 相容性資料,Android 的 Chrome 雖然可以設定連續辨識(continuous),但「設定了也沒有效果」,辨識容易在你停頓之後就結束(一般使用經驗,依瀏覽器而異),所以本頁靠自動接續維持聽寫,接續的空檔比電腦版更容易漏字,建議講短句、講完停一下。iPhone 的 Safari 依 MDN 有支援,但本站沒有實測。手機螢幕鎖定或切到別的 App,辨識可能會中斷(本站未實測)。
辨識結果有錯字怎麼辦?
辨識結果會放在可編輯的文字框,你可以直接改。灰色的「暫定文字」是辨識引擎還在猜的內容,說完一小段後會變成確定文字、寫進文字框。人名、專有名詞、同音字最容易出錯,重要的內容請自行校對。
可以辨識英文、日文嗎?
可以。開始前在「辨識語言」選擇語言,預設是中文(台灣)。可用的語言由瀏覽器決定,網頁沒有辦法事先查出瀏覽器支援哪些語言(MDN 的說明);如果選的語言不支援,頁面會提示你改選其他語言。聽寫進行中不能切換語言,請先停止。
運作原理
頁面使用瀏覽器的 SpeechRecognition(Chrome、Edge、Safari 為 webkitSpeechRecognition),開啟連續辨識與暫定結果。收到辨識事件時,確定的結果(isFinal)附加到文字框,還沒確定的部分顯示在上方的暫定區。辨識自動結束(onend)時,若你還沒按停止,頁面會稍待片刻重新建立一輪辨識;你按下「停止聽寫」後,頁面會把「要不要繼續」設為否,之後不會再重新開始。文字框的內容留在你的瀏覽器裡,頁面關閉就消失,下載的 txt 檔是在瀏覽器內產生的。
規格與來源
- 聲音送到網路服務辨識(「Your audio is sent to a web service for recognition processing, so it won't work offline」)、processLocally 屬性:MDN SpeechRecognition。
- 辨識錯誤類型(not-allowed、audio-capture、network、language-not-supported 等)與「瀏覽器支援哪些語言無法由前端查出」:MDN SpeechRecognitionErrorEvent.error。
- 各瀏覽器支援度(Chrome 33 起 webkit 前綴、Safari 14.1 起、Firefox 為 preview、Android Chrome 的 continuous 無效):MDN 瀏覽器相容性資料庫 mdn/browser-compat-data(SpeechRecognition.json)。
- Chrome 139 起的在裝置上辨識選項:Chrome 官方 New in Chrome 139。
- 傳統上聲音送到雲端服務辨識:W3C Web Speech API 社群 On-device speech recognition 說明文件(社群草案,不是正式 W3C 標準)。
- Chrome 的麥克風權限提示與 https 的差異:Chrome for Developers Voice driven web apps: Introduction to the Web Speech API(這是舊文章,只引用權限提示與 https 的部分)。
- 全部在瀏覽器內執行;工具本身不載入外部程式庫(全站的統計與廣告腳本除外)。