New games every week!
JSE - Musical Happenings Blog
17th June 2021
Right then, let's stick with the old, and bulk up the capabilities.

-=-=-

Over the past few days I tried wrangling some Megadrive/Genesis sounds into the engine, but.. Nope..
No, no, no..
They sounded ok, occasionally, but with the music engine being mostly randomised, the results were far from ear pleasing.

Instead then, yesterday I went back to "Make it sound a bit more like an Amstrad CPC" methods.
No new instruments have been added yet, but I've played about with Amplify/Decay/Sustain settings have the results are much better than they were with the Megadrive sounds.
On top of that, I've added a little chirp functionality to some of the instruments, giving a vague ARP effect without needing to know what chords the song is in.
The result is quite pleasing, and with all that playing fairly well, I opted to spend a majority of the day doing musical things..

Here's the first edition of JMTrackr Jukebox.

// JMTrackr Jukebox // by Jayenkai // Created 2021/6/15 Dim Tune$(256) Dim Name$(256) Dim Tempo(256) n=0 Name$(n)="JMing Something"; Tempo(n)=120 Tune$(n)="<C16>G16C8r8<C16>G16C8r16<C16r16>G16C8<C16>G16C8r8<C16>G16C8<C16r16>C8r8|E8G8G16F16E8F16G16F16D16E16r16C16D16E8G8G16F16E16C16E4r8C16D16|G8G8<C8C8>G8G8C8r8G8G8<C8C8>G8G8C8r8|G4G4C4C4G4G4<C4r4|r8G16r16E16G16r8G16r16E16G16r8A16G16r8G16r16E16G16E16D16E8r4r8|r1|[d]|C8C8C8C8C8C8C8C16C16C8C8C8C8C8C16C16C4|C16G+16C16G+16C16G+16D16G+16C16G+16C16G+16C16G+16D16G+32D32C16G+16C16G+16C16G+16D16G+16C16G+16C16G+16C16D16D16G+16|r1r1|" n=n+1 Name$(n)="JMbo"; Tempo(n)=120 Tune$(n)="C16E16G16<C16r4>C16E16G16<C16r4>C16E16G16<C16r4C16>G16E16C16r4|r4C16E16G16<C16r2r4C16>G16E16C16r2|G8G8E8E8C8C8D8C16E16G8G8E8E8C4r4|>G8r32r32<G16r8G16r8r16>G8<G16r8r16>G8r32r32<G16r8G16r16>G16r16G8<G16r8r16|r4G16r16G16E16C16r1r4r8r16|r1r8C8C16C16C16<C8C16C8r4|r1r8G16r16G16G16G16<G16r16G16G16r4r16|r1|[d]|C4C4C4C8D8C4C4C8D8C4|C8G+8C8G+8C8G+8C8G+8C8G+8C8G+8C8G+16D8C16D16G+16|r1|" n=n+1 Name$(n)="TrackrTacks"; Tempo(n)=120 Tune$(n)="C4r8C8E8G8A8G8C16r8C16r8C16C16E16C16G8A8r8|C8r16C16r4C8r16C16r4C8r16C16r4C8r16C16r4|C8r16C16r4r8C16r16C16r8r16C8r16C16r4C32r32C32r32C16r16C16r8r16|C16>G16<C16E16G16E16C16E16C16>G16<C16E16G16r8r16C16>G16<C16E16G16E16C16E16C16G16E16>G16<C16r8r16|r1|[d]|C8G+16C16D8C16G+8C16G+8D8C16G+16C8G+16C16D8C16G+8C16G+8D16G+16C16D16|r1|" n=n+1 Name$(n)="Flappadiddle"; Tempo(n)=120 Tune$(n)="C32r16r32>G32<r32>A+32<r32C32r16r32>G32<r32>A+32<r32C32r16r32C32r32D+32r32D32r32C32r32>A+32<r16r32|C32r16r32C32r32D+32r32F32r16r32G32r16r32C32r16r32C32r32D+32r32F32r16r32G32r16r32|G8r8F8r8D+8r8C8r8|C8r16C16r8C16r16C8r16C16r8C16r16|<C8>C16<C16>r16G16<C8>A+16r8r16G16r16A+16r16|[d]|C8F+8D8F+16>B8<F+16C8D8F+8|C8F+16C8F+16C8r16F+16D8D8F+8" n=n+1 Name$(n)="Busy Road"; Tempo(n)=120 Tune$(n)="F8F16F16A8<C8>B8A8B16A16G8|F8r8F8r8F8r8A8r8|A8r16F8r16A8r16F8r16A8F8|>F16r8r16F16r8r16F16r8r16F16r8r16|r4>A16r16A16r4r16A16r16A16r16|r8F16r8r16F16r8r16A16r8r16A16r16|r1|[d]|C4D4C4D4|C8F+8D8F+8C8F+8D8F+8|C8F+16C16D8F+8C8F+16C16D8D8|r1|" n=n+1 Name$(n)="Jellyfish"; Tempo(n)=120 Tune$(n)="C16C16C16>G16r4r8<C16C16C16>G16r8|>G16r8r16G16r8r16G16r8r16G16r8r16|r4r8<C16C16C16>G16r4r8|r8C32r32C32r8r32C32r32C32r8r32C32r32C32r8r32C32r32C32r32|r1|[d]|C4C4C4C4|C4D4C4D4|C8G+8D8G+8C8G+8D8G+16D16|r1|" n=n+1 Name$(n)="Not Pong"; Tempo(n)=120 Tune$(n)="<G32r4r8r16r32>G32r4r8r16r32|>G16r8r16<C16r8r16D+16r8r16C16r8r16|r8<C16r8r16C16r8r16C16r8r16C16r16|C16r16C16r16C16r16>G16r16G16r16G16r16G16r8r16|C16r8C16r8C16r8C16r8C16r16>G16r16|r8C32r32C32r32C16r4r16C32r32C32r32C16r8r16|r1|[d]|C8G+8C8G+8C8G+8C8G+16G+16|C16G+8C16D8G+8C8C16C16D16r16G+16r16|C8G+8D8G+8C8G+8D8G+16D16|r1|" n=n+1 Name$(n)="Poll Drop"; Tempo(n)=120 Tune$(n)="C8G8>G8<G8C8G8>G8<G8|C8G8>G8<G8C8>G8A8B8|G16A16G16F16G16A16G16B16<C2|G16A16G16F16G16A16G16F16G16A16G16F16G16A16G16F16|<C16>B16A16G16F16E16D16C16>B16A16G16F16E16D16C8|C32r32D32r32E32r32F32r32G32r32A32r32B32r32<C32r32D32r32E32r32F32r32G32r32A32r32B32r8r32|r1|[d]|C8D8C8D8C8D8C8D8|C8D8C8D8C8D8C8D16D16|r1|" n=n+1 Name$(n)="Floor Lamp"; Tempo(n)=120 Tune$(n)="C16r8C16r8E8G8r4r8|r2r8r16G16A16r16G16r16|>C16r16<C32r32C32r32>C16r16<C32r32C32r32>C16r16<C32r32C32r32>C16r16<C32r32C32r32|>G8r16G8r16G16r16r2|r2C8r16C8r16C16r16|r1|[d]|C16G+8G+16C8G+4G+4G+8|C16G+8G+16D16G+8G+16C8G+16G+16D8G+8|C8G+16C16D8G+16D16C16D16C16G+16D8G+8|r1|" n=n+1 Name$(n)="Rumbled Ground"; Tempo(n)=100 Tune$(n)="C32r32C32r32C32r32C32r32C32r4r8r16r32C32r16r32C32r16r32|>G32r32G32r32G32r32G32r32<C32r4r8r16r32>G32r16r32<C32r16r32|E32r32C32r32E32r32C32r32>G32r4r8r16r32<C32r16r32E32r16r32|r8<C32r8r16r32C32r8r16r32C32r8r16r32C32r16r32|r8>G16r8r16G16r8r16G16r8r16G16r16|C16r8C16r8C16r8C16r8C16r16C16r16|G32r8r32E32r8r32C32r8r32>G32r8r32<C32r16r32E32r16r32|r1|[d]|C4C4C4C4|C8F+8C8F+8C8F+16F+16C8F+8|C8F+16C8r16C8r16C16F+8C8C16F+16|C8F+16C16D8F+16C8D16C16F+16D8F+8|r1|" n=n+1 Name$(n)="Meatballs"; Tempo(n)=120 Tune$(n)=">C8C32r32C32r32C8C8C32r32C32r32C8C8C32r16r32|>G8G32r32G32r32G8G8G32r32G32r32G8G8G32r16r32|G16r8G16r8G16r16C16r8C16r8C16r16|C32r16r32C32r32E32r32G32r16r32G32r16r32G32r32E32r32C32r4r16r32|r2r4C32E32G32E32C32r16r32|G8r8C8r8>G8r8<C8r8|r8G16r32r32r32r16r32C16r32r8r32>G16r32r8r32<C16r32r32|C16E16G16r8C16E16G16r16C16r16C16G16r16C16r16|r1|[d]|C8F+8C8F+8C8F+8C8F+8|C8F+8D8F+16C8F+16C8D8F+8|C16F+16G+16F+16D16F+16G+16F+16C16F+16G+16F+16D16F+16G+16F+16|r1|" n=n+1 Name$(n)="Original Goodness"; Tempo(n)=120 Tune$(n)="C8<C8>C8<C8>>G8<G8>G8<G8>A8<A8>A8<A8>A+8<A+8D8<D8|>G8<G8>G8<G8>D8<D8>D8<D8>F8<F8>F8<F8>G8<G8>G8<G8|<C8r4C8r2r4r8>G16r16<C16r16D16r16E16r16D16r16|C2r4D4E4D4C4D4|C8r8D8r8E16r16G16r16E4F16r16F16E16D8G8E16r16D16r16C8>G16r16|<C4r8>G4r8A+16r16G16r16<C4r8>G4r8A+16r16G16r16|r1|[d]|C4D8r16G+16C8G+8D8G+16D16C4D8r16G+16C8G+8D8D16G+16|r1|" n=n+1 Name$(n)="Original Justification"; Tempo(n)=100 Tune$(n)="G16F16G16<C16>G16r16C16r2r16G16F16G16<C16E16C16>G16r16<C8r4r8|C32r32C32r32C16C32C32C32r32C16C32C32C32r32F32r32F32r32F16F32F32>G32r32G16G32A32B32r32<C32r32C32r32C16C32C32C32r32C16C32C32C32r32F32r32F32r32F16F32F32>G32r32G16G32A32B32r32|r2r16F32r32G32r32<C32r32>G16r16C32r2r8r32F32r32G32r32<C32r32>G8r8|G8r16C8r16G8A+4<C4>G8r16C8r16G8F4G4|C8r16>G8r16<C8F4G4C8r16>G8r16<C8C4C4|r1|[d]|C16D16G+16C8G+16C16G+16C16D16G+16C8C16D8C16D16G+16C8G+16C16G+16C16D16G+16C8C16D16D16|r1|" n=n+1 Name$(n)="Original Lifeform"; Tempo(n)=120 Tune$(n)="<C4r8>A+16G4r16A+4<C4r8>A+16G2r16|C4r8D8D+4D4C4r8D8D+2|C8C8C8C8C8C8C8C8D+8D+8D+8D+8>A+8A+8A+8A+8|C8C8C8C4C8C8C8D+8D+8D+8D+4>A+8A+8A+8|C16r8C16r8C16r8C16r8C16r16C16r16D+16r8D+16r8D+16r8>A+16r8A+16r16A+16r16|C16D+16C16<C8C8C16>C16D+16C16<C8C8C16>C16D+16C16<C8C8C16>C16D+16C16<C8r16C16C16|r1|[d]|r8G+4G+4G+4G+4G+4G+4G+4G+16G+16|C8G+16C16D8G+8C8G+16C16D8G+8C8G+16C16D8G+8C8D8D8G+8|r1|" n=n+1 Name$(n)="Original Naivety"; Tempo(n)=80 Tune$(n)="A+32<D32F32A+32>A+32<D32F32A+32>A+32<D32F32A+32>A+32<D32F32A+32>A32<C32F32A32>A32<C32F32A32>A32<C32F32A32>A32<C32F32A32>G32<C32D+32G32>G32<C32D+32G32>G32<C32D+32G32>G32<C32D+32G32>G32A+32<D32G32>G32A+32<D32G32>G32A+32<D32G32>G32A+32<D32G32|r8<F16F16D+16D16D+16r8F16F16F16G16r16F16r8r16F16F16D+16D16D+16r8F16F16F16G16F16>A+16r16|r16>A+32r16r32A+32r16r32A+32r16r32A+32r16r32<F32r16r32F32r16r32F32r16r32F32r16r32D+32r16r32D+32r16r32D+32r16r32D+32r16r32D32r16r32D32r16r32C32r16r32D32r32|>A+32A+32r16A+32A+32r16A+32A+32r16A+32A+32r16<F32F32r16F32F32r16F32F32r16F32F32r16D+32D+32r16D+32D+32r16D+32D+32r16D+32D+32r16D32D32r16D32D32r16C32C32r16D32D32r16|A+16<C16D16F8r16D+16D16D+16F16F8r4>A+16<C16D16F8r16G16F2r16|r1|[d]|C16G+16D16G+32D16r32C16D16G+16C16G+16D16G+32D16r32C16D16G+16C16G+16D16G+32D16r32C16D16G+16C16G+16D16G+32D16r32C16D16G+16|r1|" n=n+1 Name$(n)="Original Quail"; Tempo(n)=120 Tune$(n)="G8G8G8G8A+8A+8A+8<C16D16C8C8C8>G8A+8A+8A8F8|>G16<G16>G16<G16>G16<G16>G16<G16>A+16<A+16>A+16<A+16>A+16<A+16>A+16<A+16C16<C16>C16<C16>C16<C16>C16<C16>>A+16<A+16>A+16<A+16>A16<A16>F16<F16|G8r16>G8G16A+16<D16C8r16>A+8r16A8<G8r16>G8G16A+16<D16C8r16>A+8r16A8|G8G8G16>G16A+16<D16G8G8G16>G16A+16<D16G8G8G16>G16A+16<D16G8G8G16>G16A+16<D16|r8G16G16G8A+8A+8r16F4r8r16G16G16G4r16G8A16A+8F8|G16D16G16A+16<D16>A+16G16A+16A+16F16A+16<D16F16D16>A+16<D16C16>G16<C16D16C16D16C16>G16A+16G16A+16G16F16D16F16A+16|<G8F8D8>A+4<D8F4G8F8D8>A+4<D8F4|r1r1|[d]|C8G+8D8r16G+16C8G+8D8r16G+16C8G+8D8r16G+16C8G+8D8r16G+16|r1|" n=n+1 Name$(n)="Original Slant"; Tempo(n)=120 Tune$(n)="A16r8A16r8F16r16A16r8A16r8A+16r16A16r8A16r8F16r16A16F32r32A32r32A+32r32A8F16r16|>F32r32A32r32A32r32A32r32<A16>A32r32A32r32A+32r32<C32r32C32r32C32r32C32r32A+16>A+32r32A32r32A+32r32F32r32A32r32A32r32A32r32<A16>A32r32A32r32A+32r32<C32r32C32r32C32r32C32r32A+16>A+32r32A32r32A+32r32|A8r16r8r16F8r16r8r16A8r16r16<C8r16r8r16>A+8r16r8r16G8r16r16|A16r8A16<C16>A+16A16r16A+8r8G8r8A16r8A16<C16>A+16A16r16A+8r4r8|r1r8A16r16A8A+8<C16r16>A+16r16A8A+16r16|A8r16A16r8A8r4r16F16A32r32A+32r32<C8r16C16r8>A8r2|r8A32r32A+32r32<C16>A+32r32A16r8r16A32r32<C32r16r32>A+32r32A16r8r16A32r32A+32r32<C16>A+32r32A16r8r16A32r32F32r32A32r32<C32r32>A16r16|r1|[d]|C4r8C8C4r8C8C4r8C8C4C4|C8G+16D8r16D8G+8C8D8G+8C8G+16D8r16D8G+8C8D16C16G+16A16|r1|" n=n+1 Name$(n)="Original Treatment"; Tempo(n)=120 Tune$(n)="C4C4C4C8G4G4G8G4E4|C8<C8>C8<C8>C8<C8>C8<C8>G8<G8>G8<G8>G8<G8>E8<E8|E2r8F4r8G2F2|E16C16E16F16G16r16E16C16E16F16G16r16F16E16G16r16E16C16E16F16G16r16E16C16E16F16G16r16F16E16G16r16|r8E16r16E16r16F16r16G16r8r16E8r4E16r16E16r16D16E16r2|E16r16E16r16E16r16F16r16G16r4r8r16E16r16E16r16E16r16D16E16r2|r1|[d]|C8G+8D8G+16F+16C8G+8D8G+8C8G+8D8G+16F+16C8G+8D8G+8|r1|" n=n+1 Name$(n)="Original Wound"; Tempo(n)=120 Tune$(n)=">C8r8<<C8r16C16r8C16r16>C8r8>C8r8<<C8r16C16r2|r8C32r32C32r2r4r8r32C32r32C32r2r4r32|r2r8<C16r8r16C16r2r8r16C16r8r16C16r16|r4C8r32r32C16r2r4C8r32r32C16r2|<C16r16>C16r16G16r16<C16r16>A+16r16G16r16F16r16G16r16<C16r16>C16r16G16r16<C16r16>A+16r4r8r16|<C1>C2<D+2|r1|[d]|C8G+8D8C16G+8r16G+8D8G+8C8G+8D8C16G+8r16G+8D8G+8|r1|" n=n+1 Name$(n)="Original Xodus"; Tempo(n)=120 Tune$(n)="C16G16<C16>C16G16<C16>C16G16<C16>C16G16<C16>C16G16<C16r16>C16G16<C16>C16G16<C16>C16G16<C16>C16G16<C16>C16G16<C16r16|C4r8r4F4r8G2F2|<C16r16C16r16C16r16C16r16C16r16>G8r8A+16r16<C16r16C16r16C16r16C16r16C16r16>G8r8G16r16|C16r16C16C16C16r16C16C16C16r16C16C16>G16r16A+16r16<C16r16C16C16C16r16C16C16C16r16C16C16>G16r16A+16r16|G2E2A+2G2|C2E2F2C2|r4G4F4E4E8F8G8C4r4r8|r1|[d]|r8G+4G+4G+4G+4G+4G+4G+4G+8|C8C16C16G+8C16C16C8C16C16G+8C8C8C16C16G+8C16C16C8C16C16G+8C8|C8G+16C16D8G+8r16C16G+8D8G+8C8G+16C16D8G+8r16C16G+8D8G+16D16|r1|" n=n+1 Name$(n)="Original Yurt"; Tempo(n)=80 Tune$(n)="E16r32E32C16r32C32G16r32G32E16C16D16D32E32F16E16C8>G8<E16r32E32C16r32C32G16r32G32E16C16D16D32E32F16E16C8r8|>G16<G16C16G16>G16<G16C16G16>F16<F16D16F16D16>F16<D16F16>G16<G16C16G16>G16<G16C16G16>F16<F16D16F16D16>F16<D16F16|C16r16D16r16E16D16C16D16C16r32r16r32G16r32r4r32F16F16G16A16G16F16G16F16r16C16r16D16r16E16r16|C2D2E2D2|r16C16C16>G16<C16G16C16r2r8C16C16>G16<C16G16C16r2r16|r2r16C16C16>G16<C16G16E16D16r2r16C16C16D16E16D16C16r16|r1|[d]|C16G+16C16G+16C16G+32D16r32D16C16G+16C16G+16C16G+32D16r32D16C16G+16C16G+16C16G+32D16r32D16C16G+16C16G+16C32D32C32G+32D16D16|C8C8C8C8C8C8C8C16C16C8C8C8C8C8C8C4|r1|" n=n+1 count=n-1 Playing=0 mdis=0 Graphics 1280,720,1 Repeat CLS 30,30,80 SetFontSize 12 if MouseDown()<1 then mdis=0 sx=1 w=ScreenWidth*0.23 x=((ScreenWidth*0.25)*(sx-0.5)) y=50 for n=0 to count x=((ScreenWidth*0.25)*(sx-0.5)) SetCol 50,50,100 if MouseIn(x,y,w,20,1)>0 SetCol 80,80,140 if MouseDown() and mdis==0 then Playing=n spd=Rand(0,2)*20+Tempo(n) mdis=1:JMTrackr(spd,Tune$(n)); endif endif Rect x,y,w,20,1 SetCol 255,255,255 Text x,y,Name$(n),1 sx=sx+1 if sx>4 then sx=1:y=y+28 next if spd>0 then Text ScreenWidth/2,20,"Playing "+Name$(Playing)+" at "+spd,1 Flip Forever


I'll continue to fill this up with little melodies, and hopefully it'll be of use to anyone who needs to grab a bit of music.
Views 109, Upvotes 19  
Daily Blog , Jse , Jmtrackr
New games every week!
Site credits : Jayenkai put all his heart and soul into everything you can see on this site.
(c) Jayenkai 2023 and onwards, RSS feed 100

Blog - JSE - Musical Happenings - AGameAWeek