PDA

View Full Version : ضبط صداهای بخش شده از کارت صدا



mahdiidham1383
جمعه 21 مهر 1396, 00:02 صبح
سلام
من در حال حاظر یه برنامه می نویسم که متن رو به صدا تبدیل میکنه حالا می خوام این صدا رو ذخیره کنم در یک فضا این کار رو چطور انجام بدم ؟ توجه داشته باشید که صدای میکروفن رو نمی خوام صدایی که از اسپیکر پخش میشه رو می خوام

336699
جمعه 21 مهر 1396, 11:05 صبح
سلام
من در حال حاظر یه برنامه می نویسم که متن رو به صدا تبدیل میکنه حالا می خوام این صدا رو ذخیره کنم در یک فضا این کار رو چطور انجام بدم ؟ توجه داشته باشید که صدای میکروفن رو نمی خوام صدایی که از اسپیکر پخش میشه رو می خوام

سلام
اگه از SpeechSynthesizer برای تبدیل متن انگلیسی به صوت استفاده می کنید ، نیازی به این کارها نیست ، SpeechSynthesizer خروجی صوتی با فرمت wav می دهد.

اگر بخواهید خروجی کارت صوت را رکورد کنید باید بسته به طول متن ، چند دقیقه یا چند ساعت صبر کنید تا متن پخش بشه و شما رکورد را انجام دهید.

ولی با SetOutputToWaveFile در چند ثانیه این کار انجام میشه.

336699
جمعه 21 مهر 1396, 11:36 صبح
تبدیل متن به فایل صوتی




using System.Speech.Synthesis;


private void button1_Click(object sender, EventArgs e)
{
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Volume = 100;
ss.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav");
ss.Speak("Hello World");
}



مسیر ذخیره فایل و متن را خودتان تغییر دهید.

در این کد چون مسیر ذخیره فایل در پارتیشن c است ، اگر برنامه دسترسی ادمین نداشته باشد ، نمی تواند فایل را ذخیره کند.