● 実験テーマ175
「ESP32S3+SDカード+液晶+MP3デコーダIC MP3 Player製作記録 その7」
(MP3のID3v2タグからアルバム情報を検索しイメージと共に演奏者名・曲名を表示する機能を追加しました。これが最終形です。)
■ 2026.10.5
・PIC32MXの時に、実験テーマ80でMP3のID3v2タグからアルバム情報を検索しイメージと共に演奏者名・曲名を表示する機能を
盛込んでいたので、これもESP32S3に移植してみることにしました。
漢字フォントを用意し、半角文字との混在も可能となっています。
■ 2026.10.8
・移植作業完了。
コンパイルしてみる
→ 4点ほどイージーミス有ったが、コンパイルは通過した。未だメモリには余裕があるようです。
最大1310720バイトのフラッシュメモリのうち、スケッチが525712バイト(40%)を使っています。
最大327680バイトのRAMのうち、グローバル変数が67864バイト(20%)を使っていて、ローカル変数で259816バイト使うことができます。
・最初の動作確認:書込んでみた。
① 12曲リストになった(16曲リスト表示からタグ情報表示エリアを確保のため4曲減らした)
② 一応IDTagを読込んで曲名と演奏者名を表示してる
<不具合点>
① N***/Totalの表示が消える
② 不具合とまでは言えないが、IDTag表示のクリアが液晶がSPI制御のせいかちょっと遅い。これは妥協した。
<調査・対策>
①は割と簡単そう。
・N***/Totalの表示位置が演奏者名表示位置のy=15に重なっている。以下y=16に修正
totalに関しては以下でok
/* void listRootFiles()
LCD_DrawString(20, 16, str_T, WHITE, BLACK); // y=15から修正
/* void MakerDisp_and_Scroll()
LCD_DrawString(20, 16, str_T, WHITE, BLACK); // y=11から修正
・曲番は以下でokになる。
/* main
while(1) {
/// ファイルNo.表示
itostring(3, fileCount+1, str_N+1);
LCD_DrawString(16, 16, str_N, WHITE, BLACK); // 'Nxxx'表示 y=15から修正
※ 心配していたIDTagの読込みも上手く行った。
ファイルヘッダー1024kbの読込記述もファイルシークで先頭に戻す記述もokだった。

・今回は簡単に記事をまとめてみました。詳細は以下スケッチを参照してください。
<最終スケッチとフォントデータ>
・こちらからどうぞ→
ESP32S3_MP3_PLAYER_TEST_4.ino
ASCII12dot.h
KanjiFont12b.h