-
Linux 下使用科大訊飛語(yǔ)音合成的功能
首先我們需要先到科大訊飛注冊(cè)并在控制臺(tái)中選擇創(chuàng)建響應(yīng)的應(yīng)用,我們開通語(yǔ)音合成并選擇相應(yīng)的SDK進(jìn)行下載。下載之后可以得到一個(gè)Zip包,解壓后可以看到有這些內(nèi)容。
image
查看README文件可以看到對(duì)應(yīng)的目錄結(jié)構(gòu)介紹,我們需要用到的是sample目錄下的在線語(yǔ)音合成功能。(tts_online_sample,在線語(yǔ)音測(cè)試用例)
image
進(jìn)入到tts_online_sample目錄下,里面是編譯的相關(guān)文件,根據(jù)你的系統(tǒng),選擇對(duì)應(yīng)的操作文件執(zhí)行編譯,如果是64位的,則執(zhí)行source 64bit_make.sh,如果你是32位,則執(zhí)行source 32bit_make.sh,然后在 bin 目錄下會(huì)生成一個(gè)tts_online_sample 的可執(zhí)行文件,直接執(zhí)行該文件,在當(dāng)前目錄下會(huì)生成一個(gè) tts_sample.wav 的文件。測(cè)試用例完成。接下來(lái)我們要把它修改成在執(zhí)行時(shí)直接接受參數(shù)的可執(zhí)行文件。 操作步驟:
先將
tts_sample_online文件刪除選擇
libs目錄與你使用的系統(tǒng)相對(duì)應(yīng)的動(dòng)態(tài)庫(kù),將libmsc.so放到/usr/lib目錄下,并給予其他用戶可讀寫的權(quán)限。進(jìn)入到
tts_online_sample目錄下,1)修改對(duì)應(yīng)的bit_make.sh中export LD_LIBRARY_PATH=$(pwd)/../../libs/x64/為export LD_LIBRARY_PATH=/usr/lib/,2)修改MakeFile中DIR_LIB = ../../libs為DIR_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"; //合成的語(yǔ)音文件名稱
const char* text = "親愛的用戶,您好,這是一個(gè)語(yǔ)音合成示例,感謝您對(duì)科大訊飛語(yǔ)音技術(shù)的支持!科大訊飛是亞太地區(qū)最大的語(yǔ)音上市公司,股票代碼:002230"; //合成文本
修改為:
const char* session_begin_params = argv[1]; //參數(shù)設(shè)置
const char* filename = argv[2]; //合成的語(yǔ)音文件名稱
const char* text = argv[3]; //合成文本
- 然后再次執(zhí)行編譯操作
source 64bit_make.sh或source 32bit_make.sh,在bin目錄下會(huì)再次生成一個(gè)可執(zhí)行文件。 - 測(cè)試語(yǔ)音合成可執(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 可以通過(guò)使用system等函數(shù)來(lái)實(shí)現(xiàn)調(diào)用科大訊飛語(yǔ)音合成功能。
傳送門: