ローカル音声認識・音声合成
最終更新
SAM Audioで録音から声や音を分離する
音を説明して入力し、対象音と残りの音声を分離します。
MetaのSAM Audioは、テキスト説明、映像手がかり、時間区間で指定した音を複雑な録音から分離するモデルです。公式例はCUDA1 GPU2で実行し、事前学習チェックポイント3のアクセス申請と認証を求めます。ボーカル除去専用ではなく、音声、音楽、効果音を含む録音から対象音を探す汎用分離ツールです。
説明した音と残りを別の音声に分ける

CUDA環境とチェックポイントアクセスを準備する
Python 3.11以降とCUDA対応GPUを用意し、公式リポジトリをインストールしてください。まずSAM AudioのHugging Faceモデルカードでチェックポイントへのアクセスを申請して承認を受けます。リポジトリをcloneし、meeting.wavをルートに置いてHugging Face CLI4でログインします。
git clone https://github.com/facebookresearch/sam-audio.git
cd sam-audio
python -m pip install .python -m pip install "huggingface_hub[cli]"
hf auth login
# Enter the token in the interactive prompt
cp /path/to/meeting.wav ./meeting.wavテキストで対象音を具体的に指定する
以下のコードをseparate.pyとして保存して実行します。指定した音声はtarget.wav、残りはresidual.wavに保存されます。meeting.wavはリポジトリのルートに置き、出力はprocessorのサンプルレートで記録します。
from sam_audio import SAMAudio, SAMAudioProcessor
import torchaudio
import torch
checkpoint = "facebook/sam-audio-large"
model = SAMAudio.from_pretrained(checkpoint).eval().cuda()
processor = SAMAudioProcessor.from_pretrained(checkpoint)
batch = processor(audios=["meeting.wav"], descriptions=["speech"]).to("cuda")
with torch.inference_mode():
result = model.separate(batch, predict_spans=False, reranking_candidates=1)
sample_rate = processor.audio_sampling_rate
torchaudio.save("target.wav", result.target[0].cpu().unsqueeze(0), sample_rate)
torchaudio.save("residual.wav", result.residual[0].cpu().unsqueeze(0), sample_rate)python separate.py対象信号と残余信号をそれぞれ確認する

汎用音源分離とボーカル除去を区別する
SAM Audioはテキスト、映像、時間区間で音声、楽器、効果音を指定する汎用分離ツールです。ボーカル除去が目的ならsinging voiceを試せますが、専用のボーカル・伴奏モデルと品質やワークフローが同じとは限りません。原音と分離結果で歪み、リバーブの残り、楽器の欠落を聞いてください。
研究用チェックポイントと利用条件を確認する
チェックポイントの承認はモデルファイルへのアクセスを許可しますが、録音内の声を分離・共有する権利までは与えません。会議や相談の録音では参加者に知らせ、組織の保存方針に従ってください。

用語の注釈
CUDA — NVIDIA GPUで汎用計算を行うソフトウェア基盤です。
本文に戻るGPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻るチェックポイント — 学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。
本文に戻るCLI — Command-Line Interfaceの略です。ターミナルにコマンドを入力してプログラムを操作する方式です。
本文に戻るプロンプト — モデルに送る入力文です。生成モデルでは作りたい結果を説明する文になり、出力の構成や内容を大きく左右します。
本文に戻る
よくある質問
- この記事で最初に確認すべきことは何ですか?
- MetaのSAM Audioは、テキスト説明、映像手がかり、時間区間で指定した音を複雑な録音から分離するモデルです。公式例はCUDA GPUで実行し、事前学習チェックポイントのアクセス申請と認証を求めます。ボーカル除去専用ではなく、音声、音楽、効果音を含む録音から対象音を探す汎用分離ツールです。
- 選ばないほうがよいのはどのような場合ですか?
- SAM Audioはテキスト、映像、時間区間で音声、楽器、効果音を指定する汎用分離ツールです。ボーカル除去が目的なら`singing voice`を試せますが、専用のボーカル・伴奏モデルと品質やワークフローが同じとは限りません。原音と分離結果で歪み、リバーブの残り、楽器の欠落を聞いてください。
