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 > Software Synths
2014-03-03 15:07
Mixer

Registered: Apr 2008
Posts: 422
Software Synths

There are some music tools and programs made for stock c-64 which produce sound or music, but are not necessarily using sid chip the usual way.

Such as:
SAM,
radwar speech,
the ESS speech,
Galways drums,
AndyM00's pulsetrain stuff,
Soundemons new waveform-stuff,
THCM Mod players,
Some of the Vicious Sid I and II routines,
Mahoneys many achievements,
Algorithms VQ packed players,
Censors various pwm players,
Eebens Pollytracker,
Retroskoi

We can observe that several c-64 musicians and coders have experimented with software based synthesis or sampling/compression over the years.

Most of the listed are rather recent. There must be plenty more weird sound routines done during the last 30 years that are not yet listed.

If you know of some past oddness that should be on the list - published or unpublished, please, paste a link or desrcibe. Would be interesting topic for discussion and perhaps someone gets a new idea.
2014-03-03 15:34
chatGPZ

Registered: Dec 2001
Posts: 11108
i would leave out those that are basically sample players (because there are tons of them, and they are not very interesting when it comes to their "synth" part)

i would think that some of those cool guys in the past already used things like that "auto chords" stuff though - would be really interesting to analyze indeed :)
2014-03-03 15:54
algorithm

Registered: May 2002
Posts: 702
Some info here.. Nothing fancy about the decoder. The encoders do all the grunt work..

VQ METHODS
x or more bytes (samples) allocated to a byte LUT.
8bit LUT VQ (Used in 8Bit Passion) - With resequencing of patterns
8bit Dual LUT VQ (Speech Channel and background channel mixed)
10bit LUT VQ (1024 waveforms) - Used in VQ mania


SPADPCM2
2Bit Step Predicted ADPCM.
Each chunk consists of two optimum step values with subsequent 2bit
stream adding or subtracting one of two step sizes. Used in "Just dance 64"

SPADPCM1
1BIT Quad predicted ADPCM
Each chunk consists of an optimum step value with subsequent 1bit stream adding or subtracting via the step size. Used in "Channels SPADPCM1" - with resequencing

OFFSET / LENGTH SPEECH
256 byte speech table with 2 bytes pointing to offset of codebook, length is repeated until block is full (eg 128 bytes or 256)
Used in the speech part of Demolicious

More to come... :-)
2014-03-03 17:06
Mixer

Registered: Apr 2008
Posts: 422
Geir Tjeltas Echoes - should naturally be on the list for the delay effect.
2014-03-03 17:09
chatGPZ

Registered: Dec 2001
Posts: 11108
space taxi maybe - it plays samples using the filters in a strange way i havent seen anywhere else.
2014-03-03 17:34
Rough
Account closed

Registered: Feb 2002
Posts: 1829
I guess this counts for other Silas Warner/Muse games too!?
2014-03-03 17:47
Mixer

Registered: Apr 2008
Posts: 422
Quote: space taxi maybe - it plays samples using the filters in a strange way i havent seen anywhere else.

Space Taxi Seems to be toggling filter on/off for audio channel 1 while it has full square wave and PWM selected. Is it a PWM sample with filter on/off or some other mechanism? Anyway, since it is on oscillator+filter, it should work also with 8580?

Space Taxi is by Silas Warner, would be interesting to take a look at the other games.
2014-03-03 17:49
chatGPZ

Registered: Dec 2001
Posts: 11108
no idea :) A.C.E. is another one that plays samples in unconventional ways (didnt investigate further yet, my guess is that it uses the noise waveform somehow)
2014-03-03 17:55
algorithm

Registered: May 2002
Posts: 702
Ice guys Ice Guys
Uses 2bit via waveforms
2014-03-03 19:11
chatGPZ

Registered: Dec 2001
Posts: 11108
Quote:
Anyway, since it is on oscillator+filter, it should work also with 8580?

that made me wonder as well - as it clearly doesnt work on 8580 at all :)
2014-03-03 19:59
McMeatLoaf

Registered: Jan 2005
Posts: 105
Quote: no idea :) A.C.E. is another one that plays samples in unconventional ways (didnt investigate further yet, my guess is that it uses the noise waveform somehow)

Perhaps something like turning the testbit on/off?
2014-03-03 20:22
Mixer

Registered: Apr 2008
Posts: 422
Customer:"I can't play samples on my C-64"
Support:"Have you tried turning the test bit on and off again?"
2014-03-04 00:12
Zyron

Registered: Jan 2002
Posts: 2381
:D
2014-03-05 20:05
Frantic

Registered: Mar 2003
Posts: 1627
"Customer: No I didn't test that."
2014-03-05 20:32
McMeatLoaf

Registered: Jan 2005
Posts: 105
Haha, I meant setting waveform of channel 1 to pulse, then setting pulsewidth to max(?) and THEN turning testbit on channel 1 on/off. :D
Similar playback routine to the one in Last V8, but at a much lower sample rate.
2014-03-13 12:30
mankeli

Registered: Oct 2010
Posts: 110
Here's my attempt at soft synthesis on the breadbox:
Your Love

Basically the routine counts cycles between iterations with cia timer. The oscillators (16bit phase accus iirc) are then advanced by this amount, and the resulting samples are then played back with soundemon's waveform sample method. Music routine itself happens in irq.

Theoretically this works with badlines/sprites as well.
Try setting D011=7f if you want to hear some (more) intermodulation distortion.
2014-03-13 13:11
4mat

Registered: May 2010
Posts: 63
Dunno if this counts. Type Mismatch generates it's digi drums by sampling the 3rd sid channel.
2014-03-13 13:16
algorithm

Registered: May 2002
Posts: 702
I have a oscillater synth ready which uses free running oscillators to generate audio that is encoded using samples as source.

Raster usage is a few rasterlines. and uses three oscillators to recreate the speech. No other cpu intervension required apart from writing a few values once per frame. It somewhat works well for musical instruments as well. Compression is around 175 bytes per second uncompressed (if using three channels)

https://www.dropbox.com/s/tcps4e9s2o43sc5/testmadonna.prg

The encoder is designed to have individual sustain values for each channel, however there are issues with this at the moment, hence i am averaging the three sustains per frame and feeding this to $d418. Due to this, there will be some noticeable clicks on 6581 sid. Use 8580 for more smoothness.

To implement interpolation multispeed to keep the same data usage per frame and to increase the output quality.
2016-01-17 13:30
McMeatLoaf

Registered: Jan 2005
Posts: 105
Weirdo
Uses regular $d418 samples with glissando/vibrato almost like a soft synth. (?)
2016-11-09 15:55
Mixer

Registered: Apr 2008
Posts: 422
Adding Swallows samples to the list

Wonderland XIII
2016-11-09 15:57
Mixer

Registered: Apr 2008
Posts: 422
Adding Concert to the list:

Concert

The bassist in the sound-check part is actually a very simplified Karplus- or "digital waveguide-" synth.
2016-11-09 17:46
Radiant

Registered: Sep 2004
Posts: 639
More or less everything by Cycleburner/Megastyle?
2016-11-09 18:38
Hein

Registered: Apr 2004
Posts: 933
GBK-Test by ATOO

An experiment I did with channel 3 envelope mixing into the D418 samples (not really synths): D418 + D41C mix

Personaly I like Galway's Arkanoid generated drums 'n bleeps alot more than the drums in Arkanoid (alternative drums).
2016-11-09 22:06
bugjam

Registered: Apr 2003
Posts: 2476
Quoting Hein
GBK-Test by ATOO


In which form was it released? Anyone got the respective executable?
2016-11-09 23:25
Mr. SID

Registered: Jan 2003
Posts: 421
NESsivE ATtaCK and Phasor Soundtrack HiFi are emulating a 1-bit white noise channel using $d418 samples.
2016-11-10 00:18
Trash

Registered: Jan 2002
Posts: 122
This might fit the list: M.B.S Sampling
2016-11-11 07:06
Inge

Registered: Nov 2003
Posts: 144
Quote: Quoting Hein
GBK-Test by ATOO


In which form was it released? Anyone got the respective executable?


I've uploaded an executable.

The program actually takes 64 bytes from selected parts of the ROMs and make decent samples out of it in real-time. AFAIR, GBK relates to some algorithm, but I haven't been able to find any references.

EDIT: It's here: GBK-Test
2016-11-11 07:41
Mixer

Registered: Apr 2008
Posts: 422
Quote: I've uploaded an executable.

The program actually takes 64 bytes from selected parts of the ROMs and make decent samples out of it in real-time. AFAIR, GBK relates to some algorithm, but I haven't been able to find any references.

EDIT: It's here: GBK-Test


The GBK algorithm is mentioned in the Heins sid-link comments. It is simplified Karplus or Karplus-Strong as well.

There is a lot of unexplored potential with Karplus and digital waveguide synthesis in c-64.
2019-08-14 18:23
aeeben

Registered: May 2002
Posts: 42
BTW. I've somehow missed this one - How did SounDemoN's autochords work? Flipping pulse phase in timer interrupt(s) to create the 2nd and 3rd voice? I guess it only works with pulse wave then?
2019-08-15 10:43
Mixer

Registered: Apr 2008
Posts: 422
The test bit chord thing, which Soundemon used in autochord was actually something I came up with, but he made something useful out of it.

Note frequency values or SID FRQ register values are converted to CIA timer periods. 4 timers = 4 notes in chord.

When any timer is 0, the irq is triggered, and one can then toggle the test bit on/off in an interrupt handler. Or one can poll the irq registers in busy loop / unrolled code and toggle test bit on/off accordingly.

This causes a train of waveform resets, which to ear sound like a chord.

Pulse, Triangle and Saw all work, but sound awful initially. Filtering the voice makes the chord sound nicer.

Same effect can be done using just one timer, by simulating the train of reset events, by changing the irq timer period on every irq. Calculating the timer sequence takes some raster lines per frame, but it is proven to work.
2021-10-11 20:04
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: The test bit chord thing, which Soundemon used in autochord was actually something I came up with, but he made something useful out of it.

Note frequency values or SID FRQ register values are converted to CIA timer periods. 4 timers = 4 notes in chord.

When any timer is 0, the irq is triggered, and one can then toggle the test bit on/off in an interrupt handler. Or one can poll the irq registers in busy loop / unrolled code and toggle test bit on/off accordingly.

This causes a train of waveform resets, which to ear sound like a chord.

Pulse, Triangle and Saw all work, but sound awful initially. Filtering the voice makes the chord sound nicer.

Same effect can be done using just one timer, by simulating the train of reset events, by changing the irq timer period on every irq. Calculating the timer sequence takes some raster lines per frame, but it is proven to work.


does anyone have a demo of this in goattracker? im fucking around with test bit in gt and im getting no results
2021-10-11 20:25
Jammer

Registered: Nov 2002
Posts: 1289
It requires bigger speeds than Goat Tracker offers to produce any harmonics you need ;)
2021-10-11 20:25
Frantic

Registered: Mar 2003
Posts: 1627
@That8BitChiptuneGuy: Goattracker, or any other editor really (as far as I know), will not allow the user to do this. It requires a special music player which is crafted very much with this particular feature in mind. It is not the sort of thing that would be part of a general purpose thing. You could think of it more as a kind of demo effect, but applied to sound rather than graphics.
2021-10-11 20:30
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: @That8BitChiptuneGuy: Goattracker, or any other editor really (as far as I know), will not allow the user to do this. It requires a special music player which is crafted very much with this particular feature in mind. It is not the sort of thing that would be part of a general purpose thing. You could think of it more as a kind of demo effect, but applied to sound rather than graphics.

Alright then! Time to find that music player in one way or whatever ig!
2021-10-11 20:45
acrouzet

Registered: May 2020
Posts: 80
I believe the "autochord" player is found in Vicious Sid 2. There aren't any publicly available tools for it, as far as I know.
2021-10-11 20:52
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: I believe the "autochord" player is found in Vicious Sid 2. There aren't any publicly available tools for it, as far as I know.

Thanks! But when i check the downloads and the zip files there are only d64 files?
2021-10-11 21:03
Frantic

Registered: Mar 2003
Posts: 1627
Quote: Thanks! But when i check the downloads and the zip files there are only d64 files?

That makes sense? Vicious Sid 2 is a C64 demo, and C64 software runs from d64 files. I don't know what you expected to find, if not d64 files?
2021-10-11 21:08
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: That makes sense? Vicious Sid 2 is a C64 demo, and C64 software runs from d64 files. I don't know what you expected to find, if not d64 files?

Sorry if i pissed you off there but i thought there was code but i am kinda dumb sometimes so shrug
2021-10-11 22:15
Frantic

Registered: Mar 2003
Posts: 1627
Nobody is pissed. I just didn't understand how you interpreted the situation, so that is why I asked.
2021-10-12 12:26
Mixer

Registered: Apr 2008
Posts: 422
The one oscillator chord or the "autochord" code is not released as a source yet. Perhaps we should add it to the codebase at some point. Anyway, it needs some programming skills to use.
2021-10-12 13:11
Jammer

Registered: Nov 2002
Posts: 1289
And replay rate which matches regular sample playback.
2021-10-12 14:01
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: The one oscillator chord or the "autochord" code is not released as a source yet. Perhaps we should add it to the codebase at some point. Anyway, it needs some programming skills to use.

alright!
2021-10-12 14:02
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: Nobody is pissed. I just didn't understand how you interpreted the situation, so that is why I asked.

I can take stuff like that as a insult but ye didnt know so thats ok
2021-10-12 14:05
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: The one oscillator chord or the "autochord" code is not released as a source yet. Perhaps we should add it to the codebase at some point. Anyway, it needs some programming skills to use.

which i dont got lol (i mean programming skills)
2021-10-25 07:18
Monte Carlos

Registered: Jun 2004
Posts: 351
Thats just a matter of time. 64 Enthusiast obtain programming skills, for Sure!
2021-10-25 11:52
TheRyk

Registered: Mar 2009
Posts: 2064
nobody pissed, nobody got pissed, wonderful \o/

so BTT or let this thread rust in peace again
2021-10-25 22:10
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: nobody pissed, nobody got pissed, wonderful \o/

so BTT or let this thread rust in peace again


thankfully
2021-10-25 22:10
DeMOSic

Registered: Aug 2021
Posts: 126
Quote: Thats just a matter of time. 64 Enthusiast obtain programming skills, for Sure!

see me in a few years!
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
cba
kbs/Pht/Lxt
CreaMD/React
Bansai/BSILabs
Mason/Unicess
Rick/F4CG
curtcool
Røly/Mayday!
wil
TheEnemy/TREX/THD
Gordian
Guests online: 148
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Bromance  (9.6)
10 Memento Mori  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 MWS  (9.6)

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