【教学类-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熊猫找朋友》风格:水墨画

相关推荐
JaydenAI2 小时前
[FastMCP设计、原理与应用-15]挂载一个MCP服务器就像挂载一个目录一样容易
python·ai编程·ai agent·mcp·fastmcp
甄心爱学习2 小时前
【项目实训(个人4)】
前端·vue.js·python
西兰先森2 小时前
使用Antv G6渲染neo4j知识图谱数据
python·知识图谱·neo4j
weixin_307779132 小时前
SparkPySetup:基于Python的Windows 11 PySpark环境自动化搭建工具
大数据·开发语言·python·spark
m0_738120722 小时前
渗透基础知识ctfshow——Web应用安全与防护(完结:第八章)
前端·python·sql·安全·web安全·网络安全
雷帝木木2 小时前
Python 并发编程高级技巧详解:从原理到实践
人工智能·python·深度学习·机器学习
devnullcoffee2 小时前
亚马逊 Movers and Shakers 数据采集实战:用 Python + Scrape API 构建实时榜单监控系统
python·亚马逊数据采集·scrape api·亚马逊数据 api·pangolinfo api·amazon 爬虫工具·实时榜单监控
一个天蝎座 白勺 程序猿2 小时前
AI入门踩坑实录:我换了3种语言才敢说,Python真的是入门唯一选择吗?
开发语言·人工智能·python·ai
Hui_AI7202 小时前
保险条款NLP解析与知识图谱搭建:让AI准确理解保险产品的技术方案
开发语言·人工智能·python·算法·自然语言处理·开源·开源软件