0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MAGNeTで音楽を生成する

Posted at

はじめに

MAGNeTはメタ社が開発したテキストから音楽を生成するモデルで、モデルファイルとコードが公開されているため、ローカルで実行することが出来ます。

セットアップ

本家のGitHubにWebUIのデモが含まれているので、それを使用します。

まず、以下の様にDockerfileとdocker-compose.ymlを作成します。

  • Dockerfile

  • FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
    
    RUN apt update && \
        apt install -y --no-install-recommends git ffmpeg && \
        apt clean && \
        rm -rf /var/lib/apt/lists/*
    
    RUN git clone https://github.com/facebookresearch/audiocraft.git .
    RUN pip install -e .
    
    EXPOSE 7860
    ENTRYPOINT ["python3"]
    CMD ["demos/magnet_app.py", "--listen", "0.0.0.0"]
    
  • docker-compose.yml

  • services:
      audiocraft:
        build: .
        image: audiocraft
        ports:
          - 7860:7860
        volumes:
          - $HOME/.cache:/root/.cache
        deploy:
          resources:
            reservations:
              devices:
                - driver: nvidia
                  count: all
                  capabilities: [gpu]
    

両ファイルを同一フォルダに置いて、以下を実行するとGUIが立ち上がります。

docker compose up -d

終了させる時には、以下を実行します

docker compose down

音楽生成

http://localhost:7860/ にアクセスするとMAGNeTのWebUIが開きます。

magnet_webui

プロンプトを入力し、モデルを選択して、Submitを押すと生成が始まります。

magnet_webui

モデルは6種類の中から選択できます。

モデル名 モデルサイズ 生成される音楽の長さ 生成対象
magnet-small-10secs 300M 10秒 音楽
magnet-medium-10sec 1.5B 10秒 音楽
magnet-small-30secs 300M 10秒 音楽
magnet-medium-30secs 1.5B 30秒 音楽
audio-magnet-small 300M - 効果音
audio-magnet-medium 1.5B - 効果音

プロンプトとモデルは下部のExamplesから選択すこともできます。

Submitを押して、暫く待つと生成された音楽が右側に現れ、再生やダウンロードができます。
プロンプトに従って雰囲気のある音楽が生成されました。

まとめ

MAGNeTで音楽を生成してみました。プロントに従ってそれっぽい音楽が生成できることを確認しました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?