Text-to-speech Microsoft .NET SDK
The Voice RSS Text-to-Speech .NET SDK wraps Voice RSS Text-to-Speech API.
The Voice RSS Text-to-Speech .NET SDKs will help to make integration with our Text-to-Speech API faster and easer.
If you have any questions or suggestions please feel free to contact us via e-mail.
Documentation
To integrate an application with the Voice RSS Text-to-Speech .NET SDK it needs to add reference to the assembly VoiceRSS_TTS_SDK.DLL. The Voice RSS Text-to-Speech .NET SDK implements converting text-to-speech synchronously and asynchronously. The Voice RSS Text-to-Speech .NET SDK provides possibility to get speech in binary or Base64 string formats.
SDK specifications
Convert text-to-speech synchronously
The following example demonstrates synchronous converting text-to-speech as a binary array:
using System; using System.IO; using VoiceRSS_SDK; namespace Examples { class Program { static void Main(string[] args) { var apiKey = "<API key>"; var isSSL = false; var text = "Hello, world!"; var lang = Languages.English_UnitedStates; var voiceParams = new VoiceParameters(text, lang) { AudioCodec = AudioCodec.MP3, AudioFormat = AudioFormat.Format_44KHZ.AF_44khz_16bit_stereo, IsBase64 = false, IsSsml = false, SpeedRate = 0 }; var voiceProvider = new VoiceProvider(apiKey, isSSL); var voice = voiceProvider.Speech<byte[]>(voiceParams); var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "voice.mp3"); File.WriteAllBytes(fileName, voice); } } }
Convert text-to-speech asynchronously
The following example demonstrates asynchronous converting text-to-speech as a binary array based on event pattern:
using System; using System.IO; using VoiceRSS_SDK; namespace Examples { class Program { static void Main(string[] args) { var apiKey = "<API key>"; var isSSL = false; var text = "Hello, world!"; var lang = Languages.English_UnitedStates; var voiceParams = new VoiceParameters(text, lang) { AudioCodec = AudioCodec.MP3, AudioFormat = AudioFormat.Format_44KHZ.AF_44khz_16bit_stereo, IsBase64 = false, IsSsml = false, SpeedRate = 0 }; var voiceProvider = new VoiceProvider(apiKey, isSSL); voiceProvider.SpeechFailed += (Exception ex) => { Console.WriteLine(ex.Message); }; voiceProvider.SpeechReady += (object data) => { var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "voice.mp3"); File.WriteAllBytes(fileName, (byte[])data); }; voiceProvider.SpeechAsync<byte[]>(voiceParams); } } }
The following example demonstrates asynchronous converting text-to-speech as a binary array based on task pattern:
using System; using System.IO; using VoiceRSS_SDK; namespace Examples { class Program { static void Main(string[] args) { var apiKey = "<API key>"; var isSSL = false; var text = "Hello, world!"; var lang = Languages.English_UnitedStates; var voiceParams = new VoiceParameters(text, lang) { AudioCodec = AudioCodec.MP3, AudioFormat = AudioFormat.Format_44KHZ.AF_44khz_16bit_stereo, IsBase64 = false, IsSsml = false, SpeedRate = 0 }; var voiceProvider = new VoiceProvider(apiKey, isSSL); var voice = await voiceProvider.SpeechTaskAsync<byte[]>(voiceParams); var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "voice.mp3"); File.WriteAllBytes(fileName, voice); } } }
Convert text-to-speech as a Base64 string
The following example demonstrates asynchronous converting text-to-speech as a Base64 string in ASP.NET and plays it in an internet browser:
using System; using VoiceRSS_SDK; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { var apiKey = "<API key>"; var isSSL = false; var text = "Hello, world!"; var lang = Languages.English_UnitedStates; var voiceParams = new VoiceParameters(text, lang) { AudioCodec = AudioCodec.MP3, AudioFormat = AudioFormat.Format_44KHZ.AF_44khz_16bit_stereo, IsBase64 = true, IsSsml = false, SpeedRate = 0 }; var voiceProvider = new VoiceProvider(apiKey, isSSL); var voice = voiceProvider.SpeechTaskAsync<string>(voiceParams); divPlayer.InnerHtml = string.Format("<audio src='{0}' autoplay='autoplay'></audio>", voice.Result); } }
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <div id="divPlayer" runat="server"></div> </body> </html>