
رزبریپای ۴ هدلس (Headless) میتواند بدون نیاز به بلوتوث، به یک پخشکننده واقعی اسپاتیفای کانکت (Spotify Connect) تبدیل شود. در این روش، خود رزبریپای استریم را مستقیماً از اسپاتیفای دریافت میکند و گوشی تنها نقش کنترلکننده را دارد.
چرا بلوتوث راهحل مناسبی نبود؟
اتصال بلوتوث باعث میشد پخش موسیقی با تماس، اعلان، حالت ذخیره باتری یا دور شدن گوشی قطع و وصل شود. در مقابل، اسپاتیفای کانکت اجازه میدهد موسیقی روی رزبریپای ادامه پیدا کند، حتی اگر گوشی قفل شود یا از محدوده خارج شود.
Raspotify؛ تبدیل رزبریپای به هدف بومی کانکت
Raspotify یک بسته آماده از librespot است؛ کلاینت متنباز اسپاتیفای کانکت که برای بردهای هدلس ساخته شده است. نصب آن روی رزبریپای ۴ با سیستمعامل Raspberry Pi OS Lite 64-bit از طریق اسکریپت نصب انجام میشود و یک سرویس systemd ایجاد میکند. نیازی به Docker یا محیط دسکتاپ نیست و تنها پیشنیازها، اشتراک اسپاتیفای پریمیوم (Spotify Premium) و خروجی صوتی روی رزبریپای است.
نسخههای جدیدتر Raspotify پشتیبانی از ARMv6 را حذف کردهاند؛ یعنی رزبریپای ۱ و Pi Zero اصلی کار نمیکنند. مدلهای Pi 4 و بالاتر بدون مشکل هستند و Pi Zero 2 W نیز پشتیبانی میشود.
تنظیمات نهایی با دو خط پیکربندی
پس از نصب، باید دستگاه خروجی صدا و نام دستگاه در فایل پیکربندی Raspotify تعریف شود. برای پیدا کردن نام کارت صوتی میتوان از فرمان aplay -l استفاده کرد. سپس در فایل /etc/raspotify/conf/ متغیرها با پیشوند LIBRESPOT تنظیم میشوند. برای مثال، خط دستگاه صوتی به شکل LIBRESPOT_DEVICE = «hw:CARD=[CARD NAME],DEV=0» است. اگر رابط USB کارت صدا کانال ۱۶ بیتی را در Raspberry Pi OS Lite ارائه نکند، باید به جای hw از plughw استفاده کرد؛ هر دو بخشی از ALSA هستند، زیرسیستم مدیریت دستگاههای صوتی در لینوکس.
برای اینکه رزبریپای در فهرست دستگاههای اسپاتیفای بهراحتی پیدا شود، میتوان نامی مثل Music Pi برای آن انتخاب کرد. پس از ذخیره فایل پیکربندی و ریاستارت سرویس، تغییرات اعمال میشوند. برای چند رزبریپای نیز همین روند تکرار میشود، اما هر دستگاه باید نام جداگانه داشته باشد. Raspotify پخش را بین چند رزبریپای همگامسازی نمیکند.
کیفیت صدا و محدودیتها
اپلیکیشنهای رسمی اسپاتیفای اکنون برای مشترکان پریمیوم کیفیت بدون اتلاف (Lossless) ارائه میدهند، اما پخشکنندههای مبتنی بر librespot مانند Raspotify همچنان Ogg Vorbis با اتلاف و حداکثر ۳۲۰ kbps دریافت میکنند. بنابراین تجهیزات خروجی صدا فقط مرحله خروجی را بهبود میدهند و چیزی را که اسپاتیفای ارسال میکند تغییر نمیدهند.
ورود بدون ذخیره رمز عبور با Zeroconf
Raspotify خود را از طریق mDNS معرفی میکند؛ بنابراین کاربر فقط دستگاه را از فهرست اسپاتیفای انتخاب میکند و اپلیکیشن، اطلاعات ورود را در شبکه محلی به رزبریپای میفرستد. رزبریپای این اطلاعات را ذخیره میکند تا پس از ریاستارت دوباره درخواست ورود نداشته باشد. اگر دستگاه در فهرست دیده نشد، ممکن است رزبریپای و گوشی یا لپتاپ در دو VLAN جدا باشند؛ قرار دادن هر دو در یک VLAN یا فعالسازی mDNS forwarding مشکل را حل میکند.
جمعبندی
تبدیل رزبریپای به پخشکننده اسپاتیفای کانکت با Raspotify سادهتر از حد انتظار است و در حدود ده دقیقه انجام میشود. این روش جایگزین بلوتوث میشود و رمز عبور اسپاتیفای را روی رزبریپای ذخیره نمیکند.