From 3acd0586355e9c70bab48c89dac364a0a93c872a Mon Sep 17 00:00:00 2001 From: xiaoxin <718949661@qq.com> Date: Fri, 28 Jun 2024 13:46:56 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91AI=20?= =?UTF-8?q?=E9=9F=B3=E4=B9=90=EF=BC=9A=E7=94=9F=E6=88=90=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E6=A8=A1=E5=9E=8B=E7=94=9F=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=9B=9E=E5=86=99=E9=9F=B3=E4=B9=90=E6=97=B6?= =?UTF-8?q?=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/dal/dataobject/music/AiMusicDO.java | 10 ++++++++-- .../ai/service/music/AiMusicServiceImpl.java | 2 +- .../ai/core/model/suno/api/SunoApi.java | 16 +++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/music/AiMusicDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/music/AiMusicDO.java index 22e257034..56fd87704 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/music/AiMusicDO.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/music/AiMusicDO.java @@ -30,7 +30,7 @@ public class AiMusicDO extends BaseDO { /** * 用户编号 - * + *

* 关联 AdminUserDO 的 userId 字段 */ private Long userId; @@ -67,7 +67,7 @@ public class AiMusicDO extends BaseDO { /** * 生成模式 - * + *

* 枚举 {@link AiMusicGenerateModeEnum} */ private Integer generateMode; @@ -113,4 +113,10 @@ public class AiMusicDO extends BaseDO { */ private String errorMessage; + + /** + * 音乐时长 + */ + private Double duration; + } diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/music/AiMusicServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/music/AiMusicServiceImpl.java index f352c8829..74ab8bc78 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/music/AiMusicServiceImpl.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/music/AiMusicServiceImpl.java @@ -132,7 +132,7 @@ public class AiMusicServiceImpl implements AiMusicService { return convertList(musicList, musicData -> new AiMusicDO() .setTaskId(musicData.id()).setModel(musicData.modelName()) .setPrompt(musicData.prompt()).setGptDescriptionPrompt(musicData.gptDescriptionPrompt()) - .setAudioUrl(createFile(musicData.audioUrl())).setVideoUrl(createFile(musicData.videoUrl())).setImageUrl(createFile(musicData.imageUrl())) + .setAudioUrl(createFile(musicData.audioUrl())).setVideoUrl(createFile(musicData.videoUrl())).setImageUrl(createFile(musicData.imageUrl())).setDuration(musicData.duration()) .setTitle(musicData.title()).setLyric(musicData.lyric()).setTags(StrUtil.split(musicData.tags(), StrPool.COMMA)) .setStatus(Objects.equals("complete", musicData.status()) ? AiMusicStatusEnum.SUCCESS.getStatus() : AiMusicStatusEnum.IN_PROGRESS.getStatus())); diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/suno/api/SunoApi.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/suno/api/SunoApi.java index d998fdbfa..27d2fa498 100644 --- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/suno/api/SunoApi.java +++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/suno/api/SunoApi.java @@ -117,7 +117,7 @@ public class SunoApi { * @param prompt 用于生成音乐音频的提示 * @param tags 音乐风格 * @param title 音乐名称 - * @param mv 模型 + * @param model 模型 * @param waitAudio false 表示后台模式,仅返回音频任务信息,需要调用 get API 获取详细的音频信息。 * true 表示同步模式,API 最多等待 100s,音频生成完毕后直接返回音频链接等信息,建议在 GPT 等 agent 中使用。 * @param makeInstrumental 指示音乐音频是否为定制,如果为 true,则从歌词生成,否则从提示生成 @@ -127,7 +127,7 @@ public class SunoApi { String prompt, String tags, String title, - String mv, + String model, @JsonProperty("wait_audio") boolean waitAudio, @JsonProperty("make_instrumental") boolean makeInstrumental ) { @@ -136,12 +136,12 @@ public class SunoApi { this(prompt, null, null, null, false, false); } - public MusicGenerateRequest(String prompt, String mv, boolean makeInstrumental) { - this(prompt, null, null, mv, false, makeInstrumental); + public MusicGenerateRequest(String prompt, String model, boolean makeInstrumental) { + this(prompt, null, null, model, false, makeInstrumental); } - public MusicGenerateRequest(String prompt, String mv, String tags, String title) { - this(prompt, tags, title, mv, false, false); + public MusicGenerateRequest(String prompt, String model, String tags, String title) { + this(prompt, tags, title, model, false, false); } } @@ -162,6 +162,7 @@ public class SunoApi { * @param prompt 生成音乐音频的提示 * @param type 操作类型 * @param tags 音乐类型标签 + * @param duration 音乐时长 */ public record MusicData( String id, @@ -176,7 +177,8 @@ public class SunoApi { @JsonProperty("gpt_description_prompt") String gptDescriptionPrompt, String prompt, String type, - String tags + String tags, + Double duration ) { }