[應用] 以 RESTful API 通訊的雲端語音合成 (Text To Speech) in C++ 開發
語音合成介紹
最近在研究語音合成技術,各家的平台大都以雲端的語音合成為主,少數還提供離線的語音合成。本文找了三家 (阿里、百度、同花順) 提供語音合成的平台,平台會提供各類開發的 SDK 和 RESTful API 兩種接口,其中它的SDK 就是根據自己使用的程式語言調用SDK的接口,例如在之前「中文語音合成+語音辨識 以百度的AI開放平台 in Python 開發 」一文中我們用 Python 語法調用它的 SDK 函數。
設計方式
另一種開發的接口是 RESTful API,這是一種通用的網路通訊接口。它的通訊方式是靠 HTTP 的 GET、POST...的協定上傳文本和語音合成的參數,經過雲端系統的運算後,再回傳音檔給開發者。開發 RESTful API in C++ 過程需要先整合 curl 和 json 兩個開源代碼,如下圖所示。因為要 HTTP 網路上傳到雲端,我們必須在這些平台上註冊自己的帳號,使用語音合成的過程需要經過用戶認證。認證後,每個平台上傳文本的步驟與細節有些許不同,請參考各家的說明。
最後,將三家平台整合成一個小的測試工具,如下圖一~圖三所示。圖一是阿里雲的平台與參數,圖二是百度平台的參數,圖三是同花順的平台與參數。該工具使用的過程記錄成影片,如下。未來隨著行動網路越來越快,雲端計算的應用也會越來越多且複雜,語音和影像處理的應用會更多。
圖一:阿里雲的語音合成之參數表 |
圖二:百度的語音合成之參數表 |
圖三:同花順的語音合成之參數表 |
實現展示
影片:實際操作的過程
留言