文字转音频,视频

这里写自定义目录标题

1.文字转音频

复制代码
pip install edge-tts

import asyncio
import edge_tts

# --- 配置参数 ---
# TEXT:你想转换的知识点文本(这里拿今天大模型计划里的一句话举例)
TEXT = """
今天的大模型核心知识点是 Mixture-of-Experts 混合专家模型。
它的本质是通过门控网络,将不同的输入路由给特定的专家网络处理。
这种设计能在不增加推理计算量的前提下,大幅提升模型的参数规模。
掌握 MoE,就是掌握了万亿参数模型的敲门砖!
"""

# VOICE:发音人(zh-CN-XiaoxiaoNeural 是微软晓晓,非常自然的中文女声)
# 其他可选如:zh-CN-YunxiNeural(云希 男声)
VOICE = "zh-CN-XiaoxiaoNeural" 

# OUTPUT_FILE:保存的音频文件名
OUTPUT_FILE = "moe_daily_knowledge.mp3"

# --- 核心异步函数 ---
async def generate_audio(text: str, voice: str, output_file: str) -> None:
    """
    使用 edge-tts 将文本转为语音 MP3
    """
    print(f"🎙️ 正在呼叫 AI 播音员 {voice}...")
    
    # 初始化通信实例
    communicate = edge_tts.Communicate(text, voice)
    
    # 异步保存文件
    await communicate.save(output_file)
    print(f"✅ 转换完成!知识点已存为: {output_file}")

# --- 主程序入口 ---
if __name__ == "__main__":
    # 使用 Python 原生的 asyncio 事件循环来运行
    try:
        asyncio.run(generate_audio(TEXT, VOICE, OUTPUT_FILE))
    except Exception as e:
        print(f"❌ 转换失败: {e}")

manim的使用

  • mac

    brew install ffmpeg cairo pango pkg-config
    brew install --cask mactex # 这个比较大,如果不想渲染复杂公式可以跳过
    pip install manim

  • windows:

    • https://docs.manim.community/en/stable/installation.html下载

      from manim import *

      class ConnectionPoolDemo(Scene):
      def construct(self):
      # 1. 创建标题
      title = Text("SQLAlchemy 异步连接池", font_size=40).to_edge(UP)
      self.play(Write(title))

      复制代码
          # 2. 画一个代表"连接池"的大框框,放在屏幕中间
          pool_box = Rectangle(width=4, height=3, color=BLUE)
          pool_label = Text("Connection Pool", font_size=24).next_to(pool_box, UP)
          
          # 将连接池展示出来
          self.play(Create(pool_box), Write(pool_label))
          
          # 3. 在池子里画 3 个圆圈,代表三个空闲的"数据库连接"
          conn1 = Circle(radius=0.3, color=GREEN).move_to(pool_box.get_center() + LEFT)
          conn2 = Circle(radius=0.3, color=GREEN).move_to(pool_box.get_center())
          conn3 = Circle(radius=0.3, color=GREEN).move_to(pool_box.get_center() + RIGHT)
          
          connections = VGroup(conn1, conn2, conn3)
          self.play(FadeIn(connections))
      
          # 4. 模拟两个客户端请求(用三角形代替)
          req1 = Triangle(color=YELLOW).scale(0.3).to_edge(LEFT)
          req1_label = Text("Req 1", font_size=20).next_to(req1, DOWN)
          req_group1 = VGroup(req1, req1_label)
      
          req2 = Triangle(color=RED).scale(0.3).to_edge(RIGHT)
          req2_label = Text("Req 2", font_size=20).next_to(req2, DOWN)
          req_group2 = VGroup(req2, req2_label)
      
          self.play(FadeIn(req_group1), FadeIn(req_group2))
          
          # 等待一秒钟,准备开始借用连接
          self.wait(1)
      
          # 5. 高潮来了!演示借用连接的动画
          # 请求 1 飞向连接 1
          self.play(req_group1.animate.next_to(conn1, DOWN))
          # 连接 1 变红色,表示"被占用"
          self.play(conn1.animate.set_color(RED), Indicate(conn1))
      
          # 请求 2 飞向连接 3
          self.play(req_group2.animate.next_to(conn3, DOWN))
          # 连接 3 变红色
          self.play(conn3.animate.set_color(RED), Indicate(conn3))
      
          self.wait(2)
          
          # 6. 归还连接(还原为绿色)
          self.play(
              req_group1.animate.to_edge(LEFT).set_opacity(0),
              conn1.animate.set_color(GREEN)
          )
          
          self.wait(1)
          self.play(FadeOut(Group(*self.mobjects))) # 优雅地结束

在终端里,跑这条神秘的指令(-p 代表渲染完自动播放,-qm 代表中等质量,渲染快):

复制代码
manim -p -qm connection_pool.py ConnectionPoolDemo
相关推荐
xiaolu123886 小时前
网课视频怎么录课?3种录制方法分享,附参数配置介绍
音视频
ai产品老杨7 小时前
H264 H265视频分析问题清单:环境、参数、验证和排错
音视频
论文复现现场7 小时前
MiniMaxH3 生成视频速度慢、电脑带不动怎么办?用 RTX 5090 云端镜像快速运行
云计算·电脑·音视频·gpu算力
阿童木写作9 小时前
跨境电商翻译工具推荐:批量图片翻译+视频字幕实时翻译
人工智能·python·音视频
小柯南敲键盘10 小时前
跨境电商翻译工具,AI批量图片及视频字幕翻译
大数据·人工智能·python·音视频
2601_9620695312 小时前
2026年医学数字人做科普视频的技术路线:从开源工具链到半自动化的工程复盘
开源·音视频
≮傷£≯√13 小时前
Qt 面试(一)
qt·ffmpeg·音视频
2601_9623049113 小时前
2026年视频素材怎么找合适的:从全手动翻站到半自动采集的工程复盘
音视频
2601_9620695313 小时前
2026年视频素材命名规范:从全手动开源链到半自动成片的工程演进
音视频
奈斯先生Vector15 小时前
AIGC 视频生成实战:用 Kling Video 拆解文生视频、图生视频与完整工作流
开发语言·人工智能·windows·python·aigc·音视频