【Stable Audio Open】47秒×44.1kHzサウンドエフェクトを生成!

Stable-Audio-Open 47秒×44.1kHz サウンドエフェクト 生成

2024年6月5日、ついにStability AIからサウンドエフェクト用の音声生成AI「Stable Audio Open」が発表されました!

Stable Audio Openはテキストから最長47秒のオーディオを生成できる画期的なAIツールです。Stability AIといえばこれまでは「Stable Diffusion」で多くの人をAIの虜にしてきましたが、今回のStable Audio Openはミュージシャンや音楽愛好家、開発者など音楽に関わる多くの人々に新たな創造の可能性を提供してくれます。

Stable Audio Openを発表したX(旧Twitter)の投稿は23.7万回表示、1000件を超えるいいね、500件近くがブックマークされており、非常に多くの人々の関心を集めています。

この記事では、Stable Audio Openをgoogle colaboratoryで使用する方法を画像を交えて解説し、実際の使用感をお伝えします。

本記事を最後まで読むことで、google colaboratoryを使ってテキストからオーディオを生成できますので、ぜひ最後までご覧ください!

目次

Stable Audio Openの概要

Stable Audio OpenはStable Diffusionを開発した「Stability AI」が開発したテキスト to オーディオの生成AIツールです。

Stable Audio Openを使うことで、最長47秒のオーディオをテキストから生成可能で、これまで以上に楽曲作成のハードルが下がりより多くの人たちがクリエイティブな活動に参加できます。

また、Stable Audio Openはサウンドエフェクトを作成するために最適化されたモデルであり、以前発表されたStable Audioと同様の機能ではありません。

Stable Audioは44.1kHzステレオの最大3分間の音楽を生成可能なのに対して、Stable Audio Openは44.1kHzステレオの最長47秒のサウンドを生成し、音響制作に必要な要素に特化しています。

さらに、Stable Audio Openはフリーサウンドから47万件以上、フリーミュージックアーカイブから1万3000件、計48万件以上の音声データを活用してトレーニングされているため、多種多様なサウンドエフェクトを作成可能です。

音声生成AIツール

Stable Audio Openが発表されるまでにもいくつかの音声生成AIツールがリリースされています。

代表的な音声生成AIツールとして、sunoがあります。sunoはユーザーがテキスト入力した歌詞でヴォーカルまで生成してくれる音声生成AIツール。sunoを使うことで、日本語の楽曲も生成できます。

なお、音声生成AIツールsunoについて詳しく知りたい方は、下記の記事を合わせてご確認ください。

WEEL
【Suno AI】日本語で簡単に楽曲生成!使い方や料金、商用利用、V4について徹底解説 | WEEL Sunoの概要や実際に触ってみた感想、Stable Audioとの比較を紹介します。Sunoは、テキストからボーカル付きの音楽を生成でき、音楽制作に革新的な変化をもたらすサービスと...

suno以外にもUdioも音声生成AIツールで、こちらは無料で1200曲作ることができます。Udioは音質がよくヴォーカルの生っぽさを表現できるようになっており、J-popなどの日本の音楽スタイルを指定することも可能です。

Stable Audio Openのライセンス

Stable Audio OpenのライセンスはStable AI Non-Commertioal Research Community Licenseです。

基本的には商用利用不可ですが、メンバーシップに加入もしくはStability AIから商用ライセンスを取得している場合には商用利用が可能です。

また、改変や配布、私的利用についても非商用利用の範囲内で許可されています。

利用用途可否
商用利用
改変⭕️
配布⭕️
特許使用不明(記載なし)
私的使用⭕️
参考記事:https://huggingface.co/stabilityai/stable-audio-open-1.0/blob/main/LICENSE

Stable Audio Openの商用利用

Stable Audio Openを商用利用する場合には、Stability AIのメンバーシップに加入する必要があります。

Stability AIのメンバーシップは3つに分けられており、次の表の通りです。

Non-CommercialProfessionalEnterprise
費用無料20ドル/月カスタム価格
用途個人利用・研究用年間収益100万ドル未満のクリエイターおよび開発者大規模企業向け
商用利用不可
参考記事:https://stability.ai/membership

なお、Stability AIがリリースしている画像生成AIについて、詳しく知りたい方は下記の記事を合わせてご確認ください。

WEEL
Stable Diffusionをローカル環境で構築する方法!メリット・デメリットも徹底解説 | WEEL Stable Diffusionを使えば、写真のようにリアルな画像を生成したり、高画質なアニメ画像を誰でも短時間で作成できるAIサービスですが、構築する環境によって使い勝手が違う...

Stable Audio Openの使い方

ここからは実際にgoogle colaboratoryを使用して、Stable Audio Openを使用します。

Stable Audio Openを動かすのに必要な動作環境

Stable Audio Openを実装した際のgoogle colaboratoryの動作環境情報です。実装する際には、GPUを使用した方が高速なので、google colaboratoryの画面から「ランタイム」→「ランタイムのタイプを変更」→「T4 GPU」を選択しておきましょう。

■Pythonのバージョン:Python 3.8以上

■使用ディスク量:35.8GB

■システムRAMの使用量:7.3GB

■GPU RAMの使用量:12.9GB

HuggingFaceの登録

Stable Audio Openを使用するにはHuggingFaceに登録をして、トークン設定をする必要があります。

Stable Audio OpenのHuggingFaceにアクセスした際に、以下の画像のように表示されている場合にはサインアップもしくはログインをしましょう。

参考記事:https://huggingface.co/stabilityai/stable-audio-open-1.0

ログインすることで、上記赤枠がなくなり、Stable Audio Openを使うために氏名・組織名などの入力画面が表示されるのでそれらを入力することでStable Audio Openを使えます。

参考記事:https://huggingface.co/stabilityai/stable-audio-open-1.0

HuggingFaceのトークン設定

HuggingFaceにログインしたら、トークン設定を行います。

画面右上のアカウントボタンをクリックして、「Settings」を選択。

参考記事:https://huggingface.co/stabilityai/stable-audio-open-1.0

Access Tokens」をクリック。

参考記事:https://huggingface.co/settings/profile

New token」をクリックして、トークン名を入力、タイプは「read」を選択して「Generate token」をクリックすると、トークンを設定できます。

参考記事:https://huggingface.co/settings/tokens

作成されたトークンはこの時しかコピペをすることができないため、忘れずにコピペをしておきましょう。万が一コピペし忘れた場合には、新たにトークンを設定する必要があります。

参考記事:https://huggingface.co/settings/tokens

これでStable Audio Openを使用する準備ができました。次からは実際にgoogle colaboratoryで実装します。

Stable Audio Openをgoogle colaboratoryで実装

まずは必要なライブラリをインストールします。

必要ライブラリのインストールコードはこちら
# 必要なライブラリのインストール
!pip install transformers soundfile huggingface_hub
!pip install stable-audio-tools

このインストールには少し時間がかかるので、気長に待ちましょう。私が実際に実行した時には3分くらいかかりました。インストールが全て完了するとセッションの再起動を求められるので、再起動を行います。

全てのインストールが完了したら、先ほどコピペしたHuggingFaceのトークンを設定します。

HuggingFaceのトークン入力コードはこちら
from huggingface_hub import login
login()

上記のコードを実行すると、以下の画像が表示されるのでTokenと書かれているところに、ペーストします。「Add token as git credential?」のチェックは外しておいて大丈夫です。

HuggingFaceのトークン入力

これで準備完了なので、実際にサウンドエフェクトを生成します。

Stable Audio Openのコードはこちら
import torch
import torchaudio
from einops import rearrange
from stable_audio_tools import get_pretrained_model
from stable_audio_tools.inference.generation import generate_diffusion_cond

device = "cuda" if torch.cuda.is_available() else "cpu"

# Download model
model, model_config = get_pretrained_model("stabilityai/stable-audio-open-1.0")
sample_rate = model_config["sample_rate"]
sample_size = model_config["sample_size"]

model = model.to(device)

# Set up text and timing conditioning
conditioning = [{
    "prompt": "128 BPM tech house drum loop",
    "seconds_start": 0,
    "seconds_total": 30
}]

# Generate stereo audio
output = generate_diffusion_cond(
    model,
    steps=100,
    cfg_scale=7,
    conditioning=conditioning,
    sample_size=sample_size,
    sigma_min=0.3,
    sigma_max=500,
    sampler_type="dpmpp-3m-sde",
    device=device
)

# Rearrange audio batch to a single sequence
output = rearrange(output, "b d n -> d (b n)")

# Peak normalize, clip, convert to int16, and save to file
output = output.to(torch.float32).div(torch.max(torch.abs(output))).clamp(-1, 1).mul(32767).to(torch.int16).cpu()
torchaudio.save("output.wav", output, sample_rate)

今回作成したサウンドエフェクトはgoogle colaboratoryのファイルに保存されるようになっています。必要に応じてダウンロードしてください。

Stable Audio Openは多様なサウンドエフェクトを作成できるのか?

Stable Audio Openは多くのサウンドをトレーニングに使用していることから、多種多様なサウンドエフェクトを作成できます。ここでは実際にプロンプトを調整しつつ、どのようなサウンドエフェクトが作られるのかを検証します。

実行するコードはこちら
import torch
import torchaudio
from einops import rearrange
from stable_audio_tools import get_pretrained_model
from stable_audio_tools.inference.generation import generate_diffusion_cond

device = "cuda" if torch.cuda.is_available() else "cpu"

# モデルのダウンロード
model, model_config = get_pretrained_model("stabilityai/stable-audio-open-1.0")
sample_rate = model_config["sample_rate"]
sample_size = model_config["sample_size"]

model = model.to(device)

# プロンプトのリストを作成
prompts = [
    "128 BPM tech house drum loop",
    "calm ambient music with nature sounds",
    "heavy metal guitar riff",
    "ocean waves crashing",
    "birdsong in a forest",
    "sci-fi spaceship engine hum",
    "thunderstorm with rain",
]

# 各プロンプトでサウンドを生成
for i, prompt in enumerate(prompts):
    # コンディショニングの設定
    conditioning = [{
        "prompt": prompt,
        "seconds_start": 0,
        "seconds_total": 30
    }]

    # ステレオオーディオの生成
    output = generate_diffusion_cond(
        model,
        steps=100,
        cfg_scale=7,
        conditioning=conditioning,
        sample_size=sample_size,
        sigma_min=0.3,
        sigma_max=500,
        sampler_type="dpmpp-3m-sde",
        device=device
    )

    # オーディオバッチを単一シーケンスに再配置
    output = rearrange(output, "b d n -> d (b n)")

    # ピークノーマライズ、クリップ、int16に変換し、ファイルに保存
    output = output.to(torch.float32).div(torch.max(torch.abs(output))).clamp(-1, 1).mul(32767).to(torch.int16).cpu()
    file_name = f"output_{i}.wav"
    torchaudio.save(file_name, output, sample_rate)
    print(f"Generated and saved: {file_name}")

# すべてのファイルをダウンロード可能にする
from google.colab import files
for i in range(len(prompts)):
    files.download(f"output_{i}.wav")

上記のコードではプロンプトをリストとして保持しておき、for文で一気にサウンドエフェクトを作成、保存。

サウンドエフェクトの作成が完了したら、実際に聴き比べてみるとプロンプト1文でかなり変化することがわかります。

プロンプト以外にも調整できるパラメータがあり、それぞれを調整することでまた変わったサウンドエフェクトを作成可能です。

例えば、step数を変更することでより高品質のサウンドエフェクトが作成される可能性がありますが、その分生成時間がかかります。現在のstep数は100になっていますが、調整することで異なるサウンドを作成できます。

また、現在のコンディショニング強度は「cfg_scale=7」になっていますが、強度を上げたり下げたりしてすることでどのようにサウンドが変化するかを楽しんでみてください。

step数とコンディショニング強度を変更したコードはこちら
# 各プロンプトでサウンドを生成
for i, prompt in enumerate(prompts):
    # コンディショニングの設定
    conditioning = [{
        "prompt": prompt,
        "seconds_start": 0,
        "seconds_total": 30
    }]

    # ステレオオーディオの生成
    output = generate_diffusion_cond(
        model,
        steps=200,
        cfg_scale=10,
        conditioning=conditioning,
        sample_size=sample_size,
        sigma_min=0.3,
        sigma_max=500,
        sampler_type="dpmpp-3m-sde",
        device=device
    )

実際にStable Audio Openでサウンドエフェクトを作成してみましたが、プロンプトやstep数の調整などによって多種多様なサウンドを作成できることがわかりました。効果音を手早く複数作成したい場合などには、強力なAIツールになりえます。

Stable Audio Openを元に動画作成

また、Stable Audio Openを使えば全てをAIツールで完結できる動画を作成可能です。

Stable Audio Openでサウンドエフェクトを作成し、サウンドエフェクトを作成するのに使用したプロンプトに一致する画像をDALL-E3で作成します。

その次に、作成した画像をRunWay gen-2で動かして、動画編集ソフトで作成したサウンドエフェクトとRunWay gen-2で作成した画像を組み合わせることでサウンドエフェクト付きの動画を作成できます。

完成した動画はこちら

このような動画を誰でも簡単に作成できるようになるので、生成AIツールを使ったクリエイティブな活動は今後ますます盛んになりそうですね!

なお、画像生成AIツールDALL-E3について詳しく知りたい方は、下記の記事を合わせてご確認ください。

WEEL
【DALL-E 3】ChatGPTで画像生成する方法!使い方や料金、プロンプトのコツを解説 | WEEL DALL-E 3の概要や使い方、他の画像生成AIとの比較をご紹介します。DALL-E 3は、OpenAI社が開発した最新の画像生成AIで、2023年10月からChatGPTで使えるようになります。最...

まとめ

本記事では、Stable Audio Openをgoogle colaboratoryで使用する方法についてお伝えをしました。google colaboratoryを使用することで、自身のパソコンにGPUが搭載されていなくても、手軽に生成AIツールを活用できます。

これまでも楽曲制作の生成AIツールはありましたが、サウンドエフェクトに特化した生成AIツールはありませんでした。Stable Audio OpenとStable OpenやUdiosunoなどを組み合わせて使うことで、これまでにない楽曲を生成できるかもしれませんね。

ぜひStable Audio Openを使ってサウンドエフェクトを生成してみてください。

WEELの生成AIへのスタンス

ChatGPTやStable Diffusionなど使い勝手の良いAIサービスは沢山あります。そういったもの1度使ってみて、もっとこうしたい、こう言った使い方をしたいと言った方に向けてカスタマイズを勧めております。

もし、自社で生成AIを活用したいという場合は
1. 汎用的な生成AIツールを導入し、定着させる
2. 業務を生成AIに解けるタスクまで分解し、自動化する
のどちらかが良いと思います。

弊社では
1の場合、生成AIセミナーの実施や生成AIコンサルティングなどで、AI専門家による生成AI活用指導
2の場合、PoC開発やソリューション開発などで、LLMエンジニアやAIコンサルタントが御社にあったAIツールの開発を行います。

無料相談にてご相談を承っておりますので、興味がある方は以下からご連絡ください。
無料相談で話してみる

生成AIを社内で活用していきたい方へ
メルマガ登録

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、通勤時間に読めるメルマガを配信しています。

最新のAI情報を日本最速で受け取りたい方は、以下からご登録ください。

また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • 翔平

    総合病院で10年間理学療法士として勤務し、その後Pythonを独学で学びデータアナリストとして転職。趣味はキックボクシング

  • URLをコピーしました!
  • URLをコピーしました!
目次