PDA

View Full Version : سوال: اسکن TTS های نصب شده.



h-rafiee
جمعه 30 تیر 1391, 22:38 عصر
کمی از مسئله های چند روزه ی من TTS های رایگانی است که جهانیه.
بجز TTS های خود شرکت مایکروسافت اعم از سام،مایک،ماری که بخوبی و بصورت ماشینی یا روباتیک کار می کنن.
به دانلود TTS های معروف L&H نشستم. اما بعد دانلود و نصب(که تا جایی کشف شده کجا نصب میشه) متوجه این نکته شدم که به Speech کنترل پنل اضافه نمیشه از اونجایی که از کامپوننت های مایکروسافت می تونیم استفاده کنیم فعلا راهی پیدا نکردم که بتونم از این TTS های بسیار خوب و مجانی استفاده کرد.

اما یکی از مسائلی که الان ذهنم رو مشغول کرده اینه که برنامه های از جمله Reed Genius 2.3 or 3.0 و برنامه سایت Bytecool قادر به جستجوی TTS ها هستن و از آنها به راحتی استفاده می کنن.
کسی می تونه بگه چطور میشه چنین جستجویی رو ایجاد کرد!؟

مهرداد صفا
جمعه 30 تیر 1391, 22:51 عصر
سلام دوست عزیز!!
tts هایی از شرکت microsoft و کلا همه آنهایی که با استفاده از system.speech به آنها دسترسی داریم مربوط به sapi 5 میشوند اما tts های l&h مربوط به sapi4 هستند و شاخه های رجستری و نحوه دسترسی متفاوتی دارند.

h-rafiee
جمعه 30 تیر 1391, 22:59 عصر
سلام دوست عزیز!!
tts هایی از شرکت microsoft و کلا همه آنهایی که با استفاده از system.speech به آنها دسترسی داریم مربوط به sapi 5 میشوند اما tts های l&h مربوط به sapi4 هستند و شاخه های رجستری و نحوه دسترسی متفاوتی دارند.
اینی که گفتید رو که می دونستم :|
ولی چطور میشه بهشون دسترسی داشت این سوالمه!
چطور برنامه هایی که ذکر کردم می تونن جستجو کنن ما نتونیم!
راهنمایی بیشتر لطفا.

h-rafiee
جمعه 30 تیر 1391, 23:16 عصر
tts های l&h مربوط به sapi4 هستند
گویا اینو نمی دونستم چون گشتم دیدم L&H هم جزو SAPI5 هستند ویکیپدیا که اینطور میگه!
http://en.wikipedia.org/wiki/Microsoft_Speech_API#SAPI_5_Voices

مهرداد صفا
جمعه 30 تیر 1391, 23:44 عصر
سلام
چرا نمیتوانیم؟! به هر حال این tts ها تولید شده اند برای استفاده.
از کنترل active voice class استفاده کنید:
c:\windows\system32\xvoice.dll
تنها غیر ممکن عالم غیر ممکن است!

مهرداد صفا
جمعه 30 تیر 1391, 23:49 عصر
گویا اینو نمی دونستم چون گشتم دیدم L&H هم جزو SAPI5 هستند ویکیپدیا که اینطور میگه!
http://en.wikipedia.org/wiki/Microsoft_Speech_API#SAPI_5_Voices


درسته.این شرکت tts های مختلفی تولید کرده که اکثرا برای sapi4 میباشند و چند tts نیز برای sapi5. منظور من tts هایی که شما نصب کرده بودید بود.

h-rafiee
شنبه 31 تیر 1391, 00:35 صبح
می تونین یه راهنمایی درباره dll ای که ذکر کردید کنید.
از چه سرفایلی میشه برای Text to speech استفاده کرد؟!

مهرداد صفا
شنبه 31 تیر 1391, 01:29 صبح
می تونین یه راهنمایی درباره dll ای که ذکر کردید کنید.




منظورتون رو دقیقا متوجه نشدم. این کتابخانه managed است که میتوانید به صورت reference یا به عنوان کنترلهای toolbox به پروژه اضافه کنید.


از چه سرفایلی میشه برای Text to speech استفاده کرد؟


اگر منظورتون header هایی است که در C++‎ استفاده میشوند باید microsoft sapi 5 sdk را نصب کنید.

h-rafiee
شنبه 31 تیر 1391, 04:38 صبح
من میخوام از TTS های SAPI4 در C#.net h استفاده کنم چون حجم کمتر و سرعت انتقال بهتری دارند کیفیت بدی هم ندارند و در ضمن رایگان هستند.
حال می خوام که یه جستجویی داشته باشم تا همه ی TTS ها رو بتونم داخل فرم استفاده کنم اما اینکه برای SAPI4 چطور میشه استفاده کرد مشکل دارم چرا که با استفاده از Interop.SpeechLib.dll و با استفاده از Token ها میشه این موضوع رو حل کرد.
اصرار زیادی که برروی SAPI4 برای کاربره چون نمیاد برنامه اصلی 2 مگابایتی رو + 200 مگابایت ابزار برای TTS استفاده کنه خودم که اینطورم.
و اینکه گفتید از xvoice.dll اما من هرچی گشتم راهی برای استفاده ازش رو پیدا نکردم.

مهرداد صفا
شنبه 31 تیر 1391, 17:24 عصر
من میخوام از TTS های SAPI4 در C#‎‎.net h استفاده کنم چون حجم کمتر و سرعت انتقال بهتری دارند کیفیت بدی هم ندارند و در ضمن رایگان هستند.

البته. درضمن صداهای متنوع تری هم میتوان در این مورد پیدا کرد.

حال می خوام که یه جستجویی داشته باشم تا همه ی TTS ها رو بتونم داخل فرم استفاده کنم اما اینکه برای SAPI4 چطور میشه استفاده کرد مشکل دارم چرا که با استفاده از Interop.SpeechLib.dll و با استفاده از Token ها میشه این موضوع رو حل کرد.

همون طور که میدونید از SpeechlIb فقط میشود در استفاده از engin های sapi5 استفاده کرد اما با استفاده از کتابخانه ActiveVoiceClass علاوه بر آ« engin های sapi4 را هم ساپرت میکند.




و اینکه گفتید از xvoice.dll اما من هرچی گشتم راهی برای استفاده ازش رو پیدا نکردم.
از منوی tools/choose toolbox items به سربرگ com components بروید و ActiveVoice class را انتخاب کنید. حال در قسمت design از منوی view/toolbox گزینه ActiveVoice class 1 را انتخاب کنید.
برای پیدا کردن همه engin های نصب شده کدی شبیه به این باید استفاده شود.


for (int i=0;i<AxDirectSS1.CountEngins;i++)
{
AxDirectSS1.Select(i);
AxDirectSS1.Speak("hello");
}

nakhodasokoot
یک شنبه 01 مرداد 1391, 00:52 صبح
سلام. من این کد رو وارد کردم ولی خطای ComExeptionWasUnhandled رو میده. مشکل از کجاست؟

h-rafiee
یک شنبه 01 مرداد 1391, 01:00 صبح
با تشکر ازتون.
ولی یک مشکلی دارم این ActiveVoice class داخل COM Component ندارم.
من xvoice.dll رو به برنامه اضافه کردم. که معادل "ACTIVEVOICEPROJECTLib" می باشد.
با کلی دست و پنجه نرم کردن تونستم بفهممش تا حدودی ولی کدی که نوشتید به نظرم n بار voice ای رو انتخاب و hello رو اجرا می کنه.
من کلی دیگه با Xvoice سرشاخ شدم و تونسم فقط با EngineID ، ایدی کد Voice های 4 رو بفهمم حالا این ID ها مربوط به کدوم نوع میشه رو نمی تونم بفهمم.
مثلا یکیشون اینطوریه 5fb67320-bf4b-11d1-AF19-444553540000
راستی کامپوننتی که گفتید کجا گیر میاد اگه میتونید اتچ کنید برام. مرسی بازم

h-rafiee
یک شنبه 01 مرداد 1391, 01:04 صبح
سلام. من این کد رو وارد کردم ولی خطای ComExeptionWasUnhandled رو میده. مشکل از کجاست؟
یا TTS های SAPI 4 ندارید یا سرفایل های لازمه رو استفاده نکردید یا اصلا SDKSPEECH رو سیستمتون نصب نیست و یچیز دیگه کد مشکل داره. فقط از دو کد داخل کروشه استفاده کنید اگه چنین کامپوننتی دارید.
اگه نه از C:/windows/speech فایل xvoice.dll
استفاده کنید و کداش هم مثل من تلاش کنید :)

h-rafiee
یک شنبه 01 مرداد 1391, 14:05 عصر
بلاخره تونستم از SAPI 4 استفاده کنم.
ولی یه مشکل جدید دارم
وقتی که از TTS های زیر استفاده می کنم
Adult Male/Female,American English (TruVoice) ارور زیر رو شاهد هستم نمی دونم دگ این برای چی رخ میده!
invalidcastException

مهرداد صفا
یک شنبه 01 مرداد 1391, 16:13 عصر
با تشکر ازتون.
ولی یک مشکلی دارم این ActiveVoice class داخل COM Component ندارم.
من xvoice.dll رو به برنامه اضافه کردم. که معادل "ACTIVEVOICEPROJECTLib" می باشد.
با کلی دست و پنجه نرم کردن تونستم بفهممش تا حدودی ولی کدی که نوشتید به نظرم n بار voice ای رو انتخاب و hello رو اجرا می کنه.
من کلی دیگه با Xvoice سرشاخ شدم و تونسم فقط با EngineID ، ایدی کد Voice های 4 رو بفهمم حالا این ID ها مربوط به کدوم نوع میشه رو نمی تونم بفهمم.
مثلا یکیشون اینطوریه 5fb67320-bf4b-11d1-AF19-444553540000
راستی کامپوننتی که گفتید کجا گیر میاد اگه میتونید اتچ کنید برام. مرسی بازم


سلام
خواهش میکنم. خوشحالم که مشکلتون حل شد. منظورم از ActiveVoice class همون xvoice بود که اگر از سربرگ com component از پنجره Choose ToolBox items با گزینه Brows از کامپیوترتون انتخابش کنید یک کنترل به کنترلهاتون اضافه میشه که همون AxActiveVoiceProjectlib.AxDirectSS است. کد بالا باید به تعداد engin های نصب شده "hello" را اجرا کند!
همون طور که احتمالا حدث زدید برای به دست آوردن جزئیات مربوط به engin از خصوصیت AttributeString میتوانید استفاده کنید. همچنین age, dialect, EngineFeatures, MFGName, ProdectName, Speaker و... با گرفتن Index جزئیات متناظر مربوط به صدا را بر میگردانند که میتوانید از آنها استفاده کنید.

مهرداد صفا
یک شنبه 01 مرداد 1391, 16:23 عصر
بلاخره تونستم از SAPI 4 استفاده کنم.
ولی یه مشکل جدید دارم
وقتی که از TTS های زیر استفاده می کنم
Adult Male/Female,American English (TruVoice) ارور زیر رو شاهد هستم نمی دونم دگ این برای چی رخ میده!
invalidcastException


در مورد ریزه کاری ها، من خیلی وقت که با tts ها کار نکردم و صداها رو سیستمم نصب نیست اگر لطف کنید اینجا برای دانلود قرار دهید برای افرادی هم که قصد امتحان کردن دارند مفید است.

h-rafiee
یک شنبه 01 مرداد 1391, 18:36 عصر
لینک دانلود TTS های رایگان :
لینک 1 : http://www.vioio.com/voices.htm
لینک 2 : http://www.zero2000.com/free-text-to-speech-natural-voices.html
البته برای من که Michael and Michelle از لینک دوم که SAPI5 هستند بعد نصب خطای قابل استفاده نبودن برام رو داد که کمی متعجب شدم!
راستی راهی برای استفاده از TTS های آمریکایی با جستجوی بسیار پیدا کردم اونم استفاده از Vtext.dll هستش البته فقط اولین TTS آمریکایی رو میشه استفاده کرد.
دوم بعضی از TTS های دیگه که تنظماتی مثله (تلفن و استدیو و ... ) دارند رو بصورت پیشفرض و بدون افکت پخش می کنه.

مهرداد صفا
دوشنبه 02 مرداد 1391, 02:25 صبح
البته برای من که Michael and Michelle از لینک دوم که SAPI5 هستند بعد نصب خطای قابل استفاده نبودن برام رو داد که کمی متعجب شدم!
سلام! آیا نرم افزار های دیگر هم با این صداها مشکل دارند یا فقط در کد شما این مشکل پیش می آید؟!

راستی راهی برای استفاده از TTS های آمریکایی با جستجوی بسیار پیدا کردم اونم استفاده از Vtext.dll هستش البته فقط اولین TTS آمریکایی رو میشه استفاده کرد.
عالیه! منظورتون TTS های کدوم شرکته؟ کیفیت و حجمشون چقدره؟

h-rafiee
دوشنبه 02 مرداد 1391, 03:46 صبح
مشکل با TTS های زیر می باشد.
L&H TruVoice American English voices (10 voices)
که با اسم tv_enua.exe فایل نصبیشون و 0.97 مگابایت فایلش.
که داخل جستجو هایی که ایجاد کردم همه رو به صورت
Adult Male/Female,American English (TruVoice
نشون میده که شماره های متفاوتی دارند.

مهرداد صفا
سه شنبه 03 مرداد 1391, 23:52 عصر
مشکل با TTS های زیر می باشد.
L&H TruVoice American English voices (10 voices)
که با اسم tv_enua.exe فایل نصبیشون و 0.97 مگابایت فایلش.
که داخل جستجو هایی که ایجاد کردم همه رو به صورت
Adult Male/Female,American English (TruVoice
نشون میده که شماره های متفاوتی دارند.


سلام چیز خاصی نیست. تقریبا میشه گفت این صداها از یک گروه هستند که این طور نام گذاری شدند اگر چک کنید میبینید که احتمالا gender متفاوتی دارند.