Blogger Information
Blog 1
fans 0
comment 0
visits 584
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
基于百度AI 的语音合成、转换的 Yii2 sdk
孙坤峰
Original
584 people have browsed it

基于百度AI 的语音合成、转换的 Yii2 sdk

<br />基于百度AI 的语音合成、转换的 Yii2 sdk.<br />

<a name="e655a410"></a>

安装

  1. $ composer require saviorlv/yii2-bd-aipspeech -vvv

<a name="224e2ccd"></a>

配置

  1. // 配置文件里修改
  2. 'components' => [
  3. ......
  4. 'aipSpeech' => [
  5. 'class' => 'Saviorlv\Baidu\BdSpeech',
  6. 'app_id' => 'xxxxxx', // 百度语音 App ID
  7. 'api_key' => 'xxxxxxx', // 百度语音 API Key
  8. 'secret_key' => 'xxxxxx', // 百度语音 Secret Key
  9. 'path' => Yii::getAlias('@tmp'.'/audios/') //可以不填写 默认在 runtime
  10. ],
  11. ......
  12. ],

<a name="ecff77a8"></a>

使用

  1. 语音转换
  1. //请求
  2. $aipSpeech = Yii::$app->get('aipSpeech');
  3. $file = Yii::getAlias('@tmp'.'/audios/').'16k.pcm';
  4. $x = $aipSpeech->recognize($file,'');
  5. var_dump($x);
  1. //响应
  2. [
  3. 'success' =>true,
  4. 'msg' => '语音识别成功',
  5. 'data' =>[
  6. ......
  7. ]
  8. ]
  9. //or
  10. [
  11. 'success' =>false,
  12. 'msg' => '语音文件路径错误',
  13. ]
  1. 语音合成
  1. //请求
  2. $aipSpeech = Yii::$app->get('aipSpeech');
  3. $x = $aipSpeech->combine('您好,世界');
  4. var_dump($x);
  1. //响应
  2. [
  3. 'success' =>true,
  4. 'msg' => '语音合成成功',
  5. 'data' =>'/webwww/yii2-bd/tmp/audios/5c4575feeb70d.mp3'
  6. ]
  7. //or
  8. [
  9. 'success' =>false,
  10. 'msg' => '语音合成失败',
  11. ]

<a name="f411d0f1"></a>

说明

语音识别参数说明

<a name="bc120b21"></a>

用法

  1. /**
  2. * 语音识别
  3. *
  4. * @param $filePath string 语音文件本地路径,优先使用此项
  5. * @param $url string 语音文件URL路径
  6. * @param $userID string 用户唯一标识
  7. * @param $format string 语音文件格式 ['pcm', 'wav', 'opus', 'speex', 'amr']
  8. * @param $rate integer 采样率 [8000, 16000]
  9. * @param $dev_pid int 语音语言 [1536,1537,1737,1637,1837,1936]
  10. * @return array
  11. */
  12. public function recognize($filePath, $url, $format = 'wav', $dev_pid = 1536, $userID = null, $rate = 16000)
  13. {}

<a name="3d0a2df9"></a>

参数

参数 类型 描述 是否必须
$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参数见本节开头的表格

<br />

语音合成参数说明

<a name="bc120b21-1"></a>

用法

  1. /**
  2. * 语音合成
  3. *
  4. * @param $text string 合成的文本
  5. * @param $userID string 用户唯一标识
  6. * @param $lan string 语音 ['zh']
  7. * @param $speed integer 语速,取值0-9,默认为5中语速
  8. * @param $pitch integer 音调,取值0-9,默认为5中语调
  9. * @param $volume integer 音量,取值0-15,默认为5中音量
  10. * @param $person integer 发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
  11. * @param $fileName string 存储文件路径名称
  12. * @return array
  13. */
  14. public function combine($text, $userID = null, $lan = 'zh', $speed = 5, $pitch = 5, $volume = 5, $person = 0, $fileName = null){}

<a name="3d0a2df9-1"></a>

参数

参数 类型 描述 是否必须
tex String 合成的文本,使用UTF-8编码,<br />请注意文本长度必须小于1024字节
userID String 用户唯一标识,用来区分用户,<br />填写机器 MAC 地址或 IMEI 码,长度为60以内
speed String 语速,取值0-9,默认为5中语速
pitch String 音调,取值0-9,默认为5中语调
volume String 音量,取值0-15,默认为5中音量
person String 发音人选择, 0为女声,1为男声,<br />3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
fileName String 合成文件名称
lan String 合成语音的语言 默认 zh

<br />

<a name="7cfd3686"></a>

参考文件

<br />百度语音, 一定要先看文档<br />

感谢

<br />e-yunduan/yii2-aip-speech<br />

<a name="License"></a>

License

<br />MIT

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post