seed-vcが大幅なバージョンアップで動かなくなったので対処する
以前の記事は以下です。
⚙ 実戦形式:CU121 → CU126 対応のための仮想環境リセット手順(前提:CUDA 12.8)
🧱 前提条件
- WindowsマシンでCUDAドライバのバージョンは 12.8(→CUDA 12.6対応ビルドも問題なく動作可能)
- GitHub プロジェクトで
git pullを実行すると、requirements.txtに以下のような変更が確認された:
torch --pre --index-url https://download.pytorch.org/whl/nightly/cu126- これは、従来の
cu121ビルドからcu126ビルドに変更された ことを意味する - このように CUDA バージョンに依存する変更が
requirements.txtにあった場合、既存の Python 仮想環境では互換性が崩れ、動作しない可能性が高い
🔍 なぜ仮想環境を作りなおす必要があるのか?
- Python の仮想環境は、インストールされたライブラリをキャッシュしている
- 以前の仮想環境には cu121ビルド 用の
torchやtorchvisionなどがすでに入っており、それとcu126の依存ライブラリが競合する pip install -r requirements.txtを行っても、すでにある依存関係の解決に失敗し、実行時に CUDA 非対応などのエラーが出る
そのため、「仮想環境ごと削除して最初から作りなおす」ことが、最も安全で確実な対処法となる。
🧹 仮想環境の削除方法
✅ 方法1:ターミナルから削除(推奨)
rm -rf .venv※ PowerShell では次のようにも:
Remove-Item -Recurse -Force .venv✅ 方法2:GUI操作(初心者におすすめ)
- VSCodeのエクスプローラーで
.venvフォルダを右クリック → 削除 - エクスプローラー(Windows) でプロジェクトフォルダを開き
.venvフォルダを削除
→ これで、既存の環境が完全にクリアされる。
🛠 仮想環境リセット後の対応:requirements.txt の修正
💡 実戦で気づいたこと
実はこのトラブル、本物の Linux や WSL 上では発生しない可能性もあります。
というのも、以前 WSL 環境では以下のような cu121 → cu126 の変更に対して、仮想環境を作り直さなくても普通に動いた経験があります。
🤔 なぜ Windows ではうまくいかないのか?
Windows 上では仮想環境内にインストールされた PyTorch などが、CUDA バージョンと強く結びついており、pip install -r requirements.txt をそのまま使うと、
- 以前の cu121 版がキャッシュされたまま上書きされなかったり、
- 依存関係の不整合でインストールに失敗したり
- 実行時に “Torch not compiled with CUDA enabled” のようなエラーになる
という現象が起きます。
✏️ requirements.txt の修正(実践で行った内容)
そこで、仮想環境を再構築した上で、requirements.txt を以下のように修正しました。
🔧 修正内容
--extra-index-url https://download.pytorch.org/whl/nightly/cu126
# PyTorch Nightly CUDA 12.6 ビルドを使用
torch --pre
torchvision --pre
torchaudio --pre
# その他の依存パッケージ
scipy==1.13.1
librosa==0.10.2
huggingface-hub==0.28.1 # ✅ gradioと互換
# accelerate は削除(必要であれば後で追加)
munch==4.0.0
einops==0.8.0
descript-audio-codec==1.0.0
gradio==5.23.0
pydub==0.25.1
resemblyzer
jiwer==3.0.3
transformers==4.38.2
FreeSimpleGUI==5.1.1
soundfile==0.12.1
sounddevice==0.5.0
modelscope==1.18.1
funasr==1.1.5
numpy==1.26.4
hydra-core==1.3.2
pyyaml
python-dotenv
💡 なぜこの修正が必要だったのか?
✅ --extra-index-url による PyTorch Nightly の優先取得
PyTorch の CUDA 12.6 対応ビルドは pypi.org には存在せず、専用インデックスで配布されているため、次のように 明示的に PyTorch Nightly のインデックスを追加する必要があります:
--extra-index-url https://download.pytorch.org/whl/nightly/cu126
✅ torch --pre の指定
これは Nightlyビルド(開発中の最新ビルド) を有効にするための pip オプションです。
Nightly版には「まだ安定版としてリリースされていないが最新CUDA対応」のビルドが含まれます。
✅ huggingface-hub と gradio のバージョン調整
gradio==5.23.0はhuggingface-hub>=0.28.1を要求- 一方、古い
accelerateはhuggingface-hub<0.28を要求
→ 両立ができないため、accelerate を一旦除外し、gradio に合わせて huggingface-hub==0.28.1 に統一
✅ 読者に伝えたいポイント
- Windows では CUDA バージョンが絡む変更に敏感なので、仮想環境の作り直し+requirementsの調整は基本
requirements.txtのtorch系は Nightlyのインデックス明示+–pre指定が必要gradioなどのライブラリがhuggingface-hubに依存しているため、バージョン整合性が重要- WSL や Linux では環境の柔軟性が高く、再作成せず動く場合もある
🧪 CUDA 12.6対応のPyTorchを一発でインストールする方法(実践編)
仮に requirements.txt を使用せず、最小限の手順でエラーなく一発で動かしたい場合は、以下のように PyTorch系だけを先に個別にインストールするのが効果的です。
✅ 一発インストールコマンド
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu126このコマンドにより、以下が同時に実現されます:
- **Nightlyビルド(開発版)**の PyTorch を導入
- CUDA 12.6 対応バイナリを明示的に取得
requirements.txtによる依存関係の衝突を回避
🔍 成功したかどうか確認するには?
インストール後、以下のコマンドで CUDAが正しく認識されているか を確認できます:
python -c "import torch; print(torch.version.cuda); print(torch.cuda.is_available())"✅ 出力例(成功時)
12.6
True

❗ 出力例(失敗時)
None
False
この場合は、インストールされたPyTorchが CPU版である可能性が高いです。
その場合は、もう一度上記の pip install --pre コマンドで入れ直してください。
💡補足:なぜこの方法が有効なのか?
requirements.txtに他のパッケージと一緒にtorchを入れると、依存解決の過程で意図しないバージョンが入ることがある- とくに
torch==2.4.0のように明示されていた場合、PyPI の CPU版が選ばれてしまうことが多い - それを避けるには、CUDA対応PyTorchだけを個別に先に入れてしまうのが確実
✍️ これが重要だった
実際の現場では、
requirements.txtだけで完結しないケースも多くあります。
そのときは、PyTorchだけを先にNightly + CUDA対応で入れておくというワークフローを試してみてください。
安定して再現性のある環境構築が可能になります。
🌐 Web UI の起動と GUI 操作
仮想環境と PyTorch のインストールが成功し、requirements.txt の依存関係も整ったら、いよいよ実行です。
以下のコマンドを実行すると、ブラウザ上でGUI操作が可能なWebインターフェースが起動します。
✅ V2モデル(最新・多機能版)の起動方法
python app_vc_v2.py実行後、ターミナルに次のような表示が出ます:
* Running on local URL: http://127.0.0.1:7860
→ このURL(http://127.0.0.1:7860)をブラウザで開くと、GUIが表示され、音声ファイルのドラッグ&ドロップやパラメータ調整などが可能になります。

🤔 なぜV2を選んだのか?
公式の説明では、V2モデル(app_vc_v2.py)は以下のような特徴を持っています:
- 話者の特徴をより自然に匿名化(anonymization)
- アクセントや話し方の変換にも対応
- ARモデルによるより高精度な変換
- 推論精度をコントロールできる豊富なパラメータ(例:
--similarity-cfg-rate、--intelligibility-cfg-rateなど)
筆者は「より高機能であろう」と考えてV2を選びましたが、実際に試してみると公式の app.py や app_vc.py よりも やや実装が荒い と感じる部分もありました(エラーが出たり、設定が少なかったり)。
とはいえ、ゼロショット変換や匿名化機能など、先進的な機能は試す価値があります。
✅ GUIでの実践的な使い方(軽く紹介)
GUI上では以下のような操作が可能です:
| 操作 | 説明 |
|---|---|
Source Audio に音声ファイルをアップロード | 変換元となる音声 |
Reference Audio に別の声の音声をアップロード | 目標とする声の特徴を抽出するため |
| パラメータを変更 | 声質の変化度、滑らかさ、音程保持などが調整可能 |
| 再生 or 変換ボタンを押す | 推論が走り、変換された音声が生成される |
CUDA 13 に上げても問題なく動いた理由と確認ポイント
結論から言うと、CUDA 13 の新しいドライバは、CUDA 12 系でビルドされたバイナリ(例:PyTorch の cu126 ホイール)を後方互換で動かせるため、既存の Seed-VC 環境はそのまま動作しました。これは NVIDIA の標準的な互換性ポリシー(「新しいドライバは古い CUDA でビルドされた実行物を動かせる」)に沿った挙動です。
実際、私の環境では ドライバのみ CUDA 13 へ更新し、ユーザーランド(Python 仮想環境内)の PyTorch は cu126(CUDA 12.6 向け)を維持したままでも動作しました。つまり、「ドライバ=13/PyTorch=12.6」の“ミックス”構成で問題なし、ということです。
仕組みの要点
- CUDA ドライバは後方互換:新しいドライバは、古い CUDA でビルドされたアプリ/ライブラリを実行できます。
- ユーザーランドは据え置きでOK:PyTorch 側を cu13x に入れ替えなくても、cu126 のままで初期化・推論が通ります(PTX JIT/互換レイヤで吸収)。
- 表示の見え方に注意:
torch.version.cudaは **ビルド対象(例:12.6)**を返すため、ドライバが 13 でも “12.6” と表示されます。ここは仕様どおりで異常ではありません。
私の確認手順(抜粋)
- GPU ドライバ更新(CUDA 13 対応版へ)。
既存の仮想環境は触らず据え置き。 - PyTorch の CUDA 認識テスト
python -c "import torch; print(torch.version.cuda); print(torch.cuda.is_available())"期待される出力例:12.6 True1 行目は「PyTorch が 12.6 用ホイールでビルドされている」ことを示します。2 行目がTrueなら、CUDA 13 ドライバ下でも GPU を正しく掴めています。 - Seed-VC の起動確認
既存手順どおりに Web UI/CLI を起動し、短い音声で推論テスト。問題なく変換できれば OK。
いつ“入れ替え”が必要になるか
- cu13x 向けの公式(または Nightly)ビルドが出揃い、かつ「CUDA 13 固有の最適化を使いたい」場合は、その時点で PyTorch を入れ替える価値があります。
- その際は、これまでと同様に 専用インデックスを明示してインストールするのが安全です(cu126 のときと同じ考え方)。私は cu126 への切替で
--index-url/--preを使う運用にしており、依存衝突を避けるためにまず PyTorch 系だけを個別インストール→その後その他パッケージ、という順序を推奨しています。
補足:Windows では仮想環境の作り直しが安定でした(cu121→cu126 の移行時点)。WSL/Linux は据え置きで通るケースもありましたが、Windows は依存のキャッシュ衝突でコケやすかったため、環境リセット+
requirements.txt調整が確実でした。今回 CUDA 13 ドライバ化でも同様に、「まずは据え置きで動くか確認し、ダメなら venv を作り直す」方針が安全です。
最低限のチェックリスト
nvidia-smiでドライバが CUDA 13 世代に更新されているtorch.version.cudaが 12.x(例:12.6)でもtorch.cuda.is_available()が True- Seed-VC の推論が実データで通る(短尺音声で可)
- 問題があれば venv を作り直し → まず PyTorch 系のみ個別インストール → その後に他依存を入れる(従来運用)



