Hacker News 의견
  • Strudel의 라이브 코딩 세션이 YouTube에 정말 멋지게 많음, 예시로 이 영상을 추천함
    • Switch Angel의 영상이 특히 인상적임, 이 분의 인스타그램 튜토리얼도 참고할 만함
    • 내가 정말 좋아하는 영상 중 하나는 보이스 필터 덕분에 내레이션이 곡의 일부처럼 느껴졌던 이 영상임, 특히 재미있게 봤음
    • 누가 이 영상의 오디오(보컬 포함)를 리믹스해보면 아주 재밌을 것 같음
    • 동일한 링크가 두 번 붙여진 것 같음, 원래 의도했던 두 번째 링크가 무엇인지 궁금함, 그것도 보고 싶음
  • Strudel은 TidalCycles(Haskell)의 JavaScript 포트임, TC가 SuperCollider를 신스로 쓰는 것과 달리 Strudel은 superdough라는 자체 구현체를 사용하는 듯함, 지금 SuperCollider sclang을 배우는 중이고 버전 업그레이드가 있으면 HN에 공유하고 싶음, 이 주제에 대해선 항상 깊이 있는 토론이 있곤 함, 근데 sclang은 음악계의 PHP 같아서 더 못생기고 일관성이 덜함, 그렇지만 파워풀하고 재미있기도 함
    • SuperCollider 포럼에서는 wasm으로 SuperCollider를 포팅하는 논의가 있음(웹어셈블리 지원에 대한 게시물), 나중에 이게 사용될 수 있을지 궁금함
    • 나도 TidalCycles를 만지작거리면서 Haskell 문법이 좋아 사용해보고 싶었지만 Strudel UI가 너무 매끄러워서 JS 문법을 감수함, superdough라는 걸 덕분에 알게 되었는데, 지금까지 한 번도 못 봤던 거라 호기심이 생김
    • 예전에 SuperCollider를 쓸 때는 Overtone을 썼는데, Overtone은 모든 걸 Closure API로 감싸서 sclang 대신 s-식으로 소리를 정의할 수 있음, Overtone이 요즘도 유지되는지 완전히는 모르지만 아직 활동이 조금은 있는 듯함(공식 사이트)
    • 내 경험상 sclang은 Smalltalk와 Ruby의 하이브리드 같았음, 진짜 "일관성 없음" 그 자체이고, 낯설면서 이상하게 익숙하지만, 그래도 PHP보다는 훨씬 더 우아하다고 생각함
  • Strudel이 멋진 이유는 기존 음악 툴들이 좀 오래되고 NIH(not invented here) 증후군에 걸린 것처럼 느껴지는 반면, 실제 필요한 건 JS로 돌아가는 것이라는 점임, 이전 세대 툴(sonic pi 등)이 나올 땐 이런 게 어려웠지만 지금은 타이밍이 딱 맞음, 다음 세대에는 시각화와 코드가 진짜 양방향 소통하는 인터페이스가 나왔으면 좋겠음, 현재 슬라이더가 정말 멋진 요소라고 생각함, Bret Victor도 뿌듯해 할 듯함
  • flok이라는 도구도 있는데, strudel repl을 hydra의 비주얼과 결합함, sclang 등 다른 알고레이브 환경도 제공되며 모든 게 동기화됨(crdts로 추정), 친구들과 원격 잼할 때 아주 좋음(flok 링크)
  • 나는 음악적 재능이 별로 없는데, 이렇게 만들어 봤음
    $: arrange(
     [4, "<sh09_bd>(4,8)"],
     [4, "<sh09_bd>(4,8)"],
     [1, "<sh09_bd mfb512_sd>(6,6)"]
    ).s().fast(2).layer(x=>x.add("0,2")).gain(".4!2 .5").phaser(2).phasercenter("<4000 800 4000 4000>")
    
    $: s("gm_tinkle_bell").distort("<1 2 1 2:.5>").crush("<8 8 8 6 6 8 8>").chop(4)
    
    $: arrange(
     [2, "<c4 e4 g4>(3,8)"], 
     [1, "<f4 a4 c5>(3,8)"], 
     [1, "<c4 e4 g4>(3,8)"] 
    ).note().chop(4).fast(4).distort("<3:.5>").phaser(4).phasercenter("<800>").fm(4).fmdecay("<.05 .05 .1 .2>").fmsustain(.4)._scope()
    
    나도 여기서 무슨 일이 일어나는지 반도 모르겠지만 정말 재미있었고, 아마 내가 해본 프로젝트 중 제일 좋아함, 그리고 페이지 내에 바로 참조 문서가 있어서 아무거나 시도해보며 바로 결과를 확인할 수 있었던 점이 제일 재밌었음
  • 이 에러 메시지가 뜸
    Uncaught (in promise) ReferenceError: AudioContext is not defined
     ln https://strudel.cc/_astro/spectrum.Bf7jMx6O.js:1
     W https://strudel.cc/_astro/spectrum.Bf7jMx6O.js:1
     un https://strudel.cc/_astro/spectrum.Bf7jMx6O.js:1
     c https://strudel.cc/_astro/spectrum.Bf7jMx6O.js:1
    
    내 보안 설정에서 뭘 바꿔야 이게 작동하는지 궁금함
  • 내(Lil Data) 리믹스 버전인 DJ_Dave의 Array를 공유함(Strudel 믹스, 유튜브 영상)
  • 이 소개 영상이 마음에 듦(유튜브 링크)
  • Strudel이 텍스트 기반이라 AI가 음악을 자동으로 생성하기 정말 쉬워짐, 음악을 strudel 노테이션으로 받아 적어주는 Strudel 에이전트가 나오길 기다리고 있음
    • 나는 내 손으로 작곡하는 게 좋지만, AI가 프롬프트 입력만으로 사운드 디자인까지 ("XYZ 곡 리드 신스랑 비슷한데 좀 더 버지하게, ABC 파라미터도 따로 조절하게") 해결해준다면 혁명적일 것 같음
    • 곧 에이전트가 음악 자체를 들으면서, 우리가 이전에 어떻게 평가했는지까지 분석해줄 수 있을 거라 생각함
  • 최근 유튜브에서 Strudel 인터페이스를 봤는데 처음에는 콘솔 같지만 슬라이더 같은 요소도 있어서 재미있게 느껴졌음