Stable Audio 3で効果音生成エディタをつくる

公開 更新

環境:Claude Code (Opus 4.8)

左に効果音のプロンプトを書くと、右のリストに生成された結果が保存される

コンテンツ制作をしていると、プレゼンの資料や動画、アプリ開発などで「ちょうどいい効果音」が必要になる場面が少なくないです。音の素材を自前で用意するのは難しく、自作するには専門知識が必要だったり、目的の音を探すためにフリー素材サイトを延々と巡回したりと、なかなか手間がかかる作業でした。

少し前にオープンウェイトのモデル「Stable Audio 3」がリリースされたので、Claude Codeで効果音生成エディタをつくらせてみました。

正式名Stable Audio 3
公開日2026年5月20日
開発会社Stability AI
モデルSmall SFX(0.46B、2.1GB)/ Small(0.46B、2.1GB)/ Medium(9.73GB)/ Large(2.7B、APIのみ)
ライセンスStability AI Community License

4モデルのうち重みが公開されているのはSmall SFX・Small・Mediumの3つで、Largeはオープンではなく、APIからしか使えない。Small SFXは効果音専用、Smallは音楽用で2分まで、Mediumは汎用で6分を超える長さまで生成できる。Mediumのパラメータ数は資料によって割れていて、Stability AIの発表を伝える記事では1.4B、Hugging Faceのモデルカードでは2Bとなっている(テキストエンコーダを含めるかの差だと思われる)。

ライセンスは生成した音を商用利用してよいが、年商100万ドルを超える組織はEnterprise Licenseが必要になる。学習データはライセンス済みのものとクリエイティブ・コモンズに限っている、というのがStability AIの説明です。

stabilityai/stable-audio-3-medium · Hugging Facehuggingface.co

ComfyUIでも利用できますが、生成した音をまとめるマネージャが欲しかったのでエディタを作成することにしました。

エディタ

プロンプト(テキスト)を入力するだけで、簡単にオリジナルの効果音を生成することができます。

「gun shot」で生成した結果。8秒の効果音が1件あたり1.1〜1.2秒で出る(RTX PRO 5000、Medium、8 steps)

作りは、Pythonの生成サーバー(FastAPI + stable-audio-tools)の上にElectron + Reactの画面を載せたものである。GPUは1枚なので生成はキューに積んで1件ずつ処理する。できた音は画面上で再生でき、WAVで書き出す。書き出し先のフォルダは設定で変えられる。画面左の設定は4つで、Length(秒数)、Steps(既定8)、CFG(既定1.0)、Seed(-1でランダム)。サンプラーはpingpong、CUDAではfp16で動かしている。

銃声なら「gun shot」、台風の音なら「wind storm」です。

gunshot:

wind storm:

warm electronic chime:

プロンプト支援

Stable Audioのプロンプトは英語が前提である。そこで小さなローカルLLM(Qwen3.5-2B)を一緒に載せて、日本語の思いつきを英語のプロンプトに直させている。左上の「Suggest」を押すと、どの言語で書いた曖昧な一文でも、Stable Audio向けの簡潔な英語1行に書き換える。「木の扉がゆっくり軋む」と書けば「Heavy wooden door creaking open slowly」のようになる。

同じLLMに、生成した音のタイトルも付けさせている。説明文から2〜4語の英語のタイトルを作る仕事で、スクリーンショットの「Warm Electronic Chime」「Gun Fire」はこれが付けたものである。画面右上の「LLM」「Stable Audio」の2つの印は、この2つのモデルが読み込めているかを表している。

LLMはAPIサーバーを経由せず、transformersで直接メモリに読み込んでいる。初回に呼ばれたときに読み込み、以後は常駐する。

導入で躓くところ

Hugging Faceのリポジトリは**gated(ライセンス同意が必要)**なので、モデルは手で持ってくる。model.safetensorsmodel_config.jsont5gemma/フォルダをダウンロードして、models/stable-audio-3-medium/に置く。テキストエンコーダのt5gemma-b-b-ul2は3モデルで共有していて、ローカルのフォルダを指すように設定を差し替えているので、一度置けばオフラインで動く。

Pythonの実行環境はruntime/に同梱してあり、PyTorchはcu128ビルドを使っている。start.batで起動し、開発時はdev.batでホットリロードとDevToolsが開く。

オープンウェイトの音声生成モデルが登場したことで、「欲しい音を自前で作れる時代」になったと実感しています。

現時点のクオリティとしては、まだ少しノイズが入るなど「もう一歩」と感じる部分もありますが、オープンモデルの進化スピードも早いため、今後のアップデートでさらにクオリティが向上していくと思います。

リポジトリ

試作段階のソースコードをGitHubに公開しました。アプリのコードはMITライセンス、モデルの重みはStability AI Community Licenseに従います。

GitHub - ysm446/sound-effect-generatorgithub.com

※あくまで参考用(サンプル)としてご確認ください。

← 記事一覧へ