
Buzz 文件导入与离线转录实战指南从媒体文件到可导出字幕【免费下载链接】buzzBuzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper.项目地址: https://gitcode.com/GitHub_Trending/buz/buzz导读本文聚焦 Buzz 最核心的日常操作——导入媒体文件并完成离线转录。Buzz 是一款基于 OpenAI Whisper 的个人电脑离线转录与翻译工具项目简介通过图形界面GUI或命令行CLI两种方式你可以把本地音频/视频文件快速转成带时间戳的字幕或纯文本。读完本文你将掌握如何通过菜单、工具栏、快捷键甚至拖拽三种入口导入文件如何配置任务转写/翻译、语言与模型如何利用「单词级时间戳」「提取语音」「初始提示词」提升转录质量以及任务完成后如何打开、查看和导出转录结果。导入媒体文件三种入口与完整操作流程官方使用文档 1_file_import.md 给出的核心流程是选择文件 → 配置选项 → 运行 → 打开结果。在 Buzz 中导入媒体文件共有三种等效入口都通向同一个任务配置窗口。入口一File 菜单点击主窗口菜单栏的File → Import Media File文件 → 导入媒体文件。对应源码位于 menu_bar.py 与 main_window.pymenu_bar.import_action_triggered信号会触发on_new_transcription_action_triggered。入口二工具栏 图标主窗口工具栏提供「新建转录」按钮见 main_window_toolbar.py其信号连接到同一个处理函数。入口三快捷键 Command/Ctrl O无论使用菜单还是工具栏最终都会走到 main_window.py 中的文件选择逻辑调用QFileDialog.getOpenFileNames弹出系统文件选择对话框支持多选并会记住你上次选择的文件夹LAST_IMPORT_FOLDER设置项。支持的媒体格式定义于 transcriber.py 的SUPPORTED_AUDIO_FORMATS音频*.mp3*.wav*.m4a*.ogg*.opus*.flac视频*.mp4*.webm*.ogm*.mov*.mkv*.avi*.wmv其他*.*全部文件隐藏入口拖拽导入除文档明确列出的三种入口外main_window.py 还实现了dragEnterEvent/dropEvent支持直接把音频/视频文件拖进主窗口完成导入这是一个非常顺手的补充方式。选中文件后Buzz 会弹出文件转录配置窗口FileTranscriberWidget见 file_transcriber_widget.py包含任务配置区、文件选项区和 Run 按钮。配置完成后点击Run任务即被加入队列。多文件批量导入文件选择器支持多选此外主窗口还支持导入整个文件夹File → Import Folder会递归扫描目录下所有受支持扩展名的文件详见 main_window.py。任务、语言与模型三个决定成败的核心配置在配置窗口中第一组选项是「任务 / 语言 / 模型」。它们定义于 transcriber.py 的TranscriptionOptions数据类界面实现位于 transcription_options_group_box.py。字段选项默认值说明Task任务Transcribe / Translate to EnglishTranscribe转写保留原语言或翻译成英文Language语言约 90 种语言 Detect LanguageDetect Language建议显式指定语言以获得更稳定结果Model模型类型Whisper / Whisper.cpp / Faster-Whisper / Hugging Face / OpenAI Whisper APIWhisper决定运行引擎与是否需要联网Model Size模型大小tiny / base / small / medium / large-v3 / large-v3-turbo 等tiny体积越大精度越高、速度越慢任务TaskTask枚举定义于 transcriber.py只有两个取值TRANSCRIBE转写保留原始语言和TRANSLATE翻译到英文。界面下拉框由TasksComboBox提供切换后通过on_task_changed同步到TranscriptionOptions.task。任务结果会体现在导出文件的命名与内容上。语言LanguageBuzz 内置约 90 种语言的映射表transcriber.py。官方文档明确建议尽量手动指定语言因为自动语言检测可能带来意外结果见 1_file_import.md 末尾的 Tip。其底层原因是 Whisper 的自动检测在短音频、多语言混合或背景噪音下容易误判。模型类型与大小模型类型由ModelType枚举驱动界面会按类型动态显示/隐藏对应控件见reset_visible_rowsWhispertransformers 实现从 Hugging Face 下载模型本地离线推理Whisper.cpp基于 C 推理引擎内存占用更低Apple Silicon Mac 上首次加载模型可能耗时数分钟界面会显示提示图标Faster-WhisperCTranslate2 加速版本速度更快Hugging Face可指定任意 Hugging Face 模型 ID如openai/whisper-tinyOpenAI Whisper API在线 API 调用需在「Api Key」输入框填入 OpenAI 访问令牌令牌会通过系统钥匙串保存见 keyring_store.py。点击 Run 后若模型尚未下载Buzz 会启动ModelDownloader并弹出下载进度对话框file_transcriber_widget.py若本地已有模型缓存则直接开始转录。若模型路径为空可检查BUZZ_MODEL_ROOT环境变量会弹出明确的错误提示。文件选项详解导出格式、单词级时间戳与提取语音配置窗口下半部分的文件选项对应 file_transcription_form_widget.py 与FileTranscriptionOptions是官方文档给出的参数表格的完整落地字段选项默认值描述Export As导出格式TXT / SRT / VTTTXT导出文件的格式可多选Word-Level Timings单词级时间戳Off / OnOff为每个单词生成单独的字幕行方便后续合并Extract speech提取语音Off / OnOff转录前用 Demucs 分离人声提升准确率导出格式Output FormatOutputFormat枚举transcriber.py定义三种格式TXT纯文本、SRTSubRip 字幕、VTTWebVTT 字幕。界面以复选框形式呈现支持同时勾选多种格式勾选状态通过get_on_checkbox_state_changed_callback实时写入output_formats集合。单词级时间戳Word-Level Timings开启后转录会为音频中的每个单词生成独立的字幕行适合逐词校对、卡拉OK 字幕等场景。Buzz 将结果存在Segment对象中每个 segment 的 start/end 精确到毫秒。官方文档同时提醒开启后可以用字幕合并resize功能把逐词字幕重新合并为自然断句的字幕详见 4_edit_and_resize.md。提取语音Extract Speech开启后Buzz 会在转录前调用Demucs音频分离模型将人声vocals单独提取为独立的_speech音轨再送入 Whisper可显著减少背景音乐、环境噪音对识别的干扰。从源码看file_transcriber_queue_worker.py语音提取在独立进程中执行_speech_extraction_worker通过管道向主进程回传进度若视频文件本身没有音轨抛出IndexError会自动跳过提取并直接转写原始文件保证任务不会失败。提取后的文件命名会去掉_speech后缀再参与导出文件命名transcriber.py。初始提示词Initial Prompt减少拼写错误的利器官方文档指出为了减少拼写错误可以在Advanced...按钮下的「Initial Prompt」中输入一些常见的易错词例如人名、地名、专业术语。入口配置窗口的Advanced...按钮打开 advanced_settings_dialog.py该对话框的「Speech recognition settings」分区包含多行文本输入框InitialPromptTextEdit输入的文本写入TranscriptionOptions.initial_prompt随任务传入 Whisper 作为提示上下文。底层原理Whisper 的解码过程会把初始提示词作为前文 token从而引导模型对易混淆词汇的预测偏向正确的拼写。这是 OpenAI Whisper 官方推荐的提示工程技巧原始文档引用了 OpenAI cookbook 的 prompting 指南注意部分模型类型如 OpenAI Whisper API对初始提示词的支持程度不同从源码看切换不支持 initial_prompt 的模型类型时该字段会被清空见 transcription_options_group_box.py 中supports_initial_prompt判断。命令行方式把导入转写成脚本化流程Buzz 的 CLI 支持与 GUI 等价的文件导入转录能力cli.py适合批处理与自动化。核心参数定义于_add_command_optionscli.pybuzz add file1 [file2 ...] \ --task transcribe|translate \ --model-type whisper|whispercpp|fasterwhisper|huggingface|openai-whisper-api \ --model-size tiny|base|small|medium|large-v3|large-v3-turbo \ --language code \ --prompt initial prompt \ --word-timestamps \ --extract-speech \ --srt --vtt --txt \ --output-directory dir \ --hide-gui主要参数说明CLI 参数对应 GUI 选项默认值-t, --taskTasktranscribe-m, --model-typeModel 类型whisper-s, --model-size模型大小tiny-l, --languageLanguage空自动检测-p, --promptInitial Prompt空-w, --word-timestampsWord-Level Timings关闭-e, --extract-speechExtract speech关闭--srt / --vtt / --txt导出格式默认输出 TXT-d, --output-directory输出目录源文件所在目录--hide-gui—关闭CLI 与 GUI 共用同一套TranscriptionOptions/FileTranscriptionOptions数据结构和任务队列保证行为一致。语言代码取LANGUAGES映射中的键如en、zh、ja传空则自动检测。查看与打开转录结果任务加入队列后主窗口的任务表格TranscriptionTasksTableWidget会实时显示每项任务的File Name / URL、Model、Task、Status等状态对应FileTranscriptionTask.Status枚举queued / in_progress / completed / failed / canceled / skipped见 transcriber.py。打开转录结果的两种方式官方文档指定双击任务行——table_widget.doubleClicked信号触发open_transcription_viewermain_window.py选中行后点击「⤢」图标打开转录按钮——通过工具栏按钮触发同一个查看器。需要说明只有状态为completed或 skipped的任务才能打开转录查看器can_open_transcript对此做了状态校验main_window.py。转录查看器TranscriptionViewerWidget支持逐段查看带时间戳的转录文本内置音频/视频播放器联动跳转按导出格式TXT / SRT / VTT导出字幕文件调用转录结果编辑与字幕合并功能详见 4_edit_and_resize.md 与 6_transcription_viewer.md。实践建议与常见问题优先手动指定语言官方文档明确提示自动语言检测可能产生意外结果1_file_import.md多语言混排或背景嘈杂的音频尤其明显。人名地名先写进 Initial Prompt把容易出现拼写错误的名字、术语放进高级设置是官方推荐且零成本提升准确率的手段。视频转写正确率低时开启 Extract speech先用 Demucs 分离人声再转录能明显降低背景音乐干扰如果视频本身无音轨Buzz 会自动回退到直接转写。需要逐词校对就开 Word-Level Timings开启后每个词一行配合字幕合并功能即可灵活控制字幕粒度。模型首次加载较慢属正常现象Apple Silicon Mac 上 Whisper.cpp 首次加载模型可能耗时数分钟界面会显示加载提示模型下载完成前 Run 按钮在部分模型配置下会被禁用如 Hugging Face 模型未填 ID 时见 file_transcriber_widget.py。批量场景优先用 CLIbuzz add配合--hide-gui可无界面完成批处理输出目录可用--output-directory统一指定导出文件名支持{{ input_file_name }}、{{ task }}、{{ language }}、{{ model_type }}、{{ model_size }}、{{ date_time }}等模板变量transcriber.py。相关文档与源码索引使用文档文件导入中文版i18n/zh 文件导入相关使用指南实时录制、翻译、编辑与字幕合并、转录查看器、命令行核心实现transcriber.py选项与任务模型、file_transcriber_widget.py导入配置窗口、file_transcription_form_widget.py文件选项表单、transcription_options_group_box.py任务/语言/模型选项、main_window.py导入入口与任务管理、file_transcriber_queue_worker.py队列与语音提取、cli.py命令行导入【免费下载链接】buzzBuzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper.项目地址: https://gitcode.com/GitHub_Trending/buz/buzz创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考