コンテンツにスキップ

ElevenLabs SFX APIを使ったサウンドボードの作り方

ElevenLabsがどのようにして、テキストからサウンドエフェクトを生成するAIオーディオモデルを活用し、ユーザーが好きな音を無限に作れるサウンドボードSB1を開発したのかをご紹介します。

SB1

好きなタイミングで無限に音を作れるサウンドボードを想像してみてください。それがElevenLabsが開発したSB1です。 無限サウンドボード。見た目はよくあるパッドが並んだグリッドで、クリックやキーボードショートカットで音を鳴らします。でも中身は、私たちの テキストからサウンドエフェクトを生成する AIオーディオモデルで動いています。

使い方はとても簡単。思いついた音をテキストで入力するだけで、SB1がその音を生成します。あらかじめ用意されたデフォルト音もありますが、それも自由に差し替え可能です。

アイデアからプロトタイプまで

最初に考えたのはシンプルな疑問でした。「やわらかな森の環境音」や「観客のどよめき」のように説明文を入力して、すぐに使えるサウンドエフェクトが手に入ったらどうだろう?

従来のサウンドボードは、ネットで探してきたMP3ライブラリに頼るしかありませんでした。欲しい音が見つかっても、理想通りとは限りません。でも生成AIなら、もうその制限はありません。好きな音を自由に作れます。

SB1 Prototype

コードを書き始める前に、まずは Lovable を使ってSB1の基本的なプロトタイプを作りました。まだAPIとはつながっていませんが、デザインやボタン配置を試しながら、最終的なUIやコードを開発チームが仕上げる前の実験ができました。

私たちが目指したのは、どんな音でもその場で生成できるダイナミックなコンテンツです。その中核となるのがElevenLabs SFX APIです。APIはひとつのエンドポイントで動作します:

1POST https://api.elevenlabs.io/v1/sound-generation

プロンプト、バリエーション数(デフォルトは4つ)、APIキー(Authorizationヘッダー)を含むJSONペイロードを送信します。

レスポンスでは、生成されたWAVファイルのURL配列が返ってきます。そこからストリーミングやダウンロードができ、各クリップをパッドに割り当てられます。ループ再生も設定可能です。より細かい音が欲しい場合は、説明文を工夫してください。

Key API details

  • Headers:
    • Authorization: Bearer YOUR_API_KEY
    • Content-Type: application/json
  • Body parameters:
    • prompt (string): description of the sound
    • n (integer): number of variations (1–10)
    • format (string, optional): wav or mp3 (defaults to wav)

リクエスト例は以下の通りです:

1{
2 "prompt": "rain hitting the roof of a tent",
3 "n": 4,
4 "format": "wav"
5}
6

返ってくるのは4つのURLの配列です。APIはどんな用途にもスケールできるよう設計されています。たとえば、サウンドボードの即席作成から、ゲーム用素材の大量生成まで対応可能です。

SB1インターフェースの構築

APIができたら、次はフロントエンドです。SB1はReactとTailwind CSSで作られたWebアプリです。各パッドコンポーネントには2つのモードがあります:

  1. プリセット:保存済みのサウンドURLセットから読み込み
  2. カスタム:SFX APIでユーザーが生成

カスタムモードで空のパッドをクリックすると、プロンプト入力ダイアログが表示されます。説明文を入力して生成を押すと、APIが4つの候補を返します。その場で試聴して好きなものを選ぶと、すぐにパッドが更新されます。キーボード操作にも対応しているので、リズムや効果音をライブで鳴らすこともできます。

ループ再生機能も追加しました。ループボタンを押して、ループしたい音をタップすれば、離すまで再生し続けます。SB1はジョーク用途だけでなく、ドラムマシンや環境音、ポッドキャスト、配信の効果音、瞑想ガイドなどにも活用できます。

実際の使い方例

環境音サウンドスケープ

  • 小雨:「葉に滴る小雨」
 / 
  • 大雨:「トタン屋根に降る激しい雨」
 / 
  • 波の音:「やわらかい波が岸に打ち寄せる音」
 / 

「葉に滴る小雨」や「やわらかい波が岸に打ち寄せる音」などのプロンプトを送信して、それぞれの音を生成しました。パッドをループ再生に設定すれば、集中や瞑想のためのBGMも簡単に作れます。

ドラムマシン

  • 808キック:「重低音の808キック」
 / 
  • スネア:「タイトなスネアのスナップ」
 / 
  • オープンシンバル:「オープンシンバルの響き」
 / 

ドラムライブラリのサンプルは不要です。「重低音の808キック」や「タイトなスネアのスナップ」と説明するだけで、APIが4つのバリエーションを返してくれます。A、S、Dキーに割り当てて、ライブパフォーマンスも可能です。

モデルの可能性をさらに広げたい場合は、キャラクターの声で短いボイスも作れます。キャラクターを指定して、セリフをカッコ内に入力するだけです。

  • 盛り上げDJ: 盛り上げDJが「パーティーを始めよう!」と言う音声
 / 
  • 任務中のオーク: しわがれ声のオークが「この部屋は定員オーバーだ」と言う音声
 / 
  • セイレーンの歌: 幽玄な女性ボーカルが「もう寝る時間、パーティーはおしまい」と歌う音声
 / 

カスタムプリセット

自分だけのプリセットも保存・命名できます。たとえば「配信FX」として、どよめき・笑い声・拍手などをまとめておけます。ボードが完成したら、共有をクリックしてリンクをコピーしたり、SNSに直接投稿できます。リンクを知っている人なら誰でも、あなたのSB1設定を読み込んで音を再生できます。

開発者向けポイント

  • ステートレス生成:APIコールはすべて独立しています。トレーニングパイプラインや大容量サンプルライブラリの管理は不要。UIで使うURLだけキャッシュすればOKです。
  • 低レイテンシ:通常の生成時間は2秒未満。デモでもほぼリアルタイムの感覚です。
  • スケーラブル:数百の音を並列生成して、自分のCDNに保存すれば大規模アクセスにも対応できます。
  • 柔軟なフォーマット:高音質ならWAV、ファイルサイズ重視ならMP3が選べます。

自分でも始めてみたい方は、ドキュメントをご覧ください。JavaScript、Python、cURLのサンプルコードでSFX APIの組み込み方法を紹介しています。

今後の展開

SB1は、私たちのサウンドエフェクトモデルの一例にすぎません。OBSやDAW向けのプラグイン開発も進めており、配信や制作ソフトから直接新しい音を生成できるようにする予定です。音楽系プロンプト(民族パーカッションやシンセ音色など)への対応もさらに強化中です。

面白いものを作ったら、ぜひ見せてください。SNSでタグ付けしたり、プリセットリンクをシェアしてください。配信者、ポッドキャスター、ゲーム開発者、音遊びが好きな方まで、SB1とSFX APIで無限のオーディオクリエイティビティを体験できます。

まずは無料でお試しください — MP3ライブラリは不要です。

ElevenLabsチームによる記事をもっと見る

Company
Eleven Album on a multicoloured background

Introducing The Eleven Album

A landmark musical release created in collaboration with world-class artists and powered by Eleven Music.

ElevenLabs

最高品質のAIオーディオで制作を

無料で始める

すでにアカウントをお持ちですか? ログイン