DuMate帮着在Windows10 编译安装Whisper-CPP
给DuMate指令帮我安装Whisper-CPP 我看可以下载源代码git clone https://github.com/ggerganov/whisper.cpp 然后编译安装到windows10系统。DuMate工作我来帮你在 Windows 10 上安装 Whisper-CPP。这是一个多步骤的过程让我先创建任务列表并开始执行。思考执行执行了1条命令更新了任务清单更新任务清单json{todos: [{content: 克隆 whisper.cpp 源代码仓库,status: in_progress,priority: high},{content: 检查编译依赖和环境要求,status: pending,priority: high},{content: 编译 whisper.cpp,status: pending,priority: high},{content: 验证安装结果,status: pending,priority: medium}]}好的任务列表已创建。现在让我开始克隆仓库。创建bash脚本bashgit clone https://github.com/ggerganov/whisper.cpp克隆超时了。这可能是因为网络问题或者仓库比较大。让我检查一下是否已经部分克隆了或者尝试其他方式。让我先检查当前目录是否有 whisper.cpp 文件夹。执行完成克隆超时了让我检查一下是否已经下载了部分内容思考执行执行了1条命令创建bash脚本bashls -la好的whisper.cpp 文件夹已经存在了。让我检查一下里面的内容看看是否克隆成功了。执行完成仓库已经存在让我检查内容思考执行执行了1条命令创建bash脚本bashls -la whisper.cpp看起来克隆不完整只有 .git 目录。让我删除这个目录然后重新克隆或者尝试在 whisper.cpp 目录里继续拉取。让我先尝试删除然后重新克隆或者直接进入目录完成克隆。执行完成克隆不完整让我删除后重新克隆思考执行执行了1条命令创建bash脚本bashrm -rf whisper.cpp git clone --depth 1 https://github.com/ggerganov/whisper.cpp太好了克隆成功了现在让我更新任务状态然后查看 README 或文档了解 Windows 编译的具体步骤。执行完成克隆成功让我查看编译文档思考执行读取了1个文件更新了任务清单更新任务清单json{todos: [{content: 克隆 whisper.cpp 源代码仓库,status: completed,priority: high},{content: 检查编译依赖和环境要求,status: in_progress,priority: high},{content: 编译 whisper.cpp,status: pending,priority: high},{content: 验证安装结果,status: pending,priority: medium}]}读取 README.md我看到了 README 的内容。从文档中可以看到1. Windows 支持 MSVC 和 MinGW 两种编译方式2. 基本的编译步骤是bashcmake -B buildcmake --build build -j --config Release让我继续查看更多关于 Windows 编译的信息或者查看 docs 目录中是否有更详细的说明。执行完成让我查看是否有 Windows 特定的编译说明思考执行搜索了1个文件执行了1条命令搜索 **/*README*创建bash脚本bashwhere cmake where cl where gcc看起来 cmake、cl (MSVC 编译器) 和 gcc 都没有找到。我需要检查用户系统上有哪些编译工具可用。让我检查一下常见的编译工具和环境。执行完成系统上没有找到 cmake 和编译器。让我检查更多工具思考执行执行了2条命令创建bash脚本bashwhere make where g where clang where mingw32-make创建bash脚本bashecho %VSINSTALLDIR% echo %MSVC_DIR%系统有 make 工具通过 Chocolatey 安装但没有找到 cmake、MSVC 或 MinGW 编译器。用户需要安装编译工具才能编译 whisper.cpp。让我检查一下是否安装了 Visual Studio 或 Build Tools执行完成让我检查 Visual Studio 和 Build Tools思考执行执行了2条命令创建bash脚本bashdir C:\Program Files\Microsoft Visual Studio 2nul dir C:\Program Files (x86)\Microsoft Visual Studio 2nul创建bash脚本bashdir C:\Program Files\CMake 2nul dir C:\Program Files (x86)\CMake 2nulCMake 已经安装在 C:\Program Files\CMake但 Visual Studio 似乎没有安装。让我检查一下 CMake 是否在 PATH 中以及是否有其他编译器可用。执行完成CMake 已安装让我检查完整路径和 MinGW思考执行执行了2条命令创建bash脚本bashC:\Program Files\CMake\bin\cmake.exe --version创建bash脚本bashdir C:\msys64 2nul dir C:\mingw64 2nul dir C:\mingw32 2nulCMake 3.31.5 已安装但没有找到 Visual Studio 或 MinGW。用户需要安装一个编译器才能编译 whisper.cpp。让我给用户提供选择1. 安装 Visual Studio Build ToolsMSVC 编译器2. 安装 MinGW-w64GCC 编译器或者我可以检查是否有预编译的二进制文件可以直接下载使用。让我先检查 GitHub releases 页面是否有 Windows 预编译版本。执行完成CMake 已安装版本 3.31.5但缺少 C 编译器。让我检查是否有预编译版本可用思考执行获取了1个网页获取 https://github.com/ggerganov/whisper.cpp/...我看到了 releases 页面有预编译的 Windows 版本。让我检查具体的 release 资产Assets看看是否有 Windows 预编译的 zip 文件。从输出中我可以看到有 Assets 10 等信息说明每个版本都有预编译的二进制文件。让我获取最新版本 v1.8.4 的具体下载链接。我需要给用户提供两个选择1. 直接下载预编译的 Windows 版本更简单快捷2. 安装编译工具后从源码编译让我先检查预编译版本的下载链接。执行完成我发现有预编译的 Windows 版本可用。让我检查具体的下载链接思考执行执行了3条命令创建bash脚本bashcurl -s https://api.github.com/repos/ggerganov/whisper.cpp/releases/latest | grep -E browser_download_url.*win.*zip没有输出可能是 curl 或 grep 的问题。让我尝试另一种方式获取下载链接。创建bash脚本bashcurl -s https://api.github.com/repos/ggerganov/whisper.cpp/releases/latest仓库已经迁移到 ggml-org。让我使用新的 API 地址。创建bash脚本bashcurl -sL https://api.github.com/repos/ggml-org/whisper.cpp/releases/latest找到了有多个 Windows 预编译版本1. whisper-bin-x64.zip - 基础 x64 版本CPU only2. whisper-bin-Win32.zip - 32位版本3. whisper-blas-bin-x64.zip - 带 BLAS 优化的 x64 版本4. whisper-cublas-11.8.0-bin-x64.zip - CUDA 11.8 版本需要 NVIDIA GPU5. whisper-cublas-12.4.0-bin-x64.zip - CUDA 12.4 版本需要 NVIDIA GPU现在我需要询问用户想要哪种方式1. 直接下载预编译版本推荐更简单2. 从源码编译需要安装编译工具让我更新任务状态并询问用户。执行完成找到了预编译版本有两种安装方式可选思考执行更新了任务清单澄清了2个问题更新任务清单json{todos: [{content: 克隆 whisper.cpp 源代码仓库,priority: high,status: completed},{content: 选择安装方式预编译版本或源码编译,priority: high,status: in_progress},{content: 下载/编译 whisper.cpp,priority: high,status: pending},{content: 下载模型文件,priority: medium,status: pending},{content: 验证安装结果,priority: medium,status: pending}]}澄清了 2 个问题用户选择了 1. 下载预编译版本推荐 2. 仅 CPU 版本那我应该下载 whisper-bin-x64.zip 这个基础 x64 版本。让我下载并解压。执行完成好的我来下载 CPU 版本的预编译文件思考执行执行了1条命令更新了任务清单更新任务清单json{todos: [{content: 克隆 whisper.cpp 源代码仓库,priority: high,status: completed},{content: 选择安装方式预编译版本或源码编译,priority: high,status: completed},{content: 下载预编译的 whisper-bin-x64.zip,priority: high,status: in_progress},{content: 下载模型文件,priority: medium,status: pending},{content: 验证安装结果,priority: medium,status: pending}]}创建bash脚本bashcurl -L -o whisper-bin-x64.zip https://github.com/ggml-org/whisper.cpp/releases/download/v1.8.4/whisper-bin-x64.zip下载成功了现在让我解压这个 zip 文件。执行完成下载完成现在解压文件思考执行执行了2条命令创建bash脚本bashpowershell -Command Expand-Archive -Path whisper-bin-x64.zip -DestinationPath whisper-install -Force ls whisper-install解压成功了看到有一个 Release 目录。让我查看里面的内容。创建bash脚本bashls whisper-install/Release解压成功现在我需要 1. 下载一个模型文件 2. 测试运行让我更新任务状态然后下载模型。执行完成解压成功现在下载模型文件思考执行读取了1个文件更新了任务清单更新任务清单json{todos: [{content: 克隆 whisper.cpp 源代码仓库,priority: high,status: completed},{content: 选择安装方式预编译版本或源码编译,priority: high,status: completed},{content: 下载预编译的 whisper-bin-x64.zip,priority: high,status: completed},{content: 下载模型文件,priority: medium,status: in_progress},{content: 验证安装结果,priority: medium,status: pending}]}读取 README.md我看到了模型信息。模型可以从 Hugging Face 下载。让我下载一个 base.en 模型142 MiB这是英文的基础模型适合大多数用户测试。执行完成让我下载 base.en 模型142 MiB适合测试思考执行执行了1条命令创建bash脚本bashmkdir -p whisper-install/models curl -L -o whisper-install/models/ggml-base.en.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.binHugging Face 连接超时了。让我尝试使用其他镜像或者直接从 GitHub releases 下载。让我检查是否有模型在 GitHub releases 中。执行完成Hugging Face 连接超时让我尝试其他方式思考执行执行了1条命令创建bash脚本bashcurl -L -o whisper-install/models/ggml-base.en.bin https://hf-mirror.com/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin模型下载成功了现在让我验证安装用示例音频文件测试一下。执行完成模型下载成功现在测试安装思考执行执行了4条命令更新了任务清单更新任务清单json{todos: [{content: 克隆 whisper.cpp 源代码仓库,priority: high,status: completed},{content: 选择安装方式预编译版本或源码编译,priority: high,status: completed},{content: 下载预编译的 whisper-bin-x64.zip,priority: high,status: completed},{content: 下载模型文件,priority: medium,status: completed},{content: 验证安装结果,priority: medium,status: in_progress}]}创建bash脚本bash./whisper-install/Release/whisper-cli.exe --help没有输出可能是程序需要参数。让我检查一下示例音频文件然后用它来测试。创建bash脚本bashls whisper.cpp/samples有示例音频文件 jfk.wav。让我用这个文件测试 whisper-cli。创建bash脚本bash./whisper-install/Release/whisper-cli.exe -m ./whisper-install/models/ggml-base.en.bin -f ./whisper.cpp/samples/jfk.wav没有输出可能是程序运行有问题。让我检查一下是否缺少 DLL 或者其他问题。让我尝试直接运行看看是否有错误信息。创建bash脚本bashcd whisper-install/Release ./whisper-cli.exe -m ../../whisper-install/models/ggml-base.en.bin -f ../../whisper.cpp/samples/jfk.wav 21出现了 Illegal instruction 错误。这通常是因为预编译的二进制文件使用了当前 CPU 不支持的指令集比如 AVX2。让我检查一下 CPU 信息或者尝试下载带有...执行完成遇到了 CPU 指令集兼容性问题。让我检查 CPU 信息并尝试其他版本思考执行执行了1条命令创建bash脚本bashwmic cpu get caption, name这是 Intel Xeon E5-2643 v2是 Ivy Bridge 架构的处理器。这个处理器支持 AVX 但不支持 AVX2。预编译的二进制文件可能使用了 AVX2 指令。我有几个选择1. 从源码编译禁用 AVX22. 下载 Win32 版本可能没有使用 AVX23. 检查是否有其他预编译选项让我先尝试 Win32 版本如果不行再考虑从源码编译。执行完成您的 CPU 是 Intel Xeon E5-2643 v2Ivy Bridge 架构不支持 AVX2 指令集。预编译的 x64 版本使用了 AVX2。让我尝试 Win32 版本或从源码编译思考执行执行了1条命令创建bash脚本bashcurl -L -o whisper-bin-Win32.zip https://github.com/ggml-org/whisper.cpp/releases/download/v1.8.4/whisper-bin-Win32.zip下载失败了。让我尝试从源码编译禁用 AVX2。我需要先安装编译工具。让我检查是否可以用 MinGW 或者其他方式编译。执行完成下载失败。让我从源码编译禁用 AVX2思考执行执行了1条命令创建bash脚本bashchoco install mingw -y安装 MinGW 失败了有锁文件问题。让我尝试手动下载 MinGW 或者使用其他方式。让我检查一下是否有其他编译器可用或者尝试使用 CMake 和 Visual Studio Build Tools。实际上让我先检查一下是否可以用现有的工具编译。我之前看到系统有 make 工具。让我检查一下是否有 gcc 或 g。执行完成安装遇到问题。让我检查其他编译选项思考执行执行了2条命令创建bash脚本bashwhere gcc 2nul || where g 2nul || where clang 2nul || echo No C compiler found没有找到 C 编译器。我需要安装一个编译器才能从源码编译。让我尝试手动下载 MinGW-w64。创建bash脚本bashcurl -L -o mingw64.zip https://github.com/niXman/mingw-builds-binaries/releases/download/13.2.0-rt_v11-rev1/x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev1.7z下载 MinGW 超时了。让我尝试另一种方法 - 直接使用 CMake 和 MSVC 编译或者尝试其他方式获取编译器。实际上让我检查一下是否有 Visual Studio Build Tools 或者其他编译器已经安装。执行完成下载超时。让我检查是否有其他编译选项思考执行执行了2条命令创建bash脚本bashdir C:\Program Files (x86)\Microsoft Visual Studio\Installer 2nul dir C:\Program Files\Microsoft Visual Studio\2022 2nul dir C:\Program Files\Microsoft Visual Studio\2019 2nulVisual Studio Installer 存在但没有找到具体的 Visual Studio 安装目录。让我检查一下是否有 Build Tools 或者其他编译工具。创建bash脚本bashC:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -latest -property installationPath找到了Visual Studio 2022 Community 安装在 E 盘。让我检查是否有 MSVC 编译器。执行完成找到了 Visual Studio 2022让我配置编译环境思考执行执行了1条命令创建bash脚本bashdir E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat找到了 vcvars64.bat。现在我可以使用 MSVC 编译器来编译 whisper.cpp。让我配置环境并编译。执行完成找到了 MSVC 编译器让我编译 whisper.cpp思考执行执行了2条命令创建bash脚本bashcmd /c \E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat\ cd whisper.cpp \C:\Program Files\CMake\bin\cmake.exe\ -B build -DGGML_AVX2OFF -DGGML_AVXON \C:\Program Files\CMake\bin\cmake.exe\ --build build --config Release -j命令执行了但没有输出。让我尝试另一种方式分步执行编译过程。创建bash脚本bashcd whisper.cpp C:\Program Files\CMake\bin\cmake.exe -B build -G Visual Studio 17 2022 -A x64 -DGGML_AVX2OFF -DGGML_AVXONCMake 配置正在进行中但超时了。让我继续编译过程。执行完成配置正在进行让我继续编译思考执行执行了2条命令创建bash脚本bashcd whisper.cpp C:\Program Files\CMake\bin\cmake.exe --build build --config Release -j 4 --target whisper-cli缓存加载失败说明 CMake 配置没有完成。让我重新运行配置命令这次增加超时时间。创建bash脚本bashcd whisper.cpp C:\Program Files\CMake\bin\cmake.exe -B build -G Visual Studio 17 2022 -A x64 -DGGML_AVX2OFFCMake 配置成功了检测到 - AVX 支持成功 - AVX2 支持失败符合预期因为 CPU 不支持 - FMA 支持失败 - AVX512 支持失败现在让我编译 whisper-cli。执行完成配置成功现在编译思考执行执行了1条命令创建bash脚本bashcd whisper.cpp C:\Program Files\CMake\bin\cmake.exe --build build --config Release --target whisper-cli编译成功了whisper-cli.exe 已经生成。现在让我测试一下是否能正常运行。执行完成编译成功让我测试思考执行执行了1条命令创建bash脚本bash./whisper.cpp/build/bin/Release/whisper-cli.exe -m ./whisper-install/models/ggml-base.en.bin -f ./whisper.cpp/samples/jfk.wav太棒了编译成功并且运行正常转录结果正确显示了 JFK 的演讲内容And so my fellow Americans, ask not what your country can...现在让我更新任务状态并整理安装结果。执行完成安装成功Whisper-CPP 已成功编译并运行安装完成Whisper-CPP 已成功编译安装到您的 Windows 10 系统。安装摘要项目路径源代码whisper.cpp/编译输出whisper.cpp/build/bin/Release/模型文件whisper-install/models/ggml-base.en.bin使用方法# 基本用法 ./whisper.cpp/build/bin/Release/whisper-cli.exe -m ./whisper-install/models/ggml-base.en.bin -f 音频文件.wav # 示例已测试成功 ./whisper.cpp/build/bin/Release/whisper-cli.exe -m ./whisper-install/models/ggml-base.en.bin -f ./whisper.cpp/samples/jfk.wav测试结果转录成功And so my fellow Americans, ask not what your country can do for you, ask what you can do for your country.注意事项由于您的 CPUIntel Xeon E5-2643 v2不支持 AVX2我使用 AVX 指令集编译编译时禁用了 AVX2 以避免 “Illegal instruction” 错误音频文件需要是 16-bit WAV 格式可用 ffmpeg 转换其他可用模型模型大小说明tiny.en75 MB最快英文base.en142 MB平衡英文已安装small.en466 MB更准确英文medium1.5 GB多语言large-v32.9 GB最准确多语言下载地址https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-模型名.bin