Compare commits
182 Commits
94327817a6
...
v4
Author | SHA1 | Date | |
---|---|---|---|
33afe3ca27 | |||
665489d7a7 | |||
90b0e36115 | |||
685180aa47 | |||
8f1fd8c048 | |||
ac6c358150 | |||
bda19719a9 | |||
05a154c745 | |||
de3da1f6a1 | |||
3d7c9c9048 | |||
b32ef1d348 | |||
bb453aba6b | |||
bab3afd790 | |||
17df20a502 | |||
51fa440e02 | |||
245acb784e | |||
baa447e054 | |||
b595629042 | |||
08a1cc5b30 | |||
81fbd200a8 | |||
6ef107b199 | |||
b3646b2c71 | |||
0eba0d32f6 | |||
e4d9573ffb | |||
101d6203a3 | |||
a5e33b30b3 | |||
43da672850 | |||
3d4c6fcf5c | |||
c81997e527 | |||
cbe09d0852 | |||
160db1948f | |||
011edf7bed | |||
aa71637fe6 | |||
3dbbb6da30 | |||
bcfb639da7 | |||
23b72c51ab | |||
f0d85878da | |||
9ceccfeec5 | |||
9ceda0f1a1 | |||
a47cd93b67 | |||
94b001fab7 | |||
af28f3cb21 | |||
dc6b7f7d0f | |||
c789053832 | |||
01d5fbac96 | |||
5ccf09c98f | |||
7b29b36a0c | |||
19b344edd5 | |||
0b18779385 | |||
5c32c7c1aa | |||
10aa3c4c08 | |||
8c8e15cfb3 | |||
b6491cbb66 | |||
011620dee0 | |||
8003f8ed58 | |||
0f0c8163f7 | |||
949c8d9b5a | |||
941162aa26 | |||
18e5a7654e | |||
3b41d338a7 | |||
c5e6905d9e | |||
ee958e9540 | |||
5ee3b46bf0 | |||
a4982a4674 | |||
1c439d880b | |||
ce893d2245 | |||
ec9b4baace | |||
a80b88341f | |||
a179dce94f | |||
845401f5ef | |||
3a0cf9eba5 | |||
bf631bc74a | |||
c28f8ea8fc | |||
9e271d5edb | |||
6064078159 | |||
8572eec9f6 | |||
7c34c4fc9a | |||
39e1029d49 | |||
a27fbbd709 | |||
194a945954 | |||
9cda110aa9 | |||
e845d93bfc | |||
808b8f4faa | |||
037daaa967 | |||
1c786d7bb9 | |||
d0e330bb6a | |||
e9a6d8dd19 | |||
cbef2fda11 | |||
cc52143cb8 | |||
60272b8442 | |||
134a7e32ec | |||
cbef252c70 | |||
55cdf2d2d8 | |||
c1eeb22e9c | |||
8faae4d8c4 | |||
261a603dfd | |||
fe0c741240 | |||
9cad630a3c | |||
6eac3bb631 | |||
8a2d37cc74 | |||
1684889485 | |||
07db97558a | |||
e24cd3fbac | |||
77d5cd6f23 | |||
d5ca99dc8e | |||
1b8126fc74 | |||
ef52a0acb0 | |||
e64e576de2 | |||
b39833eff4 | |||
cb9758f2ac | |||
93db997578 | |||
ae4d1e6074 | |||
4ad62c93b3 | |||
e6d4bf7375 | |||
fb4679f022 | |||
6c4e982307 | |||
4987f49748 | |||
2882478a4e | |||
b0fba707d1 | |||
e7419cd0e1 | |||
3f9741d928 | |||
25dadb2bdb | |||
d4dcc940d3 | |||
04ebc4758e | |||
c673725980 | |||
e0bc392e35 | |||
c6ebbb0c87 | |||
170694365a | |||
da4f29ba9c | |||
5aa5cf4b62 | |||
e8cbc8af2c | |||
4fc03a8d3e | |||
e2dc5d85d3 | |||
ed4b6e3446 | |||
3bbbdfcd8b | |||
7059100df9 | |||
54a1d395ea | |||
cf4b79cff0 | |||
72254fb236 | |||
476c2b6a6a | |||
7f8ebd9402 | |||
ed1309ea3f | |||
35b8a4d1f2 | |||
81fc719da4 | |||
bc48d12f64 | |||
e809636ef0 | |||
40053ad4a4 | |||
16b5714eb1 | |||
04fe4d9ac3 | |||
9a714fa9a0 | |||
556725e412 | |||
5d35714e4d | |||
d47f555a17 | |||
2465e9d461 | |||
20c42a9288 | |||
b885b61d24 | |||
8a0cdb0f6c | |||
ff9b857e55 | |||
2e2478874e | |||
798e7390eb | |||
13c18c0031 | |||
193779b5f5 | |||
316d3d2d94 | |||
62a09d9cb7 | |||
e777f4e6ff | |||
e7b3d274de | |||
1401d92bae | |||
3c03d4b488 | |||
5ed3ca7560 | |||
47ba0a9cf5 | |||
ce4f12f690 | |||
b3f6b0d614 | |||
26c2e90fee | |||
b9a5b47ddc | |||
220f83169b | |||
21fd652268 | |||
ec7012dca9 | |||
5419032229 | |||
b56fee3fed | |||
903e8b7f0f | |||
bf6646f069 | |||
aff2a6ef2b |
5
content/.obsidian/community-plugins.json
vendored
5
content/.obsidian/community-plugins.json
vendored
@@ -2,12 +2,13 @@
|
||||
"obsidian-pandoc-reference-list",
|
||||
"templater-obsidian",
|
||||
"better-word-count",
|
||||
"obsidian-local-rest-api",
|
||||
"obsidian-excalidraw-plugin",
|
||||
"obsidian-git",
|
||||
"obsidian-auto-link-title",
|
||||
"2hop-links-plus",
|
||||
"obsidian-focus-mode",
|
||||
"obsidian-zotero-desktop-connector",
|
||||
"obsidian-outliner"
|
||||
"obsidian-outliner",
|
||||
"obsidian-local-rest-api",
|
||||
"mcp-tools"
|
||||
]
|
4
content/.obsidian/graph.json
vendored
4
content/.obsidian/graph.json
vendored
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"collapse-filter": false,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showTags": true,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
@@ -60,6 +60,6 @@
|
||||
"repelStrength": 15.1642583672965,
|
||||
"linkStrength": 0.975453871804372,
|
||||
"linkDistance": 42,
|
||||
"scale": 1.1322324003598758,
|
||||
"scale": 0.31674920955833996,
|
||||
"close": true
|
||||
}
|
45121
content/.obsidian/plugins/obsidian-git/main.js
vendored
45121
content/.obsidian/plugins/obsidian-git/main.js
vendored
File diff suppressed because one or more lines are too long
@@ -6,5 +6,5 @@
|
||||
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||
"isDesktopOnly": false,
|
||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||
"version": "2.25.0"
|
||||
"version": "2.33.0"
|
||||
}
|
||||
|
@@ -39,6 +39,10 @@
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.obsidian-git-disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.obsidian-git-center-button {
|
||||
display: block;
|
||||
margin: 20px auto;
|
||||
@@ -560,3 +564,42 @@
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.git-unified-diff-view,
|
||||
.git-split-diff-view .cm-deletedLine .cm-changedText {
|
||||
background-color: #ee443330;
|
||||
}
|
||||
|
||||
.git-unified-diff-view,
|
||||
.git-split-diff-view .cm-insertedLine .cm-changedText {
|
||||
background-color: #22bb2230;
|
||||
}
|
||||
|
||||
/* Limits the scrollbar to the view body */
|
||||
.git-view {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
|
||||
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
|
||||
}
|
||||
|
||||
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
|
||||
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
|
||||
}
|
||||
|
||||
/* Override styling of Codemirror merge view "collapsed lines" indicator */
|
||||
.git-split-diff-view .ͼ2 .cm-collapsedLines {
|
||||
background: var(--interactive-normal);
|
||||
border-radius: var(--radius-m);
|
||||
color: var(--text-accent);
|
||||
font-size: var(--font-small);
|
||||
padding: var(--size-4-1) var(--size-4-1);
|
||||
}
|
||||
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
|
||||
background: var(--interactive-hover);
|
||||
color: var(--text-accent-hover);
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
date: "2024-02-06T08:42:13+0900"
|
||||
---
|
||||
#queer #history #research
|
||||
#queer #history #research #queercomputing
|
||||
|
||||
[[Jacob Gaboury]]によるRhizome.org上の連載シリーズ。(2013年)
|
||||
|
||||
|
@@ -45,7 +45,7 @@ date: "2024-02-05T12:49:01+0900"
|
||||
こちらも苦手な人は特に序盤苦手だと思う。が、みんな言ってるように取り敢えず3巻までは読んでほしい。これも2000~2010年台の少年漫画ハーレムラブコメを下敷きにしつつ、そこで散見される都合の良さを全て都合よく終わらせないのがすごい。その上で扱うテーマがコスプレ=2.5次元であることで、フィクションの中の恋愛と現実の恋愛の交錯をメタに描くことにもなっている。ACEに関心がある人は頑張って140話(18巻)まで読んでほしい。フィクトロマンティックやポリアモリーの視点からも色々な語り方ができるはず。まだ未完なのでどう物語に決着つけるかも含めて楽しみ。
|
||||
|
||||
|
||||
## 映画
|
||||
## 映画・ドラマ
|
||||
|
||||
### そばかす
|
||||
|
||||
|
8
content/AT&Tのアーカイブ.md
Normal file
8
content/AT&Tのアーカイブ.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-05-13 14:30
|
||||
---
|
||||
|
||||
|
||||
[Sound and Science | The AT&T Archives and History Center](https://soundandscience.net/contributor-essays/the-att-archives-and-history-center/)
|
||||
|
||||
現在は予算削減によりSheldon Hochheiserというアーキビストが1人で管理しており、メールでの連絡とか受け付けてないらしい
|
10
content/Andrew McPherson.md
Normal file
10
content/Andrew McPherson.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2025-06-14 09:40
|
||||
---
|
||||
#person
|
||||
|
||||
Augmented Instrument Lab
|
||||
|
||||
https://instrumentslab.org/
|
||||
|
||||
|
9
content/Appropriate Technology.md
Normal file
9
content/Appropriate Technology.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
date: 2025-05-12 17:32
|
||||
---
|
||||
|
||||
reddit のカテゴリ
|
||||
|
||||
[# r/AppropriateTechnology / Reddit - The heart of the internet](https://www.reddit.com/r/AppropriateTechnology/)
|
||||
|
||||
Appropriate & Resilient Technologies
|
33
content/Arco.md
Normal file
33
content/Arco.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
date: 2025-06-12 09:29
|
||||
---
|
||||
#computermusic #programming-language
|
||||
|
||||
[[Nyquist]]を作った[[Roger Dannenberg]]が開発している音楽プログラミング向けの中間表現。
|
||||
|
||||
[GitHub - rbdannenberg/arco](https://github.com/rbdannenberg/arco)
|
||||
|
||||
[[SuperCollider]]のようにクライアント-サーバーモデルで動作し、scsynthに相当する部分がArco。sclangに相当する部分として、[[Serpent]]というPythonっぽいフロントエンド言語も用意されている。
|
||||
|
||||
内部通信はOSCではなくO2というまた別のUDPの上に乗った汎用プロトコル。
|
||||
|
||||
## メモ
|
||||
|
||||
オーディオレートの処理でも、サンプルごとの処理のパターンと、ブロックレベルの処理の2種類がある。
|
||||
|
||||
ブロックレベルの処理の場合は入力もブロック
|
||||
|
||||
UGenは基本的に[[参照カウント]]GC
|
||||
|
||||
ここが重要そう
|
||||
|
||||
> ポイントは、入力信号の種類が非常に多様である点です。constant、block、audioレート入力に加え、単一チャンネルとマルチチャンネル信号の組み合わせにより、潜在的に6種類の入力タイプが存在します。入力数がNの場合、`real_run`のバリエーションは6^Nに及ぶ可能性があり、自動コード生成であっても管理が困難になります。
|
||||
> この問題を解決するために、2つの主要な戦略を採用しています。まず、入力と出力信号の複数チャンネルを反復処理するコードは、単一の`real_run`メソッドに実装されます。ただし、異なる種類の入力の処理は、`run_channel`メソッドを介した間接的なメソッド呼び出しにより個別化されています。run_channelは、対応するメソッドを指すメソッドです。例えば、`mult`では、2つのオーディオレートチャンネル(各々32浮動小数点数のベクトル)を乗算してオーディオレートチャンネルを生成する`chan_aa_a`メソッドと、オーディオレートチャンネルとブロックレートチャンネル(単一の浮動小数点数)を乗算する`chan_ab_a`メソッドがあります。変数`run_channel`は入力が変更されるたびに適切なメソッドに設定され、正しい個別化されたDSP計算が実行されます。
|
||||
|
||||
> 2 番目の戦略では、入力チャンネルを反復処理するロジックを、`run_channel` を呼び出す前に各入力に対して 1 つの加算命令に削減します。したがって、オーバーヘッドは出力チャンネルの数 x 入力信号の数になります。これは、アクセスおよび計算されるデータの総量に比べて非常に小さいです。
|
||||
|
||||
> 各 `run_channel` メソッドは、入力が入力ごとのサンプルポインタのアドレスから開始することを期待しています。ポインタは `run_channel`によって変更されることはありませんが、戻ると、サンプルポインタは入力ごとのストライド量だけインクリメントされます。シングルチャンネル入力の場合、各チャンネルで同じ入力を再利用したいので、ストライドは 0 です。マルチチャンネルオーディオ入力の場合、入力の次のチャンネルに進みたいので、ストライドは 2 です。入力と出力はメモリ内で連続しているため、ストライドはブロック長 (BL = 32) になります。マルチチャンネルのブロックレート入力の場合、1 ブロックにつき 1 サンプルしかないので、ストライドは 1 になります。最後に、定数入力 (メッセージによって更新できる値) は、ブロックレート信号と同じように扱われます。定数は、ストライドが 0 または 1 のシングルチャンネルまたはマルチチャンネルにすることができます。
|
||||
|
||||
> これらの戦略により、オーディオレート入力とブロックレート入力に異なるコードが必要であるため、組み合わせは 6^N バージョンの内部計算ループから 2^N バージョンに減少します。一部の入力をオーディオレートに制限することで、これをさらに制限することができます。たとえば、ブロックレート信号にオーディオローパスフィルターを適用することはあまり意味がありません。
|
||||
|
||||
[arco/doc/design.md at main · rbdannenberg/arco · GitHub](https://github.com/rbdannenberg/arco/blob/main/doc/design.md)
|
67
content/Arduino Uno R4.md
Normal file
67
content/Arduino Uno R4.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
date: 2025-05-22 13:58
|
||||
---
|
||||
#arduino #electronics
|
||||
|
||||
[Arduino UNO R4 — Arduino Official Store](https://store.arduino.cc/pages/uno-r4)
|
||||
|
||||
チップがAVRからルネサスになった。
|
||||
|
||||
## 嬉しいポイント
|
||||
|
||||
- LeonardoやPro Microのように、HIDをエミュレートできる(マウスやキーボードの代わりになるUSBデバイスを自作できる)
|
||||
- アナログのオペアンプが2個ついている。
|
||||
- ADCを最大14bitの解像度で使える。
|
||||
- PWMだけじゃなくて12bitのDACも2系統使える。
|
||||
- 電源入力が12V→24Vまで対応になった。リニアレギュレーターじゃなくDCDCコンバーターになったので、熱の心配もない。
|
||||
- USB-Cなので助かる。
|
||||
|
||||
## つらいポイント
|
||||
|
||||
授業などで使っててわかったこと
|
||||
|
||||
### ピンの電流制限がキツい
|
||||
|
||||
[Arduino UNO R4 Minimaの許容出力電流は各I/Oピンが8mA、全出力端子の総和が60mA #テスト自動化 - Qiita](https://qiita.com/pbjpkas/items/859b273961d5d272b714)
|
||||
LEDを適当に直つなぎするとそれだけで過電流になりかねない。
|
||||
|
||||
### 過電流での壊れ方がへん
|
||||
|
||||
上とも関連するが、間違えて出力ピンをショートさせたり過電圧を加えると、基本そのピンだけでなくチップが丸ごと壊れる。
|
||||
|
||||
今まであったパターンでは、
|
||||
|
||||
- 電源を入れた途端チップが過熱してデバイスとしても認識されない
|
||||
- どんなスケッチを書き込んでもTX、RXのLEDが付きっぱなしになる
|
||||
|
||||
などがあった。壊れてるのか壊れてないのかの判別がつきにくいのがしんどい。
|
||||
|
||||
### コンパイル時間が長い
|
||||
|
||||
ツールチェーンのせいなのかわからんけど、軽くR3の4倍ぐらいはかかる。ESP32系をコンパイルするときの長さと似たような感じ。授業だと地味に死活問題。
|
||||
|
||||
### ADCTouchが使えない
|
||||
|
||||
AVR系では、ADCのピンを入力/出力モードを内部的に高速にスイッチすることで、ADCピンに導線を挿すだけでタッチセンサーとして使える高度なライブラリ[[ADCTouch]]があって便利だったのだが、これが使えない
|
||||
|
||||
ルネサスのチップには内部的にキャパシティブタッチセンサ用のピンが出ていて、それが実は背面のArduinoのMade with ❤の❤の部分に配線されているのでそれを引き伸ばすとタッチセンサが使えるという謎の裏技がある。普通に表面にピンか半田付できるランドを残しておいて欲しかった。
|
||||
|
||||
[How to access the Capacitive Touch Sensing Unit - UNO R4 WiFi - Arduino Forum](https://forum.arduino.cc/t/how-to-access-the-capacitive-touch-sensing-unit/1145940)
|
||||
|
||||
けど今調べたらなんか新しいの出てるな
|
||||
|
||||
[GitHub - delta-G/R4\_Touch: Capacitive Touch Sensing for the Arduino UNO-R4](https://github.com/delta-G/R4_Touch)
|
||||
|
||||
→使ってみたけど、手動キャリブレーションが割と必要な感じだった。まだ実用じゃないな
|
||||
|
||||
### Firmataがそのままでは使えない
|
||||
|
||||
Configurable Firmataを使って専用のConfigを書かないとダメだった。
|
||||
|
||||
Configurable Firmataをインストール後、`~Documents/Arduino/libralies/ConfigurableFirmata/src/utility/Boards.h`を以下のGistに上げたファイルと置き換える。
|
||||
|
||||
[Arduino Uno R4 minimaでConfigurable Firmataを動かすためのコード(817行目のIS\_PIN\_PWMを修正) ENABLE\_SERVOをUndefしないと動かない。 · GitHub](https://gist.github.com/tomoyanonymous/9efdd3e6063b9eeb0fb7527137a55c93)
|
||||
|
||||
サンプルスケッチのConfigurableFirmata→ConfigurableFirmataを開く
|
||||
|
||||
22行目の`ENABLE_SERVO`をコメントアウトして書き込み。これで動く
|
@@ -3,7 +3,7 @@ date: 2025-01-27 12:44
|
||||
---
|
||||
#person
|
||||
|
||||
[[MUSIC N|MUSIC 11]] [[CSound]]の開発者。
|
||||
[[MUSIC N|MUSIC 11]] [[Csound]]の開発者。
|
||||
|
||||
MIT EMS(Electronic Music Studio)を立ち上げた人であり、 [[MIT Media Lab]]の初代所長。
|
||||
|
||||
|
26
content/BibLaTeX.md
Normal file
26
content/BibLaTeX.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
date: "2025-06-18T12:10:00+0900"
|
||||
---
|
||||
#research #tools
|
||||
|
||||
学術論文や書籍の引用・参考文献を管理するためのLaTeX用パッケージ。従来のBibTeXの後継として開発された。
|
||||
|
||||
## 特徴
|
||||
|
||||
- Unicode対応
|
||||
- 多言語サポート
|
||||
- より柔軟な引用スタイル
|
||||
- より豊富なエントリータイプとフィールド
|
||||
- バックエンド処理にBiberを使用
|
||||
|
||||
## 使用方法
|
||||
|
||||
```latex
|
||||
\usepackage[style=authoryear]{biblatex}
|
||||
\addbibresource{references.bib}
|
||||
```
|
||||
|
||||
## 関連ツール
|
||||
|
||||
- [[Zotero]]:BibLaTeXフォーマットでの書誌情報エクスポートが可能
|
||||
- [[Pandoc]]:Markdownから引用情報を含めたLaTeX/PDF変換に対応
|
7
content/CERN Open Hardware License.md
Normal file
7
content/CERN Open Hardware License.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
date: 2025-06-12 10:02
|
||||
---
|
||||
#stub
|
||||
|
||||
[Home | CERN Open Hardware Licence](https://cern-ohl.web.cern.ch/home)
|
||||
|
6
content/CIRMMT Distinguished Speaker Series.md
Normal file
6
content/CIRMMT Distinguished Speaker Series.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-06-08 11:02
|
||||
---
|
||||
#scrap
|
||||
|
||||
[CIRMMT Distinguished Speaker Series Visualization](https://idmil.github.io/CIRMMT_visualizations)
|
@@ -23,4 +23,4 @@ shredという論理時間ベースの計量スレッドみたいなものを言
|
||||
|
||||
また、Chugin(チャグイン)というC++で書かれたネイティブな拡張を読み込むこともでき、[[Faust]]や[[TouchDesigner]]、[[Unity]]のような他の環境との連携も多く実現しているほか、AI系などのプラグインも開発されている。
|
||||
|
||||
Chugenという独自[[Unit Generator|UGen]]をChucK言語上で定義するための機能もある([[CSound]]におけるUser-Defined OpCode)。
|
||||
Chugenという独自[[Unit Generator|UGen]]をChucK言語上で定義するための機能もある([[Csound]]におけるUser-Defined OpCode)。
|
||||
|
@@ -1,6 +1,12 @@
|
||||
---
|
||||
date: "2023-08-22T23:39:29+0900"
|
||||
---
|
||||
#tools #software
|
||||
#tools #software #programming-language #logic
|
||||
|
||||
定理証明支援システム
|
||||
[[依存型]]に基づいた定理証明支援システム。フランス[[INRIA]]で開発され、プログラムの正当性証明に使用される。
|
||||
|
||||
[[Coqの勉強]]で学習リソースを整理している。
|
||||
|
||||
### 関連研究者
|
||||
|
||||
- [[Emilio Jesús Gallego Arias]] - [[Faust]]の形式的証明プロジェクトに関わっている
|
16
content/DIPS.md
Normal file
16
content/DIPS.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
date: 2025-06-14 10:27
|
||||
---
|
||||
#programming
|
||||
|
||||
[[莱孝之]] [[松田周]] らによって作成
|
||||
|
||||
[DIPS for Max](https://dips.kcm-sd.ac.jp/)
|
||||
|
||||
[[Max]]のビジュアライズ関連のパッケージ
|
||||
|
||||
[Digital Image Processing with Sound - Wikipedia](https://en.wikipedia.org/wiki/Digital_Image_Processing_with_Sound)
|
||||
|
||||
[[Jitter]]が出る前にOpenGLとダイレクトに繋ぐパッケージだったのかな
|
||||
|
||||
[Max/MSP/DIPS – Akihiko Matsumoto Blog](https://akihikomatsumoto.com/blog/?p=442)
|
@@ -75,4 +75,27 @@ Fusionからツールパスを生成するときのメモ:
|
||||
|
||||
切り込みピッチは0.5mm 回転数は15000rpm 切り込み速度F 2000mm/min
|
||||
|
||||
もうちょっとツールの数減らして簡易的に作る方法はないもんか
|
||||
|
||||
真ん中で割らずに縦横の板材接着の方向でもいいかもしれない
|
||||
|
||||
ボトムプレート、トッププレートがスライドイン方式だと削る寸法がややこしくなるので、2点貫通ネジ止めとかでもいいかも(言うてそんなに頻繁に取り外す場所でもないし)
|
||||
|
||||
板厚が上手く規格材の寸法になれば加工はかなり楽になる、場合によってはレーザーでもいけるかも
|
||||
|
||||
ケーシングの仕切りは横に穴を貫通させる必要があるので、治具作って手動ドリルかなあ。というか、接着してから側板に空いてる穴をガイドにしてそのまま貫通させればいいのか
|
||||
|
||||
## 組み立て
|
||||
|
||||
パイプの長さ
|
||||
|
||||
- [x] 1stアウター 45.55mm
|
||||
- [ ] 1stインナー 55㎜
|
||||
- [x] 2ndインナー
|
||||
- [x] 3rdアウター 98㎜
|
||||
- [ ] 3rdインナー 70mm
|
||||
- [ ] チューニング管インナー 88㎜x2
|
||||
- [x] チューニング管アウター 114.84mm
|
||||
- [x] マウスパイプ 202㎜
|
||||
- [x] ベルリードパイプ 92.5㎜
|
||||
|
||||
|
6
content/Daria Mill.md
Normal file
6
content/Daria Mill.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-05-15 13:58
|
||||
---
|
||||
#person
|
||||
|
||||
カールスルーエ・アート・アンド・メディアセンター(ZKM)キュレーター兼リサーチ・アソシエイト。ニューメディア、アート、科学とテクノロジーの交わる点を研究の中心としている。また、既成概念に疑問を投げかけ、より持続可能な作品や制作方法を導入することで、芸術機関を変革の担い手と捉える実験的手法の領域にも特に関心を寄せている。ドイツ国内外で大規模な展覧会プロジェクトの企画・運営に多く携わり、実際の空間とデジタル空間の両方で活動してきた。
|
@@ -30,7 +30,7 @@ https://chci.pages.dev/aist-seminar
|
||||
私は自分のことを音楽土木工学(Civil Engineering of Music)との研究者と呼んでいます。
|
||||
これは実際には存在しない学問領域ですが、名前の通り、テクノロジーを音楽に応用するのではなく、音楽実践を通じて基幹的な技術インフラを考え直す学問です。
|
||||
|
||||
具体的には、自作楽器を使っての演奏活動や、音楽のためのプログラミング言語”mimium”の開発や、今日お話しするプログラマブルな音楽ソフトウェアotopoiesisの設計などに取り組んでいます。
|
||||
具体的には、自作楽器を使っての演奏活動や、音楽のためのプログラミング言語”[[mimium]]”の開発や、今日お話しするプログラマブルな音楽ソフトウェアotopoiesisの設計などに取り組んでいます。
|
||||
|
||||
|
||||
## 音楽とプログラミングの歴史
|
||||
@@ -44,7 +44,7 @@ https://chci.pages.dev/aist-seminar
|
||||
多くはプラグインという音にエフェクトをかけたり、インストゥルメント、つまりノートの情報を受け取り音声を出力するシンセサイザーを組み合わせることで機能を拡張していきます。
|
||||
|
||||
|
||||
一方で、同様にコンピューター上で音を作成するソフトウェアとして、[[Cycling'74 Max]]に代表される音のためのプログラミング環境が挙げられます。
|
||||
一方で、同様にコンピューター上で音を作成するソフトウェアとして、[[Max|Cycling'74 Max]]に代表される音のためのプログラミング環境が挙げられます。
|
||||
|
||||
Maxのようなビジュアルプログラミング環境はポピュラーではありますが、[[SuperCollider]]や[[Sonic Pi]]のようなテキストベースの言語も多く存在します。
|
||||
|
||||
@@ -201,7 +201,7 @@ https://github.com/bitwig/dawproject
|
||||
|
||||
昔ながらのもので言えば、OMFやAAF(オーディオ・ビデオデータのみ)とSMF(シーケンスデータ、複数のMIDIデータの集合)とか
|
||||
|
||||
Program as a Format - MPEG-Structured Audio(CSoundベースの音源配布フォーマット)
|
||||
Program as a Format - [[MPEG4 Structured Audio]]([[CSound]]ベースの音源配布フォーマット)
|
||||
|
||||
|
||||
## [[otopoiesis]]について
|
||||
|
6
content/Early Television Musium.md
Normal file
6
content/Early Television Musium.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-05-13 15:04
|
||||
---
|
||||
#website
|
||||
|
||||
https://earlytelevision.org
|
12
content/Electroacoustic Music Studies Asia Network.md
Normal file
12
content/Electroacoustic Music Studies Asia Network.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
date: 2025-06-10 16:07
|
||||
---
|
||||
#group
|
||||
|
||||
[6.Battier.pdf](https://data.jssa.info/paper/2012v04n01/6.Battier.pdf)
|
||||
|
||||
[Electroacoustic Music Studies Asia Network \[EMSAN\] | IReMus](https://www.iremus.cnrs.fr/en/base-de-donnees/electroacoustic-music-studies-asia-network-emsan)
|
||||
|
||||
データベース
|
||||
|
||||
[EMSAN: The Electroacoustic Music Studies Asia Network](http://emsan.lib.ntnu.edu.tw/about.jsp)
|
23
content/Entity Component System.md
Normal file
23
content/Entity Component System.md
Normal file
@@ -0,0 +1,23 @@
|
||||
#programming
|
||||
|
||||
|
||||
主にゲームエンジンなどで採用されるプログラミングのパラダイム。
|
||||
|
||||
最近のUnityでも内部的に採用されている。
|
||||
|
||||
[[Rust]]だと[[Bevy]]が有名。
|
||||
|
||||
[[オブジェクト指向]]と比べると、データのメモリ分布が、オブジェクトごとに並ぶのではなく個別のメンバー変数ごとに並ぶことになり、CPUのメモリキャッシュに乗りやすいなどの利点がある。
|
||||
|
||||
[\[Rust\] ECSアーキテクチャ \[bevy\_ecs\] | DevelopersIO](https://dev.classmethod.jp/articles/ecs-rust-bevy/)
|
||||
|
||||
[Intro to ECS - Unofficial Bevy Cheat Book](https://bevy-cheatbook.github.io/programming/ecs-intro.html)
|
||||
|
||||
## データのモデリング方法としてなにがうれしいのか
|
||||
|
||||
オブジェクト指向と比べた時の利点が基本的にさっきのような、パフォーマンス面での利点が強調されることが多い。ただ、何かパフォーマンスのためにせっかくプログラミング言語が用意してくれたデータのモデリング技法を犠牲にしているような気がしてならず、あんまり旨味がよくわからなかった。
|
||||
|
||||
ただ、Bevyの設計をいろいろ読んでいると、モデリングとしての核心は、「集合の中から特定の要素を持つもの部分集合を指定して挙動を個別に操作する(依存性がない操作同士はどういう順番で実行してもいい)」ということかなと思った。
|
||||
|
||||
|
||||
|
4
content/Eric Lyon.md
Normal file
4
content/Eric Lyon.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-11 14:05
|
||||
---
|
||||
#person #stub
|
14
content/Esolangなシンセサイザー.md
Normal file
14
content/Esolangなシンセサイザー.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
date: 2025-06-06 12:29
|
||||
---
|
||||
#memo #idea
|
||||
|
||||
[[uiua]]みたいなカスタムキャラクター使いまくった独自言語
|
||||
|
||||
三十文字ぐらい上限で複雑な音が出せると良い
|
||||
|
||||
何かしらBF的なプログラム制御構造が加えられると面白い
|
||||
|
||||
ソフトシンセ、VST、Web、ハードウェア(メカニカルキーボード+小型ディスプレイとか)いろんなバリエーションが作れたら楽しそう
|
||||
|
||||
|
15
content/Exidiophone.md
Normal file
15
content/Exidiophone.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
date: 2025-06-14 19:46
|
||||
---
|
||||
#instrument
|
||||
|
||||
https://matsuuratomoya.com/works/exidiophone
|
||||
|
||||
|
||||
止まっているバージョン4の構想を続けたい
|
||||
|
||||
マイクを耳、光る部分を目だとして、2つのペアを同時に使って架空の生物みたいな見た目にしたら面白そう
|
||||
|
||||
羽のある脊椎動物(宮崎アニメの何かの生物とかみたいな)
|
||||
|
||||
|
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "Experiments in Art and Technology (E.A.T.): 女性アーティストの参画 — AWARE-日本"
|
||||
url: "https://awarewomenartists.com/articles_japan/experiments-in-art-and-technology-e-a-t-%E5%A5%B3%E6%80%A7%E3%82%A2%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E3%81%AE%E5%8F%82%E7%94%BB/"
|
||||
date: "2025-05-13 16:52:43"
|
||||
---
|
||||
#scrap
|
||||
|
||||
# Experiments in Art and Technology (E.A.T.): 女性アーティストの参画 — AWARE-日本
|
||||
|
||||
author: [[Daria Mill]]
|
||||
|
||||
https://awarewomenartists.com/articles_japan/experiments-in-art-and-technology-e-a-t-%E5%A5%B3%E6%80%A7%E3%82%A2%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E3%81%AE%E5%8F%82%E7%94%BB/
|
||||
|
||||
>
|
@@ -1,13 +1,13 @@
|
||||
---
|
||||
date: "2023-08-22T23:39:29+0900"
|
||||
---
|
||||
#software #programming-language #sound
|
||||
#software #programming-language #sound #computermusic
|
||||
|
||||
https://faust.grame.fr
|
||||
|
||||
ブロックダイアグラム代数(Block-Diagram-Algebra:BDA)という独自の体系を基礎に置く信号処理記述に特化した言語。
|
||||
[[音楽プログラミング言語の形式化]]のプロジェクトで研究対象となっている言語の一つ。ブロックダイアグラム代数(Block-Diagram-Algebra:BDA)という独自の体系を基礎に置く信号処理記述に特化した言語。
|
||||
|
||||
パターンマッチングによる項書きかえマクロを使うことでかなり複雑な信号処理を表現できる。
|
||||
パターンマッチングによる項書きかえマクロを使うことでかなり複雑な信号処理を表現できる。[[PureData]]や[[Max]]のようなビジュアルプログラミング言語とは異なり、テキストベースで記述する。
|
||||
|
||||
文法が独特なのでかなり学習が難しい。
|
||||
|
||||
|
10
content/Feminist Hackerspaces as Safer Spaces.md
Normal file
10
content/Feminist Hackerspaces as Safer Spaces.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2025-06-06 13:04
|
||||
---
|
||||
#scrap #feminism
|
||||
|
||||
[[Sophie Toupin]]
|
||||
|
||||
[Feminist Hackerspaces as Safer Spaces? | .dpi](https://dpi.studioxx.org/en/feminist-hackerspaces-safer-spaces)
|
||||
|
||||
|
10
content/FoxDot.md
Normal file
10
content/FoxDot.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2025-05-22 17:55
|
||||
---
|
||||
#software #programming-language #python
|
||||
|
||||
[[Python]]で書かれた[[SuperCollider]]クライアント形式の、[[ライブコーディング]]を想定したプログラミング言語。
|
||||
|
||||
最近はもうあまり更新されてないらしい。
|
||||
|
||||
[GitHub - Qirky/FoxDot: Python driven environment for Live Coding](https://github.com/Qirky/FoxDot)
|
8
content/Francesco Cameli.md
Normal file
8
content/Francesco Cameli.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-20 12:51
|
||||
---
|
||||
#person
|
||||
|
||||
[vitreo12 (Francesco Cameli) · GitHub](https://github.com/vitreo12)
|
||||
|
||||
[Embark Studios Open Source | embark.dev](https://embark.dev/)
|
5
content/Frugal innovation.md
Normal file
5
content/Frugal innovation.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
date: 2025-06-09 09:30
|
||||
---
|
||||
#notion
|
||||
|
4
content/Garnet Hertz.md
Normal file
4
content/Garnet Hertz.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-12 14:24
|
||||
---
|
||||
#person
|
8
content/Generative Justice.md
Normal file
8
content/Generative Justice.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-12 14:25
|
||||
---
|
||||
#notion
|
||||
|
||||
[The Center for Generative Justice](https://generativejustice.org/)
|
||||
|
||||
|
7
content/Gluon.md
Normal file
7
content/Gluon.md
Normal file
@@ -0,0 +1,7 @@
|
||||
#programming-language
|
||||
|
||||
[[Rust]]で書かれた、[[Lua]]のような埋め込みを想定しつつ静的型付けの言語。
|
||||
|
||||
モジュールの読み込みの文法とか複雑な型情報をRustと相互でやり取りする時のやりかたとか、参考になる
|
||||
|
||||
[Gluon](https://gluon-lang.org/)
|
25
content/HackMD.md
Normal file
25
content/HackMD.md
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
date: "2025-06-18T12:35:00+0900"
|
||||
---
|
||||
#software #tools #note
|
||||
|
||||
HackMDはMarkdownベースのコラボレーション文書作成プラットフォーム。
|
||||
|
||||
https://hackmd.io/
|
||||
|
||||
## 特徴
|
||||
|
||||
- リアルタイム共同編集
|
||||
- 完全なMarkdown対応
|
||||
- 数式、図表、コードブロックなどの拡張記法
|
||||
- プレゼンテーションモード
|
||||
- 簡単な共有とアクセス管理
|
||||
|
||||
## 使用例
|
||||
|
||||
- 技術文書作成
|
||||
- 会議記録
|
||||
- 研究ノート
|
||||
- 講義資料
|
||||
|
||||
[[この研究ノートについて]]の初期段階でも検討された選択肢の一つ。
|
9
content/Hackett.md
Normal file
9
content/Hackett.md
Normal file
@@ -0,0 +1,9 @@
|
||||
#programming-language
|
||||
|
||||
[[Racket]]上で実装された、静的型付けなうえで、型安全なマクロシステムを搭載したプログラミング言語
|
||||
|
||||
[1 The Hackett Guide](https://lexi-lambda.github.io/hackett/guide.html)
|
||||
|
||||
["Hackett: a metaprogrammable Haskell" by Alexis King - YouTube](https://www.youtube.com/watch?v=5QQdI3P7MdY)
|
||||
|
||||
|
565
content/ICMC2025 ペーパーセッション聴講メモ.md
Normal file
565
content/ICMC2025 ペーパーセッション聴講メモ.md
Normal file
@@ -0,0 +1,565 @@
|
||||
---
|
||||
date: 2025-06-09 09:25
|
||||
---
|
||||
#memo
|
||||
|
||||
|
||||
## Interactive Music Co-Creation with an Instrumental Technique-Aware System: A Case Study with Flute and Somax2
|
||||
|
||||
[[Somax2]]
|
||||
|
||||
## Prototyping Digital Musical Instruments in Virtual Reality
|
||||
|
||||
VR内でのプロトタイピング。現実空間でのプロトタイプがゴミめっちゃ出るというところを起点にしてるのは、本当か?みたいな気がする
|
||||
|
||||
tactilityがないのは厳しいですよね、そりゃそう
|
||||
|
||||
[[Frugal innovation]]ね
|
||||
|
||||
Questのコントローラーに磁石つけて擬似触覚的な機能を持たせる
|
||||
|
||||
スケッチ→モデリング→Audio Design→ファブリケーション(実際にはいろんな行き来がある)
|
||||
|
||||
何を使うか
|
||||
|
||||
- [[TinkerCad]]
|
||||
- [[PureData]] / [[MetaSounds]] / [[Max]]
|
||||
- [[Unity]]&[[LibPd]]
|
||||
- [[Steam Audio]] for Spatialization
|
||||
- Meta Quest2
|
||||
|
||||
例えば、加速度メーターとボタンの楽器のデモを3Dモデルを作ってからVR空間でまず試す
|
||||
|
||||
6人で実験 Pdパッチやモデルはあらかじめテンプレートを渡す
|
||||
|
||||
---
|
||||
## PyChiro: Real-Time Gesture Recognition System Supporting the Kodály Chironomic Method in Music Education, Therapy, and Performance
|
||||
|
||||
|
||||
カメラをベースにした手のジェスチャーインタラクションシステム
|
||||
|
||||
ハンガリーにある[Kodály method](https://en.wikipedia.org/wiki/Kod%C3%A1ly_method)
|
||||
|
||||
[[コダーイ]]っていうのね
|
||||
|
||||
[コダーイ・コンセプト – 日本コダーイ協会](http://kodaly.jp/concept/)
|
||||
|
||||
音程を表すハンドサインがあるらしい
|
||||
|
||||
[The Kodaly Method: Fun hand-signing Games for young Musicians](https://mobilemusicschool.ie/kodaly-method-music-games/)
|
||||
|
||||
オクターブが腕の角度で変わるけど、それも検出
|
||||
|
||||
## VibroTempo: Feel the Beat with Vibrational Metronomes for Musicians
|
||||
|
||||
振動メトロノーム
|
||||
|
||||
アクセント付きで鳴らせる 目的としては音楽教育っぽい
|
||||
|
||||
アクセント付きビートとかだと伝統的なメトロノームと結果が変わってくる
|
||||
|
||||
## ZAP!: Bio-Inspired Large-Scale Multimedia Installation
|
||||
|
||||
電気ウナギにインスパイアされたサウンドインスタレーション
|
||||
|
||||
[[バイオミミクリー]]
|
||||
|
||||
## Music102: An D12-equivariant transformer for chord progression accompaniment
|
||||
|
||||
群論をコード進行の表現に使う
|
||||
|
||||
シューアの補題
|
||||
|
||||
[2410.18151 Music102: An D12-equivariant transformer for chord progression accompaniment](https://arxiv.org/abs/2410.18151)
|
||||
|
||||
結局メロディーの中からコード進行を抽出するっていうのでいいのかな
|
||||
|
||||
---
|
||||
|
||||
## AI音楽パネル
|
||||
|
||||
### 中央音楽学院(CCOM)
|
||||
|
||||
AI音楽だけでセンターができてる(中にラボが6つあるとか)
|
||||
|
||||
規模的にかなわんわー
|
||||
|
||||
モデル構築も作品制作もやってる ロボット音楽みたいなのも結構ある
|
||||
|
||||
[CENTRAL CONSERVATORY OF MUSIC](https://en.ccom.edu.cn/)
|
||||
|
||||
MUSIC Demixing challenge の2023もトップ取ったとか
|
||||
|
||||
diffusionモデルで音から弦の左手のポジションを推定(Vtuberとかには便利そうだな)
|
||||
|
||||
### Lamberto Coccioh
|
||||
|
||||
Music and Technology at Royal Birmingham Conservatoire (RBC), Birmingham City University
|
||||
|
||||
Ontlogical paradox of artificial intelligence in musical composition
|
||||
|
||||
何のために生成AI音楽を作るのか?作るとは何なのか?
|
||||
|
||||
framing AI through technological determinism
|
||||
|
||||
生成AIが与えうるインパクトを理解しきれないまま作ってる面があるのでは
|
||||
|
||||
radical other form of agency
|
||||
|
||||
animist entitiesなのではという(妖精?)
|
||||
|
||||
AI as machine vs AI as person
|
||||
|
||||
paradoxes:
|
||||
|
||||
- 現状のAIは資本主義の産物であるという問題
|
||||
- 人間のcognitionとは関係がないこと
|
||||
- AI exploits and automates creativity but cannot be controlled
|
||||
|
||||
"controlled emergence"
|
||||
|
||||
トレーニングデータの制限
|
||||
|
||||
結構ラディカルに規制派だな
|
||||
|
||||
|
||||
Biocultural Diversity
|
||||
|
||||
言語の絶滅にどう対策をするか?に似ている
|
||||
|
||||
"Safeguarding creativity for future generation"
|
||||
|
||||
### Carlos Arana
|
||||
|
||||
the University of Buenos Aires / Barklee College
|
||||
|
||||
AI in Music: A Pedagogical Approach for Productive and Responsible Music
|
||||
|
||||
Music work lifecycle (含むconsumption)のいろんなところでAIが使えるよねということ
|
||||
|
||||
pedagogical approach :task - technology - application - evaluation
|
||||
|
||||
4 week course AI for music and audio (barklee online)
|
||||
|
||||
例えば音源分離なら、一通り原理を学び、実際のアプリとかも使い、その後これらをどう使うか?について評価する これをあらゆる分野でやる
|
||||
|
||||
LANDRとかSunoとかMagentaみたいなのを一歩引いてみるのを教育として持ち込んでるのは面白いなあ
|
||||
|
||||
telent/hit-song detectionとかまでカバーしてるのかあ
|
||||
|
||||
倫理・法の面もカバーする
|
||||
|
||||
### Marc Battier
|
||||
|
||||
knowledge is cumulative / implicit knowledges are easily lost.
|
||||
|
||||
シュトックハウゼンのKthinka's Gesangのアシスタントを務めたのは誰か、フランソワ・ベイルのアシスタントは誰か聞いてみたけど、当然間違った答えを返した
|
||||
|
||||
信頼できないだけじゃなくて、ミスリーディングである
|
||||
|
||||
コンピューター音楽の作曲における暗黙知とは何か、それらをなるべく構造化していくこと
|
||||
|
||||
EMSAN :[[Electroacoustic Music Studies Asia Network]]
|
||||
|
||||
|
||||
アジアで作られた電子音楽を集めるデータベースを作った
|
||||
|
||||
[EMSAN: The Electroacoustic Music Studies Asia Network](http://emsan.lib.ntnu.edu.tw/about.jsp)
|
||||
|
||||
### Georg Hajdu
|
||||
|
||||
Healing Soundscape
|
||||
|
||||
style-agnostic なヒーリング音楽ね、、、
|
||||
|
||||
ゲシュタルト心理学
|
||||
|
||||
音の”ブーバ”化(角が取れるみたいなことかな、、、)
|
||||
|
||||
𰻞
|
||||
|
||||
ラテントスペース使ってるよってことね
|
||||
|
||||
### Kenneth Fields
|
||||
|
||||
University of China Academy
|
||||
|
||||
Chronotechnics
|
||||
|
||||
ネットワーク音楽をずっとやってる人っぽい
|
||||
|
||||
全然AI関係なさそう、、なんで選ばれた?
|
||||
|
||||
Netronomia
|
||||
|
||||
[NetronomiaII by Ken Fields](https://rdmc.nottingham.ac.uk/handle/internal/11989)
|
||||
|
||||
---
|
||||
|
||||
## Then and now – Musical needs and Intelligent Tools
|
||||
|
||||
[[Miriam Akkermann]]
|
||||
|
||||
[[Research in music and artificial intelligence]] -- [[Curtis Roads]]
|
||||
|
||||
More than imitation
|
||||
|
||||
how should we evaluate the creativity of human-like and superhuman?
|
||||
|
||||
how do we evaluate what is accomplished by the specific tools?
|
||||
|
||||
need for new classification systems
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Anger at the Asteroid: From Exhibition to Ensemble Performance
|
||||
|
||||
|
||||
[[Courtney Brown]]
|
||||
|
||||
恐竜の鳴き声をいろんな形で作り続けているっぽい
|
||||
|
||||
[Rawr! A Study in Sonic Skulls: Embodied Natural History](https://www.nime.org/proc/cbrown2015/index.html)(2015のNIME)
|
||||
|
||||
初期は人口声帯で作ってたけど途中でDSPに変えたのかな?
|
||||
|
||||
[About – Dinosaur Choir](https://dino.courtney-brown.net/about/)
|
||||
|
||||
Raspberrypi単品だとレイテンシーが微妙だった
|
||||
|
||||
|
||||
## Dynamic Generalized Parametric Control of Digital Music Instruments
|
||||
|
||||
[[Eric Lyon]] Virginia University
|
||||
|
||||
VSTのパラメーター補完(プリセット同士のinterpolation?)
|
||||
|
||||
"preset is just one data point in the set of all possible sonic configurations"
|
||||
|
||||
2つのプリセットだったらスライダーで変えればいいよね
|
||||
|
||||
どんなVSTでも使える
|
||||
|
||||
[[Max]]の`vst~`を使う
|
||||
|
||||
補完はJSで実装
|
||||
|
||||
それ以上ならlatent spaceの探索みたいな話?そうっぽい
|
||||
|
||||
|
||||
- Int.lib([[Oli Larkin]])
|
||||
- j74 Morph [f a b r i z i o p o c e | J 7 4](https://www.fabriziopoce.com/morph.html)
|
||||
- Arturia Polybruteにもそういう機能がある
|
||||
|
||||
|
||||
## Women’s Labor: Weaving it all Together
|
||||
|
||||
[[Margaret Schedel]]
|
||||
|
||||
domestic tools as musical instruments
|
||||
|
||||
[[Bag theory]] : first human cultural product
|
||||
|
||||
これまでやったこと:色をwekinatorで画像認識/重さセンサー
|
||||
|
||||
Woven Scores
|
||||
|
||||
phryamework 布と導電布でスピーカー作る
|
||||
|
||||
create new community through workshop
|
||||
|
||||
質問:アクティビズムでもあり、ハイテックでもある不思議な位置付けだけどどこが先に来たのか:そのまんま、コミッションのオーダーとしてNIMEとフェミニズムのテーマでなんかやるというのがあった
|
||||
|
||||
|
||||
## CAFFEINE: Collaborative Affordable Framework For Experiments in Interactive Networked Electronics
|
||||
|
||||
[[Scott Petersen]] Yale University
|
||||
|
||||
学部生の合同プロジェクトっぽい [[ソニフィケーション]]のためのシステム?
|
||||
|
||||
ハード+ソフトのフレームワーク
|
||||
|
||||
caffeine pods 無線、バッテリー駆動
|
||||
|
||||
many-pods one-broker many clients
|
||||
|
||||
[[esp32-s3]] devkit C 超音波距離センサー、Groveサウンドセンサー、光センサー
|
||||
|
||||
ブローカーはPython、ソニフィケーションは[[SuperCollider]]
|
||||
|
||||
|
||||
## A Real-Time Gesture-Based Control Framework
|
||||
|
||||
MaxとPythonの相性悪い問題(とはいえここでもPythonとOSCで連携してるらしい)
|
||||
|
||||
ジェスチャー認識をMaxでもやりたい
|
||||
|
||||
- Rapidmax
|
||||
- MuBu
|
||||
- Gimlet
|
||||
- Gestural Sound Tolkit
|
||||
|
||||
[[MediaPipe]]使ったらしい
|
||||
|
||||
リアルタイム・フルボディ
|
||||
|
||||
[[Wekinator]]みたくオンライン学習できるのが強み
|
||||
|
||||
## Arco : A Flexible Audio Processing Framework
|
||||
|
||||
[[Roger Dannenberg]]
|
||||
|
||||
ブロックサイズをあげていった時に、オールオーディオレートで処理した時の処理負荷の谷が8サンプルの時に来る
|
||||
|
||||
[[O2]]メッセージのフォーマットだとこれで、
|
||||
|
||||
```
|
||||
/arco/fmosc/new ID chans input1 input2 ...
|
||||
/arco/free ID
|
||||
```
|
||||
|
||||
ハイレベルのAPIだとこう
|
||||
|
||||
```
|
||||
sine1 = sine(440,0.01).play()
|
||||
sine1=nil
|
||||
```
|
||||
|
||||
|
||||
リアルタイムのUGen増やす、減らすもできる
|
||||
|
||||
[[Nick Collins]]からの質問SuperColliderとの違い
|
||||
|
||||
SCはコンパイルされたUGenどの順番で実行されるかが一列にソートされて順番に実行されていくけど、Arcoは必ずしもそうじゃない(部分的には並列化もできるのかな)
|
||||
|
||||
遅いレートのイベントストリームの取り扱いをどうすればいいんだろう - [probe](https://github.com/rbdannenberg/arco/blob/main/doc/ugens.md#probe)命令があるのか
|
||||
|
||||
うーん、こう見ると、[[UGenの生成をスクリプトから命令列に変換する]]のが重要なのかな
|
||||
|
||||
## Functional Iterative Swing: An Open Framework for Exploring Warped Ramps, Exponential Rhythm, and Euclidean Shuffle
|
||||
|
||||
スイングを数学的に考えよう
|
||||
|
||||
リズムのグリッドを切るための直線的なライン(`y=x`)があったとして、それを`y = n^x`で捻じ曲げていくとスイングに近いものが作れるのではないか
|
||||
|
||||
## A Bidirectionally Stacking Loudspeaker Enclosure Design for Wave Field Synthesis
|
||||
|
||||
[[Rhode Island School of Design]]
|
||||
|
||||
[GitHub - risdsound/wfs: An open-source, modular loudspeaker enclosure system for Wave Field Synthesis (WFS), developed at the Studio for Research in Sound and Technology (SRST) at Rhode Island School of Design (RISD).](https://github.com/risdsound/wfs)
|
||||
|
||||
## Composing for AI Voice Model Choir
|
||||
|
||||
[[Nick Collins]]
|
||||
|
||||
人の声を出すモデルに、全然関係ないソースをぶち込む
|
||||
|
||||
メルツバウの音楽でテイラースイフトの声のモデルを駆動するとか
|
||||
|
||||
[Music for Celebrity AI Voice Model Choir | Nick Collins | sick lincoln](https://sicklincoln.bandcamp.com/album/music-for-celebrity-ai-voice-model-choir)
|
||||
|
||||
Danger of Revisionism
|
||||
|
||||
## Explorations In Augmented String Instrument Design: A Conversation With Mentors Of Musical Innovation
|
||||
|
||||
後藤さんて電気バイオリン作ってたんだ
|
||||
|
||||
[Project MUSE - The Aesthetics and Technological Aspects of Virtual Musical Instruments: The Case of the SuperPolm MIDI Violin](https://muse.jhu.edu/article/585450)
|
||||
|
||||
DMIとかAugumented Instrumentのデザインプロセスをどう語るかに参考になりそうな感じはする
|
||||
|
||||
## Acoustic Wave Modeling with 2D FDTD: Applications in Unreal Engine for Dynamic Sound Rendering
|
||||
|
||||
[[Bilkent Samsurya]]
|
||||
|
||||
ゲームメーカーで働いてるけど研究者としてはインデペンデントらしい
|
||||
|
||||
レイトレベースのリバーブだと低域厳しいですよね
|
||||
|
||||
[[時間領域有限要素法|FDTD]] 使いましょう
|
||||
|
||||
- Unreal上でプリプロセスして、
|
||||
- PythonでFDTDシミュレーション
|
||||
- クアドラマイクでスイープ録音したのをIRに逆畳み込み
|
||||
- Unrealに戻ってIRに反映
|
||||
|
||||
聴取点が動いたらどうなるのかな
|
||||
|
||||
低域の改善は実際のとこどうなんでしょう
|
||||
|
||||
---
|
||||
|
||||
## Wax: Flow-based Audio Programming in the Web Browser
|
||||
|
||||
[[Wax]] にまとめて書いた
|
||||
|
||||
[[Michael Cella]] [[Anıl Çamcı]]
|
||||
|
||||
---
|
||||
|
||||
## An Approach to Creating Unalienated Music Technology
|
||||
|
||||
[[David Minnix]] [[Anıl Çamcı]]
|
||||
|
||||
Unalianatedねえ
|
||||
|
||||
Problem of High-Tech
|
||||
|
||||
Climate impact of computing
|
||||
|
||||
[[サーキットベンディング]]とサスティナビリティ [Circuit Bending and Environmental Sustainability: Current Situation and Steps Forward · NIME 2022](https://nime.pubpub.org/pub/025d4cv1/release/1)
|
||||
|
||||
[[ゾンビ・メディア]]の話でもあるね
|
||||
|
||||
[[PermaComputing]]
|
||||
|
||||
[[Generative Justice]] なるほど
|
||||
|
||||
disused mobile devices で動く楽器を作る
|
||||
|
||||
ライブラリ[[Algae]]を作って、アプリ[[Firedot]]を作った
|
||||
|
||||
Algae:まあよくある信号処理C++ライブラリな気がする
|
||||
|
||||
なぜこのライブラリを作る必要があったんだろうか(なるべく依存性を減らすというのはわかるけど)
|
||||
|
||||
AndroidとSDL2.0 /
|
||||
|
||||
パーマコンピューティングならuxnエコシステムの方が上手くいってるようにも見えるな
|
||||
|
||||
高校生向けワークショップ
|
||||
|
||||
質問:高校生にやる時にこういうエシカルな側面をどうやってWSに含めるよ?
|
||||
|
||||
## Fractional Fourier Sound Synthesis
|
||||
|
||||
[[Rodrigo F. Cadiz]]
|
||||
|
||||
[\[2506.09189\] Fractional Fourier Sound Synthesis](https://www.arxiv.org/abs/2506.09189)
|
||||
|
||||
https://cordutie.github.io/frft_sound_synthesis/
|
||||
|
||||
[[分数次フーリエ変換]]
|
||||
|
||||
そんなのあるのか、、、、
|
||||
|
||||

|
||||
|
||||
時間(0)→周波数(1)ドメインの中間地点というものを考えてみれば良い(x軸に時間軸をとり、y軸に周波数をとり、その回転を考える)
|
||||
|
||||
単位に相当するものが存在しない
|
||||
|
||||
ノイズ除去とか圧縮には使われてたけど、合成には特に使われていない
|
||||
|
||||
まあ単純に聴感上面白くはあるなというか、この遠回りな方向でなければ出なさそうな音がする
|
||||
|
||||
変換した空間でフィルターをかける
|
||||
|
||||
STFTみたいにウィンドウかけて処理するからなんともいえないなー、非リアルタイムの方が色々遊べそうな気がする
|
||||
|
||||
入力音源がある場合、パーカッシブな音にはあんまり効き目がない
|
||||
|
||||
音源分離とかに使う余地があるので
|
||||
|
||||
---
|
||||
## Tone Generation with Polyphonic Cycles and Spline Modeling
|
||||
|
||||
[[Matthew Klassen]]
|
||||
|
||||
[Research, Development and Collaboration](https://azrael.digipen.edu/research/)
|
||||
|
||||
SplineKlangという作品とセットになっているよ
|
||||
|
||||
[377 Greg Dixon & Matt Klassen | ICMC 2025 Boston - International Computer Music Conference](https://icmc2025.sites.northeastern.edu/online-listening-room/377-greg-dixon-matt-klassen/)
|
||||
|
||||
波形のスプラインモデリング
|
||||
|
||||
ダウンサンプルしてスプラインで補完するってことかな
|
||||
|
||||
音色のブレンディング
|
||||
|
||||
---
|
||||
## Hierarchisation algorithm for MORFOS : a music analysis software
|
||||
|
||||
[Hierarchisation algorithm for MORFOS : a music analysis software - Collegium Musicæ : collection « Musique et Sciences »](https://hal.science/MUSCI/hal-05066154v1#:~:text=MORFOS%20is%20a%20music%20analysis,to%20the%20definition%20of%20structure.)
|
||||
|
||||
Multi-Scale formal diagram
|
||||
|
||||
[Visualisation of Multi-scale Formal Diagrams for Music Analysis - Archive ouverte HAL](https://hal.science/hal-04632212)
|
||||
|
||||
Cognitive musicology by [[Otto Laske]]
|
||||
|
||||
[[Variable Marcov Oracle]]をマルチスケールに拡張したもの
|
||||
|
||||
---
|
||||
|
||||
## Deep Drawing
|
||||
|
||||
audio to drawing
|
||||
|
||||
絵を描いている時の音を録音して、その音から何を描いているのかコンピューターに予測させる
|
||||
|
||||
|
||||
---
|
||||
|
||||
## dit dah delta token: Statistical Models of Music and Language Interfering via Morse Code
|
||||
|
||||
|
||||
[[Victor Shepardson]] [[Thor Magnusson]]
|
||||
|
||||
Morse music for LoftSkevtaStodin
|
||||
|
||||
[[Notochord]]
|
||||
|
||||
[[モールス信号]]
|
||||
|
||||
リズム・アンド・ランゲージモデル
|
||||
|
||||
LLMのトークンツリーの代わりにモールスツリーみたいなものを作る
|
||||
|
||||
---
|
||||
|
||||
## Cloud Conversations Virtually Recreating the Musical Resonances of Costa Rican Outdoor Performance Spaces
|
||||
|
||||
[[Omar Shabbar]]
|
||||
|
||||
[[Barry Blesser]] Proto and Meta Instruments
|
||||
|
||||
[Spaces Speak, Are You Listening?: Experiencing Aural Architecture | Books Gateway | MIT Press](https://direct.mit.edu/books/book/2407/Spaces-Speak-Are-You-Listening-Experiencing-Aural)
|
||||
|
||||
|
||||
## Frescobaldi^2: applying historical split-key keyboard models to modern electronic organs
|
||||
|
||||
[Organon - Frescobaldi^2: enharmonic keyboard enhancement - YouTube](https://www.youtube.com/watch?v=4jnMXSNvYh8)
|
||||
|
||||
キーボードに追加できる鍵盤
|
||||
|
||||
磁石とホールセンサーでやってるらしい
|
||||
|
||||
[[Andrew McPherson]]の[[TouchKey]]とかと似てるのは
|
||||
|
||||
---
|
||||
## Noise and Buttons
|
||||
|
||||
[[Michael Gaspari]]
|
||||
|
||||
Neurodiverityな人のための音楽教育アプリ
|
||||
|
||||
何が一番アクセシブルなインターフェースだろうか→ボタン
|
||||
|
||||
4つのボタンだけで、行ける限り複雑なシンセサイザーのコントロールを得る
|
||||
|
||||
- 赤:テンポ
|
||||
- 黄:リズム
|
||||
- 緑:音色
|
||||
- 青:ハーモニー
|
||||
|
||||
## Developing Max Objects for Mocopi: New Motion Capture System
|
||||
|
||||
[[莱孝之]]
|
||||
|
||||
[[DIPS]](Digital Image Proceing with Sound)元々jMax用に作られて、Maxで使えるビジュアライゼーションシステムがある
|
||||
|
||||
|
||||
|
14
content/ILY不採択コメント2025.md
Normal file
14
content/ILY不採択コメント2025.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
date: 2025-06-18 12:50
|
||||
---
|
||||
#stub
|
||||
|
||||
石川さん
|
||||
|
||||
鋳造とデジタル3Dモデリング/スキャンといった分野の掛け合わせは、過去のILYプロジェクトでも支援しており、研究領域としての重要性は高く評価されました。その一方で、企画書の内容からは最終的なアウトプットの形態が見えにくいことや、検証プロセスのより詳細な記述が欲しいといった指摘が審査ではなされました。具体的な作品の制作よりも基礎的な造形技術の比較検証に重きを置くのであれば、その研究を誰に向けて行うのか(鋳金作家/デジタル3D造形を行う作家や技術者/一般的な聴衆)のフォーカスを絞ることでアウトプットの方向性も自ずと定まるように思います。以上の理由から今回は不採択という結果になりましたが、3Dプリントやスキャンなどの技術的な相談についてはAMCの方で積極的に受けられればと思いますので、お気軽にご連絡ください。
|
||||
|
||||
木村さん
|
||||
|
||||
脳波を用いたインタラクティブなアニメーションという着眼点そのものは挑戦的なものとして評価できる企画でした。ただ、企画書の内容から現時点でどの程度技術的検証を行なっているか(例え行なっていなかったとしても)、また検証や制作のスケジュールや開発体制の具体性に掛けており、実現可能性を懸念する点が多く挙げられました。加えてこれまでの制作の内容から、なぜ今回脳波というインターフェースを選択したのかのプレゼンテーションをもう少ししてもらえると良かったです。また、自身の感覚変化をアニメーションの変化を通じて気づくケア的な領域へのアプローチに関しては、そのアニメーション自体が脳波に影響を及ぼしてフィードバックループを引き起こす点に意識的であるかどうかも重要な点になります(例えば、脳波を使った作品の最も古い例の一つであるAlvin Lucierの「Music for Solo Performer」にはその点が作品を構成する要素にあらかじめ組み込まれています)。
|
||||
以上のような点から今回は不採択という結果になりました。
|
||||
|
4
content/James McCartney.md
Normal file
4
content/James McCartney.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-26 17:45
|
||||
---
|
||||
#stub #person
|
@@ -1,5 +1,12 @@
|
||||
---
|
||||
date: "2024-01-19T12:19:41+0900"
|
||||
---
|
||||
#person
|
||||
#person #studies
|
||||
|
||||
[[メディア考古学]]および[[フォーマット理論]]に関する研究で知られる研究者。マギル大学の教授。2025年3月に亡くなる。
|
||||
|
||||
## 主な著作
|
||||
|
||||
- [[MP3 - the meaning of a format]] - MP3形式の歴史と文化的意味を探求した著作
|
||||
- [[Diminished Faculties - Jonathan Sterne]] - 聴覚障害とメディアに関する著作
|
||||
|
||||
|
8
content/Li Jingyi.md
Normal file
8
content/Li Jingyi.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-05-15 13:52
|
||||
---
|
||||
#person
|
||||
|
||||
[Jingyi Li](http://jingyi.me)
|
||||
|
||||
[ORCID](https://orcid.org/0000-0002-8253-887X)
|
@@ -5,7 +5,7 @@ date: 2025-01-29 14:41
|
||||
|
||||
[The MPEG-4 Structured Audio Book](https://john-lazzaro.github.io/sa/book/index.html)
|
||||
|
||||
[[CSound]]を元にしたStructured Audio Orchestra Language
|
||||
[[Csound]]を元にしたStructured Audio Orchestra Language
|
||||
|
||||
MIDIのように音色をシンセサイザーのアルゴリズムをインターネット越しに送るようなことを想定
|
||||
|
||||
|
@@ -58,4 +58,4 @@ IBM360用に作られた。
|
||||
|
||||
[[PDP-11]]用に作られた。arとkrの区別が導入される。
|
||||
|
||||
のちの[[CSound]]に繋がる。
|
||||
のちの[[Csound]]に繋がる。
|
||||
|
6
content/Magnetic Resonator Piano.md
Normal file
6
content/Magnetic Resonator Piano.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-07-01 12:52
|
||||
---
|
||||
#survey #instrument
|
||||
|
||||
[Magnetic Resonator Piano](https://instrumentslab.org/research/mrp.html)
|
@@ -128,7 +128,7 @@ Hmm, very interesting.
|
||||
|
||||
Max V. Mathews 20:06
|
||||
|
||||
But to finish up this series, that got me to Music 3. Along came the best computer that IBM ever produced, the IBM 704, 1794, excuse me. It was a transistorized computer, it was much faster, and it had quite a long life. They finally stopped supporting it in the mid-1960s, I guess.I had to write Music 4, simply reprogramming all the stuff I had done for the previous computer, for this new computer, which was a big and not very interesting job. So, when the 1794 was retired, and I had to consider another computer, I rewrote Music 5, which is essentially just a rewrite of Music 3 or Music 4, but in a compiler language. FORTRAN was the compiler that was powerful and existed in those days. And so that when the next generation beyond the Music 5 computers, the PDP-10 was a good example of a computer that ran well with music, I didn't have to rewrite anything. I could simply recompile the FORTRAN program, and that's true today. Now the sort of most direct descendant of Music 5 is a program written by [[Barry Vercoe]], who's at the Media Lab at MIT, and it's called Csound, and the reason the C in [[CSound]] stands for the C compiler. Now you're asking about Bell Labs, and many wonderful things came out of Bell Labs, including Unix, and of course Linux, and now the OSX operating system for Macintosh all started at Bell Labs. And the most powerful compiler, and I think the most widely used compiler, was also created at Bell Labs. It was called the C compiler, A and B were its predecessors, and C was so good that people stopped there, and now that's it for the world. Every computer has to have a C compiler now, whether it's a big computer or a little tiny DSP chip. So that's where that came from.
|
||||
But to finish up this series, that got me to Music 3. Along came the best computer that IBM ever produced, the IBM 704, 1794, excuse me. It was a transistorized computer, it was much faster, and it had quite a long life. They finally stopped supporting it in the mid-1960s, I guess.I had to write Music 4, simply reprogramming all the stuff I had done for the previous computer, for this new computer, which was a big and not very interesting job. So, when the 1794 was retired, and I had to consider another computer, I rewrote Music 5, which is essentially just a rewrite of Music 3 or Music 4, but in a compiler language. FORTRAN was the compiler that was powerful and existed in those days. And so that when the next generation beyond the Music 5 computers, the PDP-10 was a good example of a computer that ran well with music, I didn't have to rewrite anything. I could simply recompile the FORTRAN program, and that's true today. Now the sort of most direct descendant of Music 5 is a program written by [[Barry Vercoe]], who's at the Media Lab at MIT, and it's called Csound, and the reason the C in [[Csound]] stands for the C compiler. Now you're asking about Bell Labs, and many wonderful things came out of Bell Labs, including Unix, and of course Linux, and now the OSX operating system for Macintosh all started at Bell Labs. And the most powerful compiler, and I think the most widely used compiler, was also created at Bell Labs. It was called the C compiler, A and B were its predecessors, and C was so good that people stopped there, and now that's it for the world. Every computer has to have a C compiler now, whether it's a big computer or a little tiny DSP chip. So that's where that came from.
|
||||
|
||||
Interviewer 23:03
|
||||
|
||||
|
8
content/Michael Cella.md
Normal file
8
content/Michael Cella.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-12 10:32
|
||||
---
|
||||
#person
|
||||
|
||||
[nnirror (Michael Cella) · GitHub](https://github.com/nnirror)
|
||||
|
||||
[[Wax]]とか[[facet]]とか作ってる
|
4
content/Michael Krzyzaniak.md
Normal file
4
content/Michael Krzyzaniak.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-27 16:26
|
||||
---
|
||||
#stub
|
22
content/Moog Guitar.md
Normal file
22
content/Moog Guitar.md
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
date: 2025-07-01 16:24
|
||||
---
|
||||
#instrument
|
||||
|
||||
[[Paul Vo]]が開発した特殊な[[サスティナー]]を内蔵したエレキギター. ドライバーコイルとピックアップコイルが兼用されているのが特徴。サスティナーの逆で強制ミュートみたいなこともできるというのが面白い。
|
||||
|
||||
|
||||
|
||||
[Licensing: \| Paul Vo](https://web.archive.org/web/20240902205915/https://voinventions.com/licensing/)
|
||||
|
||||
特許
|
||||
|
||||
(2019年で切れた)
|
||||
|
||||
[US6216059B1 - Unitary transducer control system - Google Patents](https://patents.google.com/patent/US6216059B1)
|
||||
|
||||
(2025年に切れる予定)
|
||||
|
||||
[US7667131B2 - Player technique control system for a stringed instrument and method of playing the instrument - Google Patents](https://patents.google.com/patent/US7667131B2/)
|
||||
|
||||
シャント抵抗で読み取ってるかと思いきや時間重畳なのかな
|
8
content/Museum of Solar Energy.md
Normal file
8
content/Museum of Solar Energy.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-05-13 14:55
|
||||
---
|
||||
#solar
|
||||
|
||||
[Museum Of Solar Energy | Solar Cell Archive](https://solarmuseum.org/)
|
||||
|
||||
実物の展示は移動展示らしい
|
14
content/Nim.md
Normal file
14
content/Nim.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
date: 2025-06-20 12:57
|
||||
---
|
||||
#programming-language
|
||||
|
||||
[Nim Programming Language](https://nim-lang.org/)
|
||||
|
||||
ランタイムレスなコンパイル言語。カスタムのメモリアロケーターとかも定義できる。
|
||||
|
||||
コンパイラもセルフホスティングされているし、STLもNim自身で書かれている。
|
||||
|
||||
|
||||
|
||||
CやC++との連携がしやすい。
|
8
content/No Tech Magazine.md
Normal file
8
content/No Tech Magazine.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-05-12 17:29
|
||||
---
|
||||
#website
|
||||
|
||||
[[Low Tech Magazine]]を作った[[Kris De Decker]]のブログ
|
||||
|
||||
[NO TECH MAGAZINE – Technology for Luddites](https://www.notechmagazine.com/)
|
12
content/Notochord.md
Normal file
12
content/Notochord.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
date: 2025-06-13 09:56
|
||||
---
|
||||
#software
|
||||
|
||||
[[Victor Shepardson]]
|
||||
|
||||
[GitHub - Intelligent-Instruments-Lab/notochord: Notochord is a real-time neural network model for MIDI performances.](https://github.com/Intelligent-Instruments-Lab/notochord)
|
||||
|
||||
[Notochord | Intelligent Instruments Lab](https://iil.is/research/notochord)
|
||||
|
||||
|
8
content/Nyquist.md
Normal file
8
content/Nyquist.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-26 17:51
|
||||
---
|
||||
#programming-language #computermusic
|
||||
|
||||
[[Roger Dannenberg]]が90年代に開発した言語。
|
||||
|
||||
ユースケースとしては[[Audacity]]の中にエフェクトをかける機能として搭載されている
|
@@ -4,3 +4,9 @@ date: 2024-10-04 13:31
|
||||
#person
|
||||
|
||||
[[Not Art&Tech - On the role of Media Theory at Universities of Applied Art, Technology and Art and Technology.]]
|
||||
|
||||
---
|
||||
|
||||
[Turing Complete User](https://contemporary-home-computing.org/turing-complete-user/)
|
||||
|
||||
[[橋本麦]]さんによる試訳 [『チューリング完全ユーザー』試訳 - baku](https://scrapbox.io/glisp/%E3%80%8E%E3%83%81%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E5%AE%8C%E5%85%A8%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%80%8F%E8%A9%A6%E8%A8%B3)
|
||||
|
12
content/Omni.md
Normal file
12
content/Omni.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
date: 2025-06-20 12:47
|
||||
---
|
||||
#programming-language #music
|
||||
|
||||
[omni – DSL for low-level audio programming](https://vitreo12.github.io/omni/)
|
||||
|
||||
作者:[[Francesco Cameli]]
|
||||
|
||||
[[Nim]]で書かれた低レベルDSP記述言語。[[SuperCollider]]や[[Max]]の[[UGen]]としてエクスポートできるらしい。
|
||||
|
||||
|
8
content/Otto Laske.md
Normal file
8
content/Otto Laske.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-13 09:03
|
||||
---
|
||||
#person
|
||||
|
||||
[Otto Laske – Music… and more](https://ottolaske.com/)
|
||||
|
||||
|
25
content/Pandoc.md
Normal file
25
content/Pandoc.md
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
date: "2025-06-18T12:00:00+0900"
|
||||
---
|
||||
#tools #software
|
||||
|
||||
[Pandoc](https://pandoc.org/)はオープンソースのドキュメント変換ツールで、Markdown、HTML、LaTeX、Word、PDFなど様々なフォーマット間の変換ができる。
|
||||
|
||||
## 主な特徴
|
||||
|
||||
- MarkdownからLaTeXやPDFへの変換が可能
|
||||
- [[Zotero]]と連携して学術論文の引用を管理できる
|
||||
- 様々なMarkdownの拡張記法をサポート
|
||||
- [[論文の管理]]で重要なcitekeyの処理が可能
|
||||
|
||||
## インストール
|
||||
|
||||
MacでのインストールはHomebrewを使うのが簡単:
|
||||
|
||||
```bash
|
||||
brew install pandoc
|
||||
```
|
||||
|
||||
## 関連ツール
|
||||
|
||||
[[Obsidian]]の[[obsidian-pandoc-reference-list]]プラグインと組み合わせて使われる。
|
@@ -1,6 +1,6 @@
|
||||
---
|
||||
date: "2024-01-05T17:15:38+0900"
|
||||
---
|
||||
#sound #programming-language
|
||||
#sound #programming-language #computermusic
|
||||
|
||||
[[Miller Puckette]]が公開しているオープンソースのサウンドプログラミング環境。
|
||||
[[Miller Puckette]]が公開しているオープンソースの[[サウンドプログラミング環境]]。[[Max]]に影響を与えた。
|
10
content/Queer Use.md
Normal file
10
content/Queer Use.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2025-05-15 13:53
|
||||
---
|
||||
#notion
|
||||
|
||||
[[Sara Ahmed]]
|
||||
|
||||
テクノロジーの[[誤用]](misuse)や流用(appropriate)/、転用(exploit)を、クィア・リーディングのようにクィアな使用と名付ける
|
||||
|
||||
[Queer Use | feministkilljoys](https://feministkilljoys.com/2018/11/08/queer-use/)
|
13
content/Red Green Syntax Tree.md
Normal file
13
content/Red Green Syntax Tree.md
Normal file
@@ -0,0 +1,13 @@
|
||||
#compiler-design
|
||||
|
||||
[Red-Green Trees: an Overview. Six months ago I dug into Roslyn’s… | by Bayastan | Jun, 2025 | Medium](https://medium.com/@krendelia2021/red-green-trees-an-overview-17bae2d84e8c)
|
||||
|
||||
[[抽象構文木]]というか[[具象構文木]]の実装方法の一つ。
|
||||
|
||||
構文の途中で差し込まれたコメントなどのトリビアなどを保持して、完全なソースコードに戻せるけど実行効率などをよくしたままにできるやり方。
|
||||
|
||||
部分的に構文木を書き換えたりするとソースコードのロケーション情報がずれたりするので、文字幅とオフセットを別々に持たせるというやり方をしている
|
||||
|
||||
ながいけどこれがわかりやすい
|
||||
|
||||
[Ruby Parser開発日誌 (19) - 最高の構文木の設計 2024年版 - かねこにっき](https://yui-knk.hatenablog.com/entry/2024/08/23/113543)
|
60
content/Research in music and artificial intelligence.md
Normal file
60
content/Research in music and artificial intelligence.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
cssclass: research-note
|
||||
type: "journalArticle"
|
||||
author: "Roads, Curtis"
|
||||
title: "Research in music and artificial intelligence"
|
||||
publication: "ACM Comput. Surv."
|
||||
date: 1985-06-01
|
||||
citekey: roads_research_1985
|
||||
tags:
|
||||
- research
|
||||
- journalArticle
|
||||
---
|
||||
|
||||
> [!Cite]
|
||||
> Roads, Curtis. 1985. 「Research in music and artificial intelligence」. _ACM Comput. Surv._ 17 (2): 163–90. [https://doi.org/10.1145/4468.4469](https://doi.org/10.1145/4468.4469).
|
||||
|
||||
>[!Synth]
|
||||
>**Contribution**::
|
||||
>
|
||||
>**Related**::
|
||||
>
|
||||
|
||||
[online](http://zotero.org/users/12014264/items/VXISTY3A) [local](zotero://select/library/items/VXISTY3A) [pdf](file:///Users/tomoya/Zotero/storage/FUU5IL8Q/Roads%20-%201985%20-%20Research%20in%20music%20and%20artificial%20intelligence.pdf)
|
||||
|
||||
|
||||
|
||||
>[!md]
|
||||
> **FirstAuthor**:: Roads, Curtis
|
||||
~
|
||||
> **Title**:: Research in music and artificial intelligence
|
||||
> **Year**:: 1985
|
||||
> **Citekey**:: roads_research_1985
|
||||
> **itemType**:: journalArticle
|
||||
> **Journal**:: *ACM Comput. Surv.*
|
||||
> **Volume**:: 17
|
||||
> **Issue**:: 2
|
||||
> **Pages**:: 163–190
|
||||
> **DOI**:: 10.1145/4468.4469
|
||||
|
||||
> [!LINK]
|
||||
>
|
||||
> [Full Text PDF](file:///Users/tomoya/Zotero/storage/FUU5IL8Q/Roads%20-%201985%20-%20Research%20in%20music%20and%20artificial%20intelligence.pdf).
|
||||
|
||||
> [!Abstract]
|
||||
>
|
||||
> Although the boundaries of artificial intelligence (AI) remain elusive, computers can now perform musical tasks that were formerly associated exclusively with naturally intelligent musicians. After a historical note, this paper sermonizes on the need for AI techniques in four areas of musical research: composition, performance, music theory, and digital sound processing. The next part surveys recent work involving AI and music. The discussion concentrates on applications in the four areas of research just mentioned. The final part examines how AI techniques of planning and learning could be used to expand the knowledge base and enrich the behavior of musically intelligent systems.
|
||||
>.
|
||||
>
|
||||
# Notes
|
||||
|
||||
>.
|
||||
|
||||
|
||||
# Annotations%% begin annotations %%
|
||||
|
||||
|
||||
%% end annotations %%
|
||||
|
||||
|
||||
%% Import Date: 2025-06-11T10:19:43.341-04:00 %%
|
8
content/Roger Dannenberg.md
Normal file
8
content/Roger Dannenberg.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-12 09:28
|
||||
---
|
||||
#person #stub
|
||||
|
||||
[[Nyquist]]
|
||||
|
||||
[[Arco]]
|
9
content/Rune.md
Normal file
9
content/Rune.md
Normal file
@@ -0,0 +1,9 @@
|
||||
#programming-language
|
||||
|
||||
[The Rune Programming Language](https://rune-rs.github.io/)
|
||||
|
||||
[[Rust]]で書かれた埋め込みプログラミング言語。
|
||||
|
||||
Rustの文法ほぼそのままに動的型付けの言語をつくるとこうなる、みたいな感じ
|
||||
|
||||
[[Moonbit]]とか[[Rhai]]も近い感じ(Rhaiは直接影響を受けたとのこと)
|
4
content/Sara Ahmed.md
Normal file
4
content/Sara Ahmed.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-05-15 13:54
|
||||
---
|
||||
#person
|
16
content/Scheme for Max.md
Normal file
16
content/Scheme for Max.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
date: 2025-06-14 09:38
|
||||
---
|
||||
#computermusic
|
||||
|
||||
[[Max]]で[[Scheme]]を使ってアルゴリズミックコンポジションをするためのパッケージ
|
||||
|
||||
[GitHub - iainctduncan/scheme-for-max: Max/MSP external for scripting and live coding Max with s7 Scheme Lisp](https://github.com/iainctduncan/scheme-for-max)
|
||||
|
||||
[Learn Scheme For Max — Learn Scheme For Max and s7 Scheme 0.1 documentation](https://iainctduncan.github.io/learn-scheme-for-max/index.html)
|
||||
|
||||
[Scheme For Max - Documentation — Scheme For Max 0.1 documentation](https://iainctduncan.github.io/scheme-for-max-docs/)
|
||||
|
||||
[Scheme for Max Sequencing Toolkit — Scheme for Max Sequencing Toolkit 1.0 documentation](https://iainctduncan.github.io/s4m-stk/)
|
||||
|
||||
|
4
content/Scheme.md
Normal file
4
content/Scheme.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-14 09:38
|
||||
---
|
||||
#programming-language
|
24
content/Scrapbox.md
Normal file
24
content/Scrapbox.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
date: "2025-06-18T12:30:00+0900"
|
||||
---
|
||||
#software #tools #note
|
||||
|
||||
Scrapboxは、リンクベースのノート取りツール。URLをコピーするだけで簡単に参照できる段落を作れる。
|
||||
|
||||
https://scrapbox.io/
|
||||
|
||||
## 特徴
|
||||
|
||||
- Wikiリンク記法でページ間をシームレスに接続
|
||||
- 箇条書きベースのシンプルな記法
|
||||
- ページの存在に関わらず自由にリンク作成が可能
|
||||
- 2ホップリンクによる関連情報の発見
|
||||
- 非同期のリアルタイム編集
|
||||
|
||||
## 活用例
|
||||
|
||||
- チーム内のナレッジベース
|
||||
- 個人的な研究ノート
|
||||
- アイデア整理
|
||||
|
||||
[[この研究ノートについて]]でも触れているように、[[Obsidian]]と比較検討されることもある知識管理ツール。
|
19
content/Somax2.md
Normal file
19
content/Somax2.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
date: 2025-06-09 09:03
|
||||
---
|
||||
#computermusic
|
||||
|
||||
[Somax2 | STMS Lab](https://www.stms-lab.fr/projects/pages/somax2/)
|
||||
|
||||
[somax2 \[Music Representations Team\]](http://repmus.ircam.fr/somax2)
|
||||
|
||||
OMaxや Voyagerというシステムの後継
|
||||
|
||||
Real-Time Instrumental Playing Technique(IPT) Recognition
|
||||
|
||||
機械学習ベース
|
||||
|
||||
ピッチごとにいろんなテクニック(フラッターとか)をやったデータセットを作る
|
||||
|
||||
GFDataBase
|
||||
|
10
content/Style Transfer.md
Normal file
10
content/Style Transfer.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2025-06-13 09:23
|
||||
---
|
||||
#research #machinelearning
|
||||
|
||||
音楽分野でも結構あるのかな
|
||||
|
||||
[Groove2Groove – One-shot music style transfer](https://groove2groove.telecom-paris.fr/)
|
||||
|
||||
[MUSIC MIXING STYLE TRANSFER](https://jhtonykoo.github.io/MixingStyleTransfer/)
|
@@ -1,9 +1,9 @@
|
||||
---
|
||||
date: "2024-02-06T02:00:06+0900"
|
||||
---
|
||||
#programming-language #software #tools
|
||||
#programming-language #software #tools #sound
|
||||
|
||||
James McCartneyが開発、その後OSS化された音楽プログラミング言語。
|
||||
[[James McCartney]]が開発、その後OSS化された音楽プログラミング言語。
|
||||
|
||||
[index | SuperCollider](https://supercollider.github.io/)
|
||||
|
||||
|
4
content/Thor Magnusson.md
Normal file
4
content/Thor Magnusson.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-13 09:55
|
||||
---
|
||||
#person
|
11
content/TouchKey.md
Normal file
11
content/TouchKey.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
date: 2025-06-14 09:42
|
||||
---
|
||||
#instrument #computermusic
|
||||
|
||||
[TouchKeys](https://instrumentslab.org/research/touchkeys.html)
|
||||
|
||||
by [[Andrew McPherson]]
|
||||
|
||||
|
||||
|
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Toward Appropriating Tools for Queer Use | Proceedings of the Halfway to the Future Symposium"
|
||||
url: "https://dl.acm.org/doi/10.1145/3686169.3686186"
|
||||
date: "2025-05-15 13:51:39"
|
||||
---
|
||||
#queercomputing #hci
|
||||
|
||||
# Toward Appropriating Tools for Queer Use
|
||||
|
||||
[[Li Jingyi]]
|
||||
|
||||
https://dl.acm.org/doi/10.1145/3686169.3686186
|
||||
|
||||
> Article No.: 24, Pages 1 - 4
|
||||
|
||||
|
||||
[[Sara Ahmed]]の[[Queer Use]]の概念をHCIでどこまで応用できるか。
|
38
content/UGenの生成をスクリプトから命令列に変換する.md
Normal file
38
content/UGenの生成をスクリプトから命令列に変換する.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
date: 2025-06-12 09:24
|
||||
---
|
||||
#memo #programming-language #sound
|
||||
|
||||
[[Arco]]で行われているメッセージング
|
||||
|
||||
```
|
||||
/arco/fmosc/new ID chans input1 input2 ...
|
||||
/arco/free ID
|
||||
```
|
||||
|
||||
ハイレベルのAPIだとこう
|
||||
|
||||
```
|
||||
sine1 = sine(440,0.01).play()
|
||||
sine1 = nil
|
||||
```
|
||||
|
||||
|
||||
[[SuperCollider]]でも似たような話だけど、ライブコーディング的なシステムを作ろうと思うとこういう制御構造→命令列への変換を定式化するのが重要なのでは
|
||||
|
||||
ジェネラティブUGenネットワークグラフの生成もここに含まれる
|
||||
|
||||
すでに作られたC++のシンセとの統合というのが魅力ではある
|
||||
|
||||
ここがうまく定式化すれば、必要な部分だけダイナミックインタラクションできて、他はJITコンパイルで効率化できるのではないか
|
||||
|
||||
まーでも、どのみち`sine1=nil`みたいな命令型の構造がハイレベルにまで入り込まないと無理なんだよな(グローバルだけ再代入を許せばそれでいいのかも)
|
||||
|
||||
[[mimium]]に生かそうと思うと、UGenに相当するものをダイナミックに作る・消去する工程を命令型でうまく表現できればいいんだけどなあ
|
||||
|
||||
実際には使われてない(アウトプットされてない)UGenもインスタンス化されてしまうので、これを遅延実行するみたいな仕組みがあればいいのかな
|
||||
|
||||
インスタンス化/IOやり取りするメモリマネジメントのタイミング制御だけが重要
|
||||
|
||||
[[Kronos]]におけるコンパイラ-インタプリタを繋げる役割としての[[継時再帰]]
|
||||
|
4
content/Unity.md
Normal file
4
content/Unity.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-06-09 09:34
|
||||
---
|
||||
#stub
|
6
content/Variable Marcov Oracle.md
Normal file
6
content/Variable Marcov Oracle.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-06-13 09:06
|
||||
---
|
||||
#notion
|
||||
|
||||
[Variable Markov Oracle. A variable Markov oracle is a type of… | by Mehmet Akif Cifci | Medium](https://themanoftalent.medium.com/variable-markov-oracle-e796fd534264)
|
6
content/Victor Shepardson.md
Normal file
6
content/Victor Shepardson.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-06-13 09:57
|
||||
---
|
||||
#person
|
||||
|
||||
[jroose · GitHub](https://github.com/jroose)
|
45
content/Wax.md
Normal file
45
content/Wax.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
date: 2025-06-12 10:31
|
||||
---
|
||||
#computermusic #visual-language #programming-language
|
||||
|
||||
[GitHub - nnirror/wax: Web-based audio patching environment](https://github.com/nnirror/wax)
|
||||
|
||||
WebAudioベースのグラフィカルデータフロープログラミング環境
|
||||
|
||||
[[Michael Cella]]
|
||||
|
||||
[wax](https://wax.bz)
|
||||
|
||||
---
|
||||
|
||||
ICMC2025のトーク
|
||||
|
||||
- ビジュアル言語だと一定以上の複雑さを扱えない
|
||||
- ライブコードだと自分が今何やってるのかを把握できなくなってくる
|
||||
|
||||
[[facet]]を同梱しているので、Webベースで両方やれる!
|
||||
|
||||
[[RNBO]]のパッチからWaxのデバイス(オブジェクト)にできる!なるほどね
|
||||
|
||||
アプリケーション
|
||||
|
||||
- モバイル
|
||||
- マルチチャンネル
|
||||
- 教育
|
||||
|
||||
スマホを[[ES9]]に繋いでマルチチャンネルか
|
||||
|
||||
真面目にユーザーフィードバックをとった 7人
|
||||
|
||||
ざっくりとした制作の指示をして、フィードバックを募った
|
||||
|
||||
メタオペレーション
|
||||
|
||||
サブパッチがWebAudioだと難しいという問題
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
9
content/Wekinator.md
Normal file
9
content/Wekinator.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
date: 2025-06-11 15:15
|
||||
---
|
||||
#software #computervision
|
||||
|
||||
|
||||
[Wekinator | Software for real-time, interactive machine learning](http://www.wekinator.org/)
|
||||
|
||||
[GitHub - fiebrink1/wekinator: The current version of the Wekinator. It used to be mini, now it's not, but it still lives here.](https://github.com/fiebrink1/wekinator)
|
@@ -1,12 +1,16 @@
|
||||
---
|
||||
date: "2023-08-10T18:40:08+0900"
|
||||
---
|
||||
#tools #software
|
||||
#tools #software #research
|
||||
|
||||
オープンソースの文献管理ソフトウェア。[[論文の管理]]に活用。
|
||||
|
||||
https://zotero.org/
|
||||
|
||||
- アカウント作ればDBは無料で同期化、PDFとか添付ファイルは有料
|
||||
- WebDAVサーバーがあればファイルも含めて同期可能
|
||||
- 今の所[[自宅サーバー#NAS]]でWebDAV立ち上がってるので、VPNに入ってればどこでも読める
|
||||
- まとめてBiblatexにエクスポートしようと思うとこれしか選択肢がない
|
||||
- どちらかというと、[[Mendeley]]が重すぎて無理
|
||||
- まとめて[[BibLaTeX]]にエクスポートしようと思うとこれしか選択肢がない
|
||||
- どちらかというと、[[Mendeley]]が重すぎて無理
|
||||
- [[Obsidian]]との連携には[[obsidian-zotero-integration]]プラグインを使用
|
||||
- [[Pandoc]]との連携で引用管理が便利
|
13
content/ecsact.md
Normal file
13
content/ecsact.md
Normal file
@@ -0,0 +1,13 @@
|
||||
#programming-language
|
||||
|
||||
[Ecsact](https://ecsact.dev/)
|
||||
|
||||
[[Entity Component System]]を言語のコアに組み込んだプログラミング言語とランタイムシステム。
|
||||
|
||||
Componentの仕様と、システムの型宣言のところまではシンプルな言語として実装されていて、宣言されたSystemの実装をどうするかはLanguage-Agnosticな形に任せるという方式を取っている
|
||||
|
||||
ランタイムのAPIが言語としても公開されているので、これを経由してSystemを実装する。
|
||||
ゲームエンジンへの埋め込みを想定しているっぽい
|
||||
|
||||
システムを統一した言語で書けるわけではないのがいいのか悪いのかわからんけど、宣言部だけなら[[ProtoBuf]]的な役割を担えそうな予感はする
|
||||
|
8
content/facet.md
Normal file
8
content/facet.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-06-12 10:32
|
||||
---
|
||||
#programming-language
|
||||
|
||||
[[Max]]上で動作するJSベースのライブコーディング用スクリプティング言語
|
||||
|
||||
[GitHub - nnirror/facet: Live coding and synthesis with NodeJS and a browser](https://github.com/nnirror/facet)
|
BIN
content/img/HALO.png
Normal file
BIN
content/img/HALO.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.1 MiB |
BIN
content/img/another_moon.png
Normal file
BIN
content/img/another_moon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.1 MiB |
BIN
content/img/general-livecoding-model.png
Normal file
BIN
content/img/general-livecoding-model.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 114 KiB |
BIN
content/img/light-barrier.png
Normal file
BIN
content/img/light-barrier.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
BIN
content/img/teamlab-instagram-ss.png
Normal file
BIN
content/img/teamlab-instagram-ss.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 727 KiB |
BIN
content/img/teamlab-light-sculptures.png
Normal file
BIN
content/img/teamlab-light-sculptures.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 MiB |
@@ -15,7 +15,7 @@ https://matsuuratomoya.com
|
||||
- [[音楽プログラミング言語]]
|
||||
- [[mimium]]
|
||||
- [[プログラミングの良いチュートリアル]]
|
||||
- [[電子管楽器]]
|
||||
- [[フィードバック電子管楽器]]
|
||||
- [[DIY可能なトランペット]]
|
||||
- [[DIY半導体]]
|
||||
- [[オルタナティブ電子基板]]
|
||||
|
@@ -18,6 +18,11 @@ https://github.com/mimium-org/mimium-rs
|
||||
|
||||
## 開発メモ
|
||||
|
||||
### 理論
|
||||
|
||||
- [[mimiumの部分的DSP更新とFaustのondemand]]
|
||||
- [[mimiumでのIOパラメーター]]
|
||||
|
||||
### 中間表現について
|
||||
|
||||
- [[mimium新内部表現の構想]]
|
||||
@@ -25,13 +30,49 @@ https://github.com/mimium-org/mimium-rs
|
||||
- [[mimiumのMIRコンパイル過程を真面目に考える]]
|
||||
- [[lambda-mmm(実用版)]]
|
||||
- [[mimiumグローバル環境評価について]]
|
||||
- [[多段階計算を命令型VMインストラクションで表現したい]]
|
||||
- [[mimiumのモジュールシステム]]
|
||||
|
||||
|
||||
## マクロ
|
||||
|
||||
- [[mimiumと多段階計算]]
|
||||
|
||||
|
||||
### ランタイム周りについて
|
||||
|
||||
- [[mimiumの配列のGC]]
|
||||
- [[mimiumのファイルIO]]
|
||||
- [[mimiumにおけるIO制御]]
|
||||
- [[mimiumでMIDIインプットを実装]]
|
||||
- [[mimiumのファイルIO]]
|
||||
- [[mimiumのプラグインシステム]]
|
||||
- [[mimiumでMIDIインプットを実装]]
|
||||
- [[WASIでmimiumをビルド&デバッグしてみる]]
|
||||
- [[mimiumの配列実装]]
|
||||
- [[mimiumのREPLをVMで実装]]
|
||||
|
||||
## 応用先について
|
||||
|
||||
ふと思ったけど、[[SuperCollider]]や[[PureData]]と比べると、これらの言語は組み込みに使おうと思うとLinuxが動く環境を想定することになる([[Heavy]]はそれを全く別の処理系作ることで対応してたけど)。シーケンサとかスケジューラーがあるような、[[Faust]]だと難しいタイプのプログラムを[[Arduino]]とかに持っていくには向いているのではないか([[Extempore]]だって仕組み的に言えばそうかもしれないけど)
|
||||
|
||||
- できれば教育用途とかに持ち込めるのが一番いい
|
||||
- ブートストラップできるといい
|
||||
- いろいろな人がmimiumで拡張やライブラリを書けるようになってからが本当の本番
|
||||
- 言語自体の拡張機能をその言語上でたくさん作れるとよい
|
||||
- しかし、極端に自由度が高いとそれはそれで参入障壁が高い
|
||||
|
||||
|
||||
[[mimiumでのシーケンサ]]
|
||||
|
||||
[[mimiumでのライブコーディングエンジン]]
|
||||
|
||||
---
|
||||
|
||||
開発ロードマップ
|
||||
|
||||
|
||||
[mimium-rs/Roadmap.md at dev · mimium-org/mimium-rs · GitHub](https://github.com/mimium-org/mimium-rs/blob/dev/Roadmap.md)
|
||||
|
||||
- 多段階計算:大変そう。コンパイラドライバをユーザーコードから叩けるようにするのが先か。
|
||||
- [[mimiumのレコード型|レコード型]]:要件定義はほぼできたし、他の機能への依存も特になし。デフォルト引数の実装を無視すればとりあえず進められそう
|
||||
- [[mimiumでのバリアント]]:やっぱり必要、だが分割コンパイルを先にやらないとダメかも
|
||||
- モジュールシステム:名前空間のCライブラリレベルでのマングリングとか考える必要ありそう。
|
||||
- 配列型の実装:GC問題片付けばなんとか?固定長と可変長の切り替えをどうするかを考えたい。
|
||||
- OSCの実装
|
||||
|
128
content/mimiumでのIOパラメーター.md
Normal file
128
content/mimiumでのIOパラメーター.md
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
date: 2025-07-01 18:43
|
||||
---
|
||||
#mimium
|
||||
|
||||
マルチスレッド前提の場合、Shared State全般がRwLockとかで包まれることになってしまう
|
||||
|
||||
しかし、大概の場合グローバルな状態共有はAtomicな単一パラメーターで済む
|
||||
|
||||
あくまで、普通のグローバル変数宣言はスレッドローカルな扱いにして、メインスレッドと協調しないといけない場合は"shared"みたいなキーワードをつけるようにするとか(構文増やしたくないけど)
|
||||
|
||||
だし、これだと結局OSC送るサーバークライアント構成と実質的に変わらないかも
|
||||
|
||||
```rust
|
||||
let hoge = 100;
|
||||
```
|
||||
|
||||
みたいなのの代わりに、別のキーワードを持たせる
|
||||
|
||||
```rust
|
||||
global hoge = 100
|
||||
```
|
||||
|
||||
プリミティブな型であれば、Atomicな書き換えでOK。hogeへの書き込みをオーディオコンテキストの中でやると毎サンプル実行される保証がない、みたいな仕様?
|
||||
|
||||
タプルとか合成型だと、マルチスレッドで書き換えたときに片方のパラメーターが更新されてない時に読み取られる可能性が厳密にはある
|
||||
|
||||
グローバルに宣言された配列型とか、合成型をどうやって扱う?
|
||||
|
||||
単に、グローバルな値への書き込みがいつ行われるか保証はされませんよ、という仕様にするならそれでも十分か
|
||||
|
||||
もしくは、
|
||||
|
||||
```rust
|
||||
let hoge = param(100)
|
||||
```
|
||||
|
||||
みたいなラップの仕方を考える。hogeは`Param<Number>`型をもち、Number型に自動キャストできる。
|
||||
|
||||
パラメトリックフィルタ複製で、個々の周波数を外側からコントロールしたいとするとどうなるか
|
||||
|
||||
```rust
|
||||
fn replicate(n,gen){
|
||||
let g = gen(n, n*100)
|
||||
if (n>0.0){
|
||||
let c = replicate(n - 1.0,gen)
|
||||
| | g() + c()
|
||||
}else{
|
||||
| | g()
|
||||
}
|
||||
}
|
||||
fn mygen(freq){
|
||||
osc(freq)
|
||||
}
|
||||
fn gen(n,init_f){
|
||||
let channel = param("freq_%n",init_f);
|
||||
| | mygen(channel)
|
||||
}
|
||||
let myfilter = replicate(5,gen)
|
||||
fn dsp(){
|
||||
myfilter()
|
||||
}
|
||||
```
|
||||
|
||||
まあこうなるか 自動グループ化みたいなのできるか?実行してる関数の深さ的に`global::replicate::gen::(args)`で自動ネーミング自体は不可能ではなさそうだが/自動グループをやりたければ、`Param<T>`の中身をレコード型にすればいいのか
|
||||
|
||||
paramがジェネリックな関数`T->Param<T>`であることが重要になってくる。範囲の制限とかはRanged型みたいなのをmimium側で定義すればよくなる・・・はずまあIO周りは結局命令型になるのかなあ
|
||||
|
||||
|
||||
|
||||
```rust
|
||||
let channel = param("freq_%n",init_f);
|
||||
set_param("freq_%n",1000.0)
|
||||
channel = 1000;//
|
||||
```
|
||||
|
||||
最後の行のように、普通にAssign書き込むのもできるようにしておきたい。これできるようにするには、Assignをオーバーロードできるような型システムが必要なのかな`param(コンストラクタ)`と`get_param_name`、`get_param`、`set_param`の4種類があれば十分か
|
||||
|
||||
|
||||
|
||||
[[mimiumのレコード型]]のデフォルト実装、関数のデフォルト引数の組み合わせに対して自動でパラメーターが作られるようにしたい
|
||||
|
||||
```rust
|
||||
fn gen_synthesizer(){
|
||||
let s = |gate = 0,freq=1000,gain = 1.0|{
|
||||
...
|
||||
}
|
||||
s({..})
|
||||
}
|
||||
let mysynth = gen_synthesizer();
|
||||
|
||||
fn dsp(){
|
||||
mysynth()
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
これを実行すると、隠れレコード構造体定義とグローバルなデフォルト引数が作られる
|
||||
|
||||
```rust
|
||||
...
|
||||
type defaultarg = {
|
||||
"gate":number = 0,
|
||||
"freq":number = 1000,
|
||||
"gain":number = 1.0
|
||||
}
|
||||
let default_arg_for_mysynth = param("mysynth",defaultarg::default());
|
||||
fn dsp(){
|
||||
mysynth()
|
||||
}
|
||||
```
|
||||
|
||||
dsp内で`mysynth({..})`と実行してしまうと、これがグローバルなコンテキストで作られない可能性がある・・のか?いや、でも基本的に書き換えられる心配はないからいいのかな
|
||||
|
||||
デフォルト引数構造体のインスタンスは必ずグローバル評価で行う、だとパラメトリックな生成はできないし問題起きそう
|
||||
|
||||
```rust
|
||||
//自動キャストとジェネリクスの組み合わせさえうまくいけばこのくらいのことはできそう
|
||||
let p = param({..});
|
||||
fn dsp(){
|
||||
p |>
|
||||
|gate = 0,freq = 1000,gain = 1.0|{
|
||||
...//do something
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ということは、とりあえず雑にParamを実装して
|
42
content/mimiumでのシーケンサ.md
Normal file
42
content/mimiumでのシーケンサ.md
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
#memo #mimium
|
||||
|
||||
[[SuperCollider]]のPatternに相当するものを作ってみたい。
|
||||
|
||||
Pattern自体は基本的にはシンプルな遅延リスト。だが値の種類を、ピッチと長さとかグループ化できてジェネリックなので、静的型付け言語だとジェネリクスがいる(`next`メソッドを持つ型クラスとかインターフェース的なものが欲しくなる)
|
||||
|
||||
重要ポイント
|
||||
|
||||
- あるパターンを先に構築して、それにあとから適当なシンセを当てはめることもできる
|
||||
- 数値リテラルが定数(不変)パターンに自動キャストされていることで、パターンのリストの要素にさらに別のパターンを埋め込むことができる
|
||||
|
||||
`Pbind`は実際には遅延リストを実行してイベント(キーバリューの辞書ペア集合)のリストを得ている
|
||||
|
||||
[Pattern Guide 03: What Is Pbind | SuperCollider 3.14.0-dev Help](https://doc.sccode.org/Tutorials/A-Practical-Guide/PG_03_What_Is_Pbind.html)
|
||||
|
||||
`.play`を実行すると、`EventStreamPlayer`クラスがいろいろ頑張ってくれるらしい
|
||||
|
||||
`instrument`の指定なしにPbindすると、デフォのシンセが鳴る
|
||||
|
||||
```smalltalk
|
||||
SynthDef(\default, { arg out=0, freq=440, amp=0.1, pan=0, gate=1;
|
||||
var z;
|
||||
z = LPF.ar(
|
||||
Mix.new(VarSaw.ar(freq + [0, Rand(-0.4,0.0), Rand(0.0,0.4)], 0, 0.3)),
|
||||
XLine.kr(Rand(4000,5000), Rand(2500,3200), 1)
|
||||
) * Linen.kr(gate, 0.01, 0.7, 0.3, 2);
|
||||
OffsetOut.ar(out, Pan2.ar(z, pan, amp));
|
||||
}, [\ir]);
|
||||
```
|
||||
|
||||
durとかdegreeみたいなのをいい感じに解釈するのはEventStreamPlayerの役割ってことか?
|
||||
|
||||
[supercollider/SCClassLibrary/Common/Streams/Stream.sc at d4b6f8d5e6c9e419c86b3c44d899b63b4610893b · supercollider/supercollider · GitHub](https://github.com/supercollider/supercollider/blob/d4b6f8d5e6c9e419c86b3c44d899b63b4610893b/SCClassLibrary/Common/Streams/Stream.sc#L491)
|
||||
|
||||
ここでもなさそうだな、謎・・・。
|
||||
|
||||
まあでも,degreeとfreqの自動変換とかは[[単位変換のための型システム]]で解決すべき問題かも
|
||||
|
||||
|
||||
|
||||
|
38
content/mimiumでのバリアント.md
Normal file
38
content/mimiumでのバリアント.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
date: 2025-07-03 18:34
|
||||
---
|
||||
#memo
|
||||
|
||||
幽霊型含む、カスタムのコンストラクターを書こうとすると名前空間の問題が出てくる
|
||||
|
||||
二重インクルードの問題とかもあるので、先に分割コンパイルの仕組みを整える方がいい?
|
||||
|
||||
型の環境の中に変数解決が必要になってくる
|
||||
|
||||
内部的には幽霊、Opaque、バリアントで分かれててもいいかもな
|
||||
|
||||
```rust
|
||||
enum Variant{
|
||||
Phantom(Symbol),
|
||||
Opaque(Symbol,TypeNodeId),
|
||||
Union(Box<Self>,Box<Self>)
|
||||
}
|
||||
enum Type{
|
||||
...
|
||||
|
||||
Variant(Variant)
|
||||
}
|
||||
```
|
||||
|
||||
Foldでネストするくらいなら`Vec<Box<Self>>`に収められるかな?
|
||||
|
||||
パーサーとASTとしてはmatch節も加えないと意味ない
|
||||
|
||||
で、型推論に加えなきゃいけないコードは、
|
||||
|
||||
- 型コンストラクタを関数として使えるように型→値環境に追加し、App式の評価で使えるように
|
||||
- match式の型推論
|
||||
|
||||
matchのコード生成がジャンプテーブルとか出てくるとめんどくさいんだよなあ
|
||||
|
||||
|
24
content/mimiumでのライブコーディングエンジン.md
Normal file
24
content/mimiumでのライブコーディングエンジン.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
date: 2025-06-27 16:54
|
||||
---
|
||||
#mimium #livecoding
|
||||
|
||||
一般化するとこういうモデルにならんだろうか
|
||||
|
||||
![[img/general-livecoding-model.png]]
|
||||
|
||||
Tracksの部分の抜き差しだけできるのが[[ChucK]]のShredシステム。
|
||||
|
||||
とりあえずはこれをRust実装してもいいけど、最終的にはこのモデル自体をmimium上で実装することもできそう
|
||||
|
||||
(不要なトラックの削除と空きスロット再利用を実現するためには、普通の配列とは別に単方向リストかSlotmap的なものを作る必要がありそう)
|
||||
|
||||
Reducerは基本的には全てのチャンネルの加算だけでいいので滅多にいじる必要ないけど、いじりたいケースが出てくるかも
|
||||
|
||||
ChucKではエフェクトのテールが更新時にぶちぎれる問題があったので、それを防ぐためのPostFX Chain
|
||||
|
||||
各トラックごとのエフェクトのライブ切り替えとかも実現しようと思えばできるかな
|
||||
|
||||
...これ、結局[[SuperCollider]]のJITLibと同じことかもな
|
||||
|
||||
[jitlib\_basic\_concepts\_01 \| SuperCollider 3.14.0-dev Help](https://doc.sccode.org/Tutorials/JITLib/jitlib_basic_concepts_01.html)
|
71
content/mimiumと多段階計算.md
Normal file
71
content/mimiumと多段階計算.md
Normal file
@@ -0,0 +1,71 @@
|
||||
#memo #mimium
|
||||
|
||||
|
||||
|
||||
- [[多段階計算を命令型VMインストラクションで表現したい]]
|
||||
- 一時期考えていたが、あんまり筋が良くないのでやめた
|
||||
|
||||
|
||||
[Implement multi-stage computation intepreter by tomoyanonymous · Pull Request #136 · mimium-org/mimium-rs · GitHub](https://github.com/mimium-org/mimium-rs/pull/136)
|
||||
|
||||
シンプルに構文木レベルでのインタプリタを別途作ることで実現できそう。
|
||||
|
||||
|
||||
## 課題
|
||||
|
||||
- 組み込みの関数の型情報がマクロ用(レベル0)とVM用(レベル1)で分かれているので、両方にあることを別々に宣言しなければならない
|
||||
- 逆に、ベクターのappend・removeや文字列操作など、メモリを確保する操作はレベル0でのみ利用できる組み込み関数として制限すると、便利かもしれない
|
||||
- 逆に、`self`や`delay`はレベル1でのみ利用できる関数とする
|
||||
- レベル0,1両方で利用できるpersistentなモジュールは、上記2種類のいずれも使わず、かつescapeとBracketも利用しないものであればよい、ということになる
|
||||
- もともとディレイの最大サイズはリテラルで指定しなければいけないという問題があったが、これを`make_delay(size:float)-> <(float,float)->float>`(レベル0で最大時間を指定すると、入力と遅延時間をとる関数のコードを返すという関数)にできるかも
|
||||
- ただ、これやるとディレイが絡む関数はすべてレベル0定義になるのかな
|
||||
- なんかそれよりは、[[数値プリミティブ型に常に範囲をつける]]とかのほうが筋がいいかも
|
||||
|
||||
```rust
|
||||
fn fbdelay(max_time){
|
||||
`|input,time,fb| {
|
||||
(input + self*fb, time) |> make_delay!(max_time)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- こういうfbdelayを2個以上つかうときのコードはどうなるのかな
|
||||
- というか、fbdelayで生成されたコードをMIRに持ってくときにどうなるのか?
|
||||
- Value型を単なるCodeじゃなくてDelayとして特別な値にリダクションすればいいのかな
|
||||
|
||||
[[otopoiesis]]でパラメーターを生成するのにも使える?
|
||||
|
||||
```rust
|
||||
fn synth(freq,gate){
|
||||
osc(freq)*gate
|
||||
}
|
||||
|
||||
fn synth_module(freq:()->float,gate:()->float){
|
||||
`||{ synth(freq(),gate()) }
|
||||
}
|
||||
```
|
||||
|
||||
これのモジュールを評価すると、freq,gateがUIに現れるという感じでできるのかな(そして、ここでUIの範囲制限をするためにも数値型が範囲を持っていた方がいいということになりそう)
|
||||
|
||||
うーん、サンクを手動で使わず表現できるような何かが欲しいなあ
|
||||
|
||||
```rust
|
||||
fn wrap_module(param:Param, synth:(Param)->float ){
|
||||
`{ | | synth(param |> invoke) }
|
||||
}
|
||||
```
|
||||
Param型はinvokeでuiからの値を取れる、サンクをアンラップするようなメソッドを持つ型クラスに属している、という感じで、ジェネリクスが実装出来たらいけそうね
|
||||
|
||||
|
||||
## マクロを提供するプラグイン
|
||||
|
||||
プラグインも、各関数が返す型と同時にどのレベルでその関数が使えるかをコンパイラに渡す必要がある
|
||||
|
||||
|
||||
### ファイル読み込みはどうなる?
|
||||
|
||||
[[mimiumのファイルIO]]の話。マクロの展開より先に型の評価が行われるので、例えばファイルを読み込んでからチャンネル数が分かる、みたいな場合型情報を読み込む段階でファイルを読みこまなければならない、がその評価のためにはマクロを実行して文字列の値を受け取らなければならない、、、ということで、結局[[依存型]]がないと多段階計算でも対応できない。
|
||||
|
||||
結局、読み込んで返す値として次元数の値を持つ配列を返すしかないのかも
|
||||
|
||||
|
23
content/mimiumにおけるIO制御.md
Normal file
23
content/mimiumにおけるIO制御.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
date: 2025-06-18 15:42
|
||||
---
|
||||
#mimium
|
||||
|
||||
この辺に応用する用。
|
||||
|
||||
[[mimiumでMIDIインプットを実装]]
|
||||
|
||||
[[mimiumのファイルIO]]
|
||||
|
||||
---
|
||||
|
||||
[[Kronos]] Meta-Sequencerに近い仕組みを、IOモナドなしで実装する(正格評価なのでそこまでやらんでいいはず)
|
||||
|
||||
組み込みのコンパイラドライバを制御する関数をいくつか用意する
|
||||
|
||||
```
|
||||
start()->int
|
||||
stop(id:int)
|
||||
|
||||
|
||||
```
|
63
content/mimiumのREPLをVMで実装.md
Normal file
63
content/mimiumのREPLをVMで実装.md
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
date: 2025-06-27 17:10
|
||||
---
|
||||
#mimium #memo
|
||||
|
||||
今の所の問題点として
|
||||
|
||||
- マシンが一つの結合されたコンパイル済みバイトコードしか受け付けていない
|
||||
- これを配列として複数保持する必要あり
|
||||
- 外部関数の参照インデックスのテーブルはVM上に載っているが、内部関数は一つのプログラム上の絶対位置しか参照できない
|
||||
- プログラム上で定義した内部関数を、他のプログラムでも参照できるようにする、シンボルテーブルがいる
|
||||
- またグローバル環境の評価も同様に、シンボル-(GlobalPos,型)変換のテーブルをコンパイラが持っていないとだめ
|
||||
|
||||
- マシンをオーディオドライバ立ち上げとともにオーディオスレッドにMoveしてしまっているので、メインスレッドで新たにコンパイルしたプログラムを何かの方法でオーディオスレッドに送ってやらないといけない
|
||||
- しかもできればロックフリーで
|
||||
- [GitHub - hawkw/sharded-slab: a lock-free concurrent slab (experimental)](https://github.com/hawkw/sharded-slab) これかな
|
||||
- それか普通にDashMapか
|
||||
- シンボルテーブルもDashMapで作ってればなんとかなるのかな
|
||||
- VMの中にControllerみたいなDashMap系をArcで包んだものを用意しておいて、メインのマシンはオーディオスレッドに送ってしまい、Arcでコントローラーだけをメインスレッドに残しておく
|
||||
|
||||
- ExecContextはRepl起動から終了まで次の情報を持ち続ける
|
||||
- グローバル変数のシンボルテーブル(型情報含む)
|
||||
- 内部関数のシンボルテーブル(型情報含む)
|
||||
- 外部関数のシンボルテーブル(型情報含む)
|
||||
|
||||
|
||||
ExecContextは、起動時VMのインスタンスを作る。この時VMConrollerのArc参照がVM内に渡される。
|
||||
|
||||
ExecContextは、ソースコードを受け取るたびにコンパイラのインスタンスを作ってはプログラムを出力し、終了する。
|
||||
|
||||
出力されたプログラムはVMControllerのPrograms(DashMap)に非同期でインサートされ、シンボルテーブルも更新される
|
||||
|
||||
Replで送られた新しいプログラム(一行だけ)のプログラムをどのスレッドで、いつ実行するかが問題
|
||||
|
||||
DSPの頭でReplで溜まった処理(無名関数のキュー)を順番に消化する?あるいは、
|
||||
|
||||
```rust
|
||||
dsp = |l,r| ->(float,float){ ( new_process )}
|
||||
```
|
||||
|
||||
こんな感じでREPLに送ると、実際には
|
||||
|
||||
```rust
|
||||
fn repl_001(){
|
||||
| | {
|
||||
dsp = |l,r| ->(float,float){ ( new_process )}
|
||||
}@now
|
||||
}
|
||||
```
|
||||
|
||||
みたいなのを実行したことになるとか
|
||||
|
||||
これだとスケジューラープラグイン実装されてることが前提にはなるし、スケジューラーにタスクを登録するのをController越しに行える必要がある
|
||||
|
||||
というか、メインスレッドに相当するものを別途作る方がやっぱり良さそう
|
||||
|
||||
結局、今VMに乗ってるだいたいのものはShared Stateとして共有されて、スタック、ベースポインタ、StateStorageだけが独立する形になりそう
|
||||
|
||||
---
|
||||
|
||||
シングルスレッドの場合、REPLで実行されたものは必ずオーディオドライバのブロック頭で消化
|
||||
|
||||
[[mimiumでのIOパラメーター]]
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user