diff --git a/app/Pusher copy.php b/app/Pusher copy.php new file mode 100644 index 0000000..b0a06dc --- /dev/null +++ b/app/Pusher copy.php @@ -0,0 +1,152 @@ +send(['header'=>['code'=>10003,'message'=>'消息不能为空']]); + } + if ($data != '') { + $client = new Client($this->assembleAuthUrl('wss://spark-api.xf-yun.com/v2.1/chat')); + // 连接到 WebSocket 服务器 + if ($client) { + $this->chatClient=$client; + // 发送数据到 WebSocket 服务器 + $data = $this->getBody($this->app_id, $data); + + $client->send($data); + // 从 WebSocket 服务器接收数据 + while (true) { + $response = $client->receive(); + $resp = json_decode($response, true); + $code = $resp["header"]["code"]; + // echo "从服务器接收到的数据: " . $response; + if(0 == $code){ + $status = $resp["header"]["status"]; + if($status != 2){ + // $content = $resp['payload']['choices']['text'][0]['content']; + $connection->send($response); + }else{ + // $content = $resp['payload']['choices']['text'][0]['content']; + $connection->send($response); + + // $total_tokens = $resp['payload']['usage']['text']['total_tokens']; + print("\n本次消耗token用量:\n"); + $client->close(); + break; + } + } + if($code==10004){ + return $connection->send(['header'=>['code'=>10004,'message'=>'上下文超出限制,请清空后重试']]); + } + } + } + } + } + + public function onClose(TcpConnection $connection) + { + if($this->chatClient){ + $this->chatClient->close(); + } + echo "onClose\n"; + } + + function getBody($appid, $question) + { + $header = array( + "app_id" => $appid, + "uid" => "1" + ); + + $parameter = array( + "chat" => array( + "domain" => "generalv2", + "temperature" => 0.5, + "max_tokens" => 8192 + ) + ); + + $payload = array( + "message" => array( + "text" => $question + ) + ); + + $json_string = json_encode(array( + "header" => $header, + "parameter" => $parameter, + "payload" => $payload + )); + + return $json_string; + } + + function assembleAuthUrl($addr, $method = 'GET') + { + $apiKey = $this->api_key; + $apiSecret = $this->api_secret; + if ($apiKey == "" && $apiSecret == "") { // 不鉴权 + return $addr; + } + + $ul = parse_url($addr); // 解析地址 + if ($ul === false) { // 地址不对,也不鉴权 + return $addr; + } + // // $date = date(DATE_RFC1123); // 获取当前时间并格式化为RFC1123格式的字符串 + $timestamp = time(); + $rfc1123_format = gmdate("D, d M Y H:i:s \G\M\T", $timestamp); + // $rfc1123_format = "Mon, 31 Jul 2023 08:24:03 GMT"; + + // 参与签名的字段 host, date, request-line + $signString = array("host: " . $ul["host"], "date: " . $rfc1123_format, $method . " " . $ul["path"] . " HTTP/1.1"); + // 对签名字符串进行排序,确保顺序一致 + // ksort($signString); + // 将签名字符串拼接成一个字符串 + $sgin = implode("\n", $signString); + + // 对签名字符串进行HMAC-SHA256加密,得到签名结果 + $sha = hash_hmac('sha256', $sgin, $apiSecret, true); + + $signature_sha_base64 = base64_encode($sha); + + // 将API密钥、算法、头部信息和签名结果拼接成一个授权URL + $authUrl = "api_key=\"$apiKey\",algorithm=\"hmac-sha256\",headers=\"host date request-line\",signature=\"$signature_sha_base64\""; + // 对授权URL进行Base64编码,并添加到原始地址后面作为查询参数 + $authAddr = $addr . '?' . http_build_query(array( + 'host' => $ul['host'], + 'date' => $rfc1123_format, + 'authorization' => base64_encode($authUrl), + )); + return $authAddr; + } +} diff --git a/app/Pusher.php b/app/Pusher.php index b0a06dc..57f03ac 100644 --- a/app/Pusher.php +++ b/app/Pusher.php @@ -7,6 +7,9 @@ use IFlytek\Xfyun\Speech\ChatClient; use WebSocket\Client; use Workerman\Connection\AsyncTcpConnection; use support\Request; +use Webman\Container; + +use function DI\env; class Pusher { @@ -18,6 +21,12 @@ class Pusher private $chatClient; + private $ttsConfig =[ + 'aue'=>'lame', + 'sfl'=>1, + 'vcn'=>'xiaoyan' + ]; + public function onConnect(TcpConnection $connection) { echo "onConnect\n"; @@ -31,6 +40,14 @@ class Pusher public function onMessage(TcpConnection $connection, $data) { $data=json_decode($data,true); + + $tts_type=0; + if(isset($data['tts'])){ + $tts_type = $data['tts']; + } + if(isset($data['data'])){ + $data = $data['data']; + } if(isset($data[0])&&$data[0]['content']==''){ return $connection->send(['header'=>['code'=>10003,'message'=>'消息不能为空']]); } @@ -52,10 +69,22 @@ class Pusher if(0 == $code){ $status = $resp["header"]["status"]; if($status != 2){ - // $content = $resp['payload']['choices']['text'][0]['content']; + if($tts_type==1){ + $url=$this->tts($resp['payload']['choices']['text'][0]['content']); + $resp['payload']['choices']['mp3']=$url; + $response=json_encode($resp,true); + + } $connection->send($response); }else{ - // $content = $resp['payload']['choices']['text'][0]['content']; + if($tts_type==1){ + $url=$this->tts($resp['payload']['choices']['text'][0]['content']); + $resp['payload']['choices']['mp3']=$url; + $response=json_encode($resp,true); + + } + $this->tts($resp['payload']['choices']['text'][0]['content']); + $connection->send($response); // $total_tokens = $resp['payload']['usage']['text']['total_tokens']; @@ -149,4 +178,12 @@ class Pusher )); return $authAddr; } + + function tts($text){ + $name=time().'.mp3'; + $tts=new extend\IFlytek\Xfyun\Speech\TtsClient($this->app_id,$this->api_key,$this->api_secret,$this->ttsConfig); + file_put_contents(public_path('tts').'/'.$name,$tts->request($text)->getBody()->getContents()); + return 'https://chat.lihaink.cn/tts/'.$name; + } + } diff --git a/app/controller/IndexController.php b/app/controller/IndexController.php index 22fb660..5fe68b2 100644 --- a/app/controller/IndexController.php +++ b/app/controller/IndexController.php @@ -3,6 +3,7 @@ namespace app\controller; use app\extend\ChatGLM\Core; +use app\extend\IFlytek\Xfyun\Speech\TtsClient; use support\App; use support\Request; use Webman\Container; @@ -12,9 +13,8 @@ class IndexController { public function index(Request $request) { - // $chat=(new Container())->get(Core::class); - - (new Core())->getUrl(); + $chat=(new Container())->get(Core::class); + // (new Core())->getUrl(); static $readme; if (!$readme) { $readme = file_get_contents(base_path('README.md')); diff --git a/app/extend/IFlytek/Xfyun/Core/Config/ConfigInterface.php b/app/extend/IFlytek/Xfyun/Core/Config/ConfigInterface.php index 46fb651..d17cdba 100644 --- a/app/extend/IFlytek/Xfyun/Core/Config/ConfigInterface.php +++ b/app/extend/IFlytek/Xfyun/Core/Config/ConfigInterface.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Config; +namespace app\extend\IFlytek\Xfyun\Core\Config; /** * 配置类接口 diff --git a/app/extend/IFlytek/Xfyun/Core/Handler/Guzzle7HttpHandler.php b/app/extend/IFlytek/Xfyun/Core/Handler/Guzzle7HttpHandler.php index b3caeb7..2c57484 100644 --- a/app/extend/IFlytek/Xfyun/Core/Handler/Guzzle7HttpHandler.php +++ b/app/extend/IFlytek/Xfyun/Core/Handler/Guzzle7HttpHandler.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Handler; +namespace app\extend\IFlytek\Xfyun\Core\Handler; use GuzzleHttp\ClientInterface; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; diff --git a/app/extend/IFlytek/Xfyun/Core/Handler/HttpHandlerFactory.php b/app/extend/IFlytek/Xfyun/Core/Handler/HttpHandlerFactory.php index d7eb339..0614c98 100644 --- a/app/extend/IFlytek/Xfyun/Core/Handler/HttpHandlerFactory.php +++ b/app/extend/IFlytek/Xfyun/Core/Handler/HttpHandlerFactory.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Handler; +namespace app\extend\IFlytek\Xfyun\Core\Handler; use GuzzleHttp\Client; use GuzzleHttp\ClientInterface; diff --git a/app/extend/IFlytek/Xfyun/Core/Handler/WsHandler.php b/app/extend/IFlytek/Xfyun/Core/Handler/WsHandler.php index ac479e6..0df40be 100644 --- a/app/extend/IFlytek/Xfyun/Core/Handler/WsHandler.php +++ b/app/extend/IFlytek/Xfyun/Core/Handler/WsHandler.php @@ -16,20 +16,20 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Handler; +namespace app\extend\IFlytek\Xfyun\Core\Handler; -use IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; use WebSocket\Client; use WebSocket\Exception; use GuzzleHttp\Psr7\Response; -use Psr\Log\{LoggerAwareInterface, LoggerInterface, NullLogger}; +use Psr\Log\{LoggerInterface, NullLogger}; /** * WebSocket处理类 * * @author guizheng@iflytek.com */ -class WsHandler implements LoggerAwareInterface +class WsHandler { use JsonTrait; @@ -118,9 +118,9 @@ class WsHandler implements LoggerAwareInterface } } - public function setLogger(LoggerInterface $logger = null) - { - $this->logger = $logger ?: new NullLogger(); - } + // public function setLogger(LoggerInterface $logger = null) + // { + // $this->logger = $logger ?: new NullLogger(); + // } } diff --git a/app/extend/IFlytek/Xfyun/Core/HttpClient.php b/app/extend/IFlytek/Xfyun/Core/HttpClient.php index 8f69c17..0ca07be 100644 --- a/app/extend/IFlytek/Xfyun/Core/HttpClient.php +++ b/app/extend/IFlytek/Xfyun/Core/HttpClient.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core; +namespace app\extend\IFlytek\Xfyun\Core; /** * Http客户端 @@ -26,10 +26,10 @@ namespace IFlytek\Xfyun\Core; use Exception; use GuzzleHttp\Psr7\Response; -use IFlytek\Xfyun\Core\Handler\Guzzle7HttpHandler; -use IFlytek\Xfyun\Core\Traits\SignTrait; -use IFlytek\Xfyun\Core\Traits\DecideRetryTrait; -use IFlytek\Xfyun\Core\Handler\HttpHandlerFactory; +use app\extend\IFlytek\Xfyun\Core\Handler\Guzzle7HttpHandler; +use app\extend\IFlytek\Xfyun\Core\Traits\SignTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\DecideRetryTrait; +use app\extend\IFlytek\Xfyun\Core\Handler\HttpHandlerFactory; use Psr\Http\Message\RequestInterface; use GuzzleHttp\Psr7\Utils; diff --git a/app/extend/IFlytek/Xfyun/Core/Traits/ArrayTrait.php b/app/extend/IFlytek/Xfyun/Core/Traits/ArrayTrait.php index 72f53f4..df16791 100644 --- a/app/extend/IFlytek/Xfyun/Core/Traits/ArrayTrait.php +++ b/app/extend/IFlytek/Xfyun/Core/Traits/ArrayTrait.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Traits; +namespace app\extend\IFlytek\Xfyun\Core\Traits; /** * 数组处理 diff --git a/app/extend/IFlytek/Xfyun/Core/Traits/DecideRetryTrait.php b/app/extend/IFlytek/Xfyun/Core/Traits/DecideRetryTrait.php index d7801d3..b68a7e9 100644 --- a/app/extend/IFlytek/Xfyun/Core/Traits/DecideRetryTrait.php +++ b/app/extend/IFlytek/Xfyun/Core/Traits/DecideRetryTrait.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Traits; +namespace app\extend\IFlytek\Xfyun\Core\Traits; use GuzzleHttp\Exception\RequestException; diff --git a/app/extend/IFlytek/Xfyun/Core/Traits/JsonTrait.php b/app/extend/IFlytek/Xfyun/Core/Traits/JsonTrait.php index cb8383b..06b082f 100644 --- a/app/extend/IFlytek/Xfyun/Core/Traits/JsonTrait.php +++ b/app/extend/IFlytek/Xfyun/Core/Traits/JsonTrait.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace Iflytek\Xfyun\Core\Traits; +namespace app\extend\Iflytek\Xfyun\Core\Traits; /** * 提供对原生json_encode和json_decode的封装,以便在发生错误时抛出一个异常 diff --git a/app/extend/IFlytek/Xfyun/Core/Traits/SignTrait.php b/app/extend/IFlytek/Xfyun/Core/Traits/SignTrait.php index 7f7b37d..4193b14 100644 --- a/app/extend/IFlytek/Xfyun/Core/Traits/SignTrait.php +++ b/app/extend/IFlytek/Xfyun/Core/Traits/SignTrait.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core\Traits; +namespace app\extend\IFlytek\Xfyun\Core\Traits; /** * 提供平台的签名方法 diff --git a/app/extend/IFlytek/Xfyun/Core/WsClient.php b/app/extend/IFlytek/Xfyun/Core/WsClient.php index 0d6035e..b4e8315 100644 --- a/app/extend/IFlytek/Xfyun/Core/WsClient.php +++ b/app/extend/IFlytek/Xfyun/Core/WsClient.php @@ -16,7 +16,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Core; +namespace app\extend\IFlytek\Xfyun\Core; /** * WebSocket客户端 diff --git a/app/extend/IFlytek/Xfyun/Speech/Config/IgrConfig.php b/app/extend/IFlytek/Xfyun/Speech/Config/IgrConfig.php index b7f83fe..0f81de9 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Config/IgrConfig.php +++ b/app/extend/IFlytek/Xfyun/Speech/Config/IgrConfig.php @@ -16,11 +16,11 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Config; +namespace app\extend\IFlytek\Xfyun\Speech\Config; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; -use IFlytek\Xfyun\Core\Config\ConfigInterface; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Config\ConfigInterface; /** * 性别年龄识别配置参数类 diff --git a/app/extend/IFlytek/Xfyun/Speech/Config/IseConfig.php b/app/extend/IFlytek/Xfyun/Speech/Config/IseConfig.php index 8c22a94..685dbf7 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Config/IseConfig.php +++ b/app/extend/IFlytek/Xfyun/Speech/Config/IseConfig.php @@ -16,11 +16,11 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Config; +namespace app\extend\IFlytek\Xfyun\Speech\Config; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; -use IFlytek\Xfyun\Core\Config\ConfigInterface; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Config\ConfigInterface; /** * 语音评测配置参数类 diff --git a/app/extend/IFlytek/Xfyun/Speech/Config/LfasrConfig.php b/app/extend/IFlytek/Xfyun/Speech/Config/LfasrConfig.php index cdc2b65..565f088 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Config/LfasrConfig.php +++ b/app/extend/IFlytek/Xfyun/Speech/Config/LfasrConfig.php @@ -16,11 +16,11 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Config; +namespace app\extend\IFlytek\Xfyun\Speech\Config; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; -use IFlytek\Xfyun\Core\Config\ConfigInterface; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Config\ConfigInterface; /** * 语音转写配置参数类 diff --git a/app/extend/IFlytek/Xfyun/Speech/Config/TcConfig.php b/app/extend/IFlytek/Xfyun/Speech/Config/TcConfig.php index 980417b..9bbb0f1 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Config/TcConfig.php +++ b/app/extend/IFlytek/Xfyun/Speech/Config/TcConfig.php @@ -16,10 +16,10 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Config; +namespace app\extend\IFlytek\Xfyun\Speech\Config; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Config\ConfigInterface; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Config\ConfigInterface; /** * 文本纠错配置参数类 diff --git a/app/extend/IFlytek/Xfyun/Speech/Config/TtsConfig.php b/app/extend/IFlytek/Xfyun/Speech/Config/TtsConfig.php index c9f6b31..3b31646 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Config/TtsConfig.php +++ b/app/extend/IFlytek/Xfyun/Speech/Config/TtsConfig.php @@ -16,11 +16,11 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Config; +namespace app\extend\IFlytek\Xfyun\Speech\Config; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; -use IFlytek\Xfyun\Core\Config\ConfigInterface; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Config\ConfigInterface; /** * 语音合成配置参数类 diff --git a/app/extend/IFlytek/Xfyun/Speech/Constants/ChatConstants.php b/app/extend/IFlytek/Xfyun/Speech/Constants/ChatConstants.php index fa97099..33a2f9e 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Constants/ChatConstants.php +++ b/app/extend/IFlytek/Xfyun/Speech/Constants/ChatConstants.php @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Constants; +namespace app\extend\IFlytek\Xfyun\Speech\Constants; /** * 星火 diff --git a/app/extend/IFlytek/Xfyun/Speech/Constants/IgrConstants.php b/app/extend/IFlytek/Xfyun/Speech/Constants/IgrConstants.php index 5b93626..ea1e346 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Constants/IgrConstants.php +++ b/app/extend/IFlytek/Xfyun/Speech/Constants/IgrConstants.php @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Constants; +namespace app\extend\IFlytek\Xfyun\Speech\Constants; /** * 性别年龄识别常量 diff --git a/app/extend/IFlytek/Xfyun/Speech/Constants/IseConstants.php b/app/extend/IFlytek/Xfyun/Speech/Constants/IseConstants.php index 1fad031..81174a0 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Constants/IseConstants.php +++ b/app/extend/IFlytek/Xfyun/Speech/Constants/IseConstants.php @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Constants; +namespace app\extend\IFlytek\Xfyun\Speech\Constants; /** * 语音评测常量 diff --git a/app/extend/IFlytek/Xfyun/Speech/Constants/LfasrConstants.php b/app/extend/IFlytek/Xfyun/Speech/Constants/LfasrConstants.php index 433fe31..d97c535 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Constants/LfasrConstants.php +++ b/app/extend/IFlytek/Xfyun/Speech/Constants/LfasrConstants.php @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Constants; +namespace app\extend\IFlytek\Xfyun\Speech\Constants; /** * 语音转写常量 diff --git a/app/extend/IFlytek/Xfyun/Speech/Constants/TcConstants.php b/app/extend/IFlytek/Xfyun/Speech/Constants/TcConstants.php index 2816089..c6696e1 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Constants/TcConstants.php +++ b/app/extend/IFlytek/Xfyun/Speech/Constants/TcConstants.php @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Constants; +namespace app\extend\IFlytek\Xfyun\Speech\Constants; /** * 文本纠错常量 diff --git a/app/extend/IFlytek/Xfyun/Speech/Constants/TtsConstants.php b/app/extend/IFlytek/Xfyun/Speech/Constants/TtsConstants.php index 5d25aec..c8ae744 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Constants/TtsConstants.php +++ b/app/extend/IFlytek/Xfyun/Speech/Constants/TtsConstants.php @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Constants; +namespace app\extend\IFlytek\Xfyun\Speech\Constants; /** * 语音合成常量 diff --git a/app/extend/IFlytek/Xfyun/Speech/Helper/SliceIdGenerator.php b/app/extend/IFlytek/Xfyun/Speech/Helper/SliceIdGenerator.php index 9032fc5..75833a2 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Helper/SliceIdGenerator.php +++ b/app/extend/IFlytek/Xfyun/Speech/Helper/SliceIdGenerator.php @@ -15,9 +15,9 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Helper; +namespace app\extend\IFlytek\Xfyun\Speech\Helper; -use IFlytek\Xfyun\Speech\Constants\LfasrConstants; +use app\extend\IFlytek\Xfyun\Speech\Constants\LfasrConstants; /** * 转写切片ID生成类 diff --git a/app/extend/IFlytek/Xfyun/Speech/Traits/IgrTrait.php b/app/extend/IFlytek/Xfyun/Speech/Traits/IgrTrait.php index 216184a..606dac0 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Traits/IgrTrait.php +++ b/app/extend/IFlytek/Xfyun/Speech/Traits/IgrTrait.php @@ -15,10 +15,10 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Traits; +namespace app\extend\IFlytek\Xfyun\Speech\Traits; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; /** * 性别年龄识别方法 diff --git a/app/extend/IFlytek/Xfyun/Speech/Traits/IseTrait.php b/app/extend/IFlytek/Xfyun/Speech/Traits/IseTrait.php index c8fe85b..20dcb94 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Traits/IseTrait.php +++ b/app/extend/IFlytek/Xfyun/Speech/Traits/IseTrait.php @@ -15,10 +15,10 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Traits; +namespace app\extend\IFlytek\Xfyun\Speech\Traits; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; /** * 语音评测方法 diff --git a/app/extend/IFlytek/Xfyun/Speech/Traits/LfasrTrait.php b/app/extend/IFlytek/Xfyun/Speech/Traits/LfasrTrait.php index fb1bf1c..13e0fb4 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Traits/LfasrTrait.php +++ b/app/extend/IFlytek/Xfyun/Speech/Traits/LfasrTrait.php @@ -15,9 +15,9 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Traits; +namespace app\extend\IFlytek\Xfyun\Speech\Traits; -use IFlytek\Xfyun\Speech\Constants\LfasrConstants; +use app\extend\IFlytek\Xfyun\Speech\Constants\LfasrConstants; /** * 转写方法 diff --git a/app/extend/IFlytek/Xfyun/Speech/Traits/TcTrait.php b/app/extend/IFlytek/Xfyun/Speech/Traits/TcTrait.php index a6cbb94..99932db 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Traits/TcTrait.php +++ b/app/extend/IFlytek/Xfyun/Speech/Traits/TcTrait.php @@ -15,10 +15,10 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Traits; +namespace app\extend\IFlytek\Xfyun\Speech\Traits; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; /** * 文本纠错方法 diff --git a/app/extend/IFlytek/Xfyun/Speech/Traits/TtsTrait.php b/app/extend/IFlytek/Xfyun/Speech/Traits/TtsTrait.php index d2de507..6ef8488 100644 --- a/app/extend/IFlytek/Xfyun/Speech/Traits/TtsTrait.php +++ b/app/extend/IFlytek/Xfyun/Speech/Traits/TtsTrait.php @@ -15,10 +15,10 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech\Traits; +namespace app\extend\IFlytek\Xfyun\Speech\Traits; -use IFlytek\Xfyun\Core\Traits\ArrayTrait; -use IFlytek\Xfyun\Core\Traits\JsonTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\ArrayTrait; +use app\extend\IFlytek\Xfyun\Core\Traits\JsonTrait; /** * 语音合成方法 diff --git a/app/extend/IFlytek/Xfyun/Speech/TtsClient.php b/app/extend/IFlytek/Xfyun/Speech/TtsClient.php index f4978f8..11a42c5 100644 --- a/app/extend/IFlytek/Xfyun/Speech/TtsClient.php +++ b/app/extend/IFlytek/Xfyun/Speech/TtsClient.php @@ -15,15 +15,15 @@ * limitations under the License. */ -namespace IFlytek\Xfyun\Speech; + namespace app\extend\IFlytek\Xfyun\Speech; use Exception; -use IFlytek\Xfyun\Speech\Config\TtsConfig; -use IFlytek\Xfyun\Speech\Constants\TtsConstants; -use IFlytek\Xfyun\Speech\Traits\TtsTrait; -use IFlytek\Xfyun\Core\Handler\WsHandler; -use IFlytek\Xfyun\Core\WsClient; -use IFlytek\Xfyun\Core\Traits\SignTrait; +use app\extend\IFlytek\Xfyun\Speech\Config\TtsConfig; +use app\extend\IFlytek\Xfyun\Speech\Constants\TtsConstants; +use app\extend\IFlytek\Xfyun\Speech\Traits\TtsTrait; +use app\extend\IFlytek\Xfyun\Core\Handler\WsHandler; +use app\extend\IFlytek\Xfyun\Core\WsClient; +use app\extend\IFlytek\Xfyun\Core\Traits\SignTrait; use Psr\Log\LoggerInterface; /** @@ -89,9 +89,9 @@ class TtsClient ]), $this->generateInput($text, $this->appId, $this->requestConfig->toArray()) ); - if ($this->logger) { - $ttsHandler->setLogger($this->logger); - } + // if ($this->logger) { + // $ttsHandler->setLogger($this->logger); + // } $client = new WsClient([ 'handler' => $ttsHandler ]); diff --git a/public/tts/001.wav b/public/tts/001.wav new file mode 100644 index 0000000..43b2d49 Binary files /dev/null and b/public/tts/001.wav differ diff --git a/public/tts/1697002464.mp3 b/public/tts/1697002464.mp3 new file mode 100644 index 0000000..7057dc9 Binary files /dev/null and b/public/tts/1697002464.mp3 differ diff --git a/public/tts/1697002684.mp3 b/public/tts/1697002684.mp3 new file mode 100644 index 0000000..7057dc9 Binary files /dev/null and b/public/tts/1697002684.mp3 differ diff --git a/public/tts/1697003116.mp3 b/public/tts/1697003116.mp3 new file mode 100644 index 0000000..b4c95f7 Binary files /dev/null and b/public/tts/1697003116.mp3 differ diff --git a/public/tts/1697003117.mp3 b/public/tts/1697003117.mp3 new file mode 100644 index 0000000..2b50d26 Binary files /dev/null and b/public/tts/1697003117.mp3 differ diff --git a/public/tts/1697003118.mp3 b/public/tts/1697003118.mp3 new file mode 100644 index 0000000..2b50d26 Binary files /dev/null and b/public/tts/1697003118.mp3 differ