
Jak stworzyliśmy soundboard z użyciem ElevenLabs SFX API
Zobacz, jak w ElevenLabs powstał SB1 — nieskończony soundboard napędzany naszym modelem AI do generowania efektów dźwiękowych z tekstu. Pozwala tworzyć dowolny dźwięk na żądanie.
Wyobraź sobie soundboard, który generuje nieskończoną liczbę dźwięków na żądanie. Właśnie to zrobiliśmy w ElevenLabs — poznaj SB1, nasz nieskończony soundboard. Na pierwszy rzut oka wygląda jak zwykła siatka padów, które uruchamiasz kliknięciem lub skrótem klawiszowym. W środku działa nasz model AI do generowania efektów dźwiękowych z tekstu.
Wystarczy, że opiszesz dowolny dźwięk, a SB1 go wygeneruje. Są też domyślne dźwięki, ale możesz je zamienić na własne.
Od pomysłu do prototypu
Zaczęliśmy od prostego pytania: co jeśli możesz wpisać opis, na przykład „delikatne leśne dźwięki w tle” albo „dramatyczny okrzyk publiczności” i od razu dostać gotowy efekt dźwiękowy?
Tradycyjne soundboardy korzystają ze statycznych bibliotek MP3, których trzeba szukać w internecie. Nawet jeśli znajdziesz odpowiedni dźwięk, często nie jest dokładnie taki, jakiego chcesz. Dzięki generatywnej AI to już nie problem. Nie masz ograniczeń.

Zanim zabraliśmy się za kod, poprosiliśmy Sympatyczny o stworzenie prostego prototypu SB1. Nie był jeszcze połączony z API, ale pozwolił nam przetestować układ i rozmieszczenie przycisków, zanim nasz zespół przygotował finalny interfejs i kod.
Chcieliśmy dynamicznych treści — dowolny dźwięk generowany na bieżąco. Sercem naszego rozwiązania jest ElevenLabs SFX API. API działa pod jednym endpointem:
| 1 | POST https://api.elevenlabs.io/v1/sound-generation |
Wysyłasz JSON z promptem, liczbą wariantów (domyślnie cztery) i kluczem API w nagłówku Authorization.
W odpowiedzi dostajesz tablicę URL-i do wygenerowanych plików WAV. Możesz je od razu odtwarzać, pobierać i przypisywać do padów. Możesz też ustawić zapętlanie. Im dokładniejszy opis, tym lepszy efekt.
Key API details
- Endpoint:
/v1/sound-effects/generate - Method: POST
- Headers:
Authorization: Bearer YOUR_API_KEYContent-Type: application/json
- Body parameters:
prompt(string): description of the soundn(integer): number of variations (1–10)format(string, optional): wav or mp3 (defaults to wav)
Przykładowe zapytanie wygląda tak:
| 1 | { |
| 2 | "prompt": "rain hitting the roof of a tent", |
| 3 | "n": 4, |
| 4 | "format": "wav" |
| 5 | } |
| 6 |
W odpowiedzi dostaniesz cztery URL-e. API zaprojektowaliśmy tak, by działało w każdej sytuacji — od szybkiego tworzenia soundboardu po masowe generowanie dźwięków do gier.
Budowa interfejsu SB1
Gdy API było gotowe, zajęliśmy się front-endem. SB1 to webowa aplikacja zbudowana w React i Tailwind CSS. Każdy pad ma dwa tryby:
- Gotowy: ładuje zapisane URL-e dźwięków
- Własny: generowany przez użytkownika przez SFX API
Klikając pusty pad w trybie custom, pojawia się okno promptu. Wpisujesz opis, klikasz Generuj, a API zwraca cztery propozycje. Odsłuchujesz je od razu, wybierasz ulubioną i pad się aktualizuje. Skróty klawiszowe pozwalają uruchamiać pady z klawiatury — możesz grać rytmy lub efekty na żywo.
Dodaliśmy też kontrolki do zapętlania. Wystarczy kliknąć przycisk loop, wybrać dźwięk i będzie grał, dopóki go nie wyłączysz. Dzięki temu SB1 sprawdza się nie tylko do żartów — pomyśl o maszynie perkusyjnej, ambientach, ale też do podcastów, streamów czy medytacji.
Przykłady w akcji
Ambientowy pejzaż dźwiękowy
- Lekki deszcz: "lekki deszcz kapiący na liście"
- Mocny deszcz: "mocny deszcz uderzający o blaszany dach"
- Fale oceanu: delikatne fale rozbijające się o brzeg
Każdy z tych dźwięków wygenerowaliśmy wpisując prompt, np. „lekki deszcz kapiący na liście” czy „delikatne fale rozbijające się o brzeg”. Potem ustawiliśmy pady na zapętlanie, tworząc tło do skupienia lub medytacji.
Maszyna perkusyjna
- 808 kick: "mocny basowy 808 kick"
- Werbel: "krótki, suchy werbel"
- Otwarty talerz: "otwarty talerz, długi dźwięk"
Nie potrzebujesz sampli z biblioteki perkusyjnej. Wystarczy opisać „mocny basowy 808 kick” czy „krótki, suchy werbel”, a API da ci cztery wersje do odsłuchu. Przypisaliśmy je do klawiszy A, S i D, żeby pokazać demo na żywo.
Jeśli chcesz poeksperymentować, możesz wygenerować krótkie kwestie głosowe w stylu wybranej postaci. Wystarczy podać postać, a tekst wstawić w nawiasy.
- Podkręcony DJ: DJ mówi: "Zaczynamy imprezę!"
- Ork na misji: Ork szorstkim głosem mówi: "Za dużo osób w tym pokoju"
- Syrena: Przejmujący kobiecy wokal śpiewa: "Czas do domu, impreza skończona"
Własne presety
Możesz zapisać i nazwać własne presety — np. „Livestream FX” z okrzykiem, śmiechem i brawami. Po zbudowaniu soundboardu kliknij Udostępnij, żeby skopiować link lub wrzucić go od razu na social media. Każdy z linkiem załaduje twoją konfigurację SB1 i zagra twoje dźwięki.
Wskazówki dla deweloperów
- Generowanie bez stanu: Każde wywołanie API jest niezależne. Nie musisz zarządzać pipeline’em ani trzymać dużych bibliotek — wystarczy cache’ować używane URL-e.
- Niskie opóźnienia: Zwykle generowanie trwa poniżej dwóch sekund, więc wszystko działa praktycznie od razu.
- Skalowalność: Możesz generować setki dźwięków równolegle i trzymać je na własnym CDN przy dużym ruchu.
- Elastyczne formaty: WAV dla najlepszej jakości, MP3 jeśli zależy ci na małych plikach.
Żeby zacząć samemu, sprawdź naszą dokumentację. Znajdziesz tam przykłady kodu w JavaScript, Pythonie i cURL, które pokazują jak dodać SFX API do twoich projektów.
Co dalej?
SB1 to tylko demo możliwości naszego modelu efektów dźwiękowych. Pracujemy nad pluginami do OBS i DAW, żebyś mógł generować nowe dźwięki bez wychodzenia z programu do streamu czy produkcji. Dopracowujemy też model pod kątem muzyki — np. egzotyczne perkusje czy syntezatory.
Jeśli stworzysz coś fajnego, daj nam znać. Oznacz nas w social mediach albo podziel się linkiem do swojego presetu. Niezależnie czy streamujesz, nagrywasz podcast, tworzysz gry czy po prostu lubisz bawić się dźwiękiem — SB1 i SFX API dają ci nieograniczone możliwości audio.
Wypróbuj za darmo — nie potrzebujesz żadnej biblioteki MP3.
Przeglądaj artykuły zespołu ElevenLabs


Introducing Experiments in ElevenAgents
The most data-driven way to improve real-world agent performance.



.webp&w=3840&q=95)
.webp&w=3840&q=95)