You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/fa/6-consumer/lessons/1-speech-recognition/pi-microphone.md

10 KiB

تنظیم میکروفون و بلندگوها - رزبری پای

در این بخش از درس، شما یک میکروفون و بلندگو به رزبری پای خود اضافه خواهید کرد.

سخت‌افزار

رزبری پای به یک میکروفون نیاز دارد.

رزبری پای به صورت داخلی میکروفون ندارد، بنابراین باید یک میکروفون خارجی اضافه کنید. روش‌های مختلفی برای انجام این کار وجود دارد:

  • میکروفون USB
  • هدست USB
  • اسپیکرفون USB همه‌کاره
  • آداپتور صوتی USB و میکروفون با جک ۳.۵ میلی‌متری
  • ReSpeaker 2-Mics Pi HAT

💁 میکروفون‌های بلوتوثی به طور کامل توسط رزبری پای پشتیبانی نمی‌شوند، بنابراین اگر میکروفون یا هدست بلوتوثی دارید، ممکن است در اتصال یا ضبط صدا با مشکل مواجه شوید.

رزبری پای‌ها دارای جک هدفون ۳.۵ میلی‌متری هستند. می‌توانید از این جک برای اتصال هدفون، هدست یا بلندگو استفاده کنید. همچنین می‌توانید بلندگوها را با استفاده از موارد زیر اضافه کنید:

  • صدای HDMI از طریق مانیتور یا تلویزیون
  • بلندگوهای USB
  • هدست USB
  • اسپیکرفون USB همه‌کاره
  • ReSpeaker 2-Mics Pi HAT با بلندگو متصل شده، یا به جک ۳.۵ میلی‌متری یا به پورت JST

اتصال و تنظیم میکروفون و بلندگوها

میکروفون و بلندگوها باید متصل و تنظیم شوند.

وظیفه - اتصال و تنظیم میکروفون

  1. میکروفون را با استفاده از روش مناسب وصل کنید. به عنوان مثال، آن را از طریق یکی از پورت‌های USB وصل کنید.

  2. اگر از ReSpeaker 2-Mics Pi HAT استفاده می‌کنید، می‌توانید پایه Grove را بردارید و سپس HAT ReSpeaker را جایگزین کنید.

    یک رزبری پای با HAT ReSpeaker

    شما در ادامه این درس به یک دکمه Grove نیاز خواهید داشت، اما یکی از این دکمه‌ها در این HAT تعبیه شده است، بنابراین پایه Grove لازم نیست.

    پس از نصب HAT، باید برخی درایورها را نصب کنید. برای دستورالعمل‌های نصب درایور به راهنمای شروع Seeed مراجعه کنید.

    ⚠️ دستورالعمل‌ها از git برای کلون کردن یک مخزن استفاده می‌کنند. اگر git روی رزبری پای شما نصب نشده است، می‌توانید با اجرای دستور زیر آن را نصب کنید:

    sudo apt install git --yes
    
  3. دستور زیر را در ترمینال خود، چه روی رزبری پای یا از طریق VS Code و یک جلسه SSH از راه دور اجرا کنید تا اطلاعات مربوط به میکروفون متصل شده را مشاهده کنید:

    arecord -l
    

    لیستی از میکروفون‌های متصل شده را مشاهده خواهید کرد. چیزی شبیه به موارد زیر خواهد بود:

    pi@raspberrypi:~ $ arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    فرض کنید فقط یک میکروفون دارید، باید فقط یک ورودی مشاهده کنید. تنظیم میکروفون‌ها در لینوکس ممکن است پیچیده باشد، بنابراین بهتر است فقط از یک میکروفون استفاده کنید و سایر میکروفون‌ها را جدا کنید.

    شماره کارت را یادداشت کنید، زیرا بعداً به آن نیاز خواهید داشت. در خروجی بالا شماره کارت ۱ است.

وظیفه - اتصال و تنظیم بلندگو

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

  2. دستور زیر را در ترمینال خود، چه روی رزبری پای یا از طریق VS Code و یک جلسه SSH از راه دور اجرا کنید تا اطلاعات مربوط به بلندگوهای متصل شده را مشاهده کنید:

    aplay -l
    

    لیستی از بلندگوهای متصل شده را مشاهده خواهید کرد. چیزی شبیه به موارد زیر خواهد بود:

    pi@raspberrypi:~ $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
      Subdevices: 8/8
      Subdevice #0: subdevice #0
      Subdevice #1: subdevice #1
      Subdevice #2: subdevice #2
      Subdevice #3: subdevice #3
      Subdevice #4: subdevice #4
      Subdevice #5: subdevice #5
      Subdevice #6: subdevice #6
      Subdevice #7: subdevice #7
    card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    همیشه card 0: Headphones را مشاهده خواهید کرد زیرا این جک هدفون داخلی است. اگر بلندگوهای اضافی اضافه کرده باشید، مانند یک بلندگوی USB، این نیز در لیست نمایش داده خواهد شد.

  3. اگر از بلندگوی اضافی استفاده می‌کنید و نه بلندگو یا هدفون متصل به جک هدفون داخلی، باید آن را به عنوان پیش‌فرض تنظیم کنید. برای این کار دستور زیر را اجرا کنید:

    sudo nano /usr/share/alsa/alsa.conf
    

    این دستور یک فایل تنظیمات را در nano، یک ویرایشگر متن مبتنی بر ترمینال باز می‌کند. با استفاده از کلیدهای جهت‌دار روی صفحه‌کلید خود به پایین اسکرول کنید تا خط زیر را پیدا کنید:

    defaults.pcm.card 0
    

    مقدار را از 0 به شماره کارت مورد نظر از لیستی که از دستور aplay -l دریافت کردید تغییر دهید. به عنوان مثال، در خروجی بالا یک کارت صدا دوم به نام card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio] وجود دارد که از کارت ۱ استفاده می‌کند. برای استفاده از این کارت، خط را به صورت زیر به‌روزرسانی می‌کنم:

    defaults.pcm.card 1
    

    این مقدار را به شماره کارت مناسب تنظیم کنید. می‌توانید با استفاده از کلیدهای جهت‌دار روی صفحه‌کلید به شماره مورد نظر بروید، سپس هنگام ویرایش فایل‌های متنی، شماره را حذف کرده و مقدار جدید را تایپ کنید.

  4. تغییرات را ذخیره کرده و فایل را با فشار دادن Ctrl+x ببندید. برای ذخیره فایل y را فشار دهید و سپس return را برای انتخاب نام فایل فشار دهید.

وظیفه - تست میکروفون و بلندگو

  1. دستور زیر را اجرا کنید تا ۵ ثانیه صدا از طریق میکروفون ضبط شود:

    arecord --format=S16_LE --duration=5 --rate=16000 --file-type=wav out.wav
    

    در حالی که این دستور در حال اجرا است، در میکروفون صدا ایجاد کنید، مانند صحبت کردن، آواز خواندن، بیت‌باکس کردن، نواختن ساز یا هر کاری که دوست دارید.

  2. پس از ۵ ثانیه، ضبط متوقف خواهد شد. دستور زیر را اجرا کنید تا صدا پخش شود:

    aplay --format=S16_LE --rate=16000 out.wav
    

    صدای ضبط شده از طریق بلندگوها پخش خواهد شد. در صورت نیاز، حجم خروجی بلندگو را تنظیم کنید.

  3. اگر نیاز به تنظیم حجم پورت میکروفون داخلی یا تنظیم گین میکروفون دارید، می‌توانید از ابزار alsamixer استفاده کنید. می‌توانید اطلاعات بیشتری درباره این ابزار در صفحه راهنمای alsamixer لینوکس بخوانید.

  4. اگر در پخش صدا خطا دریافت کردید، کارت تنظیم شده به عنوان defaults.pcm.card در فایل alsa.conf را بررسی کنید.

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.