| |
odo Account closed
Registered: Oct 2004 Posts: 27 |
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.... |
| |
iLKke
Registered: May 2012 Posts: 29 |
Welcome back, Odo!
I <3 your VST work
i |
| |
odo Account closed
Registered: Oct 2004 Posts: 27 |
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 |
| |
Magnar
Registered: Aug 2009 Posts: 61 |
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 :) |
| |
iLKke
Registered: May 2012 Posts: 29 |
@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 |
| |
odo Account closed
Registered: Oct 2004 Posts: 27 |
I use renoise :-) new release in a few days or 2 weeks or so |
| |
iLKke
Registered: May 2012 Posts: 29 |
Quoting odoBTW How is the anding waveform created ?
What do you mean? |
| |
odo Account closed
Registered: Oct 2004 Posts: 27 |
https://dl.dropboxusercontent.com/u/69919542/anding-tri-pul.wav
this one recorded from a real c64 with noise reduction ;-)
anding triangle pulse |
| |
iLKke
Registered: May 2012 Posts: 29 |
It's a logical AND (&&) between two waveforms
i |
| |
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. |
| |
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 |