Jump to content
IGNORED

Hardsynth


emkay

Recommended Posts

Any chance of Mission Impossible?

 

I tried, and can get something almost half decent using 8-voice mode with filters, but it would be nice to have a filtered version which performs in 4 voices.

 

mission_impossible.zip

 

There's a couple of MODs from modarchive.com

 

MissionI_SIDs.zip

 

There's a few really good ones on the C-64. SID files contained in ZIP.

 

Here a try of a conversion from one of your posted MODs.

 

 

Actually, for the "clean" drums, it is better not to use filtered sounds.

 

I hope at least the Rock-Guitar is fair enough. Please keep in mind that it takes 2 vbi cycles before the instrument starts (for filter correcting purpose).

I'll also try to use the other mod file for a conversion.... later...

Edited by emkay
Link to comment
Share on other sites

Here a try of a conversion from one of your posted MODs.

 

Some chords in the 'left pokey' part should be transposed one semitone upwards....it's around trackline 4 or 5 I think.

 

 

Guess, it's referring to exact the guitar which was the main problem here ;-)

Setting it a half tone up, makes me more satisfied with it.

I also did some volume correction on the main voice.

 

For some reason, the real problem about "out of tune" sounding isn't really the limited 8 bit resolution.

It's more in the volume. Heck, a simple high tone cutting 3db filter for having a better volume balance between low and high notes .... :twisted:

While the 15khz filter sounds can be corrected easily, the saw tooth really depnds on the volume output.

The good thing is, contrary to the squarewaves, the saw-waves doesn't get louder when getting higher (from the mid range). So, we really have all 15 volume steps for some correction (note: 0 you won't hear ;-) ).

Link to comment
Share on other sites

  • 2 weeks later...
Someone knows this one?

 

No, weird tune :)

 

Did you already consider a hardsynth tune with the 2-tone-filter?

 

Fox did succesfully implement it in emulation. Still not sure when there'll be an official update.

 

 

...maybe you have some idea for a co-work? Then my part would be to add the 2-tone instruments & the hacking.

Link to comment
Share on other sites

Someone knows this one?

 

No, weird tune :)

 

Did you already consider a hardsynth tune with the 2-tone-filter?

 

Fox did succesfully implement it in emulation. Still not sure when there'll be an official update.

 

 

...maybe you have some idea for a co-work? Then my part would be to add the 2-tone instruments & the hacking.

 

Considered? Yes. If it works for RMT.... ;)

Link to comment
Share on other sites

Considered? Yes. If it works for RMT.... ;)

 

Well, you know that I did a testtune with the 2TF option (2-tone-filter) already with use of RMT, and a 1-byte hack in the exported executable. Only thing: song must still be tested on real machine first.

 

I did some other tests with possible sounds of 2-tone-filter.

 

F.e.: Remember I did an 'electric distortion guitar' version of the Depeche mode song a year ago. That mode was supported by 'high pass filter' of distortion 2 clocked at 1.79mhz with some special audf settings. I did similar things yesterday with combined 16bit filter & 2TF and poly9 distortion on channel 1 and 2. Now a cool instrument similar to the 'guitar' is possible with a lot more note precision. About 2.5 octaves is supported, in the middle region of the music spectrum.

 

If you know a mod-tune with a melody played by a 'guitar' and would like a try to import it and make a hardsynth version of it, then I might add the 'guitar' with a 2TF hack.

 

Especially the 'odd' combinations with 2TF (possibly combined with 16bit filter or high pass filter) gives many interesting sounds, which also still lie in a suitable range for music. The 'guitar' is just one of the many options.

Link to comment
Share on other sites

If you know a mod-tune with a melody played by a 'guitar' and would like a try to import it and make a hardsynth version of it, then I might add the 'guitar' with a 2TF hack.

 

Hm... Actually, some 2 hour projects takes several weeks when doing things "blind". So I'm not really fascinated with this solution. Since there are multiple other issues to solve with the emulation...

You always could use a tune of this thread to do some hacking.

 

Perhaps with this one:

It's again done with "Chorus" of 1.79Mhz and 15khz for the main voice (no filter). It results in a "straight" (not too high, not too low, not too flat) voice while having the hardsynth bass at the same time.

The 1.79MHz + 15kHz chorus sounds like a 64 khz chorus plus it takes benefit of less interference between the channels.

 

As always.... it sounds already different when playing the tune in the emulator.

Edited by emkay
Link to comment
Share on other sites

What do I need to listen to these songs? Atari800Win just brings up a BOOT ERROR (still being emulated)

 

 

Do not attach it as disk image because it's executable file so in menu File -> Load executable (Alt+X).

Edited by MaPa
Link to comment
Share on other sites

If you know a mod-tune with a melody played by a 'guitar' and would like a try to import it and make a hardsynth version of it, then I might add the 'guitar' with a 2TF hack.

 

Hm... Actually, some 2 hour projects takes several weeks when doing things "blind". So I'm not really fascinated with this solution. Since there are multiple other issues to solve with the emulation...

You always could use a tune of this thread to do some hacking.

 

So, as I'm still doing Pokey sound tests everyday, I found out that 2-tone-filter wasn't needed for the 'heavy metal guitar' after all :ponder:

 

It's also possible with 16bit filtering on its own. This makes the sound even available on two 16bit channels.

 

This is also supported in present emulation, thus in RMT theoretically.....if it wasn't that RMT has no notation table for this specific sound. The 16bit (gen.6) table could though be hacked to give 'guitar' support.

 

This soundtype of pokey is still a freak to understand exactly. I've not found a precise notation table formula for it yet. Only until some approximations.

 

 

It seems a 'Hardsynth tracker' has still more reason for existance, with variable notation-table support.

 

I just wonder who else would be interested in such a tracker, as I want to make one for myself. If a reasonable number of others also would like to make use of such a tracker, then maybe I would consider making a public one (thus, adding more user-friendly stuff to it, which means that I'd need to do more coding).

Link to comment
Share on other sites

It seems a 'Hardsynth tracker' has still more reason for existance, with variable notation-table support.

 

I just wonder who else would be interested in such a tracker, as I want to make one for myself. If a reasonable number of others also would like to make use of such a tracker, then maybe I would consider making a public one (thus, adding more user-friendly stuff to it, which means that I'd need to do more coding).

 

 

Perhaps making examples gives interrests to others?

 

Using the 1.79MHz sawtooth allows "new" methods. Because the "loudness" between low notes and high notes has a lesser difference than the standard voices, you can do a better volume correction for the "main" voice.

 

 

I stilll wonder, what a musician like Rob Hubbard could have done with pokey, if he had known it all ...

Link to comment
Share on other sites

Perhaps making examples gives interrests to others?

 

I have some doubts about that.

 

Hardsynth thread's running for almost 3 years now.

 

Examples enough I would say. Most of the tunes here can be optimized a lot with the right tracker. I'm so sure about that. Notes can be put into the right tune/pitch and volume. Noise can be reduced, timing can be exact....etc.

 

As far as I know I'm the only one that would use hardsynth techniques when I would like to write some music for Pokey.

Link to comment
Share on other sites

I have a question (enkay ;) ):

 

When you have an instrument with filter settings, and filter-envelope, resulting in a 'smoothly' varying pulse-width, then, at least working with RMT, there is the problem that it will always give different results for different notes.

 

The character of notes that are close to each other won't differ that much though, but they do differ much when note-difference is around one octave or larger.

 

If a tracker would be written that should solve this, how should it be done?

 

I have some ideas for solving this myself...but I just like to see a second opinion.

 

1) using different lenghts of filter commands (like command 6 in RMT)

 

example, written in RMT language:

 

600060006000
f0000000f000
f0001000f000

 

turns into:

 

660066006600
ff000000ff00
ff001100ff00

 

 

2) using larger offset values. F.e. multiply filter-parameter with 2 if the note gets one octave lower.

 

example:

 

600060006000
f0000000f000
f0001000f000

 

turns into:

 

600060006000
f0000000f000
e0002000e000

 

 

3) just use a few separate filter-envelope tables for certain ranges in the music tone spectrum, like you (emkay) did in RMT, using 5 instruments for 5 different filter-envelope scenarios.

 

What would you do?

Edited by Analogue Multiplexer
Link to comment
Share on other sites

What would you do?

 

I'd name it "direct offset programming"...

 

You may have recognized the two "1" commands at most instruments.

 

1160000

00f0000

01f0000

 

 

The first commands puts both channels to a most common starting time of the produced frequencies

The second comand gives a fixed offset between the filter voice and the main voice.

In RMT 256 different offsets are possible due to the wavelength of the produced wave and passed time.

It also guaranties the most stable sounds. F.e. : You can active program a flanger or make a stable sound. Without the "filter correction" you get sometime flangers and even cancelling of the sound "randomly".

 

To have the better fit between low and high notes, the offset at higher notes must be shorter, while for lower notes the offset time has to be longer.... depending on the wave length.

Link to comment
Share on other sites

I'd name it "direct offset programming"...

 

You may have recognized the two "1" commands at most instruments.

 

1160000

00f0000

01f0000

 

 

The first commands puts both channels to a most common starting time of the produced frequencies

The second comand gives a fixed offset between the filter voice and the main voice.

 

Off course you're right, but that's not exactly what I'm after. The whole procedure of filter offset in RMT is far too clumsy. Filter offset is a thing I've already solved for. It's possible to do the filter offset, like the polycounter offset, by ±10 to 12 CPU instructions. That means when you have the right tracker/musicplayer, it won't take 2 VBI's to choose an offset. It can be instantaneous.

 

The fact is that during the envelope time, the filter-offset, or in other words, the pulse-width is changing. In RMT you need to use command 6 for pulse-witdth envelope (though in a non-direct fashion, and depending on the instrument-speed).

 

The filter-envelope thus determines the dynamic character of the sound. It is though affected by a few parameters:

-instrument speed: can be 50,100,150,200 Hz (PAL) or 60,120,180,240 Hz (NTSC)

-pitch value!!

 

When P1, P3 are f.e. pitch values of (resp.) channel 1 and 3 then, in the case P3 = P1 - 1, the pulsewidth will start to shift automatically. This is a thing I would like to call 'auto-modulation'. When this state lasts exactly one VBI (1/50 sec.) the pulsewidth has changed a definite amount. To keep it fixed, again a change should be made: P3=P1. However, how the pulsewidth has changed during the 1/50 second is depending on the pitch P1 itself. The relation is some kind of linear-modular function, which can even be calculated if desired. So, to keep a faithful instrument, you should somehow compensate this, by doing some pitch(P1)-dependent filter-envelope.

 

That's mainly the reason also that complex hardsynth instruments written for a PAL (50Hz) track, can differ a lot compared to an NTSC (60Hz) track. A real hardsynth track that should be played on a PAL / NTSC should thus have 2 vsersions of each synth instrument.

Link to comment
Share on other sites

OK I made a calculation.

 

I wanted to know how two channels run out of phase depending on the pitches.

 

Let F3 = F1 - D

Let C be the clocking number (28 for 64khz mode or 114 for 15khz mode)

Let Q be the number of cycles per control period (usually one VBI). In PAL 50Hz this is 312*114 = 35568

 

Now I want to compute the phase-difference (PD) between channel 1 and 3 when one VBI cycle passes.

 

PD = (Q/C) * (D/F1^2)

 

So, it is linear in the pitch-difference, and inverse quadratic in the used pitch.

 

The phase-difference PD should lie between 0 and 1, but it won't always turn out that way, so we're only after the remainder of this value:

 

R(PD) = PD - INT(PD)

 

 

So, to compensate for a lower note, f.e. F1' = 2*F1 (one octave lower), then we need to put D' = 2^2 * D = 4*D.

 

Roughly said. To make the hardsynth instrument available at an octave lower, we need to multiply all the filter-envelope values by 4. (for example, as $FE = -2 this would result in $F8).

 

 

More about this phase-difference PD

 

If the starting phase P and the ending phase P+PD differ by more than 1, then there'll be no continuous modulation between two pulsewidths, because it will cross an 'integer boundary'. I think that some of the hardsynth testtunes here suffer from that. When proper care is taken for the used filter-envelope values, then the tunes could be fixed. This would result in a much cleaner sound, with less 'unwanted noise'.

Edited by Analogue Multiplexer
Link to comment
Share on other sites

  • 2 weeks later...

As a matter of fact I've been doing Pokey experiments for about one year now, and learned a lot. I wrote down all my findings etc. and wrote a lot of pages of concepts for a pokey tracker supporting some rare stuff :)

 

I've spent a few days now working on a Hardsynth Tracker.

 

The main part to do now is to find a suitable dataformat for the final export of a 'hardsynth song'. This is much much harder than I imagined :D ...maybe this is the hardest part :ponder:

 

How to deal with optimizations? Which data is not needed? How to deal with custom notation tables etcetera.

 

All I can say now is that the Hardsynth tracker I'd like to code will support stuff like:

-decent filter settings: perfect filter reset/offset and filter envelopes

-independent envelopes for volume&distortion, notes, pitches (for vibrato, arpeggio)

-usage of extra note parameters for some more expression: normally (f.e. in RMT) you'd need to define multiple instruments that are nearly the same

-polycounter reset and offset

-flanger reset and offset

-other timing commands, by introducing a 5th track: the 'control track'

-support for 2-tone-filter

-support for custom notation tables for exceptional instruments

-etc. (other things I forget to mention)

-sound effects (both by clipping/overlaying channels used for music or by using 2nd pokey)

 

The way of dealing with a track is very low-level, as my idea is that the pokey musician should adjust many things by hand. It won't be that high level as RMT, and it will only run on Atari itself. At least I'd want a working version for myself, because I need it, but if others are interested they can have a copy.

 

...but the statement "make it work reliably and fast" of donlebeau made me rethink the process of doing this ;)

 

No E.T.A.'s for this A.M.-product though :) ....too busy life :)

 

But I've already spent a lot of hours thinking about possible pokey issues etc. ...so, when I've made a final decision on the dataformat I expect to be finished soon. The Hardsynth-player is the first aim. Then a suitable editor/tracker should be the next logical step. For now it's a bottom-up process.

Link to comment
Share on other sites

  • 3 weeks later...

What to say... still trying to "tune" RMT in with the unsupported stuff of pokey features....

 

Someone may recognize the "different" sounding of the sawtooth.

Someone may recognize the huge frequency difference between the channels

Someone may recognize that the tune partially is very good :ponder:

aso.

 

The main problem is still to manage the portamentos at the sawtooth. It simply doesn't work.

This turns a "happy melodic slide" into a Beethovens dramatic arrangement ;-)

 

With a full 16 bit support, we could use special techniques for the slides by changing the generation of the bass tones ... hm...

Edited by emkay
Link to comment
Share on other sites

The main problem is still to manage the portamentos at the sawtooth. It simply doesn't work.

 

:?: I'm not sure what you mean. Look back at the 'violin of doom' tune. There you used saw portamento without any problems.

 

In this tune you didn't use any portamento. Do you mean the vibrato perhaps?

 

With a full 16 bit support, we could use special techniques for the slides by changing the generation of the bass tones ... hm...

 

with a custom notation table for the sawtooth, using indeed a 16bit (or double 8bit) table, you can do finetuning, but that won't do any good if you need fshifts/vibratos/portamentos.

Link to comment
Share on other sites

The main problem is still to manage the portamentos at the sawtooth. It simply doesn't work.

 

:?: I'm not sure what you mean. Look back at the 'violin of doom' tune. There you used saw portamento without any problems.

 

In this tune you didn't use any portamento. Do you mean the vibrato perhaps?

 

 

The "violin of Doom" portamentos are "blind" .... not "happy" sounding though.

 

The sound you hear in the tune was created by a mix of arepeggio plus filter difference.

 

it plays

 

cc00cc00cc00 by the frequency

to have the "clearer voice" is does filter changes by the "6" command

 

cc00cc00cc00 (note)

0000f000f000 (filter)

0010f010f010 (filter)

 

Without this "trick" the sounds are too jumpy for the tune.

To make a portamento with it, the portamento has to keep the note values. But when portamento is used, it drops all note changes and plays a fixed external variation.

 

With a full 16 bit support, we could use special techniques for the slides by changing the generation of the bass tones ... hm...

 

with a custom notation table for the sawtooth, using indeed a 16bit (or double 8bit) table, you can do finetuning, but that won't do any good if you need fshifts/vibratos/portamentos.

 

No, I'm not talking about 16 bit sawtooth notes.

I'm talking about 16 bit square notes and the bass could be build by some double bass channel that can sound similar to the filter bass.

 

The easiest way for having a long playable portamento is to have the real 16 bit resolution.

Link to comment
Share on other sites

No, I'm not talking about 16 bit sawtooth notes.

I'm talking about 16 bit square notes and the bass could be build by some double bass channel that can sound similar to the filter bass.

 

The easiest way for having a long playable portamento is to have the real 16 bit resolution.

 

emkay, what is the benefit of 16bit sawtooth? I don't see any.

Link to comment
Share on other sites

No, I'm not talking about 16 bit sawtooth notes.

I'm talking about 16 bit square notes and the bass could be build by some double bass channel that can sound similar to the filter bass.

 

The easiest way for having a long playable portamento is to have the real 16 bit resolution.

 

emkay, what is the benefit of 16bit sawtooth? I don't see any.

 

Alike, which waveforms are used. For standard instruments(Piano, Guitar etc.) you only need the correct haftones.

But many Synth-Tunes are using FX like long frequency slides. To do it with 8-bit resolution is like to draw a skyline with 16 colours ;-)

Having more than 16 Million colours available, you won't see colour steps that look like DLIs ...

Using those FX in pokey tunes the switch to 16 bit for a short time may solve "all" problems.

 

BTW: Did anyone recognize the tune? It's a remix of a well know one :ponder:

Link to comment
Share on other sites

Off course I know why you'd want more pitchresolution. Sorry, maybe I asked the wrong question.

 

Another try :) :

 

How is 16bit (which means you'd combine voice 1&2&3 I suppose) going to HELP you? I don't see how it would help getting better resolution :?:

 

Seems, you got me wrong. It's not needed to have a 16 bit sawtooth (which would actually take use of all four channels).

A proper control for the "standard" 16 bit was good enough to have such FX in tunes. Which means to handle the 16 bit as 16 bit ... not with double 8 bit trickery.

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