generateVoiceCloneLite
Create voice clones from uploaded audio files for use in speech synthesis and video production. Specify voice characteristics like gender and description, then generate sample audio with provided text.
Instructions
#工具说明:根据上传音频生成音色,可用于语音合成及视频制作.
样例1:
用户输入:用文件id为xxx的音频文件克隆声音。命名为“zhangsan”,是一个三十岁左右中年男性的音色,用“这个是我克隆的声音”这段文本试听一下 思考过程: 1.用户想要克隆一个声音,需要使用“generateVoiceCloneLite”工具。 2.工具需要参数,name,gender,describe,uploadAudioId,example,五个参数。 3.uploadAudioId的值为文件ID,name的值为zhangsan,describe的值为“一个三十岁左右中年男性的音色”,gender的值为male,example为“这个是我克隆的声音”
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 音色名称 | |
| describe | Yes | 音色描述 | |
| uploadAudioId | Yes | 音频文件id | |
| exampleText | Yes | 音频文本 | |
| gender | No | 性别 | unknown |
Implementation Reference
- src/mcp_server_baidu_digitalhuman/dhserver.py:507-519 (registration)Registers the 'generateVoiceCloneLite' tool with the FastMCP server, providing the tool name and a detailed description with usage examples.
@mcp.tool( name="generateVoiceCloneLite", description=( """ #工具说明:根据上传音频生成音色,可用于语音合成及视频制作. # 样例1: 用户输入:用文件id为xxx的音频文件克隆声音。命名为“zhangsan”,是一个三十岁左右中年男性的音色,用“这个是我克隆的声音”这段文本试听一下 思考过程: 1.用户想要克隆一个声音,需要使用“generateVoiceCloneLite”工具。 2.工具需要参数,name,gender,describe,uploadAudioId,example,五个参数。 3.uploadAudioId的值为文件ID,name的值为zhangsan,describe的值为“一个三十岁左右中年男性的音色”,gender的值为male,example为“这个是我克隆的声音” """) ) - The handler function that executes the tool logic: validates inputs via Annotated types, constructs a VoiceCloneRequest, invokes the DHApiClient.voice_clone method for lite voice cloning, and returns the response or error.
async def generateVoiceCloneLite( name: Annotated[str, Field(description="音色名称")], describe: Annotated[str, Field(description="音色描述")], uploadAudioId: Annotated[str, Field(description="音频文件id")], exampleText: Annotated[str, Field(description="音频文本")], gender: Annotated[Literal["male", "female", "unknown"], Field(description="性别", default="unknown")] ) -> MCPVoiceCloneResponse: """ create a lite task of Clone a voice with upload audio file via the DH API. Args: name: 音色名称 describe: 音色描述 gender: 性别 uploadAudioId: 音频文件id exampleText: 音频文本 callbackUrl: 回调地址 Return: perId: 音色克隆任务的ID """ try: client = await getDhClient() req = VoiceCloneRequest( name=name, describe=describe, uploadAudioId=uploadAudioId, exampleText=exampleText, gender=gender.lower(), ) ret = await client.voice_clone(req, True) return ret except Exception as e: return MCPVoiceCloneResponse(error=str(e))