Rockboxは、デジタルオーディオプレーヤーに搭載されたファームウェアを置き換えるフリーソフトであり、拡張性の乏しいプレーヤーに様々な機能を追加するためのプラグイン機能を(多くの場合、元のファームウェアを取り除かないで)提供する。オープンソースのファームウェアであり、誰でも開発、配布が自由である。拡張機能にはPDA機能、アプリケーション、ユーティリティ、ゲームなどがある。また、2000年中頃にリリースされたプレーヤーにもビデオの再生機能を加える。また、視覚障害をもつユーザのための声で操作できるユーザインタフェースも用意されている。

Rockboxはハードウェア能力が非常に異なっている様々なポータブルオーディオデバイス上で動くものであるため、1ビットのキャラクタセルベースのディスプレイをもつ早期のArchosプレーヤーから、近代的な高画質のディスプレイ/デジタルの光学オーディオ機器/高度な録音能力をもっているプレーヤーまで対応している。多くの場合、フラッシュメモリから実行されるよりも、ハードディスクからRockboxか標準のファームウェアのどちらかから読み込み可能なサポートされているデバイスのフラッシュに最小限のブートローダーがインストールされる。また、一部の機器ではフラッシュメモリへのインストールもできる。

開発 Rockboxプロジェクトは2001年の後半に、初期のArchosシリーズのハードディスク内蔵型MP3プレイヤーと、フラッシュメモリ型のOndioを含んだ録音機能つきモデルを対象に行われた。Rockbox開発は、ユーザーインターフェイスやデバイスの取り扱い方法に不満をもったことにより開発された。これらの機器の処理能力は限られており、音楽再生はMP3デコードチップ(MAS)で行っていたため、Rockboxは音楽の再生品質を変えることはできなかったが、その代わり、Rockboxは改良されたユーザーインターフェイスを提供し、工場出荷時のファームウェアに無い機能をプラグインで導入可能にした。Rockboxは製品に搭載されたフラッシュメモリの起動領域を書き換え、元のファームウェアとそっくりそのまま入れ替えてしまうことができた。

Rockboxにはより新しい製品に対応したバージョンも用意されている。こちらではソフトウェアデコードにより演奏しており、既にArchos版で実装している機能に加えて、オリジナルのファームウェアが対応しないオーディオフォーマットの演奏が潜在的に可能となっている。専用のブートローダーで製品が起動後、Rockboxはハードディスクから立ち上がる。つまり、Rockboxをアップグレードするのにユーザーが必要なことは、ハードディスクにファイルをコピーして再起動することだけである。ブートローダーの差し替えのためにはファームウェアの書き換えが必要になるが、製品によっては差し替え不要である。

2004年の後半に始まった初めてのこれらの移植はiriverが製造したモトローラー製のColdFireプロセッサーを使ったデバイス、つまりハードディスク・プレイヤーであるiriver H100 シリーズ(H110/H120/H140)だった。およそ1年後に、iriver H300 シリーズへの移植は機能的になり、同じような機能を提供するようになった。 2005年後半に、Apple製のiPodにRockboxの移植が始まった。 2006年の1年間は、Cowon iAUDIO X5シリーズと同様に、Rockboxを様々なiPod(iPod photo, iPod nano, iPod第4世代, iPod mini, iPod第5世代)で利用可能にした。 2007年2月には、iriver H10や東芝のgigabeat FとXシリーズへの移植が利用可能になった。 2007年3月5日には、Cowon iAUDIO M5への移植が機能的になった。 2007年3月11日には、SanDisk Sansa e200シリーズがRockboxの次のラインアップに追加された。 2007年5月23日には、iPod 5.5世代 80 GBモデルに対応し、iPod videoのラインアップが完結した。 2007年7月27日には、iPod 1G と 2Gの最初のサポートが追加された。 2007年9月23日には、Sansa c200シリーズがラインアップに追加された。 2008年3月18日には、オリンパスのm:robe MR-100がラインナップに追加された。 2008年3月23日には、Cowon iAudio M3がラインナップに追加された。 2008年5月3日には、東芝 gigabeat Sの利用が可能となった。 2009年3月10日には、オリンパスのm:robe MR-500iの利用が可能となった。 2010年にはandroidへの移植が始まる。 現在、Rockboxはmpegplayerプラグインを使用し、MPEG再生に対応。

現在のところ全てのRockboxはメーカーの手助けをほとんど借りることなくリバース・エンジニアリングのみによって移植を完了してきた。しかし、フリーソフトウェアではあるが、開発者、支援者は移植されたRockboxにメーカーの公式サポート、あるいは新製品への移植に非公式な手助けが得られることを望んでいる。今でも少数の企業がRockboxに興味を示すに留まっており、開発プロジェクトへの公式なコード提供や、製品への組込を行う企業は皆無である。Sansaへの移植はメーカーの要請により始められ、開発チームにサンプル品が提供されている。また、Sansa E200 v2などのSoCを開発しているAustriaMicrosystemsもデータシートを提供するなど開発に協力している。daniel.haxx.se » AMS Replied with the AS3525 Data Sheetまた、ロシアのフォーラムで有志がHiFiMAN HM-801にrockboxの移植を行ってもらおうと呼びかけ、賛同者がrockboxの開発者にHM-801を提供し、移植されたという例もある。

Rockboxは継続的に開発されており、ソースコードの毎変更ごとのSVNビルドがリリースされている。ただし、ソースツリーのアクセスは、Git (正確には、git-svn) を用いることが推奨されている。

カスタマイズ Rockboxのインターフェイスは特有のプラットフォームごとの制限に左右されるが、様々な方法でカスタマイズ出来る。フォントや表面と背景の色は追加したり選ぶことが出来る。その一方、メニューや再生中の画面のテーマを作るのには簡単なマークアップ言語が使われている。これらのテーマとして、背景や他の画像(アイコンのような物とか)があげられ、加えて、様々な拡張子、ID3タグ、ファイルの進捗状況、時間やシステムの情報があげられる。2007年11月11日の時点で、アルバムアートの表示が正式にサポートされた。2011年2月27日にはmp3のID3(v2)タグに埋め込まれたJPEGが正式にサポートされた。Rockboxは原則的にファイルツリーが基本のプレイヤーであり、そしてフォルダ構造による操作が出来る。(フォルダはプレイヤーにドラッグ・アンド・ドロップすることができる。)プレーヤー内で切り取り・貼り付けや削除をすることもできる。また、最近のバージョンには、プレイヤーにファイルのID3タグからの情報を集めることを可能にしたデーターベース機能がある。ユーザーはその結果ファイル構造に関係なく、このデーターベースを用いることでファイルを操作することが出来る。

特徴 コーデック ソフトウェアでデコードするプラットフォーム(Archos以外)では13つの非可逆コーデックと6つのロスレスコーデックと4つの非圧縮コーデックと14つのチップチューンフォーマットの再生をサポートしている。また、DRM機構のファイルはRockboxにおいて再生できない。Rockboxはオープンソースのプロジェクトなので、この機能は意図的に決して実装されることはない。

非可逆コーデック AC3(rawもしくはRealMediaコンテナ) ADX Advanced Audio Coding(AAC-LC/HEv1/HEv2)(MP4コンテナもしくはRealMediaコンテナ) MPEG audio layers I-III (MP3/MP2/MP1) Musepack Ogg Vorbis ATRAC33.6 以降でサポート。(OpenMGコンテナもしくはRealMediaコンテナ) Cook Codec Speex Dialogic telephony type Windows Media Audio Windows Media Audio Professional Opus

可逆コーデック FLAC WavPack Shorten Apple Lossless Monkey's AudioMonkey's Audioの対応は初期の段階であり、ほとんどデバイスにおいてリアルタイムに再生できるのは低圧縮の設定のみである。 TTA3.6 以降でサポート。ただし、一部の機種ではリアルタイムに再生することはできない。 非圧縮コーデック PCM WAV AIFF Sunオーディオファイル Wave64 チップチューンフォーマット Atari Sound Format Synthetic music Mobile Application Format3.6 以降でサポート。ただし、音源が PCM または ADPCM であるものだけが再生可能。MIDI 音源は非対応。 Game Boy Sound Format AY Sound Chip Music Hudson Entertainment System Sound Format MSX Konami Sound System SMS/GG/CV Sound Format Video Game Music Format Gzipped Video Game Music Format MOD NES Sound Format Atari SAP Sound Interface Device SPC700

特徴 オーディオファイルを再生したり録音したりする能力の傍ら、Rockboxは他のファームウェアが実装していない再生機能を提供している。

以下に掲載されているのはこれらの機能の一部である。 ギャップレス再生 (全ての非圧縮、可逆コーデックとVorbis、Speex、Opus、Musepack、MP3(LAME方式およびiTunes方式)、AAC(iTunes方式およびNero Digital方式)に対応) リプレイゲインソフトウェアデコードのターゲットのみ 5バンド・パラメトリックイコライザ クロスフィード OTF ("on the fly") プレイリスト True randomシャッフル (fresh randomly shuffled list every time) カスタムUIテーマ ステレオでの以下の形式への録音: WAV/AIFF/WavPack (ロスレス)/MP3MP3 と WavPack と AIFF はArchos以外で利用可能。マルチサンプルレートとビットレートは利用可能。(ただし、ハードウェアに依存). (デバイスのサポート) FMラジオとその録音 (デバイスのサポート) 遠隔操作 (デバイスのサポート) Digital SPDIFの入出力 (デバイスのサポート) Last.fmの対応 (ただし、内部時計が無ければ対応しない) Cue sheetの対応 メニュー選択のバーの色と外観は変更可能 アルバムアート(MP3ID3v2の埋め込みタグ対応) ある程度制限があります。詳細はRockbox ウィキ をご覧ください。 マルチフォントのサポート 歌詞を音声にあわせて表示

プラグイン Rockbox は、音楽を聞く以外の機能として、プラグインという形で様々なアプリケーションが Rockbox の開発者によって作成されている。その一例として、以下のものがある。(完全なプラグインのリストは プラグインのリスト を参照のこと)

JPEG、PNG、BMPビューア Rockboy GameBoy エミュレータ (Gnuboyのポート)RockboyはゲームボーイとゲームボーイカラーのROMに対応している。 ZXBox ZX Spectrum エミュレータ (Spectemuのポート)ZXBoxはZX Spectrum 48をエミュレートする。Spectemuの元サイト: Doom (PrBoomエンジンのポート) WAV から MP3 へのエンコーダ WAV から WavPack へのエンコーダ MPEGビデオプレーヤー mpegplayerプラグインは MPEG-1 もしくは MPEG-2 形式のビデオでMPEGオーディオ (レイヤーII/III)(音声部はMP2とMP3にのみ対応)を多重化した.mpgファイル形式に対応。ハードウェアによるフレームレートとビットレートの制約はない。ファイルはおのおのの機器に応じた解像度である必要がある。早送りと巻き戻しにも対応。 様々なゲーム(数独, ソリティア, マインスイーパ, テトリス, リバーシ, pong等40種以上) MIDIプレーヤー。ある程度の処理能力があるプレイヤーではリアルタイムで再生可能。再生には外部の楽器セットファイルが必要であり、Rockboxのページからダウンロードできる。CPUが追いつかなくなると、音飛びが生じる。 電卓(関数電卓機能付) カレンダー ペイント メトロノーム テキストビューア/エディタ ストップウォッチ

サポートしない機能 Rockboxには外部の会社やプラットフォームのサポート不足のために、まだ実装されていない機能がいくつかある。 FireWire DRM (故意に未実装)NoDo FAT32以外のファイルシステムの実装 (故意に未実装)

アーキテクチャ Rockboxはフラットメモリモデル (これが メモリ管理装置なしで様々なプラットホーム上で動かすことを可能にしている。)と シングル プロセスを用いた、単純なカーネルで動いているRockboxのカーネルについて。 貧弱なスレッド は、"オーディオ・スレッドを優先させる スケジューラ"に制御を返す"協調マルチスレッディング"で動く。つまり、プリエンプション(OSが優先順位の高いタスクに有利になるように、現在のタスクを停止したり、先取りする能力のこと)を行うには割り込みを利用するしかない。OSやプラグインはC言語で書かれていて、繊細なコードを実行することにつけ加え、デバイスやプラットフォーム固有のコードの為にアセンブリ言語が用いられている。この単純で軽いアーキテクチャのおかげで、Rockboxは、1〜64MBまで変動するメモリや、12〜300MHzまで変動するCPUといった、様々な機器で動かすことが可能になっている。Rockboxはまた、マルチコア・システムや非対称型マルチプロセッサ・システムへの限定的なサポートをしている。

サポートしているデバイス thumb|220px|iPod mini上でのRockbox Archosデバイスのみ公式にサポートされると宣告されている。以下は少なくとも実質的に動作する(Rockbox wiki Device Chartで「サポートされる」か「使用可能である」として、記載されている)デバイスのリストであると考えるべきである。詳細に関してはRockbox Device Chartを参照。 安定版 Archos Archos Jukebox シリーズ Jukebox 6000 Jukebox Player/Studio Jukebox Recorder FM Recorder Recorder v2 Ondio FM Ondio SP

Cowon iAUDIO M3、M3L iAUDIO M5、M5L iAUDIO X5、X5L iAUDIO X5V

Apple iPod 第1世代 iPod 第2世代 iPod 第3世代 iPod 第4世代 (グレイスケール)※ロット(搭載CPUのリビジョン?)によって公式ビルドではunstableなものがある模様。 iPod 第4世代 (Color/Photo) iPod 第5世代/第5.5世代 (Video) iPod mini 第1世代 iPod mini 第2世代 iPod nano 第1世代 iPod nano 第2世代

iriver iriver H10 (H10 5/6/20GB) iriver H100 (H100/H110/H115/H120/H140, aka iHP-100/110/115/120/140) iriver H300 (H320/H340)

MPIO MPIO HD300

Packard Bell Vibe 500

SanDisk Sansa e200 シリーズ (v1/v2) Sansa e200r シリーズ Sansa c200 シリーズ (v1/v2) Sansa Fuze シリーズ (v1/v2) Sansa Clip シリーズ (v1/v2/Clip+) Sansa Clip Zip

Toshiba Gigabeat Fシリーズ (F10/F11/F20/F21/F30/F31/F40/F41/F60) Gigabeat Xシリーズ

不安定版 Cowon COWON D2

HiFi E.T MA9

HiFiMAN HM-60x HM-801

MPIO MPIO HD200

Olympus M:Robe 100 M:Robe 500

PHILIPS PhilipsGoGear HDD16x0 GoGear HDD63x0 GoGear SA9x00

Samsung YH-820/YH-920/YH-925 YP-R0

SanDisk Sansa Fuze+

Toshiba Gigabeat Sシリーズ

開発中の移植版

Rockboxは様々なデジタルオーディオプレーヤーを使う人たちによって開発されている。自分たちが使っているプレイヤーへRockboxを移植することに興味を持っている人であれば開発に加わることは常に歓迎である。原理的には、プレイヤーのCPUにGCCが対応してさえいれば移植可能である。Rockboxの移植版がすでに存在するプレイヤーと共通の部品を持っていれば、開発は非常に容易になる。公開されている仕様書がない部品で作られていたり、ハッシュチェックや暗号化でファームウェアを積極的に保護していれば、移植は難しくなる。

Archos AV300

Cowon iAUDIO 7

Creative Zen Vision:M Zen Vision

Onda VX747 VX767 VX747+ VX777

Samsung YP-S3

iriver iFP-790

Meizu M6SL M6SP M3

Tatung Elio TPJ-1022

Apple iPod classic

SanDisk Sansa m200 (v1/v4) Sansa c100 Sansa View Sansa Connect

Logik DAX

Lyre project Lyre proto 1 Mini2440

ソフトウェア Google Android

Nokia N8xx N900

Pandora Pandora

ギャラリー

関連項目 iPodLinux

参照

外部リンク The Rockbox Project LWN.net: Waiting for Rockbox 3.0