Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > Digi synth/4 ch SID concept
2023-12-09 07:21
Repose

Registered: Oct 2010
Posts: 222
Digi synth/4 ch SID concept

I was thinking about digis and had an idea. Imagine playing an intro to a tune composed to use 3 channels as normal, but for two of them you swap between channel 3. On each pass, sample osc3/env3 and multiply them (and mix the 2nd pass into the first pass). You have one measure of the tune in 2 channels as samples. You can play them as a sample and then add 1 more channel like magic. The concept can be expanded to add a few more channels.
A few problems; mixing too much lowers the quality, and there could be severe aliasing due to low sample rate, and some restrictions in composition.
The advantages are the initial size is small and no complicated synth routines are needed, and it would seem like magic :)
2023-12-09 13:52
Mixer

Registered: Apr 2008
Posts: 422
Perhaps something like this?

Raveloop14.xm
2023-12-09 19:57
chatGPZ

Registered: Dec 2001
Posts: 11149
The "echo" stuff works like this too.

However, i recommend to make some actual experiments with this... it doesnt work that great unfortunately :(
2023-12-09 20:01
Repose

Registered: Oct 2010
Posts: 222
The Rave loop is pretty neat. I think compositionally, yes I imagine it would be like that. Btw, I had trouble playing that sid in 2 emulators, but I found a good copy here https://www.youtube.com/watch?v=FN6L9-TkHQ8

However, this is not exactly what I meant by my idea, as Rave had sample loops. I meant to make a tune using pure SID sounds; however those sounds are internally sampled then played back as pre-mixed samples while the freed-up voices continue to add to the composition.

It is interesting to hear how the echofied 6881 tunes work. The effect is ok.

Well, I can certainly mock up a test by simply enabling two tracks of a multi-SID tune, sampling them, then adding them back with the other tracks in an editor of some type...
2023-12-10 01:19
chatGPZ

Registered: Dec 2001
Posts: 11149
Try it... i don't expect great results from this in practise, allthough in theory it sounds awesome. Problems will be the low samplerate you can use, and the limited resolution of the sample replay.
2023-12-10 06:46
ChristopherJam

Registered: Aug 2004
Posts: 1382
Interesting idea. I suspect you'd struggle to sample one voice while playing back the layers so far at any kind of decent sample rate mind.

Still, you could optimise things quite a bit by taking advantage of things like "notes of the same duration and same envelope behaviour always produce the same stream of env3 values" - and even prewrite sets of env3 values into unrolled code that performs fast multiplies of osc3 values.

"just" doing a soft synth would perhaps be a saner route, but then again if we were sane none of us would still be using 40yo hardware :)
2023-12-10 10:05
Repose

Registered: Oct 2010
Posts: 222
Always assume something is possible, then work through the issues. You can pause sampling during the music routine, a 250uS gap (assuming a 4 line player) in sampling won't be audible.
2023-12-10 10:36
ChristopherJam

Registered: Aug 2004
Posts: 1382
Oh it wasn't the music routine I was concerned about - just the NMI playing one sample while reading another :)

Still, drop down to five or six kHz and all should be fine..
2023-12-10 11:49
Oswald

Registered: Apr 2002
Posts: 5031
instead of sampling how about putting softsynth channels into the 8bit digi "channel", or even to the 4th (1 bass, 1 drum?)
2023-12-10 14:08
ChristopherJam

Registered: Aug 2004
Posts: 1382
Oswald:
Quoting ChristopherJam
"just" doing a soft synth would perhaps be a saner route
2023-12-10 17:08
chatGPZ

Registered: Dec 2001
Posts: 11149
Quote:
You can pause sampling during the music routine, a 250uS gap (assuming a 4 line player) in sampling won't be audible.

You'll have to limit the sample rate to 4khz (every 4th line) then... so 2khz max for the signal.Oh well. Try it :)
2023-12-10 18:32
Oswald

Registered: Apr 2002
Posts: 5031
Sorry CJ that one slipped through my attention
2023-12-10 18:43
Repose

Registered: Oct 2010
Posts: 222
I'm confused here - I thought the update rate of a typical music routine was once per frame, unless its a "4x" player with more. Also the length of the routine is 250 cycles or so. At 120bpm, a 1/32nd note is 16ms, which is about 1/60th of a second, or one (NTSC) frame. Its effects like a smooth glissando which may require a faster update interval. There's little point in any musical movement being too fast, as its beyond human perception.

Next, sample playback by some methods is limited to 8kHz or 4096 cycles (that's not a coincidence, as its the range of the frequency register). So we have plenty of time to both playback and sample. And if sampling while playing is an issue, you can easily pre-play and buffer some sections, though obviously that would create a delay before starting (and the buffering can be muted as well). Otherwise, you handle that in the composition, and simply not engage any sample playback until a few riffs have been played at least once.

Of course you can create a soft synth and that's a whole other approach, but considering the DSP involved, there's going to be limits in real-time synthesis. Its been done in the 80s with "Musical Applications of Microprocessors" - Hal Chamberlain. He wrote a string synth for the PET, and the demo contains the song "dueling banjos". This could be ported to the c64 easily. But, for a smaller size and for simplicity, I'd like to use the SID itself.

It boggles my mind why anyone would want to write a soft synth when the SID already does all the calculations and you only have to record them :)
2023-12-10 19:59
Mixer

Registered: Apr 2008
Posts: 422
Just code it. Show everyone that it can be done.
2023-12-10 20:09
chatGPZ

Registered: Dec 2001
Posts: 11149
Indeed. I recommend reproducing that "echo" stuff first (this is very easy) to get a feeling for how it sounds, and what works and what doesn't.
2023-12-10 20:46
Repose

Registered: Oct 2010
Posts: 222
Well sure, it would be fun to work on this, but I have no experience using a play routine and I can't write music, so that kinda limits me.
2023-12-11 05:12
ChristopherJam

Registered: Aug 2004
Posts: 1382
The part of the routine that triggers notes and modulates frequency/pulse width/filters/waveforms only runs once or twice per frame, but as soon as you start playing (or recording) samples, you need a second routine that interrupts once per sample - so every second raster for ~8KHz samples. That one only has 126 cycles to work with, less if you have badlines.
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Martin Piper
ccr/TNSP
uptonogood
Jucke
MAT64
iAN CooG/HVSC
mutetus/Ald ^ Ons
Knight Rider/TREX
Guests online: 84
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 No Bounds  (9.6)
7 Comaland 100%  (9.6)
8 Aliens in Wonderland  (9.6)
9 Uncensored  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Happy Birthday Dr.J  (9.7)
2 Layers  (9.6)
3 It's More Fun to Com..  (9.6)
4 Cubic Dream  (9.6)
5 Party Elk 2  (9.6)
6 Copper Booze  (9.6)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Rainbow Connection  (9.5)
9 Dawnfall V1.1  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 SHAPE  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 S!R  (9.7)
5 Fungus  (9.7)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.061 sec.