4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Google Colab, Streamlit, Demucsを使って音源分離する簡易アプリ

Last updated at Posted at 2023-03-26

はじめに

Google Colab上で曲の音源分離を試していたのですが、分離された音源を簡単に聴けるUIが欲しいと感じましたので、Google Colab上で動かすStreamlitとDemucsという音源分離ライブラリを使った簡易アプリを作ってみました。

何ができるか

YouTubeの音源をURLで指定し、その音源をDemucsという音源分離ライブラリを使ってbass, vocals, drums, other の4種類に音源分離します。Streamlit でアプリ化することで、曲を指定して音源分離された音源を聴くこととダウンロードすることが可能です。
また、一度音源分離を実行した曲はColabのランタイムが続いている限り再生可能です。

※ 音源分離の実行時間は、音源の長さに比例するようです

プレビュー
スクリーンショット 2023-03-26 15.23.56.png

ノートブック

使い方(上から順に実行するだけです)

➀ 最初にランタイムを GPU に変更 しておきます。
②. 必要なライブラリをダウンロードします

!python3 -m pip install -U git+https://github.com/facebookresearch/demucs#egg=demucs
!pip install streamlit
!pip install yt-dlp

app.py を作成というセルを実行すると、app.py というファイルが作成されソースコードが書き込まれます。

④ 最後のセルを実行します

!streamlit run app.py & sleep 3 && npx localtunnel --port 8501
  • 標準出力された3番目の your url is: に続くURLにアクセス
    スクリーンショット 2023-07-14 8.45.48.png

スクリーンショット 2023-07-14 8.45.20.png

  • localtunnelは一時的なウェブサイトや開発サーバーの公開に使用されるツールですが、悪意のある第三者によるフィッシングサイトの作成などに使われることがあるため、注意喚起のページが表示されます。
  • 上記の出力された 「External URL」 内の IPアドレス(XX.XX.XX.XX) を「Endpoint IP」に入力すると、Streamlitのアプリにリダイレクトされます。(グローバルIPアドレスの入力が必要な理由は、正規のウェブサイトであることを確認し、フィッシングサイトへの誤ったアクセスを防ぐため)

参考

4
1
2

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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?