Jump to content
IGNORED

Trying to make some PoKEY music!


VinsCool

Recommended Posts

21 hours ago, VinsCool said:

I had seen this message in the .exe when I was playing with note tables, but I guess now I found how to actually trigger it lol
Unsurprisingly, this also makes RMT2LZSS crash when I attempt to convert modules with instrument speed greater than 4 :D It outputs sapr and lz16 files, yay for breaking everything doing unexpected things, hahahaha
image.png.5623da2fa44cffcc4c1bd311e653e6cf.png

Yeah it's pretty easy to support if the LZSS player just sits idle while waiting for the right scanline before running (meaning it sucks all the CPU time)...

Like I've mentioned a while back: 400hz is possible, perhaps even 800hz... but I doubt you'd want 4 channels at 800hz because it would be a waste of cycles and also a waste of space (the tune would have to be really short to fit in 64KB). 

Perhaps a single one and the rest at a lower playback speed. But then it means altering the LZSS compressor to compress Pokey channels individually... a bit of work for something that's not important at this point.

 

 

That latest sketch sounds pretty good too!

Edited by rensoup
  • Thanks 1
Link to comment
Share on other sites

4 hours ago, rensoup said:

Yeah it's pretty easy to support if the LZSS player just sits idle while waiting for the right scanline before running (meaning it sucks all the CPU time)...

Like I've mentioned a while back: 400hz is possible, perhaps even 800hz... but I doubt you'd want 4 channels at 800hz because it would be a waste of cycles and also a waste of space (the tune would have to be really short to fit in 64KB). 

Perhaps a single one and the rest at a lower playback speed. But then it means altering the LZSS compressor to compress Pokey channels individually... a bit of work for something that's not important at this point.

That was the only reason I tried that out, I was curious to see if there would even be a output at all, and it looks like there was, there program would run into a out of bounds exception, but it would still generate really large sapr files, as well as .lz16 files, but they looked unusable. I also attempted to manually build a .obx by sticking together a dummied out .obx I had around and the .lz16 output, but the tune ended up running in really slow speed... which makes me think it actually did get the data but ran it at the normal speed instead, no idea what I am doing at that point lol


A bit later the same days I had been hacking around the RMT .xex output and was actually able to run my tune at really overwhelming speeds, the entire screen was filled with raster bars overlapping and flickering, making any graphical output impossible, hahaha
At that point I was murdering the CPU, lol
I wonder how that would run on my machine... probably the same.
 

 

4 hours ago, rensoup said:

That latest sketch sounds pretty good too!

Thank you! I improvised that one on the spot just for the sawtooth waveform test, but I ended up doing some PWM chords using the recently discovered high pass filter interval tricks as well.

Possibly something decent to finish in the future :) 
The sawtooth method definitely works well there. I just need to improve the tuning and help reduce the dog whistle sound if I can lol
Or avoid anything below octave 3... I'll see eventually. I did not really have much time to play with that stuff today, so next time I'll be able to tell.

Sort of related I received a POKEY chip in the mail yesterday, maybe I could build myself a stereo setup, or use if for something else... we'll see in due time :D 

  • Like 3
Link to comment
Share on other sites

23 hours ago, VinsCool said:

That was the only reason I tried that out, I was curious to see if there would even be a output at all, and it looks like there was, there program would run into a out of bounds exception, but it would still generate really large sapr files, as well as .lz16 files, but they looked unusable. I also attempted to manually build a .obx by sticking together a dummied out .obx I had around and the .lz16 output, but the tune ended up running in really slow speed... which makes me think it actually did get the data but ran it at the normal speed instead, no idea what I am doing at that point lol

yeah it should output the file fine, there really isn't any reason for it not too because it's just dumping the raw pokey data and the instrument speed is irrelevant. But it might crash when looking up the string corresponding the speed ("50hz"/.../"200hz") because it isn't there obviously ? (or some other equally silly crash)

Dmsc's original LZSS player would also play it fine, but not my version because it relies on interrupts for efficiency (and that's not entirely possible above 200hz).

 

Bottom line: Don't do it ?

 

 

  • Haha 1
Link to comment
Share on other sites

Finally did some important progress with tuning and tables.

- added a new table entry, for 15khz, optimised for the bass octaves especially, matches my Alternate Tuning used in 64khz. "Distortion 10" in the CustomNoteTables.txt file
- remade the entire sawtooth tables from scratch, avoiding as much hissing as possible keeping sacrificing the less tuning accuracy as possible. Could still be improved. Also matching the Alternate Tuning tables.

Overall really happy of the result, especially for 15khz, it's a drastic improvement, so using these tables in tunes where you assign instruments for either modes, it should no longer sound as out of tune as it used to be :) 
Sawtooth is also entirely its own thing now, while synthpopalooza's table was an excellent reference, this was made entirely from zero again with my other tables in mind, making pretty much everything nicely tuned as well.

If you find any mistake, or have any suggestions for possible improvements, please let me know :D 


Also the .rmt is still the exact same from last time, pretty amazing how some tables and some custom instrument stuff can do a huge difference!

POKEY Table 1.79mhz (Octave Pattern, Sawtooth) v10.txt CustomNoteTables.txt Sketch 45 v2.xex Sketch 45 v2.rmt Sketch 45 v2.erti

  • Like 5
Link to comment
Share on other sites

Doing some tests on a tune I have not yet finished composing.
Switching between modes every beats made it an excellent candidate to test out my 15khz table.

Either I helped it, or made it worse, that will be subjective.

 

 

 

I also ran the same executable in PAL mode, so it ran slower, but then gave a better idea about what was changed between 15khz and 64khz.
I was afraid it would sound worse in PAL but it actually seems okay.

 



I also made a really stupid mistake in the table yesterday, so I spent too much time today trying to track down where I fucked up, and I even considered there could have been a bug in RMT2LZSS but nope, I am the only one responsible for screwing up :D 

That being said, there's still a lot of improvements I could try to do... I never expected tuning to be such a huge amount of work.

CustomNoteTables.txt POKEY Table 1.79mhz (Octave Pattern, Sawtooth) v11.txt Sketch 24 v41 tuning tests 8.xex

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Now that sounds more like what I wanted to get!
Finally, the bass sounds in-tune to me :D

 

 

I used the exact same tables from yesterday, but this time I improvised a proper tune idea instead of hacking an older idea and get poor results.
Very happy, that could only go really well from this point :P 

Sketch 46 v1.xex

  • Like 6
Link to comment
Share on other sites

Hello, it's me again lol

Improved 15khz mode tuning test 2, carefully timing when the tables switch to remain constant between modes.

 
God damnit this is painfully slow having to do it that way but this is incredibly rewarding, now that I got my tables/instruments done and working I can add more parts and more ideas in the tune itself :D 
Thankfully RMT still gives a really good idea of what it sounds like, but the tuning difference is a night and day change.

Also yes this is a 4 seconds loop, 1 pattern to be exact, but I got some ideas for that tune, even more knowing that stuff is confirmed to be stable and reliable :3 

Sketch 46 v4_tune3.xex

  • Like 11
Link to comment
Share on other sites

11 hours ago, VinsCool said:

Hello, it's me again lol

Improved 15khz mode tuning test 2, carefully timing when the tables switch to remain constant between modes.

 
God damnit this is painfully slow having to do it that way but this is incredibly rewarding, now that I got my tables/instruments done and working I can add more parts and more ideas in the tune itself :D 
Thankfully RMT still gives a really good idea of what it sounds like, but the tuning difference is a night and day change.

Also yes this is a 4 seconds loop, 1 pattern to be exact, but I got some ideas for that tune, even more knowing that stuff is confirmed to be stable and reliable :3 

Sketch 46 v4_tune3.xex 4.67 kB · 6 downloads

"Interval music" with some very cute sounding. 

  • Like 1
Link to comment
Share on other sites

Here's an .rmt I did not release yet AFAIK. It was a proof of concept of how to transcribe a song with siddump. It's one of my favorite SID songs.

 

 

 

Original:

https://deepsid.chordian.net/?file=/MUSICIANS/L/Laxity/Freeze.sid

 

The extreme vibrato in the beginning was not possible with this Pokey setting.

 

Anyway, I did this in Analmux's RMT 1.27patch6. And I transcribed the notes with siddump and entered them into RMT manually.

 

Looking forward to your sound design ;) :D

 

laxity-freeze-rmt127p6-rc1.rmt

Edited by ivop
explain lack of vibrato
  • Like 3
Link to comment
Share on other sites

15 hours ago, VinsCool said:

Also yes this is a 4 seconds loop, 1 pattern to be exact, but I got some ideas for that tune, even more knowing that stuff is confirmed to be stable and reliable :3 

Great vibe!

 

(Even though not usually my cup of tea)

 

Feels like a tune for a platformer or something ?

  • Thanks 1
Link to comment
Share on other sites

6 hours ago, emkay said:

"Interval music" with some very cute sounding. 

Well considering I did all my tuning based on intervals, this is indeed true lol

 

4 hours ago, ivop said:

Here's an .rmt I did not release yet AFAIK. It was a proof of concept of how to transcribe a song with siddump. It's one of my favorite SID songs.

 

 

 

Original:

https://deepsid.chordian.net/?file=/MUSICIANS/L/Laxity/Freeze.sid

 

The extreme vibrato in the beginning was not possible with this Pokey setting.

 

Anyway, I did this in Analmux's RMT 1.27patch6. And I transcribed the notes with siddump and entered them into RMT manually.

 

Looking forward to your sound design ;) :D

 

laxity-freeze-rmt127p6-rc1.rmt 4.05 kB · 4 downloads

Sounds really nice! thanks for sharing :D

 

2 hours ago, rensoup said:

Great vibe!

 

(Even though not usually my cup of tea)

 

Feels like a tune for a platformer or something ?

haha thanks!
Something bouncy is always good for platformers!
At least this isn't too "medieval" for once, I'm very much outside of my comfort zone with a style like this one :D 

All thanks to your tools! I've used pretty much everything you implemented there, on the fly tables loading, on the fly AUDCTL changes, custom tables outside of RMT's own hardcoded stuff, all running at 60hz, frame perfect, exactly how I wanted.
The most gain there is definitely the combination of 64khz and 15khz tuning tables. It really makes everything perfectly consistent, I couldn't notice the bass or the high notes being off anymore, and running the exact same tune with no patches still sounds good, but quite wrong at the same time, hahaha :P 
Finally these features are possible, even if I have to get them work using an external program, the output is what matters, and this feels incredibly good to know all that stuff is more than possible with some dedication! :) 

  • Like 1
Link to comment
Share on other sites

6 hours ago, ivop said:

Nice punchy beat! Looking forward to your lead melody magic :)

Well, it's not possible to put 16 bit drums and filter modulations to a common tune, but here is a stable version of the lead. 

I wonder, if it is ok this way or should I do some "low pass filter fx" to it? Or more active pulse width variations. 

I'm asking, because it sounds rather cool this way, and too much playing around could kill that. 

Depends on what people like :)

 

 

 

  • Like 2
  • Confused 1
Link to comment
Share on other sites

1 hour ago, emkay said:

Well, it's not possible to put 16 bit drums and filter modulations to a common tune

I disagree to this statement.

I have done it before, but not this time, there is no need for it, pitch accuracy will be worked around :D

 

1 hour ago, emkay said:

I wonder, if it is ok this way or should I do some "low pass filter fx" to it? Or more active pulse width variations. 

I'm asking, because it sounds rather cool this way, and too much playing around could kill that. 

Depends on what people like :)

Sounds good to me, but it's a little too static I think.

More modulation will certainly be nicer, and also making the 3rd channel a little more quiet might help in the mix since the lead is meant to go an octave higher.

Did you use the fine tune (2) commands method to modulate it? Since almost all the instruments start with a noise tick it's really easy to use it as a modulation purpose as well. That is how I modulated the 15khz bass in my example yesterday, and also will be used for the lead later, I have not yet decided of how I could try doing it.

 

1 hour ago, emkay said:

Sounds good!

The original lead instruments really show where they can be improved there, the vibrato is especially weird to me, but that's mainly my own personal taste.

In my opinion the lead would sound nicer if the pulse goes from thin to wider as the note is sustained, that would also sound a bit smoother, that was what the SID version did for the most part, and can very easily be recreated on the POKEY.

Link to comment
Share on other sites

22 hours ago, VinsCool said:

At least this isn't too "medieval" for once, I'm very much outside of my comfort zone with a style like this one :D 

Exactly, the less medieval the better ?

 

22 hours ago, VinsCool said:

All thanks to your tools! I've used pretty much everything you implemented there, on the fly tables loading, on the fly AUDCTL changes, custom tables outside of RMT's own hardcoded stuff, all running at 60hz, frame perfect, exactly how I wanted.

And it wasn't that much work (compared to converting the RMT player) but feel free to express your gratitude with an Axelay or Castlevania cover (with lots of PWM) ?

22 hours ago, VinsCool said:

Finally these features are possible, even if I have to get them work using an external program, the output is what matters, and this feels incredibly good to know all that stuff is more than possible with some dedication! :) 

It also helps figuring out what's actually useful vs what would probably be useful which could in turn help designing a potential new tracker... (but let's no get carried away!)

 

Right now RMT2LZSS should kind of act as "play" button replacement but I guess the compression step is a little slow? (But I guess you aren't exactly helping yourself with that Wine setup!)

  • Like 1
Link to comment
Share on other sites

2 hours ago, rensoup said:

Exactly, the less medieval the better ?

Pffff if I want to make folk rock tunes I have all the rights to do that :D 

2 hours ago, rensoup said:

Exactly, the less medieval the better ?

Guess I have got myself in a rabbit hole, hahaha :P 
Not that I am complaining about it, gotta make that POKEY sing (and sing in ways that aren't stereotypical of Atari music!)  

2 hours ago, rensoup said:

It also helps figuring out what's actually useful vs what would probably be useful which could in turn help designing a potential new tracker... (but let's no get carried away!)

Yep! Being able to make use of all these "hacked up" features is really awesome right now, and just shows how much potential certain things can provide if they really were implemented into a music tracker, specifically making use of them, instead of hardcoding only a fraction of them, and possibly make most people assume this is all the chip could produce.
Even myself fell for it, until I really spent time studying the chip, and figure many things were either poorly implemented (no offence intended, I understand the reasoning behind it, save memory, etc), or flat out missing, or hard coded in a way that forced a more advanced user to rely on hacks as a workaround.

I mean isn't that exactly what RMT2LZSS has been allowing us to do in the first place? XD

2 hours ago, rensoup said:

Right now RMT2LZSS should kind of act as "play" button replacement but I guess the compression step is a little slow? (But I guess you aren't exactly helping yourself with that Wine setup!)

Yep! Especially with that "Convert Again" button, and automatic emulator launcher, it really feels like it!
Very nice to use, it's just a little slow to get a hold of doing things in like 4 separate windows (RMT, txt editor, RMT2LZSS, etc), but the results speak for themselves.

I wouldn't say it's really that slow. A second or 2 is usually the amount of time I wait between the "Convert Again" click and the Altirra window popping up.
That's way reasonable compared to how things had to be done in ASM and ran each time, god damn I would take months to make a tune that way lol

Edited by VinsCool
typo
  • Like 1
Link to comment
Share on other sites

On 4/1/2021 at 4:44 AM, VinsCool said:

Guess I have got myself in a rabbit hole, hahaha :P 
Not that I am complaining about it, gotta make that POKEY sing (and sing in ways that aren't stereotypical of Atari music!) 

folk rock or medieval, I don't know which one is worse ?

 

  • Haha 1
Link to comment
Share on other sites

On 4/1/2021 at 4:44 AM, VinsCool said:


Not that I am complaining about it, gotta make that POKEY sing (and sing in ways that aren't stereotypical of Atari music!)  

 

Listening to Singers with an 8 bit pitch resolution like Idina Menzel , Pokey  might become a world superstar the other day. 

 

On 4/1/2021 at 4:44 AM, VinsCool said:

Yep! Being able to make use of all these "hacked up" features is really awesome right now, and just shows how much potential certain things can provide if they really were implemented into a music tracker, specifically making use of them, instead of hardcoding only a fraction of them, and possibly make most people assume this is all the chip could produce.
Even myself fell for it, until I really spent time studying the chip, and figure many things were either poorly implemented (no offence intended, I understand the reasoning behind it, save memory, etc), or flat out missing, or hard coded in a way that forced a more advanced user to rely on hacks as a workaround.

 

The challenge still is to have a good tune. 

The reality is: There has been 3 years of missing chiptunes, before SID arrived. 

;)

 

On 4/1/2021 at 4:44 AM, VinsCool said:

I mean isn't that exactly what RMT2LZSS has been allowing us to do in the first place? XD

Yep! Especially with that "Convert Again" button, and automatic emulator launcher, it really feels like it!
Very nice to use, it's just a little slow to get a hold of doing things in like 4 separate windows (RMT, txt editor, RMT2LZSS, etc), but the results speak for themselves.

I wouldn't say it's really that slow. A second or 2 is usually the amount of time I wait between the "Convert Again" click and the Altirra window popping up.
That's way reasonable compared to how things had to be done in ASM and ran each time, god damn I would take months to make a tune that way lol

 

Creating Pokey tunes in the past almost was some strange thing in the result. 

People used the wrong pitch row, put some strange portamento to it, do that on all channels and name it "Pokey tune". 

I really tried to understand that. And, well there are a lot tune where it works that way. 

 

 

Listen for up to 0:31

 

 

 

 

The background voice really adds this "spacy" sound to the tune, as in the original. 

This is not possible with the "original" note table. 

Low and high notes fit just "correctly" together. 

Well, I could have done a pitch correction myself, but a musician with a better understanding for setting frequencies might set the one or other note differently. 

And, I'm still impressed how well you did that. 

You might know that 100% correct notes in a chord might bring the wrong results, as there can be sometimes doppler or flanger effects when they were not wanted. 

So one "guitar" in the band needs a slight detune, to have a brighter sound. 

 

 

 

  • Like 2
  • Confused 1
  • Sad 1
Link to comment
Share on other sites

To explain it short:

If it is possible to load any tune from other platforms and to replay it with the same sense of the original, it will be possible to create pokey tunes that sound like " other people like it for the original sound".

95% of pokey tunes just were liked, because they "remind people of something" , not the original tune for itself.   

 

 

  • Like 1
Link to comment
Share on other sites

It's getting really late but I made some progress on that rearranged version:

Got all the bass, percussions and arpeggio chords done now, with very careful timing between 15khz and 64khz usage, it's still not perfect and I know I have left some errors behind but I'll improve that later, and add the lead melody on top of it as well :D 
I also found some errors in the original transcription, so hopefully this is getting very faithful to the original :) 

Currently the entirety of channel 1 is unused, and channel 3 has plenty of space, only used for the snare drum, but I can easily move them in a different channel when needed. I only wanted the 1.79mhz noise there.

Laxity - Freeze (Cover) v4.obx

Edited by VinsCool
Addendum
  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...