Hacker News new | comments | show | ask | jobs | submit login
Bytebeat (canonical.org)
41 points by pmarin 1575 days ago | hide | past | web | 9 comments | favorite



I've been playing with these for a while .. here's my favourite one so far:

    #include <math.h> 
    int main() { int v, i, z, n, u, t; for (v = -1;;) { for (n = pow(1.05946309, "CWG[Cgcg[eYcb^bV^eW^be^bVecb^"[++v & 31] + (v & 64) / 21), i = 999; i; putchar(128 + ((8191 & u) > i ? 0 : i / 8) - ((8191 & (z += n)) * i-- >> 16))) { u += v & 1 ? t / 2 : (t = v & 6 ? t : n / 4); } } return 0; }

I run it like this on Linux:

    $ gcc 1linesynth.c -o 1linesynth -lm && ./1linesynth | sox -t raw -r 8k -e unsigned -b 8 -c 1 - -t raw -r 48k - | jack-stdin -e u -b 8 "firewire_pcm:000a9200c7110222_Output 1L_out"
Of course, ymmv .. you could use aplay too, but I'm a Jack kind of guy with a big multi-io rig, so I have to do all that malarky.


Re-formatted for reading,

#include <math.h>

    int main()
    {
        int v, i, z, n, u, t;

        for (v = -1;;) {
            for (n = pow(1.05946309, "CWG[Cgcg[eYcb^bV^eW^be^bVecb^"[++v & 31] + (v & 64) / 21), i = 999;
                i;
                putchar(128 + ((8191 & u) > i ? 0 : i / 8) - ((8191 & (z += n)) * i-- >> 16))) {
                u += v & 1 ? t / 2 : (t = v & 6 ? t : n / 4);
            }
        }

        return 0;
    }
Can this be simplified to just use an incrementing t? Otherwise I'm not sure it's in keeping with the spirit of the original. :-)

BTW, the increment and use of v without a sequence point in between may bite.


Well, I suppose given it will cycle it can be simplified to an array indexed based on t; still don't think that's playing the game though.


there is also this:

https://github.com/greggman/html5bytebeat

check out this example first! http://goo.gl/lQyDd


That's pretty spiffy. Nice to see the inclusion of a postfix expression mode.


The geek in me loves this and wants to see/hear what talented people in me will do with it. The person-with-ears in me wants it to die a quick death.


I feel like an old fogey saying this, but does anyone actually enjoy listening to this stuff? I mean it's interesting, sure, but... really?


I'd love to see some kind of combination of bytebeat with evolution algorithms - like Darwin Tunes (http://darwintunes.org/)





Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: