فهرست مطالب:
- مرحله 1: مواد مورد نیاز
- مرحله 2: دکمه ها
- مرحله 3: مورد دکمه ها
- مرحله 4: رزبری پای
- مرحله 5: برنامه نویسی
- مرحله 6: اسکریپت پایتون را در هر راه اندازی اجرا کنید
- مرحله 7: پایان یادداشت
تصویری: ضبط پخش با Raspberry Pi: 7 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
سلام به همه،
در این قسمت آموزشی نحوه ساخت ضبط پخش با استفاده از رزبری پای را توضیح می دهم. این دستگاه رزبری پای مدل B+است که دارای 7 دکمه فشاری در بالا ، بلندگو متصل به یکی از پورت های USB Pi و میکروفون متصل به پورت های USB دیگر است. هر دکمه به یک صدا مرتبط است ، بنابراین می تواند 7 صدای مختلف را پخش کند. صداها پس از فشار کوتاه دکمه پخش می شوند. برای ضبط صدای جدید ، کافی است دکمه را بیش از 1 ثانیه فشار دهید ، پس از بوق ضبط کنید و دکمه را در انتهای ضبط رها کنید. ساده تر از این نمی شود!
مرحله 1: مواد مورد نیاز
برای این پروژه به موارد زیر نیاز داشتم:
- رزبری پای مدل B + و کارت حافظه micro SD - 29.95 دلار + 9.95 دلار
- یک جعبه پلاستیکی رزبری پای - 7.95 دلار
- بلندگوهای USB - 12.50 دلار
- میکروفون USB - 5.95 دلار
- یک تخته پرما پروتو نیم اندازه-4.50 دلار
- 7 دکمه فوری - 2.50 دلار
من همچنین نیاز داشتم:
- مقداری سیم برق
- هدرهای زن با زاویه راست
- مقداری چوب ، رنگ مشکی و چسب برای قاب دکمه
- لحیم کاری و لحیم کاری
مرحله 2: دکمه ها
دکمه های استفاده شده کاملاً بلند (6 میلی متر) هستند تا بتوانند از ضخامت بدنه عبور کنند.
من 7 دکمه خود را روی یک تخته پرما-اولیه قرار دادم ، که مانند یک تخته نان است ، به جز اجزای روی آن لحیم می شوند. این دستگاه از یک تخته نان قوی تر و ارزان تر از چاپ یک PCB است. هر دکمه روی Raspberry Pi به GPIO متصل می شود. من در اینجا مقاومت ندارم زیرا Pi از قبل دارای مقاومت داخلی کشش/کاهش داخلی است که در برنامه تنظیم می شود. در این حالت من آنها را به حالت کشش تنظیم کرده ام (برنامه زیر را ببینید).
دکمه ها هر 4 ردیف یا هر 0.4 اینچ قرار می گیرند.
مرحله 3: مورد دکمه ها
من یک قاب بسیار ساده برای دکمه ها ، با ورق های تخته سه لا و رولپلاک چوبی مربعی درست کردم. اندازه رولپلاک باید آنقدر بزرگ باشد که پایه و صفحه دکمه را در خود جای دهد ، اما آنقدر کوچک است که اجازه دهد دکمه از قاب خارج شود. من از 1/4 در x 1/4 در رولپلاک استفاده کردم.
پس از اطمینان از اینکه تخته در قاب قرار می گیرد ، رولپلاک ها به ورق پایه چسبانده می شوند. سپس سوراخ هایی روی ورق بالایی حفر می شود (از تخته می توان به طور دقیق در هر 0.4 اینچ علامت گذاری کرد). تمام قطعات چوبی رنگ آمیزی شده ، تخته در کیس قرار داده شده و ورق بالایی روی آن چسبانده شده است.
مرحله 4: رزبری پای
من نمی خواستم سیم ها را مستقیماً به Pi لحیم کنم ، در صورتی که بخواهم در آینده از Pi برای چیز دیگری استفاده کنم. بنابراین سیمها را به هدرهای زن با زاویه راست لحیم کردم و هدرها را روی Pi وصل کردم.
GPIO های مورد استفاده 21 ، 26 ، 20 ، 19 ، 13 ، 6 و 5 است. از پایه پایه نیز استفاده می شود.
میکروفون و بلندگو به سادگی 2 عدد از 4 پورت usb را وصل کرده اند.
نیروگاه Pi از طریق پریز micro-usb تغذیه می شود
مرحله 5: برنامه نویسی
برای برنامه نویسی Pi ، آن را با استفاده از کابل اترنت به اینترنت متصل کردم و آن را از طریق رایانه از راه دور با استفاده از نمایشگر VNC کنترل کردم. با این حال ، نمی توانید از این تنظیمات برای اولین بار که به Pi متصل می شوید استفاده کنید ، زیرا سیستم عامل هنوز نصب نشده است و SSH نیز فعال نیست. بنابراین شما باید صفحه ، صفحه کلید و ماوس را حداقل برای اولین بار متصل کنید.
پیدا کردن دستورات ضبط و پخش صدا بر روی کارت صدا مناسب بسیار مشکل بود. اینها دستوراتی هستند که برای من کار کردند:
-
aplay -D plughw: CARD = Device_1 ، DEV = 0 0.wav
0.wav را پخش می کند
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
حداکثر 20 ثانیه در فایل 0.wav با کیفیت cd ضبط می کند
فایلهای صوتی در فهرست پیش فرض (/home/pi) قرار دارند. یک فایل صوتی برای بیپ نیز ضروری است که در فهرست پیش فرض قرار داده شده و beep.wav نامیده می شود.
خود کد پایتون به شرح زیر است:
کد پایتون برای ضبط پخش Raspberry Pi
RPi. GPIO را به عنوان GPIO وارد کنید |
زمان واردات |
وارد کردن سیستم عامل |
#متغیرها: |
butPressed = [True، True، True، True، True، True، True] #if اگر دکمه i فشار داده شود ، سپس butPressed نادرست است |
pin = [26 ، 19 ، 13 ، 6 ، 5 ، 21 ، 20] پین های #GPIO هر دکمه |
recordBool = غلط#درست است اگر رکوردی در حال پیشرفت باشد |
GPIO.setmode (GPIO. BCM) |
برای i در محدوده (0 ، 7): |
GPIO.setup (pin ، GPIO. IN، pull_up_down = GPIO. PUD_UP)#مقاومتهای داخلی Pi را به حالت کشش تنظیم می کند |
در حالی که True: |
برای i در محدوده (0 ، 7): |
butPressed = GPIO.input (pin )#بررسی می کند که آیا دکمه ای فشار داده شده است |
if butPressed == غلط:#اگر دکمه ای فشار داده شود |
previousTime = time.time () |
while butPressed == False و recordBool == False: |
butPressed = GPIO.input (پین ) |
if time.time () - previousTime> 1.0:#اگر دکمه بیش از یک ثانیه فشار داده شود ، سپس recordBool درست است |
recordBool = درست است |
if recordBool == True: #if recordBool True است ، یک صدای بوق پخش می کند و سپس ضبط می کند |
os.system ("aplay -D plughw: CARD = Device_1، DEV = 0 beep.wav") |
os.system ("arecord٪ d.wav -D sysdefault: CARD = 1 -f cd -d 20 &"٪ i)#ضبط حداکثر 20 ثانیه در فایل i.wav ، با کیفیت cd |
while butPressed == غلط: |
butPressed = GPIO.input (پین ) |
os.system ("pkill -9 arecord")#هنگامی که دکمه رها می شود ، یا بعد از 20 ثانیه رکورد متوقف می شود |
recordBool = غلط |
else: #if recordBool False است ، صدا i.wav را پخش می کند |
os.system ("aplay -D plughw: CARD = Device_1، DEV = 0٪ d.wav"٪ i) |
زمان خواب (0.1) |
مشاهده rawPlayback recorder میزبانی شده با ❤ توسط GitHub
مرحله 6: اسکریپت پایتون را در هر راه اندازی اجرا کنید
برای اجرای اسکریپت پایتون در هنگام راه اندازی Pi ، خطوط زیر در فایلی به نام playback.desktop در پوشه /home/pi/.config/autostart/ قرار داده می شود.
playback.py را در راه اندازی Raspberry Pi اجرا می کند
[ورودی رومیزی] |
رمزگذاری = UTF-8 |
نوع = برنامه |
نام = پخش |
نظر = این یک برنامه پخش است |
Exec = python /home/pi/playback.py |
StartupNotify = false |
ترمینال = درست |
پنهان = غلط |
مشاهده rawplayback.desktop میزبانی شده توسط ❤ توسط GitHub
مرحله 7: پایان یادداشت
لطفا نظر خود را در مورد این پروژه در قسمت نظرات به من بگویید ، توصیه های خود را به من اطلاع دهید و اگر دوست داشتید در مسابقه رزبری پای به من رای دهید.
منتظر خواندن شما هستم!
توصیه شده:
پخش زنده/ضبط ویدئو در OBS: 5 مرحله
پخش مستقیم/ضبط ویدئو در OBS: این دستورالعمل نحوه پخش مستقیم یا ضبط ویدئو را مستقیماً از صفحه کامپیوتر آموزش می دهد. روشهای متعددی برای پخش مستقیم و حتی روشهای بیشتری برای ضبط وجود دارد ، اما این راهنما بر روی پلتفرم پخش ، OBS تمرکز می کند. هر گونه کامپوننت منطقی مدرن
ARUPI - یک واحد ضبط خودکار کم هزینه/واحد ضبط خودکار (ARU) برای بوم شناسان Soundscape: 8 مرحله (همراه با تصاویر)
ARUPI - یک واحد ضبط خودکار کم هزینه/واحد ضبط خودکار (ARU) برای بوم شناسان Soundscape: این دستورالعمل توسط آنتونی ترنر نوشته شده است. این پروژه با کمک زیادی از Shed در دانشکده محاسبات ، دانشگاه کنت توسعه یافت (آقای دانیل ناکس کمک بزرگی بود!). این به شما نشان می دهد که چگونه یک ضبط صوتی خودکار بسازید
رفع مشکل ضبط بازیکن ضبط شده 65 ساله: 10 مرحله
رفع مشکل ضبط کننده ضعیف 65 ساله: دوست دارم کارهای قدیمی را مرتب کنم. من دوچرخه 1929 را که از مرگ برگردانده ام سوار می شوم. چمن زن من متعلق به دهه 20 است و به همان اندازه مرده بود. من یک گرامافون 1929 دارم که تقریباً مرده بودم. من تصمیم گرفتم که وقت آن رسیده است که بتوانم وینیل خود را روی دیگری پخش کنم
پخش سی دی بدون پخش کننده سی دی ، با استفاده از هوش مصنوعی و یوتیوب: 10 مرحله (همراه با تصاویر)
پخش سی دی بدون پخش کننده سی دی ، با استفاده از هوش مصنوعی و یوتیوب: آیا می خواهید سی دی های خود را پخش کنید اما دیگر سی دی پلیر ندارید؟ آیا وقت نداشتید سی دی های خود را پاره کنید؟ آنها را پاره کرد اما در صورت نیاز فایل ها در دسترس نیستند؟ مشکلی نیست. بگذارید هوش مصنوعی (هوش مصنوعی) سی دی شما را شناسایی کند و یوتیوب آن را پخش کند! من یک برنامه Android برای شما نوشتم
اتصال دستگاه پخش MP3 به نوار پخش کننده: 6 مرحله (همراه با تصاویر)
اتصال پخش کننده MP3 به نوار پخش کننده: نحوه اتصال پخش کننده mp3 یا منبع استریو دیگر به دستگاه پخش نوار به منظور گوش دادن به موسیقی