1k dance
 
  Mar 10th 2019 4:13pm
 
/player/EntryPlay/31132/
31132
 
1007 characters (less if i remove all line breaks), although the .txt file itself is 1023 bytes big, so there's that.

i'm proud of this, not so much because of the song itself (it sux), but because i pretty much made this from scratch, figuring stuff out by myself (while on other entries i based myself on code from jimmyoshi/greggman, not really trying too much to understand what was Actually going on in it).

so yeah, i hope you like it!
Creative Commons License
86
5
21
6
 


previous entry
kleeder - Might belong to the Past


nextious entry
GoldenDenis - VeryRareFormatsImage
 
108974
Level 26 Chipist
post #108974 :: 2019.03.10 4:13pm :: edit 2019.03.10 4:13pm
and here's a link
to greggman's website! play in 11khz if it isn't already
 
 
108975
Level 20 Chipist
post #108975 :: 2019.03.10 5:08pm
  
  raphaelgoulart liēkd this
i really like that chord progression. very impressive! i just wish it was longer, but 1k doesnt leave much room i guess.
 
 
108978
Level 26 Chipist
post #108978 :: 2019.03.10 5:42pm
  
  pigdevil2010 and tennisers liēkd this
 
 
109014
Level 20 Chipist
post #109014 :: 2019.03.10 8:31pm
  
  raphaelgoulart liēkd this
Been listening to this on repeat, such a good song..
I've always wanted to know how those variables with the list of pitches (numbers) worked.
Seems like it creates an actual sequence of notes you can change individually rather than one note or something.
 
 
109019
Level 26 Chipist
post #109019 :: 2019.03.11 8:10am :: edit 2019.03.11 8:11am
  
  Yung Gotenks and kleeder liēkd this
so, messing around with bytebeat you probably noticerd that putting only "t" will generate a sawtooth wave at a fixed frequency.
you might also have noticed that multiplying t with something will change its frequency.

if we want to make a sawtooth that changes notes over time, we will need some kind of time reference. of course we can use t itself, but for me its simpler to divide it with some number, and use a "beat counter" or something.

so based on that, here's some small code:
beat = t/1000,
notes = [4,0,4,4.5,5,5,4,0,5.3,5.3,5,0,4.5,4.5,5.3,0,5,5,4,0,3,3,2.8,0,2.65,2.65,2.65,2.65,2.65,0,2.65,2.8],
t * notes[floor(beat % 32)] % 128

"beat" is the "beat counter" i mentioned above
"notes" is an array representing which number should t be multiplied with at each moment in the song
"t * notes[floor(beat % 32)]" means t multiplied by the number found in the position "floor(beat % 32)" inside the "notes" array. wtf is that position?
"beat % 32" ensures that the value loops from 0 to 31, since the "notes" array has 32 values in it
"floor(beat % 32)" ensures that the number gets rounded down; since you can access the 3rd position of an array, but not the 3.85649084rd (reminder that beat = t/1000 and t/1000 will not necessarily be a whole number)
lastly "% 128" in the end just halves the volume of the saw, but also doubles its pitch (test with t%128), this is useful because we cannot have more than one track if this one track's volume is maximum

this is the base of my track really, all it changes is that i used different instruments other than sawtooth, but the way notes are stored are pretty much that

i hope this explanation is decent enough! i just woke up so some parts may be poorly written, if you have any questions feel free to ask etc
 
 
109020
Level 26 Chipist
post #109020 :: 2019.03.11 8:24am :: edit 2019.03.11 8:24am
  
  Yung Gotenks liēkd this
also here's a 44khz render
, because why not
 
 

LOGIN or REGISTER to add your own comments!