فهرست مطالب:
- تدارکات
- مرحله 1: چیدن Breadboard
- مرحله 2: سیم کشی کارت SD
- مرحله 3: کتابخانه های نرم افزار
- مرحله 4: داده های MP3 را روی مانیتور سریال ترسیم کنید
تصویری: کتابخانه آردوینو برای رمزگشایی MP3: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
با توجه به افزایش شیوع میکروکنترلرهای سریع مانند ESP32 و سری ARM M ، رمزگشایی MP3 دیگر لازم نیست توسط سخت افزار تخصصی انجام شود. رمزگشایی اکنون می تواند در نرم افزار انجام شود.
یک کتابخانه عالی از earlephilhower موجود است که نحوه رمزگشایی انواع زیادی از فایل های صوتی و پخش آنها بر روی میکروکنترلرهای ESP را نشان می دهد. با الهام از این ، برخی از کدها را برای ایجاد یک روش مدولار برای خواندن فایلهای MP3 روی میکروکنترلرها تطبیق دادم.
امیدوارم این روش به اندازه کافی عمومی برای استفاده در هر میکروکنترلر با سرعت کافی (نه فقط یک برد ESP32) باشد ، اما در حال حاضر من فقط بر روی ESP32 آزمایش کرده ام.
تدارکات
همانطور که قبلاً گفتم ، امیدوارم این روش برای هر میکروکنترلر سریع کار کند ، اما ممکن است اینطور نباشد. بنابراین برای تکرار نتایج من به موارد زیر نیاز دارید:
- یک برد ESP32
- برد شکست SD
- کارت SD
- سیم های جامپر
- تخته نان
- کابل میکرو USB (برای بارگذاری طرح)
- آردوینو IDE
مرحله 1: چیدن Breadboard
شکست ESP32 و کارت SD را روی تخته نان قرار دهید.
مرحله 2: سیم کشی کارت SD
اتصالات کارت SD (شکست ESP32 SD) به شرح زیر است:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
لطفاً توجه داشته باشید که اگر از میکروکنترلر متفاوتی استفاده می کنید ، این اتصالات متفاوت خواهد بود.
مرحله 3: کتابخانه های نرم افزار
اگر ESP-IDF را ندارید به وب سایت آنها سر بزنید و آن را نصب کنید.
سپس کتابخانه microdecoder را نصب کنید. می توانید این کار را با بارگیری مخزن و قرار دادن آن در پوشه کتابخانه های آردوینو انجام دهید. کتابخانه microdecoder در حال حاضر از فایل های.wav و.mp3 پشتیبانی می کند.
صرف نظر از قالب ، چند روش متداول برای هر کلاس وجود دارد که در کد زیر ذکر شده است. این موارد شامل دریافت برخی از فوق داده های فایل و چاپ آن در مانیتور سریال است.
#شامل "SD.h" // ورودی
#شامل "mp3.h" // رمزگشای #شامل "pcm.h" // ظرف خام داده های صوتی MP3 MP3 ؛ void setup () {Serial.begin (115200)؛ // راه اندازی سریال SD.begin ()؛ // راه اندازی اتصال SD فایل فایل = SD.open ("/cc.mp3") ؛ // باز کردن یک فایل MP3 MP3.begin (فایل) ؛ // به کلاس MP3 بگویید چه پرونده ای را برای پردازش MP3.getMetadata ()؛ // دریافت metdadata Serial.print ("بیت در نمونه:") ؛ Serial.println (MP3.bitsPerSample) ؛ // چاپ بیت در هر نمونه Serial.print ("نرخ نمونه:") ؛ Serial.println (MP3. Fs) ؛ // و نرخ نمونه} void loop () {}
مرحله 4: داده های MP3 را روی مانیتور سریال ترسیم کنید
با کد زیر می توانید برخی از داده های صوتی را روی مانیتور سریال ترسیم کنید. این بسیار کند خواهد بود اما نحوه استفاده از کتابخانه MP3 را به شما نشان می دهد. همچنین داده ها را با ضریب 16 نمونه برداری می کند تا وقتی داده ها رسم می شوند شبیه شکل موج صوتی به نظر برسد. این کد از مثال SPI_MP3_Serial.ino گرفته شده است که همراه با کتابخانه microdecoder ارائه شده است. البته ، با حرکت به جلو ، می خواهید این داده های صوتی را به نحوی پخش کنید ، اما این موضوع یک دستورالعمل متفاوت است.
#شامل "SD.h" // ورودی
#شامل "mp3.h" // رمزگشای mp3 MP3 ؛ // کلاس MP3 pcm صوتی؛ // خام داده های صوتی void setup () {Serial.begin (115200)؛ // راه اندازی Serial SD.begin ()؛ // راه اندازی اتصال SD فایل فایل = SD.open ("/cc.mp3") ؛ // باز کردن یک فایل MP3 MP3.begin (فایل) ؛ // ارسال فایل به کلاس MP3} حلقه void () {audio = MP3.decode ()؛ // رمزگشایی داده های صوتی به کلاس pcm / * 32 نمونه در audio.interleaved (16 سمت چپ و 16 راست) * وجود دارد * اما ما فقط قصد داریم اولین نقطه داده را در هر کانال ترسیم کنیم. * این امر به طور موثر داده ها را با ضریب 16 (برای * فقط مشاهده شکل موج) */ Serial.print (audio.interleaved [0]) کوچک می کند ؛ // کانال سمت چپ Serial.print ("")؛ Serial.println (audio.interleaved [1]) ؛ // کانال راست}
توصیه شده:
برنامه نویسی Arduino با استفاده از Arduino دیگر برای نمایش یک متن پیمایش بدون کتابخانه: 5 مرحله
برنامه نویسی Arduino با استفاده از Arduino دیگر برای نمایش یک متن پیمایش بدون کتابخانه: Sony Spresense یا Arduino Uno گران نیستند و به قدرت زیادی نیاز ندارند. با این حال ، اگر پروژه شما دارای محدودیت در قدرت ، فضا یا حتی بودجه باشد ، ممکن است بخواهید از Arduino Pro Mini استفاده کنید. برخلاف Arduino Pro Micro ، Arduino Pro Mi
ایجاد کتابخانه آردوینو برای YouTube Sight: 7 مرحله
ایجاد کتابخانه آردوینو برای YouTube Sight: سلام به همه ، من اخیراً سرویسی به نام YouTube Sight ایجاد کرده ام که می تواند داده های مشترکین را از API YouTube Analytics استخراج کرده و تعداد مشترکان دقیق تری را از زمانی که YouTube شروع به جمع آوری نتایج کرده است ، به شما ارائه دهد. با استفاده از آن ، من یک نمونه ساختم
ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون: 5 مرحله
ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون: آردوینو یک ابزار اقتصادی و در عین حال بسیار کارآمد و کاربردی است ، برنامه نویسی آن در Embedded C روند ساخت پروژه ها را خسته کننده می کند! ماژول Arduino_Master پایتون این کار را ساده کرده و به ما امکان محاسبه ، حذف مقادیر زباله و
تبدیل متن به گفتار آردوینو با استفاده از LM386 - پروژه صحبت کردن آردوینو - کتابخانه تاکی آردوینو: 5 مرحله
تبدیل متن به گفتار آردوینو با استفاده از LM386 | پروژه صحبت کردن آردوینو | کتابخانه Talkie Arduino: سلام بچه ها ، در بسیاری از پروژه ها ما به arduino نیاز داریم که چیزی شبیه به ساعت صحبت کردن یا گفتن برخی اطلاعات در این دستورالعمل را با استفاده از Arduino به گفتار تبدیل کنیم
کتابخانه برای BMP280 و BME280: 7 مرحله
کتابخانه برای BMP280 و BME280: مقدمه من قصد نوشتن این کتابخانه را ندارم. این & quot؛ اتفاق افتاد & quot؛ به عنوان یک اثر جانبی از پروژه ای که من از آن استفاده کردم BMP280 بود. آن پروژه هنوز به پایان نرسیده است ، اما من فکر می کنم کتابخانه آماده است تا با دیگران به اشتراک بگذارد. بعداً من یک