Hacker News new | past | comments | ask | show | jobs | submit login
Opus Databending Drumkit (suricrasia.online)
106 points by blackle on Aug 1, 2023 | hide | past | favorite | 18 comments




I still don't get it. What's an Opus codec glitch? I know roughly how things like jpg, flac, and mp3 work, and worked with Opus via ffmpeg/opusenc, but what makes some sounds a glitch? Can you only hear this when playing the data with certain decoders or so? The page and the posts don't say


On the projects page (https://suricrasia.online/projects/) it says "Make glitchy beats with randomly generated Opus protocol packets." So I guess it's random data fed into the opus decoder.


author here: this is correct. the opus protocol is so efficient, you can fill a packet with random data and it will still decompress into a sensible sound. this is where all the sounds come from


I've thought about doing something similar for google's voice compression lyra https://github.com/google/lyra


That... how is that a glitch? That's it functioning as designed


My guess would be it's when you chose the codec parameters such the output gets some weird artefacts not present in the original source.


This might be glitching in the sense of “glitch art”, where you deliberately corrupt a compressed file in small ways (flip a few bits here and there, for example) that propagate in interesting ways when decompressed.


Ahhh, thank you! I was wondering what the seed corresponded to.

Pretty neat little thing! I was just trying to figure out if they were using some novel system to categorize procedural synths as "good", because that seems pretty useful! Still a neat little thing, though!


(Opus author here) I'm curious what kind of "glitch" this is referring to.


author here: they are randomly generated packets, extended using the packet loss concealment feature. you can fill a packet with random data and it will still decompress into a sensible sound, and that's where all the sounds in the drum machine come from


Lot's of fun. Try this :)

[["56ne","count","plenk","aaa","reck"],2,138,[[194,256,0],[140,4112,0],[281,64,5],[298,257,0],[397,4096,7],[396,8193,14],[393,1088,3]],[[-1,36,0],[476,-18,17],[476,-54,78]]]


Sounds excellent. Thanks! Even the default pattern they use on start up is pretty sick.


[["blah","seed"],11,125,[[187,257,0,1],[25,4176,0],[42,0,5],[50,16512,5],[75,5189,3],[76,16656,7],[87,257,10],[88,257,0],[87,4112,13],[11,272,2],[11,1024,6]],[[-1,0,0],[39,-64,19]]]


Fire ["Jpeg",75,125,[[42,8224,0],[43,8,0],[50,8192,10],[55,4010,7],[55,43690,8],[56,32768,11],[68,8224,8],[68,552,7],[73,8,9],[68,8224,8],[68,544,7]],[[-1,100,2]]]


Doesn’t make any sound on mobile Safari. Layout is pretty good though.


Works for me. You probably need to unmute the phone.


Oh, that would be a good idea.. oops!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: