سلام
آیا راهی وجود داره که بتوان از طریق صدا به برای برنامه دستور هایی رو اجرا کرد؟
سلام
آیا راهی وجود داره که بتوان از طریق صدا به برای برنامه دستور هایی رو اجرا کرد؟
امروز تو همین فکر بودم
باید کار سختی باشه آنالیز کردن صدا ، یا پیدا کردن شباهتی بین صدای وروی با دیتابیس خیلی پیچیده ست
دوستان بعد از کلی تحقیق به این نتیجه رسیدم که این کار برای زبان فارسی خیلی سخته! (افرین به خودم)
اما خوب روش کار رو دستم اومده اول باید صدا رو بصورت یک نمودار اسپیکتروم دریافت کرد و بعد از کلی فیلترین حذف صدا های مزاحم با یک یا براساس یک گرامر و واج شناسی یک یک قایده کلی برای تلفظ و ادای کلمات هاست به نسخه نوشتاری اون رسید و یا فقط با نمودار از پیش تایین شده ی ای فقط مقایسه بشه که مثلا مطابقت 80 درصد قابل قبوله.
اما سوالی که اینجاست این کار اصلا گوشی میتونه پردازشش رو انجام بده؟؟
سلام
من چند مدت پیش دنبال این موضوع بودم
خیلی دلم میخواست واسه زبون فارسی اینو پیاده سازی کنم
این کار رو که گوشی ها دارن واسه 30 تا زبون انجام میدن، پس گوشی توانایی پردازش رو داره اگه اصولی باشه
ولی همونطور که درست اشاره کردی این کار واسه زبون فارسی یا حالا هر زبونی خیلی سخته
البته اگر صدا ضبط شده باشه و بخوای دستور بگیری خیلی راحت میشه قضیه، مثلا کاربر 20 تا کلمه رو ضبط کنه و بعد توی برنامه ازشون استفاده کنی واسه دستور گرفتن
اما اینکه بخوای برای تمام صداها و کاربران و لهجه هاشون اینو پیاده سازی کنی !!! چیزیه که کار یک نفر نیست و کار کمتر از یک سال نیست
بیشتر می خوایم یک کلاس لابرری برای این کار درست کنم که دیگه این قضیه یک بار برای همیشه تموم بشه.
متاسفانه بله فارسی رو این قابلیت ساپورت نمیکنه حتی داخل SDK خود فریم ورک دانت نت ویندوز هم زبان هایی برای این کار فراهم کردن اما بازم
متاسفانه فارسی جزوشون نیست. همچنین من یک نرم افزار دیدم که جالب بود اسمش speak & translate هست این هم بسیاری از زبان ها را
پشتیبانی میکنه اما خوب خیلیا رو هم مثل فارسی پشتیبانی نمیکنه.
البته بحث لهجه جداست چون باید با یک استانداری حرف بزنه . همین نرم افزار بالایی وقتی من کلمه ای رو میگیم درست نمیفهمه اما وقتی که یک جمله اینگلیسی رو میزارم براش که خیلی سریع گفته میشه اما کاملا بصورت صحیح این عمل رو انجام میده.
اما به هر حال اگر کسی اطلاعاتی یا فرمولی ها یا روش اصولی یا راهی یا نکته خلاصه هر چیز مفیدی که حاصل تجربه خودش بوده بود رو اینجا به اشتراک بگذاره .
من فعلا دارم دوتا مقاله فارسی رو میخونم که زیاد نمیشه روی اونها حساب کرد
ودارم کتابی تحت عنوان Advances in Audio and Speech Signal Processing: Technologies and Applications به سختی هی ترجمه میکنم پیش میرم تا در دو سال اینده بتونم یک همچین چیزی رو به اتمام برسونم (البته اگر تا اون موقع ابزاری معرفی نشده باشه)
پروژه های واسه کامپیوتر بودن و هستند شاید بشه از اونا کمک گرفت ولی چون انحصاری هستن بعید میدونم کمکی بهتون کنن مگه اینکه شما به اینا کمک کنی و واسشون یه اپ اندرویدی بسازی که بازم نمیزارن اون رو به صورت کتابخونه در اختیار دیگران قرار بدی
اون تاپیک ایده بود، یادتونه ؟
من گفتم ایده های بزرگی دارم اما نمیتونم پیاده سازیش کنم چون تنهام و امکانات ندارم، یکیش همین بود
اینو اگر توی ایران پیاده سازی کنیم میلیاردی میشه پول در اورد
بچه های دانشگاه شریف دارن روی این موضوع کار میکنن، برنامه معروف نویسا کار شرکت گویش پرداز رو که میشناسید دیگه
اما نمیدونم چرا هنوز یه همچین چیزی رو بیرون ندادن !!! یا نتونستن
اره تاپیکه فراموش نشدی بود!
والا من نرم افزار نویسا رو دیدم که 6 میلیون تومن فقط نسخه اجرایش رو میفروختن داخل نمایشگاه کتاب امثال که خبری ازش بود اما فکر کنم دوسال پیش تخفیف میدادن 2 تومن .
مشکلی هم نداره انتشار دادن خیلی وقته فکر کنم
اما خودتون حساب کنید که نسخه توسعه دهنده دیگه چقدر قیمتش باشه ! با این چیزایی که من دارم میخونم این ها فقط تجزیه تحلیل سیگنال های صوتیه اما نرم افزار های مثل همین نویسا از هوش مصنوعی الگوریتم های عصبی استفاده میکنن.
دیتای زیادی هم خواهد داشت مثلا یک گیگ حافظه که داخل یک برنامه مثلا نرم افزار تایپ اس ام اس فارسی خیلی زیاده این حجم.
نه این نرم افزار نویسا رو که میدونم بیرون دادن واسه فروش، منظورم نرم افزاری بود که بتونه دستور بگیره و اجرا کنه
اینو هنوز ظاهرا بیرون ندادن، چون نویسا فقط تایپ میکنه
این کار رو عموما با متلب انجام میدن طوری که من چند وقت پیش دنبالش بود و فهمیدم، به احتمال زیاد C هم بتونه این کار رو بکنه
اگر هوش مصنوعی باشه دیتای زیادی نمیخواد !!!
و مورد دیگه اینکه این کار به عنوان یک اپلیکیشن اندروید اصلا ارزش کار کردن نداره آخه
این تکنولوژی رو باید روی خود دیوایس ها پیاده سازی کرد مثل siri آیفون یا همین قابلیت های تشخیص گفتار اندروید یا دیوایس هایی مثل anroid wear ( این آخری رو حتما سرچ بزن و ویدئوهاش رو ببین تو یو-تیو-ب )
یک نرم افزار هست اسمش کارا هست اما به نظر من زیاد هم کارا نیست (فرامین ویندوزی رو انجام میده)
من این کار برای من امکان پذیر نیست ! اما فکر کنم سختی کار باید روی ایجاد یک گرامر و الگوی گفتاری فارسی باشه چون تا اینجایی که من فهمیدم (اصلا نمیدونم چی درسته چی غلطه) فرمول های پردازش صدا تفکیک صدا و فیلترین یک چیز مشخص هست و بوده فقط باید داخل زبان برنامه نویسی پیاده سازی کرد. اما این که چطوری بشه از این امواج مفهموم گرفت این سوال اصلیه فکر کنماگر هوش مصنوعی باشه دیتای زیادی نمیخواد !!!
میخوای از زندگی نا امدم کنی ؟؟؟؟؟!!!!!!! شگت انگیز بود...این تکنولوژی رو باید روی خود دیوایس ها پیاده سازی کرد مثل siri آیفون یا همین قابلیت های تشخیص گفتار اندروید یا دیوایس هایی مثل anroid wear ( این آخری رو حتما سرچ بزن و ویدئوهاش رو ببین تو یو-تیو-ب )
فیلم معرفی رو میزارم برای دوستان دیگه هم که ندیدن ببن:
http://s2.0oo.in/iTube%2f5048606-Int...%20Preview.mp4
من عینک گوگل رو دیده بودم اما این...
ببین این کار اونقدر هم که به نظر میاد سخت نیست، البته برای ما که هیچی از تشخیص گفتار نمیدونیم یکمی میتونه سخت باشه اما نه غیر ممکن
مشکل زمانی پیش میاد که اگر دیتابیس کلمات زیاد بشه اشتباه میره بالا
و گرنه اینکه گرامر دستورات و الگوریتم دستور پیاده سازی بشه یک چیز معمولیه به نظر من، مسئله اصلی تشخیص درست کلمه ست
تشخیص درست کلمه هم وقتی پای 70-80 هزار کلمه در میونه، کار دیتای ذخیره شده نیست، کار هوش مصنوعیه
میدونی من به این فکر میکنم که مثلا قراره تعدادی دستور از پیش تعریف شده رو انجام بده مثلا (حد پایین) 10 تا 100 دستور (حد بالا) که هر کدودم هم چندتا حالت بیشتر ندارند :
مثلا برای دیدن دمای هوا:
وضع هوا رو میخوام.
هوا چنده؟( )
هوا امروز در چه درجه ای هست ؟
همه اینا یک سری کلید واژه دارند فقط برای هر دستور باید کلید واژه ها رو در یک جمله پیدا کرد. (البته بازم میگم فکر میکنم و هیچ اطمینانی از درست بودن فکرم ندارم)
اینکه بخواد یک مفهوم گفتاری رو متوجه بشه کار خیلی سختیه. و واقعا به هوش مصنوعی بالایی نیاز داره و واقعا هم یک کار بزرگی میشه که از عهده چند نفر خارجه!
من هنوز دارم درباره این android wear تحقیق میکنم ببینم که برای این کارها نیاز به اینترنت داره یا نه داخل خودش همه این کار ها رو انجام میده.
این کارها منظورت چیه ؟؟؟ تشخیص صدا رو که خودش انجام میده دیگه
اما اجرا کردن دستورات خب مسلما اگر جستجو باشه، نیاز به اینترنت داره
یعنی برای پردازش گفتار از پردازنده و سیستم داخلی خودش استفاده میکنه؟
این کار یکی دو نفر نیست. اگه واقعا دوست داریم پیاده سازی شه باید همه تو کد نویسیش یه قسمتی رو به عهده بگیریم.
و احتیاج به کسی هست که بتونه کلمات و کلید واژه ها رو جمع آوری کنه.
اتفاقا جای درستی گذاشتی dasssnj جان
یکی از دلایلی که گفتم نمیشه به عنوان یک اپلیکیشن موبایل این طرح رو پیاده سازی کرد همین بود
که ما یک سال زحمت میکشیم این رو پیاده سازی میکنیم، بعد خیلی راحت فایل apk رو کرک میکنن و از دست رنج یک ساله ما استفاده میکنن
و اما commander عزیز، نه برای محاسبات و پردازش اصلا عقلانی نیست که خارج اون سیستم باشه، چون باید در لحظه همه چیز انجام بشه
اینکه بخوایم صدا یا دیتا رو بفرستیم به سرور و اونجا پردازش بشه روش و بعد جواب رو برگردونه که زمان میبره
---------------------------------------------
این طرح پیاده سازی نمیشه مگر اینکه یک شرکت بزرگ این کار رو شروع کنه
چون الان شاید خیلی ها بیان بگن ما هستیم و ما کمک میکنیم، اما کسی که واقعا یک سال بی منت و با تمام وجود زحمت بکشه کم پیدا میشه
و این خیلی مهمه که اگه گروهی میخوان این طرح رو پیاده سازی کنن کنار هم باشن توی یک جا
Google Now - Voice و هر نرم افزار مطرح اندرویدی که تکنولوژی تشخیص صدا رو داشتن که من دیدم، دیتا که همون صدای ضبط شده هست رو به سرور می فرستن و اونجا پردازش می کنن. شاید بهتره بگیم یک Signature از اون صدا (نه لزوماً خود فایل صوتی) رو به سرور ارسال می کنن و عملیات تشخیص اونجا انجام میشه.
اگر واقعاً می خواید انجامش بدید، زیاد بهش فکر نکنید !!! آزمون و خطا انجام بدید.
اگر ایده تون این هست که صدا رو به یک سکانسی از داده ها تبدیل کنید، اول سعی کنید این تبدیل رو انجام بدید.
بعد سعی کنید یک مقایسه انجام بدید و ....
برای شروع کار باید انجام بدید و محدودیت ها رو بسنجید، هرچقدر هم اطلاعات جمع کنید بازهم نیاز به همون آزمون و خطا دارید.
از من می شنوید همین الان برید و آزمایش کنید.
اقا منظور از این چیه ؟اگر هوش مصنوعی باشه دیتای زیادی نمیخواد !!!
دوست عزیز اگه من اسپانسر بیارم که هزینه کار رو قبول کنه به نظرت چند نفر میان برای همکاری؟این کار یکی دو نفر نیست. اگه واقعا دوست داریم پیاده سازی شه باید همه تو کد نویسیش یه قسمتی رو به عهده بگیریم.
و احتیاج به کسی هست که بتونه کلمات و کلید واژه ها رو جمع آوری کنه.
اصلا به نظرت چند نفر دانش این کار رو دارن.
دوست من پردازش صدا مبحث کوچکی نیست که چند نفر دورهم جمع بشن و تمام.
حداقل چندین شخص رو میخواد که دانش کافی داشته باشن ، به اندازه کافی با اصول پردازش صدا اشنا باشن.
حداقل یه سرچ توی ویکیپدیا بزنید و ببینید مباحث چیه ، دانش مورد نیاز چقدره بعد ادامه ماجرا
YES I AM Qt
Code Less
Create More
Deploy Everywhere
نمیدونم
من نظرم این بود که لازم نیست دیتابیس کلمات به صورت صوت یا موج باشه، میشه به صورت کد یا تلفظ باشه
بعدش توسط الگوریتم ها شناسایی و مطابقت رو انجام بدیم ( خلاصش این بود که حتما حجم زیادی نمیخواد، نمیدونم هوش مصنوعی رو از کجا اوردم )
من به شخصه حاضرم روی این پروژه کار کنم چون میدونم آیندش واقعا معرکست
هیچ دانشی ندارم توی این زمینه، صفر صفرم، اما اگه یک کار رو شروع کنم آروم نمیشینم تا تمومش نکنم
آخه این کار سرعت رو خیلی میاره پایین !!! اگر اتصال به شبکه موجود نباشه هم پس نباید کار کنه دیگه !!!
اینطوری که به درد نمیخوره !!! مخصوصا واسه ما ایرانیا
توی ios هم شناسایی صدا آنلاین انجام میشه ؟؟؟ یا فقط توی اندروید ؟
------------------------------------------
آپدیت : سرچ کردم دیدم siri هم آنلاین انجام میده کارشو
به نظرتون وقتی بازی hill climb racing طی ده دقیقه کرک میشه . وقتی ما این همه واسه این برنامه زحمت بکشیم طی چند دقیقه کرک میشه؟
اما من با اپن سورس بودن موافقم . دیگه خبری از کرک نیست و خیالمون راحته.
و اینکه ما هر چقدر بشینیم و حرف بزنیم ؟ به نظر من بهترین جا برای شروع نقطه ی صفره.
(منم مثل poorman جان حاظرم شب نخوابم و لی پروژمو تموم کنم)
(دوسان اگه بازی دیگه ای مد نظرتونه بگید کرک کنم )
این کار به هیچ عنوان امکان پذیر نیست! افراد مختلف زبان های پیاده سازی مختلف هم چنین اگر پروژه های سنگین رو نگاه کنید می بیند که کلی مدیر پروژه مشاور کلی افراد با تخصص بالا سر این جور پروژه ها هستن تا هر کس ساز خودشو نزنه!
بعدم مشکل اینجاست که اول از همه منابع حاضر اماده ای برای یادگیری این مبحث یا مباحثی مثل این ها نیست(مثلا تشخیص چهره) ثانیه . هزینه و زمانی که صرف خواهد شد برای ساخت اینگونه برنامه به هیچ عنوان برای انجام این کارها از عهده یک شخص خارجه دلیل هم اینکه فقط کافیه یک دیکامپایلر کسی از اینترنت دانلود کنه و تمام!
راه خوبیه اما:Google Now - Voice و هر نرم افزار مطرح اندرویدی که تکنولوژی تشخیص صدا رو داشتن که من دیدم، دیتا که همون صدای ضبط شده هست رو به سرور می فرستن و اونجا پردازش می کنن. شاید بهتره بگیم یک Signature از اون صدا (نه لزوماً خود فایل صوتی) رو به سرور ارسال می کنن و عملیات تشخیص اونجا انجام میشه.
این کار هم یک راهکار و خیلی از نرم افزار های که من دیدم از همین روش برای برنامه های سمت گوشی بهره میگیرند.
چون هم از کدها در برابر کرک مقابله میشه و بعدم سرعت و دقت مطابقت بالا میره البته ما باید به دنبال راهی برای کشور خودمون باشیم حالت انلاین برای یک اروِپایی زیاد فرقی با حالت افلاین نداره(تازه خیلی هم بهتر است) اما برای ما ایرانی ها با این وضع خدمات شبکه و سرعت هیچ کاربردی نداره.
اما بازم بسیاری از کار های روز مره نیاز به اینترنت دارند مثلا وضع هوا یا وضع قیمت دلار و خیلی چیزای دیگه.
---------------------------------------------------------------------------------------------------------------------------------------------------
کم کم دارم به این نتیجه میرسم که این کار عملا انجام پذیر نیست مگر اینکه خود گوگل بخواد فارسی هم جز زبان های پشتیبانی شوندش بگذاره مثلا همین Google voice typing که برای زبان های که پشتیبانی میکنه خیلی عالی عمل میکنه.نوشته شده توسط [URL="https://barnamenevis.org/member.php?295320-poorman"
روسا دارن یه کارایی میکنن این ضمینه ، البته با هوش مصنوعی و رو کامپیوتر پیاده ش کردن
دور از انتظار نیست که رو اندروید هم بشه اجراش کرد
وقتی روسا تونستن ایرانی هام میتونن
حتما یه نگاه بهش بندازید جالبه
لینک
مرد حسابی اخه باین پردازنده فسقلی و با این رم درپیت میشه الگوریتم پیاده سازی کرد! ما هنوز داخل بخش دریافت صدا موندیم که چطوری یک الگوی واحد برای حروف داخل کلامات پیدا کنیم ..
اما با امار من تونستم یک عبارت "سلام خوبی" رو تشخیص بدم اما به هیچ عنوان درست عمل نمیکنه مثلا اگر یک مونث بگه که صداش خیلی زیره برنامه بطور کل هنگ میکنه بعدم برای هربار پردازش من حدود 2 دقیقه یکمی بیشتر معطل میشم !
خوب روش محاسبه هم رو تیتر وار میکم:
1- تبدیل بایت ها به نمودار و رسم نمودار(البته نمیدونم چرا سطح نمدار رو باید همه رو منهای 100 کنم تا روی محور قرار بگیره هنوز دارم روش کار میکنم فکر کنم مشکل از میکروفنم باشه چون قاب نداره )
2- پیدا کردن فاصله خالی در نمودار فاصله اولیه فاصله دوم و فاصله سوم
3- نسبت تعداد فراز ها و نشیب های کلمه سلام و به هم یک تناسب ساده و مطابقت اون با تعداد فراز ها و نشیب ها +-20 (میدونم چرا اما این عدد بهترین نتیجه رو میداد)
البته این هنوز با سی شارپ پیاده سازی کردم هنوز داخل اندروید ندادم. اما خوب همین هم برای من بی سواد خیلی بد نیست
یعنی نمیشه
ولی سرعت پیشرفت پردازنده ها و رم ها خیلی بالاست فکر نکنم چیزی مونده باشه تا به این حد برسن که بتونن رو سیستم موبایل پیاده سازیش کنن ، البته هر موقع تونستن رو کامپیوتر پروژه شونو تکمیل کنن که 100 درصد کسی متوجه نشه انسان داره جواب میده یا کامپیوتر اون موقع میان رو موبایل ها
چیزی که الان ساختن شبیه ملکه قرمز فیلم Resident evil شده یه کامپیوتر که به همه سوالات پاسخ میده ، از هز 10 نفر هم 3 نفرشون متوجه نمیشن که کامپیوتر داره بهشون پاسخ میده