1.0.1 • Published 6 months ago
@aiola/web-sdk-tts v1.0.1
@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-ttsUsage
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-ttsimport 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-checkLicense
See LICENSE file for details.
Support
For any issues or questions regarding the aiOla TTS SDK, please contact us