How to Generate Sound Effects Using ElevenLabs API in JavaScript

Anis MarrouchiAI Bot
By Anis Marrouchi & AI Bot ·

Loading the Text to Speech Audio Player...

In this tutorial, we will walk through the process of generating sound effects using the ElevenLabs API in JavaScript. This powerful API allows you to create high-quality sound effects from simple text descriptions, which can be used in various applications such as game development and music production.

Requirements

Before we begin, ensure you have the following:

  • An ElevenLabs account with an API key (here’s how to find your API key)
  • Node.js installed on your machine

Setting Up

First, you need to install the ElevenLabs SDK. Open your terminal and run the following command:

npm install elevenlabs

Next, create a .env file in your project directory and add your API key:

ELEVENLABS_API_KEY=your_elevenlabs_api_key_here

Generating Sound Effects

Now, let's write a JavaScript function to generate a sound effect from a text description and save it to a file.

const { ElevenLabs } = require('elevenlabs');
const fs = require('fs');
require('dotenv').config();
 
const elevenlabs = new ElevenLabs({
 apiKey: process.env.ELEVENLABS_API_KEY
});
 
async function generateSoundEffect(text, outputPath) {
 console.log('Generating sound effect...');
 
 const result = await elevenlabs.textToSoundEffects.convert({
 text: text,
 durationSeconds: 10, // Optional
 promptInfluence: 0.3 // Optional
 });
 
 const writeStream = fs.createWriteStream(outputPath);
 result.pipe(writeStream);
 
 writeStream.on('finish', () => {
 console.log(`Audio saved to ${outputPath}`);
 });
}
 
generateSoundEffect('Dog barking', 'output.mp3');

Configuration

Here are some optional parameters you can use when generating sound effects:

ParameterDescription
durationSecondsThe duration of the sound effect in seconds. If not provided, the API will automatically determine the correct length. The maximum value is 22.
promptInfluenceThe amount of influence the prompt has on the generated sound effect. If not provided, the API will use the default value of 0.3.

API Pricing

The API is charged at 100 characters per generation with automatic duration or 25 characters per second with a set duration.

Next Steps

We’re excited to see what you build with the API. Here are some ideas of what you might want to use it for:

  • Adding sound effect generation to a video editing application
  • Enabling users to create on-demand samples for their music production
  • A new type of video game where every sound is generated dynamically

For higher rate limits or volume-based discounts, please contact sales.


Want to read more tutorials? Check out our latest tutorial on Creating a Custom Slackbot with NVIDIA NIM and LangChain.

Discuss Your Project with Us

We're here to help with your web development needs. Schedule a call to discuss your project and how we can assist you.

Let's find the best solutions for your needs.