Having fun messing around with sound

every track on beepbox is always the same length no matter what, but in ultrabox you get mod channels which alows this (i have it in my dwell song):

And that basically is 1/4 of a measure.

oh wait a track is an instrument i think. there is more that should be added, but i had a rough idea of organizing it as:

class SongNote {
    pitches: number[] // 0-63 (chords and stuff are multiple, empty array is no note)
    shifts: number[]   // shift of notes, ordered same as volumes but [time (in grid ticks), shiftAmount, time, shiftAmount], empty array is no pitch slide
    duration: number  // Number of grid ticks
    volumes: number[] // volume can change any time the note plays! how it is ordered: [volume, time, volume, time,... volume] where time is the distance between surrounding volumes, vol is between 0 and 3
    // for volumes and shifts, the changing of pitch/vol is a slide, not an immediate change
    
    // example:
    // pitches: [18, 20, 23]
    // shifts: [1,-1, 1,0, 2,-2]
    // duration: 4
    // volume: [3 4,0]
}

class SongTrack {
    notes: Note[] // Chronological list of notes
    
    //envelopes, instrument sound, effects, etc.
}

class SongProject {
    bpm: number
    tracks: SongTrack[]
}
1 Like

Can a mod send this over to my music editor topic so we aren’t off topic in Comings and Goings?

5 Likes

Ok, I have done some testing and I found that you can paste text into game.askForString() boxes so that makes importing songs super easy!