水曜日, 12月 18, 2019

SpleeterからTraktorで使えるSTEMSファイルを作る。

本書はMacで作業を行うことを前提としています。
また、著作物を二次編集することになりますので製作者様の意図を無視するような行為となりかねないことを
理解いただき、あくまで私的な範囲での使用としてください。

まずはSpleeterをインストール。
https://github.com/deezer/spleeter
また、ffmpegをインストール。
$conda install -c conda-forge ffmpeg
STEMSへの変換にはSDKにコマンドツールが有るためそれをダウンロード。
http://stemsmusic.wpengine.com/stems-is-for-developers/
以下のようにバッチファイルを作成するか、"Automatorのシェルスクリプトを実行"でアプリ化する
<>書きの部分は随時変更してください。
また、test.jsonとしているところはメタデータが必要で、NIが出しているSTEMSを作る
アプリで一度STEMSファイルを作成した際に吐き出される”StemMetadata.json"と同じものです。
中身は、各チャンネル名称や音量、フィルターのかかり具合が記載されています。
#!/bin/bash
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/opt/miniconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/opt/miniconda3/etc/profile.d/conda.sh" ]; then
# . "/opt/miniconda3/etc/profile.d/conda.sh" # commented out by conda initialize
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/opt/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
#executive spleeter
conda activate spleeter-cpu
spleeter separate -p spleeter:4stems -o output -i "$@"
#executive ni-stems
for f in "$@"
do
fpath="$f"
fname_ext="${fpath##*/}"
fname="${fname_ext%.*}"
fext="${fpath##*.}"
fdir="${fpath%/*}"
cd ~/
cp test.json output/"$fname"
# cd output/"$fname"/
ffmpeg -i "$f" ~/output/"$fname"/master.wav
<STEMSのコマンドツールを保存した場所>/ni-stem create -s ~/output/"$fname"/drums.wav ~/output/"$fname"/bass.wav ~/output/"$fname"/other.wav ~/output/"$fname"/vocals.wav -x ~/output/"$fname"/master.wav -m test.json -o "$fname"
rm -r ~/output/"$fname"
mv "$fname".m4a <出来上がったSTEMSファイルを保存したい場所>
done
バッチの場合は引数に変換したいMP3ファイルを、Automatorの場合は出来上がったアプリにドラッグアンドドロップでSTEMSファイルに変換できます。
複数ファイルも対応しています。

出来上がったファイルは正直なところあまり音質が良くないです。
チリチリ音が目立ち、ハイハットがなくなる、男性ボーカルがしばしばドラム内に残るなど、現場で使えるような代物ではないです。ただ遊び程度に作成するにはかなり面白いです。

0 件のコメント: