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/bn/6-consumer/lessons/1-speech-recognition/pi-microphone.md

14 KiB

আপনার মাইক্রোফোন এবং স্পিকার কনফিগার করুন - রাস্পবেরি পাই

এই পাঠের এই অংশে, আপনি আপনার রাস্পবেরি পাইতে একটি মাইক্রোফোন এবং স্পিকার যোগ করবেন।

হার্ডওয়্যার

রাস্পবেরি পাইতে একটি মাইক্রোফোন প্রয়োজন।

পাইতে বিল্ট-ইন মাইক্রোফোন নেই, তাই আপনাকে একটি বাহ্যিক মাইক্রোফোন যোগ করতে হবে। এটি করার বিভিন্ন উপায় রয়েছে:

  • ইউএসবি মাইক্রোফোন
  • ইউএসবি হেডসেট
  • ইউএসবি অল-ইন-ওয়ান স্পিকারফোন
  • ইউএসবি অডিও অ্যাডাপ্টার এবং ৩.৫ মিমি জ্যাক সহ মাইক্রোফোন
  • ReSpeaker 2-Mics Pi HAT

💁 ব্লুটুথ মাইক্রোফোনগুলি রাস্পবেরি পাইতে সবসময় সমর্থিত নয়, তাই যদি আপনার একটি ব্লুটুথ মাইক্রোফোন বা হেডসেট থাকে, তাহলে এটি জোড়া লাগানো বা অডিও ক্যাপচার করতে সমস্যা হতে পারে।

রাস্পবেরি পাইতে একটি ৩.৫ মিমি হেডফোন জ্যাক থাকে। আপনি এটি ব্যবহার করে হেডফোন, হেডসেট বা স্পিকার সংযুক্ত করতে পারেন। এছাড়াও আপনি স্পিকার যোগ করতে পারেন:

  • HDMI অডিও মনিটর বা টিভির মাধ্যমে
  • ইউএসবি স্পিকার
  • ইউএসবি হেডসেট
  • ইউএসবি অল-ইন-ওয়ান স্পিকারফোন
  • ReSpeaker 2-Mics Pi HAT একটি স্পিকার সংযুক্ত করে, হয় ৩.৫ মিমি জ্যাকের মাধ্যমে অথবা JST পোর্টের মাধ্যমে

মাইক্রোফোন এবং স্পিকার সংযুক্ত এবং কনফিগার করুন

মাইক্রোফোন এবং স্পিকার সংযুক্ত করতে হবে এবং কনফিগার করতে হবে।

কাজ - মাইক্রোফোন সংযুক্ত এবং কনফিগার করুন

  1. মাইক্রোফোনটি সঠিক পদ্ধতি ব্যবহার করে সংযুক্ত করুন। উদাহরণস্বরূপ, এটি একটি ইউএসবি পোর্টের মাধ্যমে সংযুক্ত করুন।

  2. যদি আপনি ReSpeaker 2-Mics Pi HAT ব্যবহার করেন, তাহলে Grove বেস হ্যাটটি সরিয়ে ফেলুন এবং তার জায়গায় ReSpeaker হ্যাটটি লাগান।

    ReSpeaker হ্যাট সহ একটি রাস্পবেরি পাই

    এই পাঠের পরে একটি Grove বোতাম প্রয়োজন হবে, তবে এই হ্যাটে একটি বিল্ট-ইন বোতাম রয়েছে, তাই Grove বেস হ্যাটটি প্রয়োজন নেই।

    হ্যাটটি লাগানোর পরে, আপনাকে কিছু ড্রাইভার ইনস্টল করতে হবে। ড্রাইভার ইনস্টল করার জন্য 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 দেখতে পাবেন কারণ এটি বিল্ট-ইন হেডফোন জ্যাক। যদি আপনি অতিরিক্ত স্পিকার যোগ করেন, যেমন একটি ইউএসবি স্পিকার, তাহলে এটি তালিকায় দেখানো হবে।

  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 ইউটিলিটি ব্যবহার করতে পারেন। এই ইউটিলিটি সম্পর্কে আরও জানতে Linux alsamixer man page দেখুন।

  4. যদি অডিও প্লে করতে সমস্যা হয়, তাহলে alsa.conf ফাইলের defaults.pcm.card-এ সেট করা কার্ডটি পরীক্ষা করুন।


অস্বীকৃতি:
এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।