3
You can use the System.Speech.Synthesis.SpeechSynthesizer
class to convert text to speech:
string text = "Hello, this is a text-to-speech example in ASP.NET.";
using (MemoryStream audioStream = new MemoryStream())
{
using (SpeechSynthesizer synth = new SpeechSynthesizer())
{
// Set the voice and rate if needed
// synth.SelectVoice("Microsoft David Desktop - English (United States)");
// synth.Rate = -2; // Adjust the rate (range is -10 to 10)
synth.SetOutputToWaveStream(audioStream);
synth.Speak(text);
synth.SetOutputToDefaultAudioDevice(); // Reset output to default
}
}
Also you can utilize the Microsoft Azure Cognitive Services Text-to-Speech API. This API allows you to convert text into spoken words using various voices and languages.
2
Also you can utilize the Microsoft Azure Cognitive Services Text-to-Speech API. This API allows you to convert text into spoken words using various voices and languages.
1
To convert text to speech in an ASP.NET application using VB.NET, you can leverage the System.Speech.Synthesis namespace, which provides the Text-to-Speech (TTS) functionality. Follow these steps to create a simple ASP.NET web application that converts text to speech:
-
Create a New ASP.NET Web Application: Start by creating a new ASP.NET Web Application project in Visual Studio.
-
Design Your Web Form: In your ASP.NET web application, design a web form (ASPX) that includes a TextBox for inputting text and a Button to trigger the conversion to speech. Here's an example of what your ASPX markup might look like (assuming you have a TextBox named txtInput
and a Button named btnConvert
):
<%@ Page Language="VB" AutoEventWireup="true" CodeBehind="TextToSpeech.aspx.vb" Inherits="YourNamespace.TextToSpeech" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Text to Speech</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Text to Speech</h1>
<asp:TextBox ID="txtInput" runat="server" TextMode="MultiLine" Rows="5" Columns="40"></asp:TextBox>
<br />
<asp:Button ID="btnConvert" runat="server" Text="Convert to Speech" OnClick="btnConvert_Click" />
</div>
</form>
</body>
</html>
Code-Behind (TextToSpeech.aspx.vb): In the code-behind (TextToSpeech.aspx.vb), write the VB.NET code to convert the text entered in the TextBox to speech when the "Convert to Speech" button is clicked. You'll need to use the System.Speech.Synthesis
namespace for this. Here's a sample code snippet:
Imports System.Speech.Synthesis
Public Class TextToSpeech
Inherits System.Web.UI.Page
Protected Sub btnConvert_Click(sender As Object, e As EventArgs) Handles btnConvert.Click
' Create a SpeechSynthesizer instance
Dim synth As New SpeechSynthesizer()
' Get the text from the TextBox
Dim textToSpeak As String = txtInput.Text
' Check if the input text is not empty
If Not String.IsNullOrEmpty(textToSpeak) Then
' Speak the text
synth.Speak(textToSpeak)
End If
End Sub
End Class
Build and Run: Build your ASP.NET web application and run it. You'll see the web form with the TextBox and Button. Enter some text into the TextBox and click the "Convert to Speech" button. The entered text will be converted to speech and played.

1
SpeechSynthesizer is a sealed class containing various methods, events and properties that help to convert text to speech with various options. The SpeechSynthesizer class is in the System.Speech.Synthesis namespace that contains classes that allow initialization and configuration of a speech synthesis engine, create prompts, generate speech, respond to events and modify voice characteristics. Speech synthesis is often referred to as Text-To-Speech or TTS.
After that Now add the reference of system.speech by right-clicking on the Solution Explorer .
using System;
using System.Speech.Synthesis;
namespace ConvertTextToSpeech
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnVoice_Click(object sender, EventArgs e)
{
// creating the object of SpeechSynthesizer class
SpeechSynthesizer sp = new SpeechSynthesizer();
sp.Volume = 100; //setting volume
sp.SpeakAsync(txtMsg.Text); //ing text box text to SpeakAsync method
} } }
