php語音到賬api接口如何實現

php語音到賬api接口如何實現

1.準備工作
申請訊飛帳號http://www.xfyun.cn/

1.jpg

添加IP白名單(5-10分鐘生效)準備一個音頻文件(wav或pcm格式)獲取APPID和APPKEY(每個服務的APPKEY不同)

const APP_ID = ‘xxxx’;const APP_KEY_IAT = ‘xxxx’; //語音聽寫APPKEYconst APP_KEY_ISE = ‘xxxx’; //語音評測APPKEYconst APP_KEY_TTS = ‘xxxx’; //語音合成APPKEY

語音聽寫

public function voiceIat($file_path){$param = [‘engine_type’ => ‘sms16k’,‘aue’ => ‘raw’];$cur_time = (string)time();$x_param = base64_encode(json_encode($param));$header_data = [‘X-Appid:’.self::APP_ID,‘X-CurTime:’.$cur_time,‘X-Param:’.$x_param,‘X-CheckSum:’.md5(self::APP_KEY_IAT.$cur_time.$x_param),‘Content-Type:application/x-www-form-urlencoded; charset=utf-8’];//Body$file_path = $file_path;$file_content = file_get_contents($file_path);$body_data = ‘audio=’.urlencode(base64_encode($file_content));//Request$url = “http://api.xfyun.cn/v1/service/v1/iat”;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_POST, TRUE);curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data);curl_setopt($ch, CURLOPT_POSTFIELDS, $body_data);$result = curl_exec($ch);curl_close($ch);return $result;}

語音聽寫示例:

voiceIat('a.wav');

語音評測

public function voiceIse($file_path, $content){$param = [‘language’ => ‘cn’,‘aue’ => ‘raw’,‘category’ => ‘read_sentence’];$cur_time = (string)time();$x_param = base64_encode(json_encode($param));$header_data = [‘X-Appid:’.self::APP_ID,‘X-CurTime:’.$cur_time,‘X-Param:’.$x_param,‘X-CheckSum:’.md5(self::APP_KEY_ISE.$cur_time.$x_param),‘Content-Type:application/x-www-form-urlencoded; charset=utf-8’];//Body$file_path = $file_path;$file_content = file_get_contents($file_path);$body_data = ‘audio=’.urlencode(base64_encode($file_content)).’&text=’.urlencode($content);$url = “http://api.xfyun.cn/v1/service/v1/ise”;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_POST, TRUE);curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data);curl_setopt($ch, CURLOPT_POSTFIELDS, $body_data);$result = curl_exec($ch);curl_close($ch);return $result;}

語音評測示例:

echo voiceIse(‘a.wav’, ‘科大訊飛真給力’);

語音合成:

public function voiceTts($content, $output_path){$param = [‘engine_type’ => ‘intp65’,‘auf’ => ‘audio/L16;rate=16000’,‘aue’ => ‘raw’,‘voice_name’ => ‘xiaoyan’,‘speed’ => ‘0’];$cur_time = (string)time();$x_param = base64_encode(json_encode($param));$header_data = [‘X-Appid:’.self::APP_ID,‘X-CurTime:’.$cur_time,‘X-Param:’.$x_param,‘X-CheckSum:’.md5(self::APP_KEY_TTS.$cur_time.$x_param),‘Content-Type:application/x-www-form-urlencoded; charset=utf-8’];//Body$body_data = ‘text=’.urlencode($content);//Request$url = “http://api.xfyun.cn/v1/service/v1/tts”;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, TRUE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_POST, TRUE);curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data);curl_setopt($ch, CURLOPT_POSTFIELDS, $body_data);$result = curl_exec($ch);$res_header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);$res_header = substr($result, 0, $res_header_size);curl_close($ch);if(stripos($res_header, ‘Content-Type: audio/mpeg’) === FALSE){ //合成錯誤return substr($result, $res_header_size);}else{file_put_contents($output_path, substr($result, $res_header_size));return ‘語音合成成功,請查看文件!’;}}

語音合成示例:

echo voiceTts(‘科大訊飛真給力’, ‘a.wav’);

更多PHP相關知識,請訪問龍方網絡!

以上就是php語音到賬api接口如何實現的詳細內容,更多請關注龍方網絡其它相關文章!

鄭重聲明:本文版權包含圖片歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們([email protected])修改或刪除,多謝。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

留言與評論(共有 0 條評論)
   
驗證碼:
彩票店