使用指令列從文字建立音訊
本文將逐步說明如何使用指令列向 Text-to-Speech 提出要求。如要進一步瞭解文字轉語音的基本概念,請參閱「文字轉語音基本概念」。
事前準備
您必須先完成下列操作,才能向 Text-to-Speech API 傳送要求。詳情請參閱「事前準備」頁面。
- 在 GCP 專案中啟用 Text-to-Speech。
- 請確認已為 Text-to-Speech 啟用計費功能。
-
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
從文字合成音訊
您可以向 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
僅將 base-64 編碼內容複製到文字檔。
使用
-d
標記,透過 base64 指令列工具解碼來源文字檔:
$ base64 SOURCE_BASE64_TEXT_FILE -d > DESTINATION_AUDIO_FILE
Mac OSX
僅將 base-64 編碼內容複製到文字檔。
使用 base64 指令列工具解碼來源文字檔:
$ base64 --decode SOURCE_BASE64_TEXT_FILE > DESTINATION_AUDIO_FILE
Windows
僅將 base-64 編碼內容複製到文字檔。
使用
certutil
指令解碼來源文字檔。
certutil -decode SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE
在音訊應用程式或音訊裝置上播放
synthesized-audio.mp3
的內容。您也可以在 Chrome 瀏覽器中前往synthesized-audio.mp3
所在的資料夾,藉此開啟檔案並播放音訊,例如file://my_file_path/synthesized-audio.mp3
清除所用資源
如要避免產生不必要的 Google Cloud Platform 費用,請在不需要時使用Google Cloud console 刪除專案。
後續步驟