سلام
برنامه هایی رو دیدیم که میتونند متن رو بخونند و از اسپیکر پخش کنند چطور میتونیم متن موجود در یک label یا textbox رو به این شکل در بیاریم.
سلام
برنامه هایی رو دیدیم که میتونند متن رو بخونند و از اسپیکر پخش کنند چطور میتونیم متن موجود در یک label یا textbox رو به این شکل در بیاریم.
فارسی یا انگلیسی؟
سلام
تا جایی که به سواد من میرسه شما باید یه بانک از صدا های کلمات رو داشته باشی (برای هر کلمه)
و متنی رو که داری تجزیه کنی و کلمه به کلمه اون رو جدا کنی بعد به ترتیب برای هر کلمه صدای مربوطه رو پخش کنی
خیلی سخت نیست.
اگه می خوای متن لاتین رو بخونه می تونی توی ویندوز7 از System.Speech استفاده کنی
و یا نرم افزارهای text to speech رو نصب کن، معمولاً یه سری رابط دارن برای استفاده توی برنامه می تونی ازشون استفاده کنی
کافی به رفرسن هات اضافه کنی و توابعش رو صدا بزنی. فقط روی سیستم مقصد هم باید کامپوننت هاشو کپی کنی.
(چند سال پیش این کار رو کرده بودم، الان یادم نیست کدوم برنامه بود Text Aloud یا Text to Speech Maker یا 2nd Speech Center یا ؟؟ شرمنده)
اگه فارسی رو بخوای، خوب مشکله!
من چیز جالبی در این زمینه ندیدم. اگه محدوده کلمات کمه می تونی از صدای ضبط شده برای حالتهای مختلف استفاده کنی.
به خاطر خاصیت آوایی زبان فارسی و تفاوت زیادش با حالت نوشتاری و حالت های استثنای زیادی که داره در مجموع چیز خوبی در نمی یاد.
یه برنامه open source هم دیده بودم که باز هم جالب در نیومده بود. «پارس خوان»
با تشکر از دوست عزیزمون واسه توضیحاش!
اینم کدش شاید بعدن به دردتون خورد!
using System;
using System.Windows.Forms;
using System.Speech.Synthesis;
namespace ReAd_texT
{
public partial class Form1 : Form
{
SpeechSynthesizer Spr;
public Form1()
{
InitializeComponent();
Spr = new SpeechSynthesizer();
}
private void s_Click(object sender, EventArgs e)
{
Spk();
}
void Spk()
{
try
{
Spr.Volume = 100;//BolAndIe SedA
Spr.Speak(t.Text);
}
catch(Exception ex)
{
MessageBox.Show("ThIs ErOrRr AccOurEd!\n\n\n" + ex.ToString() + "\n\n\nPleaSe FixEd It!!!",
"ErRrRroOoOoRrR", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
پروژه هم واستون ضمیمه کردم
سلام
تشکر از تمامی دوستان گلم.
برنامه ایی که lvlaziar قرار دادن عالیه روش کار میکنم کاملتر بشه.
باز هم ممنون.