Jump to content
IGNORED

Trying to make some PoKEY music!


VinsCool

Recommended Posts

10 minutes ago, emkay said:

OK. How are you doing the visualisation?

 

Is it really necessary to record all channels separated and mux them, or is there a more comfortable way?

I pretty much record the tune in 5 passes, from 5 different executables, then assemble the oscilloscope video from them.

 

RMT2LZSS makes it incredibly easy since I can use the volume offset setting and mute channels by setting negative 15 on them, so I make 4 different files using that method, 1 per audio channel, then record the full version as well as the master audio file.

 

Then i record the sound from my Atari, and assemble the files using Audacity to splice and amplify the sound, and make everything synced up for the visual part.

 

It's slow but incredibly satisfying to get authentic hardware recording in action :D

 

 

  • Like 3
Link to comment
Share on other sites

Hum....

 

The only bad part there is that the resulting interaction of the different channels isn't easily to get. Particular if you only record one channel.

 

Bayusumardi did once a recording of my "Thing on a Spring" edit. On the 2nd channel he really recorded the interactivity  of two channels for the resulting wave. 

So you actually see why the waves get more voluminous.

 

 

 

Link to comment
Share on other sites

57 minutes ago, emkay said:

The only bad part there is that the resulting interaction of the different channels isn't easily to get. Particular if you only record one channel.

This is true, especially with inaccurate emulation, or changing the content of the channel, instead of the volume. Disabling a channel entirely creates a lot of weird effects with the ASAP sound emulation.
Altirra gets it right when it mutes channels to isolate the resulting waveforms, and the same also works with the RMT2LZSS volume offset changes, or manually editing a RMT to force the content of a channel to output volume 0 while keeping the frequency.
It also obviously works as expected on real hardware, very easy to see in the Amberstar cover, the Pulses are modulated exactly as expected.

 

1 hour ago, emkay said:

Bayusumardi did once a recording of my "Thing on a Spring" edit. On the 2nd channel he really recorded the interactivity  of two channels for the resulting wave. 

So you actually see why the waves get more voluminous.

This is simply wrong... That's not how it should look like. It's like 2 channels were mixed into 1, then output in a different channel.
That's inaccurate emulation for sure.

Link to comment
Share on other sites

I had a lucky guess... for some reason Altirra refused to run your SAP files from the ASMA archive, but there was actually a RMT header inside, so I was able to convert it with RMT2LZSS to see it in action.
I was correct, there was inaccurate emulation, there are some notes that switched to 16 bit mode, and it looks like ASAP doesn't like it, because now all channels looked correct in Altirra.

Just for fun it uses my Alternate Tuning too... Sounds pretty good to me!

Thing_on_a_Spring.xex

  • Like 2
Link to comment
Share on other sites

1 hour ago, VinsCool said:

I had a lucky guess... for some reason Altirra refused to run your SAP files from the ASMA archive, but there was actually a RMT header inside, so I was able to convert it with RMT2LZSS to see it in action.
I was correct, there was inaccurate emulation, there are some notes that switched to 16 bit mode, and it looks like ASAP doesn't like it, because now all channels looked correct in Altirra.

Just for fun it uses my Alternate Tuning too... Sounds pretty good to me!

Thing_on_a_Spring.xex 13.69 kB · 4 downloads

The sap file always contains the tune in its original format as well as the corresponding 6502 player, I added that option specifically to rip all the RMT tunes out of their sap format, you can point to whole asma sap archive and it will extract RMT tunes from those that contain one.

  • Thanks 1
Link to comment
Share on other sites

4 hours ago, VinsCool said:

 

 

This is simply wrong... That's not how it should look like. It's like 2 channels were mixed into 1, then output in a different channel.
That's inaccurate emulation for sure.

 

Well. Newer soundchips had separated lines for the channels. 

Or the resulting tone had been done due to the built in operators. 

POKEY needs the "modulation" inbetween the channels. 

If you only show one channel, you don't see the resulting modulation.

To see the resulting modulation, might help "newbies" to understand better what's happening.

"Two channels add their square waves, to something like a ring modulated raw triangle wave" .

 

 

  • Confused 1
Link to comment
Share on other sites

4 hours ago, rensoup said:

The sap file always contains the tune in its original format as well as the corresponding 6502 player, I added that option specifically to rip all the RMT tunes out of their sap format, you can point to whole asma sap archive and it will extract RMT tunes from those that contain one.

I know, this is why I used RMT2LZSS to extract his tune, and be able to run it in Altirra as well :D 
It's awesome how it just works, I've used the same method to rip .rmt modules out of executables too, lol

 

1 hour ago, emkay said:

If you only show one channel, you don't see the resulting modulation.

But yes, we will see it if it's actually properly emulated/exported? ?
That's literally what I explained in my previous message in the thread.

"Adding up 2 audio channels and show as 1 due to a rendering error vs show the resulting tone properly in each channel" are 2 entirely different things.
The high pass filter modulation is the most obvious in that regard, Pulse width modulation is shown in action instead of showing up 2 channels doing 2 totally different things.
The video of Things on a Spring was inaccurately emulated, and actually looked wrong as soon as a note switched down to 16-bit, it made everything following up wrong and copying what the other channels did, visually.

Here's an example of inaccurate high pass filter effect visualised in separate channels based on what I explained:
 


It looks like a normal square wave, because when it was exported, all channels are literally disabled, and so anything such as frequencies and AUDCTL bits are omitted, so listening to individual channels will expose everything wrong

Here's an example of 16-bit turning the entire visual in channels 2 of each POKEY side wrong in a few parts:  
 

    
The latter, this video, was exactly the same side effect that happened in the visualisation of Things on a Spring, due to the fact that disabling a channel entire really mess up everything depending on the other channels.
The best way to counter that is to simply set volume 0 on the channels that should be muted, but allow it to keep doing its thing, which was what I used for my own oscilloscope videos. ? 

 

  • Like 2
Link to comment
Share on other sites

9 hours ago, VinsCool said:


The latter, this video, was exactly the same side effect that happened in the visualisation of Things on a Spring, due to the fact that disabling a channel entire really mess up everything depending on the other channels.
The best way to counter that is to simply set volume 0 on the channels that should be muted, but allow it to keep doing its thing, which was what I used for my own oscilloscope videos. ? 

 

 

Not really ;)

 

You are about the joined channels using the "Filter". 

I'm about direct wave addition of two channels. 

Link to comment
Share on other sites

2 hours ago, emkay said:

 

Not really ;)

 

You are about the joined channels using the "Filter". 

I'm about direct wave addition of two channels. 

That is best visualised when all channels are mixed together, mono output style!
In that case, I agree with you :D 

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

41 minutes ago, VinsCool said:

That is best visualised when all channels are mixed together, mono output style!
In that case, I agree with you :D 

The relevant parts were about when channels use the same frequency, or directly one octave above or below. 

If one channel is using the bass generator, and another uses very high tones, doesn't add to the wave manipulation, but interferes the demonstration of the wave mix. 

 

jgp.thumb.jpg.046c80c04a364bf882bf1f0ea9f686d3.jpg

 

 

This is one row of waves of a software analyzer recording .

 

The colors show the depending waves of used channels.

You might see  the three "pink" pointed waves having three different offsets .

The left one has the shortest offset, then the middle, then the right one with the longest offset.

Green: the left one has a longer offset than the right one.  

 

This is not filter interaction. This is the direct channel interaction. 

Normally when POKEY is doing music, musicians use the chaotic intervalls, to have some spacy sound.

It's also possible to control that, and to put controlled Ring Modulation everywhere, to make the tune sounding consistent. 

To get the right feeling for it, a visualisation of the relevant channels is recommended. 

 

 

 

 

  • Like 1
Link to comment
Share on other sites

13 minutes ago, emkay said:

The relevant parts were about when channels use the same frequency, or directly one octave above or below. 

If one channel is using the bass generator, and another uses very high tones, doesn't add to the wave manipulation, but interferes the demonstration of the wave mix. 

 

jgp.thumb.jpg.046c80c04a364bf882bf1f0ea9f686d3.jpg

 

 

This is one row of waves of a software analyzer recording .

 

The colors show the depending waves of used channels.

You might see  the three "pink" pointed waves having three different offsets .

The left one has the shortest offset, then the middle, then the right one with the longest offset.

Green: the left one has a longer offset than the right one.  

 

This is not filter interaction. This is the direct channel interaction. 

Normally when POKEY is doing music, musicians use the chaotic intervalls, to have some spacy sound.

It's also possible to control that, and to put controlled Ring Modulation everywhere, to make the tune sounding consistent. 

To get the right feeling for it, a visualisation of the relevant channels is recommended. 

 

 

 

 

This is why I like to have Altirra's oscilloscope for individual and all channels shown on screen, that way it's easy to see how the resulting sound looks like, usually with a good resonance (being in-tune in most cases) it will show a nice stable output, sometimes as totally new waveforms, which is a lot of fun to manipulate.

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

11 minutes ago, VinsCool said:

This is why I like to have Altirra's oscilloscope for individual and all channels shown on screen, that way it's easy to see how the resulting looks like, usually with a good resonance (being in-tune in most cases) it will show a nice stable output, sometimes as totally new waveforms, which is a lot of fun to manipulate.

 

The point is that special visualization might give the better visuals of what happens , and why it sounds like it sounds. 

 

You don't see it on 4 different waves. But particular the solution of bajusumardi gives some impression of what happens for real. 

As he is mixing the relevant 2 channels you see the following (around 2:24)

 

waff.jpg.5dbf1091e121c2dbbf6366777c0cbc58.jpg

 

 

You see a new waveform that is typically sounding more voluminous, as you also can get when listening to the tune. 

It is somehow a very digital version of a triangle or sine. 

Technically, just the clicking of the square edges gets less powerfull.

 

Enough lessons ;)

 

Now back to a new tune of yours :D 

 

Link to comment
Share on other sites

1 hour ago, emkay said:

As he is mixing the relevant 2 channels you see the following (around 2:24)

 

waff.jpg.5dbf1091e121c2dbbf6366777c0cbc58.jpg

 

 

You see a new waveform that is typically sounding more voluminous, as you also can get when listening to the tune. 

That's what I was talking about yesterday... this is not supposed to look like that ? At least not in a single channel.
But I digress, I got some cool ideas I wanted to try out, now with the new RMT2LZSS release, many things could be done in a much, much faster and easier way :D 

  • Like 2
Link to comment
Share on other sites

4 minutes ago, VinsCool said:

That's what I was talking about yesterday... this is not supposed to look like that ? At least not in a single channel.

 

 

But that is actually the point. 

If always  visualizing the single channels, it is not obvious what happens, if you mix POKEY's channels to a piece of music. 

 

4 minutes ago, VinsCool said:

 


But I digress, I got some cool ideas I wanted to try out, now with the new RMT2LZSS release, many things could be done in a much, much faster and easier way :D 

 

hmmm.... :)

Link to comment
Share on other sites

Experimenting a bit with the new RMT2LZSS feature.
I only made use of tables for Distortion 2 and 4 there, but it certainly does work :D 

So here's some stupid ideas, because I suck at composing music, but it's fun regardless.
I especially love the interaction between the distortions, the bass is a tad too loud however lol

 

There's a lot to experiment with for sure now!

Sketch 43 v7_tune1.xex Sketch 43 v7_tune3.xex

  • Like 1
Link to comment
Share on other sites

3 hours ago, VinsCool said:

Experimenting a bit with the new RMT2LZSS feature.
I only made use of tables for Distortion 2 and 4 there, but it certainly does work :D 

So here's some stupid ideas, because I suck at composing music, but it's fun regardless.
I especially love the interaction between the distortions, the bass is a tad too loud however lol

 

There's a lot to experiment with for sure now!

Sketch 43 v7_tune1.xex 5.27 kB · 2 downloads Sketch 43 v7_tune3.xex 5.52 kB · 2 downloads

If it's too loud, you're too old!   :P

it's all good

T D

  • Haha 1
Link to comment
Share on other sites

4 minutes ago, emkay said:

New music style?

 

Crushhouse? 

Maybe something like Rave? I don't know really.
It all began when I was playing around manual 16-bit stuff with AUDCTL and accidentally left a portamento command... and so this kick drum started this tune, lol

As soon as I switched the engine to 4x speed, I knew I was onto something lol
I'm surprised I didn't break RMT2LZSS more than that, since I also used my custom tables in it :D 

Link to comment
Share on other sites

33 minutes ago, VinsCool said:

Maybe something like Rave? I don't know really.
It all began when I was playing around manual 16-bit stuff with AUDCTL and accidentally left a portamento command... and so this kick drum started this tune, lol

As soon as I switched the engine to 4x speed, I knew I was onto something lol
I'm surprised I didn't break RMT2LZSS more than that, since I also used my custom tables in it :D 

 

This is something you realize quickly.

The bass gets more "impulsive" if you change the pitch quickly. It gets louder somehow, but not nicer.

The bass gets nicer, if you can remove or minimize the clicking of the square waves. 

"Hint" wave creation like in the "Thing on a Spring" tune ;)

 

Pointing to some other tecniques: POKEY has 4 channels. If you manage to have a dedicated offset on all channels, you couls also remove high noise for digitizing. 

 

You might know: 

It is possible to add as much sine waves as possible, to create a square wave. (harmonics principle) 

It is also possible to add as much square waves as possible to get a sine wave. (circle principle)

Link to comment
Share on other sites

5 hours ago, VinsCool said:

I think I went a bit harder than usual lol
that poor LZSS player was having a seizure lol

Damn users, always breaking things in unexpected ways ?

 

It's just the VUmeter code that isn't fast enough to update at 240Hz, It worked fine at 200Hz but I forgot about NTSC!

 

  • Like 1
  • Haha 1
Link to comment
Share on other sites

3 hours ago, rensoup said:

Damn users, always breaking things in unexpected ways ?

 

It's just the VUmeter code that isn't fast enough to update at 240Hz, It worked fine at 200Hz but I forgot about NTSC!

 

I thought technically 200 and 240 would be the same, either case the music was running at 4x the engine speed from RMT, unless the LZSS player has code specific to each region?

I imagine this is why there was a notice in the readme regarding higher speeds in NTSC... 

Seems like it works fine otherwise, it was only a visual glitch, which really made me laugh yesterday, because I really thought I was going to kill it... And didn't lol

 

What a robust little program you have created ?

 

Link to comment
Share on other sites

9 minutes ago, VinsCool said:

I thought technically 200 and 240 would be the same, either case the music was running at 4x the engine speed from RMT, unless the LZSS player has code specific to each region?

I imagine this is why there was a notice in the readme regarding higher speeds in NTSC... 

Seems like it works fine otherwise, it was only a visual glitch, which really made me laugh yesterday, because I really thought I was going to kill it... And didn't lol

 

What a robust little program you have created ?

 

I can't remember but I think I may adjust the timing between each Pokey update for NTSC, so there is less time between them, and as I was totally sloppy when implementing the VUmeters, the CPU time it takes has to be less than the time between 2 Pokey updates ?

  • Like 1
Link to comment
Share on other sites

Since I knew this game, I wanted to do a POKEY version. 

I don't know why, but this tune manages really to sound "sexy" somehow. 

 

 

 

Even the "cheap" chips can handle it.

 

 

 

 

But I never found a fitting 3 channel notation :D

 

 

And ofcourse a PAULA version ;)

 

 

 

 

Edited by emkay
  • Like 1
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...