一 背景音乐和音频文件合成插件起因:想做一个心灵疗愈类的智能体,其中一个需求是当用户想进行疗愈或催眠的时候,要生成一段音频,包含音频文件以及背景音乐。在制作工作流的时候,音频文件内容和背景音乐分别有两个节点实现,最终就形成了两个音频文件。

本来想着让用户自己来点击播放和暂停也不是不行,但是有个问题,就是两段音频时长不同,感觉体验还是不太好。所以还是需要把这两段音频合成起来。查找了一下工作流模板库以及插件商店,都没有这样的功能。所以就只能自己造轮子了。
1.1 新建插件
进入工作空间后,在资源库中,点击右上角的资源,选择插件。
然后填写基本信息:
插件名称:音频文件合成
插件描述:可以将背景音乐和音频文件合成一个文件。
创建方式:选择代码创建,就是在Coze IDE 中创建,语言选择 Python。

1.2 创建工具
一个插件下,其实可以包含多个工具。

这里点击在IDE中创建工具。

然后填写工具名称和工具介绍:
名称:merge_audio_and_bgm介绍:合成音频文件和背景音乐

进来之后,先设置元数据。就是这个插件需要上传的参数,以及输出的参数。这里可以在制作过程中随时修改。
因为要做两个音频文件合成,那这两个音频文件的链接,起码要传入。输出参数,就是合成之后的音频文件,这里文件最终上传到七牛云上。所以最后只给出上传后的文件链接即可。那么数据类型为String。

然后回到代码中,如果不想自己写代码,可以AI生成。无论自己写,还是AI生成,往往都需要反复的测试调整。
所以AI指令,就根据你的实际情况来编写。

代码生成后,可能会有一些依赖包需要安装。点击左下角的添加依赖,一个一个安装即可。然后运行调试。
最终代码:

因为线上环境没有ffmpeg,调试了几次,纯python代码,转换底层的字节流实现,所以速度会慢一些。最终代码如下:


注意:因为是个人使用,所以这里上传七牛云的参数在代码中写死了。如果是想上架插件商店供他人使用,可以设置上传参数,比如上传的平台,不一定是七牛云。还有ak,sk等等。

最后还要点击右下角的更新输出参数,保证代码中的参数和元数据中的输出参数对应上。有些参数觉得没用,也可以去掉。

二 音频格式转换工具
上面的背景音乐和音频文件合成工具,因为要避过ffmpeg,所以最终的实现是纯python代码。但是也有一个弊端,就是只能处理wav格式。那我们就再添加一个工具,用来实现音频文件的类型转换,比如把mp3格式转为wav,或者把wav转换为mp3。
2.1 创建工具
工具的创建方式同上。
设置输入参数和输出参数。

2.2 代码实现

这里还是让AI写代码。写完之后的代码,反复调试即可。最终代码如下:

三 发布 & 上架
测试之后没啥问题,就可以发布了。

如果发布之后,还想供其他人使用,可以上架插件商店。


这里有个小注意事项,就是插件图标要换成自己的,不要使用默认,不然很容易审核不过。
没有就让『豆包』设计一个。

然后插件需要重新发布。
重新上架,等待审核。

审核还是需要等一会儿的,审核通过之后,就可以分享给其他人使用啦






