BCbox's VCA "Click be Gone" Mod

Discuss mods, hacks, tweaks, etc.

Moderators: Altitude, adafruit_support_bill, adafruit, phono, mome rath

Re: BCbox's VCA "Click be Gone" Mod

Postby antto » Mon Oct 25, 2010 2:07 pm

i'm not sure.. interesting question
this has to do with the firmware note_on() and note_off() functions
normally, there is enough time for the note to go off before the next one comes in (6 clock ticks ON, 6 clock ticks OFF)
there is however a case.. when writing notes in edit mode (this is both in the stock firmware, SokkOS and n0nx0x, at least i think so)
when holding NEXT - a note plays, but before you release it - you can press another note (to change it)
and this is what happens in the firmware:
note_off(); // immediately shut down the currently playing note
delay_ms(1); // wait 1 ms?
note_on(); // play the new note that was just pressed down...

this delay is for the analog part

but there is even more, one more thing in the note on/off functions themselves
i still haven't figured exactly how it works.. i think it has to do with some flipflops or whatever..
from synth.c
Code: Select all
/* Note On:
* This function takes a 6 bit 'note' (0x0 thru 0x3F), one bit of slide
* and one bit of accent and performs the proper low level gating. Changing
* this function can affect how the synth sounds.
* Note that accent is active low.
*/
void note_on(uint8_t note, uint8_t slide, uint8_t accent)
{
    uint8_t i = 0;
    cbi(NOTELATCH_PORT, NOTELATCH_PIN);

    // Do not allow the note to go higher than the highest note (0x3F)
    if (note > 0x3F)
        note = 0x3F;

    // Basically turn slide and accent flags into bit flags for the note port
    if (slide != 0)
        slide = 0x40;

    if (accent == 0)
        accent = 0x80;
    else
        accent = 0;

    // output the note, set the latch, and strike the gate
    if (note != REST)
    {
        NOTE_PORT = note | slide | accent;
        // 30ns setup time?
        sbi(NOTELATCH_PORT, NOTELATCH_PIN);
        // 10 uS
        while (i<40)
        {
            i++;
        }
        sbi(GATE_PORT, GATE_PIN);
    }
    else
    {
        // gate is not restruck during rest, and note is not latched, but one can
        // slide to/from a rest and rests can have accent (tip to memology)
        NOTE_PORT = slide | accent;
    }

    // Debugging: print out notes as they are played
    /*
      putstring("Note on: 0x");
      putnum_uh(note); uart_putchar(' ');
      if (accent == 0) {
      putstring(" w/accent ");
      }
      if (slide) {
       putstring(" w/slide ");
       }
       putstring("\n\r");
    */

}

/* Note off:
* This is essentially used to reset the gate/latch pins and also
* deals with the pecularities of sliding (gate is not reset on slide).
*/
void note_off(uint8_t slide)
{
    /*
    putstring("Note off\n\r");
    */

    if (slide)
    {
        sbi(NOTE_PORT, 6);
    }
    else
    {
        cbi(GATE_PORT, GATE_PIN);
    }

    cbi(NOTELATCH_PORT, NOTELATCH_PIN);
}
We are here too: irc.freenode.net >>> #x0xb0x
..:: c0nb0x v1.00 ::.. viewtopic.php?f=7&t=29282 (new control app - win/osx)
VCO Tuning: viewtopic.php?f=12&t=24759 (do it the EASY way)
User avatar
antto
 
Posts: 978
Joined: Thu Apr 15, 2010 2:21 pm

Re: BCbox's VCA "Click be Gone" Mod

Postby guest » Mon Oct 25, 2010 2:56 pm

im not sure whether they are supposed to overlap
but it wont make any difference
as soon as the reset pulse goes high
the envelope is enabled
and stays enabled for the next 6s or so
so it will sound the same regardless of when the gate comes
guest
 
Posts: 3119
Joined: Fri Feb 17, 2006 4:35 am

Re: BCbox's VCA "Click be Gone" Mod

Postby Altitude » Mon Oct 25, 2010 3:07 pm

guest wrote:im not sure whether they are supposed to overlap
but it wont make any difference
as soon as the reset pulse goes high
the envelope is enabled
and stays enabled for the next 6s or so
so it will sound the same regardless of when the gate comes


That's what I was not sure about.. If it reset when it went high or after the pulse..
User avatar
Altitude
 
Posts: 912
Joined: Wed May 11, 2005 4:17 pm

Re: BCbox's VCA "Click be Gone" Mod

Postby aminoacid » Fri Dec 10, 2010 9:16 am

wouldnt tolerance of every machines 12V rail have something to say?

some are 11.75 some are 12.25...


also r123 is quit big 1.5M and gives quit much tolarance swing.


only thoughts...

great thread!
my machines kills fascists!
aminoacid
 
Posts: 318
Joined: Tue Jun 20, 2006 4:27 am
Location: acidburg

Re: BCbox's VCA "Click be Gone" Mod

Postby x-11 » Tue Dec 21, 2010 7:25 pm

hi ,
maybe lucky but redused the "random" harsh clicks with a toothbrush
to get rid off solderflux(orsomething:)in vca area
interupted d28 seems to smoothen it more cd4066 ?
clicks always in but not "randomly" amplified
hitchhiking voltage :P

maybe this is usefull:

"There are two things that cause pops with CMOS switches that are relatively unavoidable, and some things that can be sidestepped.

1) Control signal feedthrough; the very fact that you're putting a fast-rising edge into the chip lets that edge get coupled through the tiny capacitances inside to the audio path. Some chips (the 4016) have one of the two biphase drivers available and you can slow that one down with an RC. The 4066 and other swtiches have all internal buffers and inverters on the control signal and you can't slow this down. Newer designed chips are better.

In most of these chips, if you have the DC level of the signal sitting at half the DC power supply level to the chip, the control signal feedthrough from the Pchannel and Nchannel sides semi-cancel. So always DC bias the inputs and outputs of the switch chip to half it's logic voltage. That means NOT DC coupling the input signals. Usually it's OK to use 1uF caps and 100K resistors to the bias voltage on each in/out.

2) Fractional signal waves. When you flip the control signal, the switch changes in about 100nS. This is instantaneous compared to audio, so if the signal happens to be near the peak of a wave, the wave is sliced in half time-wise. That sudden change from an instantaneous level to none is audible as a click under most circumstances. This is unavoidable with hard-switching. Even mechanical switches do this. Only a variable gain block fading the signal up and down avoids this.

3)Switching DC levels; this is entirely avoidable, as in 1). "

info @
http://www.diystompboxes.com/smfforum/i ... ic=18179.0

maybe unbuffered 4066 or a 4016 helps dunno
hope im not spamming :D
peace
User avatar
x-11
 
Posts: 10
Joined: Mon Jan 05, 2009 8:39 pm
Location: the netherlands

Re: BCbox's VCA "Click be Gone" Mod

Postby decoder23 » Tue Feb 22, 2011 4:11 pm

Altitude wrote:Thanks to Brian for this.

The VCA click that is apparent in many x0xen is the result of a DC offset on the 6110 pin 2. Looking at the schems on the BCbox site, there is a 50KB trimmer and a 10m resistor in series to adjust for this. Convieniently enough, there are unused pads for the BA662 right next to the BA6110.

Image

All you need to do is to bend the outside pins of the trimmer to fit the adjacent pads (GND and +12) and the middle pin needs to be bent up and soldered to the 10M resistor lead. The other lead of the resistor simply goes into pin 2 of the BA662 pads. Once in, all you need to do is to adjust the pot till the click goes away! There is a sweet spot so it helps to turn the OSC off (or decrease the cutoff to silence if you have that mod).

Image
Image
Image



i tried this mod today. i didnt get rid of the clicks, but now i also have some noise behaving like the clicks :lol:
decoder23
 
Posts: 96
Joined: Wed Dec 15, 2010 9:17 am
Location: outer space

Re: BCbox's VCA "Click be Gone" Mod

Postby 3phase » Sun Feb 27, 2011 8:07 am

antto wrote:Luap: some notes click more than others: this is very simple - because the oscillator is freeruning and when some notes start - the waveform is somewhere near zero (doesn't matter if it's on the positive or negative side) while others - not (so they click more)
the thing is all notes click, just you can't hear the clicking that much on notes that start at a point in the waveform near zero

why do they click? it's the VCA Gate signal
now, i'm not an electrician, but i know how this Gate signal looks on a TB-303 that doesn't click
it's strange because on the 303 it looks like the Gate signal is filtered by a LP-filter (or is that just the slew of an op-amp - i don't know exactly, but the result looks like it's filtered by a LP)
on the x0xb0x - it's like the opposite, the Gate signal doesn't raise up "first-fast then-slow" but "first-slow then-fast" and stops at once which is very bad

in your audio example - check your very last note to see what is the shape of the Gate-attack.. the curve looks like (x*x) while it should be more like (1-((1-x)^2))

one thing i'd try to do if i was good with electronics (and i'm not) would be to find where this damn Gate signal is and put a LP filter on it
the exact frequency of this filter - i can't say right now.. it has to be as high as possible as long as it doesn't sound clicking



thats an interesting observation.. one theory about the sound differences between xox and 303 claims stary capacitys between the circuit board traces on the real 303 responsible..

a stray capacity towards ground would act as a low pass filter.. that this can sound relevant on controlvoltages is a new aspect here..

i ve other problems than clicking with my xox wright now.. but for people that have problems..why not trying to have a small capity towards ground at the vca control input? maybe it betters the click a bit..

if stary capacitys are a factor they cant be very high... ok..can build up over various points on such a complex and dense board like on a 303..but i would estimate that it cant be more than 1nF in the max...

probaly rather something around 100 pF... but ... i only measured capacitys in audio cables..thats a different thing.. there you have something between 20 and 40 pf per meter cable.. one would think the a circuit board would have less..but than again .. the isolation on a board like in a real 303 with dust and dirt can be much worse than inside a cable.. what would compensate for the shorter way.. so we have a high ohm resistor in parallel to a small capacity..and this not necessarily just towards ground..
3phase
 
Posts: 114
Joined: Wed Apr 22, 2009 1:06 pm

Re: BCbox's VCA "Click be Gone" Mod

Postby x-11 » Fri Mar 25, 2011 7:15 pm

hi there
motivated for trying out some ideas i builded another x0x(dont want to take the old one apart to much hassle :mrgreen: )
used brians click be gone mod to narrow down the "click" to a thin spike.
then tried Altitude's 0,15 cap(r133+r131 junction)+ extra reversed diode (d35) mod and had the constand click also minored in an lfo like reappearing click, accidently hitted q3's pin (with the cap + pole) wich leads to the ba622 pad1.
that was even better no click and no need of the reverse diode.
so ground to 0,1 cap to q3 ??:P

so now i soldered a 0,1 electrolyte cap with between pad 1 of the ba622 path(+pole cap) and pad 3 of the ba 6110 path(- pole cap)
and click is gone.
dont know exactly whats happening but it filters the spike and almost no change in envelope .
hope it helps peace <3
User avatar
x-11
 
Posts: 10
Joined: Mon Jan 05, 2009 8:39 pm
Location: the netherlands

Re: BCbox's VCA "Click be Gone" Mod

Postby guest » Fri Mar 25, 2011 7:49 pm

that should have the effect of slowing up the attack time
although in a different way than the other attack mod
it will have a larger effect at the beginning of the attack
and less at the end
which i think is desirable in this case
good find
guest
 
Posts: 3119
Joined: Fri Feb 17, 2006 4:35 am

Re: BCbox's VCA "Click be Gone" Mod

Postby x-11 » Mon Mar 28, 2011 5:48 pm

thnx guest but i geuss it only slows the attack for the vca a bit (which is nice)
still the env/ click is sharp like antto says .
i tried the 1000 uf to ground like antto tried (lp filter?) on r146 but at the side of the pic controller.
not the r144 side
that helps a for the env/click but makes the env behave also much different (but definitely a good sollution for extreem env clicks when cutoff resonance are down (nice mod :)) best result was 25v 1000uf.
the discharge diode altitude mentioned helps to get close to normal sound but reappearing lfo like env clicks,
so thats the same as in the vca circuit .
seeing that both env and vca gates come from there could it be that the controlleroutput is creating the click ?
like also mentioned earlier.
im thinking about maybe different values for r 146 and r 144?(to noob to know which values)
or lowering c54? sound like its not clicking but clipping a transitor or something;p
i also created the missing r147 22 ohm but not much of a difference aswell.
:D

well tried lowering c54
tried diferent values 146 higher
tried c55 diferent values
only thing worth something is the 1000 uf cap with discharge led serie with 22-100 ohm but changes release/decay?
ahwell sleep work then try again :)
peace
User avatar
x-11
 
Posts: 10
Joined: Mon Jan 05, 2009 8:39 pm
Location: the netherlands

Re: BCbox's VCA "Click be Gone" Mod

Postby x-11 » Sat Apr 09, 2011 10:41 am

hey there,
here a picture for the less attack less a tick mod:)
this is a friends x0x in wich we applied the mod from brian and reduced the popping to a thin spike,
then used a 823j filmcap to make it good sounding.
lower values sharper attack ,higher values wider attack.
my friend prefered this cap best.
peace:)
Attachments
LesS ATTicK.JPG
LesS ATTicK.JPG (123.16 KiB) Viewed 2521 times
User avatar
x-11
 
Posts: 10
Joined: Mon Jan 05, 2009 8:39 pm
Location: the netherlands

Previous

Return to x0xm0dz

Who is online

Users browsing this forum: mibignistinly and 2 guests

Stuff to buy from the Adafruit store and links to product documentation!


New Products [102]

Raspberry Pi[80]
 
FLORA[23]
 
Bunnie Studios[9]
 
FPGA[1]
 
mbed[11]
Arduino[60]
 
NETduino[14]
 
BeagleBone[24]
 
Android[6]
 
XBee[10]
More Dev Boards[30]


 
BoArduino[8]
 
SpokePOV[4]
 
TV-B-Gone[4]
 
MiniPOV[3]
 
SIM reader[3]
 
Microtouch[5]
 
Clocks & Watches[18]
 
Drawdio[4]
 
Brain Machine[1]
 
Game of Life[2]
 
MintyBoost[2]
More DIY Kits[16]


 
MaKey MaKey[3]
 
Tweet-a-Watt[5]
 
Young Engineers[33]
 
Discover Electronics[2]
 
Snap Circuits[4]
 
littleBits[3]
 
Project packs[8]


 
Breakout Boards[33]
LCDs & Displays[48]
Components & Parts[69]
Batteries & Power[49]
EL Wire/Tape/Panel[52]
LEDs[109]
 
Wireless[14]
Cables[60]
 
Lasers[6]
Sensors/Parts[145]
 
Enclosures/Cases[11]
 
Solar[11]
 
RFID / NFC[13]
Prototyping[70]
 
iDevices[13]
Tools[71]
 
Wearables[39]
 
CNC[37]
 
Robotics[29]
 
3D printing[1]
 
Materials[24]


 
Stickers[41]
 
Skill badges[55]
 
Books[25]
 
Circuit Playground[7]
 
Gift Certificates[4]