Sync-ope : sync restoring circuit - next revision ideas

background

@Gael and i have been working on this open source project Sync-Ope - an analog circuit to process video externally while preserving sync/blanking.

i posted a little bit about this already in this thread about my fu:bar presentation (maybe this is or will be archived @v3d ?)

here is a recent demo of the circuit in use with an overdrive audio effect:

next revision

this first iteration has been built and tested by a handful of people. we are about to update it based on an error found and suggestions from testers. welcome any futher thoughts / input at this stage

fix:

mistake was found on the first opamp stage:
image

  • r4 should be on other side of junction to form non-inverting amp of 2x gain

for anyone with pcb versions <0.3 should correct this manually

ideas:

  • reduce board size from 100x100mm to 80x80mm ? (same interface layout?)
  • extend sync pulse into blanking with monostable or otherwise
  • attenuverter on the CV input (or atleast buffer/scale to lzx range) see cadet vi
  • maybe replacing the AD8072 with a LM6172 ? (i think these are more common used in diy video projects)
  • buffer at the return input ?
  • DC restored return input ?
  • slew/lowpass over sync switch to “stretch the point to where the sync stays good”
  • eurorack version (should it be smaller with less control/features or slightly larger with more?)

@BastienL @rempesm @reverselandfill @doctea @Meudiademorte @VanTa

3 Likes

@rempesm shared with me some examples with this circuit on glitch gear + lzx gear maybe you want to share these here too ?

Glad to see more developments are in the works with this!

Yeah, here’s a couple captures I made pre-AD8072 fix.

This is using a Videffektor derivative on the Send/Return jacks. I modulate the CV input with a modulated Diver after manually adjusting the fade and parameters on the device in the send/return loop. Normally mild settings were too glitchy and would make any of my displays drop out quickly. Captured this with Intensity Shuttle TB but it’s completely stable on CRTs/projectors.

Bad cellphone capture but this is using FluxusDuo on a setting that would just give me nonsense without it in the loop.

A Memory Palace feedback patch but I’m fading in the glitched horizontal bands from FluxusDuo with a modulated ramp.

Another Memory Palace patch with Diver fading in another setting from FluxusDuo.

5 Likes

hi!
Thank you for you interest in Sync-Ope project.
Here is the fix for V0.1 and V0.2 PCB boards :
You have to change R2 position and solder one pin to R4, and bypass C1 (remove it or not) with strap (wire).
pictures :
V0.1


V0.2


Repo was update with the last rev of schem (but not pcb files yet). You can see a new IC (CD4069BE hex inverter gates) for quick and dirty delay the burst sync from lm1881, in order to not crush the burst signal when clamping, tested => better color rendering, now Sync-Ope is almost transparent on dry signal!
https://github.com/gaeljaton/Sync-Ope

2 Likes

No ideas, but I’m really happy this exists and I’ll definitely build at least one once it goes through another revision or two. I used to use a cheap composite -> VGA converter and then run the individual RGB lines through analog audio processors (mostly pedals and filters) and then patch them into a VGA - > composite converter with the H and V sync lines connected directly and it sort of worked but you really couldn’t push anything very far on the color signals before the VGA->composite converter would reject it.

oh Great! I’ve done same trick few years ago… It’s like a “poor man VisualCortex”.
You should get better results with limiting diodes at rgb lines just before VGA->Comp.
See schematic (D6 D7 R12) in the github project page or search about “clamping diode protection” on your favorite web search engine.

1 Like

Thanks! I haven’t done it in a long time and I’ve got a pretty decent TVone model something-or-other downscaler (one of the models that arcade restoration people don’t want, so it didn’t cost much used) and that should probably handle things a lot more gracefully than the little Monoprice box I was using before did, even without diodes. I never had issues if I hooked the output directly to one of the old VGA LCD monitors I keep around. I’ll definitely look in to clamping diodes!

@Gael - in other circuits i have seen / worked on the delay for blanking is generated using either one or two monostable stages (eg 74HC4538)

im wondering what you (and others) think of this approach compared to the hex inverter delay ?

also thoughts on these points ?

1 Like

Yeah that’s sound good; I done it quick and dirty hex inverter delay mostly cause I have lot of its (for drone/noise box workshops… )

monostable stages (eg 74HC4538)

can you point links for circuits you saw?

Attenuverter

could be cool but guess it rise the price and simplicity of circuit, and I guess it could easely take part of the diy extension projects for users, but why not for a “special revision”. At the opposite way, I was thinking about a “SyncOpe mini” with less features (as we talked in the early dev time), I mean no dry/wet - no CV and simpler (cheaper) ICs (simple switch instead of lt1251). This could be use as base of circuit bend device or home made standalone effect for small batch prod.
BTW CV scale is already 0-1V = video rate, lzx. CV input of lt1251 is also already buffered, so this point isn’t critical.

LM6172

Last assemblies I done of rev1&2 boards have ic holder so I will test different amplifiers, just have to check for +/-5v compatibility.

buffer

Yeah definitively need much advanced buffered I/O circuit, nowadays I lost some color range when send/return signal (even with bypass patch cable inserted) guess this is due to the 2 75ohms limiting resistors act as filter (?).

DC restored

And yeah, I was asking about DC restoring the final output… I tried on V4 mixer and different CRT&LCD monitors, And didn’t notice any problem with sync or picture quality (I made a simple passive “bypass - send/return” box and now bypass of syncope is the same as true bypass signal).

I hope I will find time and courage during xmas break to work on these and put my fingers deeper in KiCad!

Thank’s again for your exceptional support on this journey!

2 Likes

(sorry, started answering a while ago and got caught up with other stuff)

I found out that the summing of csync+burst through diodes as it is done works pretty well in the circuit, even though the end of the pulse is a bit slewed. I tried to implement blanking in a similar way on CBV002/eurorack Discret11 and it wouldn’t work properly, main difference is that I tried to drive a switch with it, while in Sync-ope it drives a fader. So I suppose best would be to try with 2x monostable + trimmer to see if it is worth the change, else if diodes are fine that’s two trimmer less :wink:

That can be a good addition so the 1V CV input can modulate the full 2.5V range of the fader, then if you use line audio, signal would need an offset + gain, and then eurorack standard is -5/+5 or 0-5V so that’s also an offset + different scaling. Line audio and LZX level are not that different, and higher level can be attenuated also

That’s what I used on my Sync-ope build, I think you only need to add a 499R resistor in serie with the positive input of the op amp for it to work, I’ll check what I did on my board and report.

I think this interesting only if the original signal is also DC restored prior to the fader, so both signals are aligned on the same level. It will avoid having the brightness of the return video change depending on the fading. Then it also rely on the integrity of the return signal, so have to see if it is worth, but could be implemented easily with what you have already.

Here is a simplify version of the switching setup I did for CBV002. I’ve removed it for readability, but there is a delay chip between CVBS IN and PROC, then both the input signal and PROC (processed) are DC restored with C3/C4 and U4 inputs controlled by BP, then buffered with U3, and sent to U4 input controlled by KEY (blanked external signal). Output is a 2X buffer into 75R.
Then I’ve used two monostable for the horizontal blanking, I also added another 74HC4538 for the vertical blanking at some point, but as opposed to hblank, it cannot really be set without an oscilloscope, so I didn’t keep it.
Only issue is when the signal is delayed too much, it glitches the equalisation/serration pulses which happens during the vertical blanking interval.
I’ve then put some clipping diodes, which made it worse: since there is no vertical blanking, it’s the processed/delayed signal that is present during this interval, so clipping it just removed those pulse from the output signal producing vertical instability.

As @Gael pointed out, it mainly depends of how simple you want to keep it, multiple versions is a good idea in that sense, so it can cover different uses without adding too much complexity as opposed as if it was done with a single board.

Anyway, great work to both of you! @cyberboy666 kindly sent me a board, I’ve tried it with a circuit bent enhancer, video rate modulation of the fading and capture card

2 Likes

one example is this adaption from robs videos. both stages are used to create a pulse starting before sync and finishing after. i think using just one stage and starting at sync would prob be fine tho (since i guess thats how it is with your hex-invert approach too and would save on some parts)

the fader ic takes input range 0-2.5v from what i understand. or how was it from your tests ? (i dont own any modular gear)

i will start working on a new revision based on these discussions now. i also agree that it would be worth experimenting with a simplified (just switching) version

2 Likes

ok - making a start here:

  • tried to split the schematic into 2 sheets, hope this makes it a bit more readable ?
  • blanking pulse is generated by extending the sync pulse from lm1881 (only extending the tail - do you think i should also extend the head, like in @BastienL example )
  • added resistor at input so that lm6172 should work
  • both input and return signal is dc restored now (i think)

one question regarding r13 - i dont quite understand why the return signal has a 75ohm in series ?

1 Like

Oh actually, the CV range depends of the voltage ref on VFS/pin 12 of LT1251, here there is a voltage divider composed of R18/R19, which gives a bit less than 1 volt as a ref, which in turn set the max range of the CV input. So no need for scaling in that case. Not sure if there is any drawback in using a smaller fullscale value, seems to play a bit on slew rate but probably not an issue here.

Just extending the end of the csync pulse should be enough, though since there is two monostable in the 74HC4538 package, I’ve used them both to also extend the beginning of the pulse.

2 Likes

yeah, this is an example application, in fact you can set your own voltage reference, so voltage divider in sync-Ope set it a bit under 1V. (I’ll look at the rest of discussion when back to home…)

2 Likes
  • good point to put a switch for 0-1V to 0-5V CV scales (with just voltage divider or resistors setting?) more complex attenuverter stuff involve more Ics and more complex circuitry, original goal is to be simplest as possible, but why not… also many modules in eurorack stuff, already provide attenuverter features.

  • @BastienL gain setting on opamp could be acheive with any values from 500 to 2000 ohms I guess. (is smaller get less distortion ? We oftenly see 500R, which is a non-standard value(?)).

  • currently both ‘clean sync+burst’ and ‘wet’ signals are blanked to black level, if need DC restoring I believe we should do it after CV mixer, to stay straight and stable at signals mixing. Nowadays dry signal is transparent (same as true bypass) and bypassed wet is same brightness (just a bit desaturate due to R8 & R13 limiting resistors, when I short its saturation is the same, Guess we need buffer at return inlet)

  • @cyberboy666 splited schematics : honestly I’m not comfortable with it, but less tags is a good idea for understand how the circuit work. Do it as you like and used to work :slight_smile: . I saw some strange revision on your new schematic (on “return blank”) ? is it a mistake or something I missed…?

  • R13 is for limiting current potentially drawn in clamping diodes D6 D7.

Here is some oscilloscope captures for better understanding on how I designed blanking and mixing extract sync circuit : (Blue trace is always the input video signal / yellow one is explain under pictures)

clampedSignal
#blanked signal to black level (after C2)

CsyncBurstAdded
#Csync+burst added (after D2 D3)

burst
#Burst signal at output of LM1881 (I guess slew is normal operation)

delayedBurst
#And finally delayed burst signal (after my custom delay) you can see it act just after burst and before visible line, resulting in non-destructive blanking (clamping) - no altering colors…

**I would add some propositions :
-buffered Csync output for time dependent effects experimentations
-new position for +5/0/-5V header (more close to send/return part)
-rename ‘video_receive’ by ‘video_return’ (more obvious?)
-generally more detailed PCB print (text and maybe an artwork? something around “god doesn’t play dice”, with face 5 dice - remembering the general design of sync-ope

Thank’s for this storm of brains!

2 Likes

BTW, about rev1&2 PCB fix mod, I finally put back in place C1 and ground it output through 100K resistor, this involve lower level shifting for clamping circuit.
131419095_430599938073620_3887399648158716767_n

I think it mostly depends of the op-amp used, but high speed op amp as LM6172 or AD8072 usually ask for small feedback resistor value.

Large values of feedback resistors can couple with parasitic capacitance and cause undesirable effects such as ringing or oscillation in high speed amplifiers. For LM6172, a feedback resistor less than 1kΩ gives optimal performance.

https://www.ti.com/lit/ds/symlink/lm6172.pdf

As a practical matter, the maximum value of feedback resistor was found to be 2 kΩ.

So 1.5k as you used is good. Then the value in itself doesn’t really matter as long as it is in the recommended value range. So it mostly depends of what you use elsewhere in the circuit, you got others 1.5k resistors around the LT1251 so that makes sense.

Then about the 499R value, it’s used as the output impedance of LZX modules, so it will be present in any modules that is compatible, so once you already have a few in a design, it’s tempting to use it elsewhere since it’s quite close to half of 1k. Even though the value is a bit weird, it’s part of the E96 serie of resistors.

For the 499R at the positive input of LM6172 specifically, it is to decrease slew rate as recommended by the datasheet:

REDUCING SETTLING TIME
The LM6172 has a very fast slew rate that causes overshoot and undershoot. To reduce settling time on LM6172, a 1kΩ resistor can be placed in series with the input signal to decrease slew rate.

1k is recommended but a lower value increase the slew rate, so 499R must have been a good compromise.

1 Like

some more thoughts :

  • R10 (grounding blanked signal through 100k) is useless, I removed it and works the same.
  • 820ohm is ok for feedback opamp (tested), no sensible change.
  • As I know, most of opamp is protected again over current draw, I guess it’s ok to remove R8 (when shorted color saturation rise a bit more close to dry signal) but I don’t know if opamp output can handle overvoltage (more than rail power +/-5v). shorted R8 + R13 give same picture as dry but protection diodes d6d7 could be destroyed (if use dirty active circuits) . we have to find a buffered protection circuit for return signal.
  • Adding capacitors close to opamp and lt1251 power (-5v_gnd and +5v_gnd) could be a good practice for stability - 100nF is ok.

More than a Eurorack version, I would be interested in the next version just having the ability to switch the operating level for the send and return between line and Euro, seems like it would be pretty simple to implement.

1 Like
chat.scanlines.xyz