Введение

Замена прошивки для различных устройств, песня Run–D.M.C.

Rockbox – это бесплатное программное обеспечение с открытым исходным кодом, предназначенное для замены заводской прошивки (OEM) в различных цифровых аудиоплеерах (DAP) с оригинальным ядром. Оно предлагает альтернативу операционной системе плеера, во многих случаях без удаления исходной прошивки, и предоставляет подключаемую архитектуру для добавления различных улучшений и функций. Среди улучшений – функции персонального цифрового помощника (PDA), приложения, утилиты и игры. Rockbox также позволяет добавить функцию воспроизведения видео на плеерах, впервые выпущенных в середине 2000-х годов. Rockbox включает голосовой пользовательский интерфейс, подходящий для использования людьми с нарушениями зрения. Rockbox работает на широком спектре устройств с различными аппаратными возможностями: от ранних плееров Archos с однобитовыми дисплеями на основе символов до современных плееров с цветными дисплеями высокого разрешения, цифровым оптическим аудиооборудованием и расширенными возможностями записи.

История

Проект Rockbox начался в конце 2001 года и был впервые реализован на ранних сериях MP3-плееров/записывателей Archos на основе жестких дисков (включая модель Ondio, работающую только от флэш-памяти), из-за разочарования пользователей серьезными ограничениями в пользовательском интерфейсе и операциях устройства, предоставляемых производителем. Эти устройства имеют относительно слабые центральные процессоры (CPU) и вместо этого перекладывают воспроизведение музыки на специализированные аппаратные чипы декодирования MP3 (MAS). Rockbox не смог существенно изменить возможности воспроизведения. Вместо этого он предлагал значительно улучшенный пользовательский интерфейс и добавлял функции, отсутствующие в заводской прошивке. Rockbox можно постоянно устанавливать во флэш-память устройств Archos, что делает его заменой прошивки. С тех пор версии Rockbox были созданы для более продвинутых устройств. Они выполняют декодирование аудио в программном обеспечении, что позволяет Rockbox потенциально поддерживать гораздо больше музыкальных форматов, чем оригинальная прошивка, а также добавляет расширяемость и расширенные функции, уже присутствующие в версиях для Archos. Rockbox запускается с жесткого диска или флэш-памяти после загрузки с помощью пользовательского загрузчика, поэтому для обновления Rockbox пользователям нужно лишь скопировать файлы на диск плеера и перезагрузить устройство. Перепрошивка требуется только при смене загрузчика, а на некоторых платформах она вообще не нужна. Первый из этих портов, появившийся в конце 2004 года, был для устройств на базе ColdFire, производимых iriver, с упором на серию H1xx (H110/H120/H140) – проигрыватели на жестких дисках. Примерно через год порт для серии H3xx стал работоспособным, предлагая аналогичные функции. Кроме того, сборки часто доступны разработчикам для неподдерживаемых устройств, которые, хотя и частично функциональны, обычно не готовы для обычных пользователей из-за неполного набора функций или недостаточной стабильности. По состоянию на 2021 год новых портов не было выпущено.

Настройка

В зависимости от ограничений каждой конкретной платформы, внешний вид Rockbox можно настроить различными способами. Можно добавлять и выбирать шрифты, а также цвета переднего и заднего плана. Для создания тем для меню и экранов воспроизведения используется простой язык разметки. Эти темы могут включать фоны и другие изображения (например, значки), а также различные форматы отображения имен файлов, ID3-тегов, обложек альбомов, прогресса воспроизведения, времени и системной информации. Изначально Rockbox был плеером, основанным на файловой структуре, куда можно было перетаскивать папки и затем перемещаться по ним. Однако в более новых версиях добавлена дополнительная функция базы данных, позволяющая плееру собирать информацию из ID3-тегов файлов. Это позволяет пользователю перемещаться по файлам независимо от их структуры.

Статус цели

Rockbox обладает множеством функций, дополняющих возможности оригинальной операционной прошивки, но во многих случаях существуют ограничения. На платформах, классифицированных как "стабильные" и поддерживаемых, устройство можно использовать как цифровой музыкальный плеер, однако даже на некоторых из них Rockbox не поддерживает зарядку или USB; для зарядки или передачи файлов плеер необходимо загружать в оригинальную прошивку. Некоторые платформы классифицируются как "нестабильные", но поддерживаются; платформы, признанные "непригодными к использованию", не поддерживаются, и их использование не рекомендуется. Некоторые проекты по портированию находятся на предварительной стадии поиска и подготовки, без написания какого-либо кода.

Кодеки

Rockbox на программных платформах декодирования (не Archos) поддерживает воспроизведение двенадцати кодеков с потерями (в зависимости от способа подсчета), пяти без потерь, двух несжатых и двенадцати различных форматов. В сумме это составляет как минимум 30 поддерживаемых аудиоформатов, хотя некоторые из них могут не работать в реальном времени на всех платформах. Значительные усилия были направлены на оптимизацию каждого кодека, и для форматов FLAC, Ogg Vorbis, WMA, APE, TTA, MPC, Wavpack, ATRAC3, Cook и WMA Pro были созданы одни из самых быстрых известных целочисленных реализаций.

Различные форматы

Кроме того, поддерживается воспроизведение игровых аудиоформатов ADX, SID, NSF, SAP, SPC, AY, GBS, HES, KSS, SGC, VGM и VGZ. Также теперь поддерживаются формат трекера MOD и Yamaha SMAF. Некоторые профили в Monkey's Audio могут не работать в реальном времени на всех платформах из-за очень высоких требований к процессору. Rockbox не воспроизводит файлы, защищенные системой управления цифровыми правами (DRM).

Архитектура

Rockbox использует простое ядро с плоской моделью памяти и единственным процессом, что позволяет ему работать на платформах без блока управления памятью. Легковесные потоки выполняются кооперативно, возвращая управление планировщику, который приоритизирует аудиопоток; единственной формой вытеснения является обработка прерываний. Операционная система и плагины написаны на языке C, а ассемблер используется для кода, специфичного для устройства и платформы, а также критичного к производительности. Простая и легковесная архитектура позволяет Rockbox работать на различных устройствах с объемом памяти от 1 до 64 МБ и тактовой частотой процессора от 12 до 532 МГц. Rockbox также поддерживает многоядерные и асимметричные многопроцессорные системы на базе ARM, ColdFire, MIPS и SH. Некоторые кодеки могут быть распараллелены на 2 ядрах процессора для повышения энергоэффективности, а интерфейс HWCODEC позволяет использовать специализированные DSP для декодирования аудио.

Утилита Rockbox

Rockbox Utility – это бесплатное компьютерное приложение для Linux, Mac OS X и Microsoft Windows, разработанное на платформе Digia Qt, которое используется для установки и управления Rockbox на цифровых аудиоплеерах (DAP). Rockbox Utility обеспечивает автоматическую установку Rockbox, тем и голосовых файлов непосредственно на DAP, требуя минимального участия пользователя. Rockbox Utility регулярно обновляется с добавлением поддержки новых устройств.