پروژه Makestreme نشان می‌دهد با استفاده از کدک عصبی EnCodec می‌توان مقدار قابل‌توجهی داده صوتی را فشرده و به‌صورت کدهای QR روی یک برگ کاغذ ذخیره کرد؛ اما بازتولید دقیق صدا به نگهداری دیکدر مربوطه وابسته است.

فشرده‌سازی 1000 برابری و چاپ روی کاغذ

Makestreme با استفاده از کدک عصبی EnCodec متعلق به Meta یک فایل MP3 به حجم 2.9MB را به حدود 21KB تبدیل کرده و خروجی را روی یک برگ به‌صورت هشت کد QR چاپ کرده است. پروژه و کد منبع در Hackster.io منتشر شده و نشان می‌دهد چگونه یک «کاست کاغذی» دورو می‌تواند محتوای صوتی را روی رسانهٔ فیزیکی نگهدارد.

کدک EnCodec چگونه این کار را ممکن می‌کند

EnCodec (منبع آزاد در GitHub) موج صوتی را به توکن‌های گسسته تبدیل می‌کند که دیکدر متناظر می‌تواند آن‌ها را بازسازی کند. Makestreme با تنظیم نرخ بیت معادل حدود 3 kbps توانسته کیفیت قابل‌قبولی به‌دست آورد؛ در نرخ 1.5 kbps اما بازسازی کیفیت به‌شدت افت می‌کند. این سطح فشرده‌سازی تا حدی ناشی از تبدیل موج به توکن‌های فشرده و حذف افزونگی‌های قابل‌صرف‌نظر در MP3 است، بنابراین کاهش حجم نهایی نسبت به یک MP3 آماده پخش می‌تواند تا حدود 1000 برابر باشد.

جزئیات فنی پروژه

  • حجم اولیه: 2.9MB (MP3)
  • حجم پس از فشرده‌سازی: حدود 21KB توکن‌های فشرده‌شده
  • توزیع داده: هشت کد QR؛ هر کد شامل یک شناسه 1 بایتی و بخش‌هایی از جریان توکن
  • سطح تصحیح خطا: پایین‌ترین سطح برای بیشینه‌سازی چگالی، بدون افزونگی
صفحه حاوی چهار کد QR در یک سمت کاست کاغذی

نکات اجرایی

  • تقسیم جریان توکن بین چند کد QR ریسک حذف یا خرابی را افزایش می‌دهد؛ چون هر بخش لازم و غیرقابل‌جایگزینی است.
  • انتخاب پایین‌ترین سطح تصحیح خطا در QR باعث بیشینه‌سازی ظرفیت ذخیره‌سازی می‌شود اما تحمل خطا را به‌شدت کاهش می‌دهد.
  • برای بازسازی دقیق صدا باید همان مدل دیکدر و پارامترهای نمونه‌برداری (مثلاً 24 kHz) در دسترس باشند.

آسیب‌پذیری و دوام

برای بیشینه‌سازی ظرفیت، Makestreme از پایین‌ترین سطح تصحیح خطا در کد QR استفاده کرده است. در عمل این یعنی هرگونه خرابی یا حذف حتی یک کد می‌تواند موجب از بین رفتن کامل آهنگ شود. بنابراین اطلاعات ذخیره‌شده روی کاغذ به‌تنهایی کافی نیست؛ برای پخش دقیق نیاز به همان دیکدر EnCodec و محیط اجرای مناسب وجود دارد. به این ترتیب، دوام فیزیکی رسانه لزوماً برابر با دوام محتوای قابل‌خواندن آن نیست مگر اینکه دیکدرها و نرم‌افزارهای مربوطه نگهداری شوند.

ارسال بی‌سیم با LoRa و محدودیت‌های عملی

علاوه بر چاپ، Makestreme همان فایل 21KB را بین دو برد ESP32 از طریق شبکه LoRa ارسال کرده است. پیکربندی شامل ماژول‌های REYAX RYLR998 روی فرکانس 866 MHz و جا‌به‌جایی در بسته‌های 160 بایتی با پروتکل تأیید دریافت (ACK-and-retry) است. اسکچ فرستنده پس از هر بستهٔ تأییدشده یک وقفهٔ سخت‌کدشده 40 ثانیه‌ای دارد؛ با حدود 134 بسته برای کل فایل، همین وقفه‌ها خودشان به حدود 90 دقیقه زمان انتقال می‌افزایند. این زمان‌بندی عمداً محافظه‌کارانه تنظیم شده تا با محدودیت‌های دیوتی‌سایکل شبکه همخوانی داشته باشد.

برای مقایسه، روش‌های جایگزین مثل پخش پی‌درپی کدهای QR بین گوشی‌ها می‌توانند به نرخ‌های چندصد کیلوبایت بر ثانیه برسند؛ راه‌حل‌هایی که از پهنای باند بصری یا اتصال بی‌سیم پرسرعت استفاده می‌کنند، عملکردی متفاوت و به‌مراتب سریع‌تر ارائه می‌دهند. مرجع کلی دربارهٔ LoRa در ویکی‌پدیا و دربارهٔ ESP32 در صفحه ESP32 موجود است.

برد ESP32 و ماژول LoRa روی میز کار

پیشینهٔ چاپ نرم‌افزار روی رسانه‌های فیزیکی

انتشار داده روی کاغذ سابقهٔ طولانی دارد؛ از Cauzin Softstrip در 1985 که مجلات نوارهای دوبعدی حاوی برنامه منتشر می‌کردند تا پروژه‌های معاصر که داده را به شیوه‌های مختلف فیزیکی ثبت می‌کنند. در پروژهٔ Makestreme نکتهٔ متمایز این است که کدهای QR، توکن‌های فشرده‌شده را ذخیره می‌کنند نه موج صوتی خام؛ بنابراین وابستگی به دیکدر خاص برجسته‌تر می‌شود. برای کسب اطلاعات فنی دربارهٔ ساختار و محدودیت‌های کدهای QR می‌توانید به ویکی‌پدیا—QR code مراجعه کنید.

نمای نزدیک کدهای QR چاپ‌شده روی کاغذ

نتیجه‌گیری عملی و پیام برای آرشیو دیجیتال

پروژه نشان می‌دهد کدک‌های عصبی مانند کدک EnCodec مرزهای فشرده‌سازی را جابه‌جا می‌کنند اما هم‌زمان چالش‌های جدیدی پدید می‌آورند: حفاظت از دادهٔ فشرده‌شده فراتر از دوام فیزیکی رسانه است و به نگهداری مدل‌های عصبی و نرم‌افزارهای مرتبط وابسته است. برای تبدیل چنین آثار فیزیکی به آرشیوهای پایدار، لازم است راهکارهایی برای تضمین دسترسی به دیکدرها، مستندات پارامتری و استانداردهای باز در نظر گرفته شود.

برای مطالعهٔ دقیق‌تر و دسترسی به کدها و تصاویر پروژه به صفحهٔ پروژه در Hackster.io و مخزن EnCodec در GitHub مراجعه کنید.