DEV Community

Cover image for Creating a Text-to-Speech AI Agent in JavaScript using OpenAI API
Devops Den
Devops Den

Posted on

Creating a Text-to-Speech AI Agent in JavaScript using OpenAI API

Introduction

Have you ever wanted to convert text into speech using AI? OpenAI’s Text-to-Speech (TTS) API allows developers to generate high-quality speech from text. In this blog, we will build a simple AI-powered TTS agent in JavaScript using OpenAI's API. By the end, you'll have a working program that converts any text into speech and plays it back.

Prerequisites

Before we begin, ensure you have the following:

  • Node.js installed (Download here)
  • An OpenAI API Key (Get it here)
  • Basic knowledge of JavaScript

Step 1: Install DependenciesWe will use axios to interact with

OpenAI’s API and play-sound to play the generated audio.

npm install axios play-sound
Enter fullscreen mode Exit fullscreen mode

Step 2: Writing the TTS Function

We will create a function that:

  • Sends a request to OpenAI’s TTS API
  • Saves the generated audio
  • Plays the audio file
const axios = require('axios');
const player = require('play-sound')();
const fs = require('fs');

const OPENAI_API_KEY = 'your-api-key';

async function textToSpeech(text) {
    try {
        const response = await axios.post(
            'https://api.openai.com/v1/audio/speech',
            {
                model: 'tts-1',
                input: text,
                voice: 'alloy',
            },
            {
                headers: {
                    'Authorization': `Bearer ${OPENAI_API_KEY}`,
                    'Content-Type': 'application/json'
                },
                responseType: 'arraybuffer'
            }
        );

        const filePath = 'output.mp3';
        fs.writeFileSync(filePath, response.data);
        console.log('Playing audio...');
        player.play(filePath);
    } catch (error) {
        console.error('Error:', error.response ? error.response.data : error.message);
    }
}

textToSpeech("Hello, this is an AI-generated voice!");
Enter fullscreen mode Exit fullscreen mode

Step 3: Running the Script

Save the file as tts.js and run it using:

node tts.js
Enter fullscreen mode Exit fullscreen mode

Learn how to create image analysis with the Google Cloud Vision API.

Customization

  • Change the Voice: OpenAI provides multiple voices like alloy, echo, fable, etc. Try different voices!
  • Integrate into a Web App: Use this in a frontend React/Next.js project by calling the API via a backend.

Conclusion

With just a few lines of JavaScript, we have successfully built a powerful AI-powered text-to-speech agent. Whether for accessibility, automation, or just for fun, AI-driven voice synthesis is a game-changer. Try it out and enhance your projects with realistic AI voices!

Top comments (0)