اینترنت اشیاء, پروژه, توصیه شده, هوش مصنوعی

راه اندازی ماژول تشخیص گفتار آفلاین VC 02

ماژول تشخیص گفتار VC01

چندماه پیش بود که مطلبی در مورد ماژول تشخیص گفتار آفلاین VC-01 منتشر کردم، واقعا جالب و شگفت انگیز بود قابلیت این ماژول در سرعت و دقت، حالا بعد از مدتی برگشتم سراغش تا ببینم آیا میشه به راحتی خودمون براش کلمه تعریف بکنیم و دستورات و عملکرد هایی که میخوایم رو براش مشخص کنیم. جواب مثبت بود و اینکار شدنی بود، اونهم به صورت رایگان (هزینه ای بابت sdk نیاز نیست پرداخت کنید) علاوه بر اون خییلی راحت. خلاصه که حیفم اومد با شما به اشتراک نزارم، پس با سیسوگ همراه باشید تا sdk خودمون رو برای ماژول VC-02 بسازیم.

 

ماژول AI Thinker VC-02

اول از همه باید بگم که ماژول های تشخیص گفتار آفلاین شرکت ai thinker دو مدل هستند VC-01 و VC-02. اینطور که در مشخصات ارائه شده توسط این شرکت مشخصه این دوتا ماژول تفاوت خاصی ندارند، فقط VC 02 جدیدتر هست و از نظر ابعادی تقریبا نصف VC 01، ما هم در این آموزش از ماژول VC 02 استفاده میکنیم.

در ادامه مشخصات این ماژول رو میتونید بررسی کنید.

Kernel •
32bit RISC core, running at 240MHz
Support DSP instruction set and FPU floating-point operation Unit
FFT Accelerator: Support 1024-point complex FFT/IFFT operations, or 2048-point real
FFT/IFFT operations
Unisound customized speech algorithm operator
Storage
Built-in 242KB high-speed SRAM
Built-in 2MB FLASH
Audio input and output
Supports 1 analog Mic input, SNR ≥ 94dB
Support 4-channel digital Mic input
Support dual-channel DAC output
Supports I2S input/output
Power supply and clock
Support 3.6 V-5V Range Power Input
Built-in 5V to 3.3V,3.3V to 1.2V LDO power the chip
RC 12MHz clock source and PLL locked loop clock source
Built-in POR(Power on Reset), low voltage detection and watchdog
Peripheral
All GPIOs can be configured as external interrupt input and wake-up source
1 full-duplex UART with a maximum rate of 3Mbps.
Support SPI, I2C, ADC, PWM interface

این تصویر خود ماژول هست.

پشت و روی ماژول VC-02

و این هم برد توسعه ای که توسط خود ai thinker ارائه شده.

برد توسعه VC-02

شما میتونید تا 150 دستور رو در این ماژول ذخیره کنید که زیادم هست.

 

ساخت SDK

برای ساخت sdk باید از سایت voice ai-thinker استفاده کنیم، اول از همه یک حساب کاربری توی سایت میسازیم، بعد از اون از منوی کناری گزینه create product رو انتخاب میکنیم. این قسمت دسته بندی تا اونجا که متوجه شدم تاثیری توی خروجی کار نداره و خیلی مهم نیست که چی انتخاب میکنید،‌ اما ما اینجا lamps -> cw light رو انتخاب میکنیم.

شاید برای شما مفید باشد: آموزش الکترونیک از 0 تا 100

حالا دسته offline و سپس ماژول VC 02 رو انتخاب میکنیم.

ساخت SDK در سایت voice ai-thinker

 

بعد هم اسم دلخواه و زبان رو انتخاب کنید و save کنید.

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

مشخص کردن وضعیت پین ها

 

حالا در قسمت Wake-up word customization باید جملاتی که میخواید ماژول با اونها بیدار بشه و شروع به دریافت دستورات صوتی بکنه رو مشخص کنید.

مشخص کردن متن wake up

 

در قسمت Customize offline command words and response words جملاتی که میخوایم به عنوان یه دستور شناخته بشند رو مشخص میکنیم، قسمت behavior برای این هست که بعدا داخل کد بتونیم مشخص کنیم برای هر دستور چه کاری انجام بده، قسمت command word هم متن دستور ما هست، البته میتونیم برای هر دستور چند جمله مختلف مشخص کنیم که همه اونها یک کار رو انجام بدند، اینکار با اضافه کردن ” | ” بین جملات انجام میشه.

Customize offline command words and response words

 

در قسمت Wake-up-free command words میتونید یکسری دستورات رو مشخص کنید که نیازی به wake up نداشته باشند و خود دستور رو هر موقع گفتید عمل کنه.

Wake-up-free command words

در قسمت boot broadcast هم میتونیم یک جمله رو مشخص کنیم که تا ماژول روشن شد بگه.

بخش boot broadcast

حالا دکمه make new version رو میزنیم و بعد از اون دکمه build sdk رو میزنیم و بعد چند دقیقه میتونیم sdk رو دانلود کنیم.

 

کامپایل SDK

برای کامپایل sdk لازمه که از لینوکس استفاده کنید. من از ubuntu18.04 استفاده میکنم

اول از همه این پکیج ها رو نصب میکنیم.

اگر دستور آخر به ارور خورد از این دستور استفاده کنید.

بعد از اون باید فایل های این ریپازیتوری رو دانلود کنیم و در پوشه /opt/Andestech بریزیم که با این دستور انجام میشه.

 

حالا فایل sdk رو که از سایت دانلود کردیم توسط یک ادیتور باز میکنیم.

فایل SDK

بعد از اون باید فایل hb_auto_gpio.c رو که در مسیر uni_hb_m_solution/unione_lite_app_hb_m/user/src/examples هست به صورت زیر تغییر بدیم.

بخش اصلی که ما تغییر دادیم تابع _custom_setting_cb هست که در اون میگیم اگر هر کدوم از دستورات دریافت شد چه کاری انجام بده.

بعد از اون به پوشه /uni_hb_m_solution/unione_lite_app_hb_m میریم و این دستور رو میزنیم تا پروژه کامپایل بشه.

فایل خروجی ما در این مسیر قابل دسترسی هست.

 

حالا برای پروگرام باید از ویندوز و نرم افزار  UART burning tool  استفاده کنیم.

UART burning tool vc-01

بعد از انتخاب فریمور، با زدن اون دکمه چینی پایین سمت راست صفحه منتظر ریست شدن ماژول میشه و بعد که ماژول رو به‌صورت دستی ریست کردیم فریمور شروع به آپلود شدن میکنه.

این هم از فیلم تست ماژول

فروشگاه امبدد تک

 

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

29 دیدگاه در “راه اندازی ماژول تشخیص گفتار آفلاین VC 02

  1. Avatar for جلال جلال گفت:

    با سلام و درود. من این ماژول را بدون برد توسعه خریداری کردم. پایه ربست این ماژول کدامه و چطوری ریست میشه؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      داخل این داکیومنت شماتیک کیت هست و میتونید ازش کمک بگیرید
      https://docs.ai-thinker.com/_media/vc-02-kit_specification_v1.0.0.pdf

  2. Avatar for امیر امیر گفت:

    سلام اموزش عالیه یه پروژه دارم میسازم به یه همچین چیزی نیاز داشتم.فقط اینکه از کجا خریداریش کنم سرچ میکنم سایتا ندارن

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      همونطور که انتهای مطلب اشاره شده ، از فروشگاه امبددتک میتونید تهیه کنید
      https://embeddedtech.ir/product-tag/vc-02/

  3. Avatar for محمد محمد گفت:

    سلام برای ساخت حساب کاربری شماره موبایل وارد میکنم میگه فرمت اشتباه هست ایمیل هم وارد میکنم همین میگه میشه بیشتر توضیح دهید چجوری حساب کاربری درست کنیم

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      مثل اینکه با بعضی اینترنت ها ایمیل رو قبول میکنه و با بعضی نه ! البته این مشکل فقط برای ساخت حساب هست
      با اینترنت ثابت یا همراه دیگه هم تست کنید. اگر نشد به من ایمیل بدید تا تلگرام پیام بدید تا براتون با ایمیل خودتون اکانت بسازم

  4. Avatar for جواد جواد گفت:

    سلام خسته نباشید
    چطوری میشه از طریق پورت سریال با آردوینو ارتباط برقرار کرد؟

  5. Avatar for محمد محمد گفت:

    سلام کلا خود ماژول چند تا خروجی داره برای کنترل وسایل؟
    امکانش هست که با اتصال ماژول به اردوینو از طریق پایه های سریال بشه خروجی های بیشتری را کنترل کرد ؟ چگونه ؟
    و اینکه برای فعال کردن و خاموش کردن یکی از خروجی های ماژول چند تا دستور داره ؟
    یا فقط یه دستور داره برای کنترل هر خروجی ؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      خود ماژول 10 پایه gpio داره
      همچنین پورت سریال داره که میشه از طریق اون با آردوینو ارتباط گرفت
      نحوه راه اندازی gpio ها در همین آموزش گفته شده و کد اون رو میتونید بررسی کنید

  6. Avatar for Mohammad Mohammad گفت:

    بله هیچ پارامتری رو هم وارد نمیکنم بازم fail میشه با قند شکن هم امتحان کردم نشد به شرکتشونم ایمیل زدم جواب ندادن

  7. Avatar for Mohammad Mohammad گفت:

    سلام من هرچی داخل سایتش build sdk میکنم بعد چند دیقه build fail میشه راهکارش چیه؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      باید اطلاعات بیشتری بدید تا بشه کمک کرد
      برای دفعه اول هیچ پارامتری رو توی سایت تنظیم نکنید و build بزنید و ببینید آیا باز هم fail میشه ؟

  8. Avatar for حمزه علی حمزه علی گفت:

    سلام
    ممنون از پروژه ی جالبتون
    برای انجام این پروژه باید زبان برنامه نویسی بلد باشی؟
    اگر جواب بله هست، چه زبان برنامه نویسی؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      بله باید به زبان c مسلط باشید

  9. Avatar for سعید سعید گفت:

    سلام در قسمت other configuration یکجایش تایم اوت گفته بزارید که مثلا اگر کاربر ۱۰ ثانیه صحبت نکرد پیغامی رو بگه …. من بعد از پخش این پیام دیگه کار نمیکنه و مجبورم خاموش و روشن کنم راهکار چیه بخواهیم این اتفاق نیفته و اگر کسی چیزی نگه بازم مثل روال کار خودش رو کنه

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام. من تست کردم مشکلی نداشته.
      بررسی کنید که فریمور درست رو روی ماژول ریخته باشید

  10. Avatar for مبین مبین گفت:

    سلام ، موقع ثبت نام توی سایت شماره تلفن لازم داره ، باید از شماره مجازی برای ثبت استفاده کرد ؟ چه کشور هایی رو قبول میکنه ؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      اصلا نیازی به شماره تلفن نیست
      اون بخش verifaction code مال ایمیل هست و کد رو براتون ایمیل میکنه
      اشتباه نوشته phone verifaction code

      1. Avatar for مبین مبین گفت:

        مگه نباید از این لینک برای ساخت حساب اقدام کنیم ؟
        http://voice.ai-thinker.com/#/register
        یا من جای اشتباه میرم

  11. Avatar for عطوفی عطوفی گفت:

    سلام موقع نصب پکیج هایی که گفتید ارور unable to locate package lib32ncurses5 رو به من میده چیکار میتونم بکنم

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام از چه توزیع لینوکس و چه نسخه ای استفاده میکنید ؟

      1. Avatar for عطوفی عطوفی گفت:

        ubuntu-22.04.2

        1. Avatar for Mahdi.h   Mahdi.h   گفت:

          مشکل از نسخه لینوکس هست
          پیشنهاد میکنم نهایتا از نسخه ubuntu 18.04 استفاده کنید
          یعنی یا 18.04 یا 16
          چون بعد از این مشکل ممکنه به مشکلات دیگه ای هم بر بخورید

          1. Avatar for سعید سعید گفت:

            سلام در قسمت other configuration یکجایش تایم اوت گفته بزارید که مثلا اگر کاربر ۱۰ ثانیه صحبت نکرد پیغامی رو بگه ….
            من بعد از پخش این پیام دیگه کار نمیکنه و مجبورم خاموش و روشن کنم
            راهکار چیه بخواهیم این اتفاق نیفته
            و اگر کسی چیزی نگه بازم مثل روال کار خودش رو کنه

          2. Avatar for Mahdi.h   Mahdi.h   گفت:

            سلام. ماژول نمیتونه همیشه توی حالت فعال باشه و یه time out داره . میتونید بسته به نیاز ماژول رو wake up کنید که این کار میتونه با دستورات صوتی یا با کمک gpio ها باشه

  12. Avatar for عرفان خیراللهی عرفان خیراللهی گفت:

    سلام!
    آیا امکان تشخیص گفتار فارسی رو هم داره؟
    یا فکر می‌کنید آیا می‌شه اضافه‌اش کرد؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      امکانش رو نداره و قابل اضافه کردن هم نیست

  13. Avatar for سعید ساهور سعید ساهور گفت:

    سلام
    این ماژول رو از کجا تهیه کردید ؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      همونطور که در انتهای مطلب اشاره شده ، از فروشگاه امبددتک میتونید تهیه کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *