Jump to content
analmux

Hardsynth: What is it exactly?

Recommended Posts

Hi

 

As someone asked me, I think it's a nice moment to post something about hardsynth here.

 

What's coming next is a personal interview I had with someone some years ago. This is the same guy who wrote this webpage:

 

http://chipflip.wordpress.com/chiphack

 

Be prepared for a long read ;)

 

--------------------------------------

 

Maybe what I wrote will sound a bit technical, but here we go :)

 

 

QUESTION: "What is Hardsynth?"

 

ANSWER:

 

Well, Hardsynth is just a name for a discussion thread on Atariage, which

emkay started first. Most stuff in that thread is emkay's work. Mainly

trying to import .mod-songs with the Raster Music Tracker, and try to add

typical synth character to it. The exported executables (xex) are supposed

to be played on the atari.

 

What Hardsynth means to me: It's an alternative to 'softsynth'. There was a

SID-emulator for Atari, which though needed too many CPU time to be of any

use for games and other programs that also need a lot of CPU time for

graphics handling and game logic. Hardsynth shows that in a reasonable

number of cases such 'softsynth' isn't needed, as the pokey-musician needs

to be aware of how to control the soundchip. On SID it is too simple to

configure a voice with pulse waveform with a certain pulsewidth. On Pokey

it's a lot different. It's an older chip, thus more primitive.

Pulse-waveforms, to be used mainly for typical 'synth' voices, are possible

however without the need of emulating them by software PCM.

 

On Pokey, the trick is to control exactly relative timing. Two squarewaves

playing at the same frequency always have an uncertainty in relative timing,

which a standard synth tech guy would call 'phase difference'. Combining two

channels, with squarewave at the same pitch, by so-called 'boolean ring

modulation' (this is an included feature in Pokey), results in a pulsewave

with arbitrary pulsewidth. With some rarely used timing commands (also to be

written to pokey) it is possible though to do a so-called 'reset -

offset' process, using just under 10 CPU instructions. The reset process

synchronizes both channels. The offset process establishes a desired

pulsewidth, after the channels are put into sync. Now, by doing additionally

a pitch-envelope at, say, 50Hz to the 2nd channel, i.e. minor fluctuations

around the pitch of the 1st channel, we can vary the pulsewidth

continuously, resulting in a rich sound type.

 

 

QUESTION: "What makes the Pokey sound unique, in your opinion? (good/bad aspects)"

 

ANSWER:

 

Pokey can do squarewave, pulsewave, triangle and sawtooth waveform, but they

aren't unique, as SID has them too, in a more straigthforward fashion and

with higher precision and spectrum range.

 

To me, the unique sounds lie in the range of the so called 'polycounter

distortions'. These are logic generators of loops of apparently 'random'

bit-sequences. Some bitsequences are short, others are long. So the short

ones can be used for metallic and industrial sounds, while the long ones are

used for pink noise and white noise. By sampling the bit-sequences at

different pitches we get different notes.

 

The good aspect is that with a polycounter voice in combination with 'pokey

ring mod' and '16bit filter' a nice spectrum of pokey-unique sounds can be

generated. There is though even another type of combining voices. Voice 1

and 2 can be set up such that voice 2 timer resets voice 1 timer. This is a

thing that on the SID is called 'synchronization'. On Pokey I gave it the

name '2-tone-filter'. This is a feature that currently isnt even supported

in emulation, and there are afaik no pokey-songs using this feature. I spent

a few days to analyze it, after someone on A.A. gave me a hint, and I

hacked a short demo-tune including one 2-tone-filtered voice.

 

The bad part is that pokey was not designed primarily for music, so such a

thing as 'volume envelope' must be programmed by software, while on the

SID all you need to do is stuff ADSR registers, and the Gate-bit. Also,

though pokey has 4 voices, they have only 8bit pitch

precision, though there's a way to change base-clock frequency, to shift to

different areas of the spectrum. This helps in some cases.

 

Without better pitch resolution, Pokey can often sound a tiny bit 'out of

pitch'.

 

 

QUESTION: "What kind of tricks are there to make new sounds with the Pokey?"

 

ANSWER:

 

Most tricks that I think are quite underused are all based on the

'polycounter distortions'. The thing really is that it's not quite about

'tricks' but more about testing, testing and more testing. Then figuring out

some numerical relations between pitch-values, and discovering some schemes.

F.e. some sound-types only appear when the total pitchnumber is 186 plus an

integer multiple of 465. This is, as you might note only possible for 16bit

values. It is though possible to combine 2 voices for 16bit pitch

resolution.

 

So, with the correct knowledge, a lot more can be pushed out of Pokey. Only

additional trick is to be aware of exact timing procedures to make most of

them work. No heavy software tricks are needed, like setting up timer

interrupts, or PCM, or whatever...

 

 

QUESTION: "What do you think I should listen to, if I want to hear bizarre Pokey-sounds?"

 

ANSWER:

 

Well, the first one that pops in my mind is the music of an Atari demo

called 'Ergo Bibamus'. If you know SAP-archive, you may find it there. It is

though more just a piece of bizarre music, with a lot of polycounter

instruments. The polycounters are though used in a quite standard way, thus

without any 16bit filtering or ring mods.

 

A lot of other tunes can off course be found in the Hardsynth thread on A.A.

...though they are mostly testtunes just to emphasize some specific

features. I think emkay could tell you something more about it.

 

And else: The pokey sounds that are bizarre to me are very exceptional

sounds, which aren't described in any atari-book by far. So, afaik there are

also no demo tunes making use of them, except some of my own, but these are

just short tests, and not optimized to listen to with pleasure. I still need

to try how they fit into music at all, and maybe a drastic change of style

is needed.

 

 

QUESTION: "Are there other Pokey-based machines that uses the chip in interesting ways?"

 

ANSWER:

 

All I know is that there are some arcade machines with quad pokey.

 

 

QUESTION: "Who are your favourite Pokey composers?"

 

ANSWER:

 

Hmmm, I don't know really. It's not that I listen to pokey tunes very often.

It's more that I'm interested in sound capabilities, as I'd like to do

things with it myself. First of all, write a tracker for it: so called

"Hardsynth Tracker". This tracker/player should be based on my own custom

routines, that include special timing commands.

 

 

If you don't have a machine though, there's always the SAP plugin for winamp

and the SAP archive, all on the www. There you can find most of interesting

Pokey tunes, but beware. Tunes with real interesting/exceptional/bizarre

sound settings will be hard to find. I'm afraid most people aren't quite a

fan of the 'new' sounds, and prefer the standard way to make pokey music.

Maybe the tunes emkay did, and the few I added to them makes us more the

'Godley & Creme' of Pokey. Just weird, but not too popular :)

 

Another thing to bear in mind is that there are no pokey trackers supporting

some of the extended features. F.e. most of the times the 'reset - offset'

process I mentioned earlier isn't supported at all. Trackers make use of so

called 'notation tables', telling which pitch-values belong to which notes.

Some of them need small corrections. Some other soundtypes, like 'triangle

waveform' and 'sawtooth' aren't supported at all.

 

So, it's a matter of introducing a new tracker with new demosongs. It's one

of the things I'd like to do, but on the contrary I'd rather do it for

myself, as the A.A. community doens't reply with enthusiasm (yet)....but I

think that's the best reason to do it at all, just for myself.

 

 

QUESTION: "A few years ago there was a "new waveform" discoverred on the C64 aswell. It has to do with combined waveforms and resetting the noise."

 

ANSWER:

 

Yep, I've heard about it. Oswald told something about this, last year, on

the retrogamers forum.

 

The thing is though, that on C64 there's active software needed to generate

it, in the form of a CIA timer interrupt, to do reset-procedures to the

23bit polycounter of SID. So, in fact I'd consider this as a software-sound.

On Atari it is possible though to do several special 2-voice combinations to

generate the same types of sound, though without any CPU intervention, as

Pokey seems to have some kind of 'automodulation' features, that SID doesn't

have. But, maybe on C64 it doesn't matter that much, to use interrupts, but

my aim of Hardsynth tunes is to be included in software that already needs

precise timing for display features, so the interrupts would interfere too

much.

 

Sounds interesting though. Thanks for the link.

 

...this grew out to quite a story...hehe....but, I don't have much time

usually....

  • Like 8

Share this post


Link to post
Share on other sites
On Pokey I gave it the name '2-tone-filter'. This is a feature that currently isnt even supported in emulation

 

ASAP emulates it since 2008.

Edited by fox

Share this post


Link to post
Share on other sites
On Pokey I gave it the name '2-tone-filter'. This is a feature that currently isnt even supported in emulation
ASAP emulates it since 2008.

Yes, I've heard it before.

 

However, it's also some years ago when I wrote the original text in the 1st post here ;)

Share this post


Link to post
Share on other sites

Hi Booker, you "RMT-patch-5-lover", how's it going?

 

I'm in a rather weekly-basis discussion with Creature XL (of this AA board). We exchange some ideas, and thanks to some of his questions I'm thinking of a new trick to have FREE pulsewidth control EVERY frame (of f.e. 50Hz). Thinking about this, I'd first like to do some tests with this (still theoretical) technique. If it works as desired, it should really be a feature to be added to HS-tracker.

 

 

As a question in return: Did you already have some fun with the RMT Patch 5? Any test-songs? Or (nearly) finished tunes?

Share this post


Link to post
Share on other sites

Hi Analmux

 

How's coding of HardSynth going? Can't wait for the beta :)

 

Thx

b.

Are you the guy that did the tune in the Lemmings intro? I still cannot believe that tune is playing on a stock A8 - it's the best use of music + digi-samples I've heard on the machine!

 

Share this post


Link to post
Share on other sites

I'm in a rather weekly-basis discussion with Creature XL (of this AA board). We exchange some ideas' date=' and thanks to some of his questions I'm thinking of a new trick to have FREE pulsewidth control EVERY frame (of f.e. 50Hz). Thinking about this, I'd first like to do some tests with this (still theoretical) technique. If it works as desired, it should really be a feature to be added to HS-tracker.[/quote']

Wow mate, that's cool, nah, that's awesome news. On all four voices? ;) Anyway, can't wait for it!

 

As a question in return: Did you already have some fun with the RMT Patch 5? Any test-songs? Or (nearly) finished tunes?

He he' date=' no not, yet no. I literally just today started experiments with Patch 4, and after 10 mins of fiddling I'm quite impressed. If I'll get in the window there'll be some work done in two months time ;) I got a bit confused as to the change history, for some reason I though Patch 5 has Patch 4 freatures + something else. But no worries..

 

Regards!

 

Hi Analmux

 

How's coding of HardSynth going? Can't wait for the beta :)

 

Thx

b.

Are you the guy that did the tune in the Lemmings intro? I still cannot believe that tune is playing on a stock A8 - it's the best use of music + digi-samples I've heard on the machine!

Hi Stephen

 

Indeed very cool. But that was Fred Brooker, I'm booker ;)

 

Regards

Share this post


Link to post
Share on other sites

Hi Analmux, not sure why I can't send you PMs anymore so writing here.

 

 

Just letting you know - your patch-work does make sense, mate. People liked the sound of your code on Silly Venture 2011 and a tune done with your 1.27p4 has ended up 2nd place.

 

Hope this can inspire you more to finish your player!

 

Best

b.

Share this post


Link to post
Share on other sites
Just letting you know - your patch-work does make sense, mate. People liked the sound of your code on Silly Venture 2011 and a tune done with your 1.27p4 has ended up 2nd place.

 

Hope this can inspire you more to finish your player!

Hi booker. Thanks for the inspiring comments, and the link to the interesting tune you posted in another topic.

Share this post


Link to post
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.

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...