Slide 1

Slide 1 text

minimal musical medium / a programming language as an Infrastructure for sound & music. ԻָϓϩάϥϛϯάݴޠlNJNJVNzͷ։ൃ ۝भେֶେֶӃܳज़޻ֶ෎দӜ஌໵ ະ౿*5ਓࡐൃ۷ɾҭ੒ࣄۀ੒Ռใࠂձ

Slide 2

Slide 2 text

ԻָՈͷͨΊͷ Ի/ԻָΛ؆ܿʹهड़Ͱ͖ ߴ͍࣮ߦੑೳΛ࣋ͪ ଟ༷ͳϓϥοτϑΥʔϜͰಈ࡞͢Δ ϓϩάϥϛϯάݴޠΛ࡞Γ·ͨ͠ɻ

Slide 3

Slide 3 text

দӜ ஌໵ (۝भେֶ େֶӃܳज़޻ֶ෎) Photo by Takehiro Goto

Slide 4

Slide 4 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ Իָϓϩάϥϛϯάݴޠ -BOHVBHFTGPS$PNQVUFS.VTJD 3PHFS#%BOOFOCFSH 'SPOUJFSTJO%JHJUBM)VNBOJUJFT /PW Ճච͸দӜ Overtone Sam Aaron (2011?) Sonic PI Sam Aaron (2012) TidalCycles Alex Mclean (2006~) Chronic Eli Blandt (2002) Kronos Versa Norilo (2015) LC Hiroki Nishino (2013) ixi lang Thor Magnusson (2012) Gibber Charlie Roberts (2014) FoxDot Jean-François Parent (2015) Extempore Andrew Sorensen (2012) impromptu Andrew Sorensen (2010) Common Lisp Music Bill Schottstaedt (1989) SuperCollider- Clients SOUL ROLI (2018)

Slide 5

Slide 5 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ Իָϓϩάϥϛϯάݴޠͷ໨త w ָේσʔλΛίϯϐϡʔλ্Ͱޮ཰Α͘؅ཧ ϚʔΫΞοϓ w ΞϧΰϦζϛοΫ࡞ۂ w Ի৭ͷૢ࡞ͦͷ΋ͷΛ࡞ۂͷཁૉʹ͢Δ w ݴޠࣗମ͕ಛఆͷදݱʹಛԽ w ϥΠϒύϑΥʔϚϯεͷΠϯλʔϑΣʔεͱͯ͠ ͍Ζ͍Ζ͋Δ͚Ͳɾɾɾ ྫϦζϜύλʔϯهड़ʹಛԽͨ͠5ZEBM$ZDMFT ˠԻָͷ৽͍͠ந৅Խͱڞ༗ͷํ๏ΛੜΈग़͢

Slide 6

Slide 6 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ͱ΋͔͘ɹɹɹɹΛ͢Δ σϞ

Slide 7

Slide 7 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ৴߸ॲཧ σϞ

Slide 8

Slide 8 text

ETQؔ਺Λ࡞ΔͱԻ͕ग़ͤΔ SBOEPN Ͱdͷཚ਺͕ग़Δ

Slide 9

Slide 9 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ d·Ͱ্͕ͬͯ໭ΔΛ܁Γฦ͢ϊίΪϦ೾

Slide 10

Slide 10 text

ؔ਺಺ͰTFMGͱ͍͏ม਺Λ࢖͏ͱɺ ͦͷؔ਺͕࠷ޙʹग़ྗͨ͠਺ΛऔಘͰ͖Δ

Slide 11

Slide 11 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ TFMGʹΑΔϑΟʔυόοΫͷදݱ phasor(freq) = +(freq/48000) ~ %(1); • selfのメモリ確保や読み書きはコンパイラが⾃動でやってくれる fn phasor(freq:float){ return (self+freq/48000)%1 } NJNJVN 'BVTU “フィードバック接続演算⼦”(何やってるのか読みにくい) その関数が最後に出⼒した値を呼び出せる予約語

Slide 12

Slide 12 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ΄ͱΜͲͷ৴߸ॲཧ͸σΟϨΠ ஗Ԇ ͱग़ྗͷ ϑΟʔυόοΫ͕͋Ε͹಺෦ঢ়ଶΛදݱͰ͖Δ TFMGʹΑΔϑΟʔυόοΫͷදݱ ˠݴޠϨϕϧͰαϙʔτ͢Δͱ͍ΖΜͳදݱ͕ ؔ਺ͷύΠϓͱͯ͠ॻ͚Δ

Slide 13

Slide 13 text

MPBEXBW ͰΦʔσΟΦϑΝΠϧͷಡΈࠐΈ ഑ྻΞΫηεͷࣗಈઢܗิ׬

Slide 14

Slide 14 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ "%43ʢԻྔมԽͷΧʔϒʣΛ࡞Δ "UUBDL %FDBZ 3FMFBTF 4VTUBJO ͜ͷΦϒδΣΫτ͸$Ͱॻ͔Ε͍ͯΔ ϒϥοΫϘοΫε .BY

Slide 15

Slide 15 text

"UUBDL %FDBZ 3FMFBTF 4VTUBJO ͜ͷΦϒδΣΫτ͸$Ͱॻ͔Ε͍ͯΔ ͦΕɺϑϧεΫϥονͰॻ͚·͢Αʂ

Slide 16

Slide 16 text

͜ͷΦϒδΣΫτ͸$Ͱॻ͔Ε͍ͯΔ 2εΫϥονͰॻ͍ͯύϑΥʔϚϯε͸མͪͳ͍ͷʁ "--7. ˠ Λ࢖ͬͯωΠςΟϒίʔυʹ௚઀ίϯύΠϧ ͍ͯ͠ΔͷͰ΄΅$௚ॻ͖ͱಉ͡଎౓

Slide 17

Slide 17 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ੍ޚॲཧ σϞ

Slide 18

Slide 18 text

ؔ਺Λ!Ͱ࣌ؒࢦఆ࣮ͯ͠ߦ OPXͰݱࡏ࣌ؒͷऔಘ ࣌ؒΛލ͍ͩ࠶ؼ UFNQPSBMSFDVSTJPO

Slide 19

Slide 19 text

JGͱSBOEPN Ͱ࣌ؒࢦఆΛϥϯμϚΠζ

Slide 20

Slide 20 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ؔ਺ͷ࣌ؒࢦఆ࣮ߦ NJNJVN &YUFNQPSF (define foo (lambda () (play-note (now) synth 60 80 *second*) (callback (+ (now) *second*) 'foo))) (foo) fn foo(pitch){ noteOut(pitch,80, 1) foo(pitch)@(now+20000) } foo(pitch)@0

Slide 21

Slide 21 text

NJEJϊʔτ൪߸ υϨϛ ͔Βप೾਺ʹม׵

Slide 22

Slide 22 text

͍Ζ͍Ζ΍ͬͯΈͨ ܭߦ

Slide 23

Slide 23 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ػೳൺֱ .BY 4VQFS$PMMJEFS &YUFNQPSF 'BVTU $IVD, NJNJVN ৴߸ ଎͍ ॲཧ ˓ .BY ˓ IPHFBS ˓ YUMBOH ˓ ˓ ˓ ϑϧεΫϥον ৴߸ॲཧ ˚ (FO º ˓ ˓ ˚ ֦ு ˓ ੍ޚ ஗͍ ॲཧ ˓ .41 ˓ IPHFLS ˓ 4DIFNF º ˓ ˓

Slide 24

Slide 24 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ϥϯλΠϜ ϞδϡϥʔΞʔΩςΫνϟ ιʔείʔυ ந৅ߏจ໦ தؒදݱ LLVM IR ΦʔσΟΦυϥΠό 3U"VEJP λεΫϦετ [{100ɿ&fn1},
 {200:&fn2}…] --7.࣮ߦΤϯδϯ ίϯύΠϥ λεΫΩϡʔ [{100:&fn1},
 {200:&fn2}…] εέδϡʔϥʔ UJDL5JNF ETQ BEE5BTL FYFDVUF5BTL

Slide 25

Slide 25 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ϥϯλΠϜ ιʔείʔυ ந৅ߏจ໦ தؒදݱ LLVM IR ΦʔσΟΦυϥΠό 3U"VEJP λεΫϦετ [{100ɿ&fn1},
 {200:&fn2}…] --7.࣮ߦΤϯδϯ ίϯύΠϥ εέδϡʔϥʔ UJDL5JNF ETQ BEE5BTL FYFDVUF5BTL NZETQMM ෼཭ͯ͠ӡ༻ ϞδϡϥʔΞʔΩςΫνϟ λεΫΩϡʔ [{100:&fn1},
 {200:&fn2}…]

Slide 26

Slide 26 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ϥϯλΠϜ ιʔείʔυ ந৅ߏจ໦ தؒදݱ LLVM IR ΦʔσΟΦυϥΠό 3U"VEJP λεΫϦετ [{100ɿ&fn1},
 {200:&fn2}…] ίϯύΠϥ εέδϡʔϥʔ UJDL5JNF ETQ BEE5BTL FYFDVUF5BTL ωΠςΟϒόΠφϦ ωΠςΟϒόΠφϦ --7.ඇґଘʢ௒ܰྔʣ ϞδϡϥʔΞʔΩςΫνϟ λεΫΩϡʔ [{100:&fn1},
 {200:&fn2}…] 'VUVSF8PSL

Slide 27

Slide 27 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ϥϯλΠϜ ιʔείʔυ ந৅ߏจ໦ தؒදݱ LLVM IR ΦʔσΟΦυϥΠό -JC4OE'JMF λεΫϦετ [{100ɿ&fn1},
 {200:&fn2}…] --7.࣮ߦΤϯδϯ ίϯύΠϥ εέδϡʔϥʔ UJDL5JNF ETQ BEE5BTL FYFDVUF5BTL ϑΝΠϧੜ੒ಛԽ ϞδϡϥʔΞʔΩςΫνϟ λεΫΩϡʔ [{100:&fn1},
 {200:&fn2}…] 'VUVSF8PSL

Slide 28

Slide 28 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ΦʔσΟΦυϥΠό -JC4OE'JMF ϥϯλΠϜ ιʔείʔυ ந৅ߏจ໦ தؒදݱ LLVM IR λεΫϦετ [{100ɿ&fn1},
 {200:&fn2}…] ίϯύΠϥ εέδϡʔϥʔ UJDL5JNF ETQ BEE5BTL FYFDVUF5BTL 745ϓϥάΠϯ ωΠςΟϒόΠφϦ ωΠςΟϒόΠφϦ ϞδϡϥʔΞʔΩςΫνϟ λεΫΩϡʔ [{100:&fn1},
 {200:&fn2}…] 'VUVSF8PSL

Slide 29

Slide 29 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ϥϯλΠϜ ιʔείʔυ ந৅ߏจ໦ தؒදݱ LLVM IR λεΫϦετ [{100ɿ&fn1},
 {200:&fn2}…] --7.࣮ߦΤϯδϯ ίϯύΠϥ εέδϡʔϥʔ UJDL5JNF ETQ BEE5BTL FYFDVUF5BTL 745ϓϥάΠϯ ϞδϡϥʔΞʔΩςΫνϟ λεΫΩϡʔ [{100:&fn1},
 {200:&fn2}…] 'VUVSF8PSL

Slide 30

Slide 30 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ w ָේϨϕϧͷॲཧͱ৴߸ॲཧ͕ҰͭͷݴޠͰॻ͘͜ͱ͕Ͱ͖Δ w ৴߸ॲཧ͕$΍$Ͱॻ͔Εͯͳ͍㲈ϒϥοΫϘοΫε͕গͳ͍ w ίϯύΠϥͱϥϯλΠϜͷॊೈͳӡ༻ NJNJVNͷಛ௃·ͱΊ ˢɾɾɾ͜ͷ͕࣮ͭݱͰ͖ΔͱԿ͕͍͍ͷʁ

Slide 31

Slide 31 text

minimal musical medium / a programming language as an Infrastructure for sound & music. Πϯϑϥͱͯ͠ͷԻָϓϩάϥϛϯάݴޠ

Slide 32

Slide 32 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ NJNJVNͷ࠷ऴ໨ඪ w ೥ޙʹ͸ɺ ͕౰ͨΓલʹͳͬͯཉ͍͠ Իָʹίʔυ $ P E F

Slide 33

Slide 33 text

Ի੠ϑΝΠϧͱ͸ɺɹɹɹɹɹͰ͋Δ ΋͘͠͸ ԻָϓϨʔϠʔͱ͸ɺ഑ྻಡΈࠐΈػೳ͔࣋ͬͯ͠ͳ͍ΠϯλϓϦλ Ωϟογϡ

Slide 34

Slide 34 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ 4DSFFOTIPUGSPNHFOFSBUJWFNVTJDDPN ೥୅ʹ౰ͨΓલʹͳͬͯཉ͍͠Իָ

Slide 35

Slide 35 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ GSPNʮθϧμͷ఻આ#PU8ʯɺϋΠϥϧͷ࣮ࡏײΛߴΊΔͨΊͷα΢ϯυσβΠϯz *(/+BQBO Ӿཡ IUUQTKQJHODPNUIFMFHFOEPG[FMEBIEOFXTCPUX ࣮͸΋͏౰ͨΓલʹͳͬͯΔ͔΋ʁ

Slide 36

Slide 36 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ Իָ͕ϓϩάϥϜͱͯ͠ྲྀ௨͢Δະདྷ w ԻָϓϨʔϠʔͱ͍͏഑ྻΛಡΈࠐΉػೳ͔͠ͳ͍ΠϯλϓϦλͰ͸ ໾ෆ଍ w ΞϓϦͱ͔ͰϓϥοτϑΥʔϜʹґଘ͢Δͷ΋໪ମͳ͍ w ιʔείʔυʢָේʣΛૹΕ͹ྑ͍ͷͰ͸ʁ

Slide 37

Slide 37 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ Իָ͕ιʔείʔυͱͯ͠ྲྀ௨͢Δະདྷ w Իָͷʮ׬੒ʯ͸ফ໓͢Δ w ഑෍͞ΕͨԻָͷ࠶ฤूɿϦϛοΫεͱO࣍૑࡞ w ίʔυͷ࣮ߦ͸ԋ૗Ͱ΋͋Δɿl࡞Γखzͱlฉ͖खzͷڥքΛᐆດʹ͢Δ

Slide 38

Slide 38 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ 7FSTJPO3FMFBTF https://github.com/mimium-org/mimium • 対応OS:macOS(数ヶ⽉以内にWin,Linux対応予定) • ライセンス:Mozilla Public License 2.0 • VSCode⽤シンタックスハイライトもあります • コントリビューター、スポンサー募集中!

Slide 39

Slide 39 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ༧ఆ ഑ྻߏ଄ମ Ϟδϡʔϧػೳ Ϋϩε ϓϥοτϑΥʔϜ WϦϦʔε -BOHVBHF4FSWFS *%& ࣮૷ ύοέʔδϚωʔδϟ։ൃ ૒ํ޲ϓϩάϥϛϯά ϏδϡΞϧΤσΟλʔ ϚϧνεϨοσΟϯά ίʔυ Իָ ڞ༗αʔϏε ඪ४ϥΠϒϥϦ੔උ

Slide 40

Slide 40 text

ԻָՈͷͨΊͷ Ի/ԻָΛ؆ܿʹهड़Ͱ͖ ߴ͍࣮ߦੑೳΛ࣋ͪ ଟ༷ͳϓϥοτϑΥʔϜͰಈ࡞͢Δ ϓϩάϥϛϯάݴޠΛ࡞Γ·ͨ͠ɻ

Slide 41

Slide 41 text

minimal musical medium / a programming language as an Infrastructure for sound & music. ԻָϓϩάϥϛϯάݴޠlNJNJVNzͷ։ൃ ۝भେֶେֶӃܳज़޻ֶ෎দӜ஌໵ɹɹNF!NBUTVVSBUPNPZBDPN ະ౿*5ਓࡐൃ۷ɾҭ੒ࣄۀ੒Ռใࠂձ

Slide 42

Slide 42 text

·ͱΊ ໨ࢦ͢ະདྷ ػೳ·ͱΊ σϞػೳղઆ എܠ ݴޠ࢓༷ w ύϥμΠϜɿखଓ͖ܕʴ'31 w ੩తܕ෇͚ɺ)JOEMFZ.JMOFS୯૬ܕਪ࿦ όάͬͯΔ w ։ൃݴޠɿ$ w ґଘϥΠϒϥϦ#JTPO 'MFY --7.