ユーザ用ツール

サイト用ツール


2024:03:04

差分

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

この比較画面へのリンク

次のリビジョン
前のリビジョン
2024:03:04 [2024/03/04 20:45] – 作成 machiaworx2024:03:04 [2024/03/05 03:31] (現在) machiaworx
行 1: 行 1:
 3/4日記 3/4日記
 +
 +===== ゲーム開発 =====
 +  * PVを修正してた。
 +  * ゴールを決めた。
 +  * 以前からどのくらいの規模になるかはある程度決めていたけど、それをPVに乗せた。
 +  * 断片的な情報からまとまった情報にするというPVとは別の作り方を後半にねじ込んでる。
  
 ===== プログラミング(思考順) ===== ===== プログラミング(思考順) =====
-  * Rustを使ったツールの実装どうするか悩んでた。 +  * ツールの実装どうするか悩んでた。 
-  * うものの、元々「Miniscriptにジャグ配列が機能としてあった」から音楽用の言語を実装したわけで、Rust見る限り別の機能で代替しないとダメそう。+  * 最初Rustをつかえば万事解決ではと思っていたけど、そないことがわかってきた。 
 +  * 元々「Miniscriptにジャグ配列が機能としてあった」から音楽用の言語を実装したわけで、Rustで実装された他の言語見る限り別の機能で代替しないとダメそう。
   * RustとC組み合わせることもできるけど、C-Rustのインターフェースを書く必要があるのと、アプリケーションとのバインドどうするの?って話になって、時間がかかりそう。   * RustとC組み合わせることもできるけど、C-Rustのインターフェースを書く必要があるのと、アプリケーションとのバインドどうするの?って話になって、時間がかかりそう。
   * なので、最終手段として「C言語で全部書く」しかないな・・・という結論になりつつある。この選択肢は選びたくなかったけど仕方ない。   * なので、最終手段として「C言語で全部書く」しかないな・・・という結論になりつつある。この選択肢は選びたくなかったけど仕方ない。
   * アプリケーションの形は、簡単なものにするため、「1個のテキストファイルを監視し続けて、タイムスタンプが更新されたら読み込んで処理する」みたいなのでいいかと考え始める。最近そういうアプリばかり弄ってライブコーディングしていたのもある。   * アプリケーションの形は、簡単なものにするため、「1個のテキストファイルを監視し続けて、タイムスタンプが更新されたら読み込んで処理する」みたいなのでいいかと考え始める。最近そういうアプリばかり弄ってライブコーディングしていたのもある。
 +  * ファイルパスはGUIから設定できるようにもしておこう。まぁこれは引数を受け入れる形にすれば問題なかろうと。
 +
 +----
   * ということで、C言語で必要なライブラリや実装を情報収集。   * ということで、C言語で必要なライブラリや実装を情報収集。
   * タイムスタンプについては以下。   * タイムスタンプについては以下。
行 21: 行 31:
   * あとはリサイズに制御かけるとかのオプションの資料。   * あとはリサイズに制御かけるとかのオプションの資料。
   * https://www.glfw.org/docs/latest/window_guide.html   * https://www.glfw.org/docs/latest/window_guide.html
 +  * ここが英訳してた
 +  * https://dolphilia.com/translation/GLFW/Guides/window_guide
   * 読み込みは毎度おなじみのMiniscript。   * 読み込みは毎度おなじみのMiniscript。
   * https://miniscript.org/   * https://miniscript.org/
行 30: 行 42:
   * サウンドはlibsoundio。   * サウンドはlibsoundio。
   * http://libsound.io/   * http://libsound.io/
-  * ただこれは2.0への移行がどうも芳しく無く、自分でビルドの必要があるとのこと。 +  * ただこれは2.0への移行がどうも芳しく無く、自分でビルドの必要があるとのこと。MinGWに別途ツールを導入の上利用する必要がある。 
-  * 出来ないことはないけど、とりあえずバイナリがあるのでそれを利用する。+  * 出来ないことはないけど、とりあえず前バージョンのバイナリがあるのでそれを利用する。 
 +  * これでサウンド出力周りは楽に整備できた
  
 +----
 +  * 最小限にしていけばすぐできそうな気がする。
 +  * あとサウンドのライブラリって結構少ないので調べてみる。
 +  * https://sjoerdvankreel.github.io/xt-audio/
 +  * https://www.portaudio.com/
 +  * https://www.music.mcgill.ca/~gary/rtaudio/
 +  * MiniAudioはよさそう。
 +  * https://github.com/mackron/miniaudio
 +  * PythonでPortAudioを使ってるんだってさ
 +  * https://people.csail.mit.edu/hubert/pyaudio/
 +  * Rustだけどこういうのもある
 +  * https://github.com/RustAudio/cpal
 +  * https://rust.audio/
  
 +===== 音楽 =====
 +  * AbletonLive組み込みの音源のうちAnalogという楽器がある。
 +  * 物理モデリング音源で有名なAASとAbletonが組んでDAW組み込み楽器として発表されてる。
 +  * https://www.ableton.com/ja/packs/analog/
 +  * で、このAnalogを使ったとあるパッチを弄っていたら、なかなかおもしろい挙動してることに気づいた。
 +  * https://www.ableton.com/ja/packs/entangled-species/
 +  * Keystrikeってパッチ。
 +  * どうも、ユニゾンモードを切り替えてバラバラ度合いを特定の数値にすると、中東・南米っぽい?フレーズになるというもの。
 +  * ピッチが小数で違う形なので、それがうまくスケール上の音になってるんだと思う。
 +  * ユニゾンモードONでピッチが同じだとそのまま同じ音が重なるけど、発音タイミングが規則的にバラバラなのでこれを利用\\ スタッカート風にサステインを短めな音にした後、ピッチをバラバラにしてこのアルペジオを作ってるみたい。
 +  * よー考えつくもんだ・・・
2024/03/04.1709552752.txt.gz · 最終更新: 2024/03/04 20:45 by machiaworx