Macで曲からボーカルを除去する
Macにある音楽録音から歌の練習用の伴奏を作ります。無料の speech CLIがボーカル、ドラム、ベース、その他の楽器を分離し、FFmpegが伴奏側の3つをミックスします。まず短いサンプルを試し、聴き比べてから自分の曲を処理してください。
1. ツールをインストール
macOS 15以降のApple Silicon Macと Homebrew が必要です。ターミナルでインストールコマンドを実行します。Mac内で処理するため、Soniqoアカウントや音声のアップロードは不要です。
brew install speech ffmpeg
初回の分離ではHugging FaceからHTDemucsモデルをダウンロードするため、インターネット接続と時間が必要です。モデルはMacにキャッシュされ、以後はオフラインで利用できます。
2. 音楽サンプルを試す
入力と結果をまとめる新しい作業フォルダを使います。ステレオWAVをダウンロードするか、先に下の音声を聴いてください。同じ録音なので、各出力に何が残るか比較できます。
curl -fL https://soniqo.audio/audio/samples/music/sample.wav -o sample.wav
サンプルWAVをダウンロード · サンプルの出典とライセンス
Core ’ngrato (1995) · Singing Sergeants, United States Air Force Band. 下のコマンドによる出力例であり、分離品質のベンチマークではありません。
3. 録音を分離
sample.wav のあるフォルダで実行します。stems に vocals.wav、drums.wav、bass.wav、other.wav が保存されます。元の録音はそのまま残ります。
speech separate sample.wav --engine htdemucs --htdemucs-precision int8 --output-dir stems
4. 伴奏を保存
ボーカルを含めずに、ドラム、ベース、その他をミックスします。このFFmpegコマンドはピークを制御するリミッターを適用し、instrumental.wav を保存します。元のファイルから推定ボーカルを引くのではなく、分離した3つを合成します。
ffmpeg -i stems/drums.wav -i stems/bass.wav -i stems/other.wav -filter_complex 'amix=inputs=3:normalize=0,alimiter=limit=0.98:level=false:latency=true' -c:a pcm_s16le instrumental.wav
instrumental.wav で伴奏を、stems/vocals.wav でボーカルを確認します。声の残り、楽器の欠落、アタック音の変化に注意してください。密なミックス、残響、音の重なりで分離由来のノイズが残ることがあります。
自分の曲を使う
入力を自分のステレオWAVのパスに置き換えます。空白を含む名前は引用符で囲み、曲ごとに異なる出力フォルダを使います。この手順は44.1 kHzのステレオWAV用です。ほかの形式は先にWAVに変換してください。
speech separate "/path/to/Your Song.wav" --engine htdemucs --htdemucs-precision int8 --output-dir my-song-stems
伴奏を作る場合は、FFmpegコマンドの stems をその曲の出力フォルダに置き換えます。
結果について
短いサンプルは3分の曲やスマートフォンの性能測定ではありません。処理時間とメモリ使用量は曲とモデルで変わります。短い区間から始め、原本を残し、練習や編集に使う前に耳で確認してください。