プレイ日記
myu314 myu314
【43E3Z3PD】 MMLとの同期ってどうやるのか調べたメモ。 結論としてはとりあえずMICPOSで同期取れるっぽい。 ただサンプリングレートはMICSTARTに載ってる数値ではなく、8192/16384/32768を使う必要がある…なんでずれてるんだろ。 あとマイク機能は一旦ホームに戻ると復帰に2秒ほどかかるので、写真撮ったらずれる。 MAINCNTでも正確なリフレッシュレートが解れば多分大丈夫だと思うんだけど、上手く見つけられなかった。 今は大体この辺かなーという数値を入れてあるので、そこそこあってる状態。ゲームくらいなら大丈夫そう。 なお、BGMPLAYから実際BGMVARが反映されるまで1フレームかかるらしく、上記サンプルでは1フレームずれてる。
2そうだね
プレイ済み
返信[1]
親投稿
myu314 myu314
MICPOSで多分大丈夫と思ったけど、30分ほど動作チェックしてみたら大分ズレが大きくなってしまった。 あとサンプルレートは 8182/16364/32728 の間違い…といってもこれもずれちゃったけれど。
0そうだね
プレイ済み
返信[2]
親投稿
myu314 myu314
32728という数字がどこから来たのかを考えて。 DSPが134058675Hz動作していて、134058675/32728=4096.14626619。 ここから4096クロックで1サンプル処理してるんじゃないかと予想。 というわけで、サンプルレートを 134058675/(4096*4)=8182.29217529Hz で処理したところ、30分で1F程度の遅れとなりズレはだいぶ小さくなった。 これに近いリフレッシュレートが59.83245Hz。 もう少しズレ減らしたいけれど根拠のありそうな数字が浮かばない。
0そうだね
プレイ済み
返信[3]
親投稿
myu314 myu314
【ZRVXEK3E】 最終的にこんなプログラムで同期をチェックしてる。 今のところサンプルレート32728.5Hzで試し中。 CPUクロックだと丁度65457で整数になる値って根拠なんだけど、まだすこーし速い模様。 けどまあ10時間くらい走らせて±1フレーム以内程度なら十分かなぁ。
0そうだね
プレイ済み