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