Site to Make Beats with Math

Multi-platform modular music creation studio
Post Reply
User avatar
Posts: 511
Joined: Tue Oct 26, 2010 9:54 pm

Site to Make Beats with Math

Post by SolarLune » Wed Apr 13, 2016 8:52 pm

Hey, there. I think one feature request that is on the to-do- list is a function module that allows you to make synths using math. Well, here's a little site that might be helpful for getting some ideas, Night. It allows you to make beats using math, and is pretty insane for such a simple tool.

Posts: 214
Joined: Mon Jun 02, 2014 7:56 am

Re: Site to Make Beats with Math

Post by iaon » Thu Apr 14, 2016 12:54 am

Ah yes, this stuff is called bytebeat. There are several online implementations of it and it's the basis for Caustic's 8BitSynth.
I really like IBNIZ. It's kind of related but uses it's own language and it has a visual side which can get pretty psychedelic. You can use it by trial and error without fully underrstanding how it operates. It can generate some textures that make for lush pads in SunVox's Sampler. That site also links to a blog that has more on bytebeat and how it all works.

User avatar
samrai katt kovboy
Posts: 309
Joined: Wed Jun 13, 2012 11:07 am
Location: Spain

Re: Site to Make Beats with Math

Post by samrai katt kovboy » Fri Apr 15, 2016 8:36 pm

There is two more nice apps for Android that are very good-
DroidBeat and
Bytebeat machine that is very interesting as you can choose to have a higher sample rate and a slider for speed. Plus that on the Google Play page it explains in a easy way the basics and it also comes with some great presets.
But in either case if there was a sound module like this in SunVox directly would be a fantastic addition!

Posts: 250
Joined: Wed Apr 06, 2011 11:03 pm

Re: Site to Make Beats with Math

Post by Darkhog » Mon May 02, 2016 5:30 am

Yup, create basic waveform using formula like in case of Glitch (but perhaps with more advanced math like sin, etc.) then play notes using it which would multiply pitch of the audio played by specific value without modifying playback speed (unlike working with samples).

So proposed design of the module:

- Aside of controllers that are in any module, like volume, sustain, attack/decay, etc. you'd get 8 general-use controllers.
- You'd get simple programming language (perhaps limited subset of pixi so you don't need to drag whole pixi stack to SunVox) where whatever you put into "output" variable will be sound generated for this specific sample/frame.
- Variable "time" would denote time since playback started in ms or in frames/samples (don't know which would be better)
- You'd get access to basic arithmetic (+-/*), bitwise arithmetic and basic math functions to generate sound.
- The language will also feature bools and if expressions to make more complex generation possible
- Volume, sustain, attack/decay and note velocity would be automatically taken into account when outputting sound from module

With that in mind, here's some simple code:

Code: Select all

output=sin(time) #outputs simple sine waveform

Code: Select all

#con1-8 denotes value of general-use controllers
#con1-8 have values between 0 and FF (255)

#if variable doesn't exist, it's created.
a= con1/3
b= con3*sin(con6+time)
if (con2==1) {
if (con2==2) {
output=a+b #only last assigned value to output matters
if (con2!=1 && con2!=2){
output = 0 #silence since con2 has invalid value
Similar system would be for effect variant with the only difference being that there would be also "input" variable which denotes mix of every sound coming to the effect (incoming connections). So the following in case of effect module would be a simple passthrough:

Code: Select all

output=input #not sure why you would want a simple passthrough, but here you have it
"input" will be read-only and "output" write-only (as it doesn't make sense to make them otherwise).

Sunvox modules are great and all, but sometimes these aren't enough.

Post Reply