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

راه اندازی ماژول تشخیص گفتار آفلاین 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

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

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

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

 

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

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

بازگشت به لیست

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

  1. سعید گفت:

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

    1. Mahdi.h   گفت:

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

  2. مبین گفت:

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

    1. Mahdi.h   گفت:

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

  3. عطوفی گفت:

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

    1. Mahdi.h   گفت:

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

      1. عطوفی گفت:

        ubuntu-22.04.2

        1. Mahdi.h   گفت:

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

          1. سعید گفت:

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

          2. Mahdi.h   گفت:

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

  4. عرفان خیراللهی گفت:

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

    1. Mahdi.h   گفت:

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

  5. سعید ساهور گفت:

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

    1. Mahdi.h   گفت:

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

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

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