ユーザ用ツール

サイト用ツール


2024:07:24

7/24日記

プログラム

  • ノイズについて進捗あり。
  • 処理を分割したが、まったく変わらなかった。
  • ついでにインタプリタも二重化してみたが変化なし。

  • と思ったが、Printfのノイズが絡んで出てくる可能性が高く、リリースでPrintfをすべて削除したところノイズなく動いている。(Liveで録音して波形を調べていたが、ノイズが見当たらず)
  • 元々Printf等のコマンドラインへの出力がシリアル通信を行う処理のため、コールバック処理や別スレッドで実行した場合、うまく出力ができなかったり、出力自体の遅延により並列処理が遅延することも確認ずみ。
  • 基本的にシリアル通信は転送速度が遅いため、同じプログラムであればスレッドを使ったほうが早い。
  • 今回のケースでは、ビルドの最適化も意図的にOFFにしており速度に差がないと考えると、ReleaseとDebug環境の違いはPrintfデバッグだけとなる。
  • 実際Releaseで試してみたところ、まったくノイズがないことを確認済み。
  • ただ、以前はReleaseでもノイズが出ていたことを考えると、インタプリタ二重化によって処理が軽減されたと考える。

  • Printfのシリアル通信が原因でノイズがでていることが原因と考え、Printf命令を削除し動作対応を行い、このまま進める。
  • 合わせてデバッグが複雑になることから、オーディオとMIDI遅延短縮に関する実装は一時削除。残念だけど。
  • また、マルチスレッド処理についても削除。
  • マルチスレッドについては切り替えも可能な実装としたため、いざとなったら移行でも問題なし。

  • WAVファイルの読み込みについて楽をしたいので、管理が楽なライブラリを選定。
  • ちょっと見たところmalloc使うよりも管理が簡単で、しかもクラスから直接Sampleにアクセス可能みたい。
  • ついでにアクセスする型も選べるみたいで、かなり楽できそう。
2024/07/24.txt · 最終更新: 2024/07/24 21:04 by machiaworx