analmux Posted February 22, 2011 Share Posted February 22, 2011 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.... 8 Quote Link to comment Share on other sites More sharing options...
UNIXcoffee928 Posted February 22, 2011 Share Posted February 22, 2011 That was an amazing write-up! Should be an Addendum to De Re Atari. Quote Link to comment Share on other sites More sharing options...
+Stephen Posted February 22, 2011 Share Posted February 22, 2011 Thanks for sharing this! I hope you are able to finish your tracker. Quote Link to comment Share on other sites More sharing options...
R4ngerM4n Posted February 23, 2011 Share Posted February 23, 2011 Very nice! Thanks a lot! Quote Link to comment Share on other sites More sharing options...
fox Posted March 5, 2011 Share Posted March 5, 2011 (edited) 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 March 5, 2011 by fox Quote Link to comment Share on other sites More sharing options...
analmux Posted March 5, 2011 Author Share Posted March 5, 2011 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 Quote Link to comment Share on other sites More sharing options...
booker Posted March 25, 2011 Share Posted March 25, 2011 Hi Analmux How's coding of HardSynth going? Can't wait for the beta Thx b. Quote Link to comment Share on other sites More sharing options...
analmux Posted March 25, 2011 Author Share Posted March 25, 2011 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? Quote Link to comment Share on other sites More sharing options...
+Stephen Posted March 25, 2011 Share Posted March 25, 2011 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! Quote Link to comment Share on other sites More sharing options...
booker Posted March 26, 2011 Share Posted March 26, 2011 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 Quote Link to comment Share on other sites More sharing options...
booker Posted November 14, 2011 Share Posted November 14, 2011 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. Quote Link to comment Share on other sites More sharing options...
analmux Posted November 15, 2011 Author Share Posted November 15, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.