whisper-windows-mcp 1.9.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +29 -0
- package/.github/ISSUE_TEMPLATE/gpu_test_result.md +32 -0
- package/.github/pull_request_template.md +28 -0
- package/CODE_OF_CONDUCT.md +30 -0
- package/CONTRIBUTING.md +89 -0
- package/README.ja.md +397 -0
- package/README.md +60 -10
- package/ROADMAP.ja.md +268 -0
- package/SECURITY.md +35 -0
- package/TROUBLESHOOTING.ja.md +286 -0
- package/dist/index.js +616 -37
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Something isn't working correctly
|
|
4
|
+
title: '[BUG] '
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What happened
|
|
10
|
+
|
|
11
|
+
<!-- Describe what went wrong -->
|
|
12
|
+
|
|
13
|
+
## Steps to reproduce
|
|
14
|
+
|
|
15
|
+
1.
|
|
16
|
+
2.
|
|
17
|
+
3.
|
|
18
|
+
|
|
19
|
+
## Expected behavior
|
|
20
|
+
|
|
21
|
+
<!-- What should have happened instead -->
|
|
22
|
+
|
|
23
|
+
## Environment
|
|
24
|
+
|
|
25
|
+
- **OS:** Windows [version — run `winver`]
|
|
26
|
+
- **Node.js:** [run `node --version`]
|
|
27
|
+
- **whisper-windows-mcp version:** [shown in Claude Desktop Settings → Developer]
|
|
28
|
+
- **GPU:** [model name]
|
|
29
|
+
- **Vulkan build:** Yes / No
|
|
30
|
+
- **Model:** [e.g. ggml-medium.en.bin, ggml-large-v3.bin]
|
|
31
|
+
|
|
32
|
+
## Error output
|
|
33
|
+
|
|
34
|
+
<!-- Paste any error messages here -->
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
error output here
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Additional context
|
|
41
|
+
|
|
42
|
+
<!-- Anything else that might help — file format, file duration, language, etc. -->
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest a new feature or improvement
|
|
4
|
+
title: '[FEATURE] '
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What problem would this solve
|
|
10
|
+
|
|
11
|
+
<!-- Describe the use case. What are you trying to do that isn't possible or is difficult right now? -->
|
|
12
|
+
|
|
13
|
+
## Proposed solution
|
|
14
|
+
|
|
15
|
+
<!-- How would you like this to work? Be as specific as you can. -->
|
|
16
|
+
|
|
17
|
+
## Alternatives considered
|
|
18
|
+
|
|
19
|
+
<!-- Have you tried other approaches? What didn't work? -->
|
|
20
|
+
|
|
21
|
+
## Hardware context
|
|
22
|
+
|
|
23
|
+
<!-- Relevant if this is GPU/model related -->
|
|
24
|
+
- GPU:
|
|
25
|
+
- Model size you're using:
|
|
26
|
+
|
|
27
|
+
## Additional context
|
|
28
|
+
|
|
29
|
+
<!-- Anything else — links to similar implementations, whisper.cpp flags that might support this, etc. -->
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GPU test result
|
|
3
|
+
about: Share your GPU acceleration test results to help other users
|
|
4
|
+
title: '[GPU] '
|
|
5
|
+
labels: hardware-report
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Hardware
|
|
10
|
+
|
|
11
|
+
- **GPU:**
|
|
12
|
+
- **VRAM:**
|
|
13
|
+
- **CPU:**
|
|
14
|
+
- **RAM:**
|
|
15
|
+
|
|
16
|
+
## Test
|
|
17
|
+
|
|
18
|
+
- **Model used:** [e.g. ggml-medium.en.bin, ggml-large-v3.bin]
|
|
19
|
+
- **File duration:** [e.g. 5 minutes]
|
|
20
|
+
- **Language:**
|
|
21
|
+
|
|
22
|
+
## Results
|
|
23
|
+
|
|
24
|
+
- **GPU utilization during transcription:** [e.g. 20%]
|
|
25
|
+
- **Time to complete:**
|
|
26
|
+
- **CPU utilization during transcription:**
|
|
27
|
+
- **Vulkan build:** Yes / No
|
|
28
|
+
- **Any issues:**
|
|
29
|
+
|
|
30
|
+
## Notes
|
|
31
|
+
|
|
32
|
+
<!-- Anything else worth knowing for users with similar hardware -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
## What this PR does
|
|
2
|
+
|
|
3
|
+
<!-- Brief description of the change -->
|
|
4
|
+
|
|
5
|
+
## Type of change
|
|
6
|
+
|
|
7
|
+
- [ ] Bug fix
|
|
8
|
+
- [ ] New feature
|
|
9
|
+
- [ ] Documentation update
|
|
10
|
+
- [ ] Performance improvement
|
|
11
|
+
- [ ] Other
|
|
12
|
+
|
|
13
|
+
## Testing
|
|
14
|
+
|
|
15
|
+
- [ ] Tested on Windows
|
|
16
|
+
- [ ] Built successfully (`npm run build`)
|
|
17
|
+
- [ ] Tested in Claude Desktop with a real audio file
|
|
18
|
+
|
|
19
|
+
## Checklist
|
|
20
|
+
|
|
21
|
+
- [ ] Version bumped in `package.json` and `src/index.ts`
|
|
22
|
+
- [ ] README updated if new tools or parameters added
|
|
23
|
+
- [ ] TROUBLESHOOTING.md updated if fixing a known issue
|
|
24
|
+
- [ ] No new external runtime dependencies added
|
|
25
|
+
|
|
26
|
+
## Related issues
|
|
27
|
+
|
|
28
|
+
<!-- Closes #xxx -->
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our standards
|
|
4
|
+
|
|
5
|
+
This project is built to be useful to a wide range of people — developers, journalists, legal professionals, researchers, language students, video editors, and anyone else who needs local audio transcription on Windows.
|
|
6
|
+
|
|
7
|
+
We expect contributors and community members to:
|
|
8
|
+
|
|
9
|
+
- Be respectful and constructive in issues and pull requests
|
|
10
|
+
- Focus feedback on the work, not the person
|
|
11
|
+
- Accept that different people have different use cases and hardware setups
|
|
12
|
+
- Help newcomers get set up — not everyone is a developer
|
|
13
|
+
|
|
14
|
+
## Unacceptable behavior
|
|
15
|
+
|
|
16
|
+
- Harassment, personal attacks, or discriminatory language
|
|
17
|
+
- Dismissing bug reports because they involve non-English languages or non-NVIDIA hardware
|
|
18
|
+
- Spam or off-topic promotion
|
|
19
|
+
|
|
20
|
+
## Enforcement
|
|
21
|
+
|
|
22
|
+
Issues or pull requests that violate these standards will be closed. Repeat violations may result in being blocked from the repository.
|
|
23
|
+
|
|
24
|
+
## Reporting
|
|
25
|
+
|
|
26
|
+
If you experience or witness unacceptable behavior, open a private vulnerability report or contact the maintainer directly through GitHub.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
This Code of Conduct is intentionally minimal. The goal is a functional, welcoming project — not bureaucracy.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Contributing to whisper-windows-mcp
|
|
2
|
+
|
|
3
|
+
Thanks for your interest in contributing. This is a Windows-native MCP server for local audio transcription — contributions that improve Windows compatibility, GPU support, and usability for non-technical users are especially welcome.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Before you start
|
|
8
|
+
|
|
9
|
+
Check the [open issues](https://github.com/eviscerations/whisper-windows-mcp/issues) before starting work to avoid duplicating effort. If you want to work on something not listed, open an issue first to discuss it.
|
|
10
|
+
|
|
11
|
+
See [ROADMAP.md](ROADMAP.md) for planned features and known bugs.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## What we need most
|
|
16
|
+
|
|
17
|
+
- **GPU acceleration testing** — if you've tested on NVIDIA, Intel Arc, or AMD hardware not listed in the README, please share your results (GPU model, VRAM, model size, observed throughput)
|
|
18
|
+
- **Bug reports with reproduction steps** — especially for Windows-specific issues
|
|
19
|
+
- **Multilingual testing** — results with non-English audio and the large-v3 model
|
|
20
|
+
- **Documentation improvements** — especially for non-English speakers
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Development setup
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
git clone https://github.com/eviscerations/whisper-windows-mcp
|
|
28
|
+
cd whisper-windows-mcp
|
|
29
|
+
npm install
|
|
30
|
+
npm run build
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The server is a single TypeScript file at `src/index.ts`. The compiled output goes to `dist/`.
|
|
34
|
+
|
|
35
|
+
To test locally, update your `claude_desktop_config.json` to point at the local build:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"mcpServers": {
|
|
40
|
+
"whisper": {
|
|
41
|
+
"command": "node",
|
|
42
|
+
"args": ["C:\\path\\to\\whisper-windows-mcp\\dist\\index.js"],
|
|
43
|
+
"env": {
|
|
44
|
+
"WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
|
|
45
|
+
"WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Restart Claude Desktop after each build to pick up changes.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Pull request guidelines
|
|
57
|
+
|
|
58
|
+
- Keep PRs focused — one fix or feature per PR
|
|
59
|
+
- Test on Windows (this is a Windows-only tool)
|
|
60
|
+
- If adding a new tool, update the tool list in README.md
|
|
61
|
+
- If fixing a bug, add a note to TROUBLESHOOTING.md if it's something other users will hit
|
|
62
|
+
- Bump the version in `package.json` and the version string in `src/index.ts` before submitting
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Code style
|
|
67
|
+
|
|
68
|
+
- TypeScript, no external runtime dependencies beyond `@modelcontextprotocol/sdk`
|
|
69
|
+
- All file I/O must handle non-ASCII filenames (Unicode, Japanese, Chinese, emoji)
|
|
70
|
+
- New tools go in the `CallToolRequestSchema` handler following the existing pattern
|
|
71
|
+
- Error messages should be actionable — tell the user what to do, not just what went wrong
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Reporting bugs
|
|
76
|
+
|
|
77
|
+
Open an issue with:
|
|
78
|
+
- Your OS version (`winver`)
|
|
79
|
+
- Node.js version (`node --version`)
|
|
80
|
+
- whisper-windows-mcp version
|
|
81
|
+
- GPU model and whether you're using the Vulkan build
|
|
82
|
+
- Exact steps to reproduce
|
|
83
|
+
- Full error output if available
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
By contributing, you agree that your contributions will be licensed under the MIT license.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
# whisper-windows-mcp
|
|
2
|
+
|
|
3
|
+
Windows向けのネイティブMCP(Model Context Protocol)サーバーです。[whisper.cpp](https://github.com/ggml-org/whisper.cpp)を使用して、Claude Desktopで音声・動画ファイルをローカルに文字起こしできます。GPU加速、多言語対応、バッチ処理に対応しています。インターネット接続は不要です。音声データが外部に送信されることは一切ありません。
|
|
4
|
+
|
|
5
|
+
> **なぜこのパッケージが存在するのか?**
|
|
6
|
+
> 人気の`whisper-mcp`パッケージはmacOS向けに構築されており、Unix環境を前提としています。Windowsでは動作しません。このパッケージは、Claude DesktopでローカルなウィンドウズネイティブのAI文字起こしを求めるWindowsユーザーのために作られました。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## できること
|
|
11
|
+
|
|
12
|
+
インストール後、Claude Desktopで以下のように話しかけるだけで使えます:
|
|
13
|
+
|
|
14
|
+
- *「C:\Users\Me\Downloads\meeting.mp3を文字起こしして」*
|
|
15
|
+
- *「このフォルダの録音ファイルをすべて文字起こしして、それぞれテキストファイルに保存して」*
|
|
16
|
+
- *「このビデオの日本語と英語の字幕を生成して」*
|
|
17
|
+
- *「このフォルダのバッチ文字起こしを開始して」*
|
|
18
|
+
- *「これらのファイルの文字起こしにかかる時間はどれくらい?」*
|
|
19
|
+
- *「GPU加速が有効か確認して」*
|
|
20
|
+
- *「インストール済みのモデルを一覧表示して」*
|
|
21
|
+
- *「large-v3-turboをダウンロードして」*
|
|
22
|
+
- *「large-v3-turboモデルに切り替えて」*
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 必要条件
|
|
27
|
+
|
|
28
|
+
1. **Node.js 18以降** — [nodejs.org](https://nodejs.org)
|
|
29
|
+
2. **Vulkan GPU対応のwhisper.cppバイナリ** — ステップ1参照
|
|
30
|
+
3. **Whisperモデルファイル** — ステップ2参照
|
|
31
|
+
4. **FFmpeg** — 動画ファイルと非WAV/MP3音声に必要
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## ステップ1 — whisper.cppバイナリのインストール
|
|
36
|
+
|
|
37
|
+
### オプションA — ビルド済みVulkanリリース(推奨)
|
|
38
|
+
|
|
39
|
+
[リリースページ](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0)から`whisper-vulkan-win-x64.zip`をダウンロードしてください。
|
|
40
|
+
|
|
41
|
+
これは**Vulkan GPU加速**が有効なカスタムビルドです。AMD、NVIDIA、Intel GPUで動作します — ベンダー固有のSDKは不要です。
|
|
42
|
+
|
|
43
|
+
`C:\whisper\Release\`に展開してください。以下のファイルが揃っているか確認してください:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
C:\whisper\Release\whisper-cli.exe
|
|
47
|
+
C:\whisper\Release\ggml-vulkan.dll
|
|
48
|
+
C:\whisper\Release\ggml.dll
|
|
49
|
+
C:\whisper\Release\ggml-base.dll
|
|
50
|
+
C:\whisper\Release\ggml-cpu.dll
|
|
51
|
+
C:\whisper\Release\whisper.dll
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
GPU加速は自動で有効になります — 追加設定は不要です。
|
|
55
|
+
|
|
56
|
+
### オプションB — ソースからビルド
|
|
57
|
+
|
|
58
|
+
必要なもの:Git、CMake、Visual Studio Build Tools 2022+(「C++によるデスクトップ開発」)、[lunarg.com](https://vulkan.lunarg.com/sdk/home#windows)のVulkan SDK。
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
git clone https://github.com/ggml-org/whisper.cpp
|
|
62
|
+
cd whisper.cpp
|
|
63
|
+
cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
|
|
64
|
+
cmake --build build --config Release --target whisper-cli
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`build\bin\Release\`からバイナリを`C:\whisper\Release\`にコピーしてください。
|
|
68
|
+
|
|
69
|
+
> **注意:** GitHubの公式whisper.cpp WindowsリリースにはVulkanビルドが含まれていません。上記のビルド済みリリースを使用するか、`-DGGML_VULKAN=ON`でソースからコンパイルする必要があります。
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## ステップ2 — Whisperモデルのダウンロード
|
|
74
|
+
|
|
75
|
+
| モデル | サイズ | 速度 | 精度 | 用途 |
|
|
76
|
+
|---|---|---|---|---|
|
|
77
|
+
| `ggml-tiny.en.bin` | 75 MB | 非常に高速 | 基本 | 動作確認 |
|
|
78
|
+
| `ggml-base.en.bin` | 142 MB | 高速 | 良好 | 日常的な英語 |
|
|
79
|
+
| `ggml-small.en.bin` | 466 MB | 中程度 | より良好 | 重要な録音 |
|
|
80
|
+
| `ggml-medium.en.bin` | 1.5 GB | GPUで高速 | 非常に良好 | 最高品質の英語 |
|
|
81
|
+
| `ggml-large-v3-turbo.bin` | 1.6 GB | GPUで高速 | 優秀 | **英語GPUバッチ処理の推奨 — large-v3の約6倍高速で精度損失は最小限** |
|
|
82
|
+
| `ggml-large-v3.bin` | 2.9 GB | GPUで高速 | 優秀 | 多言語、最高精度 |
|
|
83
|
+
| `ggml-medium.en-q5_0.bin` | 514 MB | 高速 | 非常に良好 | **CPU専用英語の最良選択 — 低メモリで高精度** |
|
|
84
|
+
| `ggml-large-v3-turbo-q5_0.bin` | 547 MB | 高速 | 優秀 | **CPU専用多言語の最良選択** |
|
|
85
|
+
| `ggml-large-v3-q5_0.bin` | 1.1 GB | CPUで中程度 | 優秀 | 多言語、CPU対応 |
|
|
86
|
+
|
|
87
|
+
Claude Desktopで`download_model`を使用して直接インストールできます。**英語専用**の場合:`large-v3-turbo`(GPU)または`medium.en-q5_0`(CPU)がおすすめです。**多言語**の場合:`large-v3-turbo`または`large-v3-turbo-q5_0`(CPU)が必要です。英語専用モデル(`*.en.bin`)は英語以外の音声に`[FOREIGN]`を出力し、他の言語には使用できません。
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## ステップ3 — FFmpegのインストール
|
|
92
|
+
|
|
93
|
+
FFmpegは動画ファイルと非ネイティブ音声フォーマットに必要です。
|
|
94
|
+
|
|
95
|
+
wingetでインストール:
|
|
96
|
+
```
|
|
97
|
+
winget install ffmpeg
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
または[ffmpeg.org](https://ffmpeg.org/download.html)からダウンロードしてPATHに追加してください。
|
|
101
|
+
|
|
102
|
+
確認:
|
|
103
|
+
```
|
|
104
|
+
ffmpeg -version
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## ステップ4 — MCPサーバーのインストール
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
npm install -g whisper-windows-mcp
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## ステップ5 — Claude Desktopの設定
|
|
118
|
+
|
|
119
|
+
Claude Desktop → 設定 → 開発者 → 設定を編集。
|
|
120
|
+
|
|
121
|
+
`whisper`エントリを追加してください:
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"mcpServers": {
|
|
126
|
+
"whisper": {
|
|
127
|
+
"command": "npx",
|
|
128
|
+
"args": ["-y", "whisper-windows-mcp"],
|
|
129
|
+
"env": {
|
|
130
|
+
"WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
|
|
131
|
+
"WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
設定ファイルの場所:`C:\Users\ユーザー名\AppData\Roaming\Claude\claude_desktop_config.json`
|
|
139
|
+
|
|
140
|
+
> すべてのパスに**バックスラッシュを2つ**使用してください。
|
|
141
|
+
|
|
142
|
+
保存後、Claude Desktopを**完全に再起動**してください。設定 → 開発者で**whisper**が緑色の実行中バッジで表示されるはずです。
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## ステップ6 — セットアップの確認
|
|
147
|
+
|
|
148
|
+
Claude Desktopで以下を確認してください:
|
|
149
|
+
|
|
150
|
+
> *「whisperの設定を確認して」*
|
|
151
|
+
|
|
152
|
+
次に:
|
|
153
|
+
|
|
154
|
+
> *「システムハードウェアを確認して」*
|
|
155
|
+
|
|
156
|
+
GPUが検出されVulkan加速が有効になっていることを確認します。
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 利用可能なツール
|
|
161
|
+
|
|
162
|
+
### `transcribe_audio`
|
|
163
|
+
単一ファイルを文字起こしします。長いファイルにはブロッキング(デフォルト)またはバックグラウンドモードに対応しています。
|
|
164
|
+
|
|
165
|
+
| パラメータ | 説明 |
|
|
166
|
+
|---|---|
|
|
167
|
+
| `file_path` | ファイルへの絶対パス(必須) |
|
|
168
|
+
| `language` | 言語コード(`en`、`ja`、`es`など)または`auto`で自動検出。デフォルト:`en` |
|
|
169
|
+
| `output_format` | `text`(デフォルト)、`timestamps`、`json`、`srt` |
|
|
170
|
+
| `save_to_file` | ソースファイルの隣にtxtとして保存 |
|
|
171
|
+
| `background` | バックグラウンドジョブとして実行 — ジョブIDを即座に返します。`check_progress`で監視。10分以上のファイルに推奨。 |
|
|
172
|
+
| `threads` | CPUスレッド数の上書き |
|
|
173
|
+
| `temperature` | サンプリング温度0.0〜1.0。デフォルト0.0(決定論的)。高い値はノイズの多い音声でのハルシネーションを軽減します。 |
|
|
174
|
+
| `prompt` | 事前コンテキスト文字列 — ドメイン固有の語彙や話者名の精度を向上させます。例:`"名前:Keemstar、DramaAlert"` |
|
|
175
|
+
| `condition_on_prev_text` | セグメント間のコンテキスト条件付けを再有効化。デフォルトfalse。 |
|
|
176
|
+
| `beam_size` | ビームサーチの幅。高いほど精度向上、処理速度低下。デフォルト5。 |
|
|
177
|
+
| `best_of` | 評価する候補シーケンス数。デフォルト5。 |
|
|
178
|
+
| `gpu_device` | マルチGPUシステムのGPUデバイスインデックス。デフォルト0。 |
|
|
179
|
+
| `processors` | 並列プロセッサ数。デフォルト1。 |
|
|
180
|
+
| `word_timestamps` | タイムスタンプ付き1単語ごとのセグメント出力。クリップ位置合わせに有用。 |
|
|
181
|
+
| `max_segment_length` | セグメントの最大文字数。 |
|
|
182
|
+
| `diarize` | ステレオ話者識別 — 別々のチャンネルに話者が録音されたステレオ音声が必要。 |
|
|
183
|
+
| `vad_model` | Silero VADモデル.binへのパス。文字起こし前に無音を除去してハルシネーションを軽減します。 |
|
|
184
|
+
| `offset_t` | 開始オフセット(ミリ秒)。 |
|
|
185
|
+
| `duration` | オフセットからの処理時間(ミリ秒)。 |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### `check_progress`
|
|
190
|
+
`transcribe_audio`(background=true)で開始したバックグラウンド文字起こしジョブを監視します。
|
|
191
|
+
|
|
192
|
+
経過時間、最後に処理されたタイムスタンプ、完了時のトランスクリプト全文を返します。
|
|
193
|
+
|
|
194
|
+
| パラメータ | 説明 |
|
|
195
|
+
|---|---|
|
|
196
|
+
| `job_id` | `transcribe_audio`が返したジョブID |
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### `list_models`
|
|
201
|
+
モデルディレクトリにインストール済みのWhisperモデルファイルを一覧表示します。ファイル名、サイズ、現在アクティブかどうか、量子化状態、推奨用途を表示します。ネットワーク接続不要。
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### `download_model`
|
|
206
|
+
Hugging Faceからモデルファイルを直接モデルディレクトリにダウンロードします。モデル名(例:`large-v3-turbo`、`medium.en-q5_0`)を受け取り、ダウンロードを自動処理します。信頼されたHugging Faceネームスペースからのみダウンロードします。ダウンロード後、`switch_model`でアクティベートしてください。
|
|
207
|
+
|
|
208
|
+
| パラメータ | 説明 |
|
|
209
|
+
|---|---|
|
|
210
|
+
| `model_name` | ダウンロードするモデル名(例:`large-v3-turbo`、`large-v3-turbo-q5_0`、`medium.en-q5_0`) |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### `switch_model`
|
|
215
|
+
Claude Desktopを再起動せずに現在のセッションのアクティブモデルを切り替えます。変更はセッションスコープです — 再起動後には保存されません。永続的にするには、設定の`WHISPER_MODEL`を更新してください。
|
|
216
|
+
|
|
217
|
+
| パラメータ | 説明 |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `model_name` | モデルファイル名(例:`ggml-large-v3-turbo.bin`)または完全パス。設定済みモデルディレクトリ内の`.bin`ファイルである必要があります。 |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### `start_batch`
|
|
224
|
+
フォルダ内の未文字起こしファイルをすべて自動順次バッチ文字起こしします。時間順(短いものから)にソートし、バックグラウンドジョブとして1つずつ処理し、各出力を検証します。
|
|
225
|
+
|
|
226
|
+
| パラメータ | 説明 |
|
|
227
|
+
|---|---|
|
|
228
|
+
| `folder_path` | フォルダへのパス(必須) |
|
|
229
|
+
| `language` | 言語コード。デフォルト:`en` |
|
|
230
|
+
| `threads` | CPUスレッド数の上書き |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
### `check_batch_progress`
|
|
235
|
+
実行中のバッチを監視します。現在のファイルが完了すると自動的に次のファイルに進みます。全体の進捗、タイムスタンプ付きの現在ファイル、ETA、失敗したファイルを返します。
|
|
236
|
+
|
|
237
|
+
| パラメータ | 説明 |
|
|
238
|
+
|---|---|
|
|
239
|
+
| `batch_id` | `start_batch`が返したバッチID |
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
### `transcribe_batch`(インタラクティブ)
|
|
244
|
+
プレビューと確認を行いながら1ファイルずつ処理します。進めながらレビューしたい場合に便利です。
|
|
245
|
+
|
|
246
|
+
| パラメータ | 説明 |
|
|
247
|
+
|---|---|
|
|
248
|
+
| `folder_path` | フォルダへのパス(必須) |
|
|
249
|
+
| `file_index` | 処理するファイル(1始まり)。省略するとファイル一覧を表示。 |
|
|
250
|
+
| `language` | 言語コード。デフォルト:`en` |
|
|
251
|
+
| `recursive` | サブフォルダを含める |
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
### `generate_subtitles`
|
|
256
|
+
字幕ファイルを生成します。`language='auto'`で話されている言語を自動検出できます。`translate_to_english=true`で英語翻訳字幕ファイルも生成します。
|
|
257
|
+
|
|
258
|
+
両方をリクエストした場合、2つの.srtファイルが保存されます:
|
|
259
|
+
- `ファイル名.ja.srt` — 原語
|
|
260
|
+
- `ファイル名.en.srt` — 英語翻訳
|
|
261
|
+
|
|
262
|
+
> Whisperの組み込み翻訳は**英語へのみ**対応しています。他の言語への翻訳は、.srtファイルの内容を別途翻訳してください。
|
|
263
|
+
|
|
264
|
+
| パラメータ | 説明 |
|
|
265
|
+
|---|---|
|
|
266
|
+
| `file_path` | ファイルへのパス(必須) |
|
|
267
|
+
| `language` | 言語コードまたは`auto`で自動検出。デフォルト:`en` |
|
|
268
|
+
| `translate_to_english` | 英語翻訳.srtも生成。ソースが英語以外の場合のみ適用。 |
|
|
269
|
+
| `background` | バックグラウンドジョブとして実行。10分以上のファイルに推奨。 |
|
|
270
|
+
| `threads` | CPUスレッド数の上書き |
|
|
271
|
+
| `temperature` | サンプリング温度0.0〜1.0。デフォルト0.0。 |
|
|
272
|
+
| `prompt` | ドメイン固有の語彙や話者名のための事前コンテキスト文字列。 |
|
|
273
|
+
| `beam_size` | ビームサーチの幅。デフォルト5。 |
|
|
274
|
+
| `diarize` | ステレオ話者識別。 |
|
|
275
|
+
| `vad_model` | Silero VADモデルへのパス。 |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
### `analyze_media`
|
|
280
|
+
文字起こし前にファイルを分析します。時間、サイズ、コーデック、推定文字起こし時間(CPUとGPU)を返します。フォルダの場合、文字起こし状態付きの全ファイル一覧を表示します。
|
|
281
|
+
|
|
282
|
+
| パラメータ | 説明 |
|
|
283
|
+
|---|---|
|
|
284
|
+
| `path` | 単一ファイルまたはフォルダへのパス(必須) |
|
|
285
|
+
| `sort_by` | フォルダの場合:`duration`(デフォルト)、`name`、`size` |
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
### `check_config`
|
|
290
|
+
whisper-cli.exe、モデルファイル、FFmpegがすべてアクセス可能か確認します。問題が発生した場合はまずこれを実行してください。
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
### `check_system`
|
|
295
|
+
GPUハードウェアを検出しVulkan加速が利用可能か確認します。GPU名、VRAM、`ggml-vulkan.dll`の有無を報告し、ハードウェアに最適なモデルサイズを推奨します。
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 対応フォーマット
|
|
300
|
+
|
|
301
|
+
| 種類 | フォーマット |
|
|
302
|
+
|---|---|
|
|
303
|
+
| ネイティブ(変換不要) | `mp3`、`wav` |
|
|
304
|
+
| 動画(FFmpegで自動変換) | `mp4`、`mkv`、`avi`、`mov`、`webm`、`flv`、`wmv`、`m4v`、`ts`、`3gp` |
|
|
305
|
+
| 音声(FFmpegで自動変換) | `m4a`、`ogg`、`flac` |
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## GPU加速
|
|
310
|
+
|
|
311
|
+
ビルド済みVulkanリリースはGPU加速を自動で有効にします。AMD Radeon RX Vega 56(GCN第5世代)でテスト済み。Vulkan 1.0+をサポートするすべてのGPU(NVIDIAおよびIntel Arcを含む)で動作するはずです。
|
|
312
|
+
|
|
313
|
+
**パフォーマンス比較(medium.enモデル、約5分の音声ファイル):**
|
|
314
|
+
|
|
315
|
+
| ハードウェア | 処理時間 |
|
|
316
|
+
|---|---|
|
|
317
|
+
| CPUのみ(Ryzen 7 2700x、8スレッド) | 8〜12分 |
|
|
318
|
+
| GPU(Vega 56 via Vulkan) | 20〜40秒 |
|
|
319
|
+
|
|
320
|
+
文字起こし中のGPU使用率は通常15〜20%で、ファイル間はアイドル状態に戻ります。CPUは約15%を維持します。
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 多言語対応
|
|
325
|
+
|
|
326
|
+
Whisperは話されている言語を自動検出し、その言語で文字起こしできます。組み込みの翻訳モデルは**英語へのみ**翻訳します。
|
|
327
|
+
|
|
328
|
+
最高の多言語精度には`large-v3-turbo`モデルを使用してください。英語専用モデル(`*.en.bin`)は他の言語を検出・文字起こしできません。
|
|
329
|
+
|
|
330
|
+
**例 — 字幕付き外国語動画:**
|
|
331
|
+
1. `language=auto`と`translate_to_english=true`で字幕生成を依頼
|
|
332
|
+
2. Whisperが言語を検出し、原語SRTを生成
|
|
333
|
+
3. 2回目のパスで英語翻訳SRTを生成
|
|
334
|
+
4. VLCで「字幕」→「字幕ファイルを追加」からいずれかのファイルを読み込み
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## セキュリティ
|
|
339
|
+
|
|
340
|
+
whisper-windows-mcpはセキュリティを核心的な原則として設計されています。
|
|
341
|
+
|
|
342
|
+
**すべての処理はローカル。** 音声、トランスクリプト、ファイルパスが外部に送信されることは一切ありません。テレメトリなし。コア機能にクラウドAPIは不要。
|
|
343
|
+
|
|
344
|
+
**入力検証。** すべてのファイルパスは使用前に検証されます — UNCパス(`\\server\share`)とディレクトリトラバーサル(`..`)は拒否されます。10GBを超えるファイルはリソース枯渇を防ぐために拒否されます。
|
|
345
|
+
|
|
346
|
+
**トランスクリプトインジェクション対応。** 音声ファイルには、文字起こし時に指示のように見える内容が含まれる場合があります。Claudeの組み込み防御がこれを処理しますが、MCPサーバー自体はトランスクリプトの内容をデータとして扱い、指示として解釈しないことを知っておく価値があります。
|
|
347
|
+
|
|
348
|
+
**モデルダウンロードの制限。** `download_model`ツールは信頼された2つのHugging Faceネームスペース(`ggerganov/whisper.cpp`と`ggml-org`)からのみダウンロードします。任意のURLは拒否されます。リダイレクトはフォロー前に許可リストで検証されます。
|
|
349
|
+
|
|
350
|
+
**モデル切り替えのサンドボックス化。** `switch_model`は設定済みモデルディレクトリ内の`.bin`ファイルのみ受け付けます。そのディレクトリ外のパスは拒否されます。
|
|
351
|
+
|
|
352
|
+
**新しいネットワーク依存なし。** モデルダウンロードはNode.js組み込みの`https`を使用 — 外部HTTPライブラリはパッケージに追加されません。
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## フリープランユーザー向け設計
|
|
357
|
+
|
|
358
|
+
このツールはClaude APIとのやり取りを最小限に抑えるよう設計されています。文字起こしワークフロー全体(スキャン、分析、キュー管理、実行、検証)は、できるだけ少ないClaude操作で完了できるよう設計されています。重い処理はすべてローカルマシンで実行されます。
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## オプションの環境変数
|
|
363
|
+
|
|
364
|
+
| 変数 | 説明 |
|
|
365
|
+
|---|---|
|
|
366
|
+
| `WHISPER_CLI_PATH` | whisper-cli.exeへのパス(必須) |
|
|
367
|
+
| `WHISPER_MODEL` | モデル.binファイルへのパス(必須) |
|
|
368
|
+
| `WHISPER_THREADS` | CPUスレッド数の上書き |
|
|
369
|
+
| `FFMPEG_PATH` | ffmpegがシステムPATHにない場合のパス |
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## トラブルシューティング
|
|
374
|
+
|
|
375
|
+
詳細な解決策については[TROUBLESHOOTING.md](TROUBLESHOOTING.md)を参照してください。
|
|
376
|
+
|
|
377
|
+
クイックチェックリスト:
|
|
378
|
+
- 設定のパスに**バックスラッシュを2つ**使用している(`C:\\whisper\\...`)
|
|
379
|
+
- `whisper-cli.exe`が設定されたパスに存在する
|
|
380
|
+
- モデル`.bin`ファイルが設定されたパスに存在する
|
|
381
|
+
- FFmpegがインストールされPATHに含まれている(`ffmpeg -version`が動作する)
|
|
382
|
+
- 設定編集後にClaude Desktopを完全に再起動した
|
|
383
|
+
- 設定 → 開発者でwhisperが**実行中**(緑色バッジ)で表示されている
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## ライセンス
|
|
388
|
+
|
|
389
|
+
MIT
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## コントリビュート
|
|
394
|
+
|
|
395
|
+
プルリクエスト歓迎です。[ROADMAP.md](ROADMAP.md)で計画中の機能を確認してください。
|
|
396
|
+
|
|
397
|
+
上記以外のハードウェアでGPU加速をテストした方は、GPU型番、VRAM、モデルサイズ、確認したスループットをIssueで報告してください。
|