ユーザ用ツール

サイト用ツール


2024:07:13

文書の過去の版を表示しています。


7/13日記

プログラム

  • 進捗
  1. ファイル読み込み(最初は同期、可能なら非同期読み込み)
    ファイルのセーブ状況検知実装予定、MIDI設定を改造予定
  2. 組込み関数の追加
    オーディオ・MIDI・スピード変更は実装完了。今後拡張予定。
  3. コンパイルしたデータとサウンドの譜面を紐づける実装
    MIDI機能の作り直しを実施。
  4. ADSR、フィルタの実装、加えてエフェクトの実装
    まだ

  • 朝起きたときに思いついたアイデアをすぐ実装してみた。
  • コア部分ではあるけど1時間程度で実装からテストまで終わるのは楽ではある。
  • 結果としては問題なく動いてる。
  • 内容としては、「オーディオのコールバック処理にMIDIの出力をスケジュール入りで加える」というもの。
  • ネックなのは以下の部分。
  1. MIDIデバイスとの連携において、デバイスをフックするときにオーディオのコールバックを邪魔しないか(実際Prinfを仕込むと落ちる)
  2. miniaudioのIF内にオーディオ以外に要素を追加する必要があるため協調が上手くいくか
  • 今のところ協調動作も問題なく動いているのでよかった。(少しレイテンシーはある)
  • もちろん1フレーム単位で命令送る場合動作に影響がある旨は確認したけど、それは仕様上仕方ない(プログラムで追加できてしまう)ので、まずは命令を想定どおりに送れることを確認したかった。
  • スレッド上の命令として時間管理しなくてもよくなったので、管理項目が減った。助かる。

  • MIDIのレイテンシーについて
  • レイテンシーは0より下はできないからどうやっても基準値より早く発音はできない(当然ながら)
  • なので他の選択肢としては「オーディオのレイテンシーを変更すればいいのでは」という。
  • もちろん計算は狂うから即時に対応できるとも言い難いが、元々ライブコーディングの制約の関係上
2024/07/13.1720830631.txt.gz · 最終更新: 2024/07/13 09:30 by machiaworx