[HN Gopher] I need to grow away from these roots
___________________________________________________________________
I need to grow away from these roots
Author : HansardExpert
Score : 396 points
Date : 2024-01-28 19:29 UTC (1 days 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
| bickeringyokel wrote:
| If only art killed money
| jachee wrote:
| Woodie Guthrie's guitar was a machine that kills fascists.
| adzm wrote:
| artists gotta eat
| uwagar wrote:
| wish we cud do art in communist society
| bigiain wrote:
| Parts would be somewhere between $100 and $200.
|
| Someone with the right hardware skillset could put one together
| in a weekend pretty easily, maybe 10-15 hours work or so.
| Skills include RaspberryPi experience, Arduino experience,
| integration between RasPi and Arduino, addressable LED strip
| driven by Arduino experience, assembly (both
| electronics/soldering and artistic construction/sourcing of an
| enclosure and the "pretty looking led strip in aquarium tube
| with wire stiffeners" bits).
|
| Software is another skill required here, and for this you'll
| need both RasPi programming and Arduino programming, plus music
| specific knowledge and skills. That'll be a harder task to
| become or find someone with both skill sets. I'd expect top
| maybe be able to get the basic software for the RasPi/Arduino
| running in a weekend, but that iterating over configurations or
| "compositions" that look and sound interesting to be a long
| term ongoing project.
|
| If you don't have all or some those skills, you may find people
| at a local hackerspace/makerspace who'll help you out with this
| things, but I'd expect it to take at least 5-10 times as long
| to build it yourself with volunteer help than it'd take someone
| who already has all those skills.
|
| If you wanted to just commission someone to build/program one
| for you as a one off, I know a few people who do that kind of
| work, and I'd expect them to charge you $5k - $10k for it, if
| they're expected to provide some sort of warranty and ongoing
| support to you.
|
| (If you wanted small run production of then, I'd guess at
| something like $100-250k setup for scrappy startup style
| hardware manufacturing design, or closer to $250-$500k for
| contracted industrial design from an experienced industrial
| design firm. Then you might be able to manufacture them in
| production runs of 500-1000 for somewhere around $100 each, and
| six months later there'd be ripoffs on AliExpress for $49 plus
| shipping.)
| ulf-77723 wrote:
| I was also fascinated by the idea and thought to myself to
| build something similar.
|
| I already got LEDs, except the wire and tubes. My LEDs are
| already in tubes (one can choose on Aliexpress).
|
| I would take an esp32 and run WLED on it. LedFX also works with
| it, to illuminate according to sound. Not that fancy like
| addressing each pixel with your own rules, but nice enough to
| watch it for a while.
|
| Without the pi but with the esp32 it's about 70EUR for the
| parts.
| vitling wrote:
| Not listed so far in replies to this question: "Contact the
| original artist and ask them if they'll sell it, or commission
| them to make another"
|
| Hi, it's me, the original artist :-D and this thing is taking
| up a lot of space in my 1-room apartment.
|
| I'm not sure if I would want to sell it or not, but I find it
| funny that the business bitches here are talking about costs to
| hire someone to clone it and/or set up a factory before
| suggesting to talk to the person who actually did it.
| 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.
| vitling wrote:
| Correct answer. Also the RPi is only just powerful enough to
| run all the synths (it's a 3rd gen) and the prototype was Mac
| + Arduino; so made a lot of sense to just move the synthesis
| program to the Pi to make it self-contained and leave the
| Arduino program as-is.
| 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?
| jacquesm wrote:
| I think the Uno wouldn't have enough RAM for that, the Pi is
| a lot more powerful in that sense.
| 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.
| Noumenon72 wrote:
| Neither of these pages show a "click to start" message for me,
| but they should. In TFA I had to hover over the "silent gif" to
| see a volume control, and in the acid banger I had written half
| of this comment before I figured out you could just click
| anywhere to unmute.
| jacquesm wrote:
| That's a browser thing. Thank the advertising industry with
| their auto-playing audio ads. To get rid of that browsers now
| require you to engage with a page before audio can be played.
| lukan wrote:
| "To get rid of that browsers now require you to engage with
| a page before audio can be played."
|
| Where "engage" just means any UI event, so also a simple
| mousemove over the area.
| Tsiklon wrote:
| This is a wonderful little toy. As an aside is it difficult to
| pick up and use a 303 with no prior synth experience?
| bowsamic wrote:
| I think the issue will be more the cost, they go for about
| 2500 to 3000 euros
|
| But yes arguably synth experience won't even help, the 303
| sequencer is very weird and unlike any other sequencer
| speps wrote:
| Behringer does really nice clones of these old synths, much
| more affordable (~120 EUR for this one):
| https://www.behringer.com/product.html?modelCode=P0DTD
| semi-extrinsic wrote:
| Yeah, I have a TD-3. It's by no means trivial to use for
| a novice, but there are some nice guides such as the one
| linked below. You have to get used to holding the
| internal state of the sequencer in your head during
| programming, as there is no display showing which step
| you are on etc.
|
| And the time mode must be programmed separately, which on
| several occasions has left me scratching my head at why
| the thing makes no sound at all.
|
| https://airainfo.org/files/TD-3-Programming.pdf
| munificent wrote:
| A new TB-03 from Roland, which is a digital clone but quite
| nice sounding, is only $400.
| bloke_zero wrote:
| If you're transcribing written music then it's fairly
| straight forward - you program the pitches in one round,
| press a button and input the note length values. If however
| you want to jam around like you might with any other seqencer
| driven synth I find it's too much to keep in your head so a
| pencil and paper with a 303 sequencer grid on it is pretty
| essential.
|
| The Behringer lets you connect to an app via USB so you can
| program it that way too.
|
| The sound engine is easy to use and the knobs encourage
| experimentation - the interaction of the filter, the envelope
| and the accent is where the fun is. And of course the slide!
| joncrane wrote:
| I love the key change button. What would make this a truly
| awesome DJ tool is if you could go BACK to some arbitrary
| pattern, rather than only going forward. Am I missing a
| button/option for that?
| caseyohara wrote:
| The beauty of synthesizers like this (and especially modular
| synth setups) is everything is ephemeral. It's like a sand
| mandala.
| psynister wrote:
| Seems like they are being slashdotted or whatever it's called
| these days.
| danwills wrote:
| The "HackerNews Hug" I believe it's called.. indeed being on
| the frontpage and being (or just looking) interesting does
| direct a huge amount of traffic at servers!
|
| I'm just so glad that HN seems not to be getting paid (or even
| influenced much?) to direct that fire-hose (as far as I know
| anyway!) Killer job dang! Can't believe you get so much done,
| kudos!
| 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.
| xanderlewis wrote:
| > What does 'all inversions' really mean when enumerating
| chords? Does it include open, spread voicings?
|
| I think it usually just means: take the chord in its 'root
| position', and take inversions (that is, sort of (up to
| octaves) cyclic permutations) of it. So it would be leaving out
| lots of those more open, sparse voicings.
| sdenton4 wrote:
| A basic c maj chord is c4 f4 g4. Inversions move bottom notes
| to the top, like f4 g4 c5, or g4 c5 f5. They significantly
| change the flavor of the chord.
| jameshart wrote:
| Yes, those are 'closed' voicings of the basic inversions,
| though. What about f4 c5 g5? Still a C/F, but an open
| voicing.
|
| I mentioned Sonic Pi in my post - it actually has a bunch of
| built in API support for this sort of thing.
|
| Generating all the basic inversions of all those chords for
| all those root notes is as simple as:
| (note_range :A2, :D5).each { |root| [:major,
| :minor, :major7, :minor7].each { |chord|
| chord_size = chord(root, chord).to_a.length
| for i in 0..chord_size do
| the_chord = chord(root, chord, inversion: i)
| end } }
|
| 'the_chord' gets set to arrays of midi notes corresponding to
| every inversion of every chord.
| recursive wrote:
| Pretty sure that's a C sus4
| sdenton4 wrote:
| Ha, true. Derp.
| uwagar wrote:
| i thot it was c4 e4 g4?
| joeblubaugh wrote:
| One of my favorite procedural visual artists has a similar
| vagueness to his specifications that leads to a nice variation
| each time a piece is recreated:
| https://www.sfmoma.org/artist/sol_lewitt/
| https://massmoca.org/event/walldrawing305/
| jacquesm wrote:
| It doesn't sound like there are open chords in there, just the
| ones where the notes follow each other immediately without any
| gaps.
| jameshart wrote:
| Right. But that's what you glean from listening to the
| performance. Not what you can gather from reading the
| 'score'.
| vitling wrote:
| I think you really picked up what I was trying to do with the
| score, glad it came through.
|
| I had some feedback from a art curator about a previous piece
| of work that I was going to show (this one in fact
| https://www.vitling.xyz/welcome-to-tech-talk/ ), and she didn't
| really understand what was going on. After explaining what was
| happening and how it all works she told me "I love it now; but
| you're hiding all the interesting parts from the audience".
|
| One of the interesting parts about generative art is that the
| "work" I do is really the ruleset/algorithm, rather than the
| audio or visuals that come out of it, so I always want to find
| a way to show what's happening 'inside the box' so to speak.
| Source code can be nice, but only for those who can read it,
| and the core idea often gets lost in boilerplate and technical
| weirdness. That's where I got to the idea of writing a score
| for it instead, which just lays out the basic premise of what's
| going on - enough to understand that what's being played is
| generative but not so much as to get lost in the detail.
| jameshart wrote:
| Thanks - it's really just a magical choice of word you made.
| You could have posted the same explanation under the heading
| of 'How it Works' and it wouldn't have had any of the same
| connotation for me. Calling it a 'Score' made something
| click.
| mrb wrote:
| Tip for author: you can drastically reduce hardware & software
| complexity of this project by removing the Arduino and use this
| library which allows controlling WS281x strips directly from your
| Raspberry Pi: https://github.com/jgarff/rpi_ws281x
|
| I use it myself on a Pi 4 to control a WS2815 strip of 466 pixels
| on the fascia of my house, for holiday decorations.
| woliveirajr wrote:
| Somehow reminded me of Jean Michel Jarre
| jacquesm wrote:
| The early days of synth, I would have picked Klaus Schulze as a
| close analogy, or maybe Brian Eno, The Pearl/Late October.
| bigiain wrote:
| My head went "Vangelis"
|
| (And then it repeated "Albedo, zero point three nine"...)
| jacquesm wrote:
| Yes, I posted 'Soil Festivities' as well upthread.
| jacquesm wrote:
| This is beautiful. Imagine an alien planet where the plants are
| like this. Maybe a forest of them can sync up the way metronomes
| and firebugs synchronize.
| ehnto wrote:
| I love nature, spend a lot of time in the forest. I find it all
| beautiful. Yet, sometimes, I am struck with disgust as somehow my
| image of trees swaps. Suddenly I imagine trees like an insidious
| growth on the surface of the planet. Like when you see fungi
| growing from a humans skin, I am involuntarily picturing trees
| through the same lens.
|
| It is breif, but weird. Anyway, this is a really beautiful
| display, it's branches feel closer to tendrils, and I imagine if
| the music had picked minor chords predominantly this would be an
| experience closer to my negative view of trees. Thankfully the
| power of music prevails.
| bad_username wrote:
| Imagine that trees sway on their own, rather than the wind
| moving them.
| riverdweller wrote:
| Perhaps think instead of human skin as a wretched slimy
| substrate on which poor, determined fungi have to somehow eke
| an existence.
| krick wrote:
| Can somebody recommend some music theory book/course for this
| algorithm or the one in https://www.vitling.xyz/toys/acid-banger/
| to make sense? Obviously, there are some pretty simple rules to
| predict that something sounds alright, some more complicated
| ones, and baroque music is notoriously algorithmic. But I still
| have no clue.
|
| I tried to research something across these lines before, and I
| cannot quite recollect what exactly was the problem with the
| books I came across on my own (I think it was mostly just too
| basic to be useful), but somehow I never got any "general"
| understanding of "how music works". Even though I've got some
| very basic solfeggio training long time ago (admittedly, I was
| too young to ask questions I now find interesting and understand
| what's the purpose of what we were doing there, but at least I
| can read the notation).
| rogerclark wrote:
| In order for it to fully make sense, you will need to study it
| from multiple angles. Hooktheory.com, books, and lots of
| YouTube videos will get you there over the course of 1-10
| years. Ultimately, you won't understand music theory without
| trying to write a lot of your own music. It's like programming:
| you can read a book about JavaScript, but if you never wrote
| software and you never plan to, there's simply no way to
| actually understand the book.
|
| An explanation of how this application might work (haven't
| verified from the source or letting it run long enough): let's
| say it chooses a subset of notes ("scale degrees") from a minor
| key, probably chosen at random. A subset of 5 or fewer notes
| from a scale (a pentatonic scale) will constrain the possible
| space of melodies so that most configurations will sound good.
| Even fewer and you get a more predictably pleasant (but perhaps
| less interesting) result. For instance, the notes that comprise
| the root chord will always sound good when played in any order.
| Acid lines typically suggest some kind of minor chord by
| playing an arpeggio (usually a repetitive melody consisting
| entirely of notes from a particular chord).
|
| Also, a subset of notes from one scale are always going to be
| present in another scale. You can transition (modulate) from
| one scale to another by having a section use a shared subset of
| notes, then switching to the new one. In this manner, you can
| have a single piece of music traverse all possible scales (in
| acid techno, almost entirely minor scales).
| jacquesm wrote:
| > Ultimately, you won't understand music theory without
| trying to write a lot of your own music. It's like
| programming: you can read a book about JavaScript, but if you
| never wrote software and you never plan to, there's simply no
| way to actually understand the book.
|
| That's a great observation, thank you!
| ghostpepper wrote:
| It's not a typical intro to theory but the "pop psychology"
| book This Is Your Brain On Music by Daniel J. Levitin includes
| something like what you're asking for: What is pitch, why do
| our brains "like" certain combinations of pitches and dislike
| others, etc.
|
| It's a fascinating book in its own right on a bunch of theories
| about the neurology of music but it includes a very basic
| introduction to theory at the beginning.
| yobbo wrote:
| If you don't play, I suspect it's like trying to explain Tetris
| to a blind person.
| tazjin wrote:
| Explaining Tetris to a blind person doesn't sound like an
| intractable problem?!
| AlecSchueler wrote:
| A better metaphor might be trying to explain to someone who
| can't hear why the word "barracks" sounds harsher to the
| ear than the word "mellifluous."
| RugnirViking wrote:
| Its very difficult to get into. I liken it most to maths, you
| simply cannot take something written for someone with a certain
| higher level of understanding than you currently have and
| expect to get much from it. You simply must go page by page
| slowly, deliberately, and humbly, taking the time to completely
| understand each term you come across (which will often require
| a several hour diversion, in which you come across more terms
| branching all the way down, etc). You can't skip over terms
| like "intervals", "locrian/lydian" and hope to understand them
| by osmosis.
| samvher wrote:
| Yale has an online course "Listening to Music" that covers
| quite a bit of music theory. I quite enjoyed it:
| https://online.yale.edu/courses/listening-music
| uwagar wrote:
| cheesy kitsch
| dang wrote:
| Ok, but could you please stop posting unsubstantive comments to
| HN? You've unfortunately been doing it repeatedly. It's not
| what this site is for, and destroys what it is for.
|
| If you wouldn't mind reviewing
| https://news.ycombinator.com/newsguidelines.html and taking the
| intended spirit of the site more to heart, we'd be grateful.
| uwagar wrote:
| noted. just express myself for the record.
| paraph1n wrote:
| What do I search for to find music/audio like this? It sounds so
| beautiful.
| jacquesm wrote:
| Older ambient / minimal music / soundscapes.
|
| Try this:
|
| https://www.youtube.com/watch?v=x-OAHzyBIas
|
| or this:
|
| https://www.youtube.com/watch?v=8WGx5z9wVNY&list=PLfimnwaZdu...
| martijnvds wrote:
| It reminded me a bit of Plastikman, for example
| https://www.youtube.com/watch?v=oQduttGOQSE
|
| Probably because it uses the same 303's and 909's :)
| danwills wrote:
| Awesome! reminds me of the tight-audiovisual sync style of the
| demoscene, but in hardware? Hope it gets explored some more!
| yobbo wrote:
| Find all the chords from the set that have all but one note in
| common with the playing chord. Choose one of these at
| random. Go back to 3 and repeat forever.
|
| This means a fairly small group of chords. Not sure it covers
| more than one key.
| vitling wrote:
| Nope, it can get anywhere in the western musical system.
|
| A triad 1 3 5 can become 7 3 5, then 7 2 5, which is a 5th.
| Once you can move a 5th you can move anywhere because it's a
| move of 7 in the integers modulo 12 (numbering all the notes
| chromatically) which will get you back round to 0 in 12 moves.
|
| Maj -> Min is only one note change, as is moving inversions or
| adding or removing a 4th note.
___________________________________________________________________
(page generated 2024-01-29 23:01 UTC)