تبدیل متن به گفتار در Asp.Net
دوشنبه 18 اسفند 1393در این مقاله نحوه تبدیل متن به گفتار را در زبان Asp.Net شرح می دهیم .
روز به روز نیازهای کسب و کار با توجه به نیازهای جدید تغییر می کند و برای برطرف کردن این نیازها تکنولوژی BPO و KPO به بازار آمد , که برای بر طرف کردن نیازهای خاص و حمایت از نیروی انسانی استفاده می شوند اما برخی نیازها حتی با وجود نیروی انسانی مانند تبدیل متن به گفتار وجود دارد .بنابراین با توجه به این نیازمندیها تصمیم گرفتیم که در این مقاله نحوه تبدیل متن به گفتار را همراه با ذکر مثال شرح می دهیم .
برای تبدیل متن به گفتار از کلاس SpeechSynthesizer استفاده می کنیم .
این کلاس شامل چندین متد , رویداد و خاصیتهای مختلفی میباشد که در تنضیمات مختلف تبدیل کردن متن به گفتار ما را یاری می کند .کلاس SpeechSynthesizer یک namespace با نام System.Speech.Synthesizer دارد و شامل کلاسهایی است که موتور گفتگو را تعریف و پیکر بندی می کند .
ساختار و الگوریتم تبدیل متن به گفتگو اغلب به عنوان Text To Speehc یا TTS شناخته می شود .
در ادامه به برخی از خاصیت های متداول از این کلاس اشاره شده است .
Rate : برای rate گفتگو گفته میشود .
State : برای وضعیت کنونی کلاس استفاده می شود که اکنون در حالت Pause یا در حال گفتگو می باشد .
Voice : حاوی اطلاعلات مربوط به صدا میباشد .
Volume : مربوط به حجم صدا میباشد .
رویداد مربوط کلاس SpeechSynthesizer :
BookmarkReached
PhonemeReached
SpeakCompleted
SpeakProgress
SpeakStarted
StateChanged
VisemeReached
VoiceChange
متدهای مربوط به کلاس SpeechSynthesizer
AddLexicon
Dsipose
GetCurrentlySpokenPrompt
GetInstalledVoices
Pause
RemoveLexicon
Resume
SelectVoice
SelectVoiceByHints
SetOutPuttoDefaultAudioDevice
SetOutputToNull
SetOutputToWaveFile
SetOutputToWaveStream
Speak
SpeakAsync
SpeakAsyncCancel
SpeakAsyncCancelAll
SpeakSsml
SpeakSsmlAsync
حالا ویژوال استودیو را باز میکنیم و یک وب سایت با نام TextToSppech می سازیم , سپس یک کنترل Button و یک کنترل TextBox به صفحه مورد نظر اضافه می کنیم .
Inserting ASP.Net Form Data Into Da ... 3 Incredible Changes in Visual Stud ... Preventing XSS in ASP.Net Made Easy Reader Level: Articles [ASP.NET Programming] Convert Text to Speech Using ASP.Net C# By Vithal Wadje on Mar 06, 2015 In this article we will learn how to Convert Text to Speech Using ASP.Net C#. Tweet inShare2 1 13 1125 Download Files: ConvertTextToSpeech.zip Background Day by day business needs change depending on business requirements and fulfilling these requirements BPO and KPO come that require a physical assistance of humans to support specific requirements but some requirements exist in the application to convert text into speech without a human involved. So by considering the preceding requirement I decided to write this article. To convert text to speech the SpeechSynthesizer class is used. So let us learn step-by-step how to convert text to speech. The SpeechSynthesizer Class 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. The following are some of the common properties of the SpeechSynthesizer class. Properties of SpeechSynthesizer class Rate: Used to specify speech rate. State: Used to check the current state of the SpeechSynthesizer class, whether it is paused, resume or a speaking state. Voice: Gets the current voice information. Volume: Sets the volume. Events of SpeechSynthesizer class BookmarkReached. PhonemeReached. SpeakCompleted. SpeakProgress. SpeakStarted. StateChanged. VisemeReached. VoiceChange Methods of SpeechSynthesizer class AddLexicon Dispose GetCurrentlySpokenPrompt GetInstalledVoices GetInstalledVoices Pause RemoveLexicon Resume SelectVoice SelectVoiceByHints SetOutputToDefaultAudioDevice SetOutputToNull SetOutputToWaveFile SetOutputToWaveStream Speak SpeakAsync SpeakAsyncCancel SpeakAsyncCancelAll SpeakSsml SpeakSsmlAsync Now let us see the preceding explanation by creating a sample web application as follows: "Start" - "All Programs" - "Microsoft Visual Studio 2010". "File" - "New Project" - "C#" - "Empty WebSite" (to avoid adding a master page). Provide the web site a name such as "TextToSppech" or another as you wish and specify the location. Then right-click on the Solution Explorer and select "Add New Item" and Add Web Form. Drag and drop one Button, a TextBox onto the <form> section of the Default.aspx page. Now the default.aspx page source code will looks as follows. <%@ Page Async="true" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ConvertTextToSpeech.Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Article by Vithal Wadje</title> </head> <body bgcolor="navy"> <form id="form2" runat="server"> <div style="color: White;"> <h4> Article for C#Corner </h4> <br /> <table width="100%"> <tr> <td> <asp:TextBox ID="txtMsg" TextMode="MultiLine" runat="server" Height="142px" Width="380px"></asp:TextBox><br /> </td> </tr> </table> <br /> <table> <tr> <td> <asp:Button ID="btVoice" runat="server" Text="convert to speech" onclick="btnVoice_Click" /> </td> </tr> </table> </div> </form> </body> </html>
سپس Refrence با نام system.speech را به پروژه اضافه می کنیم . مانند تصویر زیر
پس از اضافه کردن Refrence مورد نظر , Refrence پروژه به صورت زیر میباشد :
اگنون بر روی دکمه گفتگو کلیک می کنیم و کد زیر را در آن می نویسیم :
protected void btnVoice_Click(object sender, EventArgs e) { // creating the object of SpeechSynthesizer class SpeechSynthesizer sp = new SpeechSynthesizer(); //setting volume sp.Volume = 100; //passing text box text to SpeakAsync method sp.SpeakAsync(txtMsg.Text); }
کدهای codebehine مربوط به صفحه باید به صورت زیر باشد :
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(); //setting volume sp.Volume = 100; //passing text box text to SpeakAsync method sp.SpeakAsync(txtMsg.Text); } } }
هم اکنون نرم افزار را اجرا می کنیم :
- ASP.net
- 2k بازدید
- 3 تشکر