|
Post by NightMachines on Sept 6, 2018 21:49:21 GMT
EDIT: I'm writing a beginner's guide to Bytebeat coding. Check out the latest version here and let me know how you like it in this thread: nightmachines.tv/bytebeats-tutorial
---- old original post ---- With the AE Modular "Algodrone" module on the horizon, I thought I'd look into the whole Bytebeat thing, which it is based on. As far as I understand it, Bytebeat is a music genre in which audio is generated algorithmically, i.e. by writing a piece of code which creates looping and/or evolving waveforms over a set amount of time, without any further user interaction. You can try it out in this HTML5 browser-based player: greggman.com/downloads/examples/html5bytebeat/html5bytebeat.html... which features some stunning examples on its GitHub page (scroll down to "sample songs"): github.com/greggman/html5bytebeat... for example: goo.gl/KABRP glitch machine goo.gl/6Uz0d mix 2 channels goo.gl/RG8IEk rythymgrind ... try combining the code of the examples too  Now, I'm not much of a programmer, but lower on the GitHub page there are some more examples and explanations which I plan to check out in more detail. Has anybody of you been active in this scene and produced some beats themselves? Are there any other resources about learning to code for Bytebeats?
|
|
|
Post by NightMachines on Sept 7, 2018 5:46:41 GMT
|
|
|
Post by NightMachines on Sept 7, 2018 20:40:39 GMT
Here’s something I came up with ... using trial and error SLEVOLODY
This is so much fun! I just wish I understood what was happening 
|
|
|
Post by admin on Sept 8, 2018 0:25:07 GMT
Caustic is an awesome music studio which available for most operating systems including Android and iOS. It includes a bytebeat synth as well. This video is a great tutorial for bytebeat: You can download Caustic for free at www.singlecellsoftware.com/
|
|
|
Post by thetechnobear on Sept 8, 2018 14:00:32 GMT
I played with Bytebeats a while back on the Axoloti when one of the contributors was building an object for itthey are quite a lot of fun. Robert was demonstrating algodrone at Superbooth, and I think he has taken a really nice approach. I think (?!) you cannot provide new algos, but rather select from some predefined ones (not sure how many he has). but what he has done that's nice, is allow you to hone in on interesting places within the algo. the way I view this, is some of the good algos are a bit like a fractal pattern, they at first feel completely random, and noise like, but the more you zoom into particular parts, they start playing interesting patterns. play them at different speeds, different directions and you get something slightly different. whats cool about this approach is unlike random patterns, these are completely reproducible (like a preset), once you know the algo, and the seed, it will always play the same... (and because the algo generates sufficiently complex streams, theres no danger of running out of possibilities) I guess, you can think of it as a kind of non-random, random sequence generator I have to say I wasn't particularly interested in algodrone before superbooth, but after seeing/hearing it, I became really excited for it. also... lets remember, unlike these synths, we will not only be able to use it for pitch, but also modulation... and if its running fast enough perhaps as waveforms!?
|
|
|
Post by NightMachines on Sept 8, 2018 16:06:16 GMT
Here’s another thing I came up with, which is short but musical: // 180908 danzfloor by the tuesday night machines ( t*4| t| t>>3& t+t/4&t*12| t*8>>10| t/20&t+140 ) &t>>4 //rhythmic ducking
In BitWiz for iOS one can use line breaks to separate parts of the code then use // to comment those individual lines out, to see how they affect the outcome. This helps a bit to figure things out. Causstic is an awesome music studio which available for most operating systems including Android and iOS. It includes a bytebeat synth as well. This video is a great tutorial for bytebeat: You can download Caustic for free at www.singlecellsoftware.com/That was a nice video indeed! Put Caustic on my iOS wishlist too! I played with Bytebeats a while back on the Axoloti when one of the contributors was building an object for itthey are quite a lot of fun. ... the way I view this, is some of the good algos are a bit like a fractal pattern, they at first feel completely random, and noise like, but the more you zoom into particular parts, they start playing interesting patterns. play them at different speeds, different directions and you get something slightly different. Oh, I hadn’t checked the Axoloti forum yet. Great that we have a Bytebeat object in there as well then. Regarding the fractal patterns, I’m still trying to figure out how to make the sounds slowly change over time and not just repeat quickly and obviously.
|
|
|
Post by NightMachines on Sept 10, 2018 6:17:43 GMT
Spent some more time with the Bytebeats on the weekend and I'm slowly starting to get my head around programming them. Here, I made a step sequencer: MELANCHOLOGIC (click to listen)// 180908 melanchologic by the tuesday night machines
( ( // lead melody //gate start gate stop note (t%16000>=100 & t%16000<1000)*t*4 | (t%16000>=1000 & t%16000<1500)*t*2 | (t%16000>=2000 & t%16000<3000)*t*12 | (t%16000>=4000 & t%16000<5000)*t*10 | (t%16000>=8000 & t%16000<9000)*t*18 | (t%16000>=12000 & t%16000<14000)*t*12 | (t%16000>=14000 & t%16000<14500)*t*10 )
//fun stuff ^ ( -t*8*(t%16000<2000) ^ (-t/32)*(t%16000>12000) ) & ( t>>4 & -t>>8 )
// bass notes | ( ( (t%64000>100 & t%64000<16000)*t*4 | (t%64000>16100 & t%64000<32000)*t*3 | (t%64000>32100 & t%64000<48000)*t*5 | (t%64000>48100)*t*8 ) /(2+(1*(t%128000>=64000))) // div frequency by 3 after 64000 %128 // reduce bass amplitude by half ) )
// ducking and phasing | (t%16000)/32 & (t*2)%127+64
//percussion | ( (t%8000>0 & t%8000<200)*-t/10 | (t%8000>4000 & t%8000<4200)*t*200 | (t%32000>14000 & t%32000<14200)*t*50000 ) I’ll see if I can write a rudimentary beginner’s guide soon, explaining some of the basic functionality of Bytebeat programming, in a way that one actually understands what is going when coding the simple, bread and butter stuff. I find this much more fun now, being able to combine the happy random accidents with more consciously coded parts, giving a beat some structure. Of course my coding skills still suck though and I always think that there must be way more efficient ways of doing things. 
|
|
|
Post by thetechnobear on Sept 10, 2018 11:24:17 GMT
cool, ive not anyone trying to explain how bytebeats are constructed.
id figured out the or was used to combine, and that shifting can cause octave shifts. never thought about using counter as a 'position' that seems cool. (i guess there must be a way to do pwm, if you looking at the counter in very small amounts t%2 t%3 t%4 ?)
so definitely would like to hear more ideas of how to construct things.
do you think its possible almost to make up blocks that you know do x, y , z then combine?
|
|
|
Post by admin on Sept 13, 2018 6:29:03 GMT
Ok, I know we usually want to stay in hardware land, but I looked further into Bytebeat implementations and found that: There is a module for VCVRack: github.com/FrankBuss/FormulaAnd also this really cool VST plugin: damikyu.itch.io/evaluatorFor the latter this introduction video is really nice with some more examples
|
|
|
Post by NightMachines on Sept 17, 2018 14:24:12 GMT
do you think its possible almost to make up blocks that you know do x, y , z then combine? Yes, definitely! You could create a proper song with a defined start and end and a number of verse, chorus and bridge parts in between ... in BitWiz you could even control all of this via MIDI CC feeding into variables. Question is if that's in the original Bytebeat spirit, but I like that it is possible  My guide is almost finished, but got a little bigger than anticipated. It will definitely be released as a PDF, but I might post some excerpts as a thread here as well.
|
|
|
Post by NightMachines on Sept 17, 2018 19:27:14 GMT
Here’s a first version of “The absolute beginner’s guide to coding Bytebeats!”  Haha! XXXXX OLD LINK REMOVED - GO HERE FOR THE LATEST VERSION XXXXX I’d love to get some general feedback on it, before I release and promote it more widely. Is it easy enough to follow and understand? Does the structure make sense to you? Did I get something wrong? If you find spelling errors or really bad grammatical stuff, let me know via PM or e-mail preferably though. If it’s just some quirky but understandable, non-native speaker English then I’m okay with that. Personally, I don’t like long winded explanations and prefer simple examples. I tried to write the guide like that.
|
|
|
Post by thetechnobear on Sept 18, 2018 9:02:20 GMT
Felix that's a great guide, and its really well written! structure is great, I think it seems well paced, I know C, so Im familiar with all the operators, but I like the way that simultaneously you introduce how they are used in a bytebeat context. best bit for me was the 'putting it all together'. I also liked your approach, using the html viewer with examples, it made it very easy to follow. so definitely think you achieved your goal of explaining how to purposefully create new bytebeats! so thank your for creating a really useful guide, and sharing it with us.
couple of comments: - i don't really think the relationship to C is that strong, they just happen to share the same operators, presumably because early programmers used to compile them directly into C (i doubt many apps do this) , but really any languages could be used - you could as easily do this in Pure Data, Supercolider, Csound… they are not really C programs, rather mathematical expressions in a limited integer domain. (though, the html version has 'floatbeats') - addition, subtraction so you mention using addition as a mixer (which is when you add two expressions) but I think this also creates changes in phase when you alter t, (e.g. t+120 is phase shifted saw), so this opens up phase modulation (so fm like) when combined with counters etc
|
|
|
Post by NightMachines on Sept 18, 2018 11:38:39 GMT
couple of comments: - i don't really think the relationship to C is that strong ... - addition, subtraction ... this also creates changes in phase when you alter t, (e.g. t+120 is phase shifted saw), so this opens up phase modulation (so fm like) when combined with counters etc Thank you very much  I wasn’t sure about the loose relationship to C, so that is good to know and I’ll update the guide accordingly. I’m more of a “designer” with only two semesters of basic Java under my belt, so I’m not really at home with the actual languages and their concepts. Regarding addition and subtraction you’re absolutely right! I even do a tiny phase shift in my triangle wave example at the end, to fix the drop to 0. I’ll include phase shifting in the addition and subtraction paragraph then, with a little exercise. I just played around with this for a minute and it indeed adds a lot of character when modulated with counters, as you mentioned!
|
|
|
Post by admin on Sept 18, 2018 11:55:22 GMT
Thanks Felix for creating this very comprehensive guide to Bytebeat. Before it was all quite mystical and weird and now it makes (almost) sense. I think with your guide and especially the sequencer snippet you have definitely elevated this notation to a serious music production tool. Just one addition though, I found the Evaluator a great tool, too. It's really very sophisticated as it can read MIDI notes and CC messages and you can apparantly add it as a VST to your DAW! damikyu.itch.io/evaluator
|
|
|
Post by NightMachines on Sept 18, 2018 12:10:37 GMT
Just one addition though, I found the Evaluator a great tool, too. It's really very sophisticated as it can read MIDI notes and CC messages and you can apparantly add it as a VST to your DAW! damikyu.itch.io/evaluatorThanks! I didn't have time yet to check this out from earlier, but I'll include it in the guide as well 
|
|
|
Post by NightMachines on Sept 18, 2018 18:06:08 GMT
Here's a new version. Thanks again for the input  XXXXX REMOVED AGAIN XXXXX v1.1 2019-09-18 I'll see how to turn this into a thread then.
|
|
|
Post by NightMachines on Sept 22, 2018 23:45:05 GMT
|
|
|
Post by admin on Sept 23, 2018 2:16:53 GMT
This keeps getting better and better, definitely THE best written guide on Bytebeat on the web. You should post this to /r/bytebeat on Reddit!
|
|
|
Post by NightMachines on Sept 27, 2018 12:41:06 GMT
This keeps getting better and better, definitely THE best written guide on Bytebeat on the web. You should post this to /r/bytebeat on Reddit! Thanks!  I posted it on Reddit and a bunch of other places too.
|
|
|
Post by rodney on Jun 22, 2019 17:59:25 GMT
I'm late to this party!
A couple of years ago, I made a tangible augmented reality bytebeat synth and am preparing to revisit the thing to make it more interesting to use.
Currently, it needs a commercial version of TouchDesigner to work, so it's hard to share, but I'll try to make a more general one.
Coding takes me a long time though (that's why I'm attracted to TouchDesigner, PureData and othe spaghetti environments).
I'll talk more about this. I should not be hitting forums at 3am. 
Rod.
|
|