Skip to content

petarvujovic98/voice-rss-client

Repository files navigation

Voice RSS Client

Open in Visual Studio Code

What is it?

It is a zero dependency TypeScript implementation of the VoiceRSS SDK

Installation

You can install the package using npm or using yarn:

npm i voice-rss-client

Note: Add --save if using npm version lower than 5.0.0

for newer versions of npm.

Or if using yarn

yarn add voice-rss-client

Usage

You can import the library and use the getSpeech function as follows:

// Like commonJS modules
const VoiceRSSClient = require("voice-rss-client");

VoiceRSSClient.getSpeech(...);

// or with destructuring
const { getSpeech } = require("voice-rss-client");

// Or using ECMAScript modules
import { getSpeech } from "voice-rss-client";

Then you can call the getSpeech function to send a request to VoiceRSS with a provided config object.

// Using async/await
const speech = await getSpeech({ apiKey: "...", language: "en-us", text: "foo" });

// Using Promises
getSpeech({ apiKey: "...", language: "en-us", text: "foo" }).then(speech => {...});

The config object accepts all the options that are listed on the official Voice RSS API docs, and like on the API the config object provided needs to have at least the API Key, language and text specified.

The function returns a base64 encoded string which represents the audio with which the server responded.

The config object accepts only the options listed on the official Voice RSS API docs and if you are using TypeScript in your IDE provides autocompletion for the options available, as well as the language speakers according to the selected language.

Browser

If you are using this package in the browser only you can import the browser version only for a smaller bundle size:

import { getSpeech } from "voice-rss-client/dist/browser";

Node

If you are using this package in Node only you can import the Node version only for a smaller bundle size:

import { getSpeech } from "voice-rss-client/dist/node";

Combined

If you are using this package in both the Node and browser environment you can use the regular import statements as the package determines which version to use based on the environment it gets called in.

Contributions

All contributions are welcome as this is a side project that I have created in my spare time. Any advice or constructive critics are welcome.

P.S.

The tests are not yet complete and any suggestions would be welcome.

Contact

Author Petar Vujović:

License

This project is MIT licensed