🎤 تشخیص گفتار - کنترل صوتی برای اسکرچ #
افزونه تشخیص گفتار، کنترل صوتی واقعی را به اسکرچ میآورد.
این افزونه به شما امکان میدهد کلمات گفته شده را ضبط کرده و آنها را به متن تبدیل کنید - امکان فرمانهای صوتی، دیکته، پروژههای یادگیری زبان و بازیهای تعاملی کنترل صوتی - همه را در زمان واقعی، درست در مرورگر خود فراهم میکند.
به اندازه کافی ساده برای مبتدیان، و در عین حال قدرتمند برای کلاسهای درس خلاق. ✨
🌟 مرور کلی #
- تبدیل گفتار به متن: کلمات گفتاری را ضبط کنید و از آنها در پروژههای اسکرچ خود استفاده کنید.
- پشتیبانی از چند زبان: تشخیص گفتار در بیش از ۲۵ زبان از جمله انگلیسی، اسپانیایی، فرانسوی، آلمانی، عربی، فارسی، چینی، ژاپنی، کرهای و بسیاری دیگر.
- تشخیص همزمان: رونویسی فوری از کلمات گفته شده را دریافت کنید.
- ادغام آسان: از بلوکهای ساده برای شروع گوش دادن و بازیابی متن شناخته شده استفاده کنید.
- تبدیل اعداد: برای پردازش آسانتر، ارقام فارسی/عربی را به اعداد انگلیسی تبدیل کنید.
- مبتنی بر مرورگر: در کروم، مایکروسافت اج و اکثر مرورگرهای مبتنی بر کرومیوم که از Web Speech API پشتیبانی میکنند، کار میکند.
✨ ویژگیهای کلیدی #
- بیش از ۲۵ زبان پشتیبانی شده با انواع مختلف منطقهای.
- API تشخیص گفتار داخلی مرورگر (Web Speech API).
- دستور سادهی «بشنو و منتظر بمان» برای دریافت همزمان صدا.
- تغییر زبان در پروژههای چندزبانه به صورت آنی.
- مستقیماً از طریق مرورگر شما کار میکند - سریع و پاسخگو.
- نیازی به تنظیمات یا کلیدهای API نیست - به طور خودکار با API داخلی مرورگر شما کار میکند.
🚀 نحوه استفاده #
- بروید به: pishi.ai/play
- بخش افزونهها را باز کنید.
- افزونه تشخیص گفتار را انتخاب کنید.
- وقتی مرورگرتان از شما خواست، اجازه دسترسی به میکروفون را بدهید.
- تنظیم زبان: از بلوک «زبان [LANGUAGE] شود» برای انتخاب زبان مورد نظر خود استفاده کنید (پیشفرض انگلیسی است).
- شروع به گوش دادن: از بلوک «بشنو و منتظر ماندن» استفاده کنید - افزونه شروع به گوش دادن به میکروفون شما میکند و منتظر صحبت شما میماند.
- بازیابی گفتار: پس از صحبت کردن، متن تشخیص داده شده ذخیره میشود و میتوان آن را با استفاده از بلوک گزارشگر «گفتار» بازیابی کرد.
- استفاده در پروژهها: با بلوکهای دیگر ترکیب کنید تا بازیهای کنترلشونده با صوت، ابزارهای دیکته، فعالیتهای یادگیری زبان و موارد دیگر ایجاد کنید!
نکات
- برای بهترین دقت تشخیص، واضح و با سرعت عادی صحبت کنید.
- برای به حداقل رساندن تداخل نویز پسزمینه، از یک محیط آرام استفاده کنید.
- برای زبانهایی که اعداد غیر انگلیسی دارند (عربی/فارسی)، از بلوک «تبدیل ارقام فارسی/عربی به انگلیسی» برای نرمالسازی اعداد استفاده کنید.
- در کروم، اج و سایر مرورگرهای مبتنی بر کرومیوم که از Web Speech API پشتیبانی میکنند، بهترین عملکرد را دارد.
🧱 بلوکها و توابع #
🎤 دریافت صدا #
شروع به گوش دادن به میکروفون میکند و منتظر میماند تا ورودی گفتار شناسایی شود.
این یک دستور مسدود کننده است اسکریپت تا زمانی که گفتار شناسایی و رونویسی شود، یا تا زمانی که یک وقفه/خطا رخ دهد (تقریباً ۶۰ ثانیه) متوقف میشود.
چگونه کار میکند:
- وقتی این بلوک اجرا میشود، مرورگر از طریق میکروفون شما شروع به گوش دادن میکند.
- کلمات خود را واضح بیان کنید - سیستم تشخیص گفتار، آنچه را که میگویید، رونویسی میکند.
- پس از تشخیص گفتار، متن ذخیره میشود و بلوک کامل میشود.
- اگر هیچ گفتاری تشخیص داده نشود یا خطایی رخ دهد، بلوک با نتیجه خالی کامل میشود.
مهم: مطمئن شوید که مجوزهای میکروفون در تنظیمات مرورگر شما فعال شده است.
آخرین متن گفتار تشخیص داده شده که توسط بلوک «بشنو و منتظر بمان» ضبط شده است را گزارش میدهد.
متن رونویسی شده را به صورت یک رشته یا در صورت عدم تشخیص گفتار یا بروز خطا، یک رشته خالی برمیگرداند.
مثال:
- اگر بگویید «سلام اسکرچ»، این بلوک «سلام اسکرچ» را گزارش میدهد.
- از این بلوک برای نمایش گفتار تشخیص داده شده، مقایسه کلمات، فعال کردن اقدامات یا ذخیره گفتار در متغیرها استفاده کنید.
میزان اطمینان سیستم تشخیص گفتار را در مورد آخرین نتیجه شناسایی شده، به صورت عددی بین ۰ تا ۱ گزارش میدهد (که در آن ۱ به معنای ۱۰۰٪ اطمینان است).
اگر هنوز نتیجهای شناسایی نشده باشد، یا اگر نتیجه هیچ امتیاز اطمینانی نداشته باشد، یک رشته خالی برمیگرداند.
توجه: همه مرورگرها مقدار اطمینان را پر نمیکنند. گوگل کروم به طور قابل اعتمادی آن را برمیگرداند؛ سایر مرورگرها حتی پس از تشخیص موفقیتآمیز، ممکن است همیشه یک رشته خالی گزارش دهند.
چگونه کار میکند:
- پس از اتمام «بشنو و منتظر بمان»، این بلوک یک عدد اعشاری مانند ۰.۹۲ (به معنای ۹۲٪ اطمینان) را برمیگرداند.
- مقدار بالاتر به این معنی است که مرورگر در مورد آنچه شنیده، اطمینان بیشتری داشته است.
- نمره اطمینان پایین میتواند به این معنی باشد که باید از کاربر بخواهید حرفش را تکرار کند یا واضحتر صحبت کند.
مثال:
- از یک بلوک «اگر» برای بررسی استفاده کنید: اگر (اطمینان) > 0.8 باشد، پاسخ پذیرفته میشود؛ در غیر این صورت از کاربر خواسته میشود دوباره امتحان کند.
- هنگام ساخت و آزمایش پروژه خود، مقدار اطمینان را روی صفحه نمایش دهید تا کیفیت تشخیص را درک کنید.
در حالی که تشخیص گفتار هنوز در حال انجام است - قبل از ثبت نتیجه نهایی - متن موقت فعلی را گزارش میدهد.
همزمان با صحبت شما، بهطور مداوم بهروزرسانی میشود و پیشنمایشی از آنچه مرورگر میشنود، بهصورت آنی در اختیار شما قرار میدهد.
چگونه کار میکند:
- در حالی که «بشنو و منتظر بمان» در حال اجرا است و شما صحبت میکنید، این بلوک بهترین حدس مرورگر تاکنون را منعکس میکند.
- این مقدار با پردازش هر هجا یا کلمه توسط سیستم تشخیص گفتار، به سرعت تغییر میکند.
- پس از اتمام تشخیص گفتار، «گفتار» حاوی متن نهایی تأیید شده و «گفتار زنده» حاوی آخرین متن موقت است.
مثال:
- «گفتار زنده» را در یک حباب گفتاری روی اسپرایت خود نمایش دهید تا مخاطبان بتوانند کلماتی را که همزمان با صحبت شما ظاهر میشوند، به صورت زنده ببینند.
- از آن برای ساخت یک زیرنویس زنده یا جلوهای به سبک تلهپرامپتر در پروژه خود استفاده کنید.
نکته - از «کلمه بعدی» برای دستورات صوتی استفاده کنید: برای پروژههایی که نیاز به واکنش به کلمات گفتاری جداگانه دارند - مانند بازیای که بازیکن میگوید «بپر»، «چپ» یا «آتش» - بلوک «کلمه بعدی» کاربردیتر از نمونهگیری مستقیم «گفتار زنده» است. به زیر مراجعه کنید.
کلمه بعدی را از صف انتخاب شده خارج کرده و برمیگرداند، یا اگر صف خالی باشد، یک رشته خالی برمیگرداند.
MODE: زنده (متن موقت و همزمان) یا نهایی (متن نهایی و تأیید شده) را انتخاب کنید.
چگونه کار میکند:
- در حالی که «بشنو و منتظر بمان» در حال اجرا است، هر بهروزرسانی موقت رونوشت از مرورگر با تعداد کلمات مشاهدهشده قبلی مقایسه میشود؛ هر کلمه جدید اضافهشده به صف زنده اضافه میشود. وقتی مرورگر نتیجه نهایی را ثبت میکند، تمام کلمات رونوشت نهایی به طور همزمان به صف نهایی اضافه میشوند.
- هر بار که اسکریپت شما این بلوک را میخواند، قدیمیترین کلمه در حال انتظار به صورت خودکار از صف انتخاب شده حذف شده و بازگردانده میشود.
- اگر چندین کلمه قبل از اینکه اسکریپت شما آنها را بخواند، برسند، همه آنها در صف منتظر میمانند - هیچ کدام از دست نمیروند.
- صف زنده: هرگز به طور خودکار پاک نمیشود. کلمات جلسات قبلی «بشنو و منتظر بمان» تا زمانی که اسکریپت شما آنها را بخواند، باقی میمانند. این صف تا ۲۰۰ کلمه را در خود جای میدهد. اگر پر شود، قدیمیترین کلمات خوانده نشده حذف میشوند تا جا برای کلمات جدید باز شود.
- صف نهایی: هر بار که یک «بشنو و منتظر ماندن» جدید شروع میشود، به طور خودکار پاک میشود، بنابراین فقط کلمات گفتار اخیر بازگردانده میشوند.
- وقتی صف انتخاب شده خالی باشد، مقدار خالی را برمیگرداند.
زنده در مقابل نهایی - از کدام استفاده کنیم؟
- زنده - کلمات سریعتر میرسند (در حالی که شما هنوز در حال صحبت هستید)، که آن را برای بازیهای بلادرنگ و دستورات سریع بهتر میکند. ممکن است گاهی اوقات خروجیهای اصلاحی ایجاد کند زیرا مرورگر حدس خود را در اواسط کلمه اصلاح میکند.
- نهایی - کلمات فقط پس از اینکه مدل زبان مرورگر، متن کامل را نهایی کرد، ثبت میشوند. دقیقتر است اما دیرتر میرسد (پس از اینکه صحبت کردن را متوقف میکنید). صف نهایی با هر «بشنو و منتظر بمان» جدید، مجدداً ریست میشود، بنابراین هیچ کلمه قدیمی از گفتار قبلی منتقل نمیشود.
کاربرد معمول - بازی با کنترل صوتی:
- اجرای «بشنو و منتظر بمان» در یک اسکریپت (در حین صحبت کاربر فعال میماند).
- در یک حلقهی بینهایت جداگانه، هر تیک عبارت «کلمه بعدی [زنده]» را بخوانید و به هر دستور به ترتیبی که گفته شده است، واکنش نشان دهید.
توجه - کلمات تکراری ممکن است بیش از حد شمارش شوند: مرحله نهایی تشخیص کروم، کل صدا را با یک مدل زبانی دوباره تجزیه و تحلیل میکند و برای کلمات تکراری یکسان، مرزهای صوتی مبهم هستند - مدل، گاهی اوقات یک نمونه مازاد اضافه میکند (مثلاً گفتن «همه» سه بار ممکن است چهار بار تولید کند). این یک رفتار مرورگر است که افزونه نمیتواند آن را اصلاح کند. برای جلوگیری از آن: از کلمات دستوری کوتاه و از نظر آوایی متمایز («بپر»، «چپ»، «آتش») استفاده کنید.
🌍 تنظیمات زبان #
زبان تشخیص گفتار را تنظیم میکند.
LANGUAGE: از منوی کشویی شامل بیش از ۲۵ زبان و گونههای منطقهای پشتیبانیشده، یکی را انتخاب کنید.
زبانهای پشتیبانیشده:
- عربی (العربية)
- پارسی (فارسی)
- انگلیسی (English)
- انگلیسی - آمریکایی (en-US)
- انگلیسی - بریتانیایی (en-GB)
- آلمانی (Deutsch)
- اسپانیایی - اسپانیا (Español)
- اسپانیایی – آمریکای لاتین (Español Latinoamericano)
- فرانسوی (Français)
- ایتالیایی (Italiano)
- پرتغالی (Português)
- پرتغالی - برزیلی (Português Brasileiro)
- روسی (Русский)
- ترکیهای (Türkçe)
- اوکراینی (Українська)
- کرهای (한국어)
- ژاپنی (日本語)
- چینی - ساده شده (简体中文)
- چینی - سنتی (繁體中文)
- هندی (हिंदी)
- بنگالی (বাংলা)
- اندونزیایی (Bahasa Indonesia)
- آذربایجانی (Azəri)
- قزاقی (Қазақша)
- ازبکی (Oʻzbekcha)
توجه: ممکن است برخی از زبانها در کروم پشتیبانی شوند اما در مرورگرهای دیگر پشتیبانی نشوند.
برای مثال، فارسی در حال حاضر در گوگل کروم کار میکند اما ممکن است در مایکروسافت اج خطای «شبکه» نشان دهد.
اگر زبانی گفتار را تشخیص نمیدهد، ابتدا آن را در کروم امتحان کنید.
مثالهای کاربردی:
- پروژههای چندزبانه ایجاد کنید که بین زبانها جابهجا شوند.
- ابزارهای یادگیری زبانی بسازید که کلمات را در زبانهای مختلف تشخیص دهند.
- بازیهای کنترل صوتی بسازید که برای گویندگان زبانهای مختلف قابل دسترس است.
🔢 تبدیل اعداد #
اعداد فارسی (۰-۹) یا عربی (۰-۹) را در متن گفتار تشخیص داده شده به ارقام انگلیسی (۰-۹) تبدیل میکند.
این قابلیت برای پروژههایی که نیاز به پردازش اعداد گفته شده به زبان فارسی یا عربی دارند، مفید است و استفاده از آنها را در عملیات ریاضی یا مقایسه آسانتر میکند.
چگونه کار میکند:
- به طور خودکار ارقام فارسی (۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹) را تشخیص داده و آنها را به (0 1 2 3 4 5 6 7 8 9) تبدیل میکند.
- به طور خودکار ارقام عربی-هندی (٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩) را تشخیص داده و آنها را به (0 1 2 3 4 5 6 7 8 9) تبدیل میکند.
- متن تبدیلشده جایگزین متن گفتار اصلی میشود - در صورت نیاز، این بلوک را پس از «بشنو و منتظر ماندن» فراخوانی کنید.
مثال:
اگر گفتار تشخیص داده شده «شماره ۱۲۳» (عدد 123 به رقم فارسی) باشد، پس از تبدیل، متن گفتار با ارقام انگلیسی به «شماره 123» تبدیل میشود.
نکته: هنگام کار با گفتار فارسی یا عربی از این بلوک استفاده کنید تا مطمئن شوید که اعداد در قالبی هستند که اسکرچ میتواند به راحتی برای محاسبات از آن استفاده کند.
🎓 کاربردهای آموزشی #
- آموزش زبان: ابزارهای تمرین تلفظ ایجاد کنید - دانشآموزان کلمات را بیان میکنند و سیستم، گفتار آنها را بررسی میکند.
- آزمونهای واژگانی بسازید که به پاسخهای گفتاری پاسخ میدهند.
- پروژههای داستانسرایی چندزبانه ایجاد کنید که در آنها شخصیتها به فرمانهای صوتی به زبانهای مختلف پاسخ میدهند.
- مفاهیم دسترسیپذیری را آموزش دهید - نشان دهید که چگونه کنترل صوتی میتواند به افراد دارای معلولیت در تعامل با فناوری کمک کند.
- پردازش زبان طبیعی را اکتشاف کنید - دانشآموزان یاد میگیرند که چگونه ماشینها گفتار انسان را درک میکنند.
- بازیها و شبیهسازیهای کنترلشده با صدا ایجاد کنید تا مهارتهای زبانی را در متن تمرین کنید.
- ابزارهای دیکته برای تمرین نوشتن و داستانسرایی خلاقانه بسازید.
🎮 پروژههای نمونه #
- بازی با فرمانهای صوتی: برای کنترل یک اسپرایت، بگویید «چپ»، «راست»، «بپر».
- ۸ توپ جادویی: با صدای بلند یک سوال بپرسید - اسپرایت با یک پاسخ جواب میدهد.
- ماشین حساب صوتی: مسائل ریاضی مانند «پنج به علاوه سه چند میشود» را بگویید - اسپرایت پاسخ را نمایش میدهد.
- آزمون زبان: اسپرایت میپرسد «چطور به اسپانیایی سلام میکنید؟» - دانشآموز با صدا پاسخ میدهد.
- داستان سرایی: داستانی را دیکته کنید و همزمان با صحبت کردن، شاهد نمایش آن روی صفحه باشید.
- انتخابگر رنگ: نام یک رنگ را بگویید - اسپرایت به آن رنگ تغییر میکند.
- شبیهساز حیوانات خانگی: به یک حیوان خانگی مجازی دستورات صوتی مانند «بشین»، «بازی کن»، «بخواب» بدهید.
- خوشامدگوی چندزبانه: به زبانهای مختلف صحبت کنید - اسپرایت زبان را تشخیص میدهد و بر اساس آن پاسخ میدهد.
🧩 خودتان امتحان کنید: pishi.ai/play
🔧 نکات و عیبیابی #
🎤 نکات ویژه تشخیص گفتار #
- میکروفون کار نمیکند؟ مجوزهای مرورگر را بررسی کنید - مطمئن شوید که سایت به میکروفون دسترسی دارد.
- گفتار را به طور دقیق تشخیص نمیدهد؟ واضح صحبت کنید و نویز پسزمینه را کاهش دهید. برای کیفیت بهتر از هدست یا میکروفون خارجی استفاده کنید.
- زبان اشتباهی تشخیص داده شده است؟ قبل از گوش دادن، مطمئن شوید که زبان صحیح را با استفاده از گزینه «زبان[LANGUAGE] شود» تنظیم کردهاید.
- خطای «تشخیص گفتار پشتیبانی نمیشود»؟ این افزونه به کروم، اج یا مرورگر دیگری مبتنی بر کرومیوم با پشتیبانی از Web Speech API نیاز دارد. سافاری و فایرفاکس پشتیبانی محدودی دارند یا اصلاً پشتیبانی نمیکنند.
- زبان در مرورگر شما کار نمیکند؟ برخی از زبانها (مانند فارسی) ممکن است در Edge یا سایر مرورگرها پشتیبانی نشوند. برای بهترین سازگاری، از Chrome استفاده کنید.
- پایان مهلت یا عدم تشخیص گفتار؟ سیستم حدود ۶۰ ثانیه برای گفتار منتظر میماند - اگر چیزی تشخیص داده نشود، پایان مهلت داده شده متن خالی را برمیگرداند.
- اعداد درست کار نمیکنند؟ برای گفتار فارسی یا عربی، از بلوک تبدیل اعداد برای نرمالسازی ارقام استفاده کنید.
- کیفیت تشخیص گفتار متفاوت است؟ دقت تشخیص گفتار به لهجه، تلفظ و وضوح گفتار بستگی دارد - نتایج ممکن است بین کاربران متفاوت باشد.
- کلمات تکراری بیشتر از آنچه گفته میشود، ظاهر میشوند؟ این یک رفتار شناختهشده مرورگر است. مرحله تشخیص نهایی کروم، کل صدا را با یک مدل زبانی دوباره تجزیه و تحلیل میکند و برای کلمات تکراری یکسان، مرزهای صوتی مبهم هستند - مدل گاهی اوقات یک نمونه مازاد اضافه میکند. از کلمات دستوری کوتاه و متمایز استفاده کنید و از تکرار همان کلمه به عنوان یک دستور بازی خودداری کنید.
- اتصال به اینترنت: Web Speech API برای اکثر زبانها از سرویسهای ابری گوگل استفاده میکند - برای کار کردن تشخیص گفتار، اتصال به اینترنت لازم است.
- شما میتوانید هر زمان که خواستید با متوقف کردن اسکریپت یا بارگذاری مجدد پروژه، تشخیص را متوقف کنید.
🔒 حریم خصوصی و امنیت #
- این افزونه از رابط برنامهنویسی کاربردی گفتار وب داخلی مرورگر استفاده میکند که ممکن است صدا را برای پردازش به سرورهای گوگل ارسال کند (بسته به پیادهسازی مرورگر).
- صدا فقط برای رونویسی پردازش میشود - متن گفتار به مرورگر شما برگردانده میشود و توسط این افزونه ذخیره نمیشود.
- صدا توسط مرورگر شما با استفاده از Web Speech API پردازش میشود - Pishi.ai و Scratch هرگز هیچ دادهای را دریافت یا ذخیره نمیکنند.
- هیچ اطلاعات شخصی یا ضبط گفتاری توسط Pishi.ai یا Scratch ذخیره یا منتقل نمیشود.
- همیشه تنظیمات حریم خصوصی مرورگر خود و مجوزهای دسترسی به میکروفون را بررسی کنید.
🧪 اطلاعات فنی #
- رابط برنامهنویسی کاربردی: Web Speech API (SpeechRecognition / webkitSpeechRecognition)
- مرورگرهای پشتیبانیشده: کروم، اج و اکثر مرورگرهای مبتنی بر کرومیوم که از Web Speech API پشتیبانی میکنند
- زبانها: بیش از ۲۵ زبان و گونههای منطقهای
- زمان انتظار: تقریباً ۶۰ ثانیه گوش دادن برای فراخوانی هر «بشنو و منتظر بمان»
- حالت تشخیص: تشخیص یکبارهای (یک گفتار در هر فراخوانی شنیدن؛ حالت پیوسته پشتیبانی نمیشود)
- نتایج موقت: فعال شده - «گفتار زنده» در حین انجام سخنرانی، بهصورت آنی بهروزرسانی میشود.
- امتیاز اطمینان: توسط مرورگر به صورت اعشاری ۰ تا ۱ ارائه میشود؛ پس از پایان شناسایی، از طریق گزارشگر «اطمینان» در دسترس است.
- نیاز به اینترنت: بله - API گفتار وب معمولاً از پردازش مبتنی بر فضای ابری برای رونویسی استفاده میکند
- تبدیل اعداد: پشتیبانی از فارسی (۰ تا ۹) و عربی-هندی (٠ تا ٩) به انگلیسی (0 تا 9)
- حریم خصوصی: صدا توسط API مرورگر پردازش میشود - پیشی.ایآی اسکرچ هرگز صدای شما را ذخیره نمیکند.
🔗 افزونههای مرتبط #
- 🔊 متن به گفتار - تبدیل متن به صدای گفتاری
- 💬 چت جیبیتی - پاسخهای هوشمند ایجاد کنید، مکالمات را نگه دارید یا چتباتهایی بسازید که صدای شما را میفهمند و به آن پاسخ میدهند.
- 🌐 ترجمه - ترجمه گفتار تشخیص داده شده به زبانهای دیگر برای پروژههای چندزبانه یا تفسیر همزمان.
- 🏫 ماشین آموزشپذیر گوگل - از مدلهای آموزشدیده خودتان برای تشخیص صداها، تصاویر یا حالتهای ایجاد شده در ماشین آموزشی گوگل استفاده کنید.
