Welcome, Guest. Please login or register.

Author Topic: Programming "Chip Tunes"  (Read 1717 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline minator

  • Hero Member
  • *****
  • Join Date: Jan 2003
  • Posts: 592
    • Show all replies
    • http://www.blachford.info
Re: Programming "Chip Tunes"
« on: March 25, 2005, 03:31:28 PM »
This is a short but interesting thread, I happen to be deep in the middle of the design phase for a soft synth right now and am reading anything and everything I can find on synthesisers I can find.

...So I read this and started reading about the synths in home "micros".
There's thousands of mods out there of course but there's also music formats for pretty much every computer out there, I've heard a load of SIDs (C64) and SAPs (Atari). Fasinating stuff, they are very basic but it's pretty amazing what some people were able to do with them.

Quote
Weren't the old Future Composer tunes using the paula chip to synthesize waveforms without any samples?


Paula was a sample player so you could get the CPU to generate a waveform and the Paula would play it as a loop, you can get it to play pretty much any waveform.

Doing a proper emulation of Paula could be quite difficult as it gets different tones by altering it's playrate, these days the CPU will do the audio playback by interpolating samples for different tones.  So, a MOD played on a modern sound system is going to sound different from the same thing played on an original Amiga.  The later multi channel mods will be easier to play properly because they also used interpolation - providing the mixing rate is identical...

To properly emulate the Amiga sound system *accurately* will rather ironically, require some pretty high end (read expensive) kit.
 

Offline minator

  • Hero Member
  • *****
  • Join Date: Jan 2003
  • Posts: 592
    • Show all replies
    • http://www.blachford.info
Re: Programming "Chip Tunes"
« Reply #1 on: March 26, 2005, 02:52:15 PM »
Quote
Amplitude modulation affects the volume of the waveform. It is often used to produce vibrato or tremolo effects. Frequency modulation affects the period of the waveform. Although the basic waveform itself remains the same, the pitch is increased or decreased by frequency modulation.


Actually what you've described is a means to produce vibrato - rapidly modulating the pitch.

The whole idea of FM synthesis is to make the wavefrom itself change.  It's the same thing as pitch modulation but applied on much smaller time scales.  In the case of the Amiga you would have to alter the sample rate for every sample.


Quote
The real Amiga audio system by default was designed for playing samples. Contrast this to the C64's SID chip that used Attack, Decay, Sustain, Release circuits (hyrbid analog-digital). Both have advantages. I advocated adding ADSR circuits to the Amiga audio. But oh well. The Amiga does have a mode that goes beyond sample playing however. See Karlos's posting above.


SID used analogue oscillators and an alalogue filter so yes it's a hybrid technology.  I'm surprised it wasn't used in synths at the time - it is now!

As for ADSR you don't need hardware in the Amiga for that, you can calculate the evvelope in software and write the values into the volume register.

Quote
>To properly emulate the Amiga sound system *accurately*
>will rather ironically, require some pretty high end (read expensive) kit.

Same is true of the video hardware. Though the Amiga videographic circuits are relatively incomplete by some modern standards, most graphics chips today lack sprites (it's true), color compression modes... and yes, most lack multiple playfields like the Amiga had. Instead they rely on brute force and fancy blitters. Sad but true.


I reckon Cell could do a killer chipset emulation.

As for the audio the reaon I'm saying it'll be difficult is because if you rely on using different sample rates for playback they'll introduce distortion at diffferent frequencies and this distortion is part of the sound.  This wont make much of a difference at high smple rates but you'd be surprised how many mods used 8.3 KHz samples - and played them at lower rates.

At low rates the distrotion is going to be an integral part of the sound so has to be recreated to be accurate.  Even these low sample rates wont "fit" properly into 44KHz so you'll need a sampling rate a lot higher to generate even accurate-ish waveforms.

Another way would be to use additive systhesis to add in the distortion, this might actually be *easier* but will require per sample calculation of the correct noise levels / frequency.

Then of course any inaccuracies in the DACs have to be modelled as well as the impact of later analogue components in the audio O/P system.

You may think that you don't want the distortion but it's an integral part of the sound and you'll most likely actually prefer it included.
The early Fairlight CMI samplers were only 8 bit but the users actually preffered their sound to the later 16 bit models.

--

Hmm: I don't think I want to go into this level of complexity but this is giving me ideas for a new kind of Oscillator to add to my synth - I think I may a "Retro Sampler" module to the list...
I'm thinking of using 192KHz as the sampling rate anyway so should be able to do different sample playback rates fairly well.


 

Offline minator

  • Hero Member
  • *****
  • Join Date: Jan 2003
  • Posts: 592
    • Show all replies
    • http://www.blachford.info
Re: Programming "Chip Tunes"
« Reply #2 on: March 26, 2005, 07:23:31 PM »
Quote
've studied FM synthesis in some detail in the past. There is fundamentally nothing different about the vibrato effect and FM other than the ratio of modulator/carrier frequency and the strength of the modulation.


I know, as I said it's a question of scale.

Quote
The documentation says that one channel can be used to modulate the period (of which frequency is a function) of another. I see no reason why this could not be used to create a basic 2 operator FM synthesis. As I said it would be a bit more complex, but I don't see a reason it could not be done.


Doesn't sound (pun intended) like it would produce very interesting results but who knows...  I wonder did anyone ever try?  

If they stay in sync the technique could be used to apply PWM to the sample.

--

I'm wonder what would happen if you combined the properties of the C64 and the Amiga by using SID's analogue filter with Paula's digital "oscillators" to generate the waveforms.  Could be interesting and definately retro.

...begins thinking about how to write a "Paula boings SID" module
:lol: