saviorlv/yii2-bd-aipspeech
åºäºç¾åº¦AI çè¯é³åæã转æ¢ç Yii2 sdk.
å®è£ ¶
$ composer require saviorlv/yii2-bd-aipspeech -vvv
é ç½® ¶
// é
ç½®æ件éä¿®æ¹
'components' => [
......
'aipSpeech' => [
'class' => 'Saviorlv\Baidu\BdSpeech',
'app_id' => 'xxxxxx', // ç¾åº¦è¯é³ App ID
'api_key' => 'xxxxxxx', // ç¾åº¦è¯é³ API Key
'secret_key' => 'xxxxxx', // ç¾åº¦è¯é³ Secret Key
'path' => Yii::getAlias('@tmp'.'/audios/') //å¯ä»¥ä¸å¡«å é»è®¤å¨ runtime
],
......
],
ä½¿ç¨ Â¶
- è¯é³è½¬æ¢
//请æ±
$aipSpeech = Yii::$app->get('aipSpeech');
$file = Yii::getAlias('@tmp'.'/audios/').'16k.pcm';
$x = $aipSpeech->recognize($file,'');
var_dump($x);
//ååº
[
'success' =>true,
'msg' => 'è¯é³è¯å«æå',
'data' =>[
......
]
]
//or
[
'success' =>false,
'msg' => 'è¯é³æ件路å¾é误',
]
- è¯é³åæ
//请æ±
$aipSpeech = Yii::$app->get('aipSpeech');
$x = $aipSpeech->combine('æ¨å¥½ï¼ä¸ç');
var_dump($x);
//ååº
[
'success' =>true,
'msg' => 'è¯é³åææå',
'data' =>'/webwww/yii2-bd/tmp/audios/5c4575feeb70d.mp3'
]
//or
[
'success' =>false,
'msg' => 'è¯é³åæ失败',
]
说æ ¶
è¯é³è¯å«åæ°è¯´æ
ç¨æ³ ¶
/**
* è¯é³è¯å«
*
* @param $filePath string è¯é³æ件æ¬å°è·¯å¾,ä¼å
使ç¨æ¤é¡¹
* @param $url string è¯é³æ件URLè·¯å¾
* @param $userID string ç¨æ·å¯ä¸æ è¯
* @param $format string è¯é³æä»¶æ ¼å¼ ['pcm', 'wav', 'opus', 'speex', 'amr']
* @param $rate integer éæ ·ç [8000, 16000]
* @param $dev_pid int è¯é³è¯è¨ [1536,1537,1737,1637,1837,1936]
* @return array
*/
public function recognize($filePath, $url, $format = 'wav', $dev_pid = 1536, $userID = null, $rate = 16000)
{}
åæ° Â¶
åæ° | ç±»å | æè¿° | æ¯å¦å¿ é¡» |
---|---|---|---|
$filePath | String | 建ç«å å«è¯é³å 容çæ¬å°, è¯é³æ件çæ ¼å¼ï¼pcm æè wav æè amrãä¸åºå大å°å | æ¯ï¼url äºéä¸ï¼ |
$url | String | 建ç«å å«è¯é³å 容çurl, è¯é³æ件çæ ¼å¼ï¼pcm æè wav æè amrãä¸åºå大å°å | æ¯ï¼filePath äºéä¸ï¼ |
format | String | è¯é³æ件çæ ¼å¼ï¼pcm æè wav æè amrãä¸åºå大å°åãæ¨èpcmæ件 | æ¯ |
rate | int | éæ ·çï¼16000ï¼åºå®å¼ | æ¯ |
userId | String | ç¨æ·å¯ä¸æ è¯ï¼ç¨æ¥åºåç¨æ·ï¼å¡«åæºå¨ MAC å°åæ IMEI ç ï¼é¿åº¦ä¸º60以å | å¦ |
dev_pid | Int | ä¸å¡«ålanåæ°çæï¼é½ä¸å¡«åï¼é»è®¤1537ï¼æ®éè¯ è¾å ¥æ³æ¨¡åï¼ï¼dev_pidåæ°è§æ¬èå¼å¤´çè¡¨æ ¼ | å¦ |
è¯é³åæåæ°è¯´æ
ç¨æ³ ¶
/**
* è¯é³åæ
*
* @param $text string åæçææ¬
* @param $userID string ç¨æ·å¯ä¸æ è¯
* @param $lan string è¯é³ ['zh']
* @param $speed integer è¯éï¼åå¼0-9ï¼é»è®¤ä¸º5ä¸è¯é
* @param $pitch integer é³è°ï¼åå¼0-9ï¼é»è®¤ä¸º5ä¸è¯è°
* @param $volume integer é³éï¼åå¼0-15ï¼é»è®¤ä¸º5ä¸é³é
* @param $person integer åé³äººéæ©, 0为女声ï¼1为ç·å£°ï¼3为æ
æåæ-度éé¥ï¼4为æ
æåæ-度丫丫ï¼é»è®¤ä¸ºæ®é女
* @param $fileName string åå¨æ件路å¾å称
* @return array
*/
public function combine($text, $userID = null, $lan = 'zh', $speed = 5, $pitch = 5, $volume = 5, $person = 0, $fileName = null){}
åæ° Â¶
åæ° | ç±»å | æè¿° | æ¯å¦å¿ é¡» |
---|---|---|---|
tex | String | åæçææ¬ï¼ä½¿ç¨UTF-8ç¼ç ï¼ è¯·æ³¨æææ¬é¿åº¦å¿ é¡»å°äº1024åè |
æ¯ |
userID | String | ç¨æ·å¯ä¸æ è¯ï¼ç¨æ¥åºåç¨æ·ï¼ å¡«åæºå¨ MAC å°åæ IMEI ç ï¼é¿åº¦ä¸º60以å |
å¦ |
speed | String | è¯éï¼åå¼0-9ï¼é»è®¤ä¸º5ä¸è¯é | å¦ |
pitch | String | é³è°ï¼åå¼0-9ï¼é»è®¤ä¸º5ä¸è¯è° | å¦ |
volume | String | é³éï¼åå¼0-15ï¼é»è®¤ä¸º5ä¸é³é | å¦ |
person | String | åé³äººéæ©, 0为女声ï¼1为ç·å£°ï¼ 3为æ æåæ-度éé¥ï¼4为æ æåæ-度丫丫ï¼é»è®¤ä¸ºæ®é女 |
å¦ |
fileName | String | åææ件å称 | å¦ |
lan | String | åæè¯é³çè¯è¨ é»è®¤ zh | å¦ |
åèæ件 ¶
ç¾åº¦è¯é³, ä¸å®è¦å çææ¡£
æè°¢
License ¶
MIT
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.