Compare commits
317 Commits
8c0002326f
...
v4
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e10479dcc | |||
| eab147ebda | |||
| f3a3ea9437 | |||
| afcdefd317 | |||
| 29a6348864 | |||
| 94effceecd | |||
| 54cfb646b1 | |||
| 6d2315ae4e | |||
| e82c032c3a | |||
| b3ca7046c9 | |||
| 20183bd08e | |||
| ca92e0cf43 | |||
| 9e595cfb3d | |||
| 1390630f42 | |||
| 006e3e2ce4 | |||
| 64dbddb66b | |||
| 16ecfaef1c | |||
| af7a39e761 | |||
| cc12426e0d | |||
| b1b910fb11 | |||
| 75c1aebc93 | |||
| 289d3bbe23 | |||
| 449dcddb98 | |||
| 8f4dc421c1 | |||
| 6d8e8b37b9 | |||
| cc8b34d9a1 | |||
| 5710be159a | |||
| 5198dac505 | |||
| 14e1cd9888 | |||
| 065bc1d233 | |||
| 006b70c3bc | |||
| ff1fbc9453 | |||
| 928de40259 | |||
| f83d696be3 | |||
| a8bbf079f0 | |||
| 3bfa48eed6 | |||
| d816577cb9 | |||
| 7ed4ff132b | |||
| 6432be4577 | |||
| 9d725c6e1d | |||
| 8a60ce2b32 | |||
| 35a7a19e4a | |||
| c91e3c47f5 | |||
| 816fc1de96 | |||
| ce991d4610 | |||
| e15bddf56d | |||
| 757e72424b | |||
| 32b6136377 | |||
| 56564778af | |||
| adc7cef290 | |||
| 022348ec8d | |||
| 35335a72d1 | |||
| 0f6e472c29 | |||
| d89fa0f23e | |||
| 418eee9eff | |||
| 0c8170c076 | |||
| accc37b0bc | |||
| 68d67d76bb | |||
| dd2d689602 | |||
| c34c94b59d | |||
| 674b6aaadf | |||
| 89d712c412 | |||
| d5780a12cb | |||
| 60e3312e76 | |||
| 76b8b1a09e | |||
| 99ffcbc262 | |||
| ac6af07d58 | |||
| e4687d631b | |||
| 10b938e1b9 | |||
| 5518c58136 | |||
| bd212b5216 | |||
| dfa33d42d5 | |||
| 030aed318c | |||
| 5f301c276e | |||
| 8e3a33f9e8 | |||
| 3c72345026 | |||
| a11f05a23b | |||
| e239f74ab9 | |||
| 2faaa36872 | |||
| 62e23f24e9 | |||
| daf6699ea0 | |||
| b908d777a6 | |||
| 3f57749a65 | |||
| 6bb478ad96 | |||
| f35bbb0f35 | |||
| 87c0753b32 | |||
| 027049487e | |||
| f8f968bbd3 | |||
| 7b51f8ff10 | |||
| 61bb3a9099 | |||
| 7f6b765da3 | |||
| 51007973de | |||
| f5cef7cf61 | |||
| 31484f2f2e | |||
| 4f03b9724c | |||
| 9cbabce8fc | |||
| e41aec9f36 | |||
| e45f3197a9 | |||
| 9f95bcda58 | |||
| 1c33a90051 | |||
| ef992e0e97 | |||
| c80da03639 | |||
| 20f8d820d1 | |||
| a6e8daed6b | |||
| d76f0bd698 | |||
| a0e5de9ef8 | |||
| 00ec4d3b0b | |||
| c4b56af1b6 | |||
| b1ac5c9a12 | |||
| 5cb5398811 | |||
| b85abe3ceb | |||
| 2339783aad | |||
| 1454c606a2 | |||
| 05f0c40243 | |||
| 1b5242432b | |||
| 07221f4c47 | |||
| efef72d927 | |||
| d3cbc540f0 | |||
| 19bb417a42 | |||
| fbb7aceffe | |||
| 1c6a1c63b0 | |||
| 71bf57e68d | |||
| d1701e3be7 | |||
| 7e7486cd7b | |||
| 3f38b6ddee | |||
| 780ac09e32 | |||
| 856e6adf39 | |||
| 914aeb5174 | |||
| 1938371e6d | |||
| 8e6e6ec7e7 | |||
| 771096a01f | |||
| e29ef9c947 | |||
| e6ff42c348 | |||
| 39ea777bc7 | |||
| 06b8f82a17 | |||
| 9abbd32bfa | |||
| 858a2ef8dd | |||
| 029e12624c | |||
| 0d9cbfdf8d | |||
| 44581e1c29 | |||
| c331ed295d | |||
| 232c3fea0b | |||
| b8ce4489a6 | |||
| 706e562943 | |||
| badc8f0eff | |||
| 4dc37cef80 | |||
| e4cfcf1bdf | |||
| 70d642d16e | |||
| 8e2b7b1eb0 | |||
| c1b6718885 | |||
| 004216c012 | |||
| 734ec80165 | |||
| 5c7d3c19ef | |||
| c03546d800 | |||
| 52ec291124 | |||
| 11d093f9ac | |||
| 3e43ffe73c | |||
| 93edb95380 | |||
| dfa3b90530 | |||
| f67e1c01a1 | |||
| 9bc99f7457 | |||
| 17542852a1 | |||
| 2cfcf3ecef | |||
| 02fa124c47 | |||
| 94b6f87569 | |||
| b080fefa11 | |||
| a61f61398e | |||
| 7387eee0ee | |||
| 392eae868f | |||
| a317958444 | |||
| 0b9123a6f0 | |||
| 1d96ae6061 | |||
| 2798d98f32 | |||
| 1cd972dbee | |||
| 9d5c2b6718 | |||
| b093cb365c | |||
| a07d8b15e5 | |||
| efbe6e203d | |||
| 19cb594d30 | |||
| aed814a919 | |||
| 71226b4fe9 | |||
| 1a7dd9a92b | |||
| 1d774cb159 | |||
| 50ad7e66fc | |||
| 3acc0b3e02 | |||
| d1f5314c0e | |||
| 3f89a6cb73 | |||
| 50218c327b | |||
| 190c1e871f | |||
| 329afff6e8 | |||
| b3ac77a346 | |||
| a4ce76b33c | |||
| 1c5c34144c | |||
| a2cc3e7322 | |||
| 57092f281e | |||
| cf18a06c77 | |||
| e622331674 | |||
| 9d9f328779 | |||
| 7a91a28da4 | |||
| 0fc032517f | |||
| a36c2be8e7 | |||
| 3719e593bd | |||
| ea6ab9dc6e | |||
| a2a28b902d | |||
| 53a15b5287 | |||
| 8fff410040 | |||
| 1857ee050f | |||
| cb19ec60f5 | |||
| d206ad6d1f | |||
| 8babae7d08 | |||
| a52d4f1d29 | |||
| 9696d76e74 | |||
| 9295284caf | |||
| a9b68675d7 | |||
| eddedac8b7 | |||
| 328035cf10 | |||
| 385b725cdd | |||
| a288163872 | |||
| c9aaf8b796 | |||
| e5c7c3925a | |||
| 49caddb8a1 | |||
| 526b8c3fb6 | |||
| b88cce230b | |||
| 95f86a5767 | |||
| 671b24eec9 | |||
| 77c769fc3d | |||
| 28247f61cf | |||
| ba997abd61 | |||
| ab4a1e6105 | |||
| 197f9da7eb | |||
| bfc7486531 | |||
| 69d2bbaf9f | |||
| e9d8d15fca | |||
| 95619ff493 | |||
| 5920a1bc8c | |||
| f94f611b81 | |||
| 90c807fca5 | |||
| 40a652e455 | |||
| a8187dc4f4 | |||
| 9a26927196 | |||
| 9b0eedab11 | |||
| e3a7b570bb | |||
| 55178cc960 | |||
| 668d5edf3b | |||
| 9f4ce575a7 | |||
| b83c7b306c | |||
| 5785827612 | |||
| c9d1702f11 | |||
| b89ef4cb5d | |||
| d3639badd9 | |||
| 3f419c73be | |||
| 56e3684357 | |||
| 75f2babfbf | |||
| 86ed871aec | |||
| e2804b7e90 | |||
| 5f7f599ae7 | |||
| e10339dbf6 | |||
| a2a6712b9c | |||
| f7152dcc1b | |||
| 5380e1195f | |||
| b9417b3297 | |||
| 47422ce540 | |||
| 1d2c635af2 | |||
| ebf256982d | |||
| 8924855866 | |||
| 314ba8d524 | |||
| cde17662f8 | |||
| 138db7b43e | |||
| 1891395d2f | |||
| 9ce610ca96 | |||
|
|
e4ae34e52a | ||
|
|
2944d22748 | ||
| 3a6f8b3216 | |||
| 06ec5de867 | |||
| 4ff4916e46 | |||
| a7a9fd5ee7 | |||
| 811b3aee89 | |||
| 00c8f2e2a9 | |||
| 6082c8e90d | |||
| 536500b402 | |||
| bea5199328 | |||
| 8224d797f9 | |||
| 2c3edc27ed | |||
| 165f7ecc97 | |||
| ff87a9b16b | |||
| 98ba83f739 | |||
| c3058bfd4d | |||
| ca2e5c908a | |||
| eb73efb1ca | |||
| 4fa9e8997e | |||
| 0774fa52fa | |||
| 6be14e9b99 | |||
| 4f83083fe7 | |||
| cf3805dc1a | |||
| 34f1574108 | |||
| 233050d1fb | |||
| 977d544e19 | |||
| a4a1362d3b | |||
| 171ea2138e | |||
| 7badf982ca | |||
| 29e56b7562 | |||
| 3f014419f0 | |||
| 3d3131fa9f | |||
| df916a370b | |||
| 532e85df3a | |||
| 8096927de4 | |||
| 422c3ca5ef | |||
| 184b02a7ba | |||
| 0161754ddc | |||
| 34117582aa | |||
| f0d8dba6f3 | |||
| 96ec9f1167 | |||
| 5a38403822 | |||
| 7e1167e619 | |||
| 53967f9d39 | |||
| 890251a5b2 | |||
| 14131a8245 |
3
.gitignore
vendored
@@ -3,6 +3,7 @@
|
||||
node_modules
|
||||
public
|
||||
prof
|
||||
content/.smart-env/**/*
|
||||
tsconfig.tsbuildinfo
|
||||
content/.obsidian/workspace.json
|
||||
content/.obsidian/workspace-mobile.json
|
||||
@@ -11,4 +12,4 @@ content/.obsidian/plugins
|
||||
.replit
|
||||
replit.nix
|
||||
content/.pandoc/*.json
|
||||
content/.smart_env
|
||||
*.ajson
|
||||
|
||||
2
.gitmodules
vendored
@@ -1,4 +1,4 @@
|
||||
[submodule "content/private"]
|
||||
path = content/private
|
||||
url = gitea:tomoyanonymous/quartz-research-note-private.git
|
||||
url = https://333d239df9c42c2beeeaf2d97f6e7e7a68e6abf6@git.matsuuratomoya.com/tomoyanonymous/quartz-research-note-private.git
|
||||
branch = main
|
||||
0
add_timestamp.sh
Executable file → Normal file
2
content/.obsidian/app.json
vendored
@@ -8,7 +8,7 @@
|
||||
"includeName": false,
|
||||
"pageSize": "A4",
|
||||
"landscape": false,
|
||||
"margin": "2",
|
||||
"margin": "0",
|
||||
"downscalePercent": 100
|
||||
}
|
||||
}
|
||||
3
content/.obsidian/appearance.json
vendored
@@ -3,5 +3,6 @@
|
||||
"cssTheme": "",
|
||||
"translucency": true,
|
||||
"baseFontSize": 14,
|
||||
"textFontFamily": "Meiryo UI"
|
||||
"textFontFamily": "Meiryo UI",
|
||||
"showRibbon": false
|
||||
}
|
||||
4
content/.obsidian/community-plugins.json
vendored
@@ -2,12 +2,10 @@
|
||||
"obsidian-git",
|
||||
"obsidian-auto-link-title",
|
||||
"templater-obsidian",
|
||||
"smart-connections",
|
||||
"better-word-count",
|
||||
"obsidian-local-rest-api",
|
||||
"obsidian-pandoc-reference-list",
|
||||
"mcp-tools",
|
||||
"obsidian-focus-mode",
|
||||
"2hop-links-plus",
|
||||
"obsidian-zotero-desktop-connector"
|
||||
"2hop-links-plus"
|
||||
]
|
||||
10
content/.obsidian/graph.json
vendored
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"collapse-filter": false,
|
||||
"search": "",
|
||||
"showTags": true,
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"hideUnresolved": true,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": false,
|
||||
"colorGroups": [
|
||||
@@ -53,13 +53,13 @@
|
||||
"collapse-display": false,
|
||||
"showArrow": true,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1.19899088541667,
|
||||
"lineSizeMultiplier": 1,
|
||||
"nodeSizeMultiplier": 1.276,
|
||||
"lineSizeMultiplier": 1.13454545454545,
|
||||
"collapse-forces": false,
|
||||
"centerStrength": 0.468912760416667,
|
||||
"repelStrength": 15.1642583672965,
|
||||
"linkStrength": 0.975453871804372,
|
||||
"linkDistance": 42,
|
||||
"scale": 0.25087828132711953,
|
||||
"scale": 0.518331174460362,
|
||||
"close": true
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
"listChangedFilesInMessageBody": false,
|
||||
"showStatusBar": true,
|
||||
"updateSubmodules": true,
|
||||
"syncMethod": "merge",
|
||||
"syncMethod": "rebase",
|
||||
"customMessageOnAutoBackup": false,
|
||||
"autoBackupAfterFileChange": false,
|
||||
"treeStructure": false,
|
||||
|
||||
94
content/.obsidian/plugins/obsidian-git/main.js
vendored
@@ -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.35.1"
|
||||
"version": "2.35.2"
|
||||
}
|
||||
|
||||
0
content/.obsidian/plugins/obsidian-zotero-desktop-connector/pdfannots2json-darwin-arm64
vendored
Executable file → Normal file
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"is_obsidian_vault": true,
|
||||
"smart_blocks": {
|
||||
"embed_blocks": true,
|
||||
"min_chars": 200
|
||||
},
|
||||
"smart_sources": {
|
||||
"single_file_data_path": ".smart-env/smart_sources.json",
|
||||
"min_chars": 200,
|
||||
"embed_model": {
|
||||
"adapter": "transformers",
|
||||
"transformers": {
|
||||
"legacy_transformers": false,
|
||||
"model_key": "TaylorAI/bge-micro-v2"
|
||||
},
|
||||
"TaylorAI/bge-micro-v2": {}
|
||||
},
|
||||
"excluded_headings": "",
|
||||
"file_exclusions": "Untitled",
|
||||
"folder_exclusions": ""
|
||||
},
|
||||
"ribbon_icons": {
|
||||
"connections": true,
|
||||
"random_note": false
|
||||
},
|
||||
"smart_view_filter": {
|
||||
"render_markdown": true,
|
||||
"show_full_path": false,
|
||||
"exclude_blocks_from_source_connections": false,
|
||||
"exclude_frontmatter_blocks": true,
|
||||
"expanded_view": false,
|
||||
"results_limit": "20",
|
||||
"exclude_filter": "private"
|
||||
},
|
||||
"language": "en",
|
||||
"new_user": true,
|
||||
"re_import_wait_time": 13,
|
||||
"smart_chat_threads": {
|
||||
"chat_model": {
|
||||
"adapter": "ollama",
|
||||
"ollama": {
|
||||
"model_key": "undefined",
|
||||
"host": "http://localhost:11434"
|
||||
}
|
||||
},
|
||||
"active_thread_key": "Untitled Chat 2025-11-30 15-55-02",
|
||||
"system_prompt": "",
|
||||
"detect_self_referential": true,
|
||||
"review_context": true,
|
||||
"stream": true,
|
||||
"language": "en",
|
||||
"modifier_key_to_send": "shift",
|
||||
"use_tool_calls": true
|
||||
},
|
||||
"smart_notices": {
|
||||
"muted": {
|
||||
"embedding_complete": true,
|
||||
"done_import": true
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
}
|
||||
@@ -3,7 +3,7 @@ date: 2025-02-18 19:16
|
||||
---
|
||||
#stub
|
||||
|
||||
[[Shih Wei-Chien]]のプロジェクト
|
||||
[[Shih Wei-Chieh]]のプロジェクト
|
||||
|
||||
[1,540,000nm of DSSC — Shih Wei Chieh](https://shihweichieh.com/1-540-000nm-of-DSSC)
|
||||
|
||||
|
||||
66
content/20260418メディア学会音楽テクノロジー研究会.md
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
|
||||
[[谷口文和]]さんの発表
|
||||
|
||||
音楽体験とはテクノロジー体験であり、音楽家はテクノロジーのユーザーである
|
||||
|
||||
狭義のテクノロジーと広義のテクノロジー
|
||||
|
||||
狭義:音楽のあり方を根底から揺るがすようなもの
|
||||
|
||||
テクノロジーを媒介にして共同体ミュージシャンシップができている
|
||||
|
||||
ユーザー研究(STS)立場としては[[SCOT]]
|
||||
|
||||
[[DTM]]:インターネット以前なので専門誌とパソコン通信を介してやりとり
|
||||
|
||||
DTMマガジンの道場企画:互換性を意識することの規範意識が生まれていた
|
||||
|
||||
音楽を特別視しない聴覚リテラシー
|
||||
|
||||
---
|
||||
|
||||
[[吉光正絵]]さんの発表
|
||||
|
||||
ファンダムとプラットフォーム
|
||||
|
||||
プラットフォーム時代の音楽循環をさせるファンダム
|
||||
|
||||
いわゆるメガファンダムの分析
|
||||
|
||||
CDを買うことがファンの愛情
|
||||
|
||||
スーパーリスナー・スーパーファン(楽曲を何度も再生し、グッズを買う 拡散力も高い)
|
||||
|
||||
ファンダムの動きからCDリバイバルのような技術的要請の変化が起きる
|
||||
|
||||
|
||||
---
|
||||
|
||||
[[毛利嘉孝]]さんの発表
|
||||
|
||||
|
||||
[[Mark Fisher]]の議論
|
||||
|
||||
ゆっくりとキャンセルされる未来
|
||||
|
||||
80年代から未来像とかの変化って止まってない?音楽のスタイルってもう変化してなくない?
|
||||
|
||||
---
|
||||
|
||||
[[加藤夢生]]
|
||||
|
||||
生成AIと音楽
|
||||
|
||||
[[Georgina Born]]のMusAIプロジェクト
|
||||
|
||||
[[Emily Doran]]
|
||||
|
||||
Critical Organology / Towards a Musicology of Interfaces
|
||||
|
||||
Silicon Empire
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
open-date: 2025-10-01
|
||||
close-date: 2025-11-16
|
||||
status: false
|
||||
status: true
|
||||
url: https://goapply2.akoyago.com/acc/Identity/Account/Login?ReturnUrl=%2Facc%2F
|
||||
notify-date: 2026-05-22
|
||||
residency-term: January 1, 2027 – June 30, 2027 or July 1, 2027 – December 31, 2027
|
||||
|
||||
8
content/AMY.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2026-01-16 09:26
|
||||
---
|
||||
組み込み環境での動作を目指したソフトウェアシンセサイザー。
|
||||
|
||||
Python、MicroPythonが動く環境なら動くし、[[Arduino]]でも動くらしい。
|
||||
|
||||
[GitHub - shorepine/amy](https://github.com/shorepine/amy)
|
||||
4
content/AudioWorklet.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-12-19 15:10
|
||||
---
|
||||
#stub
|
||||
3
content/Axel Volmer.md
Normal file
@@ -0,0 +1,3 @@
|
||||
#person
|
||||
|
||||
[[フォーマット理論]]の主要な論者の一人
|
||||
@@ -19,9 +19,14 @@ G180は1.016m/s
|
||||
|
||||
ただ、レーザーの出力80W/30W を加味すると、Trotecでは1.5%ぐらいでやればいいことになる
|
||||
|
||||
|
||||
カットならP1%V1%で良さそう
|
||||
|
||||
|
||||
焼結テストメモ
|
||||
|
||||
P1% S2% ng
|
||||
|
||||
P0.1% S2% NG
|
||||
P0.1% 10% 変化なし
|
||||
P0.1% 5% ちょっと残った
|
||||
|
||||
12
content/COMDASUAR.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
date: 2026-02-25 12:29
|
||||
---
|
||||
#computermusic
|
||||
|
||||
チリの音楽家[[José Vicente Asuar]]が1975-1980にかけて開発したコンピュータ音楽システム。Computador Musical Digital-Analógico Asuarの略。
|
||||
|
||||
[Música con Computadores ¿cómo hacerlo? \| Revista Musical Chilena](https://revistamusicalchilena.uchile.cl/index.php/RMCH/article/view/11350)
|
||||
|
||||
Asuarはもともと[[IBM360]]と[[FORTRAN]] IVでコンピュータ音楽の実験をしており、70年代にはPDP-8とMOOGのモジュールやARP 2600などを接続して実験を行っていた。
|
||||
|
||||
COMDASUARはIntel 8080マイクロプロセッサーを使っている。
|
||||
7
content/ChuMP.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
date: 2026-01-12 09:20
|
||||
---
|
||||
[[ChucK]]言語のパッケージマネージャ。
|
||||
|
||||
[ChuMP: The ChucK Manager of Packages](https://chuck.stanford.edu/chump)
|
||||
|
||||
@@ -28,4 +28,4 @@ shredという論理時間ベースの計量スレッドみたいなものを言
|
||||
|
||||
Chugenという独自[[Unit Generator|UGen]]をChucK言語上で定義するための機能もある([[Csound]]におけるUser-Defined OpCode)。
|
||||
|
||||
パッケージマネージャが2025年ぐらいになって導入された。
|
||||
[[パッケージマネージャー]]が2025年ぐらいになって導入された。
|
||||
|
||||
@@ -3,7 +3,7 @@ date: "2023-08-24T21:45:03+0900"
|
||||
---
|
||||
#programming-language #memo #logic
|
||||
|
||||
[[Coq]]を用いた定理証明支援の基礎
|
||||
[[Coq]]を用いた[[定理証明支援]]の基礎
|
||||
|
||||
- [Software Foundations 日本語訳](https://chiguri.info/sfja/)
|
||||
- 大体これ読めばいいっぽい(プログラミング言語系は特に)
|
||||
@@ -22,12 +22,12 @@ date: "2023-08-24T21:45:03+0900"
|
||||
|
||||
・・・というのは全部、あくまで普通の関数型言語で考えたら、というので、厳密には全然違う
|
||||
|
||||
問題はCoqがラムダキューブ最上位のCalculus of Constructionを採用しているところ。つまり次の全てが扱える
|
||||
問題はCoqがラムダキューブ最上位の[[Calculus of Construction]]を採用しているところ。つまり次の全てが扱える
|
||||
|
||||
- 項に依存する項 単純型付ラムダ計算
|
||||
- 型に依存する項(ジェネリクス)System F
|
||||
- 型に依存する型(カインド多相)System F $\underline{\omega}$
|
||||
- 型依存の型と型依存の項の両方 System F$\omega$
|
||||
- 型依存の型と型依存の項の両方 [[System-Fω]]
|
||||
- 項に依存する型(依存型) $\lambda\Pi$
|
||||
- 型依存の項と依存型 $\lambda\Pi2$
|
||||
- 型依存の項、項依存の型、型依存の項 CoC
|
||||
|
||||
@@ -91,7 +91,7 @@ Maxのようなビジュアルプログラミング環境はポピュラーで
|
||||
|
||||
> "As opposed to the acoustic instrument maker, the designer of the composed digital instrument frames affordances through symbolic design, thereby creating a snapshot of musical theory, freezing musical culture in time." ("Of Epistemic Tools: musical instruments as cognitive extensions", Thor Magnusson, Organized Sound 14-2, p173 (2009))
|
||||
|
||||
コンピューター音楽の研究者[[Thor Magunusson]]は、コンピューターで作る楽器のことをEpistemic Toolと呼びました。
|
||||
コンピューター音楽の研究者[[Thor Magnusson]]は、コンピューターで作る楽器のことをEpistemic Toolと呼びました。
|
||||
|
||||
これは、コンピューターを使った楽器のデザインやそれの使用が常にシンボルを通じた操作となるため、根本的にその時代の音楽文化を埋め込んだシンボルを経由することを指しています。よりシンプルに言えば、アコースティックな楽器と比べると、コンピューターを使う楽器や音楽作成システムは誤用に基づくオルタナティブな表現の追求が困難である、と言えます。
|
||||
|
||||
|
||||
16
content/Douglas Engelbart.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
date: 2026-03-18 21:06
|
||||
---
|
||||
|
||||
[[The Mother of All demos]]の人。
|
||||
|
||||
[[Human Augumentation]]研究の先駆けの一人。
|
||||
|
||||
[[Augumenting Human Intellect: A Conceptual Framework]]
|
||||
|
||||
[Englebart-Augmenting62.pdf](https://www.lri.fr/~mbl/ENS/FONDIHM/2018/papers/Englebart-Augmenting62.pdf)
|
||||
|
||||
知能の増幅という考えは[[サイバネティクス]]研究者の[[Ross Ashby]]から来ているとする。
|
||||
|
||||
地味に言語学についても重要視してて、[[サピア・ウォーフの仮説]]の話とかも引用されてる。
|
||||
|
||||
12
content/DynGen.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
date: 2026-01-14 14:52
|
||||
---
|
||||
#computermusic #programming
|
||||
|
||||
[[SuperCollider]]で[[EEL2]]([[Cockos]]の作っている、[[Reaper]]で使える[[JSFX]]の内部言語)を使えるようにした拡張機能。
|
||||
|
||||
[GitHub - capital-G/DynGen: Run dynamic scripts on a SuperCollider server](https://github.com/capital-G/DynGen)
|
||||
|
||||
[DynGen - Dynamic UGen - jamshark70 の #9 - Libraries and Quarks - scsynth](https://scsynth.org/t/dyngen-dynamic-ugen/12518/9)
|
||||
|
||||
|
||||
10
content/EEL2.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2026-01-14 14:54
|
||||
---
|
||||
#computermusic
|
||||
|
||||
[[Reaper]]で使える内部スクリプティング言語、[[JSFX]]のコア言語。
|
||||
|
||||
[WDL/WDL/eel2 at main · justinfrankel/WDL · GitHub](https://github.com/justinfrankel/WDL/tree/main/WDL/eel2)
|
||||
|
||||
|
||||
4
content/ESP.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2026-01-16 09:25
|
||||
---
|
||||
#stub
|
||||
4
content/FORTRAN.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2026-02-25 12:31
|
||||
---
|
||||
#stub
|
||||
@@ -173,7 +173,7 @@ jobs:
|
||||
rsync -avz --delete -e "ssh -i /tmp/act_runner_key -o StrictHostKeyChecking=no -p ${{ vars.WEBSERVER_PORT }}" ${{ gitea.workspace }}/public/* ${{ vars.WEBSERVER_USER }}@${{ vars.WEBSERVER_HOST }}:/var/www/html
|
||||
```
|
||||
|
||||
できてますねえ!
|
||||
できてますね
|
||||
|
||||
![[img/gitea_action_ss.png]]
|
||||
|
||||
|
||||
18
content/HackerFab.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
date: 2025-12-15 17:48
|
||||
---
|
||||
#organization
|
||||
|
||||
[Hacker Fab Documentation \| Hacker Fab](https://docs.hackerfab.org/home)
|
||||
|
||||
CMU
|
||||
|
||||
[The Hacker Fab at Carnegie Mellon University – The first open-source semiconductor fab](https://hackerfab.ece.cmu.edu/)
|
||||
|
||||
Waterloo
|
||||
|
||||
[hacker-fab-field-guide](https://www.waterloofab.com/)
|
||||
|
||||
オハイオ州立大学
|
||||
|
||||
[Hackerfab @ Ohio State : Find a Student Organization : Student Activities](https://activities.osu.edu/involvement/student_organizations/find_a_student_org/?i=11979053-5698-4ee8-b15b-2bc7b4aec538&l=H&c=all&page=0)
|
||||
@@ -3,7 +3,7 @@ date: "2024-02-05T13:10:19+0900"
|
||||
---
|
||||
#software
|
||||
|
||||
Mac(と最近はLinux)用のCLIパッケージマネージャー。
|
||||
Mac(と最近はLinux)用のCLI[[パッケージマネージャー]]。
|
||||
|
||||
自分でインストール用のスクリプト(ruby)を書いて野良リポジトリをホストすることもできる。
|
||||
|
||||
|
||||
@@ -8,4 +8,9 @@ author: [[Kris De Decker]]
|
||||
|
||||
https://solar.lowtechmagazine.com/2021/10/how-to-build-a-low-tech-solar-panel/
|
||||
|
||||
スピ界隈でCDにコイルを巻き付けるとソーラー電池ができるというエセ科学が流行っている中で、めちゃくちゃガチだ
|
||||
[[フェイクソーラーパネル]]について調べてたらガチのやつが出てきた。[[George Cove]]という人物が1900年代にショットキー接合を偶然に用いて当時としては相当効率の高い太陽電池を作っていて、しかも570℃と比較的低温での製造と、リサイクルのしやすさ的にも興味深いという話。
|
||||
|
||||
|
||||
[[bellingcat]]によるとチャールズ・フリッツという人物が1884年に作ったと言われる写真がコーブの写真と不可解に一致しているなどなんかいろんな疑惑がある(写っているコーブを後から消した?かもしれないが、画像編集の痕跡はない、とか、、、)。コーブはなぜか途中で逮捕されたりとか
|
||||
|
||||
[Untangling the Mystery of the World’s First Rooftop Solar Panel - bellingcat](https://www.bellingcat.com/news/2023/08/16/untangling-the-mystery-of-the-worlds-first-rooftop-solar-panel/)
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
date: 2025-06-18 12:50
|
||||
---
|
||||
#stub
|
||||
|
||||
石川さん
|
||||
|
||||
鋳造とデジタル3Dモデリング/スキャンといった分野の掛け合わせは、過去のILYプロジェクトでも支援しており、研究領域としての重要性は高く評価されました。その一方で、企画書の内容からは最終的なアウトプットの形態が見えにくいことや、検証プロセスのより詳細な記述が欲しいといった指摘が審査ではなされました。具体的な作品の制作よりも基礎的な造形技術の比較検証に重きを置くのであれば、その研究を誰に向けて行うのか(鋳金作家/デジタル3D造形を行う作家や技術者/一般的な聴衆)のフォーカスを絞ることでアウトプットの方向性も自ずと定まるように思います。以上の理由から今回は不採択という結果になりましたが、3Dプリントやスキャンなどの技術的な相談についてはAMCの方で積極的に受けられればと思いますので、お気軽にご連絡ください。
|
||||
|
||||
木村さん
|
||||
|
||||
脳波を用いたインタラクティブなアニメーションという着眼点そのものは挑戦的なものとして評価できる企画でした。ただ、企画書の内容から現時点でどの程度技術的検証を行なっているか(例え行なっていなかったとしても)、また検証や制作のスケジュールや開発体制の具体性に掛けており、実現可能性を懸念する点が多く挙げられました。加えてこれまでの制作の内容から、なぜ今回脳波というインターフェースを選択したのかのプレゼンテーションをもう少ししてもらえると良かったです。また、自身の感覚変化をアニメーションの変化を通じて気づくケア的な領域へのアプローチに関しては、そのアニメーション自体が脳波に影響を及ぼしてフィードバックループを引き起こす点に意識的であるかどうかも重要な点になります(例えば、脳波を使った作品の最も古い例の一つであるAlvin Lucierの「Music for Solo Performer」にはその点が作品を構成する要素にあらかじめ組み込まれています)。
|
||||
以上のような点から今回は不採択という結果になりました。
|
||||
|
||||
4
content/JSFX.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2026-01-14 14:54
|
||||
---
|
||||
#stub
|
||||
1
content/MCP.md
Normal file
@@ -0,0 +1 @@
|
||||
[[Model Context Protocol]]
|
||||
12
content/MTRと録音の民主化.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
date: 2026-01-15 13:32
|
||||
---
|
||||
[[民主化]]
|
||||
|
||||
[ミュージシャンたちが愛した、歴史に残るギターの名器20選 \| Rolling Stone Japan(ローリングストーン ジャパン)](https://rollingstonejapan.com/articles/detail/32556?n=2&e=34124)
|
||||
|
||||
メイド・イン・ジャパンは誰をエンパワーしたのか? 日本の楽器メーカーがもっと誇るべき話 [[若林恵]]
|
||||
|
||||
> MTRと録音の民主化ということで言えば、US版『WIRED』の元編集長の[[クリス・アンダーソン]]も同じような話をしていて、彼は『MAKERS―21世紀の産業革命が始まる』という本のなかで3Dプリンターなどの[[デジタルファブリケーション]]ツールを用いた「製造の民主化」を謳ったんですが、彼自身がそのDIY精神をどこで培ったか、というとバンド活動を通じてだったと証言しています。
|
||||
|
||||
> ところが、[[椎野秀聰|椎野]]さんが想定していたような「創造性の解放」は実は日本ではなかなか起きなかった、というのが椎野さんの見立てで、本当はみんなが楽器を手にするようになったら、みんなが誰も聴いたことのないような新しい音楽をつくり始めるんじゃないかと期待してたら、案外多くの人が「コピーバンド」に走ってしまったわけです(笑)。
|
||||
@@ -3,6 +3,12 @@ date: "2024-02-08T15:53:17+0900"
|
||||
---
|
||||
#self-hosted #bsky
|
||||
|
||||
追記:SkyMothというオープンソースでセルフホスト可能なやつが画像もAlt付きで転送してくれて必要十分そうだった。しばらくオリジナルのサーバーがホストしてくれてるやつを使っているが、そのうちセルフホストしたい
|
||||
|
||||
[Skymoth](https://skymoth.app/)
|
||||
|
||||
---
|
||||
|
||||
[tomoyanonymous/mastodon-to-bluesky: forked from https://github.com/mauricerenck/mastodon-to-bluesky - mastodon-to-bluesky - Tomoya Matsuura Gitea](https://git.matsuuratomoya.com/tomoyanonymous/mastodon-to-bluesky)
|
||||
|
||||
主にこの記事を参考にした。
|
||||
|
||||
1
content/Max Neuhaus.md
Normal file
@@ -0,0 +1 @@
|
||||
#person
|
||||
1
content/Model Context Protocol.md
Normal file
@@ -0,0 +1 @@
|
||||
#stub
|
||||
@@ -9,10 +9,17 @@
|
||||
|
||||
[GitHub - moonbitlang/moonbit-compiler](https://github.com/moonbitlang/moonbit-compiler)
|
||||
|
||||
日本だと[[mizchi]]さんが全力で使っている
|
||||
|
||||
> 元 Meta で BuckleScript | [[ReScript]] を開発していた [[Hongbo Zhang]] 氏がチーフアーキテクト。
|
||||
|
||||
[自分が Moonbit 言語について知っていること](https://zenn.dev/mizchi/articles/practical-moonbit)
|
||||
|
||||
あ、そうなんだ
|
||||
> 元 Meta で BuckleScript | [[ReScript]] を開発していた [[Hongbo Zhang]] 氏がチーフアーキテクト。
|
||||
|
||||
そうなんだ
|
||||
|
||||
[MoonBit 最高 2025](https://zenn.dev/mizchi/articles/moonbit-is-good-2025)
|
||||
|
||||
[MoonBit が WebAssembly 時代の理想(の原型)だった](https://zenn.dev/mizchi/articles/introduce-moonbit)
|
||||
|
||||
|
||||
|
||||
186
content/Mothers- Demos of All.md
Normal file
@@ -0,0 +1,186 @@
|
||||
---
|
||||
date: 2026-03-18 20:08
|
||||
---
|
||||
#writings
|
||||
|
||||
これは、2026年3月21日に行われたライブコーディングパフォーマンスのための文章です。
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Mothers, Demos of All,
|
||||
|
||||
母よ、全てについてのデモたちよ、
|
||||
|
||||
|
||||
これから行うのは、音楽プログラミング言語mimiumのデモンストレーションです。
|
||||
|
||||
This is a demonstration of mimium, a programming language for music.
|
||||
|
||||
音楽のプログラミングは、スピーカーの振動の波形を計算で作り出すことによって行われます。
|
||||
|
||||
Sound programming is done by calculating waveform of the vibration that will be sent to a speaker.
|
||||
|
||||
スピーカーを1秒間に1000回震わせるように記述すれば、1000Hzの音が鳴ります。
|
||||
|
||||
If you describe as vibrating speakers 1000 times per second, the sound of 1000Hz comes up.
|
||||
|
||||
マイクロフォンからの入力を加えると、このように喋っている私の声を増幅することができます。
|
||||
|
||||
If I add input from microphone, I can amplify my speech voice like this.
|
||||
|
||||
---
|
||||
|
||||
私はデモンストレーションをしています。
|
||||
|
||||
I am doing a demonstration.
|
||||
|
||||
デモンストレーションという言葉は、何かを示すこと、見せることという意味を持っています。技術的発展を証明するためのデモという使われ方もあれば、政府に対する抗議の意を示すデモという使われ方もあります。
|
||||
|
||||
The word of Demonstration means, show and present something. There are demos to show the technological progress, and also demos to show the will of protest to the government.
|
||||
|
||||
|
||||
デモンストレーションとは、何を示す物でしょうか。
|
||||
|
||||
What does demonstration demonstrates.
|
||||
|
||||
|
||||
1968年に、コンピューターサイエンスの研究者ダグラス・エンゲルバートは、今日のマウスやワードプロセッサーに通じるシステム、NLSのデモンストレーションを行いました。
|
||||
|
||||
In 1968, a computer scientist Douglas Engelbart did a demonstration of NLS, that is the ancestor of today's modern computing environment such as Mouse and Word Processor.
|
||||
|
||||
このデモンストレーションは、後にジャーナリストのスティーブン・レビーによって、全てのデモの母「The Mother of All Demos」と形容され、広く知られています。
|
||||
|
||||
This demonstration well known as it was later described as "The Mother of All Demos" by the journalist Steven Levy.
|
||||
|
||||
母がデモを産み落とす。
|
||||
|
||||
Mother gives birth to a demo.
|
||||
|
||||
レビーがこの文章を書いたのは1994年です。1991年に始まった湾岸戦争の開戦時、イラクのサダム・フセインは、全ての戦いの母が始まった、と発言し、アメリカのメディアはそれを「The Mother of All Battles」という訳とともに繰り返し報じました。
|
||||
|
||||
It was 1994 in which Levy wrote this text. The phrase of "The Mother of All," comes from the word repeated by Saddam Hussein for describing Gulf War as "The Mother of All Battles" has begun.
|
||||
|
||||
強気の宣言と裏腹に、わずか100時間で停戦に至った湾岸戦争でのThe Mother of Allという表現は、皮肉を込めた最上級表現として定着しました。
|
||||
|
||||
In contrast to his confident statement, the war had stopped in 100 hours and his word repeatedly broadcasted through TV. The phrase of "The Mother of All" became an ironical superlative form.
|
||||
|
||||
母が戦いを産み落とす。
|
||||
|
||||
Mother gives birth to battles.
|
||||
|
||||
エンゲルバートの研究は、ヴァネバー・ブッシュという研究者の、「私達が思考するように:As We May Think」という文章に影響を受けた物です。この文章は、原爆の開発を行うマンハッタン計画にも深く関わったブッシュが、戦後の軍事目的ではない科学研究の行先を示すものとして、広島と長崎に原爆が落とされる1ヶ月前に発表されました。
|
||||
|
||||
Engelbert's research was inspired from by the paper "As We May Think" by another researcher Vannevar Bush. This text was written by Bush, who was deeply involved in Manhattan Project to develop an atomic bomb, for presenting a vision for non-military scientific research after the war, one month before the two bombs were dropped.
|
||||
|
||||
若き日のエンゲルバートは、従軍中にフィリピンの小屋の中でこの文章を読み感銘を受け、人類が扱う問題が複雑になればなるほど、その解決のために必要になるのは人類の知能を強化すること-Human Augumentationであると考えるようになりました。
|
||||
|
||||
The young Engelbert, who was working in the military at the time, read this text in the small shed in Philippines and got impressed. He started thinking that, as humanity encounters the more and more complex problems, what we need to solve them is an augumentation of human intellect.
|
||||
|
||||
1990年代になってエンゲルバートの目指したビジョンの延長にあるパーソナルコンピューターは普及を始めました。そこから振り返って彼のデモは、The Mother of All と、戦争をメディアを通して冷めた目で見つめる人々のミームで形容されました。
|
||||
|
||||
By the 1990s, personal computers, an extension of Engelbart’s vision, widely spread. Looking back, his demonstration was described as “The Mother of All”, which is a meme by people observing war with a detached gaze through the media.
|
||||
|
||||
実際のところ、彼が戦争についてどう考えていたのかは分かりません。彼はデモの中では、「何ができる」かを見せることに終止しました。このデモはだからこそ分かりやすく、人々の心を動かし、歴史に残ることに成功しました。
|
||||
|
||||
In truth, we don’t know what he really thought about the war. During the demonstration, he focused solely on showing what could be done. That is precisely why the demonstration was so compelling, moved people’s hearts, and succeeded in making history.
|
||||
|
||||
それは同時に、デモンストレーションから「何をするべきか」「なぜするべきか」を排除したということでもあります。
|
||||
|
||||
It means, at the same time, he excluded what should we do and why should we do from the demonstration.
|
||||
|
||||
湾岸戦争は停戦に至りましたが、平和条約は締結されませんでした。その後イラク戦争が起き、今日のイラン戦争に至るまで、中東での国際戦争は続いています。
|
||||
|
||||
Although the Gulf War ended in a ceasefire, no peace treaty was signed. Since then, international conflicts in the Middle East have continued, from the Iraq War to the current war in Iran.
|
||||
|
||||
母が戦争を産み落とし、母が戦争を止めに行く。
|
||||
Mother gave birth to the war, and mother is going to put an end to it.
|
||||
|
||||
---
|
||||
|
||||
人間の知能は増強されました。今や、人工知能は標的を監視するための便利なツールです。難しい問題はより難しくなりました。
|
||||
|
||||
Human intelligence has been augumented. Artificial intelligence is now a useful tool for monitoring targets. Difficult problems have become even more difficult.
|
||||
|
||||
私はデモンストレーションをしています。
|
||||
|
||||
I am doing demonstration.
|
||||
|
||||
ライブコーディングでは、書かれるコードを観客に見せることが美徳とされます。
|
||||
|
||||
In live coding, showing their code to audiences is recommended.
|
||||
|
||||
書かれているコードの意味が観客に理解できるかどうかは、些細な問題です。
|
||||
|
||||
It does not matter if the meaning of the code is understandable to the audience.
|
||||
|
||||
書かれているコードが指し示す意味は、必ずしも正確に対象を記述しているわけではありません。
|
||||
|
||||
The meaning conveyed by the code does not necessarily describe the subject accurately.
|
||||
|
||||
例えばここで書いているKickという関数の定義は、ひどく単純化されたモデルです。実際の内容は、精々物に何かが衝突した時に発生する音をモデル化した程度の物です。
|
||||
|
||||
For example, the definition of the Kick function described here is overly simplified model. In reality, it merely models the sound produced when something hit an object.
|
||||
|
||||
プログラムにおける命名は恣意的な物です。
|
||||
|
||||
Naming in programming is arbitrary.
|
||||
|
||||
ですから、ここで私がKickをBulletに置き換えたとしても、実行される音に変化はありません。
|
||||
|
||||
Thus, the sound does not change if I replace this Kick to Bullet.
|
||||
|
||||
しかし、Bulletと名付けられた関数定義を書き換えることで、明らかにBulletではない音を作ることは容易です。私にはBulletを破壊する自由があります。
|
||||
|
||||
However, by modifying the definition of the function named as Bullet, it is easy to make the sound nothing like Bullet apparently. I have a freedom to destroy Bullet.
|
||||
|
||||
あなたはコードに書かれたアルゴリズムの全てを理解していなくても、私がBulletを破壊したことが理解できます。これが、ライブコーディングにおいてコードを見せることの意味であり、ライブコーディングは態度の問題であるという立場の説明です。
|
||||
|
||||
You can understand that I destroyed the Bullet even if you do not fully understand the algorithm written in code. This is the meaning of showing codes in the live coding, and this is the explanation of the standpoint of "live coding is a matter of attitude".
|
||||
|
||||
---
|
||||
|
||||
ライブコーディングとはデモンストレーションなのです。
|
||||
|
||||
Live coding is a demonstration.
|
||||
|
||||
コードは書き換えることができます。
|
||||
|
||||
Code can be rewritten.
|
||||
|
||||
プログラムは作り変えることができます。
|
||||
|
||||
Program can be reorganized.
|
||||
|
||||
計算は中立ではありません。
|
||||
|
||||
Calculation is not neutral.
|
||||
|
||||
知能の増幅はスカラーではありません。
|
||||
|
||||
Augumentation of Intellect is not a scalar.
|
||||
|
||||
私はデモンストレーションをしています。
|
||||
|
||||
I am doing a demonstration.
|
||||
|
||||
あなたはデモンストレーションをすることができます。
|
||||
|
||||
You can do a demonstration.
|
||||
|
||||
私と共にデモンストレーションをしてください。
|
||||
|
||||
Do the demonstration with me.
|
||||
11
content/Nina Protocol.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
date: 2026-02-04 15:59
|
||||
---
|
||||
|
||||
[Nina](https://www.ninaprotocol.com/)
|
||||
|
||||
[[ブロックチェーン]]で分散ストレージ上に音楽を出版できるプラットフォーム(ネットワークは[[Solana]]、ストレージは[[Arweave]])。
|
||||
|
||||
今の所アーティストに100%収益が還元される。
|
||||
|
||||
+$1がブロックチェーンを用いたCommunity Revenue Shareという仕組みで、Ninaへミュージシャンを紹介した人や、その音楽を宣伝した人などに還元される。
|
||||
@@ -15,3 +15,5 @@ date: 2025-08-20 16:30
|
||||
---
|
||||
|
||||
Imcoming/Outgoing Linkの代用になりそうなビューなら悪くないのかも([[2hop-link]])的な機能も含め
|
||||
|
||||
[[ノートの暗黙知]]
|
||||
|
||||
6
content/Peekaboo.md
Normal file
@@ -0,0 +1,6 @@
|
||||
#software
|
||||
|
||||
macOSの操作を自動化、またスクリーンショットを撮ってUIテストの自動化などに使える。[[MCP]]サーバーとして使えるので、ネイティブGUIアプリを無理やりAIエージェントにデバッグさせたい時などに使え・・・なくもない。
|
||||
|
||||
|
||||
[GitHub - steipete/Peekaboo: Peekaboo is a macOS CLI & optional MCP server that enables AI agents to capture screenshots of applications, or the entire system, with optional visual question answering through local or remote AI models.](https://github.com/steipete/Peekaboo)
|
||||
4
content/Python.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2026-01-12 08:24
|
||||
---
|
||||
#stub
|
||||
4
content/Ralf Schreiber.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-12-19 15:01
|
||||
---
|
||||
#stub
|
||||
3
content/SCOT.md
Normal file
@@ -0,0 +1,3 @@
|
||||
#notion
|
||||
|
||||
Social Construction of Technology: [[技術の社会構成]]
|
||||
6
content/Shih Wei Chieh.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
date: 2025-12-15 18:00
|
||||
---
|
||||
#stub
|
||||
|
||||
[[Shih Wei-Chieh]]
|
||||
4
content/Shih Wei-Chieh.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-12-15 18:00
|
||||
---
|
||||
#stub
|
||||
@@ -32,3 +32,86 @@ How do you envision contributing to and benefiting from a multidisciplinary, int
|
||||
私はこれまで、自身の研究でプログラミング言語の理論的研究から、コンピューター音楽の美学と歴史学的研究、障害学とメディア理論の交差など、技術的な分野と人文的な分野を跨いで論文執筆を行なってきた。これは、自身がかつてteamlabのような大企業でのアート制作や、山口情報芸術センターやCivic Creative Base Tokyoのようなアートとエンジニアリングのラボと深く関わる中で、アーティストと技術者が関わる上で、一つの個人が異なる分野の知識に深く精通している重要性を学んだ。また、NYのインでペンデントスクールSchool for Poetic Computationに三ヶ月滞在する中で、アーティスト自身がテクノロジーを批評的な視座を持ち作り変えること、また多様なバックグラウンドを持つ人間が集合することの重要性について学んできた。私がSolitudeに参加した際には、特にテクノロジーの関わる分野において複数の人間間の媒介となれることを期待しているし、私自身も他の人から新しい領域の知識を吸収できることを楽しみにしている。
|
||||
|
||||
Throughout my research career, I have authored papers spanning technical and humanities fields—from theoretical studies of programming languages to aesthetic and historical research in computer music, and intersections between disability studies and media theory. This stems from my experience working on art projects for large corporations like teamLab and my deep involvement with art and engineering labs such as the Yamaguchi Center for Arts and Media and Civic Creative Base Tokyo. Through these experiences, I learned the critical importance for artists and engineers to have deep expertise across different fields. Furthermore, during a three-month residency at the School for Poetic Computation in New York, I learned about the importance of artists critically reimagining technology themselves and the value of bringing together people from diverse backgrounds. When I participated in Solitude, I particularly hoped to serve as a mediator between multiple people in technology-related fields, and I also look forward to absorbing new knowledge from others.
|
||||
|
||||
---
|
||||
|
||||
### Selected works(max 2000 chs)
|
||||
|
||||
Selected Exhibitions
|
||||
2018.11 "Electronic Delay Time Automatic Calculator(EDTAC)", School for Poetic Computation fall 2018 Student Showcase & others
|
||||
2017.10-2018.06 "Aphysical Unmodeling Instrument",HANARART PLUS Yagi Fudanotsuji Area / New Interfaces for Musical Expression 2018, Virginia Tech University & others
|
||||
2017.02 "送れ|遅れ/post|past", Graduation Exhibition, Tokyo University of the Arts Senju Campus
|
||||
2015.12 "Acoustic Delay (⇔) Memory", Senju Art Path2015, Tokyo University of the Arts Senju Campus
|
||||
2014.12 "How-ring", Senju Art Path2014, Tokyo University of the Arts Senju Campus
|
||||
|
||||
Selected Perdormances
|
||||
2025.10.24 Algotrek 6, Long Pond, Providence
|
||||
2023.05.13 Stain, Kyushu University Ohashi Campus
|
||||
2022.05.28 TELE MUSICKING, Goethe-Institute Tokyo (Operation of the screening of "Telemusik" by K. Stockhausen and Live Remixing)
|
||||
2021.04.29 Solo Performance, Suidoubashi Ftarri(Live Recording due to Covid19)
|
||||
2019.04.27 Park Live at Ginza Sony Park, w/Ayatake Ezaki, Manami Kakudo, Yoshihiro Harada
|
||||
2018.12.20 FREQ x HardCoreAmbience, Kyushu University Ohashi Campus
|
||||
2018.08.19 Algorave Tokyo, ANAGRA TOKYO
|
||||
2018.08.18 Fullphony(Shuta Hasunuma FullPhil), Sumida Triphony Hall
|
||||
|
||||
Research
|
||||
2020~ mimium(Programming Language for Music) https://mimium.org
|
||||
2018~ Exidiophone(Electroacoustic instrument)
|
||||
|
||||
Teaching
|
||||
2023-2025 "Code and Design" Tokyo University of the Arts, Art Media Center
|
||||
2023-2024 "Media Art Programming 2" Tokyo University of the Arts, Art Media Center
|
||||
2020-2025 "Sound Design" Fukuoka Jogakuin University
|
||||
|
||||
### Current Projects
|
||||
|
||||
What are you currently working on? (max. 1,200 characters)
|
||||
|
||||
私は現在、仮想の学術領域「音楽土木工学」を研究している。音楽土木工学とは、最先端のテクノロジーを音楽分野に応用するのではなく、音楽的実践を通じて、身近に存在し続けている技術インフラの存在を可視化、批評、再構築する活動である。
|
||||
|
||||
特に、最近進めている活動が、音楽土木工学を物理レイヤーで実施するためのDIY半導体の製造で、DIY太陽電池制作のプロジェクトを行なっている。色素増感太陽電池と呼ばれる種類の太陽電池は、透明導電膜のついたガラス板の上に、酸化チタンのペーストを印刷し、焼成し、ハイビスカスティーなどを使って染色し、対になる電極と電解液を挟み込むことでDIY的に制作することができる。私は日本での自作半導体コミュニティISHI会と協力して、子供や社会人向けのDSSC制作WSを計5回ほど実施してきた。
|
||||
|
||||
2025年12月には、変則的なWSの形態として、「Solar Panel Cafe」という、参加者がソーラパネル制作の一部を体験する(=労働を提供する)と、対価として、ソーラーパネル染色の過程でも使用されるお茶を飲むことができる企画を実施した。この企画では、キッチンという場を中心として、ありふれているが普段自分が制作しないもの:太陽電池という工業インフラと、主催者が行う家事労働の交換を通じて、生産と消費、労働と貨幣の関係を混線させることを意図している。
|
||||
|
||||
I am currently researching the imaginary academic field of “Civil Engineering of Music(CEoM)” CEoM is not about applying cutting-edge technology to the field of music, but rather an activity that critiques and reconstructs the technological infrastructure that constantly exists around us through musical practice.
|
||||
|
||||
I am recently focusing on making dye-sensitized solar cells (DSSCs) in a DIY way, to extend CEoM to the physical layer. printing TiO2 paste onto conductive glass, sintering, dyeing, and sandwiching them with a counter electrode and electrolyte. In collaboration with the DIY semiconductor community ISHI-kai, we held 4 DSSC-making workshops in 2025.
|
||||
|
||||
In Dec 2025, I did an unusual workshop called “Solar Panel Cafe.” Participants experiences(i.e., provide labor) a part of the DSSCs production and, in exchange, could drink tea which is same as the one used for actual cell dying. This project centered around the kitchen space, aiming to mix up the notion of production and consumption, labor and money. It involved exchanging an industrial infrastructure—solar cells, something common yet rarely made by individuals—for the domestic labor performed by the organizers.
|
||||
|
||||
### Ideas for your time at Akademie Schloss Solitude
|
||||
|
||||
What would you like to focus on, work on, or explore during your time at Solitude? (max. 1,200 characters)
|
||||
|
||||
私は今回のレジデンシーを通じて、DIYソーラーパネルを用いたミニマルなサウンドスカルプチャーシリーズの制作に取り組みたいと思っている。
|
||||
|
||||
この作品群の一つのインスピレーションは、DIY太陽電池についてリサーチしている間に発見した[[フェイクソーラーパネル]]の動画である。これらは、使われなくなったCDをパネルに並べて、時にはコイルやカミソリの刃などを組み合わせることで太陽電池として機能すると主張するものだ。これらのフェイク動画には、DIY精神と陰謀論に挟まれた人類のテクノロジーに対する欲望が奇妙な形で反映されている。
|
||||
|
||||
私はこれに触発されて、実際に太陽電池と電気回路として機能する手作りの吊り下げ式のオーナメントを作ろうと思っている。全世界に存在するサンキャッチャーやウィンドチャイムなどの、工芸品であり呪術的意味合いを持つオブジェクトを、現代のテクノロジーというコンテキストに置き直すことで、自然やテクノロジーに対する信頼と、作ることを祈ることの関係性を問い直すことを目ざす。
|
||||
|
||||
技術的には、これまで行ってきたDIY DSSCと組み合わせて使うための低電力で動作するオシレーター回路と組み合わせることで音を鳴らす回路の設計と、導電性ガラスやプラスチックフィルムを使って造形と電気回路実装を両立するという2つのチャレンジが存在する。
|
||||
|
||||
Through this residency, I intend to create a series of minimal sound sculptures using DIY solar panels.
|
||||
|
||||
One inspiration for this body of work is a video I discovered while researching DIY solar cells: [[fake solar panels]]. These claim to function as solar cells by arranging discarded CDs on a panel, sometimes combined with coils or razor blades. These fake videos oddly reflect humanity's desire for technology, caught between DIY spirit and conspiracy theories.
|
||||
|
||||
Inspired by this, I plan to create handmade, hanging ornaments that actually function as solar cells and electrical circuits. By repositioning objects like suncatchers and wind chimes—crafted items with magical connotations found worldwide—within a modern technological context, I aim to reexamine the relationship between trust in nature and technology, and the act of making as a form of prayer.
|
||||
|
||||
Technically, two challenges exist: designing a circuit to produce sound by combining it with a low-power oscillator circuit for use with the DIY DSSC I've been developing, and achieving both sculptural form and electrical circuit implementation using conductive glass and plastic film.
|
||||
|
||||
## Public Engagement
|
||||
|
||||
Are you interested in sharing your work with the public while at Solitude? If so, what kinds of formats or experiences would you imagine – either with the public or within the fellow community? (max. 1,200 characters)
|
||||
|
||||
はい。この制作では多くの人が実際の制作を体験することを想定しており、ワークショップの形で実際の制作方法を紹介するつもりです。
|
||||
|
||||
太陽電池制作に関しては、全体で2時間程度の作業時間を必要とするため、事前に部分的に前工程を済ませた状態から、オーナメントづくりを1~2時間程度で行いながら、テクノロジーやエネルギーについてのディスカッションを参加者と交わすような形態を想定しています。
|
||||
|
||||
機材や参加者の作業をサポートすることを考えると、最大でも同時参加者数は10名程度が良いと思います。可能であれば、コミュニティで作成したオーナメントを一定期間どこかで展示することができれば良いと考えています。
|
||||
|
||||
Yes. This project is designed for people to experience hands-on creation, and I plan to introduce the actual production methods through workshops.
|
||||
Regarding solar cell production, since the entire process requires about 2 hours of work time, starting from a partially pre-assembled version would be considerable. Participants would then spend 1-2 hours creating the ornament while engaging in discussions about technology and energy.
|
||||
|
||||
Considering equipment and participant support, I think a maximum of about 10 simultaneous participants is ideal.
|
||||
|
||||
If possible,I would like to display the ornaments created by the community somewhere for a certain period.
|
||||
|
||||
@@ -13,3 +13,5 @@ date: "2024-02-06T02:00:06+0900"
|
||||
|
||||
[GitHub - samaaron/tau5: Code. Music. Live.](https://github.com/samaaron/tau5)
|
||||
|
||||
またその下敷きとして、[[scsynth]]を[[AudioWorklet]]で動くようにした[[SuperSonic]]というのを使う予定らしい
|
||||
|
||||
|
||||
11
content/Starvation Synth.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
date: 2025-12-12 16:50
|
||||
---
|
||||
#sound
|
||||
|
||||
[Starvation Synth by Ralf Schreiber - SGMK-SSAM-WIKI](https://www.wiki.sgmk-ssam.ch/wiki/Starvation_Synth_by_Ralf_Schreiber)
|
||||
|
||||
[[Ralf Schreiber]]によるほとんど電力を消費しないシンセサイザー。
|
||||
|
||||
|
||||
|
||||
@@ -12,3 +12,10 @@ date: "2024-02-06T02:00:06+0900"
|
||||
[[Smalltalk]]ベースのシンタックスを持つオブジェクト指向言語で、演算子の優先順位がなく全てが左結合だったりと文法が独特。バージョン3からは言語インタプリタ部分(sclang)とシンセサイザー部分(scsynth)が別プロセスとして動いており、[[OSC]]フォーマットで通信して動いている。[[TidalCycles]]や[[Sonic Pi]]、[[FoxDot]]や[[Overtone]]などは、音声合成エンジンとしてscsynthを利用している。
|
||||
|
||||
言語はコンカレントGCが走っていたりとかなり複雑な内部実装。実装している中の人にBoostの開発者の中の人が混ざってたりするのでめっちゃ高度なことをやっている。その分Webに移植とかは今後もハードルが高そう。
|
||||
|
||||
|
||||
|
||||
歴史について本人が語っている動画
|
||||
|
||||
[SuperCollider Behind The Scene - YouTube](https://www.youtube.com/watch?v=fmVdfQNPzkE)
|
||||
|
||||
|
||||
8
content/SuperSonic.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-12-19 15:10
|
||||
---
|
||||
#computermusic
|
||||
|
||||
[[Sam Aaron]]が作っている[[SuperCollider]]のサウンドエンジン部分を[[WebAssembly]]にコンパイルして[[AudioWorklet]]Nodeとして動くようにしたやつ
|
||||
|
||||
[SuperSonic - SuperCollider's Synthesis Engine in the Browser](https://sonic-pi.net/supersonic/demo.html)
|
||||
4
content/System-Fω.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-12-19 15:07
|
||||
---
|
||||
#stub
|
||||
@@ -11,5 +11,5 @@ date: 2024-10-29 14:08
|
||||
|
||||
> ### メンテナンスから生活へ
|
||||
>
|
||||
> 従来のソフトウェア開発プロセスでは、_開発_ と _保守_ を厳密に分離していました。 これは、常に進化するシステム (たとえば、常に進化する Twitter のようなシステム) について話す場合はそうではありませんが、その場合でも、そのようなシステムはプログラマが保守されるとみなすコンポーネントで構成されています。 上記で示唆したように、アレクサンダーの考え方は(従来のアーキテクトの考え方とは対照的に)、この2つを別個のフェーズと見なさない考え方により適していると思う。
|
||||
> 従来のソフトウェア開発プロセスでは、_開発_ と _保守_ を厳密に分離していました。 これは、常に進化するシステム (たとえば、常に進化する Twitter のようなシステム) について話す場合はそうではありませんが、その場合でも、そのようなシステムはプログラマが保守されるとみなすコンポーネントで構成されています。 上記で示唆したように、[[Christopher Alexander|アレクサンダー]]の考え方は(従来のアーキテクトの考え方とは対照的に)、この2つを別個のフェーズと見なさない考え方により適していると思う。
|
||||
> _成長_ という観点から、より有機的な思考に移行することは、明らかに技術的な問題だけでなく、社会的な問題でもある。 社会的な側面は、最近出版された[イノベーションの妄想](https://amzn.to/3CKtmfL "The Innovation Delusion: How Our Obsession with the New Has Disrupted the Work That Matters Most - Lee Vinsel, Andrew L. Russell")という本の主題である。 この本では、「『進歩』を『イノベーション』に置き換えることで、目新しさが改善であるかどうかという問題を回避することができる」という事実など、いくつかの素晴らしい指摘がなされている。 この本の重要なポイントは、[オープンソースソフトウェア](https://arstechnica.com/information-technology/2014/04/tech-giants-chastened-by-heartbleed-finally-agree-to-fund-openssl/)だけでなく、家事労働などの分野でも、社会がイノベーションとメンテナンスをどのように評価するかの不均衡が大きな問題につながっているということだ。
|
||||
@@ -2,3 +2,5 @@
|
||||
date: 2025-06-13 09:55
|
||||
---
|
||||
#person
|
||||
|
||||
[[Epistemic Tools]]
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
date: 2025-01-29 14:35
|
||||
---
|
||||
#person
|
||||
|
||||
[[Epistemic Tools]]
|
||||
8
content/Tulip.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2026-01-16 09:24
|
||||
---
|
||||
[[MicroPython]]で動く[[AMY]]というシンセサイザーを搭載したポータブルコンピューター。[[ESP32]]ベースらしい。
|
||||
|
||||
[Tulip Creative Computer. Now available](https://tulip.computer/)
|
||||
|
||||
|
||||
14
content/Zooko Triangle.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
date: 2026-01-12 08:53
|
||||
---
|
||||
#notion
|
||||
|
||||
[[パッケージマネージャー]]を分散型設計にするときに問題になること。
|
||||
|
||||
> - **Human-meaningful**: short, memorable names like `express` or `rails`
|
||||
> - **Decentralized**: no central authority controls who gets what name
|
||||
> - **Secure**: when you ask for `express`, you get the real one, not a malicious package that happens to share the name
|
||||
|
||||
これら3つを全て同時に達成することは不可能であるというジレンマ。
|
||||
|
||||
[Federated Package Management and the Zooko Triangle | Andrew Nesbitt](https://nesbitt.io/2025/12/21/federated-package-management.html)
|
||||
8
content/bellingcat.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
date: 2025-12-19 14:39
|
||||
---
|
||||
#organization
|
||||
|
||||
> Bellingcat is an independent investigative collective of researchers, investigators and citizen journalists brought together by a passion for open source research.
|
||||
|
||||
[Who We Are - bellingcat](https://www.bellingcat.com/about/who-we-are)
|
||||
@@ -7,7 +7,7 @@ date: 2024-12-02 16:21
|
||||
|
||||
東工大(科学大)で研究されている、組み込みシステム向けの[[Functional Reactive Programming]]を想定した言語
|
||||
|
||||
`x@last`という演算子でxの直前の時刻の計算結果を利用できる([[mimium]]の`self`に近しい機能)
|
||||
`x@last`という演算子でxの直前の時刻の計算結果を利用できる([[mimium]]の`mem`と`self`に近しい機能)
|
||||
|
||||
もともとは再帰データ型を許さない、高階関数を許さないことで有限なメモリサイズを保証していたが、最大サイズを型として指定することでリストのような再帰データ構造を部分的に許す拡張などが行われている
|
||||
|
||||
|
||||
BIN
content/img/01000711.mp4
Normal file
BIN
content/img/20251209_125954.jpg
Normal file
|
After Width: | Height: | Size: 470 KiB |
BIN
content/img/20251209_135900.jpg
Normal file
|
After Width: | Height: | Size: 445 KiB |
BIN
content/img/IMG_20250907_133706309.jpg
Normal file
|
After Width: | Height: | Size: 3.6 MiB |
BIN
content/img/IMG_20250907_154721858.jpg
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
BIN
content/img/IMG_20250928_114232654.jpg
Normal file
|
After Width: | Height: | Size: 3.6 MiB |
BIN
content/img/IMG_20250928_124515731.jpg
Normal file
|
After Width: | Height: | Size: 3.1 MiB |
BIN
content/img/PXL_20250621_111006546.jpg
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
BIN
content/img/PXL_20250621_121038134.jpg
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
content/img/Pasted image 20260227152020.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
content/img/Pasted image 20260227152040.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
0
content/img/server1.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
0
content/img/server2.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 3.8 MiB After Width: | Height: | Size: 3.8 MiB |
BIN
content/img/スクリーンショット 2026-03-06 17.16.23.png
Normal file
|
After Width: | Height: | Size: 255 KiB |
@@ -35,6 +35,8 @@ https://matsuuratomoya.com
|
||||
|
||||
主要な論文とかは<https://matsuuratomoya.com/research>を参照
|
||||
|
||||
[[クリスマスツリーとサグラダ・ファミリア]]
|
||||
|
||||
[[複製するメディアではなく、“刷られた装置”としてのコンピューター ─ 芸術とデザインの視点からのDIY半導体]]
|
||||
|
||||
[[ないこともない-デミというラベルの存在する意味]]
|
||||
@@ -49,6 +51,10 @@ https://matsuuratomoya.com
|
||||
|
||||
[[NY日記(2025)]]
|
||||
|
||||
[[色素増感太陽電池のワークショップをたくさんやった話]]
|
||||
|
||||
[[Mothers- Demos of All|Mothers,Demos of All,]]
|
||||
|
||||
### [タグ一覧](/tags)
|
||||
|
||||
よく使いそうなタグ
|
||||
|
||||
@@ -83,4 +83,86 @@ $$
|
||||
&\frac{E^n \vdash e_c \Downarrow n \quad n \leqq0\ E^n \vdash e_e\ \Downarrow v\ }{E^n \vdash\ if (e_c)\ e_t\ else\ e_t \Downarrow v }\ &\textrm{[E-IFFALSE]}\\
|
||||
&\frac{E^n \vdash e_1 \Downarrow cls(\lambda x_c.e_c, E^n_c) E^n \vdash e_2 \Downarrow v_2\ E^n_c,\ x_c \mapsto v_2 \vdash e_c \Downarrow v }{E^n \vdash\ e_1\ e_2 \Downarrow v }\ &\textrm{[E-APP]}
|
||||
\end{gathered}
|
||||
|
||||
$$
|
||||
|
||||
## 実用スモールステップ意味論
|
||||
|
||||
アイデア:クロージャ呼び出しとそれ以外の関数呼び出し(グローバルに登録されたものと即時呼び出しされるものとか)を分けよう
|
||||
|
||||
OCamlでの疑似コード(未完成)
|
||||
|
||||
```Ocaml
|
||||
type expr = NumLit of float
|
||||
| Var of string
|
||||
| App of expr * expr
|
||||
| Lam of string * expr
|
||||
| Delay of int * expr * expr
|
||||
| Feed of string * expr
|
||||
| Quote of expr
|
||||
| Splice of expr
|
||||
| Tuple of expr list
|
||||
| Proj of expr * int
|
||||
type bound = string * value
|
||||
and env = bound list
|
||||
and value = Real of float
|
||||
| OpenFn of string * expr * int
|
||||
| Closure of string * expr * env
|
||||
| Code of expr
|
||||
type state = float list
|
||||
type stage = int
|
||||
type stateptr = int
|
||||
|
||||
let lookup: string->env->value =
|
||||
fun name env -> let finder = fun (n,v) -> n == name in
|
||||
let (_n,v) = List.find finder env in
|
||||
v
|
||||
|
||||
|
||||
|
||||
let rec contain_freevars: string -> expr -> env -> bool =
|
||||
...
|
||||
|
||||
|
||||
let states = ... in
|
||||
let stateptr = 0 in
|
||||
let rec eval : stage -> expr -> env -> value =
|
||||
fun stage e env -> match e with
|
||||
| Var(name) ->
|
||||
lookup env name
|
||||
| Lam(x,e) ->
|
||||
if contains_freevar(e) then OpenFn(x,e,statesize e)
|
||||
else Closure(x,e,env)
|
||||
| App(ef,ea) ->
|
||||
let va = eval stage ea env in
|
||||
let vf = eval stage ef env in
|
||||
match vf with
|
||||
| OpenFn(x,e,size)-> let r = eval stage e ((x,va)::env) in
|
||||
shift stateptr size;
|
||||
r
|
||||
| Closure(x,e,cenv) -> eval stage e ((x,va)::cenv)
|
||||
| Delay(n,et,ev) ->
|
||||
let v = eval stage ev env in
|
||||
let vt = eval stage et env in
|
||||
update_ringbuf state stateptr v vt
|
||||
| Feed(x,e)->
|
||||
let size = statesize e in
|
||||
let last = getstate state stateptr in
|
||||
let current = eval stage e ((x,last)::env)
|
||||
state[stateptr] := current;
|
||||
last
|
||||
| Quote(e)->
|
||||
rebuild stage+1 e env
|
||||
| Splice(e)->
|
||||
let v = rebuild stage-1 e env
|
||||
match v with
|
||||
| Code(e) -> eval e env
|
||||
_-> raise
|
||||
and rebuild : stage -> expr -> env =
|
||||
fun stage e env ->
|
||||
if stage == 0 then eval e env
|
||||
else Code(e)
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -122,20 +122,26 @@ MIDIのバイトストリームをフィルターして、ノートオンオフ
|
||||
|
||||
最終的にはそれをHoldしてセルにして、セルをsampleして値にすれば良い
|
||||
|
||||
ジェネリックなholdの実装をどうするかがキモ
|
||||
|
||||
最終的にはMIDI inにコールバックを登録する形になるから、依存性が逆転する
|
||||
|
||||
なんかJSには[[midiguchi]]というライブラリがあるらしい
|
||||
|
||||
[[Haskell]]には[[Reactive-Banana]]使った[[ReactiveBalsa]]もある
|
||||
|
||||
|
||||
```rust
|
||||
|
||||
fn voice_mono(notes:Stream<Note>){
|
||||
let cell = notes |> hold({pitch:60,velocity:0})
|
||||
let hold = |i|{
|
||||
let cell = i
|
||||
|input| {cell =input, cell}
|
||||
}
|
||||
|
||||
|
||||
let midiinput = midi_open_port("from Max 1");
|
||||
let notes = midiinput |> filter_map(_,is_byte_note)
|
||||
let notes_cell = notes |> voice_mono //ここまでが今のbind_midi_note_monoに相当
|
||||
let notes_cell = midiinput
|
||||
~> |x|filter_map(x,is_byte_note)
|
||||
||> hold(_,{pitch:60,velocity:0}) //ここまでが今のbind_midi_note_monoに相当
|
||||
|
||||
fn dsp(){
|
||||
let {pitch,velocity} = notes_cell |> sample
|
||||
@@ -144,9 +150,13 @@ fn dsp(){
|
||||
|
||||
```
|
||||
|
||||
~>はHaskellの$のような、 a(b(c))を a ~> b~> cで結合弱く描けるようにする
|
||||
|
||||
[[Computation Expression]]使ってIOの値を`let!`でバインドしていく、とかの方がわかりやすいかも?
|
||||
|
||||
MIDI入力がトリガーになってクロージャのupvalueを書き換えることでCellの中身を書き換えるとなると、現実的にはオーディオスレッドとMIDI(イベント)スレッドを跨いでupvalueを操作することになる。`get_closure_mut`でクロージャをゲットして実行することはできるけど、その時には結局VMがオーディオスレッドにいるから、VMがクロージャ実行予約の命令を受け取るmpscチャネルを持っておいて、予約されたらオーディオブロックの頭で実行する、みたいな感じにする??
|
||||
Holdは組み込みの関数で、ArcSwapで包まれた値のセルを保持する
|
||||
|
||||
Arcでupvalueを全部包んで、closed upvalueの中身をAtomicU64にする、みたいな方法もあるにはあるが、そうするとClosureのストレージはVMそのものというよりもVMインスタンス間で共有される感じになるのかな
|
||||
グローバル関数はメインスレッドで実行されて、クロージャIDを渡す
|
||||
|
||||
とはいえVMインスタンスがオーディオスレッドに渡ってしまうとなるとな
|
||||
|
||||
|
||||
@@ -100,6 +100,6 @@ fn update_state_tree(oldtree:StateTree,newtree)->StateTree{
|
||||
|
||||
```
|
||||
|
||||
できそうなので論文にしてみるか→ [[多段階計算と増分関数型リアクティブプログラミングのによる信号処理のライブコーディング]]
|
||||
できそうなので論文にしてみるか→ [[多段階計算と増分関数型リアクティブプログラミングによる信号処理のライブコーディング]]
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#memo #mimium
|
||||
|
||||
|
||||
(v3で導入済み。)
|
||||
|
||||
- [[多段階計算を命令型VMインストラクションで表現したい]]
|
||||
- 一時期考えていたが、あんまり筋が良くないのでやめた
|
||||
@@ -29,16 +29,18 @@ $$
|
||||
|
||||
$$
|
||||
\begin{align}
|
||||
e ::=
|
||||
&\quad R & R \in \mathbb{R} [number]&\\
|
||||
|&\quad e \ e \quad& [app]&\\
|
||||
e ::= &\quad R & R \in \mathbb{R} [number]&\\
|
||||
|&\quad \lambda x.e& [abs]&\\
|
||||
|&\quad let\; x\; =\; e\; in\; e& [let]&\\
|
||||
|&\quad fix\; x.e & [fixpoint]&\\
|
||||
|&\quad e \ e \quad& [app]&\\
|
||||
|&\quad if\; (e_c) \; e_t\; else\; e_e & [if] &\\
|
||||
|&\quad delay(x,e_{time},v_{bound})&[delay]&\\
|
||||
|&\quad mem(e) &[mem]&\\
|
||||
|&\quad feed\ x.e &[feed]&\\
|
||||
|&\quad `(e) &[quote]&\\
|
||||
|&\quad $(e) &[splice]&
|
||||
|&\quad $(e) &[splice]&\\
|
||||
|& \ ...
|
||||
\end{align}
|
||||
$$
|
||||
|
||||
@@ -186,5 +188,49 @@ persistentである時点でcode型が現れないかのチェックをする必
|
||||
単なる置き換えだと、includeしたファイルの定義によってその下のステージが変わってしまう可能性がある?
|
||||
|
||||
|
||||
---
|
||||
|
||||
[[OCaml]]で書いてみてる
|
||||
|
||||
```ocaml
|
||||
type expr = NumLit of float
|
||||
| Var of string
|
||||
| App of expr * expr
|
||||
| Lam of string * expr
|
||||
| Delay of int * expr * expr
|
||||
| Feed of string * expr
|
||||
| Quote of expr
|
||||
| Splice of expr
|
||||
| Tuple of expr list
|
||||
| Proj of expr * int
|
||||
type bound = string * value
|
||||
and env = bound list
|
||||
and value = Real of float
|
||||
| OpenFn of string * expr * int
|
||||
| Closure of string * expr * env
|
||||
| Code of expr
|
||||
type state = float list
|
||||
type stage = int
|
||||
type stateptr = int
|
||||
|
||||
let lookup: string->env->value =
|
||||
fun name env -> let finder = fun (n,v) -> n == name in
|
||||
let (_n,v) = List.find finder env in
|
||||
v
|
||||
|
||||
|
||||
|
||||
let rec contain_freevars: string -> expr -> env -> bool =
|
||||
...
|
||||
|
||||
|
||||
let rec eval : stage -> expr -> env ->value =
|
||||
fun stage e env -> match e with
|
||||
| NumLit(n) -> Real(n)
|
||||
| Var(name)-> lookup name env
|
||||
|
|
||||
|_ -> raise (Failure "not implemented yet")
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
---
|
||||
date: 2025-01-07 15:45
|
||||
---
|
||||
|
||||
#DTP
|
||||
#DTP #software
|
||||
|
||||
Texに代わる?モダンな組版システム。[[Rust]]で書かれている。
|
||||
|
||||
[Typst: Compose papers faster](https://typst.app/)
|
||||
|
||||
オープンソースだが、共同編集機能などを備えたWebアプリは一部機能プロプライエタリ。
|
||||
5
content/uv.md
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
[[Rust]]で書かれた[[Python]]向けパッケージマネージャ
|
||||
|
||||
[uv: Unified Python packaging](https://astral.sh/blog/uv-unified-python-packaging)
|
||||
|
||||
@@ -3,4 +3,7 @@ date: 2025-01-15 16:10
|
||||
---
|
||||
#book
|
||||
|
||||
> 一八世紀の暖炉からレンガ一辺が落ちても、家族のだれかがモルタルを練ってレンガを埋める方法を知っていたであろう。これに比較して、二〇世紀の電気オーブンの電熱線がゆるんだら、家族のだれかがどうしたらよいか知っていたり、適当な修理用品を持っていることはありえないであろう。この意味で、家事労働をする人は自分が使う道具から疎外されているのであり、工場の組み立てラインや溶鉱炉で働く人の労働が疎外されているのと同様である。(p5)
|
||||
|
||||
[[ルース・シュウォーツ・コーワン]]
|
||||
|
||||
> 一八世紀の暖炉からレンガ一辺が落ちても、家族のだれかがモルタルを練ってレンガを埋める方法を知っていたであろう。これに比較して、二〇世紀の電気オーブンの電熱線がゆるんだら、家族のだれかがどうしたらよいか知っていたり、適当な修理用品を持っていることはありえないであろう。この意味で、家事労働をする人は自分が使う道具から[[疎外]]されているのであり、工場の組み立てラインや溶鉱炉で働く人の労働が疎外されているのと同様である。(p5)
|
||||
15
content/なぜ働いていると本が読めなくなるのか - 三宅香帆.md
Normal file
@@ -0,0 +1,15 @@
|
||||
#book
|
||||
|
||||
[[三宅香帆]]著
|
||||
|
||||
思っていた以上に「○○は××である」ではなく、「○○していきましょう/するべき」方の本であった。
|
||||
|
||||
とはいえ、読んでいくとこの本自体が自己啓発本の歴史研究のまとめといった側面もあり、自己変革を常に要求する自己啓発本のフォーマットを借りながら、結論は「こういう社会に変えていきましょう」というストレートな社会運動啓発にひっくり返すというフォーマットを取っている。それゆえにフェミニズムの本でもある(「半身社会」という言葉は[[上野千鶴子]]の発言から引かれている)。
|
||||
|
||||
一方で悩ましいのは、答えを著者がストレートに出してくれるという点ではストレートな自己啓発本と同じという点でもある(これ言い出すとすべてのアクティビズムな本がそうではあるんだが)。
|
||||
|
||||
あと、これ「疲れ」についての本でもあるよな([[Diminished Faculties - Jonathan Sterne]]を思い出した)。
|
||||
|
||||
単なる肉体的な労働に基づく肉体的な疲れ以外の「何かが/に疲れている」がすなわち[[燃え尽き症候群]]ということになるのだろうし、燃え尽き症候群を社会モデル的な障害として捉えてみましょう、というのがこの本の内容と言えるのかもしれない。
|
||||
|
||||
というときに、この本で語られる燃え尽き症候群の先にあるのがうつ病である、というお話がそこで止まってしまっているのはちょっとナイーブすぎるようにも思えた。精神病や発達障害はどこまで社会モデルでとらえられるのだろうか?というお話に繋がってくる部分だと思うので。
|
||||
11
content/なぜ社会は変わるのか 初めての社会運動論 - 富永京子.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
date: 2026-01-16 14:21
|
||||
---
|
||||
#book
|
||||
|
||||
[[富永京子]]
|
||||
|
||||
研究としてのアクティビズムの分析ってどこから入ればいいのかずっと分からなかったので非常に良い本。
|
||||
|
||||
社会運動を眺める側が社会運動を作り出している一部なのかもしれない、という話として読んだ。
|
||||
|
||||
96
content/アラン・リクト講義メモ.md
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
2026年5月17日
|
||||
|
||||
[[アラン・リクト]]/ [[畠中実]]
|
||||
|
||||
畠中さんの誘いで企画スタート
|
||||
|
||||
畠中さんがポピュラー音楽概論という授業を担当
|
||||
|
||||
## Sound Art Revisited: Recent Trends
|
||||
|
||||
最初の本が廃盤になるタイミングで、Revisitedの刊行が2019年
|
||||
|
||||
最初の本を出す時の、What is Sound Art?への問いをクリアにする
|
||||
|
||||
サウンドアートという言葉が後追い的に使われる状況があったのに対して、Pureな回答を求めた
|
||||
|
||||
- 時間軸ではなく空間にインストールすることに重きを置いた音を出す作品
|
||||
- ビジュアルアートに音の彫刻のような機能が付加されたもの
|
||||
|
||||
「音楽」への対比としてのサウンドアート
|
||||
|
||||
Music: 1 sound source to 1 or multiple audience, has beginning, middle and end with fixed duration
|
||||
|
||||
終わりがない、尺がない、鑑賞者に自由が委ねられている
|
||||
|
||||
[[La monte Young]]: Dream house 鑑賞者が動き回ることで周波数の干渉で体験が変わる
|
||||
|
||||
[[Douglas Henderson]] 水の
|
||||
|
||||
マルセル・デュシャンやジャン・ティンゲリー、バシェ兄弟のようなビジュアルアートの Sound Sculpture要素
|
||||
|
||||
60~70年代のランドアート/ ロバート・スミッソン アントファーム・コレクティブ
|
||||
|
||||
ロバートスミッソン 逆展開される廃墟 都市・日常の中で発見する
|
||||
|
||||
そういう系譜として、[[Max Neuhaus]]のLISTENというスタンプを手に押してサウンドウォークをする作品、[[鈴木昭男]]の「音点」
|
||||
|
||||
|
||||
音楽と比べて、サウンドアートは「聴く」ことそのものにフォーカスが当たっている
|
||||
|
||||
|
||||
サウンドアートの多くは古典的な作品の焼き直しなのではないかという印象
|
||||
|
||||
若い人たちがどの程度サウンドアートの歴史に自覚的かはわからない
|
||||
|
||||
ある種のInclusivityに向かっている
|
||||
|
||||
合意された美学がないので、破るべきルールもない
|
||||
|
||||
|
||||
ヴィーズリーの綿繰り機のインスタレーション
|
||||
|
||||
7本のマイクで拾って別の部屋で15chのシンセサイズされた音に変換
|
||||
|
||||
ある種の典型的なサウンドアート
|
||||
|
||||
キュレーターの記述と、批評でも、単に音楽として受け取られていて、サウンドアートへの言及がないことが残念
|
||||
|
||||
ブルース・ナウマン ドローイングとしての吸音パネル
|
||||
ジェミシー・ジョーンズの音響階段
|
||||
|
||||
(スーザン・フィリップス)サウンドを使う作品を作ってからサウンドアーティストというラベリングで非常に雑多なキュレーションを受けるようになった
|
||||
|
||||
歌や感情的なものが古典的なサウンドアートからは抜けている
|
||||
|
||||
パフォーマンスをしているところを見られないということの重要さ
|
||||
|
||||
---
|
||||
|
||||
non-cochlea sonic art コーエンによる定義
|
||||
|
||||
デュシャンのnon-retinal visual artの音バージョン
|
||||
|
||||
美が何かに内在しているのではなく、概念的解釈を通じて美を感じているのである
|
||||
|
||||
ほぼ毎日繰り返される日常的な音
|
||||
|
||||
[[リュック・フェラーリの]]「ほとんど何もない」(プレスク・リヤン)
|
||||
|
||||
ビル・フォンタナ まるでテープループかのように聞こえる波の音の録音
|
||||
|
||||
個人的にはプレスク・リヤンはnon-cochlea sonic artかもしれないけど音楽の範疇と言っていいと思うとのこと
|
||||
|
||||
|
||||
[[Samson Young]] Muted Situation あらゆるクラシック曲を全部ミュート付きで演奏する
|
||||
[Muted Situation #22: Muted Tchaikovsky’s 5th \| Collection \| Mori Art Museum](https://www.mori.art.museum/en/collection/5054/index.html)
|
||||
|
||||
[[Christine Sun Kim]] Face Opera
|
||||
|
||||
[[Brandon Labelle]]
|
||||
|
||||
ある種のオリジナルの1960〜80年代のサウンドアートにおける社会性の欠如みたいなものが補完されてきたのが近年なのではないか
|
||||
|
||||
[[中井悠|中井]]さんの質問 マーケット的なものはどう考えてるのか
|
||||
|
||||
@@ -3,7 +3,7 @@ date: 2024-12-25 15:10
|
||||
---
|
||||
#programming-language #compiler-design
|
||||
|
||||
例えば似た変数名の候補を返すとか、スコープ外にある変数の候補をサジェストしてくれるような評価環境を作りたい
|
||||
例えば似た変数名の候補を返すとか、スコープ外にある変数の候補をサジェストしてくれるような[[評価環境]]を作りたい
|
||||
|
||||
また、単に見つかった変数への参照を返すだけでなく、それがローカル、upvalue、global、externalなのかの区別も欲しい
|
||||
|
||||
@@ -29,7 +29,7 @@ let c = hoge //this should be an error but suggested by language server
|
||||
|
||||
![[img/スクリーンショット 2024-12-25 15.23.26.png]]
|
||||
|
||||
- とりあえず親のリストへ辿る方向で探索する
|
||||
- とりあえず親のリストへ辿る方向で探索す
|
||||
- 見つからなかった(セマンティクス的にエラーになる)場合は親を兄弟含めて検索して、候補が見つかったら返す
|
||||
- このときはついでに類似度検索で近いやつが否いかも探す
|
||||
|
||||
|
||||
64
content/クリスマスツリーとサグラダ・ファミリア.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
date: 2025-12-25 15:43
|
||||
---
|
||||
#writings
|
||||
|
||||
2017年ぐらいにやった[緑青 #1 “復習(Relisten)”](https://matsuuratomoya.com/works/rokushou)という音楽イベントに向けて書いた文章。
|
||||
|
||||
[つゆ](https://soundcloud.com/tomoya_matsuura/mcfuc5yz1tns)という曲についての文章だった気がする。
|
||||
|
||||
---
|
||||
|
||||
どうして音楽を作るのか、というだだっ広い話題から始めてみたい。
|
||||
|
||||
ある人は自分の思うことやメッセージを伝えるためにつくる。ある人は新しい技法を取り入れた物を作りたくて、自分で一番聞きたいものを作りたくて。
|
||||
|
||||
それが自分の場合にはずっとわからなかったもので音楽が作れなかった、というか出来上がったにしても全然納得がいったものではなかった。
|
||||
|
||||
だんだんと分かってきたことは、自分は日常聞いている音楽は基本的にポップミュージックと言われる範囲のもので、実験音楽だとか、あるいは電子音楽(という雑なくくりも微妙だが)にはリスナーとして全然興味が持てなくて、一方音楽の実践者、演奏などをするときにはポップとかどうとかでは全然なく、実験的なものや、あるいは楽器そのものを作ってしまうようなアプローチにしか興味が持てない、ということだった。そして周りを見渡すと意外と(特に実験的なところにいる人達には)そういうタイプの人はいて、演奏はするけど音楽はそもそも全然聞かない、みたいな人もいる事に気がついた。
|
||||
|
||||
|
||||
それがわかってからは自分の中での「リスナーモード」と「プレイヤーモード」というものがスイッチできるようになってきた。そして「プレイヤーモード」のまま聴くということも可能で、そうすれば実験的なものとかも結構楽しめるのだとわかってきた。
|
||||
|
||||
|
||||
ーーー
|
||||
|
||||
自分が楽器(ソフト込み)を作ったり、演奏するときに使う楽器で好きなものは、中身の構造がわかっているのにそのコントロールができない、先の挙動の完全な予測ができない、というタイプのものだ。これは特にフィードバック構造を持つものに顕著に現れるのでよくオーディオフィードバック=ハウリングをよく使う理由でもある。
|
||||
|
||||
楽器は一種の道具だ。道具はよく身体を延長、拡張するものだと言われるが、これがある程度自律的に動く、またコントロール不可能になるにつれて自分の身体の延長から新たな身体とのコミュニケーションに近いようなところが出てくる。わかりやすいところでいえば、Siriのような音声コントロールがそうだし、コントロール不可能性というところを含めるとキャラクターがインターフェースのメールソフト[[Postpet]]はメールを時々誤配する。
|
||||
|
||||
|
||||
要するに自分の場合のプレイヤーモードというのはこの(ディス)コミュニケーションみたいなものに向き合うことだと思っている。
|
||||
|
||||
|
||||
---
|
||||
|
||||
ところで「プレイヤーモード」のまま聴くこともできるなら改めて「リスナーモード」を音楽制作や演奏にもきちんと取り入れられるのではないだろうか、と思って1年前ぐらいから時々音楽のようなものを作るようになった。自分の「リスナーモード」の方を噛み砕くと、「製作者にまつわるパーソナルななにか」と「音楽における構造的ななにか」という2つの要素がポップミュージックを形作っていると考えている。
|
||||
|
||||
|
||||
とりあえず前者については一旦置いておくにして、後者はつまり、時々言われる気がするけどポップミュージックとは建築的なものだと思う。全体の骨組みがあって、それを更に細かな構造が覆っていくようなもの。というかこの考えは自分のものでもなくて[[Brian Eno|ブライアン・イーノ]]が生成的音楽に対して建築からガーデニング的なものへ変わっていくという例えそのまんまである。 https://wired.jp/2018/03/01/brian-eno-ar-installation/
|
||||
|
||||
|
||||
しかしこれを自分のプレイヤーモードに納めようと思うとうまくいかない。全体の骨組みを作るにも大きな木を削って大黒柱を作るようなやり方ではなく勝手にわさわさ成長していく木を剪定して頑張って形を整える。まさにガーデニングの例えというか、盆栽とかそういう感じに近いのだろうか。
|
||||
|
||||
|
||||
というわけでとりあえず自分なりにポップミュージックに近づく一歩として、勝手に鳴り続けるシステムで作った音を一つなが~く録音してみて、固定した、動かないものにする。そこから上に付け足すものを考えてみる。言うなればもみの木を伐採してきれいに飾り付けをするクリスマスツリーか。
|
||||
|
||||
|
||||
あるいは建築は建築でも、ガウディのそれとかは近いかもしれない。ガウディの建築は直線が建物の中に全く無かったり、自然から得られる構造をもとにして形を作ることを重んじていたり。全体の大きな設計図が残っていないものが多く模型を中心に作っていたりとか、大きな骨組みを使って精密に組み上げていく建築とはかなり趣が違う。そう思うといつまでも完成しないサグラダ・ファミリアは音楽に置き換えてみるとポップ・ミュージックと実験的な音楽の間の魅力的なものになっているかもしれない。
|
||||
|
||||
|
||||
---
|
||||
|
||||
もうちょっと具体的なことを書くと、クリスマスツリーのもみの木にあたる部分はディレイ(音を遅らせるエフェクト)をちょっと複雑にしたもので、音を5個ぐらいに分岐させて、それぞれ基準を1秒だとして1/2,2,3,5(正確な数字は忘れたが)など整数倍に遅れ時間を設定している。遅れた音はそれぞれいい感じにミックスされてまた5個に分配される。のでただのループともちょっと違うリズムのようなものが生まれる。
|
||||
|
||||
ここに入力したのは物理モデリングのギターシンセ(AAS String Studio)を一音だけ弾いたもので、妙にアタックが強調された音が作れるのでよく使う。途中からそれぞれ遅れ時間を0.01%とかだけランダムにずらしていて、遅れ方がそれぞれちょっとだけずれて重なっていき、だんだんアタックがぼやけてくる。このぼやけた状態の音がギターを弾いてる音からバイオリンを弓で擦ってるような音に、最後にはドローンのようなボワーっとした音にときれいにモーフィングするのを偶然発見したのでこの音を使うことにした。後半では遅れ時間を少しずつ短くすることでドローンのピッチを上げていっている。これは録音を回しておいて[[Max]]をリアルタイムで操作して録音したので実質再現不可能。
|
||||
|
||||
|
||||
このモーフィングから始めたので、他のところもモーフィングとか、(硬派なタイプの)ミニマル的なじわっと変化するやり方をたくさん使うことにした。のでDAW上でオートメーションをひたすら書く作業が曲作りという感じになっている。
|
||||
|
||||
|
||||
他に入れた音:エレキギターをアナログディレイで発振させたときのサンプルのループ、物理モデリングシンセで木琴→鉄琴にモーフィングする音(Chromaphone2)、Maxでの自作コツコツ叩いたような音や金属を引っ掻いたような音がするシンセ(説明がしづらい)、自宅で録音した雨の環境音
|
||||
|
||||
|
||||
つゆというタイトルになっているが雨の音を録ったのはたしか4月で、作っていたのは5月のGWの間。完成してからしばらく放置して6月ぐらいに公開した。
|
||||
@@ -39,23 +39,6 @@
|
||||
|
||||
カリキュラムは全体として、コンピューティングの概念と基礎理論を理解するためのパート、Arduinoのチュートリアルパート、最終課題制作のパートと3つに分かれており、最終課題以外は概ね1コマごとに1WSを実施するような構成になっている。
|
||||
|
||||
|
||||
1. Conditional Design Workshop
|
||||
2. Victorian Synthesizer/ Tympanic Alley
|
||||
3. インバーターの製作
|
||||
4. 2進数カードゲーム(浦川通)
|
||||
5. NAND回路と全加算器
|
||||
6. Arduino基礎
|
||||
7. 秋葉原に買い物
|
||||
8. 雑マウス
|
||||
9. Processingとの連携/ピンポンゲーム
|
||||
10. サウンド
|
||||
11. モーター
|
||||
12. 課題制作打ち合わせ
|
||||
13. デジタルファブリケーション(手作り電子部品)
|
||||
14. 課題制作打ち合わせ2
|
||||
15. 最終課題発表
|
||||
|
||||
## 前半
|
||||
|
||||
### Conditional Design
|
||||
@@ -75,31 +58,117 @@
|
||||
[WSの写真]
|
||||
### Handmade Computer(3,5回)
|
||||
|
||||
第3、5回目を通じて、参加者は紙の上に銅箔テープで形成した回路の上に基礎的な論理回路をトランジスタを用いて構成する。第3回は、入力を単に反転するだけのインバーターを実装し、第5回では2つの入力が共に0のとき1を出力するNAND回路を実装する。トランジスタによるロジック回路の構成には、通常のトランジスタを用いたTTLロジックと、FETを用いるCMOSロジックの2種類が検討できる。
|
||||
第3、5回目を通じて、参加者は紙の上に銅箔テープで形成した回路の上に基礎的な論理回路をトランジスタを用いて構成する。このワークショップは、元々のSFPCの授業内で作っていたものになる。第3回は、入力を単に反転するだけのインバーターを実装し、第5回では2つの入力が共に0のとき1を出力するNAND回路を実装する。トランジスタによるロジック回路の構成には、通常のトランジスタを用いたTTLロジックと、FETを用いるCMOSロジックの2種類が検討できる。
|
||||
|
||||
紙でやる理由
|
||||
配線の注意点として、銅箔テープの裏面は粘着剤のため導電性がない。そのため、テープ同士を接続する際は、接点の角を小さく折り返した上で重ね、可能な限りハンダづけもすることを推奨する。もしくは材料の価格は上がるが裏面に導電粘着剤を用いているテープを使用する。また銅箔テープへのハンダ付は、あらかじめユニバーサル基板と比べてハンダの濡れ性が悪いため、可能であればフラックスを必要な数用意することを推奨する。
|
||||
|
||||
[NAND回路をTTLとFETのものそれぞれ、実物の写真]
|
||||
|
||||
回路構成について、本授業では2024年度まではTTL、2025年度はCMOSで行った。TTLで行うと、トランジスタの個数が少なくて済む一方、ベース抵抗などの部品点数が増える。CMOSロジックの場合、部品点数自体は少なくなる一方で、手で半田付け可能なPMOSトランジスタの入手性が悪い問題がある。本授業では価格と入手性、半田付けのしやすさを考慮して、2SK4017(NMOS)、MTP4835(PMOS)の2種類を使用した。
|
||||
|
||||
### バイナリーカードゲーム
|
||||
|
||||
第4回では、浦川通によるバイナリーカードゲームを用いたWSを行う。バイナリーカードゲームは、トランプのような52枚のカードの中に、白か黒2種類のカード26枚ずつが入っているものである。参加者は、前半過去の参加者が提案したこのカードを用いるゲームを遊び、後半では自分たちでオリジナルのゲームを考案し発表する。
|
||||
|
||||
ここでの目的は、ゲームのルールを通じて2種類のカードの列を二進数(=白を0、黒を1)と見立てて、二進数の計算の仕組みについて理解を深めることにある。このワークショップがインバーターの作成と、加算回路の間に挟まれることによって、単純なブーリアン同士のルール設定がより大きな数の計算に発展可能なことを直感的に理解することを目指す。
|
||||
|
||||
また参加者は同時に、自分たちでゲームのルールを考える過程を通じて、ゲームの進行、勝敗、終了条件の設定の中で、のちのプログラミングにおける論理的思考を養うこともできる。
|
||||
|
||||
ゲームを考案する中でのヒントとして、既存のカードゲームのルールを2進数で置き換えてみるのが学生たちにとってはわかりやすかったようである。例えばインディアンポーカーやスピードといったゲームを二進数バージョンで考えてみるといったゲームが生まれた。
|
||||
|
||||
このバイナリーカードゲームは、それ自体が浦川がSFPCに参加していた時の授業で行われた、二進数を理解するために二進数を教える道具やキットを作ってみる、という授業の課題を発展させたものでもある。つまり、カードゲーム自体が本授業の最終課題における小課題を発展させる(=実際にフィジカルなカードゲーム型の道具を作る)という実例にもなっている。実際、最終課題の中にはこの回の内容を発展させた教育キットやすごろくのようなものを作った学生も存在する。
|
||||
|
||||
前半のまとめ
|
||||
|
||||
## 後半:実用的電子工作
|
||||
|
||||
### Arduinoの基礎
|
||||
|
||||
後半の初回では、芸術家・デザイナー向けのマイクロコントローラー環境Arduinoの入門を行う。本授業では、大学で用意したArduino、ブレッドボード、ACアダプタ、ジャンパワイヤセット、FET、LED、抵抗、タクトスイッチ、赤外線距離センサー、12cmファン等をまとめたオリジナルのキットを使用する(これは、以前のコードとデザインから使われていたものである)。
|
||||
|
||||
学生はこの回で初めてテキストベースのプログラミング環境に触れるので、改行やスペースの扱い、行末のセミコロン、全角と半角などプログラミングの基礎的な知識についても注意して教える必要がある。
|
||||
|
||||
教える内容としては例えば、赤外線反射式のアナログ距離センサーを用いて、アナログ入力をシリアルプロッタに出力する例から初め、それをFETのスイッチングを経由して、PWMでファンのスピード制御に変換する例までを2コマで学ぶ。
|
||||
|
||||
### 秋葉原遠足
|
||||
|
||||
Arduinoの基礎的な使い方を学んだ後、次の実習では秋葉原を探索し、電子部品屋を巡り実際に使えそうなセンサーやアクチュエータなどのパーツを購入してみる。
|
||||
|
||||
ここでは代表的な電子部品店を紹介し、学生は秋葉原まで移動後、小グループに分かれ自分たちで店を巡る(大人数で一度に押しかけて店の迷惑にならないように注意する)。
|
||||
|
||||
この授業では上野と秋葉原という地理的に近しい場所にあるにも関わらず、文化的にはあまり接点のない2つの街の歴史的経緯についても事前に解説する。明治時代から文化の中心地として開拓されてきた上野と、戦後ヤミ市の整理によって高架下に集まった電気・電子部品屋という異なる由来を理解することで、東京藝術大学という場所で電子工作を用いた作品制作を行う意味について思索を広げてもらう。
|
||||
|
||||
### 雑なマウスを作る
|
||||
|
||||
この実習では、ArduinoでHID(マウスやキーボード)をエミュレートし、簡易的なマウスやキーボードを実装するものである。
|
||||
|
||||
参加者は、Handmade Computerでも用いた画用紙と銅箔テープを材料に、簡易的なタッチセンサーを制作し、マウスを上下左右に動かすボタン/左右クリックボタン、あるいはキーボードの任意のキーにアサインする。
|
||||
|
||||
ここでの制作方法は、使っているArduinoの種類により2種類の方法に分かれる。
|
||||
|
||||
Arduino Leonardoか、Arduino Uno R4を使う場合、Arduino自体をUSBキーボードとして認識させられるエミュレート機能がHIDライブラリを用いることができる。この場合、銅箔テープのスイッチは、アナログ入力の各ピンを`INPUT_PULLUP`の設定にした上で、GNDとショートさせることでスイッチオンオフの判定を行う。
|
||||
|
||||
Arduino Uno R3以前のAVRベースのものを使用する場合、HIDエミュレート機能が無いため、別途pythonのPyAutoGuiライブラリを使用して制作した、シリアル通信をマウス・キーボード操作に変換するスクリプトを配布して、Arduinoからはシリアル信号を送ることで制御を行う。R3の方が構成が煩雑になるが、代わりにメリットも2つ存在する。1つ目は、ADCTouchというAVRマイコン依存の機能を使用することで、アナログ入力端子に挿した電線を静電式タッチセンサとして利用できるようになるライブラリが使用できることである。GND端子との接触を考えなくて良くなるので、より配線を簡易的に構成できる。2つ目は、Pythonでマウス操作を行うため、ウィンドウの特定の位置にマウスカーソルを移動させるような、絶対位置操作が行えることである。
|
||||
|
||||
本授業では2022年度はR3、2023年度以降はR4を用いたので以上の方法を使い分けた。
|
||||
|
||||
この実習での狙いは、普段自分たちが使っているコンピューターの入力のインターフェースもArduinoとスイッチなどこれまで作ってきたものの延長線で自作できることを実感し、インタフェースというコンピューターと身体を接続する界面が以下に制作物に影響を与えうるかについて理解することである。授業内では、1952のDATARで使用された最初のトラックボールや、ダグラス・エンゲルバートによる最初期のマウスなどインターフェースの歴史についても触れる。
|
||||
|
||||
自作マウスが完成した後は、そのマウスを使ってブラウザゲームをプレイしたり、Photoshopのような普段使用している制作ソフトを使用してお絵描きをするなどして、普段の操作環境との違いを身体で実感する。例えば上下左右キーをベースにしたマウスでは、原則45度単位での移動しかできないため、描けるグラフィックもそれに沿ったものになる。小課題として、これら制作したマウスで操作した結果(ゲームプレイ中の画面録画やPhotoshopで制作した画像など)を提出する。
|
||||
|
||||
### 簡易PONGゲームの制作
|
||||
|
||||
この実習では、ArduinoとProcessingを組み合わせて、簡易的なPongゲームを制作する。
|
||||
|
||||
この授業では、直接Arduinoのコードを書く代わりに、Firmataというシリアル通信仲介ライブラリを使用することで、Processing内に直接Arduinoの操作コードを記述する方法を学び、デスクトップアプリケーションとArduinoの組み合わせ方について学ぶ。また、PONGゲームという最小限のゲームの作り方を通じて、Processingで使われているJavaという言語とArduinoで用いられるC++の違いを知りつつ、両者に共通するオブジェクト指向プログラミングのコンセプトをある程度理解することも一つの目標である。
|
||||
|
||||
授業内では、Tennis for Two、MITのSpacewar!、Atari PONGなどの電子計算機を遊びに用いた実例を交えつつ、ビデオゲームという遊びのためのコンピューターへと発展していく歴史も紹介する。
|
||||
|
||||
Processingだけで一人用PONGゲームを制作した後、Arduinoを経由してバーの操作を可変抵抗にしたり、ゲーム開始/やり直しのボタンをタクトスイッチに変えて遊ぶことで、インターフェースの違いが生む体験の差を身体で実感する。
|
||||
|
||||
### 音声・モーターのプログラミング
|
||||
|
||||
第10回、11回目の授業の中では、学生から需要の高いトピックに応える目的で、Arduinoでの音声プログラミングやモーターの制御方法について教えている。この部分は、初回授業でアンケートを取るなどして毎年少しづつ内容を調整している。
|
||||
|
||||
音声プログラミングでは、音を電気信号として扱う基本的な概念の説明ののち、Arduino標準のtone関数を用いた音声出力について学び、Arduino向け音声合成ライブラリMozziを使った基本的な信号処理についても触れる。Mozziは使用しているArduinoのバージョンによって使用できるピンの番号や数が変化するため注意が必要となる。
|
||||
|
||||
モーター制御では、小型のファンをFETを用いPWMで速度制御する例を通じて基本的な制御方法を学ぶほか、小型サーボモーターSG90の操作を通じて、ArduinoのServoライブラリで任意の角度への回転を行う方法も学ぶ。例年ある程度重量のあるものを動かす需要が高いため、トルクの概念とモーターの選定方法を簡単に解説するほか、回転運動から直動への変換など機構設計の基礎についても軽く触れる。
|
||||
|
||||
### デジタルファブリケーション
|
||||
|
||||
この回は、センサーやアクチュエーターをデジタルファブリケーションの技術を用いて自作することで、入出力の造形的自由度を高めることを目的とする。
|
||||
|
||||
この授業の元となっているのは、MIT Media Labで[[Hannah Perner-Wilson]]が行なっていた[[Kit of No Parts]]というプロジェクトである。例えば、スピーカーは渦巻状の電極に磁石を近づけることで簡易的に形成することができるが、この電極は例えば導電糸で布に縫い付けたり、銅箔テープをカッティングプロッタで加工したり、エッチングや鋳造など、複数の方法で造形することができる。実際に授業内では、レーザーカッターで加工したアクリル部品と、カーボンベースの導電塗料、銅箔テープなどを組み合わせて簡易的な可変抵抗を制作する。限られた授業時間内の中ではあるが、レーザーカッターやカッティングプロッターなど、デジタルデータを用いて物理的な造形を行う装置の基本的な使い方についても習得できるのが望ましい。
|
||||
|
||||
|
||||
### 最終課題制作に向けた相談
|
||||
|
||||
最終課題制作に向けた相談を主とする回は、展示準備と講評の回を除いて2回設けてある。これらの回では、15分程度の区切りで教員と助手それぞれにオフィスアワーの時間を事前に予約できるようにしておき(予約が埋まっていなければ当日その場で相談も可)、それ以外の時間は自主的な制作時間にするのを基本とする。
|
||||
|
||||
電子工作を用いる制作には、部品調達の時間が必要となること、また大型の作品は教室で作業ができないこともあるため、事前に申請を行った上で授業終了時にその日の作業内容について報告することで、教室外での作業も許可するようにした。
|
||||
|
||||
また、電子工作については部品の選定後トライアンドエラーの結果新たな部品調達が必要となることもままあるため、1回目の課題制作相談の前に、プロジェクトシートの記入を事前課題として設けている。これは、作品概要、スケッチ、展示に必要な大きさ、必要な材料と部品リスト、制作スケジュールを記述したものである。
|
||||
|
||||
このプロジェクトシートは、制作進行のガイドとして使用するほか、教員が展示のレイアウトや機材の貸し出しなどのプランを練るのに使用する目的も兼ねており、また制作を進めるたびにその進捗も記入し、また最終課題発表後には展示の様子の写真や制作の感想なども記入し最終課題提出の証拠としての提出も課している。結果として、作品制作全体のドキュメントとして学生自身が後から見返す、また他の制作でも同様のプロジェクトマネジメントのテンプレートとして使用できることを想定している。
|
||||
|
||||
## 課題講評と評価基準
|
||||
|
||||
授業全体の評価基準として、事前にシラバスで共有される基準として、出席率を30%、小課題点を30%、最終課題点を40%として評価する。小課題の評価は基本的には提出の有無のみ(期限を過ぎての提出は70%)で評価する。
|
||||
|
||||
最終課題の評価は、前述の通り課題の
|
||||
|
||||
## 授業設計全体の反省点
|
||||
|
||||
前述した通り、本授業は筆者がSFPCで受けた授業内容を基に再構成したものである。その思想の源流を逆順に辿っていくと、SFPCが所在しているニューヨークで行われた、Experiments in Art and Technologyを代表とする1960年代のテクノロジーアートシーンがあり、E.A.Tに関わった多くの人(ロバート・ラウシェンバーグやジョン・ケージ)が関わった実践的なリベラルアーツの学校であるBlackMountain Collegeがあり、さらに上流にはBMCを主導したジョセフ/アニ・アルバース夫妻が参加していたバウハウスのような学校や、生活としての芸術や実学的教育を指向したアメリカの思想家ジョン・デューイなどに繋がる[@Taeyoon2016]。
|
||||
|
||||
本授業の設計にあたっても、参加者が単に技術的なチュートリアルに追随するのではなく、なぜテクノロジーを学ぶのか、どうやったら日常生活の中に、些細であったとしても、ありものを探してくるだけでなく、自分で道具を作ってみるところから始めるという発想をインストールできるかという点を重視して設計し、そうした目標に関してはある程度達成できたように思われる。
|
||||
|
||||
一方で、BMCやSFPCで行われていた教育の重要な点の一つは、参加者自体が自発的に学校の運営に携わる姿勢である。BMCでは農作業や家畜の世話などの生活レベルでの学校参加が行われていたし、SFPCに関しても基本的に1日ごとに1トピックを集中して扱い、じっくり課題に向き合う時間が取られていたほか、生徒同士で教え合うための時間や工夫が散りばめられていた。90分x2x15コマというフレームがあらかじめ定められている上に、必修の授業でもないという本授業の前提がある中で、こうした学びのフレームワーク自体の大局的な見直しに関しては十分に行えなかったのが現実である。
|
||||
|
||||
|
||||
|
||||
アドバンスド
|
||||
|
||||
リングオシレーター、13
|
||||
|
||||
|
||||
バイナリーカードゲーム
|
||||
|
||||
## 後半:Arduinoの実用
|
||||
|
||||
Arduinoの選定
|
||||
|
||||
Leronardoか、Arduino Uno R4
|
||||
|
||||
これらだとUSB HIDエミュレートができる
|
||||
|
||||
ただし、ADCTouchなど普通のライブラリで使えるものが使えなくなる
|
||||
9
content/サンキャッチャー.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
date: 2025-12-12 18:13
|
||||
---
|
||||
|
||||
いわゆる光を反射とかでキラキラさせる感じのやつ
|
||||
|
||||
アメリカではDream Catcherというネイティブアメリカンの宗教的装飾品と歴史的文脈を混同していて、文化盗用なんではという議論があるっぽい(とはいえ、サンキャッチャーそのものは全く別のコンテキストっぽい)
|
||||
|
||||
[Reddit - ソーシャルの新たな中心地](https://www.reddit.com/r/IndianCountry/comments/w0ly9v/cultural_appropriation_sun_catchers/?rdt=38066)
|
||||
6
content/デジタルリバーブ.md
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
[Sean Costello (Valhalla DSP) on reverb design, March 2019 - YouTube](https://www.youtube.com/watch?v=aJLhqfHrwsw)
|
||||
|
||||
[[Valhalla DSP]]の[[Sean Costello]]がリバーブの歴史を解説してる動画
|
||||
|
||||
[[Shroeder Reverb]]は当時にしてはいいリバーブだったけど、当時謳っていたような自然のリバーブと見分けがつかないというほどでもなかった(全然メタリックだった)
|
||||
10
content/ナラティヴの被害学 - 阿部幸大.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2026-01-16 16:25
|
||||
---
|
||||
#book
|
||||
|
||||
by [[阿部幸大]]
|
||||
|
||||
[[まったく新しいアカデミック・ライティングの教科書]]のある種実践編として書かれた書で、筆者がアメリカ留学中に執筆したレポート・論文を中心に、それらを独立した章として収録してある。
|
||||
|
||||
ただそれを説明した最初のこの本でいうナラティヴとは何か、被害額(victimology)とは何か、を説明した章だけでも読む価値はあった。各章冒頭に筆者自身による各章の書評がついているのだが、自分で自分の論文の論理構成をボロクソに批判してるので面白い。
|
||||
@@ -7,8 +7,33 @@ date: 2025-07-09 19:14
|
||||
|
||||
バージョンの依存性解決なども機能のうちに含む。
|
||||
|
||||
[[パッケージマネージャーはコミュニケーションツールである]]
|
||||
|
||||
[[パッケージマネージャーは音楽ストリーミングサービスになる]]
|
||||
|
||||
---
|
||||
|
||||
[[Suwa Takashi]]さんの記事がパッケージマネージャとは何かをよく解説してくれている
|
||||
|
||||
[パッケージマネージャを自作するときに考えること - gfnweb](https://gfngfn.github.io/ja/posts/2023-02-15-on-creating-package-managers/)
|
||||
|
||||
---
|
||||
|
||||
[[Andrew Nesbitt]]がたくさん解説している
|
||||
|
||||
[Package Management Blog Posts | Andrew Nesbitt](https://nesbitt.io/2026/01/09/package-management-blog-posts.html)
|
||||
|
||||
この中で面白かったもの
|
||||
|
||||
[Package Manager Design Tradeoffs | Andrew Nesbitt](https://nesbitt.io/2025/12/05/package-manager-tradeoffs.html)
|
||||
|
||||
[[Zooko Triangle]]
|
||||
|
||||
[[Go]]のパッケージ管理システムを作った[[Sam Boyer]]による記事
|
||||
|
||||
[So you want to write a package manager | by sam boyer | Medium](https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527)
|
||||
|
||||
[[開発者のためのハームリダクション]]
|
||||
|
||||
[[uv]]
|
||||
|
||||
|
||||
28
content/パッケージマネージャーはコミュニケーションツールである.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
date: 2026-01-12 08:48
|
||||
---
|
||||
#thoughts
|
||||
|
||||
[The Cutting Edge of Versioning (LambdaConf 2024) — Sympolymathesy, by Chris Krycho](https://v5.chriskrycho.com/elsewhere/cutting-edge-of-versioning/)
|
||||
|
||||
> **バージョン管理はコミュニケーションツールである**
|
||||
|
||||
> **バージョン管理は*社会技術的契約*である:**
|
||||
|
||||
パッケージマネージャが導入されることで初めてプログラミング言語はインターネットで繋がれたツールになる。
|
||||
|
||||
パッケージマネージャは自動で問題を解決してくれるわけではない。なぜなら問題を管理する人間が不完全だからである。
|
||||
|
||||
バージョン管理は通常[[Semantic Versioning]]で管理されるが、メジャーバージョンは互換性とは別にマーケティング的都合で動かされることもままある。作者がパッチバージョンとマイナーバージョンを間違えてタグづけることもある。Gitで操作した履歴とパッケージマニフェストのバージョン番号が不整合なこともある。
|
||||
|
||||
どっちかというとこれらの不整合の責任を分離するツールとも言えるかもしれない。
|
||||
|
||||
例えば[[Homebrew]]は技術的にはあまり良くできたパッケージマネージャではない。どれが依存パッケージかの区別がないので管理が面倒だし、ロックファイルもない(Pythonツールのresourcesのやり方は少しロックファイルっぽいが)。なので基本的にどのツールも複数バージョンの共有を許さないため、依存ツール間でバージョンの不整合が起きると死ぬことがある。だがなんだかんだ割とよく使われてて成立している。それがなぜかというと、Pull Requestベースのレビューでリポジトリが中央集権管理されていて、また管理がよく行き届いていてユーザーが多いから、というややトートロジー的な理由である。
|
||||
|
||||
不整合は起きるかもしれないが、起きたら起きたでユーザーからの報告がすぐ届いて、対応も早い。運用でうまいことツールの不出来さをカバーしている。そのぐらいの複雑度だから多くの人が運用に参加できているとも言える。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
42
content/パッケージマネージャーは音楽ストリーミングサービスになる.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
date: 2026-01-12 09:13
|
||||
---
|
||||
#thoughts
|
||||
|
||||
[[音楽プログラミング言語]]における[[パッケージマネージャー]]の設計を考えると、パッケージマネージャーとはSpotifyのような音楽ストリーミングサービスになりうるポテンシャルがあると思う。
|
||||
|
||||
一般的にパッケージマネージャは依存ライブラリのバージョン管理に使われるが、[[npx]]や[[Rust]]の[[cargo]]は何かツール(例えば[[wasm-pack]]とか[[clippy]]とかもそうだ)バイナリのインストールにも使える。では音楽プログラミング言語の実行バイナリとは何かと言われれば、音楽作品そのものである。音楽にはリミックスという文化もあるので、実行バイナリとして配布されているツールをさらに改変して新しい曲を作ることだって考えられる。
|
||||
|
||||
今ある音楽プログラミング言語でパッケージマネージャを持つものは多くはないが以下の通りである。
|
||||
|
||||
- [[Max]] : 確か7くらいから導入された。レジストリは中央集権、cycling74のレビューを通過したものが収録される。
|
||||
- [[PureData]]: [[deken]]というtcl/tkで書かれたマネージャが0.47あたりで導入。これのおかげで、ユーザーライブラリを多数収録して配布するのに管理が複雑になっていたPd-extendedは役目を終えた。パッケージは中央集権管理、レビューあり。
|
||||
- [[SuperCollider]]: [[Quarks]]という、SC言語自体で書かれたパッケージマネージャがある。レジストリはGitHub上で管理された中央集権インデックスと、個々のパッケージはGitHub上のそれぞれのアカウント下のリポジトリに置かれる。
|
||||
- [[ChucK]]: 最近[[ChuMP]]というパッケージマネージャが導入された。パッケージのマニフェストファイルもChucK言語で書ける(最終的にはJSONにエンコードされる)。パッケージ一覧はGitで中央集権管理。
|
||||
|
||||
基本、こうした音楽言語用のパッケージマネージャは「完成した作品配布」の目的で作られたものは今のところない。
|
||||
|
||||
既存のパッケージマネージャエコシステムを音楽配布のアナロジーで考えると、レジストリ:レコード会社、パッケージauthor:作曲者ということになる。
|
||||
例えばレーベルとかは既存のパッケージマネージャでは少し当てはめづらい概念かもしれない。なぜならレーベルはときにレコード会社を跨ぐこともあるし、複数のアーティストが複数のレーベルから作品を出版することもある。この辺はChatGPTに聞いたら、秘密鍵をローテーションで持ち回れるような仕組みを作って、署名付き出版履歴を作るのがレーベルに対応するのではないかということ。確かに?
|
||||
|
||||
アルバムとかは、実行バイナリを複数含んで指定の順番で再生するような仕組みがあれば実現できそうだ。だがこの場合コンピレーションアルバムのような複数authorが個別の作曲者である場合のデータベース管理とかはややこしくなる。それぞれのパッケージをキュレーションしてアルバムとして再配布するような仕組みもあってもいいかもしれない。
|
||||
|
||||
依存するパッケージのライセンス情報をトラックできるのもパッケージマネージャの旨みではあるが、ついでに考えるならメタデータとして演奏者の情報なども埋め込みたい。もし収益が発生したらそれを分配するための基盤としても使えるかもしれない。
|
||||
|
||||
有料でデータをやり取りするようなこともあり得るのだろうか?
|
||||
|
||||
音楽の場合は、他のパッケージマネージャよりもマルチレジストリな設計の方が腑に落ちるかも。レジストリ間でパッケージIDが被った場合は同じものとして扱うべきか?という問題は残る。レジストリ間での連動みたいなことは考えられるのか?
|
||||
|
||||
---
|
||||
|
||||
音楽プレイヤーのようにパッケージを再生する場合、そのUXはどのようなものが適切か。まず`mmmpm play <package-id>`のようなコマンド一発で曲が即時再生されて欲しい。裏側ではパッケージを`~/.mmmpm/cache/`みたいなところにダウンロードしてそれを実行するような形になる。PCMベースのストリーミングと違って、ファイルをチャンクに分けてDLすることができないのは難しいポイントだ(WAVのパーツを切り貼りするようなインタラクティブミュージックだと、普通のPCMよりデータ量は多くなるかもしれない)。
|
||||
|
||||
また、エンドレスな曲の場合再生停止をどうするという問題もある。
|
||||
|
||||
やはり専用のGUIアプリは必要になるかもしれない。というか、開発用のローカルなパッケージ管理に関するUIと曲の再生に関わるUIは結局分けないといけないのかもしれない。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2,3 +2,7 @@
|
||||
date: 2025-09-17 09:55
|
||||
---
|
||||
#stub
|
||||
|
||||
- [[YACC]]([[Bison]])
|
||||
- [[Tree-Sitter]]
|
||||
- [[Lady Deirdre]]
|
||||
|
||||