AgentSkillsCN

qwen3-asr-assistant

智能语音转文字助手,基于 Qwen3-ASR 模型,支持实时语音识别和智能文本改写。可以将录音转换为文字,并一键改写成邮件、笔记、社交媒体文案,支持复制、分享和录音拼接。适用于会议纪要、语音备忘、内容创作等多种场景。

中文原作
SKILL.md
--- frontmatter
name: qwen3-asr-assistant
description: 智能语音转文字助手,基于 Qwen3-ASR 模型,支持实时语音识别和智能文本改写。可以将录音转换为文字,并一键改写成邮件、笔记、社交媒体文案,支持复制、分享和录音拼接。适用于会议纪要、语音备忘、内容创作等多种场景。
dependency:
  python:
    - requests>=2.28.0
    - numpy>=1.21.0
  system: []

Qwen3-ASR 智能语音转文字助手

任务目标

  • 本 Skill 用于:将语音转换为文字,并提供智能文本改写功能
  • 能力包含:
    • 实时语音识别(语音转文字)
    • 智能文本改写(邮件、笔记、社交媒体文案)
    • 文字拼接(多段录音合并)
    • 一键复制和分享
  • 触发条件:用户提出"语音转文字"、"录音转文字"、"语音备忘"等需求

前置准备

  • 依赖说明:Qwen3-ASR 调用所需的 Python 库
    code
    requests>=2.28.0
    numpy>=1.21.0
    
  • 无需额外文件或文件夹准备

操作步骤

标准流程(语音转文字 + 智能改写)

  1. 录音/上传音频(调用方提供)

    • 点击录音按钮开始录音
    • 点击停止结束录音
    • 或上传已有的音频文件
  2. 语音转文字(智能体调用脚本)

    python
    from scripts.asr_transcriber import Qwen3ASRTranscriber
    
    transcriber = Qwen3ASRTranscriber()
    result = transcriber.transcribe(
        audio_file="recording.wav",
        language="zh-CN"
    )
    text = result["text"]
    
  3. 文字改写(智能体处理)

    • 根据用户需求选择改写类型:
      • 改写成邮件:正式、结构化,包含主题、正文、落款
      • 改写成笔记:要点清晰、层次分明,使用列表和标记
      • 改写成社交媒体文案:简洁、有吸引力,使用表情符号和话题标签
    • 智能体分析原文内容,识别关键信息
    • 根据改写类型调整语气、结构和风格
  4. 复制/分享(智能体处理)

    • 一键复制:智能体将改写后的文本复制到剪贴板
    • 一键分享:智能体生成分享格式,适配微信等平台
  5. 录音拼接(智能体处理)

    • 继续录音,生成新的文字
    • 智能体将新文字拼接到原文
    • 保持文本连贯性,添加适当的连接词

多段录音拼接流程

  1. 第一段录音:按照标准流程进行语音转文字
  2. 继续录音:用户点击继续录音
  3. 转文字:调用脚本识别新录音
  4. 智能拼接:智能体将新文字拼接到原文
    python
    # 智能体处理拼接
    full_text = original_text + "\n\n" + new_text
    

资源索引

注意事项

  • 录音质量:确保录音清晰,无过多背景噪音,提高识别准确率
  • 文本改写:充分利用智能体的语言理解和创作能力,避免为改写编写脚本
  • 拼接连贯性:多段录音拼接时,智能体应添加适当的连接词,保持文本连贯
  • 改写准确性:改写时应保留原文的核心信息和意图,不随意增删内容
  • 适配场景:根据使用场景选择合适的改写类型(邮件/笔记/社交媒体)

使用示例

示例 1:会议纪要转笔记

场景:录制会议语音,转换为结构化的会议笔记

执行流程

  1. 录制会议语音(60分钟)

  2. 调用脚本转文字:

    python
    from scripts.asr_transcriber import Qwen3ASRTranscriber
    
    transcriber = Qwen3ASRTranscriber()
    result = transcriber.transcribe(
        audio_file="meeting.wav",
        language="zh-CN"
    )
    meeting_text = result["text"]
    
  3. 智能体改写成笔记:

    code
    # 会议笔记
    
    ## 时间地点
    - 时间:2024年1月23日
    - 地点:公司会议室
    
    ## 参会人员
    - 张经理、李主管、王工程师
    
    ## 主要议题
    1. Q1业绩回顾
       - 销售额增长20%
       - 新用户增加5000人
    
    2. Q2工作计划
       - 推出新产品线
       - 加强市场推广
       - 优化客户服务
    
    3. 决议事项
       - 批准新产品线预算
       - 成立市场推广小组
    

示例 2:语音转邮件

场景:录制语音备忘,转换为正式邮件

执行流程

  1. 录制语音备忘:"小王,关于明天的项目会议,请准备好以下材料:项目进度报告、预算表、团队人员名单。会议时间是上午10点,地点在3号会议室。"
  2. 调用脚本转文字
  3. 智能体改写成邮件:
    code
    主题:明天项目会议准备材料
    
    小王:
    
    你好!
    
    关于明天上午10点在3号会议室召开的项目会议,请提前准备好以下材料:
    
    1. 项目进度报告
    2. 预算表
    3. 团队人员名单
    
    如有疑问,请及时联系我。
    
    祝好!
    张经理
    

示例 3:语音转社交媒体文案

场景:录制语音灵感,转换为社交媒体发布文案

执行流程

  1. 录制语音灵感:"今天尝试了一家超棒的咖啡店,咖啡味道很浓郁,环境也很舒服,很适合工作。推荐给大家!"
  2. 调用脚本转文字
  3. 智能体改写成社交媒体文案:
    code
    ☕️ 今日份咖啡推荐!
    
    今天发现了一家宝藏咖啡店 ☕✨
    
    咖啡口感浓郁,环境舒适超治愈,简直是工作充电的好地方~
    
    #咖啡探店 #工作日常 #周末好去处
    
    📍 地址:[咖啡店名称]
    ⭐ 推荐:招牌拿铁、手冲咖啡
    

示例 4:多段录音拼接

场景:录制长篇语音,分多段录音,最后拼接完整文本

执行流程

  1. 第一段录音(0-10分钟):

    python
    result1 = transcriber.transcribe("part1.wav")
    text1 = result1["text"]
    
  2. 第二段录音(10-20分钟):

    python
    result2 = transcriber.transcribe("part2.wav")
    text2 = result2["text"]
    
  3. 第三段录音(20-30分钟):

    python
    result3 = transcriber.transcribe("part3.wav")
    text3 = result3["text"]
    
  4. 智能体拼接

    code
    完整文本:
    
    [第一段内容]
    
    ...(智能体添加连接词)...
    
    [第二段内容]
    
    ...(智能体添加连接词)...
    
    [第三段内容]
    

示例 5:一键复制和分享

场景:语音转文字后,一键复制或分享到微信

执行流程

  1. 语音转文字
  2. 智能体改写成目标格式
  3. 一键复制
    code
    文本已复制到剪贴板!
    
  4. 一键分享到微信
    code
    ✅ 文本已生成,可以分享到微信
    
    分享格式:
    [改写后的文本]
    
    #会议纪要 #工作效率
    

API 参考

Qwen3ASRTranscriber 类

初始化

python
Qwen3ASRTranscriber(api_key=None, base_url=None)

主要方法

python
# 语音转文字
transcribe(
    audio_file: str,
    language: str = "zh-CN",
    format: str = "wav",
    sample_rate: int = 16000,
    return_timestamps: bool = False
) -> dict

# 返回格式
{
    "success": True,
    "text": "识别的文字",
    "language": "zh-CN",
    "duration": 120.5,
    "segments": [...]  # 如果 return_timestamps=True
}