金曜日, 5月 01, 2020

2chのSTEMSを作ってみる。

インストと、アカペラだけの2chのSTEMを作ってみた。

やり方としては、FFMPEGを使い、入力する音源のうち一つをボリューム-120dBくらいに下げて補う方法。
STEMSファイルは基本的には5つの音楽データが必要。
私の使い方で書くと・・・

Master:原曲、Traktor以外のアプリ上で再生するときに流れる曲
Vocals:アカペラ音源
Drums:ドラム音源
Bass:バス音源
Other、Rhythms:ピアノやシンセサイザーなどのリズム音源

この内、Masterは必ず必要で、それ以外の4つはサンプリング周波数や曲の長さが完全に一致さえしていれば何でもいい。そうなると以下のようなイメージになる。

Master:原曲、Traktor以外のアプリ上で再生するときに流れる曲
Vocals:アカペラ音源
Inst:インスト音源
None1:無音
None2:無音

すでにインストとアカペラが揃っていて、Ableton Liveなどでマスターリングまで完了していれば、以下のように一気につなぐことができる。

ここではインスト音源をinst.wav、アカペラ音源をvocals.wav、無音音源をnone1.wav、none2.wav、マスターをmaster.wavとする。
上記にて、JSONファイル内のチャンネル名称を変更する。

続いて、無音音源の作り方は以下。この方法だと、バイナリデータ上は値がすべて”00”になっているので無音状態を作成できている。
>ffmpeg -i inst.wav -af volume=-120dB none1.wav
>cp none.wav none2.wav

マスターファイルの作り方は以下。
>ffmpeg -i inst.wav -i vocals.wav -filter_complex amix=inputs=2:duration=longest master.wav

これらをSTEMSに圧縮する。
>ni-stem create -s vocals.wav inst.wav none1.wav none2.wav -x master.wav -m ”設定ファイル”.json -o "アウトプット名”

ファイルサイズは、無音と言ってもデータとしては存在しているため、通常通りに作成するのと同じになる。
以上。