6 lines
7.1 KiB
JavaScript
6 lines
7.1 KiB
JavaScript
import{s as U,e as E,n as O}from"./scheduler.aZRR5A_O.js";import{S as X,i as Y,g as u,s as o,h as n,c as m,x as b,j as Z,f as t,k as c,l as r,a as s}from"./index.kYoizZ4A.js";function $(K){let l,A,x,w,q,d,F="Présentation",S,f,G=`Iain Duncan est l’auteur de deux utilitaires, <a href="https://github.com/iainctduncan/scheme-for-max" rel="nofollow">Scheme for Max</a> et <a href="https://github.com/iainctduncan/scheme-for-pd" rel="nofollow">Scheme for Pure
|
||
Data</a>. Ces deux outils font
|
||
sensiblement la même chose, à différents niveaux d’avancement. Ils intègrent un
|
||
interpréteur pour le langage <a href="https://ccrma.stanford.edu/software/snd/snd/s7.html" rel="nofollow">S7 Scheme</a> (publié par Bill Schottstaedt au <a href="https://ccrma.stanford.edu/" rel="nofollow">CCRMA</a>) et permettent de contrôler plus ou moins finement Max ou Pure Data directement depuis LISP. Vous pouvez programmer vos propres séquenceurs, manipuler des données, générer des tableaux et des <em>buffers</em> etc. S7 est un dialecte de Scheme/LISP qui a été conçu pour être facilement intégré dans différentes applications. C’est un langage léger et facile à porter un peu partout. Il a initialement été développé par un musicien pour des musiciens. Il existe une longue tradition dans les milieux créatifs qui consiste à présenter les langages de la famille LISP comme particulièrement adaptés au travail en musique. Il suffit de regarder des outils comme <a href="https://opusmodus.com/forums/live-coding-instrument/" rel="nofollow">OpusModus</a>, <a href="https://extemporelang.github.io/" rel="nofollow">ExTempore</a>, <a href="https://github.com/overtone/overtone" rel="nofollow">Overtone</a>, <a href="https://incudine.sourceforge.net/" rel="nofollow">Incudine</a>, <a href="https://github.com/byulparan/cl-collider" rel="nofollow">cl-collider</a> ou encore <a href="https://www.ircam.fr/transmission/formations-professionnelles/openmusic" rel="nofollow">OpenMusic</a> pour s’en convaincre. Tous réinventent la même idée : faire de LISP un environnement de choix pour la composition électronique/algorithmique. L’utilisation de Scheme for Max et de Scheme for Pure Data s’adresse à des <em>live coders</em> expérimentés et qui maîtrisent déjà un petit peu la programmation et l’utilisation de Max/Pure Data. Il ne faut pas non plus être effrayé de l’aspect académique et un peu <em>nerd</em> de l’expérience. On fait beaucoup de programmation et de technique pour développer, <em>in fine</em>, des super pouvoirs et une maîtrise inégalée de l’environnement de composition.`,I,P,_,a,N,L,y,C,h,Q=`Iain Duncan est l’un des derniers musiciens frappés par le sortilège LISP et il a pris le
|
||
temps de publier <a href="https://iainctduncan.github.io/scheme-for-max-docs/s7.html#about-s7-and-s74-scheme" rel="nofollow">quelques</a> <a href="https://iainctduncan.github.io/scheme-for-max-docs/motivations.html" rel="nofollow">documents</a> qui détaillent les avantages de LISP pour le travail en musique. Ces outils s’adressent à un public qui aime expérimenter et qui préfère développer de petites librairies/fonctions réutilisables entre différents <em>patchs</em> plutôt que de tout sacrifier pour apprendre l’utilisation d’un <em>framework</em> ou d’un outil/usine à gaz. La documentation est très bien faite et cela vaut le coup de tout lire ne serait-ce que pour s’en imprégner. Même si le fait d’apprendre LISP peut engendrer des réticences plus ou moins justifiées, faire un petit <em>patch</em> pour essayer n’a jamais tué personne. Contrairement à d’autres familles de langages, LISP, il est vrai, à l’air <em>naturellement</em> et presque par accident adapté à la pratique du <em>live coding</em>.`,M,B,D,g,V="Conclusion",R,k,T,p,W,j,H,z,v,J="Quelle conclusion tirer de tout cela ? Aucune idée. Parler des langages LISP comme d’un outil ou d’une expérience magique est un poncif un peu usant à la longue. Si les langages LISPs étaient vraiment nécessaires et adaptés, pourquoi ne sont-ils pas utilisé partout et tout le temps ? Il semble que le vent ait juste tourné et que les langages LISP se soient retrouvés dans une niche qu’ils n’arrivent désormais plus vraiment à quitter. Les langages LISP restent présents un peu partout en informatique musicale, surtout dans les coulisses, et ressurgissent périodiquement pour nous rappeler à quel point ils sont élégants, adaptés et efficaces. Essayez Scheme for Pure Data et faites vous une idée par vous-même.";return{c(){l=u("img"),x=o(),w=u("br"),q=o(),d=u("h2"),d.textContent=F,S=o(),f=u("p"),f.innerHTML=G,I=o(),P=u("br"),_=o(),a=u("iframe"),L=o(),y=u("br"),C=o(),h=u("p"),h.innerHTML=Q,M=o(),B=u("br"),D=o(),g=u("h2"),g.textContent=V,R=o(),k=u("br"),T=o(),p=u("img"),j=o(),H=u("br"),z=o(),v=u("p"),v.textContent=J,this.h()},l(e){l=n(e,"IMG",{src:!0,alt:!0,style:!0}),x=m(e),w=n(e,"BR",{}),q=m(e),d=n(e,"H2",{"data-svelte-h":!0}),b(d)!=="svelte-1v4p4uu"&&(d.textContent=F),S=m(e),f=n(e,"P",{"data-svelte-h":!0}),b(f)!=="svelte-1t86df7"&&(f.innerHTML=G),I=m(e),P=n(e,"BR",{}),_=m(e),a=n(e,"IFRAME",{width:!0,height:!0,src:!0,title:!0,frameborder:!0,allow:!0,style:!0}),Z(a).forEach(t),L=m(e),y=n(e,"BR",{}),C=m(e),h=n(e,"P",{"data-svelte-h":!0}),b(h)!=="svelte-czrwfr"&&(h.innerHTML=Q),M=m(e),B=n(e,"BR",{}),D=m(e),g=n(e,"H2",{"data-svelte-h":!0}),b(g)!=="svelte-grw4hp"&&(g.textContent=V),R=m(e),k=n(e,"BR",{}),T=m(e),p=n(e,"IMG",{src:!0,alt:!0,style:!0}),j=m(e),H=n(e,"BR",{}),z=m(e),v=n(e,"P",{"data-svelte-h":!0}),b(v)!=="svelte-1df9fw3"&&(v.textContent=J),this.h()},h(){E(l.src,A="https://repository-images.githubusercontent.com/232438669/2786d100-7d94-11ea-81b9-74d9e19db04a")||c(l,"src",A),c(l,"alt","Biset Blank"),r(l,"display","block"),r(l,"margin-left","auto"),r(l,"margin-right","auto"),r(l,"max-width","500px"),r(l,"width","75%"),c(a,"width","800"),c(a,"height","600"),E(a.src,N="https://www.youtube.com/embed/rcLWTjN4qBI")||c(a,"src",N),c(a,"title","Stochastic Study #1 for Scheme for Max and modular synthesizer, Iain C.T. Duncan (2021)"),c(a,"frameborder","0"),c(a,"allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),a.allowFullscreen=!0,r(a,"display","block"),r(a,"margin-left","auto"),r(a,"margin-right","auto"),r(a,"max-width","800px"),r(a,"width","75%"),E(p.src,W="https://imgs.xkcd.com/comics/lisp_cycles.png")||c(p,"src",W),c(p,"alt","Biset Blank"),r(p,"display","block"),r(p,"margin-left","auto"),r(p,"margin-right","auto"),r(p,"max-width","800px"),r(p,"width","75%")},m(e,i){s(e,l,i),s(e,x,i),s(e,w,i),s(e,q,i),s(e,d,i),s(e,S,i),s(e,f,i),s(e,I,i),s(e,P,i),s(e,_,i),s(e,a,i),s(e,L,i),s(e,y,i),s(e,C,i),s(e,h,i),s(e,M,i),s(e,B,i),s(e,D,i),s(e,g,i),s(e,R,i),s(e,k,i),s(e,T,i),s(e,p,i),s(e,j,i),s(e,H,i),s(e,z,i),s(e,v,i)},p:O,i:O,o:O,d(e){e&&(t(l),t(x),t(w),t(q),t(d),t(S),t(f),t(I),t(P),t(_),t(a),t(L),t(y),t(C),t(h),t(M),t(B),t(D),t(g),t(R),t(k),t(T),t(p),t(j),t(H),t(z),t(v))}}}const ie={title:"Scheme for Max/Pure Data : LISP encore et toujours",author:"Raphaël Maurice Forment",date:"2024-11-02"};class se extends X{constructor(l){super(),Y(this,l,null,$,U,{})}}export{se as default,ie as metadata};
|