It is a zero dependency TypeScript implementation of the VoiceRSS SDK
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
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.
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";
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";
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.
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.
The tests are not yet complete and any suggestions would be welcome.
Author Petar Vujović:
This project is MIT licensed