2024:07:21
文書の過去の版を表示しています。
プログラム
- ライブコーディングツールの進捗
- サンプリング再生機能
再生バッファに枠を確保ずみ、サンプリングデータを引っ張ってくる処理はまだ。
- 二次機能
- 任意のファイル読み込み
- MIDIとオーディオの同期精度向上(パラメータ変更)
対応済み。 - 利用MIDIデバイス選択
実装済み。 - サイクルの時間表示
- MML機能拡張
- 優先度若干下げ
- ADSR、フィルタの実装、加えてエフェクトの実装
未済、MIDIデータ出力で最低限の作曲は可能、サンプリングで補填等も検討
- MIDIデバイスの選択については、ラジオボタン機能で作ることで問題なく実装できた。
- ListBoxの場合開閉でエラーが出ていたけど、それもなさそうなので安心。
- ラジオボタンを選択したら接続を行うという形にしている。
- これでエラーが出るなら未接続を項目として追加するのがいいかなと思った。
- オーディオとのMIDIの再生遅延については短縮することができた。
- Play状態の間にバッファを噛ませることにして、一定秒数以上経過したら改めてバッファを進めるようにした。
- ただ、これだと発音自体は行っているけどシーケンス自体が進まない状態になってしまうので、ちょっと遅延やノイズが出るようになってしまった。これも対応済み。
- 細かく指定を入れていくことでどうにかなってきた。
- 管理を別にしてしまった弊害として、MIDIとオーディオで同期が取れなくなってきてしまった。
- 流石に、オーディオとMIDIでサイクルの半分フレーズがズレてきたのには笑ってしまった。
- ということであまり意味がないのかもしれないけど、バッファ更新タイミングでオーディオとMIDIのシーケンス位置について同期を取ることにした。これで再生が大きくおかしくなるのは避けられる。
- また、MIDIの1個目の譜面が再生されないバグがあった。
最初はデータが間に合ってないとかかと思ったけど、タイミングの調整を導入したら明らかに間に合っている状態で再生されないため、これはおかしいと調査を開始。 - 原因はなんてことはない、「再生可否を確認することなくデータを再生する一択」の処理になっていたことが原因だった。
このため、停止を行っても少しバッファが進んでいる状態でしかも1個目のデータが停止するのに鳴っている状態だった。 - 再生フラグをしっかり確認して鳴らすようにしたら回避可能になった。
2024/07/21.1721569021.txt.gz · 最終更新: 2024/07/21 22:37 by machiaworx