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 > My new vsti plugin
2013-11-01 19:54
odo
Account closed

Registered: Oct 2004
Posts: 26
My new vsti plugin

hi al im a big c64 user make a little bit music with Yes SDI :-) I hope you like this plug Ok its not a sid plug but it can recreate some of the sounds used in c64 songs.I post it here to get some feedback
http://chips.site90.com
I can't post often little bit sick
Cheers
Odo

( forgot to say also the drums are made with this thing

Better in the feedback forum sorry
 
... 4 posts hidden. Click here to view all posts....
 
2013-11-06 07:01
iLKke
Account closed

Registered: May 2012
Posts: 28
Welcome back, Odo!
I <3 your VST work

i
2013-11-08 18:57
odo
Account closed

Registered: Oct 2004
Posts: 26
Hi iLKke
yes it's nice to be back but now im only making things i like and like to do People asked me too much and that killed me Woring on a drum synth and then back to dream 64
Cheers
2013-11-08 23:58
Magnar

Registered: Aug 2009
Posts: 60
Drum synth? There are dosen of those, but none SID VSTi's that really works imo. I also would like to see a great tracker type interface for automation inside the vst that would be able to do things to samples as inside a tracker. For us Cubase users, not using renoise :)
2013-11-11 20:51
iLKke
Account closed

Registered: May 2012
Posts: 28
@Magnar: Perhaps google a little before making a wishlist?
There is this thing called ReViSiT. Also you can use Renoise as a MIDI slave.

i
2013-11-22 22:01
odo
Account closed

Registered: Oct 2004
Posts: 26
I use renoise :-) new release in a few days or 2 weeks or so
2013-11-22 22:11
iLKke
Account closed

Registered: May 2012
Posts: 28
Quoting odo
BTW How is the anding waveform created ?


What do you mean?
2013-12-04 21:14
odo
Account closed

Registered: Oct 2004
Posts: 26
https://dl.dropboxusercontent.com/u/69919542/anding-tri-pul.wav
this one recorded from a real c64 with noise reduction ;-)
anding triangle pulse
2013-12-04 22:34
iLKke
Account closed

Registered: May 2012
Posts: 28
It's a logical AND (&&) between two waveforms

i
2013-12-05 20:48
theWizard
Account closed

Registered: Jul 2007
Posts: 109
Quote: I use renoise :-) new release in a few days or 2 weeks or so

good stuff odo well done mate , i havent tried it but im sure it sounds good.and thanks for shareing it with us.
2013-12-05 20:51
theWizard
Account closed

Registered: Jul 2007
Posts: 109
Quote: https://dl.dropboxusercontent.com/u/69919542/anding-tri-pul.wav
this one recorded from a real c64 with noise reduction ;-)
anding triangle pulse


that sounds very nice mate , but..

your trying to 'emulate' the sid which cant really be done without tricks on the current speed of known architecture..

like when we fly we dont emulate a bird flapping its wings we sit in a aeroplane..but we fly better straighter and faster .. and we still flying.

example
/* waveform values valid are 1 .. 7 */
void WaveformGenerator::calculate_waveform_sample(float o[12])
{
int i;

/* P */
if (waveform == 4) {
populate((accumulator >> 12) >= pw ? 0xfff : 0x000, o);
return;
}

const waveformconfig_t config = wfconfig[
model == MOS6581 ? 0 : 1
][
waveform == 3 ? 0 :
waveform == 5 ? 1 :
waveform == 6 ? 2 :
waveform == 7 ? 3 :
4
];

/* S with strong top bit for 6581 */
populate(accumulator >> 12, o);

/* convert to T */
if ((waveform & 3) == 1) {
bool top = (accumulator & 0x800000) != 0;
for (i = 11; i > 0; i --) {
if (top) {
o = 1.0f - o[i-1];
} else {
o = o[i-1];
}
}
o[0] = 0;
}

/* convert to ST */
if ((waveform & 3) == 3) {
/* bottom bit is grounded via T waveform selector */
o[0] *= config.stmix;
for (i = 1; i < 12; i ++) {
o = o * (1.f - config.stmix) + o * config.stmix;
}
}
o[11] *= config.topbit;

/* ST, P* waveform? */
if (waveform == 3 || waveform > 4) {
float distancetable[12 * 2 + 1];
for (i = 0; i <= 12; i ++) {
distancetable[12+i] = distancetable[12-i] = 1.f / (1.f + i * i * config.distance);
}

float pulse = (accumulator >> 12) >= pw ? 1.f : -1.f;
pulse *= config.pulsestrength;

float tmp[12];
for (i = 0; i < 12; i ++) {
float avg = 0;
float n = 0;
for (int j = 0; j < 12; j ++) {
float weight = distancetable;
avg += o[j] * weight;
n += weight;
}
/* pulse control bit */
if (waveform > 4) {
float weight = distancetable;
avg += pulse * weight;
n += weight;
}

tmp = (o + avg / n) * 0.5f;
}

for (i = 0; i < 12; i ++) {
o = tmp;
}
}

/* use the environment around bias value to set/clear dac bit. The
* relationship is nonlinear */
for (i = 0; i < 12; i ++) {
o = (o - config.bias) * sharpness;

o += 0.5f;
if (o > 1.f) {
o = 1.f;
}
if (o < 0.f) {
o = 0.;
}
}
}



the entire source code is posted under surround player take a look at it.

btw im just trying to help if you have any questions odo , pm me and i will help if you need it.
Previous - 1 | 2 - Next
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
Fungus/Nostalgia
megasoftargentina
Guests online: 159
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 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
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 Graphicians
1 Sulevi  (10)
2 Mirage  (9.8)
3 Lobo  (9.7)
4 Mikael  (9.7)
5 Archmage  (9.7)

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