mcpField
O
openai-whisper

openai-whisper

github.com/alphaonedev创意与媒体59 次安装
代码仓库

关于 openai-whisper

openai-whisper 是使用 OpenAI Whisper 模型转录本地音频文件的技能,支持多种语言、逐词时间戳、可选的说话人分离及多种输出格式,适用于音频处理工作流。

主要功能

  1. 01本地音频转录
  2. 02支持 90 多种语言
  3. 03逐词时间戳
  4. 04可选说话人分离
  5. 05JSON 和 SRT 输出
  6. 06可选模型尺寸

适用场景

  1. 01转录访谈并整理笔记
  2. 02制作带时间戳的播客转录稿
  3. 03处理多人会议录音

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill openai-whisper

安装后在 Claude Code 中输入/openai-whisper确认已加载。

详细介绍

用途

此技能使用 OpenAI Whisper 模型在本地转录音频,直接在设备上处理文件,兼顾隐私与速度。它非常适合将语音转换为文本,并支持多语言、词级时间戳和说话人分离等功能。

适用场景

当任务涉及本地音频文件(例如转录访谈、播客或会议),且需要离线处理以避免依赖网络或保护数据隐私时,请使用此技能。在需要准确时间戳或说话人识别的工作流中(例如内容创作或分析),也可使用此技能。

主要功能

  • 转录:将音频转换为 90 多种语言的文本;使用 --language 标志指定语言(例如,使用 --language en 指定英语)。
  • 时间戳:输出词级时间信息;使用 --word-level 启用详细分段(例如,每个词的起止时间,单位为秒)。
  • 说话人分离:识别音频中的说话人;需要进行额外配置,例如安装 Pyannote 库;配置完成后使用 --diarize 标志。
  • 多格式支持:支持 MP3、WAV 或 FLAC 等输入格式;输出 JSON 或 SRT,便于解析。
  • 模型选择:可选择 tiny、base、small、medium 或 large 等模型;较大的模型准确度更高,但计算需求也更高(例如,使用 --model medium)。

使用模式

始终在已安装该库的 Python 环境中运行 Whisper。进行基本转录时,加载音频文件并通过 CLI 指定选项。可在管道中使用,将输出传递给其他工具,例如文本分析技能。进行说话人分离前,请确保已安装相关依赖。示例 1:转录一段简短音频,用于记笔记。示例 2:处理多人录音,生成会议摘要。

转录步骤:

  1. 安装依赖:在你的环境中运行 pip install git+https://github.com/openai/whisper.git pyannote.audio。
  2. 加载并处理音频:使用 Whisper CLI 直接处理文件。
  3. 处理输出:解析 JSON 结果以获取时间戳,并将其集成到更大的脚本中。

常用命令/API

使用 Whisper CLI 快速完成任务。若需集成 API,可直接调用 Python 库。

  • 基本转录的 CLI 命令:
    whisper path/to/audio.mp3 --model base --language en --output_format json
    此命令会转录文件,将输出保存为 JSON,并附带时间戳。

  • 带时间戳和说话人分离的 CLI 命令:
    whisper path/to/audio.wav --model medium --word-level --diarize
    此命令会生成词级时间信息和说话人标签;请确保已通过 Pyannote 配置说话人分离。

  • Python API 代码片段:

    import whisper  
    model = whisper.load_model("base")  
    result = model.transcribe("path/to/audio.mp3", language="en")  
    print(result["text"])  # Outputs transcribed text
    
  • 配置格式:Whisper 使用简单的 JSON 配置进行批量处理;示例:
    { "model": "small", "language": "es", "task": "transcribe" }
    在 CLI 中通过 --config config.json 传入。本地使用无需身份验证密钥;若扩展到云服务,请使用 $WHISPER_API_KEY 等环境变量调用外部 API。

在代码中使用时:导入该库,加载模型,并使用 fp(文件路径)和 task(模式)等参数调用 transcribe()(例如,task="transcribe")。

集成说明

可通过 Python 脚本或 CLI 调用将 Whisper 集成到 AI 工作流中。例如,可与文本处理工具串联:将 JSON 输出传递给情感分析技能。也可在 Jupyter 笔记本中用于交互式转录。请确保环境支持 GPU,以加快处理速度(例如,通过 CUDA)。要将其嵌入更大的应用程序,请显式处理文件 I/O:使用 soundfile 库读取音频文件,然后传递给 Whisper。对于多步骤任务,可使用 subprocess 从其他脚本调用 Whisper CLI,并捕获 stdout 以解析 JSON。

错误处理

常见错误包括缺少依赖项、音频格式无效,或大模型导致内存不足。处理方法:

  • 找不到文件:运行前检查文件路径;在 Python 中使用 try-except:
    try:  
        result = model.transcribe("path/to/audio.mp3")  
    except FileNotFoundError:  
        print("Audio file missing; verify path.")  
    
  • 模型加载失败:确保有足够的 RAM;必要时改用较小的模型(例如,将 --model large 切换为 --model base)。
  • 说话人分离错误:如果 Pyannote 失败,请通过 pip check pyannote.audio 验证安装;记录错误,并使用基础转录重试。
  • 通用模式:在脚本中使用 subprocess 封装 CLI 调用,并检查返回码;对于 API,捕获 whisper.utils.DecodeError 等异常,并使用不同参数重试。

始终记录详细错误(例如,使用 Python 的 logging 模块),并提供便于用户理解的提示,例如:“错误:所选模型无法处理过长的音频;请尝试使用较小的模型。”

图关系

  • 关联至:“audio-processing”集群,用于降噪等上游任务。
  • 连接至:“text-analysis”技能,用于转录输出的下游处理。
  • 链接至:“openai-gpt”,以使用 AI 摘要增强转录文本。

评论

支持 Markdown