| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
HowTo: Digi Samples on the SID
Im' thinking of writing a sample-play routine for a demo, but as it seems I'm not sure where to start.
Can somebody explain to me the basics of playing samples on a SID? Things I'm not sure about are:
1. How does one set the volume for one channel? Using the Sustain of the envelope and setting the A, D and R to zero?
2. What kind of wave (Triangle, Block) do I use and why?
3. Do I need a 8x system to play a 400Hz sample? (50 Hz * 8x)
And I prolly have a lot more questions, but I'll ask them when I understand a little more of the basics. :-)
|
|
... 4 posts hidden. Click here to view all posts.... |
| |
Hate Bush
Registered: Jul 2002 Posts: 465 |
MRT, read the article recommended by Oswald. For starters. Almost every issue concerning sample playback is covered there.
(For playing back samples and SID tune at the same time by using global volume register, you have to drag the volume down (to $5-$8) and add subsequent sample values to it (during the NMI interrupt). AFAIR that's how it's done in most digi+SID combinations.) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
yep, add a DC bias of 8 to the original sample, and compose the regular sid tune with volume=8 .... and as for compensating the non linear behaviour...mmh...i'm not sure if anyone would actually notice, 4bit samples sound crap anyways :=P
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: yep, add a DC bias of 8 to the original sample, and compose the regular sid tune with volume=8 .... and as for compensating the non linear behaviour...mmh...i'm not sure if anyone would actually notice, 4bit samples sound crap anyways :=P
Maybe that's why it sounds crap. ;)
Seriously though, it's fairly simple to correct for the non-linearity for samples only, i.e no sid-voices. Most samplers are 8-bit anyway, so the original resolution is there.
It is probably pointless to do this when samples are combined with sid-voices because the intermodulation will take over anyway.
I'm also not sure if the non-linearities are equal on different revisions of the chip. Maybe it's time to read the C=Hacking article. :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
the non linearity is (among other things) related to the external capacitors, thus +/-10% difference on different c64s. not quite worth the effort to compensate this imho :=P oh and playing stuff on the sid voices at the same time wont make it exactly better either :=) |
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
:-D
Thanx guys...
Still, I've seen some demos which use fairly good samples combined with normal SID music while playing a rotating starfield (Or was it a rotating dot-scroller? I'll have to look that up when I'm at home again).
So, it must be possible do all those things at the same time.
Ah well... For the thing I'm thingking of programming, the overall volume (SID master volume) would prolly work just fine.
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: the non linearity is (among other things) related to the external capacitors, thus +/-10% difference on different c64s. not quite worth the effort to compensate this imho :=P oh and playing stuff on the sid voices at the same time wont make it exactly better either :=)
Huh? I'm not talking about the frequency response here. I'm talking about the steps of the output volume MDAC. These steps are not linear, they are logarithmic. Their absolute size is probably dependant on the silicon batch, but I'm guessing that their relative size is not.
Differences of the relative size may ofcourse exist between different revisions of the chip though. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
ah ok yes :) what i'm referring to is that if you play a square wave using volume register, the higher the frequency is, the less the actual output will actually be square :) there will be lots of distortion introduced due to the capacitors charging and discharging....effectivly defeating most techniques of removing distortion :=P (and ofcourse, anything else played on the normal sid voices will have its influence here aswell, and finally ruin every effort of compensating the effect by preprocessing) |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: ah ok yes :) what i'm referring to is that if you play a square wave using volume register, the higher the frequency is, the less the actual output will actually be square :) there will be lots of distortion introduced due to the capacitors charging and discharging....effectivly defeating most techniques of removing distortion :=P (and ofcourse, anything else played on the normal sid voices will have its influence here aswell, and finally ruin every effort of compensating the effect by preprocessing)
Do you mean like a regular filter with differing cutoff frequency due to capacitor tolerances, or do you mean an asymmetrical effect due to a different output impedance when driving or sinking the output? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
the latter... its somewhat as if a lowpass filter would be applied to the final output...just more complex than with normal filters :=P you get a quite funny signal depending on whats played on the sid voices at the same time. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: the latter... its somewhat as if a lowpass filter would be applied to the final output...just more complex than with normal filters :=P you get a quite funny signal depending on whats played on the sid voices at the same time.
Ok, check! :)
Harder to compensate for that. Maybe for samples only, but the assymetrical filtering effect could well introduce so much distortion that it masks the other effects. |
Previous - 1 | 2 - Next |