Linux 下使用使用科大訊飛語音合成SDK筆記

  • Linux 下使用科大訊飛語音合成的功能
    首先我們需要先到科大訊飛注冊并在控制臺中選擇創(chuàng)建響應(yīng)的應(yīng)用,我們開通語音合成并選擇相應(yīng)的SDK進(jìn)行下載。下載之后可以得到一個Zip包,解壓后可以看到有這些內(nèi)容。

    image

    查看README文件可以看到對應(yīng)的目錄結(jié)構(gòu)介紹,我們需要用到的是sample目錄下的在線語音合成功能。(tts_online_sample,在線語音測試用例)
    image

    進(jìn)入到 tts_online_sample 目錄下,里面是編譯的相關(guān)文件,根據(jù)你的系統(tǒng),選擇對應(yīng)的操作文件執(zhí)行編譯,如果是64位的,則執(zhí)行 source 64bit_make.sh ,如果你是32位,則執(zhí)行 source 32bit_make.sh ,然后在 bin 目錄下會生成一個tts_online_sample 的可執(zhí)行文件,直接執(zhí)行該文件,在當(dāng)前目錄下會生成一個 tts_sample.wav 的文件。測試用例完成。接下來我們要把它修改成在執(zhí)行時直接接受參數(shù)的可執(zhí)行文件。

  • 操作步驟:

  • 先將 tts_sample_online 文件刪除

  • 選擇 libs 目錄與你使用的系統(tǒng)相對應(yīng)的動態(tài)庫,將 libmsc.so 放到 /usr/lib 目錄下,并給予其他用戶可讀寫的權(quán)限。

  • 進(jìn)入到 tts_online_sample 目錄下,1)修改對應(yīng)的 bit_make.shexport LD_LIBRARY_PATH=$(pwd)/../../libs/x64/export LD_LIBRARY_PATH=/usr/lib/,2)修改MakeFile中 DIR_LIB = ../../libsDIR_LIB = /usr/lib,3)修改 tts_sample_online.c 中的接受參數(shù)部分。即將以下部分:

const char* session_begin_params = "voice_name = xiaoyan, text_encoding = utf8, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 2";
   const char* filename             = "tts_sample.wav"; //合成的語音文件名稱
   const char* text                 = "親愛的用戶,您好,這是一個語音合成示例,感謝您對科大訊飛語音技術(shù)的支持!科大訊飛是亞太地區(qū)最大的語音上市公司,股票代碼:002230"; //合成文本

修改為:

const char* session_begin_params = argv[1]; //參數(shù)設(shè)置
   const char* filename             = argv[2]; //合成的語音文件名稱
   const char* text                 = argv[3]; //合成文本
  • 然后再次執(zhí)行編譯操作 source 64bit_make.shsource 32bit_make.sh,在bin目錄下會再次生成一個可執(zhí)行文件。
  • 測試語音合成可執(zhí)行文件是否正常,進(jìn)入bin目錄下,執(zhí)行 ./tts_online_sample "voice_name = xiaoyan, text_encoding = utf8, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 2" 'mytest.wav' ' 晚上好呀!',正常播放mytest.wav,編譯成功。
    image

    php 可以通過使用 system 等函數(shù)來實現(xiàn)調(diào)用科大訊飛語音合成功能。

傳送門:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容