使用指令列從文字建立音訊
本文將逐步說明如何使用指令列向 Text-to-Speech 提出要求。如要進一步瞭解 Text-to-Speech 的基本概念,請參閱「Text-to-Speech 基本概念」。
事前準備
您必須先完成下列動作,才能向 Text-to-Speech API 傳送要求。詳情請參閱「事前準備」頁面。
- 在 GCP 專案中啟用 Text-to-Speech。
- 確認已啟用 Text-to-Speech 的計費功能。
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
從文字合成音訊
只要向 https://texttospeech.googleapis.com/v1/text:synthesize 端點發出 HTTP POST 要求,就能將文字內容轉換為音訊。在 POST 指令的主體中,請在 voice 設定區段指定要合成的語音類型,在 input 區段的 text 欄位中指定要合成的文字,然後在 audioConfig 區段中指定要建立的音訊類型。
在指令列執行下列 REST 要求,使用 Text-to-Speech 從文字合成音訊。這項指令會使用
gcloud auth application-default print-access-token指令,擷取要求的授權權杖。使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID: Google Cloud 專案的英數字元 ID。
HTTP 方法和網址:
POST https://texttospeech.googleapis.com/v1/text:synthesize
JSON 要求主體:
{ "input": { "text": "Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets." }, "voice": { "languageCode": "en-gb", "name": "en-GB-Standard-A", "ssmlGender": "FEMALE" }, "audioConfig": { "audioEncoding": "MP3" } }請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回應:
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }REST 指令的 JSON 輸出內容含有 base64 編碼格式的合成音訊。將
audioContent欄位的內容複製到名為synthesize-output-base64.txt的新檔案。新檔案會類似於下方內容://NExAARqoIIAAhEuWAAAGNmBGMY4EBcxvABAXBPmPIAF//yAuh9Tn5CEap3/o ... VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
將
synthesize-output-base64.txt檔案的內容解碼到名為synthesized-audio.mp3的新檔案。如需解碼 base64 檔案的資訊,請參閱「解碼 Base64 編碼的音訊內容」。Linux
僅將 base64 編碼內容複製到文字檔。
透過 base64 指令列工具並使用
-d標記來解碼來源文字檔:
$ base64 SOURCE_BASE64_TEXT_FILE -d > DESTINATION_AUDIO_FILE
Mac OSX
僅將 base64 編碼內容複製到文字檔。
使用 base64 指令列工具解碼來源文字檔:
$ base64 --decode SOURCE_BASE64_TEXT_FILE > DESTINATION_AUDIO_FILE
Windows
僅將 base64 編碼內容複製到文字檔。
使用
certutil指令解碼來源文字檔。
certutil -decode SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE
在音訊應用程式或音訊裝置上播放
synthesized-audio.mp3的內容。您也可以在 Chrome 瀏覽器中前往檔案所在的資料夾,例如file://my_file_path/synthesized-audio.mp3,開啟synthesized-audio.mp3並播放音訊。
清除所用資源
如要避免不必要的 Google Cloud Platform 收費,請前往Google Cloud console 刪除不需要的專案。
後續步驟