9. MP3プレイヤー部分に時刻表示処理を追加
picocalcとソース共用しつつ時刻表示をMP3再生処理に組み込むのはメンドウだなあと考えながらソースを見ていたら気がついた。
時刻表示をMP3再生処理に追加しようとするからソース共用できなくてメンドクサイんであって、コールバック処理を呼び出すだけにすれば影響も最小限にできるのでは?
やってみたら簡単だった。とっととやればよかった。まあ年末進行が悪いってことで。
さて、そうなるとポップノイズが気になって仕方がない。ソースを見直してみても、ノイズが出るはずが無いんだよなぁ。
ひょっとして再生するデータ側に問題があるのか??
ということで曲の始まり無音部分のデータをダンプしたところ 512 が連続してる。
あれ?PCM再生用のPWMは0~2047だから、無音(±0)部分は1024のはずだが??
サウンドドライバの処理を見直してたらバグを発見。音量変更処理の演算処理が間違ってた。1024を基準にしたオフセット部分に音量変更処理をすべきが、PCMデータ自体に音量処理の演算をしてた。
そっか〜、音量を変更するときにノイズが出てたのは、電圧の基準レベルが変化してるせいだったか。ROMの読み込みのノイズだと思い込んでた。手抜きせずにpicocalcでも動かせばよかったのか…
(なおROMの読み込み時のノイズは改善せず)
あとはソース清書して github にpush したいところだが、ファイルを検索する処理の挙動がおかしいんだよね。callしてないタイミングで実行してエラーになる。pythonだからスタック壊してるってこともないはずだが。。。
try-exceptで拾って回避できるけど気持ち悪い…




