Categories: 工作・開発

ESP32とUSBの光学ドライブで音楽CDを再生できる自作プレーヤー

USB接続の光学ドライブをマイコンボードに直接つなぎ、パソコンを使わずに音楽CDを再生するCDプレーヤー「ESP USB CD Player」のファームウェアが、GitHubで公開された。作ったのはKilrah氏で、ESP32-S3が持つUSBホスト機能(USB機器をつなぐ親として動く機能)を使っている。同氏はEspressifのUSBホストのサンプルから作り始め、開発には「Claude」を多用したとREADMEに書いている。

同氏の説明によると、USB接続の光学ドライブは、中身がパソコン内蔵用のドライブとUSB変換回路でできている。そのため、パソコンから外したドライブもUSB変換アダプターを付ければ使える。同氏はブルーレイドライブと、IDE接続の古いドライブで動作を確かめた。

再生中は、本体の画面にアルバム名、曲名、再生時間が出る。プレーヤーは曲名をCDに記録されたCD-TEXTから読む。ネットにつながっていれば、音楽データベースのMusicBrainzなどからアルバム情報とジャケット画像を取得して保存する。一度取得したジャケットは、オフラインでも表示される。

音楽CDの再生は等速で足りるが、同氏は読み取り速度を4倍速に設定し、回転音を抑えている。プレーヤーは再生を止めて2分たつとドライブの回転を止め、再開時に回転が戻るまでの待ち時間は1.5MBの音声バッファで埋める。

電源には、ドライブの回転開始に必要な電流を出せる5Vの電源が要る。モバイルバッテリーはUSBのデータ線を短絡させて急速充電の可否を伝えるため、ドライブとの通信が切れるとして、同氏は使わないよう注意している。LilyGOの「T-Display S3」で使う場合は、USBポートの逆流防止ダイオードをジャンパー線に替える改造も要る。操作にはWi-Fi経由のWeb画面かシリアル通信のコマンドを使い、本体のボタンでの操作はまだ実装されていない。

試作機の構成はT-Display S3とDACモジュールのPCM5102の組み合わせだ。ファームウェアはESP32-P4を載せたGuition製の7型画面のボードでも動く。ソースコードのライセンスはApache License 2.0で、光学ドライブとの通信を受け持つドライバーは「esp_usb_host_atapi」として別のリポジトリにある。

関連情報

FabScene編集部

FabScene編集部