計算機技術
Google TTS API 文字轉語音 繼續談
上一次只是說了Google TTS API 的原理,這次自己用php實現了下,主要就一個函數參數為兩個,第一個是需要朗讀的文字,第二個參數是語言,另外發現一個問題,如果在語言為zh-cn的 時候,裡面包含的英文,朗讀出來都是逐字母朗讀的。而如果是en-us語言卻包含中文的話中文部分將不會有任何聲音。下面是實現代碼,可直接運行。
將這段代碼加入到微信公眾平台中,你發送消息,將會自動將你剛剛說的漢字翻譯成mp3音樂回傳給用戶,用戶點擊將會播放,要是將小i機器人或者小黃 雞的聊天機器人API接上,就可以根據用戶發送的內容智能回復相關信息,要是再引入Google的語音識別(目前還沒找到Google提供的api),微 信顯示效果圖:
php code :
<?php class GoogleTTS { public function getGoogleTTS($key,$tl='zh-cn'){ $post_data = array( 'idx=0', 'ie=UTF-8', 'q='.$key, 'tl='.$tl, 'total=1', 'textlen='.(string)mb_strlen($key,"UTF-8") ); $post_data = implode('&',$post_data); $url="http://translate.google.com/translate_tts"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt( $ch, CURLOPT_REFERER, "http://translate.google.com" ); curl_setopt( $ch, CURLOPT_HEADER, true ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0" ); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: translate.google.com')); //host curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_data ); //curl_setopt($ch, CURLOPT_COOKIE, $matches[1][0]); $content = curl_exec($ch); curl_close($ch); $response_msg=trim($content); return $content; } } $obj=new GoogleTTS; $ContentString = $obj->getGoogleTTS("who are you?你是誰?"); $randfilestring = time().'_'.sprintf('%02d', rand(0,999)).".mp3"; file_put_contents($randfilestring,$ContentString); ?> 原文地址:http://www.cnblogs.com/hyb1/archive/2013/05/08/3066558.html
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:計算機技術
區塊鏈:絕不只是加密貨幣
本文從時下熱門的加密貨幣——比特幣入手,介紹其背後隱藏的區塊鏈技術,由淺入深,介紹了區塊鏈技術的起源,基礎,應用,發展趨勢等,值得一看。
Firebug 與 DevTools 的集成
你可能已經聽說過我們對統一 Firefox 的本地開發人員工具(DevTools)和 Firebug 的努力。我們一直在努力地將的所有最喜歡的 Firebug 功能添加到本地 DevTools 中,使 […]
判斷Linux伺服器架構是32位/64位
作為一個 Unix 系統的新手用戶,我可以怎麼判斷我的 Unix 伺服器安裝的是32位或者64位的操作系統呢?你可以使用如下的命令來獲取關於 Unix 內核和 CPU 架構的信息。
從Windows系統到Linux系統轉變的5大要點
到底要怎樣從一個在Windows系統下工作的人轉變成一個合格的Linux系統管理員?更重要的是,我應該在工作中做些什麼?畢竟我的任務是完成工作,而不是學習一個新的操作系統。