给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脚本
bash
git clone https://github.com/ggerganov/whisper.cpp
克隆超时了。这可能是因为网络问题或者仓库比较大。让我检查一下是否已经部分克隆了,或者尝试其他方式。
让我先检查当前目录是否有 whisper.cpp 文件夹。
执行完成
克隆超时了,让我检查一下是否已经下载了部分内容:
思考执行,执行了1条命令
创建bash脚本
bash
ls -la
好的,whisper.cpp 文件夹已经存在了。让我检查一下里面的内容,看看是否克隆成功了。
执行完成
仓库已经存在,让我检查内容:
思考执行,执行了1条命令
创建bash脚本
bash
ls -la whisper.cpp
看起来克隆不完整,只有 .git 目录。让我删除这个目录,然后重新克隆,或者尝试在 whisper.cpp 目录里继续拉取。
让我先尝试删除然后重新克隆,或者直接进入目录完成克隆。
执行完成
克隆不完整,让我删除后重新克隆:
思考执行,执行了1条命令
创建bash脚本
bash
rm -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 的内容。从文档中可以看到:
-
Windows 支持 MSVC 和 MinGW 两种编译方式
-
基本的编译步骤是:
``bash
cmake -B build
cmake --build build -j --config Release
``
让我继续查看更多关于 Windows 编译的信息,或者查看 docs 目录中是否有更详细的说明。
执行完成
让我查看是否有 Windows 特定的编译说明:
思考执行,搜索了1个文件,执行了1条命令
搜索 **/*README*
创建bash脚本
bash
where cmake && where cl && where gcc
看起来 cmake、cl (MSVC 编译器) 和 gcc 都没有找到。我需要检查用户系统上有哪些编译工具可用。让我检查一下常见的编译工具和环境。
执行完成
系统上没有找到 cmake 和编译器。让我检查更多工具:
思考执行,执行了2条命令
创建bash脚本
bash
where make && where g++ && where clang && where mingw32-make
创建bash脚本
bash
echo %VSINSTALLDIR% && echo %MSVC_DIR%
系统有 make 工具(通过 Chocolatey 安装),但没有找到 cmake、MSVC 或 MinGW 编译器。用户需要安装编译工具才能编译 whisper.cpp。
让我检查一下是否安装了 Visual Studio 或 Build Tools:
执行完成
让我检查 Visual Studio 和 Build Tools:
思考执行,执行了2条命令
创建bash脚本
bash
dir "C:\Program Files\Microsoft Visual Studio" 2>nul && dir "C:\Program Files (x86)\Microsoft Visual Studio" 2>nul
创建bash脚本
bash
dir "C:\Program Files\CMake" 2>nul && dir "C:\Program Files (x86)\CMake" 2>nul
CMake 已经安装在 C:\Program Files\CMake,但 Visual Studio 似乎没有安装。让我检查一下 CMake 是否在 PATH 中,以及是否有其他编译器可用。
执行完成
CMake 已安装!让我检查完整路径和 MinGW:
思考执行,执行了2条命令
创建bash脚本
bash
"C:\Program Files\CMake\bin\cmake.exe" --version
创建bash脚本
bash
dir "C:\msys64" 2>nul && dir "C:\mingw64" 2>nul && dir "C:\mingw32" 2>nul
CMake 3.31.5 已安装,但没有找到 Visual Studio 或 MinGW。用户需要安装一个编译器才能编译 whisper.cpp。
让我给用户提供选择:
-
安装 Visual Studio Build Tools(MSVC 编译器)
-
安装 MinGW-w64(GCC 编译器)
或者,我可以检查是否有预编译的二进制文件可以直接下载使用。让我先检查 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 的具体下载链接。
我需要给用户提供两个选择:
-
直接下载预编译的 Windows 版本(更简单快捷)
-
安装编译工具后从源码编译
让我先检查预编译版本的下载链接。
执行完成
我发现有预编译的 Windows 版本可用。让我检查具体的下载链接:
思考执行,执行了3条命令
创建bash脚本
bash
curl -s https://api.github.com/repos/ggerganov/whisper.cpp/releases/latest | grep -E "browser_download_url.*win.*zip"
没有输出,可能是 curl 或 grep 的问题。让我尝试另一种方式获取下载链接。
创建bash脚本
bash
curl -s https://api.github.com/repos/ggerganov/whisper.cpp/releases/latest
仓库已经迁移到 ggml-org。让我使用新的 API 地址。
创建bash脚本
bash
curl -sL https://api.github.com/repos/ggml-org/whisper.cpp/releases/latest
找到了!有多个 Windows 预编译版本:
-
whisper-bin-x64.zip - 基础 x64 版本(CPU only)
-
whisper-bin-Win32.zip - 32位版本
-
whisper-blas-bin-x64.zip - 带 BLAS 优化的 x64 版本
-
whisper-cublas-11.8.0-bin-x64.zip - CUDA 11.8 版本(需要 NVIDIA GPU)
-
whisper-cublas-12.4.0-bin-x64.zip - CUDA 12.4 版本(需要 NVIDIA GPU)
现在我需要询问用户想要哪种方式:
-
直接下载预编译版本(推荐,更简单)
-
从源码编译(需要安装编译工具)
让我更新任务状态并询问用户。
执行完成
找到了预编译版本!有两种安装方式可选:
思考执行,更新了任务清单,澄清了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脚本
bash
curl -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脚本
bash
powershell -Command "Expand-Archive -Path whisper-bin-x64.zip -DestinationPath whisper-install -Force" && ls whisper-install
解压成功了,看到有一个 Release 目录。让我查看里面的内容。
创建bash脚本
bash
ls 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脚本
bash
mkdir -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.bin"
Hugging Face 连接超时了。让我尝试使用其他镜像或者直接从 GitHub releases 下载。让我检查是否有模型在 GitHub releases 中。
执行完成
Hugging Face 连接超时,让我尝试其他方式:
思考执行,执行了1条命令
创建bash脚本
bash
curl -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脚本
bash
ls 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脚本
bash
cd whisper-install/Release && ./whisper-cli.exe -m ../../whisper-install/models/ggml-base.en.bin -f ../../whisper.cpp/samples/jfk.wav 2>&1
出现了 "Illegal instruction" 错误。这通常是因为预编译的二进制文件使用了当前 CPU 不支持的指令集(比如 AVX2)。让我检查一下 CPU 信息,或者尝试下载带有...
执行完成
遇到了 CPU 指令集兼容性问题。让我检查 CPU 信息并尝试其他版本:
思考执行,执行了1条命令
创建bash脚本
bash
wmic cpu get caption, name
这是 Intel Xeon E5-2643 v2,是 Ivy Bridge 架构的处理器。这个处理器支持 AVX 但不支持 AVX2。预编译的二进制文件可能使用了 AVX2 指令。
我有几个选择:
-
从源码编译,禁用 AVX2
-
下载 Win32 版本(可能没有使用 AVX2)
-
检查是否有其他预编译选项
让我先尝试 Win32 版本,如果不行再考虑从源码编译。
执行完成
您的 CPU 是 Intel Xeon E5-2643 v2(Ivy Bridge 架构),不支持 AVX2 指令集。预编译的 x64 版本使用了 AVX2。
让我尝试 Win32 版本或从源码编译:
思考执行,执行了1条命令
创建bash脚本
bash
curl -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脚本
bash
choco install mingw -y
安装 MinGW 失败了,有锁文件问题。让我尝试手动下载 MinGW 或者使用其他方式。
让我检查一下是否有其他编译器可用,或者尝试使用 CMake 和 Visual Studio Build Tools。
实际上,让我先检查一下是否可以用现有的工具编译。我之前看到系统有 make 工具。让我检查一下是否有 gcc 或 g++。
执行完成
安装遇到问题。让我检查其他编译选项:
思考执行,执行了2条命令
创建bash脚本
bash
where gcc 2>nul || where g++ 2>nul || where clang++ 2>nul || echo "No C++ compiler found"
没有找到 C++ 编译器。我需要安装一个编译器才能从源码编译。让我尝试手动下载 MinGW-w64。
创建bash脚本
bash
curl -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脚本
bash
dir "C:\Program Files (x86)\Microsoft Visual Studio\Installer" 2>nul && dir "C:\Program Files\Microsoft Visual Studio\2022" 2>nul && dir "C:\Program Files\Microsoft Visual Studio\2019" 2>nul
Visual Studio Installer 存在,但没有找到具体的 Visual Studio 安装目录。让我检查一下是否有 Build Tools 或者其他编译工具。
创建bash脚本
bash
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
找到了!Visual Studio 2022 Community 安装在 E 盘。让我检查是否有 MSVC 编译器。
执行完成
找到了 Visual Studio 2022!让我配置编译环境:
思考执行,执行了1条命令
创建bash脚本
bash
dir "E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
找到了 vcvars64.bat。现在我可以使用 MSVC 编译器来编译 whisper.cpp。让我配置环境并编译。
执行完成
找到了 MSVC 编译器!让我编译 whisper.cpp:
思考执行,执行了2条命令
创建bash脚本
bash
cmd /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_AVX2=OFF -DGGML_AVX=ON && \"C:\Program Files\CMake\bin\cmake.exe\" --build build --config Release -j"
命令执行了但没有输出。让我尝试另一种方式,分步执行编译过程。
创建bash脚本
bash
cd whisper.cpp && "C:\Program Files\CMake\bin\cmake.exe" -B build -G "Visual Studio 17 2022" -A x64 -DGGML_AVX2=OFF -DGGML_AVX=ON
CMake 配置正在进行中,但超时了。让我继续编译过程。
执行完成
配置正在进行,让我继续编译:
思考执行,执行了2条命令
创建bash脚本
bash
cd whisper.cpp && "C:\Program Files\CMake\bin\cmake.exe" --build build --config Release -j 4 --target whisper-cli
缓存加载失败,说明 CMake 配置没有完成。让我重新运行配置命令,这次增加超时时间。
创建bash脚本
bash
cd whisper.cpp && "C:\Program Files\CMake\bin\cmake.exe" -B build -G "Visual Studio 17 2022" -A x64 -DGGML_AVX2=OFF
CMake 配置成功了!检测到: - AVX 支持:成功 - AVX2 支持:失败(符合预期,因为 CPU 不支持) - FMA 支持:失败 - AVX512 支持:失败
现在让我编译 whisper-cli。
执行完成
配置成功!现在编译:
思考执行,执行了1条命令
创建bash脚本
bash
cd 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."
注意事项
- 由于您的 CPU(Intel Xeon E5-2643 v2)不支持 AVX2,我使用 AVX 指令集编译
- 编译时禁用了 AVX2 以避免 "Illegal instruction" 错误
- 音频文件需要是 16-bit WAV 格式(可用 ffmpeg 转换)
其他可用模型
| 模型 | 大小 | 说明 |
|---|---|---|
| tiny.en | 75 MB | 最快,英文 |
| base.en | 142 MB | 平衡,英文(已安装) |
| small.en | 466 MB | 更准确,英文 |
| medium | 1.5 GB | 多语言 |
| large-v3 | 2.9 GB | 最准确,多语言 |
下载地址:https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-模型名.bin