[HN Gopher] I need to grow away from these roots
       ___________________________________________________________________
        
       I need to grow away from these roots
        
       Author : HansardExpert
       Score  : 110 points
       Date   : 2024-01-28 19:29 UTC (3 hours ago)
        
 (HTM) web link (www.vitling.xyz)
 (TXT) w3m dump (www.vitling.xyz)
        
       | HansardExpert wrote:
       | Generative audio-visual ambient light sculpture
       | 
       | WS2812B / Arduino / Raspberry Pi / C++
        
       | whitepaint wrote:
       | This is really cool, would be nice to get detailed instructions
       | how to build something like that.
        
         | rezmason wrote:
         | I think I now have to create an online version of it. Web Audio
         | and CSS transforms should be more than up to the task.
        
           | rezonant wrote:
           | Best use audio worklets for best performance to avoid buffer
           | underruns
        
       | blackqueeriroh wrote:
       | I need one of these now! How much to make me one?
        
         | hackernewds wrote:
         | money kills art
        
       | fb03 wrote:
       | That was frigging awesome!!!
        
       | Lucasoato wrote:
       | That could be the intro for a Four Tet set :)
        
         | xanderlewis wrote:
         | Yes!
        
       | crawsome wrote:
       | I love how they wrote it out in pseudocode for everyone to
       | understand. I've worked on projects like this (just the music
       | generation part) and I greatly appreciate how they presented it.
       | 
       | And for someone to have a video demo, it just makes it better.
       | Lots of code projects die before they take off because the author
       | only described it with a wall of text.
        
       | j1elo wrote:
       | Curious about one of the technical details, I'm only asking to
       | learn more about the limits of the RPi:
       | 
       | couldn't this all be done only with the Raspberry Pi, using all
       | those GPIO pins that it has? Feels like it is being underutilized
       | and the project ought to be simplified to a single board (a
       | single mains connection needed would be a very nice consequence
       | too)
        
         | xyzzy123 wrote:
         | I think yes, but the LED code is designed for arduino so from a
         | code reuse / prototyping perspective it would be simpler to do
         | initial build with 2 units.
        
         | ryandrake wrote:
         | I was thinking the same thing except the Arduino instead of the
         | Raspberry Pi. All the Pi is doing is "note selection and the
         | synthesising of the audio buffers themselves." Surely the
         | Arduino Uno can do that, too?
        
       | semi-extrinsic wrote:
       | This person is also the creator of the marvellous "endless acid
       | banger" which you can waste hours with in your browser, and which
       | made me get my own physical 303 clone to start derping around
       | with.
       | 
       | https://www.vitling.xyz/toys/acid-banger/
       | 
       | Also of note: all the demos open to a silent "click to start"
       | screen, and all the autoplaying videos are muted by default even,
       | like on TFA.
        
       | psynister wrote:
       | Seems like they are being slashdotted or whatever it's called
       | these days.
        
       | ruined wrote:
       | that's that shit i like
        
       | jameshart wrote:
       | Something fascinating about seeing a 'score' for generative music
       | written out as a sort of specification like that.
       | 
       | There's enough detail there that you can take those instructions
       | and reimplement your own version of it, and you'll end up with
       | essentially the same 'piece of music', but certainly a different
       | interpretation of it. Because while the score lays out some
       | details precisely, it leaves other choices less clear. What does
       | 'all inversions' really mean when enumerating chords? Does it
       | include open, spread voicings? What durations should we choose
       | from for our random waveforms? How short is 'short' when deciding
       | to repeat? And of course, what wave synths should you use, and
       | how should you modulate them?
       | 
       | All those are similar to the decisions a traditional
       | instrumentalist makes when interpreting a sheet music score for
       | performance - here, a generative music coder can follow this
       | 'score' and produce a program that represents their own
       | interpretation of the piece.
       | 
       | Coding it up in Sonic Pi (https://sonic-pi.net/) was a fun
       | exercise, and I feel like I was able to produce something along
       | the lines of what the composer intended. It carries the same kind
       | of mood that the recording in the video has. But it's my own
       | 'performance' of the work, if that makes sense (even if it's
       | actually Sonic Pi 'performing' it at runtime...)
       | 
       | All of which got me thinking about the relationship more
       | generally between specification, and implementation. Considering
       | different programmers' implementations of algorithms as
       | individual 'performances' of scores from the overall design - and
       | then thinking about developers building elements of a larger
       | system architecture as individual performers working to deliver
       | their part of the performance as part of a band or orchestra.
       | Some groups, maybe they're directed by a conductor-architect;
       | others maybe are improvisers, riffing off one another and
       | occasionally stepping up to deliver a solo. And some are maybe
       | solid session performers, showing up and delivering strong but
       | unflashy performances to a producer's specification.
       | 
       | So overall, a nice meditative coding exercise for a Sunday
       | afternoon, and a shift in perspective. Thanks for sharing it.
        
       ___________________________________________________________________
       (page generated 2024-01-28 23:00 UTC)