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 ;)

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

[size="4"][color="#400040"]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....[/color][/size]

Share this post


Link to post
Share on other sites
[quote name='analmux' date='Tue Feb 22, 2011 2:59 PM' timestamp='1298386771' post='2216469']On Pokey I gave it the name '2-tone-filter'. This is a feature that currently isnt even supported in emulation[/quote]

[url=http://asap.sourceforge.net]ASAP[/url] emulates it since 2008. Edited by fox

Share this post


Link to post
Share on other sites
[quote name='fox' date='Sat Mar 5, 2011 2:36 PM' timestamp='1299332172' post='2225537'][quote name='analmux' date='Tue Feb 22, 2011 2:59 PM' timestamp='1298386771' post='2216469']On Pokey I gave it the name '2-tone-filter'. This is a feature that currently isnt even supported in emulation[/quote][url=http://asap.sourceforge.net]ASAP[/url] emulates it since 2008.[/quote]
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
[quote name='booker' timestamp='1301074327' post='2242953']
Hi Analmux

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

Thx
b.
[/quote]
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!

[youtube]http://www.youtube.com/watch?v=qfo-tUHP7_o[/youtube]

Share this post


Link to post
Share on other sites
[quote="Analmux"]
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.[/quote]
Wow mate, that's cool, nah, that's awesome news. On all four voices? ;) Anyway, can't wait for it!

[quote="Analmux"]
As a question in return: Did you already have some fun with the RMT Patch 5? Any test-songs? Or (nearly) finished tunes?
[/quote]
He he, 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!

[quote name='Stephen' timestamp='1301084674' post='2243079']
[quote name='booker' timestamp='1301074327' post='2242953']
Hi Analmux

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

Thx
b.
[/quote]
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!
[/quote]
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
[quote name='booker' timestamp='1321269006' post='2406711']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!
[/quote]
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...