diff --git a/content/.obsidian/appearance.json b/content/.obsidian/appearance.json index 499d2d3f..7dd3fa15 100644 --- a/content/.obsidian/appearance.json +++ b/content/.obsidian/appearance.json @@ -1,5 +1,5 @@ { - "accentColor": "", + "accentColor": "#4492ab", "cssTheme": "", "translucency": true, "baseFontSize": 14, diff --git a/content/.obsidian/graph.json b/content/.obsidian/graph.json index 8d638273..d4bb91b5 100644 --- a/content/.obsidian/graph.json +++ b/content/.obsidian/graph.json @@ -60,6 +60,6 @@ "repelStrength": 15.1642583672965, "linkStrength": 0.975453871804372, "linkDistance": 42, - "scale": 0.2104538395895509, + "scale": 0.7199466900288624, "close": true } \ No newline at end of file diff --git a/content/CSound.md b/content/CSound.md new file mode 100644 index 00000000..94844729 --- /dev/null +++ b/content/CSound.md @@ -0,0 +1,4 @@ +--- +date: 2025-01-15 15:39 +--- +#computermusic #stub diff --git a/content/ChucK.md b/content/ChucK.md index 1b813a8f..14ce0780 100644 --- a/content/ChucK.md +++ b/content/ChucK.md @@ -13,5 +13,14 @@ C言語っぽいシンタックスでサンプル単位での正確なスケジ shredという論理時間ベースの計量スレッドみたいなものを言語内からスポーン、もしくはコマンドから立ち上げることができる。1つのファイルをスレッド単位で立ち上げたり殺したりをリアルタイムで切り替えることで、ライブコーディングを実現している(ただし更新のタイミングでディレイやリバーブのテールは切れる)。 -最近もカッパ +最近も活発に更新が進んでいて、モジュール機能などが導入された。 +もともとはオーディオビジュアル的なライブコーディング環境Audicleというのがあり、それを簡略化したminiAudicleというのがメインのIDEとして使われている。 + +最近は[[Emscripten]]でWeb経由でも動くようになってきた。 + +[WebChucK IDE](https://chuck.stanford.edu/ide/) + +また、Chugin(チャグイン)というC++で書かれたネイティブな拡張を読み込むこともでき、[[Faust]]や[[TouchDesigner]]、[[Unity]]のような他の環境との連携も多く実現しているほか、AI系などのプラグインも開発されている。 + +Chugenという独自[[Unit Generator|UGen]]をChucK言語上で定義するための機能もある([[CSound]]におけるUser-Defined OpCode)。 diff --git a/content/Clojure.md b/content/Clojure.md new file mode 100644 index 00000000..61843e7f --- /dev/null +++ b/content/Clojure.md @@ -0,0 +1,4 @@ +--- +date: 2025-01-15 15:55 +--- + diff --git a/content/Cmajor.md b/content/Cmajor.md index 55fc4fda..5cba267e 100644 --- a/content/Cmajor.md +++ b/content/Cmajor.md @@ -5,6 +5,8 @@ date: 2025-01-07 15:40 [Home | Cmajor Documentation](https://cmajor.dev/) -もともと[[JUCE]]を開発していた[[Julian Storer]]が主に開発している低レイヤー信号処理言語。LLVM使って様々なターゲットにエクスポートできる。 +もともと[[JUCE]]を開発していた[[Julian Storer]]が主に開発している低レイヤー信号処理言語。実質的な[[Soul]]言語の後継。 + +LLVM使って様々なターゲットにエクスポートできる。 diff --git a/content/Faust.md b/content/Faust.md index fce50122..f6dc6cbb 100644 --- a/content/Faust.md +++ b/content/Faust.md @@ -3,4 +3,16 @@ date: "2023-08-22T23:39:29+0900" --- #software #programming-language #sound -https://faust.grame.fr \ No newline at end of file +https://faust.grame.fr + +ブロックダイアグラム代数(Block-Diagram-Algebra:BDA)という独自の体系を基礎に置く信号処理記述に特化した言語。 + +パターンマッチングによる項書きかえマクロを使うことでかなり複雑な信号処理を表現できる。 + +文法が独特なのでかなり学習が難しい。 + +昔作った入門記事とスライド(結構情報が古いかも) + +[音声処理プログラミング言語、Faustの紹介 - Matsuura Tomoya|松浦知也](https://matsuuratomoya.com/blog/2016-12-01/faust_introduction/) + +[faust\_jp チュートリアル](https://tomoyanonymous.github.io/faust_jp_tutorial/index.html#/) diff --git a/content/LISP.md b/content/LISP.md index c4ba10c5..5431d262 100644 --- a/content/LISP.md +++ b/content/LISP.md @@ -1,4 +1,14 @@ --- date: 2025-01-15 15:26 --- +#programming-language +1960年代にジョン・マッカーシーによって作られたプログラミング言語とその派生。LISt Processorの略で、名前のとおりリストデータ構造を中心にプログラムを行う。 + +代表的な処理系 + +- [[Common Lisp]] +- [[Scheme]] +- [[Clojure]] + +音楽系だと[[Common Lisp Music]](CLM)や、[[Opusmodus]]、[[Extempore]]や[[Overtone]]な度がある diff --git a/content/Language Server Protocol.md b/content/Language Server Protocol.md index 624a9418..1a687066 100644 --- a/content/Language Server Protocol.md +++ b/content/Language Server Protocol.md @@ -5,7 +5,7 @@ date: "2023-12-06T01:46:41+0900" [[Erg]]言語作者のShibaさんが実装しているのがめちゃめちゃ詳しい -https://zenn.dev/mtshiba/books/language_server_protocol +[Language Server Protocol の仕様 及び実装方法](https://zenn.dev/mtshiba/books/language_server_protocol) [[Erg]]自体のコンパイラとLanguage Serverが[[Rust]]で実装されているので参考になる diff --git a/content/Lua.md b/content/Lua.md index f3ea16da..e685f4b0 100644 --- a/content/Lua.md +++ b/content/Lua.md @@ -23,8 +23,6 @@ Cからアクセスするには`luaState*`を受け取って`int`を返す関数 数値型は基本的に64bit floatのみ(埋め込む時はコンパイル時にマクロで切り替えることができる)。内部的にはIntとかboolの区別はあって、いい感じにキャストできるようになっている。 - - ## リファレンス [Lua 5.4 Reference Manual](https://www.lua.org/manual/5.4/) diff --git a/content/MUS10.md b/content/MUS10.md index bc1bde0d..ba252350 100644 --- a/content/MUS10.md +++ b/content/MUS10.md @@ -2,7 +2,7 @@ [\\doc\\mus\\mus10\\lcs | Stanford Digital Repository](https://purl.stanford.edu/yd668xf8379) -[[IRCAM]]と[[CCRMA]]で使われた[[MUSIC IV]]の派生の一つ。後継として[[MUSCMP]]がある。 +[[IRCAM]]と[[CCRMA]]で使われた[[MUSIC N#MUSIC IV|MUSIC IV]]の派生の一つ。後継として[[MUSCMP]]がある。 [[MUSIGOL]]に近い、[[ALGOL]]のサブセット+信号処理機能のような独自言語を定義しているため、他のMUSIC-N系列とはやや異なる体系をもっているっぽい @@ -16,7 +16,7 @@ UGenをコントロールレートで遅い読み出しするのもできるら Music10は1966年らしいので別物かも(「Inside Computer Music」, p26) MUS10も1966年らしいが・・・?(「Computer Music Tutorial」日本語版p650) - - ここではChowning、D.Poole、L. Smithの3任の名前になってる + - ここではChowning、D.Poole、L. Smithの3人の名前になってる [[120 Years of Electronic Music]]見ると、うーん・・・? diff --git a/content/MUSIC N.md b/content/MUSIC N.md new file mode 100644 index 00000000..18799db1 --- /dev/null +++ b/content/MUSIC N.md @@ -0,0 +1,22 @@ +--- +date: 2025-01-15 16:33 +--- +#computermusic + +[[Max Mathews]]が中心に開発した、初期の音楽プログラミング環境。 + +## MUSIC I + +三角波にエンベロープを掛ける程度の処理。 + +## MUSIC II + +4ポリぐらいが表現できた。 + +## MUSIC III + +[[Unit Generator]]が初めて導入され、テキストフォーマットで記述したものをコンパイルして音を出す、というフローが明確になった。 + +## MUSIC IV + + diff --git a/content/Overtone.md b/content/Overtone.md new file mode 100644 index 00000000..4e67c83b --- /dev/null +++ b/content/Overtone.md @@ -0,0 +1,13 @@ +--- +date: 2025-01-15 15:51 +--- +#programming-language #computermusic #livecoding + + +[Overtone - Collaborative Programmable Music](https://overtone.github.io/) + +[[Sonic Pi]]を作った[[Sam Aaron]]が開発。[[Clojure]]で実装されてる[[SuperCollider]]クライアントな言語の1つ。 + +[Programming Music with Overtone - Sam Aaron - YouTube](https://www.youtube.com/watch?v=imoWGsipe4k) + +["Functional Composition" by Chris Ford (2013) - YouTube](https://www.youtube.com/watch?v=i-ZUN4rmbKI) \ No newline at end of file diff --git a/content/Sam Aaron.md b/content/Sam Aaron.md new file mode 100644 index 00000000..d785fe58 --- /dev/null +++ b/content/Sam Aaron.md @@ -0,0 +1,4 @@ +--- +date: 2025-01-15 15:53 +--- +#person #stub diff --git a/content/Soul.md b/content/Soul.md index 18cf9f24..d660bf58 100644 --- a/content/Soul.md +++ b/content/Soul.md @@ -4,3 +4,5 @@ date: 2025-01-07 15:40 #programming-language → [[Cmajor]] + +[[ROLI]]によって開発されていた音楽プログラミング言語。ROLIの倒産に伴ない実質的にCmajorプロジェクトに引き継がれる。 diff --git a/content/Unit Generator.md b/content/Unit Generator.md index d5ec447e..565dd917 100644 --- a/content/Unit Generator.md +++ b/content/Unit Generator.md @@ -1,4 +1,4 @@ --- date: 2025-01-12 11:11 --- - +#computermusic #stub diff --git a/content/WebAssembly.md b/content/WebAssembly.md index c734619a..2d4a9503 100644 --- a/content/WebAssembly.md +++ b/content/WebAssembly.md @@ -1,4 +1,5 @@ --- date: 2025-01-08 01:20 --- +#stub diff --git a/content/index.md b/content/index.md index 05914396..3dec366d 100644 --- a/content/index.md +++ b/content/index.md @@ -13,12 +13,12 @@ https://matsuuratomoya.com - [[この研究ノートについて]] - [[音楽プログラミング言語]] -- [[プログラミング言語理論一般]] + - [[mimium]] +- [[プログラミングの良いチュートリアル]] - [[電子管楽器]] - [[DIY半導体]] - [[オルタナティブ電子基板]] - [[自宅サーバー]] -- [[秋葉原と上野の歴史]] - [[読書メモ]] - [[映画・アニメ・ドラマ・ゲームの感想]] - [[論文の管理]] diff --git a/content/mimium.md b/content/mimium.md index 5b6afcbb..508e3ad3 100644 --- a/content/mimium.md +++ b/content/mimium.md @@ -3,23 +3,35 @@ title: mimium tags: - research - programming-language -date: "2023-08-28T22:32:09+0900" + - "#computermusic" + - "#mimium" +date: 2023-08-28T22:32:09+0900 --- - +[[松浦知也]]が開発している[[音楽プログラミング言語]]。 https://mimium.org -https://github.com/mimium-org/mimium +https://github.com/mimium-org/mimium-rs -(最近あんまり更新できてない) -これまでの課題として、 +--- -「ある係数を入れてフィルターを生成する」みたいな、プログラムを生成する部分評価の仕組みが無いのが結構辛かった +## 開発メモ -マクロを導入するよりは、多段階計算の方が合いそうという雰囲気 +### 中間表現について -[[mimium新内部表現の構想]] +- [[mimium新内部表現の構想]] +- [[mimiumの中間表現を考える]] +- [[mimiumのMIRコンパイル過程を真面目に考える]] +- [[lambda-mmm(実用版)]] +- [[mimiumグローバル環境評価について]] +- [[多段階計算を命令型VMインストラクションで表現したい]] -[[mimiumグローバル環境評価について]] +### ランタイム周りについて + +- [[mimiumの配列のGC]] +- [[mimiumのファイルIO]] +- [[mimiumのプラグインシステム]] +- [[mimiumでMIDIインプットを実装]] +- [[WASIでmimiumをビルド&デバッグしてみる]] diff --git a/content/templates/_default.md b/content/templates/_default.md index b0636a5b..fde53749 100644 --- a/content/templates/_default.md +++ b/content/templates/_default.md @@ -1,4 +1,4 @@ --- date: <% tp.file.creation_date() %> --- - +#stub diff --git a/content/お母さんは忙しくなるばかり --開放竈から電子レンジに至る家事テクノロジーのアイロニー.md b/content/お母さんは忙しくなるばかり --開放竈から電子レンジに至る家事テクノロジーのアイロニー.md new file mode 100644 index 00000000..eac13f88 --- /dev/null +++ b/content/お母さんは忙しくなるばかり --開放竈から電子レンジに至る家事テクノロジーのアイロニー.md @@ -0,0 +1,4 @@ +--- +date: 2025-01-15 16:10 +--- +#stub #book diff --git a/content/プログラミング言語理論一般.md b/content/プログラミングの良いチュートリアル.md similarity index 73% rename from content/プログラミング言語理論一般.md rename to content/プログラミングの良いチュートリアル.md index 6e10302e..002402ae 100644 --- a/content/プログラミング言語理論一般.md +++ b/content/プログラミングの良いチュートリアル.md @@ -5,13 +5,14 @@ date: "2023-11-16T13:18:49+0900" [[Node.jsで約100行で書くLISP風ラムダ計算]] - [[計算機プログラムの構造と解釈]] [[Language Server Protocol]] [Write a JavaScript Parser in Rust](https://oxc-project.github.io/javascript-parser-in-rust/ja/docs/intro/) +[Crafting Interpreters](https://craftinginterpreters.com/) + [Build a Lua Interpreter in Rust](https://wubingzheng.github.io/build-lua-in-rust/en/) [低レイヤを知りたい人のためのCコンパイラ作成入門](https://www.sigbus.info/compilerbook#) @@ -19,3 +20,9 @@ date: "2023-11-16T13:18:49+0900" [Lisp in 99 lines of C and how to write one yourself](https://github.com/Robert-van-Engelen/tinylisp) [Make A Lisp](https://github.com/kanaka/mal) + +[OS in 1,000 Lines](https://operating-system-in-1000-lines.vercel.app/) + +[Writing an OS in 1,000 Lines を Rust でやってみた](https://zenn.dev/utouto97/articles/c87fb8936fdbad) + + diff --git a/content/ベティ・クロッカー.md b/content/ベティ・クロッカー.md index 2518435d..8e38f173 100644 --- a/content/ベティ・クロッカー.md +++ b/content/ベティ・クロッカー.md @@ -5,10 +5,10 @@ date: 2025-01-15 13:17 製粉メーカーのウォッシュバーン・クロスビー(のちのゼネラル・ミルズ)の広告塔として、第二次大戦前後にアメリカでラジオ・TV・書籍を通じて登場した架空の人物。 - - [Betty Crocker - Wikipedia](https://en.wikipedia.org/wiki/Betty_Crocker) [世界の奇書をゆっくり解説 第20回 「ベティ・クロッカーのお料理ブック」 - YouTube](https://www.youtube.com/watch?v=UYaiKIpSwLw) -[ベティ・クロッカーの表象とアメリカ社会の変遷-久野愛](https://repository.dl.itc.u-tokyo.ac.jp/record/37174/files/pas9_128-140.pdf) \ No newline at end of file +[ベティ・クロッカーの表象とアメリカ社会の変遷-久野愛](https://repository.dl.itc.u-tokyo.ac.jp/record/37174/files/pas9_128-140.pdf) + +[[お母さんは忙しくなるばかり --開放竈から電子レンジに至る家事テクノロジーのアイロニー]]にも言及があるっぽい \ No newline at end of file diff --git a/content/授業に関わるメモ.md b/content/授業に関わるメモ.md index 628006bb..51a0e9e4 100644 --- a/content/授業に関わるメモ.md +++ b/content/授業に関わるメモ.md @@ -1,6 +1,8 @@ --- date: "2023-11-07T15:34:11+0900" --- +[[秋葉原と上野の歴史]] + [[メディアアート・プログラミング2 リーディングリスト]] [[Bytebeat]] diff --git a/content/逆ポーランド記法.md b/content/逆ポーランド記法.md new file mode 100644 index 00000000..03345287 --- /dev/null +++ b/content/逆ポーランド記法.md @@ -0,0 +1,4 @@ +--- +date: 2025-01-15 16:31 +--- +#stub diff --git a/content/遅延評価.md b/content/遅延評価.md index d5ec447e..e9e72287 100644 --- a/content/遅延評価.md +++ b/content/遅延評価.md @@ -2,3 +2,5 @@ date: 2025-01-12 11:11 --- +#stub +