Skip to content

Repository files navigation

TTS Converter

語音轉換器:用於演講、文章聆聽與影子跟讀(Shadowing)練習。

前端使用 Vite + React,後端使用 Express。Google Cloud Text-to-Speech 憑證只在後端讀取,不會放進前端。

功能

  • 貼上文字,或上傳 .md / .markdown 檔(上傳時會自動清除 Markdown 標記)。
  • 支援華語、美語、英語、日語、韓語。
  • 聲音清單由後端即時向 Google Cloud 取得;連線失敗時退回內建清單。
  • 可先試聽所選聲音,再進行轉換。
  • 可輸出 WAVMP3
  • 長文自動分段後合併成單一音檔。
  • 單獨一行 --- 會插入分隔停頓,秒數可用滑桿調整(0–10 秒)。
  • 介面支援中文 / English / 日本語。

本機啟動

npm install
# 若要使用服務帳戶 JSON,先複製範本
cp .env.example .env
npm run dev

開啟:

http://localhost:3000

Google Cloud TTS 設定

本工具需要使用者自行準備 Google Cloud Text-to-Speech API 權限。請勿把服務帳戶 JSON 放到前端或提交到 GitHub。 如果你用的是 ADC,.env 可以保留空白,不必填 GOOGLE_APPLICATION_CREDENTIALS

方式一:ADC(建議本機使用)

  1. 在 Google Cloud Console 啟用 Cloud Text-to-Speech API
  2. 安裝並登入 gcloud
  3. 執行:
gcloud auth application-default login
gcloud auth application-default set-quota-project 你的專案ID

完成後,GOOGLE_APPLICATION_CREDENTIALS 可以留空。

方式二:服務帳戶 JSON

  1. 在 Google Cloud 建立 service account。
  2. 授予可呼叫 Cloud Text-to-Speech API 的權限。
  3. 下載 JSON key,放在不會提交到 GitHub 的位置。
  4. .env 設定絕對路徑:
GOOGLE_APPLICATION_CREDENTIALS="/absolute/path/to/service-account.json"

前端設定區

頁面下方有「Google Cloud 設定」區塊,可查看後端目前使用的認證模式,並測試是否能連上 Cloud Text-to-Speech。

為了安全,前端不會要求使用者貼上 JSON key,也不會保存任何 GCP 憑證。

Production

npm run build
npm start

預設監聽:

http://localhost:3000

部署平台需要:

  • Node.js runtime
  • 可用的 ADC 或 GOOGLE_APPLICATION_CREDENTIALS
  • 已啟用 Cloud Text-to-Speech API 的 Google Cloud project

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages