سلام
میخوام به نرم افزار بسازم که با دریافت صدای کاربر و تشخیص نوع آن و مقایسه آن با صدای ذخیره شده . به کاربر اجاره ورود به برنامه را بدهد. لطفاً کمک کنید .
سلام
میخوام به نرم افزار بسازم که با دریافت صدای کاربر و تشخیص نوع آن و مقایسه آن با صدای ذخیره شده . به کاربر اجاره ورود به برنامه را بدهد. لطفاً کمک کنید .
سلام دوست عزيز ،
شما بايد اول يه ocr از شركت سازنده ، بخري بعد از اون مي توني استفاده كني ، اگر ocr تشخيص صدا مجاني گير اوردي ما رو هم خبر كن .
سلام
برای دریافت صدای کاربر و ذخیره یا پردازش اولیه، اگه دارید با VB.Net کار می کنید و نمی خواهید زیاد درگیر جزئیات بشید (البته حتماً یه ذره پیش زمینه درباره صوت و نوع فایلهای صوتی -WAV file format- باید داشته باشید، نه اینکه فقط دنبال یه چیز آماده بگردید) بهتره از DirectSound استفاده کنید :
البته احتمالاً می دونید که با یکی دو خط کد، نمیشه همچین کاری کرد، این مقاله تو CodeProject برای اینکه بتونید بدون ورود به پیچیدگیهای ساختاری برای اینکار تو ++C/C برای این کار آماده بشید، نقطه خوبی هست :
کاری که شما قصد انجامش ("تشخیص نوع آن و مقایسه آن با صدای ذخیره شده") رو دارید قسمتی اش، مربوط میشه به مبحثی که معمولاً Voice activity detection - VAD یا Speech detection گفته میشه، و زیاد هم با وی بی نمیشه همچین کارهایی کرد، به نظر من اگه قصد انجام چنین کارهایی (مخصوصاً "مقایسه آن ") دارید، بهتره سکوی برنامه نویسی تون رو عوض کنید.
آخه دوست عزيز، OCR چه ربطی به پردازش صوت داره؟ کسانی که سوال می پرسند، روی گفته های شما حساب می کنند و ممکنه بیراهه برند، کدوم شرکت سازنده کارت صوتی ای با الگوریتم تشخیص گفتار (حالا پولی یا بدون پول)، میده؟ حتی اگه هم کارت هایی با چنین API هایی باشند، مطمئناً به زبان وی بی نخواهند بود!
سلام
دوست عزیز نه تنها با وی بی دات میشه بلکه با وی بی 6 هم امکانش هست . من نرم افزاری دارم که با وی بی 6 نوشته شده است که گفته های شخص رو از میکرفون دریافت میکنه و با فایلی با فرمت wav مقایسه میکنه و حتی دو فایل را به شکل نموداری با هم مقایسه میکنه که ما برای آموزش زبان از آن استفاده میکنیم اما به دلیل کپی رایت نمیتوانم dll مربوطه را به کسی بدهم اسم برنامه Linqs و در سوئد نوشته شده است .
سلام من یک نمونه دارم( البته با VB6 نوشته شده)
اولش اصلا با صدای من کار نکرد اما با یکمی دست کاری رو کد به خوبی عمل کرد...
البته زیاد نباید روش حساب کرد...
اگه برای تو هم اول کار نکرد ناراحت نشو رو کدش کار کن ، می تونی...
با سلام، جناب Hossein Bazyan :
همونطورکه خودتون فرمودید، موتور پردازش و تشخیص صوتی در برنامه مورد استفاده شما تو یک فایل dll خارجی نهفته است و بار عملیاتی بر دوش این کتابخانه است. این رو مطمئن باشید که هیچ عاقلی سرعت، توانایی و از همه مهمتر انعطاف پذیری ++C/C و اسمبلی در استفاده از منابع سیستم و انواع داده ها، ساختارها و عملیات بیتی رو رها نمی کنه و بیاد dll مربوطه رو با وی بی بنویسه! من به اینصورت عرض نکردم که "با وی بی نمیشه"؛ عرض بنده این بود که عملیات مرتبط با لایه های پایین در کار با چنین مواردی از عهده VB خارجه، و هنوز هم رو حرفم هستم. یعنی چیزی در این سطح از یه برنامه نویس وی بی انتظار نمیره، به زبان دیگه قابلیت این زبان (بهتره بگیم اینترپرتر!) نیست که بتونه همچین کاری بکنه!
یه لحظه هم نمیشه تصور کرد که چه بلایی سر آدم میاد وقتی بخواد بافرهای Waveframe کپچر شده از کاربر (کار با سخت افزار بماند!) رو درون ساختاری که با وی بی طراحی شده بریزه و بعد اونو با یه Wave ذخیره شده رو سیستم، با الگوریتمهای پیچیده ای ( نمونه یه مقاله در این زمینه) مقایسه کنه (ببینید واسه یه فایل یه دقیقه ای چقدر بافر تو حافظه احتیاج خواهید داشت و گذشته از اون از عملیات بیتی هم خبری نیست و ...). والّا نوشتن یه GUI برای یه موتور پردازشی صوتی با اسکریپت نویسی هم امکان پذیره، نه علم میخواد نه زحمت ...
صحبت شما مثل این می مونه که skin های winamp رو کار اصلی اون بدونید، اینها لایه های بالایی نرم افزار هستند و چیزی هست که در سطح کاربر هستند، اصل کارکرد برنامه کار با منابع سیستم و پردازش بافرهای صوتی و الگوریتمهای مرتبط با مقایسه صوت ها هستند که با این امکانات فوق العاده محدود وی بی در این زمینه (و مخصوصاً نسخه دات نتی اش)، که شما حتی حق دستکاری اشاره گر ندارین! چه برسه به بیت و بایتهای ساختاری ساده ترین نوع فرمت صوت WaveForm که کاملاً در گیر جزئیات بیتی هست. نمیگم نمیشه همچین کاری کرد (و چنین چیزی هم نگفته بودم)، ولی این کار لقمه رو دور سر گردوندن هست، برای نمونه شما چه ساختاری تو VB.Net برای ساده تربن نوع فرمت صوتی پایین پیشنهاد می کنید؟ با علم به اینکه این ساختار هنوز هیچ کدک یا رمزگذاری ای روش صورت نگرفته!
گذشته از اینها مگه من چی گفتم؟ اولش اینو عرض کردم :
و لینک برنامه نمونه پستم هم به یه article وی بی دات نت بود که از DirectSound داره استفاده می کنه، این نه بحث برانگیز بود نه مقایسه با سایر زبانها.اگه دارید با VB.Net کار می کنید و نمی خواهید زیاد درگیر جزئیات بشید
تنها موردی که تو صحبت هام بهش اشاره کردم این بود:
راستش خیلی ارفاق کردم، باید می گفتم "اصلاً همچین کارهایی با این زبان نمیشه کرد" که شما هم دلیل نقض علمی واسه این نیاوردین، و این که برنامه ای به زبان وی بی هست که از یه dll لایسنس دار (مطمئناً به یه زبان دیگه و بدون سورس!) داره برای این کار استفاده می شه و هیچ قطعه کدی هم برای کار با Wave نیاوردین دلیل رد عرایض بنده نمیشه.مربوط میشه به مبحثی که معمولاً Voice activity detection - VAD یا Speech detection گفته میشه، و زیاد هم با وی بی نمیشه همچین کارهایی کرد، به نظر من اگه قصد انجام چنین کارهایی (مخصوصاً "مقایسه آن ") دارید، بهتره سکوی برنامه نویسی تون رو عوض کنید.
ممنون و موفق باشید.
حرفتون درسته
اما این کار رو میشه با مقایسه نمودار صوتی انجام داد...
به فایلی که گذاشتم دقت کنید
سلام دوستان،
روشی هست توی VB که بشه وقتی ماوس رو روی لینکی بردی توی یه صفحه وب لینک رو تشخیص بده؟؟ یا رنگش رو تشخیص بده؟؟؟
این بحث مال خیلی وقط پیشه می دونم اما منم دچار یک هم چیم مشکلی شدم .. نمی خوام اصلا وارد پردازش بشم بالاخره یکی این کد رو درست کرده دیگه حالا اکتیو اکسی dll چیزی هست .؟!! اگر امکانش هست یکی نام این رو اگر مشکلی نداره بزاره که ببینمیم به لاخره میشه این کار رو با یک طراحی خوب در vb انجام داد یا باید یک خاک دیگه ای به سرمون بریزیم..