【教学类-160-09】20260417 AI视频培训-练习010“豆包AI视频《熊猫找朋友》+豆包图片风格:水墨画”

20260417《009熊猫找朋友》风格:水墨画

背景需求

生成图片

下载图片

生成视频

剪映合成

20260417《009熊猫找朋友》风格:水墨画

不是每个声音都能顺利生成,以下五个声音可以做出来,其他井号的声音都无法生成音频

python 复制代码
# import asyncio
# from pathlib import Path
# import edge_tts

# async def generate_character_audio(name, text, voice, rate, output_dir):
#     """为单个角色生成音频"""
#     filename = f"{name}.mp3"
#     out_path = output_dir / filename
    
#     communicate = edge_tts.Communicate(text, voice, rate=rate)
#     await communicate.save(str(out_path))
#     print(f"✅ {name} 音频已生成: {filename}")

# async def main():
#     # 设置输出目录
#     output_dir = Path(r"D:\test\20260417《熊猫找朋友》水墨画\声音")
#     output_dir.mkdir(parents=True, exist_ok=True)
    
#     # 定义五个角色的配置
#     characters = [
#         {
#             "name": "小熊猫",
#             "text": "我的好朋友在哪里呀?都是黑白皮毛的,我要去找它们~;你好你好!你也是黑白皮毛的,能做我的朋友吗?;哇!你的黑白条纹真漂亮,我们能一起玩吗?;你们好!你们也是黑白皮毛的,快和我们一起玩吧~;太好了!我找到所有黑白皮毛的好朋友啦~!",
#             "voice": "zh-CN-XiaoshuangMultilingualNeural",  # 萝莉音
#             "rate": "+5%"
#         },
#         {
#             "name": "企鹅",
#             "text": "你好呀!我是企鹅,从远方来,很乐意做你的朋友~;你好呀,斑马朋友!;我们又有新朋友啦!",
#             "voice": "zh-CN-XiaoxiaoNeural",  # 温柔女声
#             "rate": "-5%"
#         },
#         {
#             "name": "斑马",
#             "text": "当然可以啦,小熊猫,我很喜欢和你们做朋友;我们又有新朋友啦!",
#             "voice": "zh-CN-YunxiNeural",  # 少年男声
#             "rate": "+0%"  # ⭐ 改成 +0%,不能写 0%
#         },
#         {
#             "name": "斑点狗",
#             "text": "你们好呀!欢迎来农庄,我们一起玩!;我们是最好的朋友,永远在一起!",
#             "voice": "zh-CN-XiaoyiNeural",  # 活泼女声
#             "rate": "+10%"
#         },
#         {
#             "name": "奶牛猫",
#             "text": "哈哈,好呀,多些朋友更热闹~;我们是最好的朋友,永远在一起!",
#             "voice": "zh-CN-YunjianNeural",  # 成熟男声
#             "rate": "-20%"
#         }
#     ]
    
#     # 生成所有音频
#     tasks = [generate_character_audio(**char, output_dir=output_dir) for char in characters]
#     await asyncio.gather(*tasks)
#     print("\n🎉 所有角色音频生成完成!")

# if __name__ == "__main__":
#     asyncio.run(main())


import asyncio
from pathlib import Path
import edge_tts

# 限制最多同时2个并发
semaphore = asyncio.Semaphore(2)

async def generate_character_audio(name, text, voice, rate, output_dir):
    async with semaphore:  # 获取许可,最多2个同时运行
        filename = f"{name}.mp3"
        out_path = output_dir / filename
        print(f"🔄 正在生成 {name} 的音频...")
        communicate = edge_tts.Communicate(text, voice, rate=rate)
        await communicate.save(str(out_path))
        print(f"✅ {name} 音频已生成: {filename}")
        await asyncio.sleep(0.5)  # 短暂休息

async def main():
    output_dir = Path(r"D:\test\20桌面素材\20260417《熊猫找朋友》水墨画\声音")
    output_dir.mkdir(parents=True, exist_ok=True)
    
    characters = [
         
        # {
        #     "name": "小熊猫", 
        #     "text": "我的好朋友在哪里呀?都是黑白皮毛的,我要去找它们~;你好你好!你也是黑白皮毛的,能做我的朋友吗?;哇!你的黑白条纹真漂亮,我们能一起玩吗?;你们好!你们也是黑白皮毛的,快和我们一起玩吧~;太好了!我找到所有黑白皮毛的好朋友啦~!",
        #     # "voice": "zh-CN-XiaoshuangMultilingualNeural",  # 萝莉音
        #     "voice": "zh-CN-XiaoxiaoNeural",  # 晓晓 标准女声 温暖活剥的主角感
        #     "rate": "+5%"
        # },
        # {
        #     "name": "企鹅",
        #     "text": "你好呀!我是企鹅,从远方来,很乐意做你的朋友~;你好呀,斑马朋友!;我们又有新朋友啦!",
        #     # "voice": "zh-CN-XiaohanNeural",  # 温柔成熟女声,呆萌,慢条斯理
        #     # "voice": "zh-CN-XiaochenNeural",  # 偏向成熟、知性的女声, (晓辰)
        #     "voice": "zh-CN-YunjianNeural",  # 云健,深沉男声,冷静权威

        #     "rate": "-5%"
        # },
        # {
        #     "name": "斑马",
        #     "text": "当然可以啦,小熊猫,我很喜欢和你们做朋友;我们又有新朋友啦!",
        #     "voice": "zh-CN-YunxiNeural",  # 少年男声 开朗直率
        #     "rate": "+0%"  # ⭐ 改成 +0%,不能写 0%
        # },
        # {
        #     "name": "斑点狗",
        #     "text": "你们好呀!欢迎来农庄,我们一起玩!;我们是最好的朋友,永远在一起!",
        #     "voice": "zh-CN-XiaoyiNeural",  # 活泼女声辽宁女 热情 风风火火
        #     "rate": "+10%"
        # },
        # {
        #     # "name": "奶牛猫",
        #     # "text": "哈哈,好呀,多些朋友更热闹~;我们是最好的朋友,永远在一起!",
        #     # "voice": "zh-CN-YunjianNeural",  # 成熟男声 慵懒、神秘
        #     # "rate": "-20%"
        # }
    ]
    
    tasks = [generate_character_audio(**char, output_dir=output_dir) for char in characters]
    await asyncio.gather(*tasks)
    print("\n🎉 所有角色音频生成完成!")

if __name__ == "__main__":
    asyncio.run(main())

虽然做了5个声音,但是实际无法批量生成,我是通过隐藏,一个声音生成后,再生成另外一个声音

最后一个视频有五个动物一起说话,所以再补一个音频

python 复制代码
# import asyncio
# from pathlib import Path
# import edge_tts

# async def generate_character_audio(name, text, voice, rate, output_dir):
#     """为单个角色生成音频"""
#     filename = f"{name}.mp3"
#     out_path = output_dir / filename
    
#     communicate = edge_tts.Communicate(text, voice, rate=rate)
#     await communicate.save(str(out_path))
#     print(f"✅ {name} 音频已生成: {filename}")

# async def main():
#     # 设置输出目录
#     output_dir = Path(r"D:\test\20260417《熊猫找朋友》水墨画\声音")
#     output_dir.mkdir(parents=True, exist_ok=True)
    
#     # 定义五个角色的配置
#     characters = [
#         {
#             "name": "小熊猫",
#             "text": "我的好朋友在哪里呀?都是黑白皮毛的,我要去找它们~;你好你好!你也是黑白皮毛的,能做我的朋友吗?;哇!你的黑白条纹真漂亮,我们能一起玩吗?;你们好!你们也是黑白皮毛的,快和我们一起玩吧~;太好了!我找到所有黑白皮毛的好朋友啦~!",
#             "voice": "zh-CN-XiaoshuangMultilingualNeural",  # 萝莉音
#             "rate": "+5%"
#         },
#         {
#             "name": "企鹅",
#             "text": "你好呀!我是企鹅,从远方来,很乐意做你的朋友~;你好呀,斑马朋友!;我们又有新朋友啦!",
#             "voice": "zh-CN-XiaoxiaoNeural",  # 温柔女声
#             "rate": "-5%"
#         },
#         {
#             "name": "斑马",
#             "text": "当然可以啦,小熊猫,我很喜欢和你们做朋友;我们又有新朋友啦!",
#             "voice": "zh-CN-YunxiNeural",  # 少年男声
#             "rate": "+0%"  # ⭐ 改成 +0%,不能写 0%
#         },
#         {
#             "name": "斑点狗",
#             "text": "你们好呀!欢迎来农庄,我们一起玩!;我们是最好的朋友,永远在一起!",
#             "voice": "zh-CN-XiaoyiNeural",  # 活泼女声
#             "rate": "+10%"
#         },
#         {
#             "name": "奶牛猫",
#             "text": "哈哈,好呀,多些朋友更热闹~;我们是最好的朋友,永远在一起!",
#             "voice": "zh-CN-YunjianNeural",  # 成熟男声
#             "rate": "-20%"
#         }
#     ]
    
#     # 生成所有音频
#     tasks = [generate_character_audio(**char, output_dir=output_dir) for char in characters]
#     await asyncio.gather(*tasks)
#     print("\n🎉 所有角色音频生成完成!")

# if __name__ == "__main__":
#     asyncio.run(main())


import asyncio
from pathlib import Path
import edge_tts

# 限制最多同时2个并发
semaphore = asyncio.Semaphore(2)

async def generate_character_audio(name, text, voice, rate, output_dir):
    async with semaphore:  # 获取许可,最多2个同时运行
        filename = f"{name}.mp3"
        out_path = output_dir / filename
        print(f"🔄 正在生成 {name} 的音频...")
        communicate = edge_tts.Communicate(text, voice, rate=rate)
        await communicate.save(str(out_path))
        print(f"✅ {name} 音频已生成: {filename}")
        await asyncio.sleep(0.5)  # 短暂休息

async def main():
    output_dir = Path(r"D:\test\20桌面素材\20260417《熊猫找朋友》水墨画\声音")
    output_dir.mkdir(parents=True, exist_ok=True)
    
    characters = [
         
        {
            "name": "小熊猫1", 
            "text": "我们是最好的朋友,永远在一起!",
            # "voice": "zh-CN-XiaoshuangMultilingualNeural",  # 萝莉音
            "voice": "zh-CN-XiaoxiaoNeural",  # 晓晓 标准女声 温暖活剥的主角感
            "rate": "+5%"
        },
        # {
        #     "name": "企鹅1",
        #     "text": "我们是最好的朋友,永远在一起!",
        #     # "voice": "zh-CN-XiaohanNeural",  # 温柔成熟女声,呆萌,慢条斯理
        #     # "voice": "zh-CN-XiaochenNeural",  # 偏向成熟、知性的女声, (晓辰)
        #     "voice": "zh-CN-YunjianNeural",  # 云健,深沉男声,冷静权威

        #     "rate": "-5%"
        # },
        # {
        #     "name": "斑马1",
        #     "text": "我们是最好的朋友,永远在一起!",
        #     "voice": "zh-CN-YunxiNeural",  # 少年男声 开朗直率
        #     "rate": "+0%"  # ⭐ 改成 +0%,不能写 0%
        # },
        # {
        #     "name": "斑点狗1",
        #     "text": "我们是最好的朋友,永远在一起!",
        #     "voice": "zh-CN-XiaoyiNeural",  # 活泼女声辽宁女 热情 风风火火
        #     "rate": "+10%"
        # },
        # {
        #     "name": "奶牛猫1",
        #     "text": "我们是最好的朋友,永远在一起!",
        #     "voice": "zh-CN-YunjianNeural",  # 成熟男声 慵懒、神秘
        #     "rate": "-20%"
        # }
    ]
    
    tasks = [generate_character_audio(**char, output_dir=output_dir) for char in characters]
    await asyncio.gather(*tasks)
    print("\n🎉 所有角色音频生成完成!")

if __name__ == "__main__":
    asyncio.run(main())

20260417《009熊猫找朋友》风格:水墨画

相关推荐
财经资讯数据_灵砚智能11 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月12日
人工智能·python·信息可视化·自然语言处理·ai编程
2301_8159019735 分钟前
C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
jvm·数据库·python
Pkmer38 分钟前
LeetCode 上极少见的工程级滑窗实现
python·leetcode
蒋胜山38 分钟前
PowerPoint插入音频报错
windows·经验分享·音视频
m0_4636722039 分钟前
SQL优化SQL关联查询中的排序字段_减少临时空间占用与内存开销
jvm·数据库·python
FreakStudio1 小时前
开源分享|用MicroPython 做了个 AI 小鸡,它会长大,还记得我所有的情绪
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
iuvtsrt1 小时前
存储过程如何处理海量数据的批处理_循环提交与分段LIMIT结合
jvm·数据库·python
byte轻骑兵1 小时前
【LE Audio】CAP精讲[5]: 导演上线!Initiator音频协同全流程合规指南
人工智能·音视频·低功耗·le audio
yexuhgu1 小时前
SQL如何检查字符串是否存在:INSTR与LOCATE函数使用
jvm·数据库·python
2301_783848651 小时前
SQL如何用SQL子查询实现关联报表生成_嵌套逻辑关联多表
jvm·数据库·python