1.0.1 • Published 6 months ago

@aiola/web-sdk-tts v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

@aiola/web-sdk-tts

Aiola Text-to-Speech JavaScript SDK

example code can be found here

Installation

npm install @aiola/web-sdk-tts
# or
yarn add @aiola/web-sdk-tts

Usage

Node.js (CommonJS)

const AiolaTTSClient = require("@aiola/web-sdk-tts");

const ttsClient = new AiolaTTSClient({
  baseUrl: "<BASE_URL>",
  bearer: "<BEARER>",
});

Modern JavaScript (ES Modules)

import AiolaTTSClient from "@aiola/web-sdk-tts";

const ttsClient = new AiolaTTSClient({
  baseUrl: "<BASE_URL>",
  bearer: "<BEARER>",
});

Browser (Direct Usage)

 <script type="importmap">
    {
        "imports": {
          "@aiola/web-sdk-tts": "./node_modules/@aiola/web-sdk-tts/dist/bundle/index.js"
        }
    }
</script>
</script>

API Documentation

npm install @aiola/web-sdk-tts
import AiolaTTSClient from "@aiola/web-sdk-tts";

// First create the client
const ttsClient = new AiolaTTSClient({
  baseUrl: "https://your-aiola-endpoint.com",
  bearer: "your-auth-token",
});

// Get available voices
const voices = ttsClient.getVoices();
// Returns:
// {
//   Default: "af",
//   Bella: "af_bella",
//   Nicole: "af_nicole",
//   Sarah: "af_sarah",
//   Sky: "af_sky",
//   Adam: "am_adam",
//   Michael: "am_michael",
//   Emma: "bf_emma",
//   Isabella: "bf_isabella",
//   George: "bm_george",
//   Lewis: "bm_lewis"
// }

// Create a client with default voice using getVoices()
const clientWithDefault = new AiolaTTSClient({
  baseUrl: "https://your-aiola-endpoint.com",
  bearer: "your-auth-token",
  defaultVoice: voices.Default, // Using the Default voice from getVoices()
});

// Synthesize speech and get audio as a Blob
// Voice can be provided in the method call or will use defaultVoice from config
const audioBlob = await clientWithDefault.synthesizeSpeech(
  "Hello, world!",
  voices.Bella
);

// Playing the audio
const url = URL.createObjectURL(blob);
audioPlayer.src = url;
audioPlayer.style.display = "block";
audioPlayer.play();

// Using defaultVoice from config
const audioBlob2 = await clientWithDefault.synthesizeSpeech("Hello, world!");

// If neither voice parameter nor defaultVoice is provided, an error will be thrown
const clientWithoutDefault = new AiolaTTSClient({
  baseUrl: "https://your-aiola-endpoint.com",
  bearer: "your-auth-token",
});
// This will throw: "Voice is required for synthesis"
await clientWithoutDefault.synthesizeSpeech("Hello, world!");

// Stream the audio (also returns a Blob)
const streamBlob = await clientWithDefault.streamSpeech(
  "Hello, world!",
  voices.Nicole
);

TTSConfig Interface

interface TTSConfig {
  baseUrl: string; // The base URL of the Aiola API
  bearer: string; // Authentication token
  defaultVoice?: string; // Optional default voice. If not provided, voice must be specified in method calls
}

Development

# Install dependencies
npm install

# Build the package
npm run build

# Run type checking
npm run type-check

License

See LICENSE file for details.

Support

For any issues or questions regarding the aiOla TTS SDK, please contact us

1.0.1

6 months ago

1.0.0

6 months ago

0.1.5

7 months ago

0.1.4

7 months ago

0.1.3

7 months ago

0.1.2

7 months ago

0.1.1

7 months ago

0.1.0

7 months ago

0.0.1

7 months ago