基于AI阶跃星辰桌面助手+妙计实现网站链接音频下载

9 阅读7分钟

基于阶跃星辰桌面助手+妙计实现网站链接音频下载

概述

本文档介绍如何使用阶跃星辰桌面助手(小跃)配合妙计(Skills)功能,实现从网站链接快速下载并处理音频的完整流程。该方案支持视频转音频、音频提取、语音转文字等多种场景。


核心组件

1. 阶跃星辰桌面助手(小跃)

  • 由阶跃星辰(StepFun)开发的 AI 桌面助手
  • 支持自然语言交互,理解用户意图
  • 可调用系统工具和自定义技能

2. 妙计(Skills)

妙计是小跃的技能扩展系统,可以根据个人需要添加妙计,此处推荐第三方的Claude Skills网站获取skillsmp.com/。 实现音频下载和字幕提取主要包含两个核心Skills:

audio-extract(音频提取)
  • 功能:从视频文件中提取音频
  • 支持格式:MP3、AAC、WAV、FLAC、OGG
  • 特点:可自定义质量、声道、时间范围
audio-transcribe(语音转文字)
  • 功能:使用 WhisperX 将音频/视频转换为文字
  • 支持格式:音频(MP3/WAV/FLAC/M4A/OGG)、视频(MP4/MKV/MOV/AVI)
  • 特点:支持词级别时间戳、多语言识别、多种输出格式

3. 依赖工具

  • FFmpeg:音视频处理核心工具
  • uv:Python 包管理器(用于运行 WhisperX)
  • WhisperX:高精度语音识别模型

环境准备

安装 FFmpeg

使用星辰桌面助手自动安装。

脚本功能:

  • 自动下载最新版 FFmpeg(约 100MB)
  • 解压到目录
  • 自动配置系统环境变量
  • 验证安装成功

手动验证:

ffmpeg -version

配置妙计技能

技能文件已配置在:

你的路径\Skills\
├── audio-extract\
│   └── SKILL.md
└── audio-transcribe\
    ├── SKILL.md
    └── transcribe.py

完整使用流程

场景一:从网站下载视频并提取音频

步骤 1:下载视频

直接向小跃发送指令:

帮我下载这个视频:https://example.com/video.mp4

小跃会自动:

  • 识别链接
  • 使用浏览器工具或下载工具获取视频
  • 保存到指定目录
步骤 2:提取音频
帮我把这个视频的音频提取出来

小跃会启动 audio-extract 技能,交互式询问:

  1. 输出格式

    • MP3 - 通用格式,兼容性最好 ✅ 推荐
    • AAC (M4A) - 高质量,体积小
    • WAV - 无损格式,体积大
    • FLAC - 无损压缩
    • OGG - 开源格式
  2. 音频质量(MP3/AAC/OGG)

    • 高质量 320kbps ✅ 推荐
    • 标准质量 192kbps
    • 较低质量 128kbps
    • 保持原始比特率
  3. 声道处理

    • 保持原始声道 ✅ 推荐
    • 转换为立体声
    • 转换为单声道(文件更小)
  4. 时间范围

    • 提取完整音频 ✅ 推荐
    • 指定时间范围(如:00:05:00 到 00:10:00)
  5. 输出路径

    • 默认:与视频同目录,文件名为 原文件名.mp3
示例命令(后台执行)
# 基础提取(MP3 320kbps)
ffmpeg -i "video.mp4" -vn -acodec libmp3lame -b:a 320k "output.mp3"

# 提取指定时间段(5分钟到10分钟)
ffmpeg -ss 00:05:00 -to 00:10:00 -i "video.mp4" -vn -acodec libmp3lame -b:a 320k "output.mp3"

# 转换为单声道 MP3(减小文件体积)
ffmpeg -i "video.mp4" -vn -acodec libmp3lame -b:a 192k -ac 1 "output.mp3"

场景二:音频转文字(生成字幕/文稿)

步骤 1:启动转录
帮我把这个音频转成文字

小跃会启动 audio-transcribe 技能,交互式询问:

  1. 模型大小

    • base - 平衡速度和准确度 ✅ 推荐
    • tiny - 最快,准确度较低
    • small - 较快,准确度适中
    • medium - 较慢,准确度较高
    • large-v2 - 最慢,准确度最高
  2. 语言

    • 自动检测 ✅ 推荐
    • 中文 (zh)
    • 英文 (en)
    • 日文 (ja)
    • 其他语言
  3. 词级别对齐

    • 是 - 精确到每个词的时间 ✅ 推荐
    • 否 - 只需要句子级别(更快)
  4. 输出格式

    • TXT - 纯文本带时间戳 ✅ 推荐
    • SRT - 字幕格式
    • VTT - Web 字幕格式
    • JSON - 结构化数据(含词级别信息)
  5. 输出路径

    • 默认:与音频同目录,文件名为 原文件名.txt
示例命令(后台执行)
# 基础转录(自动检测语言)
uv run "你的路径\Skills\audio-transcribe\transcribe.py" "audio.mp3" -o "transcript.txt"

# 中文转录,输出 SRT 字幕
uv run "你的路径\Skills\audio-transcribe\transcribe.py" "audio.mp3" -l zh -f srt -o "subtitles.srt"

# 快速转录,不做词对齐
uv run "你的路径\Skills\audio-transcribe\transcribe.py" "audio.mp3" --no-align -o "transcript.txt"

# 使用更大模型,输出 JSON
uv run "你的路径\Skills\audio-transcribe\transcribe.py" "audio.mp3" -m medium -f json -o "result.json"

# 禁用 VAD 过滤(解决时间跳跃问题)
uv run "你的路径\Skills\audio-transcribe\transcribe.py" "audio.mp3" --no-vad -o "transcript.txt"
输出格式示例

TXT 格式:

[00:00:00.000 - 00:00:03.500] 欢迎来到阶跃星辰的技术分享
[00:00:03.500 - 00:00:07.200] 今天我们将介绍如何使用小跃助手

SRT 格式:

1
00:00:00,000 --> 00:00:03,500
欢迎来到阶跃星辰的技术分享

2
00:00:03,500 --> 00:00:07,200
今天我们将介绍如何使用小跃助手

JSON 格式:

[
  {
    "start": 0.0,
    "end": 3.5,
    "text": "欢迎来到阶跃星辰的技术分享",
    "words": [
      {"word": "欢迎", "start": 0.0, "end": 0.5, "score": 0.95},
      {"word": "来到", "start": 0.5, "end": 1.0, "score": 0.93},
      {"word": "阶跃星辰", "start": 1.0, "end": 2.0, "score": 0.97}
    ]
  }
]

场景三:一站式处理(下载→提取→转录)

完整指令示例
帮我下载这个视频 https://example.com/video.mp4,提取音频并转成文字

小跃会自动:

  1. 下载视频到 你的路径
  2. 调用 audio-extract 提取音频(询问格式偏好)
  3. 调用 audio-transcribe 转录文字(询问模型和输出格式)
  4. 返回所有文件路径
输出示例
✅ 任务完成!

📥 下载的视频:
你的路径\video.mp4

🎵 提取的音频:
你的路径\video.mp3 (MP3, 320kbps, 立体声)

📝 转录的文字:
你的路径\video.txt (TXT 格式,含时间戳)

高级技巧

1. 批量处理

帮我把这个文件夹里的所有视频都提取音频

2. 自定义时间段提取

帮我提取这个视频 5 分钟到 10 分钟的音频

3. 多语言混合识别

这个视频是中英文混合的,帮我转成文字

(选择"自动检测"语言)

4. 生成双语字幕

帮我生成这个视频的中英文字幕

5. 压缩音频文件

帮我把这个音频转成 128kbps 的 MP3,减小文件体积

常见问题

Q1: 首次运行转录很慢?

A: WhisperX 需要下载模型文件(约 1-5GB),首次运行会比较慢,后续会使用缓存。

Q2: 识别准确度低怎么办?

A:

  • 使用更大的模型(medium 或 large-v2)
  • 明确指定语言而不是自动检测
  • 确保音频质量清晰

Q3: 转录时出现时间跳跃/遗漏?

A: 使用 --no-vad 参数禁用 VAD 过滤:

uv run transcribe.py "audio.mp3" --no-vad -o "output.txt"

Q4: 内存不足怎么办?

A: 使用更小的模型(tiny 或 base)

Q5: 支持哪些视频网站?

A: 小跃支持大多数主流视频网站,包括:

  • YouTube(需要 yt-dlp)
  • Bilibili
  • 直接链接的 MP4/MKV 等格式

技术架构

用户指令
    ↓
阶跃星辰桌面助手(小跃)
    ↓
自然语言理解 → 意图识别
    ↓
调用妙计技能
    ├─ audio-extract (FFmpeg)
    │   └─ 视频 → 音频
    └─ audio-transcribe (WhisperX)
        └─ 音频 → 文字
    ↓
返回结果文件

优势总结

自然交互:无需记忆复杂命令,用自然语言描述需求
自动化流程:一条指令完成下载→提取→转录全流程
高度可配置:支持多种格式、质量、语言选项
本地处理:数据不上传,保护隐私
高精度识别:基于 WhisperX,支持词级别时间戳
跨平台兼容:支持 Windows/macOS/Linux


参考资源


提示:本文档基于实际使用记录整理,所有路径和配置均为真实环境。如有问题,可直接向小跃提问获取帮助。