LoginSignup
3
3

More than 1 year has passed since last update.

"WSLでMagentaを使ったピアノ耳コピの自動化"をDockerfileに落とし込んだ

Last updated at Posted at 2022-08-03

元ネタ

この内容をDockerfileに落とし込んで、簡単に使えるようにしてみました。

ソースコード

github上に置いてあります。

使い方

Dockerfileを配置したディレクトリに移動して、以下のコマンドでビルドします。

$ docker build -t magenta ./

ビルドが終わったら、docker runで実行できます。

$ docker run -v [任意のフルパス]:/opt/of magenta [任意の.wavファイル名]

.wavファイルをホストとコンテナで共有するために、VOLUMEを使います。VOLUMEにバインドされるコンテナ側のディレクトリは"/opt/of"固定です。

任意のフルパスはVOLUMEの実体となり、その中に.wavファイルを配置して解析させます。任意の.wavファイル名を省略した場合、デフォルトでmagenta.wavを参照します。

  • 例) 任意のフルパスを~/docker/magenta/ofにする

    あらかじめ、~/docker/magenta/of/wavを作成しておき、magenta.wavを配置して、以下のコマンドを実行します。

      $ docker run -v ~/docker/magenta/of:/opt/of magenta
    

    必要に応じて、/opt/of/train上にモデルデータがダウンロードされ、解析を開始、~/docker/magenta/wav上にmagenta.wav.midiが生成されます。

  • 例) 任意の.wavファイル名を指定する

    任意のフルパスは~/docker/magenta/ofとして、任意の.wavファイル名を指定します。あらかじめ、~/docker/magenta/of/wav上にexample.wavファイルを配置します。

        $ docker run -v ~/docker/magenta/wav:/opt/wav magenta example.wav
    

    解析が開始され、~/docker/magenta/wav上にexample.wav.midiが生成されます。

イメージ

Docker Hubにアップしてあります。このイメージを使えば、ビルドは必要ありません。さらに導入が簡単になります。

イメージの使い方

基本的には同じです。データの受け渡し用にVOLUMEを設定し、任意のパスに関連付けます。

以下の例では~docker/magenta/ofがVOLUMEの実体になるので、~docker/magenta/of/wavを作り、その中にmagent.wavを配置します。

$ docker run -v ~/docker/magenta/of:/opt/of hisashisatake/onsets-frames:python3.7-bullseye-slim
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3