ユーザ用ツール

サイト用ツール


2024:07:13

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
2024:07:13 [2024/07/13 09:33] machiaworx2024:07:13 [2024/07/14 04:25] (現在) machiaworx
行 5: 行 5:
   - ファイル読み込み(最初は同期、可能なら非同期読み込み)\\ ファイルのセーブ状況検知実装予定、MIDI設定を改造予定   - ファイル読み込み(最初は同期、可能なら非同期読み込み)\\ ファイルのセーブ状況検知実装予定、MIDI設定を改造予定
   - 組込み関数の追加\\ オーディオ・MIDI・スピード変更は実装完了。今後拡張予定。   - 組込み関数の追加\\ オーディオ・MIDI・スピード変更は実装完了。今後拡張予定。
-  - コンパイルしたデータとサウンドの譜面を紐づける実装\\ MIDI機能の作り直しを実施。+  - コンパイルしたデータとサウンドの譜面を紐づける実装\\ 本日、MIDI機能の作り直しを実施。
   - ADSR、フィルタの実装、加えてエフェクトの実装\\ まだ   - ADSR、フィルタの実装、加えてエフェクトの実装\\ まだ
  
行 27: 行 27:
   * レイテンシーは0より下はできないからどうやっても基準値より早く発音はできない(当然ながら)   * レイテンシーは0より下はできないからどうやっても基準値より早く発音はできない(当然ながら)
   * なので他の選択肢としては「オーディオのレイテンシーを変更すればいいのでは」という。   * なので他の選択肢としては「オーディオのレイテンシーを変更すればいいのでは」という。
-  * もちろん計算は狂うから即時に対応できるとも言い難いが、元々ライブコーディングの制約の関係上+  * もちろん計算は狂うから即時に対応できるとも言い難いが、元々ライブコーディングの制約の関係上すぐに発音はできないので、それを利用して待ち時間に組み込む作戦。 
 + 
 +---- 
 +  * PortMidiの仕様上16進数でメッセージを整形してもいいんだけど、引数としてはint型なので、トラックごとに加工が必要な場合は、一度int型で準備して、それをそのまま読み込ませる方が正常にメッセージを処理できるっぽい。 
 +  * 具体的には各トラックでフレーズを分ける場合。\\ 16進数で計算しようとしても難しいし、そもそもトラック番号をどうやって16進数に変換するんだって話なので、まず全部10進数で計算することにした。 
 +  * で、Pm_message関数はintで受け付けるので変換の必要なくそのまま読み込ませる形で対応できる。 
 +  * これで問題なく複数パートの演奏ができた。前述のオーディオコールバックに組み込んだ状態でも遅延やノイズは認められず。 
 + 
 +---- 
 +  * サンプリングについても導入を検討 
 +  * https://wiki.laptop.org/go/Free_sound_samples 
 +  * これを利用予定 
 +  * https://github.com/mhroth/tinywav 
 +  * 正直自分でもWAV読み込み書き込みはできるんだけど、せっかくあるので使わせてもらおう的な考え。 
 +  * 
2024/07/13.1720830782.txt.gz · 最終更新: 2024/07/13 09:33 by machiaworx