脚本概述
PHP 调用 SiliconFlow 语音生成 API 的脚本,用于将文本转换为 MP3 格式的语音文件。
代码结构
依赖引入
php
require_once 'vendor/autoload.php';
use OpenAI\Client;
- 使用 Composer 的自动加载机制
- 引入 OpenAI PHP 客户端库
文件路径处理
php
$speechFilePath = __DIR__ . '/siliconcloud-generated-speech.mp3';
__DIR__
获取当前脚本所在目录- 生成的语音文件将保存在同一目录下
OpenAI 客户端初始化
php
$client = new Client([
'api_key' => 'sk-xxznqkrjqarsmwpeqfcbfylwmrlxysfzydxpowjxovlkxavp',
'base_uri' => 'https://api.siliconflow.cn/v1'
]);
- 使用 SiliconFlow 提供的 API 密钥
- 指定自定义的 API 基础 URL
语音生成核心逻辑
语音生成请求
php
$response = $client->audio()->speech()->create([
'model' => 'FunAudioLLM/CosyVoice2-0.5B',
'voice' => 'FunAudioLLM/CosyVoice2-0.5B:alex',
'input' => "你能用高兴的情感说吗?<|endofprompt|>易到互联...",
'response_format' => 'mp3'
]);
关键参数:
model
:选择语音模型(CosyVoice2-0.5B)voice
:指定特定音色(alex)input
:待转换的文本内容response_format
:输出音频格式
错误处理与文件保存
php
try {
file_put_contents($speechFilePath, $response);
echo "语音生成成功,已保存到 $speechFilePath\n";
} catch (Exception $e) {
echo "语音生成失败: " . $e->getMessage() . "\n";
}
- 使用
try-catch
捕获可能的异常 file_put_contents()
将生成的语音保存到文件- 提供成功或失败的控制台输出
使用场景
- 文本转语音
- 多语言语音生成
- 个性化语音定制
技术特点
- 支持多种语音模型
- 灵活的音色选择
- 简单的错误处理机制
注意事项
- 需要预先安装 Composer 和 OpenAI PHP 客户端库
- API 密钥是敏感信息,不应硬编码
- 注意 API 使用限制和计费
快来体验 siliconflow 图像描述服务:https://cloud.siliconflow.cn/i/vnCCfVaQ
快来体验 siliconflow 图像描述服务:https://cloud.siliconflow.cn/i/vnCCfVaQ
快来体验 siliconflow 图像描述服务:https://cloud.siliconflow.cn/i/vnCCfVaQ