मुझे टेक्स्ट को भाषण में बदलने की आवश्यकता है और फिर इसे Wav फ़ाइल के रूप में सहेजें।माइक्रोसॉफ्ट एसएपीआई के साथ एक वाव के रूप में पाठ-टू-स्पीच को कैसे सहेजना है?
उत्तर
निम्नलिखित सी # कोड .NET ढांचे में सिस्टम। स्टेच नेमस्पेस का उपयोग करता है। इसका उपयोग करने से पहले नामस्थान का संदर्भ देना आवश्यक है, क्योंकि इसे स्वचालित रूप से विजुअल स्टूडियो द्वारा संदर्भित नहीं किया जाता है।
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Volume = 100;
ss.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav");
ss.Speak("Hello World");
मुझे आशा है कि यह प्रासंगिक और सहायक होगा।
यह कुछ क्षणों के खेल से है, इसलिए चेतावनी emptor। मेरे लिए अच्छा काम किया। मैंने नोटिस किया कि SpFileStream (जो IDISposable लागू नहीं करता है, इस प्रकार कोशिश/आखिरकार) रिश्तेदार को पूर्ण पथ पसंद करता है। सी#।
SpFileStream fs = null;
try
{
SpVoice voice = new SpVoice();
fs = new SpFileStream();
fs.Open(@"c:\hello.wav", SpeechStreamFileMode.SSFMCreateForWrite, false);
voice.AudioOutputStream = fs;
voice.Speak("Hello world.", SpeechVoiceSpeakFlags.SVSFDefault);
}
finally
{
if (fs != null)
{
fs.Close();
}
}
आपके प्रयास के लिए धन्यवाद। – Tarik
और जैसा कि मैं कैसे उत्पादन स्वरूप बदलने के लिए के लिए मिल गया है, हम कोड कुछ इस तरह:
SpeechAudioFormatInfo info = new SpeechAudioFormatInfo(6, AudioBitsPerSample.Sixteen, AudioChannel.Mono);
//Same code comes here
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav",info);
बहुत आसान और सुबोध है यही कारण है कि।
कूल .net
हाय, इससे पहले मुझे कुछ डीएल आयात करने की आवश्यकता है, क्योंकि सिस्टम। स्टेच मेरे प्रोजेक्ट में उपलब्ध नहीं है, भले ही मैंने "सिस्टम स्पीच का उपयोग करके" जोड़ा है। – Tarik
@ मैकेंज़ी: यह मेरे मुकाबले बेहतर जवाब है, क्योंकि यह COM के साथ मिलकर बजाए नेट नेट क्लास का उपयोग करता है। –
@atarikg: सिस्टम का संदर्भ लें। स्टेच असेंबली। –