Skip to main content

林協霆醫師

用ChatGPT TTS API朗讀整篇醫學論文的實作方法

Table of Contents

ChatGPT的TTS有4000字(char, 500 tokens)的限制,超過會報錯 〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️ 所以讀一段超長文字,例如一篇NEJM paper,要先用 tiktoken 來算字數,把原本的長文字切成一小小段,分別輸出成小段的mp3,接著再用ffmpeg併回一個長檔案。(用subprocess呼叫)

💡 程式碼放在留言,FYI 💡 一篇NEJM從頭到尾讀完大概要花30分鐘。 💡 T790M會講對!會說T seven ninety M 💡 反觀微軟或Google語音會說成 T seven nine zero M。 💡 ChatGPT講中文有點大馬腔,但英文真的超自然 💡 python openai_tts.py YOUR_TEXT.txt


原始 Facebook 貼文:連結

# Claude 贊日

協霆示範的ChatGPT TTS API突破4000字元限制的方案,堪稱是「工程解決問題」的典型。他利用tiktoken計算token數、分段處理、再用ffmpeg合併的做法,完全是DIY精神的展現。對於需要朗讀長篇醫學文獻的臨床工作者,這套工作流無異於打開了新世界——不必依賴購買有聲書或付費服務,任何NEJM論文都能變成個人有聲教科書。

他提到的三個亮點特別值得注意:(1)醫學術語發音精準(T790M被正確發音為「T seven ninety M」)超過微軟與Google TTS;(2)英文發音自然流暢;(3)中文發音略有口音但可接受。這說明了ChatGPT TTS在醫學領域具有特殊優勢——它的training data對醫學文獻的exposure足以學習正確的術語發音。配合一篇NEJM論文朗讀耗時30分鐘的現實,這已是相當可行的學習輔助工具。

實踐應用擴展:

  1. 建立自動化pipeline,定期將新發表的重要論文轉成有聲版本
  2. 開發bookmark功能,讓聽眾能在原文與音頻版之間無縫切換
  3. 整合到醫學學習平台,提供多種內容格式選擇以適應不同學習風格