How we created a soundboard using ElevenLabs SFX API

Learn how ElevenLabs created SB1, an infinite soundboard powered by their text-to-sound effects AI audio model, allowing users to generate any sound on demand.

SB1

Imagine a soundboard that can generate unlimited sounds on demand. That’s exactly what we built at ElevenLabs — meet SB1, our infinite soundboard. On the surface, it looks like a typical grid of pads you trigger with clicks or keyboard shortcuts. Under the hood, it’s powered by our text-to-sound effects AI audio model. 

To use it you simply describe any sound you can think of, and SB1 will generate it. There are also some predefined default sounds, but even they can be replaced.

Od pomysłu do prototypu

Zaczęliśmy od prostego pytania: co by było, gdybyś mógł wpisać opis, taki jak „delikatne dźwięki lasu” lub „dramatyczne westchnienie publiczności” i otrzymać gotowy efekt dźwiękowy?

Tradycyjne soundboardy opierają się na statycznych bibliotekach MP3, które musisz wyszukiwać online. Nawet jeśli znajdziesz odpowiedni dźwięk, często nie jest on ‘dokładnie’ tym, czego chciałeś. Ale z generatywnym AI to już nie problem. Nie jesteś już ograniczony.

SB1 Prototype

Zanim przeszliśmy do kodu, zwróciliśmy się do Lovable, aby stworzyć podstawową wersję prototypu, który stałby się SB1. Jeszcze nie połączony z API, dał nam szansę eksperymentować z wyborami projektowymi i rozmieszczeniem przycisków, zanim nasz genialny zespół stworzył finalny interfejs i kod.

Chcieliśmy dynamicznej zawartości — dowolnego dźwięku, generowanego na bieżąco. Rdzeniem naszego rozwiązania jest ElevenLabs SFX API. API działa za jednym punktem końcowym:

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

Wysyłasz ładunek JSON z twoim promptem, liczbą wariacji, które chcesz (domyślnie cztery), i kluczem API w nagłówku Authorization.

Odpowiedź zwraca tablicę URL-i wskazujących na wygenerowane pliki WAV. Stamtąd możesz je strumieniować lub pobierać i przypisywać każdy klip do pada. Możesz nawet ustawić pętlę. Używaj opisowych promptów dla większej szczegółowości.

Kluczowe szczegóły API

  • Nagłówki:
    • Authorization: Bearer YOUR_API_KEY
    • Content-Type: application/json
  • Parametry ciała:
    • prompt (string): opis dźwięku
    • n (integer): liczba wariacji (1–10)
    • format (string, opcjonalnie): wav lub mp3 (domyślnie wav)

Przykładowe żądanie wygląda tak:

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

I otrzymasz z powrotem tablicę czterech URL-i. Zaprojektowaliśmy API tak, aby skalowało się do każdego przypadku użycia — od tworzenia soundboardów ad hoc po masowe generowanie zasobów do gier.

Budowanie interfejsu SB1

Z API na miejscu, przeszliśmy do front-endu. SB1 to aplikacja webowa zbudowana z React i Tailwind CSS. Każdy komponent pada ma dwa tryby:

  1. Preset: ładuje z zapisanej listy URL-i dźwięków
  2. Custom: generowany przez użytkownika za pomocą SFX API

Kiedy klikniesz pusty pad w trybie custom, pojawia się okno dialogowe promptu. Wpisujesz swój opis, naciskasz Generuj, a API zwraca cztery opcje. Odsłuchujesz je na miejscu, wybierasz ulubioną, a pad aktualizuje się natychmiast. Skróty klawiszowe pozwalają uruchamiać pady za pomocą klawiszy, więc możesz grać rytmy lub dźwięki na żywo.

Dodaliśmy też kontrolki pętli. Wystarczy nacisnąć przycisk pętli, dotknąć dźwięk, który chcesz zapętlić, a będzie grał, dopóki go nie zwolnisz. To sprawia, że SB1 jest przydatny nie tylko do żartów — pomyśl o maszynach perkusyjnych i ambientowych atmosferach — ale także do podcastów, dźwięków na żywo i medytacji.

Przykłady w akcji

Ambientowy pejzaż dźwiękowy

  • Lekki deszcz: "lekki deszcz kapiący na liście"
 / 
  • Silny deszcz: "silny deszcz padający na blaszany dach"
 / 
  • Fale oceanu: delikatne fale uderzające o brzeg
 / 

Wygenerowaliśmy każdy, wysyłając prompty jak „lekki deszcz kapiący na liście” i „delikatne fale uderzające o brzeg”. Następnie ustawiliśmy te pady na pętlę, tworząc tło do skupienia lub medytacji.

Maszyna perkusyjna

  • 808 kick: "super basowy 808 kick"
 / 
  • Uderzenie werbla: "mocne uderzenie werbla"
 / 
  • Otwarty talerz: "otwarty talerz dzwoniący"
 / 

Nie potrzebujesz próbek audio z biblioteki perkusyjnej. Wystarczy opisać „super basowy 808 kick” lub „mocne uderzenie werbla”, a API da ci cztery wersje do odsłuchania. Przypisaliśmy je do klawiszy A, S i D na potrzeby demonstracji na żywo.

Jeśli naprawdę chcesz przetestować model, możesz go użyć do tworzenia krótkich fragmentów głosowych w stylu postaci. Wystarczy określić postać, a następnie umieścić słowa w nawiasach.

  • Podekscytowany DJ: Podekscytowany DJ mówiący "Zaczynamy imprezę"
 / 
  • Ork na misji: Ork szorstkim głosem mówiący: "Ten pokój jest przepełniony"
 / 
  • Pieśń syreny: Nastrojowy kobiecy wokal śpiewający: "Czas iść do domu spać, impreza skończona"
 / 

Niestandardowe presety

Możesz zapisać i nazwać własne presety — na przykład „Livestream FX” z westchnieniem, śmiechem i aplauzem. Po zbudowaniu swojej tablicy, kliknij Udostępnij, aby skopiować link lub opublikować bezpośrednio w mediach społecznościowych. Każdy z linkiem załaduje twoją konfigurację SB1 i będzie mógł odtwarzać twoje wybrane dźwięki.

Wnioski dla deweloperów

  • Generowanie bezstanowe: Każde wywołanie API jest niezależne. Nie musisz zarządzać pipeline'em treningowym ani przechowywać dużych bibliotek próbek — wystarczy, że zbuforujesz URL-e, których używasz w swoim interfejsie.
  • Niska latencja: Typowy czas generowania to poniżej dwóch sekund, co wydaje się natychmiastowe podczas prezentacji funkcji.
  • Skalowalność: Możesz generować setki dźwięków równolegle, a następnie przechowywać je w swoim własnym CDN dla dużego ruchu.
  • Elastyczne formaty: WAV dla najwyższej jakości, MP3 jeśli potrzebujesz mniejszych plików.

Aby zacząć samemu, sprawdź nasze dokumenty. Znajdziesz tam przykłady kodu w JavaScript, Python i cURL, które pokazują, jak zintegrować SFX API w swoich projektach.

Co dalej?

SB1 to tylko jedna demonstracja możliwości naszego modelu efektów dźwiękowych. Badamy wtyczki dla OBS i cyfrowych stacji roboczych audio, abyś mógł generować nowe dźwięki bez opuszczania swojego oprogramowania do streamingu lub produkcji. Dopracowujemy też model, aby poprawić wydajność przy promptach związanych z muzyką — pomyśl o egzotycznych perkusjach czy teksturach syntezatorów.

Jeśli stworzysz coś fajnego, chcemy to zobaczyć. Oznacz nas w mediach społecznościowych lub podziel się linkiem do swojego presetu. Niezależnie od tego, czy jesteś streamerem, podcasterem, deweloperem gier, czy po prostu kimś, kto lubi bawić się dźwiękiem, SB1 i SFX API dają ci nieograniczoną kreatywność audio na wyciągnięcie ręki.

Wypróbuj za darmo już dziś — nie potrzebujesz biblioteki MP3.

Zobacz więcej

Impact
A man in a wheelchair performing on stage at the Improv comedy theater, decorated for Christmas with a Christmas tree.

Help someone speak again

Impact Voice Lab connects people who’ve lost their voice with volunteers who clean and prepare audio recordings to help restore it

ElevenLabs

Twórz z najwyższą jakością dźwięku AI