SuperAPI AI 工具集

transcribe

办公与效率

查看项目

更新于 10-20 09:59

技能介绍

Transcribe 是一个本地语音转文字技能,基于 Whisper 实现。在 Apple Silicon 上使用 mlx-whisper,可调用 GPU,速度较快,15 至 20 分钟的文件通常只需几分钟;其他平台使用 openai-whisper,功能相同但速度较慢。两者均通过 uvx 运行,不会永久安装。

用途:将音频或视频文件转写为文本,或生成字幕文件。

主要能力与流程:

  1. 定位输入文件:使用用户给出的路径,或 youtube-search 下载步骤输出的路径,并用 ls 确认文件存在。
  2. 按需转换格式:两个引擎可通过 ffmpeg 直接读取 m4a、mp3、wav、flac、ogg、webm 和 mp4。若是不常见格式(.amr、.wma、.caf)或 .opus 语音消息,先用 ffmpeg 转为 m4a,例如:ffmpeg -i "input.opus" -c:a aac -b:a 128k "input.m4a"。
  3. 选择语言:用户明确说明或上下文明显时,传入 --language <code>(如 en、es、fr);自动检测会耗时,且可能误判短音频。仅在语言确实未知时省略该参数。
  4. 选择引擎:用 uname -sm 判断,Darwin arm64 使用 mlx-whisper,其余使用 openai-whisper。
  5. 运行转写(预留最多 600 秒;首次运行会下载约 1.5 GB 模型):

Apple Silicon(mlx-whisper): OUTPUT_DIR=$(mktemp -d) uvx --from mlx-whisper mlx_whisper "/path/to/audio.m4a"
--model mlx-community/whisper-large-v3-turbo
--language en --output-format txt -o "$OUTPUT_DIR"

其他平台(openai-whisper,需要 ffmpeg 在 PATH 中;默认使用 turbo 模型;仅 CPU 时长文件较慢): OUTPUT_DIR=$(mktemp -d) uvx --from openai-whisper whisper "/path/to/audio.m4a"
--model turbo --language en --output_format txt -o "$OUTPUT_DIR"

注意两个引擎的参数拼写不同:mlx-whisper 为 --output-format,openai-whisper 为 --output_format。需要字幕时可用 srt 或 vtt,或使用 all 输出所有格式。完成标准是 $OUTPUT_DIR/<输入文件名>.txt 存在且非空。 6. 交付转写结果:在对话中完整输出原文,仅在用户要求时总结;超过约 2000 词时,可询问是否保存为与源文件同目录的 .txt 文件。

适用场景:本地音视频转写、字幕生成、会议或访谈录音整理等。

限制:首次运行需下载模型;非 Apple Silicon 平台使用 CPU 转写长文件较慢;自动语言检测耗时且对短音频可能不准;不常见格式需先转换为 m4a。